@layer variable, foundation, contents, lib, component, base;
@layer foundation {
	*,
	*::before,
	*::after {
		box-sizing: border-box;
		margin: 0;
		padding: 0;
	}
	:where(html) {
		-webkit-text-size-adjust: none;
		-moz-text-size-adjust: none;
		text-size-adjust: none;
	}
	:where(section, article, aside, header, footer, nav, details, figcaption, figure, menu) {
		display: block;
	}
	:where(input, button, textarea, select) {
		font: inherit;
		color: inherit;
	}
	:where(button, label, select, summary, [role="button"], [role="option"]) {
		cursor: pointer;
	}
	:where(:disabled) {
		cursor: not-allowed;
	}
	:where(label:has(> input:disabled), label:has(+ input:disabled)) {
		cursor: not-allowed;
	}
	:where(button) {
		border: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		background: none;
	}
	:where(select) {
		border: 1px solid;
		background: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
	}
	:where(img, svg, video, canvas, audio, iframe, embed, object) {
		display: block;
		border: none;
	}
	:where(img, picture, svg) {
		max-inline-size: 100%;
		block-size: auto;
		vertical-align: top;
	}
	:where(table) {
		border-spacing: 0;
		border-collapse: collapse;
	}
	:where(th) {
		text-align: left;
		font-weight: normal;
	}
	:where(td) {
		font-style: normal;
	}
	:where(h1, h2, h3, h4, h5, h6) {
		font-size: 100%;
		font-weight: normal;
	}
	:where(a) {
		cursor: pointer;
	}
	:where(a):focus,
	:where(a):hover,
	:where(a):active {
		outline: none;
	}
	:where(ul, ol) {
		list-style: none;
	}
	:where(address, caption, cite, code, dfn, em, strong, var, kbd) {
		font-style: normal;
	}
	:where(caption) {
		text-align: left;
	}
	:where(sup) {
		vertical-align: text-top;
	}
	:where(sub) {
		vertical-align: text-bottom;
	}
	:where(mark) {
		background: none;
	}
	:where(blockquote::before, blockquote::after, q::before, q::after) {
		content: none;
	}
	:where(blockquote, q) {
		quotes: none;
	}
	:where(hr) {
		border: none;
		border-block-start: 1px solid;
		overflow: visible;
		color: inherit;
		block-size: 0;
	}
	:where(em, strong) {
		font-weight: bold;
	}
	:where(small) {
		font-size: inherit;
	}
}
@layer foundation {
	html {
		font-family: var(--txt_font_base);
	}
	:where(:not(div, nav, section)) > :where(a) {
		text-decoration: underline;
		text-underline-offset: 0.2ex;
		color: var(--txt_color_link);
		transition: color 0.3s;
	}
	:where(:not(div, nav, section)) > :where(a):hover {
		color: rgba(from var(--txt_color_link) r g b/0.7);
	}
	:where(div, nav, section) > :where(a) {
		display: block;
		text-decoration: none;
	}
	:where(div, nav, section) > :where(a),
	:where(div, nav, section) > :where(a)::before,
	:where(div, nav, section) > :where(a)::after {
		color: inherit;
	}
	:where(div, nav, section) > :where(a):hover *,
	:where(div, nav, section) > :where(a):hover *::before,
	:where(div, nav, section) > :where(a):hover *::after {
		color: inherit;
	}
	:where(a)[href^="tel"] {
		text-decoration: underline;
	}
	@media print, screen and (min-width: 960px) {
		:where(a)[href^="tel"] {
			text-decoration: none;
			color: inherit;
			pointer-events: none;
			cursor: default;
		}
	}
	:where(a):where(:disabled, [disabled], .disabled) {
		pointer-events: none;
		cursor: default;
	}
}
@layer foundation {
	.ajax_more_load {
		text-align: center;
	}
	.fb-like {
		vertical-align: top !important;
	}
	.tw_tweet {
		display: inline-block;
	}
	#wpadminbar {
		position: fixed !important;
	}
}
@layer variable {
	body {
		--header_height: var(--header_height_default);
		--topnav_height: var(--topnav_height_default, 0px);
		--header_height_total: calc(var(--header_height) + var(--topnav_height) + var(--wp-admin--admin-bar--height, 0px));
	}
	body:has(.header_wrap_change) {
		--header_height: var(--header_height_change, --header_height_default);
		--topnav_height: var(--topnav_height_change, 0px);
	}
}
@layer variable {
	:root {
		--color_theme_base: #ff4178;
		--color_theme_base_light: #ffd2e6;
		--color_theme_accent: #ffff5a;
		--color_util_caution: #c00;
		--color_util_accent: #ff0045;
		--color_util_file_pdf: #a00;
		--color_util_file_excel: #217346;
		--color_util_file_word: #2b579a;
		--color_util_calendar_saturday: #2b579a;
		--color_util_calendar_sunday: #e33;
		--color_util_calendar_holiday: #e33;
		--color_util_calendar_close: #ddd;
		--area_margin: clamp(40px, 40px + 40 * (100vw - 400px) / 1000, 80px);
		--box_margin: clamp(50px, 50px + 20 * (100vw - 400px) / 1000, 70px);
		--part_margin: clamp(30px, 30px + 10 * (100vw - 400px) / 1000, 40px);
		--cont_margin: clamp(20px, 20px + 10 * (100vw - 400px) / 1000, 30px);
		--wrapper_width_large: 1400px;
		--wrapper_default: 80%;
		--wrapper_max: var(--wrapper_width_large);
		--bg_color_base: #fff;
		--bg_color_sub: #eee;
		--bg_color_light: #eee;
		--border_color_base: #000;
		--border_color_light: #eee;
		--txt_color_base: #000;
		--txt_color_light: #888;
		--txt_color_heading: #111;
		--txt_color_link: #358;
		--txt_font_base:
			-apple-system, BlinkMacSystemFont, "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans", "Noto Sans CJK JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", Arial, "メイリオ", Meiryo,
			sans-serif;
		--txt_font_roboto: "Roboto Condensed", "Noto Serif JP", "Hiragino Mincho ProN", "游明朝", "Yu Mincho", YuMincho, serif;
		--txt_font_mincho: "Shippori Mincho", "Hiragino Mincho ProN", "游明朝", "Yu Mincho", YuMincho, serif;
		--radius_base: 4px;
		--table_th_bg_color: #e5e5e5;
		--table_td_bg_color: #fff;
		--table_th_txt_color: var(--txt_color_heading);
		--table_td_txt_color: var(--txt_color_base);
		--table_border_color: var(--border_color_base);
		--btn_color_bg: transparent;
		--btn_color_border: #000;
		--btn_color_txt: #000;
		--btn_color_txt_hover: #fff;
		--btn_color_bg_hover: var(--color_theme_base);
		--btn_width: 100%;
		--btn_radius: 1000px;
		--btn_transition: 0.3s;
		--btn_pd_block: 10px;
		--btn_pd_inline: 15px;
		--btn_txt_size: 1.6rem;
		--btn_wrap_gap: 8px 10px;
		--form_input_bg: #fafafa;
		--form_input_bg_hover: #eee;
		--form_input_bg_focus: #fff;
		--form_input_border: #ddd;
		--form_input_border_hover: var(--color_theme_base);
		--form_input_border_focus: var(--color_theme_base);
		--form_input_checked: var(--color_theme_base);
		--form_input_radius: var(--radius_base);
	}
	:root .narrow_pc {
		--wrapper_max: 1000px;
	}
	:root .compact_pc {
		--wrapper_max: 700px;
	}
	:root .bc_theme {
		--btn_color_bg: var(--color_theme_base);
		--btn_color_border: var(--color_theme_base);
		--btn_color_txt: #fff;
		--btn_color_bg_hover: #fff;
		--btn_color_txt_hover: var(--color_theme_base);
	}
	:root .bc_strong {
		--btn_color_base: #900;
	}
	:root .bc_white {
		--btn_color_bg: rgba(from #fff r g b / 0.3);
		--btn_color_border: #fff;
		--btn_color_txt: #fff;
		--btn_color_bg_hover: #fff;
		--btn_color_txt_hover: var(--color_theme_base);
	}
	:root .bc_light {
		--btn_color_bg: #ebf1f5;
		--btn_color_border: var(--border_color_base);
		--btn_color_txt: var(--txt_color_base);
		--btn_color_bg_hover: var(--bg_color_sub);
		--btn_color_txt_hover: var(--txt_color_light);
	}
	@media print, screen and (min-width: 600px) {
		:root {
			--btn_width: 300px;
			--btn_pd_inline: 25px;
		}
	}
	@media print, screen and (min-width: 960px) {
		:root {
			--btn_pd_inline: 50px;
		}
	}
	:root .btn.btn_small,
	:root .btn.btn_ss {
		--btn_pd_block: 5px;
	}
	:root .btn.btn_small {
		--btn_pd_inline: 15px;
	}
	@media print, screen and (min-width: 600px) {
		:root .btn.btn_small {
			--btn_pd_inline: 20px;
		}
	}
	:root .btn.btn_ss {
		--btn_txt_size: 1.2rem;
		--btn_pd_inline: 10px;
	}
	@media print, screen and (min-width: 600px) {
		:root .btn.btn_ss {
			--btn_pd_inline: 20px;
		}
	}
	:root .btn.btn_more,
	:root .btn.btn_edit {
		--btn_pd_block: 5px;
		--btn_pd_inline: 15px;
	}
	@media print, screen and (min-width: 600px) {
		:root .btn.btn_more,
		:root .btn.btn_edit {
			--btn_pd_inline: 20px;
		}
	}
}
@layer variable {
	:root {
		--image_texts_gap: 5%;
		--image_texts_imagesize: 20%;
		--float_imagesize: 30%;
		--clm_gap: 10px;
		--snap_item_width: 100%;
		--slider_item_width: 100%;
		--carousel_item_width: 80vw;
		--loop_item_width: 50%;
		--smooth_slide_item_width: 150px;
		--smooth_slide_duration: 30s;
		--smooth_slide_gap: 10px;
		--left_right_gap: 2%;
	}
	@media print, screen and (min-width: 600px) {
		:root {
			--image_texts_imagesize: 30%;
			--clm_gap: 30px;
			--slider_item_width: 50%;
			--carousel_item_width: 40%;
			--loop_item_width: 33.3%;
		}
	}
	@media print, screen and (min-width: 960px) {
		:root {
			--image_texts_imagesize: 35%;
			--snap_item_width: 100%;
			--snap_gap: 0;
			--slider_item_width: 25%;
			--carousel_item_width: 30%;
			--loop_item_width: 25%;
		}
	}
}
@layer lib {
	.sns_widget_wrap.twitter_widget {
		border: 1px solid var(--border_color_base);
		border-radius: 12px;
		max-width: 400px;
		height: 500px;
		overflow: hidden scroll;
		background: #fff;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap:not(:last-child) {
		border-bottom: 1px solid var(--border_color_base);
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap {
		display: flex;
		flex-direction: column;
		gap: 10px;
		padding: 20px 10px;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap > * {
		max-width: 100%;
		overflow: hidden;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap > * p {
		max-width: 100%;
		font-size: 1.4rem;
		word-break: break-all;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap > * p a {
		text-decoration: none;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap > * p a:hover {
		text-decoration: underline;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .user_item {
		display: grid;
		grid-template-columns: 40px minmax(0, 1fr) auto 20px;
		gap: 0 10px;
		align-items: center;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .user_item .object_fit {
		grid-row: 1/3;
		grid-column: 1;
		margin-bottom: 0;
		border-radius: 50%;
		overflow: hidden;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .user_item .object_fit::before {
		padding-top: 100%;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .user_item p {
		line-height: 1.6;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .user_item p a {
		display: inline-block;
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		vertical-align: bottom;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .user_item .user_name {
		grid-row: 1;
		grid-column: 2/4;
		font-size: 1.5rem;
		font-weight: bold;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .user_item .user_id,
	.sns_widget_wrap.twitter_widget .tweet_wrap .user_item .time {
		grid-row: 2;
		font-size: 1.2rem;
		letter-spacing: normal;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .user_item .user_id a,
	.sns_widget_wrap.twitter_widget .tweet_wrap .user_item .time a {
		color: var(--txt_color_light);
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .user_item .user_id {
		grid-column: 2;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .user_item .time {
		grid-column: 3;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .user_item .icon_twitter {
		grid-row: 1;
		grid-column: 4;
		font-size: 0;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .user_item .icon_twitter a::before {
		font-size: 2rem;
		line-height: 1;
		color: var(--color_theme_sns_twitter);
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .user_item .icon_twitter a:hover {
		opacity: 0.5;
		text-decoration: none;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .texts_item a {
		color: var(--color_theme_sns_twitter);
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .texts_item a.url {
		display: inline-block;
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		vertical-align: bottom;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .image_item {
		position: relative;
		padding-top: 56%;
		border-radius: 10px;
		overflow: hidden;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .image_item .image_wrap {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 2px;
		height: 100%;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .image_item .image_wrap .object_fit {
		margin-bottom: 0;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .image_item .image_wrap .object_fit:first-of-type*:last-of-type {
		grid-column: 1/3;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .image_item .image_wrap .object_fit:first-of-type*:nth-last-of-type(3) {
		grid-row: 1/3;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .icon_item {
		display: flex;
		justify-content: space-between;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .icon_item > p {
		display: flex;
		gap: 0.5em;
		align-items: center;
		justify-content: center;
		padding: 5px;
		font-size: 1.3rem;
		line-height: 1;
		color: var(--txt_color_light);
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .icon_item > p::before {
		display: block;
		font-size: 2rem;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .icon_item > p span {
		display: none;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .icon_item .icon_mention::before {
		content: "chat_bubble";
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .icon_item .icon_like {
		margin-right: auto;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .icon_item .icon_like::before {
		content: "favorite";
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .icon_item .icon_like span {
		display: block;
	}
	.sns_widget_wrap.twitter_widget .tweet_wrap .icon_item .icon_information::before {
		content: "info";
	}
	.sns_widget_wrap.instagram_widget {
		gap: 2px;
	}
	.sns_widget_wrap.instagram_widget .clm_item {
		margin: 0;
		width: auto;
	}
	.sns_widget_wrap.instagram_widget .clm_item::before {
		padding-top: 100%;
	}
	@media print, screen and (min-width: 960px) {
		.sns_widget_wrap.instagram_widget .clm_item::before {
			padding-top: 0;
		}
	}
	.sns_widget_wrap.instagram_widget .post_wrap {
		position: relative;
	}
	.sns_widget_wrap.instagram_widget .post_wrap .texts_item {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 1;
		display: flex;
		flex-direction: column;
		padding: 20px;
		overflow: hidden;
		background: rgba(from #000 r g b/0.8);
		opacity: 0;
		transition: 0.5s;
	}
	.sns_widget_wrap.instagram_widget .post_wrap .texts_item p {
		color: #fff;
	}
	.sns_widget_wrap.instagram_widget .post_wrap .texts_item p.text {
		flex-grow: 1;
		overflow: hidden;
		-webkit-mask-image: linear-gradient(to bottom, black 20%, transparent);
		mask-image: linear-gradient(to bottom, black 20%, transparent);
		font-size: 1.3rem;
	}
	.sns_widget_wrap.instagram_widget .post_wrap .texts_item p.date {
		margin-bottom: 20px;
		font-size: 1rem;
	}
	.sns_widget_wrap.instagram_widget .post_wrap:hover .texts_item {
		opacity: 1;
	}
}
@layer lib {
	.pic,
	.object_fit {
		text-align: center;
	}
	.pic > a,
	.object_fit > a {
		display: block;
	}
	.pic > a:hover img,
	.object_fit > a:hover img {
		opacity: 0.7;
	}
	.pic img,
	.pic svg,
	.object_fit img,
	.object_fit svg {
		transition: 0.5s;
	}
	.pic svg,
	.object_fit svg {
		height: auto;
	}
	.pic svg text,
	.object_fit svg text {
		font-family: var(--txt_font_base) !important;
	}
	.pic.max100px img,
	.object_fit.max100px img {
		max-width: min(100%, 100px);
	}
	.pic.max150px img,
	.object_fit.max150px img {
		max-width: min(100%, 150px);
	}
	.pic.max200px img,
	.object_fit.max200px img {
		max-width: min(100%, 200px);
	}
	.pic.max250px img,
	.object_fit.max250px img {
		max-width: min(100%, 250px);
	}
	.pic.max300px img,
	.object_fit.max300px img {
		max-width: min(100%, 300px);
	}
	.pic.max350px img,
	.object_fit.max350px img {
		max-width: min(100%, 350px);
	}
	.pic.max400px img,
	.object_fit.max400px img {
		max-width: min(100%, 400px);
	}
	.pic.max450px img,
	.object_fit.max450px img {
		max-width: min(100%, 450px);
	}
	.pic.max500px img,
	.object_fit.max500px img {
		max-width: min(100%, 500px);
	}
	.pic.max550px img,
	.object_fit.max550px img {
		max-width: min(100%, 550px);
	}
	.pic.max600px img,
	.object_fit.max600px img {
		max-width: min(100%, 600px);
	}
	.pic.max650px img,
	.object_fit.max650px img {
		max-width: min(100%, 650px);
	}
	.pic img,
	.pic svg {
		margin-inline: auto;
		width: auto;
		max-width: 100%;
	}
	.pic.max img,
	.pic.max svg {
		width: 100%;
	}
	.pic.left img,
	.pic.left svg {
		margin-left: 0;
	}
	.pic.right img,
	.pic.right svg {
		margin-right: 0;
	}
	.object_fit {
		position: relative;
		display: block;
		aspect-ratio: 1/1;
	}
	.object_fit > * {
		width: 100%;
		height: 100%;
	}
	.object_fit img,
	.object_fit svg {
		display: block;
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		object-fit: cover;
	}
	.object_fit img[src$="noimage_icon.svg"],
	.object_fit svg[src$="noimage_icon.svg"] {
		background-color: #eee;
		-o-object-fit: none;
		object-fit: none;
	}
	.object_fit.contain img {
		-o-object-fit: contain;
		object-fit: contain;
	}
	.pinchzoom {
		position: relative;
		width: 100%;
		aspect-ratio: 1/1;
		overflow: hidden;
		background-color: var(--bg_color_light);
		touch-action: none;
	}
	.pinchzoom img {
		width: 100%;
		height: auto;
		pointer-events: none;
		-webkit-user-select: none;
		-moz-user-select: none;
		user-select: none;
		transform-origin: center center;
		will-change: transform;
	}
	.pic_text {
		display: inline-flex;
		vertical-align: baseline;
	}
	.pic_text img,
	.pic_text svg {
		height: 1.5rem;
	}
}
@layer lib {
	*:where(form, .form_type, .modal_form) .hidden_text,
	*:where(form, .form_type, .modal_form) select,
	*:where(form, .form_type, .modal_form) textarea,
	*:where(form, .form_type, .modal_form) input {
		flex-grow: 1;
		display: block;
		padding: 8px 15px;
		border: 1px solid var(--form_input_border, var(--border_color_base));
		border-radius: var(--form_input_radius, var(--radius_base));
		min-width: 0;
		background-color: var(--form_input_bg, var(--bg_color_base));
		outline: none;
		box-shadow: inset 0 1px 1px rgba(from black r g b/0.1);
		font-size: 1.6rem;
		transition:
			outline 0.3s,
			border-color 0.3s,
			background-color 0.3s,
			resize 0s;
	}
	*:where(form, .form_type, .modal_form) .hidden_text:focus,
	*:where(form, .form_type, .modal_form) select:focus,
	*:where(form, .form_type, .modal_form) textarea:focus,
	*:where(form, .form_type, .modal_form) input:focus {
		border-color: var(--form_input_border_focus, #000);
		background-color: var(--form_input_bg_focus, #fff);
	}
	*:where(form, .form_type, .modal_form) .hidden_text:hover:not(:focus),
	*:where(form, .form_type, .modal_form) select:hover:not(:focus),
	*:where(form, .form_type, .modal_form) textarea:hover:not(:focus),
	*:where(form, .form_type, .modal_form) input:hover:not(:focus) {
		border-color: var(--form_input_border_hover, #000);
		background-color: var(--form_input_bg_hover, #eee);
	}
	*:where(form, .form_type, .modal_form) .hidden_text::-moz-placeholder,
	*:where(form, .form_type, .modal_form) select::-moz-placeholder,
	*:where(form, .form_type, .modal_form) textarea::-moz-placeholder,
	*:where(form, .form_type, .modal_form) input::-moz-placeholder {
		color: #ccc;
	}
	*:where(form, .form_type, .modal_form) .hidden_text::placeholder,
	*:where(form, .form_type, .modal_form) select::placeholder,
	*:where(form, .form_type, .modal_form) textarea::placeholder,
	*:where(form, .form_type, .modal_form) input::placeholder {
		color: #ccc;
	}
	*:where(form, .form_type, .modal_form) input {
		max-width: 100%;
	}
	*:where(form, .form_type, .modal_form) input[type="date"] {
		flex-shrink: 0;
		box-sizing: content-box;
		min-width: calc(5.5em + 40px);
		min-height: 1lh;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
	}
	*:where(form, .form_type, .modal_form) input[type="number"].no_spin {
		-webkit-appearance: textfield !important;
		-moz-appearance: textfield !important;
		appearance: textfield !important;
	}
	*:where(form, .form_type, .modal_form) input[type="number"].no_spin::-webkit-inner-spin-button,
	*:where(form, .form_type, .modal_form) input[type="number"].no_spin::-webkit-outer-spin-button {
		-webkit-appearance: none !important;
		margin: 0;
		appearance: none !important;
	}
	*:where(form, .form_type, .modal_form) textarea {
		width: 100%;
		box-shadow: inset 0 1px 1px rgba(from black r g b/0.1);
	}
	*:where(form, .form_type, .modal_form) select {
		padding-right: 40px;
		width: -moz-fit-content;
		width: fit-content;
		max-width: 100%;
		background: #fff url(/ec/images/event/20th/lib/parts/select_arrow.svg) no-repeat right 10px center/10px;
		box-shadow: 0 1px 3px rgba(from black r g b/0.2);
	}
	@media print, screen and (min-width: 600px) {
		*:where(form, .form_type, .modal_form) select {
			flex-grow: 0;
		}
	}
	*:where(form, .form_type, .modal_form) .hidden_text {
		border-style: dashed;
		background: none;
		box-shadow: none;
	}
	*:where(form, .form_type, .modal_form) .hidden_text:hover:not(:focus) {
		border-color: var(--form_input_border, var(--border_color_base));
	}
	*:where(form, .form_type, .modal_form) .file_input_wrap,
	*:where(form, .form_type, .modal_form) .file_uploaded_wrap {
		display: inline-flex;
		align-items: center;
	}
	*:where(form, .form_type, .modal_form) .file_input_wrap .file_delete + .file_name,
	*:where(form, .form_type, .modal_form) .file_uploaded_wrap .file_delete + .file_name {
		display: inline-block;
		width: 360px;
		overflow: hidden;
		text-overflow: ellipsis;
		font-size: 1.3rem;
		white-space: nowrap;
	}
	*:where(form, .form_type, .modal_form) .file_input_wrap .file_uploaded,
	*:where(form, .form_type, .modal_form) .file_uploaded_wrap .file_uploaded {
		margin-left: 8px;
		font-size: 1.3rem;
	}
	*:where(form, .form_type, .modal_form) p:has(> .file_input_wrap) {
		display: flex;
		align-items: center;
	}
	*:where(form, .form_type, .modal_form) .file_clear,
	*:where(form, .form_type, .modal_form) .file_delete {
		--icon_image: url(/ec/images/event/20th/lib/icon/delete.svg);
		--icon_size: 50%;
		--icon_color: #000;
		position: relative;
		display: none;
		width: 45px;
		aspect-ratio: 1/1;
		background: var(--icon_color);
		cursor: pointer;
		-webkit-mask: var(--icon_image) no-repeat center/var(--icon_size);
		mask: var(--icon_image) no-repeat center/var(--icon_size);
		transition: 0.3s;
	}
	*:where(form, .form_type, .modal_form) .file_clear:hover,
	*:where(form, .form_type, .modal_form) .file_delete:hover {
		--icon_color: var(--color_util_accent);
	}
	*:where(form, .form_type, .modal_form) .file_delete,
	*:where(form, .form_type, .modal_form) .file_clear.show {
		display: inline-block;
	}
	*:where(form, .form_type, .modal_form) .size_ss {
		flex-grow: 0;
		width: calc(12.5% - 4.375px);
	}
	@media screen and (max-width: 599px) {
		*:where(form, .form_type, .modal_form) .size_ss_sp,
		*:where(form, .form_type, .modal_form) .size_ss_sp_tb {
			flex-grow: 0;
			width: calc(12.5% - 4.375px);
		}
	}
	@media screen and (min-width: 600px) and (max-width: 959px) {
		*:where(form, .form_type, .modal_form) .size_ss_sp_tb,
		*:where(form, .form_type, .modal_form) .size_ss_tb,
		*:where(form, .form_type, .modal_form) .size_ss_tb_pc {
			flex-grow: 0;
			width: calc(12.5% - 4.375px);
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) .size_ss_tb_pc,
		*:where(form, .form_type, .modal_form) .size_ss_pc {
			flex-grow: 0;
			width: calc(12.5% - 4.375px);
		}
	}
	@media screen and (min-width: 1400px) {
		*:where(form, .form_type, .modal_form) .size_ss_lg {
			flex-grow: 0;
			width: calc(12.5% - 4.375px);
		}
	}
	*:where(form, .form_type, .modal_form) .size_s {
		flex-grow: 0;
		width: calc(25% - 3.75px);
	}
	@media screen and (max-width: 599px) {
		*:where(form, .form_type, .modal_form) .size_s_sp,
		*:where(form, .form_type, .modal_form) .size_s_sp_tb {
			flex-grow: 0;
			width: calc(25% - 3.75px);
		}
	}
	@media screen and (min-width: 600px) and (max-width: 959px) {
		*:where(form, .form_type, .modal_form) .size_s_sp_tb,
		*:where(form, .form_type, .modal_form) .size_s_tb,
		*:where(form, .form_type, .modal_form) .size_s_tb_pc {
			flex-grow: 0;
			width: calc(25% - 3.75px);
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) .size_s_tb_pc,
		*:where(form, .form_type, .modal_form) .size_s_pc {
			flex-grow: 0;
			width: calc(25% - 3.75px);
		}
	}
	@media screen and (min-width: 1400px) {
		*:where(form, .form_type, .modal_form) .size_s_lg {
			flex-grow: 0;
			width: calc(25% - 3.75px);
		}
	}
	*:where(form, .form_type, .modal_form) .size_m {
		flex-grow: 0;
		width: calc(50% - 2.5px);
	}
	@media screen and (max-width: 599px) {
		*:where(form, .form_type, .modal_form) .size_m_sp,
		*:where(form, .form_type, .modal_form) .size_m_sp_tb {
			flex-grow: 0;
			width: calc(50% - 2.5px);
		}
	}
	@media screen and (min-width: 600px) and (max-width: 959px) {
		*:where(form, .form_type, .modal_form) .size_m_sp_tb,
		*:where(form, .form_type, .modal_form) .size_m_tb,
		*:where(form, .form_type, .modal_form) .size_m_tb_pc {
			flex-grow: 0;
			width: calc(50% - 2.5px);
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) .size_m_tb_pc,
		*:where(form, .form_type, .modal_form) .size_m_pc {
			flex-grow: 0;
			width: calc(50% - 2.5px);
		}
	}
	@media screen and (min-width: 1400px) {
		*:where(form, .form_type, .modal_form) .size_m_lg {
			flex-grow: 0;
			width: calc(50% - 2.5px);
		}
	}
	*:where(form, .form_type, .modal_form) .size_zip {
		flex-grow: 0;
		width: 4.5em;
	}
	*:where(form, .form_type, .modal_form) .size_1w {
		flex-grow: 0;
		flex-shrink: 0;
		box-sizing: content-box;
		width: calc(1.2em * 1 / 2);
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) .size_1w {
			width: calc(1.1em * 1 / 2);
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) [type="number"].size_1w:not(.nospin) {
			width: calc(1.1em * 1 / 2 + 17px + 10px);
		}
	}
	*:where(form, .form_type, .modal_form) .size_2w {
		flex-grow: 0;
		flex-shrink: 0;
		box-sizing: content-box;
		width: calc(1.2em * 2 / 2);
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) .size_2w {
			width: calc(1.1em * 2 / 2);
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) [type="number"].size_2w:not(.nospin) {
			width: calc(1.1em * 2 / 2 + 17px + 10px);
		}
	}
	*:where(form, .form_type, .modal_form) .size_3w {
		flex-grow: 0;
		flex-shrink: 0;
		box-sizing: content-box;
		width: calc(1.2em * 3 / 2);
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) .size_3w {
			width: calc(1.1em * 3 / 2);
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) [type="number"].size_3w:not(.nospin) {
			width: calc(1.1em * 3 / 2 + 17px + 10px);
		}
	}
	*:where(form, .form_type, .modal_form) .size_4w {
		flex-grow: 0;
		flex-shrink: 0;
		box-sizing: content-box;
		width: calc(1.2em * 4 / 2);
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) .size_4w {
			width: calc(1.1em * 4 / 2);
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) [type="number"].size_4w:not(.nospin) {
			width: calc(1.1em * 4 / 2 + 17px + 10px);
		}
	}
	*:where(form, .form_type, .modal_form) .size_5w {
		flex-grow: 0;
		flex-shrink: 0;
		box-sizing: content-box;
		width: calc(1.2em * 5 / 2);
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) .size_5w {
			width: calc(1.1em * 5 / 2);
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) [type="number"].size_5w:not(.nospin) {
			width: calc(1.1em * 5 / 2 + 17px + 10px);
		}
	}
	*:where(form, .form_type, .modal_form) .size_6w {
		flex-grow: 0;
		flex-shrink: 0;
		box-sizing: content-box;
		width: calc(1.2em * 6 / 2);
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) .size_6w {
			width: calc(1.1em * 6 / 2);
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) [type="number"].size_6w:not(.nospin) {
			width: calc(1.1em * 6 / 2 + 17px + 10px);
		}
	}
	*:where(form, .form_type, .modal_form) .size_7w {
		flex-grow: 0;
		flex-shrink: 0;
		box-sizing: content-box;
		width: calc(1.2em * 7 / 2);
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) .size_7w {
			width: calc(1.1em * 7 / 2);
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) [type="number"].size_7w:not(.nospin) {
			width: calc(1.1em * 7 / 2 + 17px + 10px);
		}
	}
	*:where(form, .form_type, .modal_form) .size_8w {
		flex-grow: 0;
		flex-shrink: 0;
		box-sizing: content-box;
		width: calc(1.2em * 8 / 2);
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) .size_8w {
			width: calc(1.1em * 8 / 2);
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) [type="number"].size_8w:not(.nospin) {
			width: calc(1.1em * 8 / 2 + 17px + 10px);
		}
	}
	*:where(form, .form_type, .modal_form) .size_9w {
		flex-grow: 0;
		flex-shrink: 0;
		box-sizing: content-box;
		width: calc(1.2em * 9 / 2);
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) .size_9w {
			width: calc(1.1em * 9 / 2);
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) [type="number"].size_9w:not(.nospin) {
			width: calc(1.1em * 9 / 2 + 17px + 10px);
		}
	}
	*:where(form, .form_type, .modal_form) .size_10w {
		flex-grow: 0;
		flex-shrink: 0;
		box-sizing: content-box;
		width: calc(1.2em * 10 / 2);
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) .size_10w {
			width: calc(1.1em * 10 / 2);
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) [type="number"].size_10w:not(.nospin) {
			width: calc(1.1em * 10 / 2 + 17px + 10px);
		}
	}
	*:where(form, .form_type, .modal_form) .size_11w {
		flex-grow: 0;
		flex-shrink: 0;
		box-sizing: content-box;
		width: calc(1.2em * 11 / 2);
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) .size_11w {
			width: calc(1.1em * 11 / 2);
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) [type="number"].size_11w:not(.nospin) {
			width: calc(1.1em * 11 / 2 + 17px + 10px);
		}
	}
	*:where(form, .form_type, .modal_form) .size_12w {
		flex-grow: 0;
		flex-shrink: 0;
		box-sizing: content-box;
		width: calc(1.2em * 12 / 2);
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) .size_12w {
			width: calc(1.1em * 12 / 2);
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) [type="number"].size_12w:not(.nospin) {
			width: calc(1.1em * 12 / 2 + 17px + 10px);
		}
	}
	*:where(form, .form_type, .modal_form) .size_13w {
		flex-grow: 0;
		flex-shrink: 0;
		box-sizing: content-box;
		width: calc(1.2em * 13 / 2);
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) .size_13w {
			width: calc(1.1em * 13 / 2);
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) [type="number"].size_13w:not(.nospin) {
			width: calc(1.1em * 13 / 2 + 17px + 10px);
		}
	}
	*:where(form, .form_type, .modal_form) .size_14w {
		flex-grow: 0;
		flex-shrink: 0;
		box-sizing: content-box;
		width: calc(1.2em * 14 / 2);
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) .size_14w {
			width: calc(1.1em * 14 / 2);
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) [type="number"].size_14w:not(.nospin) {
			width: calc(1.1em * 14 / 2 + 17px + 10px);
		}
	}
	*:where(form, .form_type, .modal_form) .size_15w {
		flex-grow: 0;
		flex-shrink: 0;
		box-sizing: content-box;
		width: calc(1.2em * 15 / 2);
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) .size_15w {
			width: calc(1.1em * 15 / 2);
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) [type="number"].size_15w:not(.nospin) {
			width: calc(1.1em * 15 / 2 + 17px + 10px);
		}
	}
	*:where(form, .form_type, .modal_form) .size_16w {
		flex-grow: 0;
		flex-shrink: 0;
		box-sizing: content-box;
		width: calc(1.2em * 16 / 2);
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) .size_16w {
			width: calc(1.1em * 16 / 2);
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) [type="number"].size_16w:not(.nospin) {
			width: calc(1.1em * 16 / 2 + 17px + 10px);
		}
	}
	*:where(form, .form_type, .modal_form) .size_17w {
		flex-grow: 0;
		flex-shrink: 0;
		box-sizing: content-box;
		width: calc(1.2em * 17 / 2);
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) .size_17w {
			width: calc(1.1em * 17 / 2);
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) [type="number"].size_17w:not(.nospin) {
			width: calc(1.1em * 17 / 2 + 17px + 10px);
		}
	}
	*:where(form, .form_type, .modal_form) .size_18w {
		flex-grow: 0;
		flex-shrink: 0;
		box-sizing: content-box;
		width: calc(1.2em * 18 / 2);
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) .size_18w {
			width: calc(1.1em * 18 / 2);
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) [type="number"].size_18w:not(.nospin) {
			width: calc(1.1em * 18 / 2 + 17px + 10px);
		}
	}
	*:where(form, .form_type, .modal_form) .size_19w {
		flex-grow: 0;
		flex-shrink: 0;
		box-sizing: content-box;
		width: calc(1.2em * 19 / 2);
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) .size_19w {
			width: calc(1.1em * 19 / 2);
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) [type="number"].size_19w:not(.nospin) {
			width: calc(1.1em * 19 / 2 + 17px + 10px);
		}
	}
	*:where(form, .form_type, .modal_form) .size_20w {
		flex-grow: 0;
		flex-shrink: 0;
		box-sizing: content-box;
		width: calc(1.2em * 20 / 2);
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) .size_20w {
			width: calc(1.1em * 20 / 2);
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) [type="number"].size_20w:not(.nospin) {
			width: calc(1.1em * 20 / 2 + 17px + 10px);
		}
	}
	*:where(form, .form_type, .modal_form) select.size_fit_content {
		flex-grow: 0;
	}
	*:where(form, .form_type, .modal_form) select.size_full {
		width: 100%;
	}
	@media screen and (max-width: 599px) {
		*:where(form, .form_type, .modal_form) select.size_full_sp,
		*:where(form, .form_type, .modal_form) select.size_full_sp_tb {
			width: 100%;
		}
	}
	@media screen and (min-width: 600px) and (max-width: 959px) {
		*:where(form, .form_type, .modal_form) select.size_full_sp_tb,
		*:where(form, .form_type, .modal_form) select.size_full_tb,
		*:where(form, .form_type, .modal_form) select.size_full_tb_pc {
			width: 100%;
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) select.size_full_tb_pc,
		*:where(form, .form_type, .modal_form) select.size_full_pc {
			width: 100%;
		}
	}
	@media screen and (min-width: 1400px) {
		*:where(form, .form_type, .modal_form) select.size_full_lg {
			width: 100%;
		}
	}
	*:where(form, .form_type, .modal_form) textarea.size_2row {
		box-sizing: content-box;
		height: 2lh;
	}
	*:where(form, .form_type, .modal_form) textarea.size_3row {
		box-sizing: content-box;
		height: 3lh;
	}
	*:where(form, .form_type, .modal_form) textarea.size_4row {
		box-sizing: content-box;
		height: 4lh;
	}
	*:where(form, .form_type, .modal_form) textarea.size_5row {
		box-sizing: content-box;
		height: 5lh;
	}
	*:where(form, .form_type, .modal_form) textarea.size_6row {
		box-sizing: content-box;
		height: 6lh;
	}
	*:where(form, .form_type, .modal_form) textarea.size_7row {
		box-sizing: content-box;
		height: 7lh;
	}
	*:where(form, .form_type, .modal_form) textarea.size_8row {
		box-sizing: content-box;
		height: 8lh;
	}
	*:where(form, .form_type, .modal_form) textarea.size_9row {
		box-sizing: content-box;
		height: 9lh;
	}
	*:where(form, .form_type, .modal_form) textarea.size_10row {
		box-sizing: content-box;
		height: 10lh;
	}
	*:where(form, .form_type, .modal_form) textarea.size_11row {
		box-sizing: content-box;
		height: 11lh;
	}
	*:where(form, .form_type, .modal_form) textarea.size_12row {
		box-sizing: content-box;
		height: 12lh;
	}
	*:where(form, .form_type, .modal_form) textarea.size_13row {
		box-sizing: content-box;
		height: 13lh;
	}
	*:where(form, .form_type, .modal_form) textarea.size_14row {
		box-sizing: content-box;
		height: 14lh;
	}
	*:where(form, .form_type, .modal_form) textarea.size_15row {
		box-sizing: content-box;
		height: 15lh;
	}
	*:where(form, .form_type, .modal_form) textarea.size_16row {
		box-sizing: content-box;
		height: 16lh;
	}
	*:where(form, .form_type, .modal_form) textarea.size_17row {
		box-sizing: content-box;
		height: 17lh;
	}
	*:where(form, .form_type, .modal_form) textarea.size_18row {
		box-sizing: content-box;
		height: 18lh;
	}
	*:where(form, .form_type, .modal_form) textarea.size_19row {
		box-sizing: content-box;
		height: 19lh;
	}
	*:where(form, .form_type, .modal_form) textarea.size_20row {
		box-sizing: content-box;
		height: 20lh;
	}
	*:where(form, .form_type, .modal_form) .radius {
		border-radius: 30px;
	}
	*:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)) {
		display: flex;
		flex-wrap: wrap;
		gap: 8px 5px;
		align-items: center;
	}
	*:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)) > :is(input, textarea, select).center {
		flex-grow: 0;
		margin-inline: auto;
		width: -moz-fit-content;
		width: fit-content;
	}
	*:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).col {
		flex-direction: column;
		align-items: stretch;
	}
	@media screen and (max-width: 599px) {
		*:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).col_sp,
		*:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).col_sp_tb {
			flex-direction: column;
			align-items: stretch;
		}
	}
	@media screen and (min-width: 600px) and (max-width: 959px) {
		*:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).col_sp_tb,
		*:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).col_tb,
		*:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).col_tb_pc {
			flex-direction: column;
			align-items: stretch;
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).col_tb_pc,
		*:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).col_pc {
			flex-direction: column;
			align-items: stretch;
		}
	}
	@media screen and (min-width: 1400px) {
		*:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).col_lg {
			flex-direction: column;
			align-items: stretch;
		}
	}
	*:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).row {
		flex-direction: row;
		align-items: center;
	}
	@media screen and (max-width: 599px) {
		*:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).row_sp,
		*:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).row_sp_tb {
			flex-direction: row;
			align-items: center;
		}
	}
	@media screen and (min-width: 600px) and (max-width: 959px) {
		*:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).row_sp_tb,
		*:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).row_tb,
		*:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).row_tb_pc {
			flex-direction: row;
			align-items: center;
		}
	}
	@media print, screen and (min-width: 960px) {
		*:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).row_tb_pc,
		*:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).row_pc {
			flex-direction: row;
			align-items: center;
		}
	}
	@media screen and (min-width: 1400px) {
		*:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).row_lg {
			flex-direction: row;
			align-items: center;
		}
	}
	*:where(form, .form_type, .modal_form) p:has(.radio_label, .checkbox_label) {
		-moz-column-gap: 20px;
		column-gap: 20px;
	}
	@media screen and (max-width: 599px) {
		*:where(form, .form_type, .modal_form) p:has(.radio_label, .checkbox_label):not(.row, .row_sp, .row_sp_tb) {
			flex-direction: column;
			gap: 0;
			align-items: stretch;
			border: 1px solid var(--form_input_border);
			border-radius: var(--form_input_radius);
		}
	}
	@media screen and (max-width: 599px) {
		*:where(form, .form_type, .modal_form) p:has(.radio_label, .checkbox_label):not(.row, .row_sp, .row_sp_tb) :is(.radio_label, .checkbox_label) {
			padding: 8px;
			border-bottom: 1px solid var(--form_input_border);
		}
	}
	@media screen and (max-width: 599px) {
		*:where(form, .form_type, .modal_form) p:has(.radio_label, .checkbox_label):not(.row, .row_sp, .row_sp_tb) :is(.radio_label, .checkbox_label):last-of-type {
			border-bottom: none;
		}
	}
	*:where(form, .form_type, .modal_form) p:has(> input.password) {
		position: relative;
	}
	*:where(form, .form_type, .modal_form) p:has(> input.password) input.password + .password_eye {
		position: absolute;
		top: 0;
		right: 15px;
		bottom: 0;
		display: block;
		margin-block: auto;
		width: 1em;
		aspect-ratio: 1/1;
		background: var(--txt_color_light);
		cursor: pointer;
		-webkit-mask: var(--icon_image) no-repeat center/contain;
		mask: var(--icon_image) no-repeat center/contain;
	}
	*:where(form, .form_type, .modal_form) p:has(> input.password) input.password + .password_eye.look {
		--icon_image: url(/ec/images/event/20th/lib/icon/eye.svg);
	}
	*:where(form, .form_type, .modal_form) p:has(> input.password) input.password + .password_eye.nolook {
		--icon_image: url(/ec/images/event/20th/lib/icon/eye_close.svg);
	}
	*:where(form, .form_type, .modal_form) label:where(:has([type="radio"], [type="checkbox"])) {
		--icon_size: 1lh;
		cursor: pointer;
	}
	*:where(form, .form_type, .modal_form) label:where(:has([type="radio"], [type="checkbox"])) > *:not(input) {
		position: relative;
		display: block;
		padding-left: calc(var(--icon_size) + var(--icon_gap));
		min-height: var(--icon_size);
	}
	*:where(form, .form_type, .modal_form) label:where(:has([type="radio"], [type="checkbox"])) > *:not(input)::before,
	*:where(form, .form_type, .modal_form) label:where(:has([type="radio"], [type="checkbox"])) > *:not(input)::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: var(--icon_size);
		height: var(--icon_size);
		transition: 0.2s linear;
	}
	*:where(form, .form_type, .modal_form) label:where(:has([type="radio"], [type="checkbox"])) > span:empty {
		margin-left: 0;
	}
	*:where(form, .form_type, .modal_form) label:where(:has([type="radio"], [type="checkbox"])) input:is([type="radio"], [type="checkbox"]) {
		display: none;
	}
	*:where(form, .form_type, .modal_form) label:has([type="radio"]) > *::before,
	*:where(form, .form_type, .modal_form) label:has([type="radio"]) > *::after {
		content: "";
		border: 1px solid;
		border-radius: 50%;
	}
	*:where(form, .form_type, .modal_form) label:has([type="radio"]) > *::before {
		border-color: var(--form_input_border, var(--border_color_base));
		background: var(--form_input_bg, var(--bg_color_base));
	}
	*:where(form, .form_type, .modal_form) label:has([type="radio"]) > *::after {
		border-color: rgba(0, 0, 0, 0);
		background-color: var(--form_input_checked, #000);
		opacity: 0;
		transform: scale(0.1);
	}
	*:where(form, .form_type, .modal_form) label:has(input[type="radio"]:checked) > *::after {
		opacity: 1;
		transform: scale(0.6);
	}
	*:where(form, .form_type, .modal_form) label:has(input[type="radio"]):hover > *::before {
		border-color: var(--form_input_border_hover, #000);
		background-color: var(--form_input_bg_hover, #eee);
	}
	*:where(form, .form_type, .modal_form) label:has([type="checkbox"]) > *::before {
		z-index: 5;
		background-color: #fff;
		opacity: 0;
		-webkit-mask: url(/ec/images/event/20th/lib/icon/check.svg) no-repeat center/contain;
		mask: url(/ec/images/event/20th/lib/icon/check.svg) no-repeat center/contain;
	}
	*:where(form, .form_type, .modal_form) label:has([type="checkbox"]) > *::after {
		border: 1px solid var(--form_input_border, var(--border_color_base));
		background: var(--form_input_bg, var(--bg_color_base));
	}
	*:where(form, .form_type, .modal_form) label:has(input[type="checkbox"]:is(:checked, :indeterminate)) > *::before {
		opacity: 1;
	}
	*:where(form, .form_type, .modal_form) label:has(input[type="checkbox"]:is(:checked, :indeterminate)) > *::after {
		background-color: var(--form_input_checked, #000);
	}
	*:where(form, .form_type, .modal_form) label:has(input[type="checkbox"]:indeterminate) > *::before {
		background: #fff;
	}
	*:where(form, .form_type, .modal_form) label:has([type="checkbox"]):hover > *::after {
		border-color: var(--form_input_border_hover, #000);
		background-color: var(--form_input_bg_hover, #eee);
	}
	*:where(form, .form_type, .modal_form) input[type="file"] {
		display: none;
	}
	*:where(form, .form_type, .modal_form) input[type="file"] + .file_select {
		position: relative;
		display: inline-block;
		margin: 5px 8px 5px 0;
		padding: 12px 10px;
		border: 1px solid var(--form_input_border, var(--border_color_base));
		border-radius: 4px;
		background: #fff;
		font-size: 1.2rem;
		color: var(--txt_color_base);
		cursor: pointer;
	}
	*:where(form, .form_type, .modal_form) input[type="file"] + .file_select:hover {
		opacity: 0.7;
		transition: 0.3s ease-out;
	}
	*:where(form, .form_type, .modal_form) input[type="file"][disabled] + .file_select {
		display: none;
	}
	*:where(form, .form_type, .modal_form) input[type="file"] + .file_select + .file_name {
		display: inline-block;
		max-width: 140px;
		overflow: hidden;
		text-overflow: ellipsis;
		font-size: 12px;
		color: #ccc;
		white-space: nowrap;
	}
	*:where(form, .form_type, .modal_form) input[type="file"] + .file_select + .file_name.directed {
		color: var(--txt_color_base);
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap {
		position: relative;
		display: flex;
		flex-direction: column;
		row-gap: 10px;
		align-items: center;
		justify-content: center;
		padding: clamp(15px, 15px + 15 * (100vw - 400px)/1000, 30px);
		border: 2px dashed var(--status_color);
		border-radius: var(--radius_base);
		background-color: var(--form_input_bg);
		text-align: center;
		transition: 0.3s;
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap .icon {
		position: relative;
		display: block;
		width: 40px;
		aspect-ratio: 1/1;
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap .icon::before,
	*:where(form, .form_type, .modal_form) .filedrop_wrap .icon::after {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		display: block;
		margin: auto;
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap .icon::before {
		background: var(--txt_color_light);
		-webkit-mask: url(/ec/images/event/20th/lib/icon/file_blank.svg) no-repeat center/contain;
		mask: url(/ec/images/event/20th/lib/icon/file_blank.svg) no-repeat center/contain;
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap .icon::after {
		content: "";
		width: 50%;
		aspect-ratio: 1/1;
		background: var(--status_color);
		-webkit-mask: var(--icon_image) no-repeat center/contain;
		mask: var(--icon_image) no-repeat center/contain;
		translate: 0 16%;
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap .heading {
		font-size: 1.5rem;
		font-weight: bold;
		color: var(--status_color);
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap label {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		display: block;
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap label input {
		display: none;
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap .message {
		display: none;
		font-size: 1.3rem;
		color: var(--color_util_caution);
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap .btn_select,
	*:where(form, .form_type, .modal_form) .filedrop_wrap .btn_redo,
	*:where(form, .form_type, .modal_form) .filedrop_wrap .btn_change {
		pointer-events: none;
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap.status_ready {
		--icon_image: url(/ec/images/event/20th/lib/icon/arrow_down.svg);
		border: 2px dashed var(--form_input_border);
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap.status_ready .heading {
		color: var(--txt_color_light);
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap.status_ready .heading.filename,
	*:where(form, .form_type, .modal_form) .filedrop_wrap.status_ready .heading.error {
		display: none;
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap.status_ready .btn_wrap .btn_change,
	*:where(form, .form_type, .modal_form) .filedrop_wrap.status_ready .btn_wrap .btn_delete {
		display: none;
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap.status_error {
		--status_color: var(--color_util_caution);
		--icon_image: url(/ec/images/event/20th/lib/icon/close.svg);
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap.status_error .btn.btn_change,
	*:where(form, .form_type, .modal_form) .filedrop_wrap.status_error .btn.btn_delete {
		display: none;
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap.status_error .heading.info,
	*:where(form, .form_type, .modal_form) .filedrop_wrap.status_error .heading.error {
		display: none;
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap.status_error .message {
		display: block;
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap.status_error .btn_wrap .btn_redo {
		display: block;
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap.status_ok {
		--status_color: #2fa532;
		--icon_image: url(/ec/images/event/20th/lib/icon/check.svg);
		border-style: solid;
		border-width: 2px;
		background: none;
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap.status_ok::before,
	*:where(form, .form_type, .modal_form) .filedrop_wrap.status_ok .message,
	*:where(form, .form_type, .modal_form) .filedrop_wrap.status_ok .btn.btn_select {
		display: none;
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap.status_ok .heading.info,
	*:where(form, .form_type, .modal_form) .filedrop_wrap.status_ok .heading.error {
		display: none;
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap.status_ok .btn.btn_change,
	*:where(form, .form_type, .modal_form) .filedrop_wrap.status_ok .btn.btn_delete {
		display: block;
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap.drag_over {
		border-color: var(--form_input_border_hover);
		background: var(--form_input_bg_hover);
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap:has(label:hover) {
		cursor: pointer;
	}
	*:where(form, .form_type, .modal_form) .filedrop_wrap:has(label:hover) .btn.btn_select,
	*:where(form, .form_type, .modal_form) .filedrop_wrap:has(label:hover) .btn.btn_change {
		--v_btn_color_bg: var(--btn_primary_color_bg_hover, var(--btn_color_bg_hover));
		--v_btn_color_txt: var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover));
	}
	*:where(form, .form_type, .modal_form) .error,
	*:where(form, .form_type, .modal_form) input[type="file"].error + .file_select,
	*:where(form, .form_type, .modal_form) label:has(input[type="radio"].error),
	*:where(form, .form_type, .modal_form) label:has(input[type="checkbox"].error) {
		--form_input_border: var(--form_error, var(--color_util_caution));
		--form_input_bg: var(--form_error_bg, rgba(from var(--color_util_caution) r g b / 0.05));
		--form_input_checked: var(--form_error, var(--color_util_caution));
	}
	*:where(form, .form_type, .modal_form) label.error {
		font-size: 1.3rem;
		color: var(--form_error, var(--color_util_caution));
	}
	@media print, screen and (min-width: 600px) {
		.form_set:not(.col) {
			grid-template-columns: minmax(auto, 200px) 1fr;
			-moz-column-gap: 5cqw;
			column-gap: 5cqw;
		}
	}
	.form_set:not(.col) > * {
		grid-column: 1/-1;
		min-width: 0;
	}
	.form_set:not(.col) .fbody:not(.col) {
		grid-template-columns: subgrid;
	}
	.form_set:not(.col) .fbody:not(.col) > * {
		grid-column: 1/-1;
	}
	.form_set:not(.col) .fbody:not(.col) .fr:not(.col):has(> .fh) {
		grid-template-columns: subgrid;
	}
	@media print, screen and (min-width: 600px) {
		.form_set:not(.col) .fbody:not(.col) .fr:not(.col):has(> .fh) .fh {
			grid-column: 1;
		}
	}
	@media print, screen and (min-width: 600px) {
		.form_set:not(.col) .fbody:not(.col) .fr:not(.col):has(> .fh) .fd {
			grid-column: 2;
		}
	}
	.form_set:not(.col) .fbody:not(.col) .fr.col .fh,
	.form_set:not(.col) .fbody:not(.col) .fr.col .fd,
	.form_set:not(.col) .fbody:not(.col) .fr .fd:first-child:last-child {
		grid-column: 1/-1;
	}
	.form_set:not(.col) .fbody:not(.col) .fr.align_center {
		align-items: center;
	}
	.form_set:not(.col) .fbody:not(.col) .fr.align_top {
		align-items: flex-start;
	}
	.form_set:not(.col) .fbody:not(.col) .fr.align_bottom {
		align-items: flex-end;
	}
	.form_set {
		display: grid;
		row-gap: var(--part_margin);
	}
	.form_set .fbody {
		display: grid;
		row-gap: var(--cont_margin);
		margin-bottom: 0;
	}
	.form_set .fbody .fr {
		display: grid;
		row-gap: 5px;
		align-items: baseline;
		animation-name: animation_fr;
		animation-duration: 0.5s;
	}
	@keyframes animation_fr {
		0% {
			opacity: 0;
		}
		100% {
			opacity: 1;
		}
	}
	.form_set .fbody .fr > * {
		min-width: 0;
	}
	.form_set .fbody .fr .fh {
		font-size: 1.3rem;
		font-weight: bold;
	}
	.form_set .fbody .fr .fd {
		transition: 0.3s;
	}
	.form_set .fbody .fr .fd > *:not(:last-child) {
		margin-bottom: 8px;
	}
	.form_set .fbody .fr .fd .set {
		display: flex;
		-moz-column-gap: 5px;
		column-gap: 5px;
		margin-bottom: 8px;
	}
	.form_set .fbody .fr .fd .set > * {
		min-width: 0;
	}
	.form_set .fbody .fr .fd .fh_sub {
		font-size: 1.3rem;
	}
	@media print, screen and (min-width: 600px) {
		.form_set .fbody .fr .fd .fh_sub {
			font-weight: bold;
		}
	}
	.form_set .fbody .fr .fd :has(.delete_btn) {
		position: relative;
		padding-right: 30px;
	}
	.form_set .fbody .fr .fd :has(.delete_btn) .delete_btn {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		margin: auto;
	}
	.form_set .fbody .fr .fd .fbody:not(.col) {
		grid-template-columns: auto 1fr;
		-moz-column-gap: 5px;
		column-gap: 5px;
	}
	.form_set .fbody .fr .fd .fbody {
		row-gap: 5px;
	}
	@media print, screen and (min-width: 600px) {
		.form_set .fbody .fr .fd:has(.fh_sub) {
			display: flex;
			align-items: center;
		}
	}
	@media print, screen and (min-width: 600px) {
		.form_set .fbody .fr .fd:has(.fh_sub) p.fh_sub {
			margin-bottom: 0;
		}
	}
	.form_set .fbody .fr.align_top {
		align-items: flex-start;
	}
	.form_set .fbody .fr.align_bottom {
		align-items: flex-end;
	}
	.form_set .fbody .fr.align_center {
		align-items: center;
	}
	.form_set .must {
		margin-left: 10px;
		font-size: 1.3rem;
		color: var(--color_util_caution);
	}
	.form_set .form_caption {
		--icon_color: var(--txt_color_light);
		font-size: 1.3rem;
		color: var(--txt_color_light);
	}
	.form_set .form_scroll_wrap {
		margin: 10px 0 6px;
		padding: 10px;
		border: 2px solid var(--form_input_border);
		height: 90px;
		overflow-y: scroll;
		background-color: #fafafa;
	}
	.form_set .form_scroll_wrap h4,
	.form_set .form_scroll_wrap p {
		font-size: 1.3rem;
		line-height: 1.3;
	}
	.form_set .clone_src {
		display: none;
	}
	.form_set .clone_item:has(.delete_btn) {
		padding-right: 45px;
	}
	.form_set .clone_item:has(.delete_btn) .delete_btn {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		margin: auto;
	}
	.form_set .input_table {
		display: table;
		width: 100%;
	}
	.form_set .input_table .tr {
		display: table-row;
	}
	.form_set .input_table .tr .td,
	.form_set .input_table .tr > * {
		display: table-cell;
		padding: 0 2px;
		font-size: 1.3rem;
	}
	.form_set .input_table .tr .td input,
	.form_set .input_table .tr > * input {
		width: auto;
	}
	.form_set .kiyaku_wrap {
		display: block;
		margin: 8px 0;
		padding: 6px 15px 18px;
		border: 1px solid var(--form_input_border);
		border-radius: var(--radius_base);
		width: 100%;
		max-height: 120px;
		overflow-x: clip;
		overflow-y: scroll;
		background-color: #f2f2f2;
		font-size: 1.3rem;
	}
	.form_set .kiyaku_wrap .heading_kiyaku {
		padding: 12px 0;
		font-weight: bold;
		line-height: 1.3;
	}
	@media print, screen and (min-width: 600px) {
		.form_set .form_btns .submit_send {
			order: 2;
		}
	}
	@media print, screen and (min-width: 600px) {
		.form_set .form_btns .submit_back {
			order: 1;
		}
	}
	.form_set .with_help {
		display: inline;
	}
	.form_set .btn_help {
		--icon_image: url(/ec/images/event/20th/lib/icon/question.svg);
		--icon_color: #000;
		--icon_size: 1lh;
		display: inline-block;
		margin-left: 5px;
		border-radius: 50%;
		width: var(--icon_size);
		aspect-ratio: 1/1;
		background: var(--icon_color);
		-webkit-mask-image: linear-gradient(#000, #000), var(--icon_image);
		mask-image: linear-gradient(#000, #000), var(--icon_image);
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-position: center;
		mask-position: center;
		-webkit-mask-size: 100%, 60%;
		mask-size: 100%, 60%;
		vertical-align: bottom;
		transition: 0.3s;
		-webkit-mask-composite: xor;
		mask-composite: exclude;
	}
	.form_set .btn_help:hover {
		opacity: 0.5;
	}
	.form_set .delete_btn {
		display: inline-block;
		width: 30px;
		height: 30px;
		cursor: pointer;
		--icon_image: url(/ec/images/event/20th/lib/icon/delete.svg);
		--icon_color: black;
		--icon_size: 16px;
		--lr_p: 0;
		position: relative;
	}
	.form_set .delete_btn::before {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		left: 0;
		margin: auto;
		transform: translateY(-50%);
		display: block;
		width: var(--icon_size);
		aspect-ratio: 1/1;
		background-color: var(--icon_color);
		-webkit-mask: var(--icon_image) no-repeat center/contain;
		mask: var(--icon_image) no-repeat center/contain;
	}
	.form_set .delete_btn span {
		display: none;
	}
	.form_set .delete_btn.disabled::before {
		opacity: 0.3;
	}
	.form_set .fixed_text {
		margin: 8px 0;
		padding: 6px 15px;
		width: 100%;
		min-height: 32px;
	}
	@media print, screen and (min-width: 600px) {
		.form_set:where([data-step="conf"], form[data-step="confirm"]) {
			border-top: 1px dashed var(--border_color_base);
		}
	}
	.form_set:where([data-step="conf"], form[data-step="confirm"]) .fbody {
		row-gap: 0;
	}
	@media print, screen and (min-width: 600px) {
		.form_set:where([data-step="conf"], form[data-step="confirm"]) .fbody .fr {
			margin-bottom: 0;
			padding-bottom: 0;
			border-bottom: 1px dashed var(--border_color_base);
		}
	}
	@media print, screen and (min-width: 600px) {
		.form_set:where([data-step="conf"], form[data-step="confirm"]) .fbody .fr .fh p {
			line-height: 1.6;
		}
	}
	@media print, screen and (min-width: 600px) {
		.form_set:where([data-step="conf"], form[data-step="confirm"]) .fbody .fr .fd {
			padding: 15px 10px;
		}
	}
	.form_set:where([data-step="conf"], form[data-step="confirm"]) .fbody .fr .fd > * {
		margin: 8px 0;
		padding: 6px;
		border: none;
		background-color: inherit;
	}
	@media screen and (max-width: 599px) {
		.form_set:where([data-step="conf"], form[data-step="confirm"]) .fbody .fr .fd > * {
			border: 1px dashed var(--border_color_base);
			min-height: 38px;
		}
	}
	@media print, screen and (min-width: 600px) {
		.form_set:where([data-step="conf"], form[data-step="confirm"]) .fbody .fr .fd > * {
			margin: 0;
			padding: 0;
		}
	}
	@media screen and (max-width: 599px) {
		.form_set:where([data-step="conf"], form[data-step="confirm"]) .fbody .fr .fd > * span {
			color: var(--txt_color_light);
		}
	}
	.form_set:where([data-step="conf"], form[data-step="confirm"]) .fbody .fr .fd > * .confirm_error {
		color: var(--color_util_caution);
	}
	.login_wrap {
		row-gap: 10px;
	}
	@media print, screen and (min-width: 600px) {
		.login_wrap {
			margin-inline: auto;
			max-width: 350px;
		}
	}
	.login_wrap .fbody {
		row-gap: 5px;
	}
	.search_wrap,
	.period_wrap {
		display: flex;
		gap: 5px;
		align-items: center;
		justify-content: center;
	}
	.search_wrap > *,
	.period_wrap > * {
		flex-shrink: 0;
		min-width: 0;
	}
	.search_wrap .input_wrap,
	.period_wrap .input_wrap {
		flex-wrap: nowrap;
	}
	.search_wrap .btn_icon,
	.period_wrap .btn_icon {
		flex-shrink: 0;
		display: flex;
	}
	.search_wrap .btn_icon > *,
	.period_wrap .btn_icon > * {
		flex-grow: 1;
		flex-shrink: 0;
	}
	.search_wrap .input_wrap {
		flex-grow: 1;
	}
	@media screen and (max-width: 599px) {
		.period_wrap .input_wrap {
			flex-direction: column;
			row-gap: 5px;
			align-items: stretch;
		}
	}
	.period_wrap .input_wrap input {
		flex-grow: 1;
	}
	@media screen and (max-width: 599px) {
		.period_wrap .input_wrap input {
			width: auto;
		}
	}
	.period_wrap .input_wrap .sep {
		align-self: center;
	}
	@media screen and (max-width: 599px) {
		.period_wrap .input_wrap .sep {
			display: none;
		}
	}
	.filter_wrap {
		--form_input_checked: #000;
	}
	.filter_wrap ul {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 2px;
	}
	@media print, screen and (min-width: 600px) {
		.filter_wrap ul {
			display: flex;
			gap: 0;
			margin-inline: auto;
			border-radius: var(--radius_base);
			width: -moz-fit-content;
			width: fit-content;
			overflow: hidden;
		}
	}
	.filter_wrap ul li {
		display: flex;
	}
	.filter_wrap ul li .radio_label,
	.filter_wrap ul li .checkbox_label {
		flex-grow: 1;
		display: flex;
		align-items: center;
		padding: 10px 14px;
		border-radius: var(--radius_base);
		background-color: var(--btn_color_base, var(--btn_color_bg));
		font-size: 1.2rem;
		font-weight: bold;
		color: var(--btn_color_txt, #fff);
		transition: all 0.2s;
	}
	@media print, screen and (min-width: 600px) {
		.filter_wrap ul li .radio_label,
		.filter_wrap ul li .checkbox_label {
			border-radius: 0;
		}
	}
	.filter_wrap ul li .radio_label > *::before,
	.filter_wrap ul li .checkbox_label > *::before {
		background-color: var(--form_input_checked);
	}
	.filter_wrap ul li .radio_label > *::after,
	.filter_wrap ul li .checkbox_label > *::after {
		border: none;
		border-radius: 50%;
		background: var(--form_input_bg);
	}
}
@layer lib {
	*:where(table, .table_type) {
		width: 100%;
		line-height: 1.4;
	}
	@media screen and (max-width: 599px) {
		*:where(table, .table_type) {
			font-size: 1.3rem;
		}
	}
	*:where(table, .table_type) caption {
		display: none;
	}
	*:where(table, .table_type) caption.left,
	*:where(table, .table_type) caption.right,
	*:where(table, .table_type) caption.center {
		display: table-caption;
		margin-bottom: 8px;
	}
	@media screen and (max-width: 599px) {
		*:where(table, .table_type).table_block_sp thead {
			display: none;
		}
		*:where(table, .table_type).table_block_sp tbody tr,
		*:where(table, .table_type).table_block_sp tr {
			display: block;
		}
		*:where(table, .table_type).table_block_sp tbody tr th,
		*:where(table, .table_type).table_block_sp tbody tr td,
		*:where(table, .table_type).table_block_sp tr th,
		*:where(table, .table_type).table_block_sp tr td {
			display: block;
		}
		*:where(table, .table_type).table_block_sp tbody tr td,
		*:where(table, .table_type).table_block_sp tr td {
			display: block;
		}
		*:where(table, .table_type).table_block_sp tbody tr td:where(:not(:last-child)),
		*:where(table, .table_type).table_block_sp tr td:where(:not(:last-child)) {
			margin-bottom: 5px;
		}
		*:where(table, .table_type).table_block_sp.add_thead tbody tr td {
			display: flex;
		}
		*:where(table, .table_type).table_block_sp.add_thead tbody tr td::before {
			content: attr(data-title);
		}
	}
	.table_type {
		display: table;
	}
	.table_type .thead {
		display: table-header-group;
	}
	.table_type .tbody {
		display: table-row-group;
	}
	.table_type .tr {
		display: table-row;
	}
	.table_type .th,
	.table_type .td {
		display: table-cell;
	}
	.table_grid {
		display: grid;
	}
	.table_grid :where(.thead, .tbody) {
		display: grid;
		row-gap: var(--part_margin);
	}
	.table_grid :where(.thead, .tbody) .tr {
		display: grid;
		row-gap: var(--cont_margin);
	}
	.table_grid :where(.thead, .tbody) .tr :where(.th, .td) p.heading {
		margin-bottom: 0.5em;
		font-weight: bold;
	}
	.table_grid :where(.thead, .tbody) .tr :where(.th, .td) .th {
		font-weight: bold;
	}
	.table_grid.row {
		border-right: 1px solid var(--table_border_color);
		border-bottom: 1px solid var(--table_border_color);
	}
	.table_grid.row :where(.thead, .tbody) {
		display: contents;
	}
	.table_grid.row :where(.thead, .tbody) .tr {
		display: contents;
	}
	.table_grid.row :where(.thead, .tbody) .tr :where(.th, .td) {
		margin-bottom: 0;
		padding: min(1.5cqw, 20px) min(2cqw, 25px);
		border-top: 1px solid var(--table_border_color);
		border-left: 1px solid var(--table_border_color);
		min-width: 0;
		font-size: 1.3rem;
	}
	@media print, screen and (min-width: 960px) {
		.table_grid.row :where(.thead, .tbody) .tr :where(.th, .td) {
			font-size: 1.5rem;
		}
	}
	.table_grid.row :where(.thead, .tbody) .tr :where(.th, .td) > * {
		font-size: inherit;
	}
	.table_grid.row :where(.thead, .tbody) .tr :where(.th, .td).colspan_2 {
		grid-column: span 2;
	}
	.table_grid.row :where(.thead, .tbody) .tr :where(.th, .td).rowspan_2 {
		grid-row: span 2;
	}
	.table_grid.row :where(.thead, .tbody) .tr :where(.th, .td).colspan_3 {
		grid-column: span 3;
	}
	.table_grid.row :where(.thead, .tbody) .tr :where(.th, .td).rowspan_3 {
		grid-row: span 3;
	}
	.table_grid.row :where(.thead, .tbody) .tr :where(.th, .td).colspan_4 {
		grid-column: span 4;
	}
	.table_grid.row :where(.thead, .tbody) .tr :where(.th, .td).rowspan_4 {
		grid-row: span 4;
	}
	.table_grid.row :where(.thead, .tbody) .tr :where(.th, .td).colspan_5 {
		grid-column: span 5;
	}
	.table_grid.row :where(.thead, .tbody) .tr :where(.th, .td).rowspan_5 {
		grid-row: span 5;
	}
	.table_grid.row :where(.thead, .tbody) .tr .th {
		background: var(--table_th_bg_color);
		color: var(--table_th_txt);
	}
	.table_grid.row :where(.thead, .tbody) .tr .td {
		background: var(--table_td_bg_color);
		color: var(--table_td_txt_color);
	}
	.table_grid.row .tbody .tr .th {
		grid-column: 1;
		align-self: stretch;
	}
	.table_grid.row:has(.td:nth-child(2):last-child) {
		grid-template-columns: repeat(2, auto);
	}
	.table_grid.row:has(.td:nth-child(3):last-child) {
		grid-template-columns: repeat(3, auto);
	}
	.table_grid.row:has(.td:nth-child(4):last-child) {
		grid-template-columns: repeat(4, auto);
	}
	.table_grid.row:has(.td:nth-child(5):last-child) {
		grid-template-columns: repeat(5, auto);
	}
	.table_grid.row:has(.td:nth-child(6):last-child) {
		grid-template-columns: repeat(6, auto);
	}
	.table_grid.row:has(.td:nth-child(7):last-child) {
		grid-template-columns: repeat(7, auto);
	}
	.table_grid.row.layout_fixed:has(.th:nth-child(2):last-child),
	.table_grid.row.layout_fixed:has(.td:nth-child(2):last-child) {
		grid-template-columns: auto repeat(1, 1fr);
	}
	.table_grid.row.layout_fixed:has(.th:nth-child(3):last-child),
	.table_grid.row.layout_fixed:has(.td:nth-child(3):last-child) {
		grid-template-columns: auto repeat(2, 1fr);
	}
	.table_grid.row.layout_fixed:has(.th:nth-child(4):last-child),
	.table_grid.row.layout_fixed:has(.td:nth-child(4):last-child) {
		grid-template-columns: auto repeat(3, 1fr);
	}
	.table_grid.row.layout_fixed:has(.th:nth-child(5):last-child),
	.table_grid.row.layout_fixed:has(.td:nth-child(5):last-child) {
		grid-template-columns: auto repeat(4, 1fr);
	}
	.table_grid.row.layout_fixed:has(.th:nth-child(6):last-child),
	.table_grid.row.layout_fixed:has(.td:nth-child(6):last-child) {
		grid-template-columns: auto repeat(5, 1fr);
	}
	.table_grid.row.layout_fixed:has(.th:nth-child(7):last-child),
	.table_grid.row.layout_fixed:has(.td:nth-child(7):last-child) {
		grid-template-columns: auto repeat(6, 1fr);
	}
	@media screen and (max-width: 599px) {
		.table_grid.row_sp,
		.table_grid.row_sp_tb {
			border-right: 1px solid var(--table_border_color);
			border-bottom: 1px solid var(--table_border_color);
		}
		.table_grid.row_sp :where(.thead, .tbody),
		.table_grid.row_sp_tb :where(.thead, .tbody) {
			display: contents;
		}
		.table_grid.row_sp :where(.thead, .tbody) .tr,
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr {
			display: contents;
		}
		.table_grid.row_sp :where(.thead, .tbody) .tr :where(.th, .td),
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td) {
			margin-bottom: 0;
			padding: min(1.5cqw, 20px) min(2cqw, 25px);
			border-top: 1px solid var(--table_border_color);
			border-left: 1px solid var(--table_border_color);
			min-width: 0;
			font-size: 1.3rem;
		}
	}
	@media screen and (max-width: 599px) and (min-width: 960px) {
		.table_grid.row_sp :where(.thead, .tbody) .tr :where(.th, .td),
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td) {
			font-size: 1.5rem;
		}
	}
	@media screen and (max-width: 599px) {
		.table_grid.row_sp :where(.thead, .tbody) .tr :where(.th, .td) > *,
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td) > * {
			font-size: inherit;
		}
		.table_grid.row_sp :where(.thead, .tbody) .tr :where(.th, .td).colspan_2,
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).colspan_2 {
			grid-column: span 2;
		}
		.table_grid.row_sp :where(.thead, .tbody) .tr :where(.th, .td).rowspan_2,
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).rowspan_2 {
			grid-row: span 2;
		}
		.table_grid.row_sp :where(.thead, .tbody) .tr :where(.th, .td).colspan_3,
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).colspan_3 {
			grid-column: span 3;
		}
		.table_grid.row_sp :where(.thead, .tbody) .tr :where(.th, .td).rowspan_3,
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).rowspan_3 {
			grid-row: span 3;
		}
		.table_grid.row_sp :where(.thead, .tbody) .tr :where(.th, .td).colspan_4,
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).colspan_4 {
			grid-column: span 4;
		}
		.table_grid.row_sp :where(.thead, .tbody) .tr :where(.th, .td).rowspan_4,
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).rowspan_4 {
			grid-row: span 4;
		}
		.table_grid.row_sp :where(.thead, .tbody) .tr :where(.th, .td).colspan_5,
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).colspan_5 {
			grid-column: span 5;
		}
		.table_grid.row_sp :where(.thead, .tbody) .tr :where(.th, .td).rowspan_5,
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).rowspan_5 {
			grid-row: span 5;
		}
		.table_grid.row_sp :where(.thead, .tbody) .tr .th,
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr .th {
			background: var(--table_th_bg_color);
			color: var(--table_th_txt);
		}
		.table_grid.row_sp :where(.thead, .tbody) .tr .td,
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr .td {
			background: var(--table_td_bg_color);
			color: var(--table_td_txt_color);
		}
		.table_grid.row_sp .tbody .tr .th,
		.table_grid.row_sp_tb .tbody .tr .th {
			grid-column: 1;
			align-self: stretch;
		}
		.table_grid.row_sp:has(.td:nth-child(2):last-child),
		.table_grid.row_sp_tb:has(.td:nth-child(2):last-child) {
			grid-template-columns: repeat(2, auto);
		}
		.table_grid.row_sp:has(.td:nth-child(3):last-child),
		.table_grid.row_sp_tb:has(.td:nth-child(3):last-child) {
			grid-template-columns: repeat(3, auto);
		}
		.table_grid.row_sp:has(.td:nth-child(4):last-child),
		.table_grid.row_sp_tb:has(.td:nth-child(4):last-child) {
			grid-template-columns: repeat(4, auto);
		}
		.table_grid.row_sp:has(.td:nth-child(5):last-child),
		.table_grid.row_sp_tb:has(.td:nth-child(5):last-child) {
			grid-template-columns: repeat(5, auto);
		}
		.table_grid.row_sp:has(.td:nth-child(6):last-child),
		.table_grid.row_sp_tb:has(.td:nth-child(6):last-child) {
			grid-template-columns: repeat(6, auto);
		}
		.table_grid.row_sp:has(.td:nth-child(7):last-child),
		.table_grid.row_sp_tb:has(.td:nth-child(7):last-child) {
			grid-template-columns: repeat(7, auto);
		}
		.table_grid.row_sp.layout_fixed:has(.th:nth-child(2):last-child),
		.table_grid.row_sp.layout_fixed:has(.td:nth-child(2):last-child),
		.table_grid.row_sp_tb.layout_fixed:has(.th:nth-child(2):last-child),
		.table_grid.row_sp_tb.layout_fixed:has(.td:nth-child(2):last-child) {
			grid-template-columns: auto repeat(1, 1fr);
		}
		.table_grid.row_sp.layout_fixed:has(.th:nth-child(3):last-child),
		.table_grid.row_sp.layout_fixed:has(.td:nth-child(3):last-child),
		.table_grid.row_sp_tb.layout_fixed:has(.th:nth-child(3):last-child),
		.table_grid.row_sp_tb.layout_fixed:has(.td:nth-child(3):last-child) {
			grid-template-columns: auto repeat(2, 1fr);
		}
		.table_grid.row_sp.layout_fixed:has(.th:nth-child(4):last-child),
		.table_grid.row_sp.layout_fixed:has(.td:nth-child(4):last-child),
		.table_grid.row_sp_tb.layout_fixed:has(.th:nth-child(4):last-child),
		.table_grid.row_sp_tb.layout_fixed:has(.td:nth-child(4):last-child) {
			grid-template-columns: auto repeat(3, 1fr);
		}
		.table_grid.row_sp.layout_fixed:has(.th:nth-child(5):last-child),
		.table_grid.row_sp.layout_fixed:has(.td:nth-child(5):last-child),
		.table_grid.row_sp_tb.layout_fixed:has(.th:nth-child(5):last-child),
		.table_grid.row_sp_tb.layout_fixed:has(.td:nth-child(5):last-child) {
			grid-template-columns: auto repeat(4, 1fr);
		}
		.table_grid.row_sp.layout_fixed:has(.th:nth-child(6):last-child),
		.table_grid.row_sp.layout_fixed:has(.td:nth-child(6):last-child),
		.table_grid.row_sp_tb.layout_fixed:has(.th:nth-child(6):last-child),
		.table_grid.row_sp_tb.layout_fixed:has(.td:nth-child(6):last-child) {
			grid-template-columns: auto repeat(5, 1fr);
		}
		.table_grid.row_sp.layout_fixed:has(.th:nth-child(7):last-child),
		.table_grid.row_sp.layout_fixed:has(.td:nth-child(7):last-child),
		.table_grid.row_sp_tb.layout_fixed:has(.th:nth-child(7):last-child),
		.table_grid.row_sp_tb.layout_fixed:has(.td:nth-child(7):last-child) {
			grid-template-columns: auto repeat(6, 1fr);
		}
	}
	@media screen and (min-width: 600px) and (max-width: 959px) {
		.table_grid.row_sp_tb,
		.table_grid.row_tb,
		.table_grid.row_tb_pc {
			border-right: 1px solid var(--table_border_color);
			border-bottom: 1px solid var(--table_border_color);
		}
		.table_grid.row_sp_tb :where(.thead, .tbody),
		.table_grid.row_tb :where(.thead, .tbody),
		.table_grid.row_tb_pc :where(.thead, .tbody) {
			display: contents;
		}
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr,
		.table_grid.row_tb :where(.thead, .tbody) .tr,
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr {
			display: contents;
		}
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td),
		.table_grid.row_tb :where(.thead, .tbody) .tr :where(.th, .td),
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td) {
			margin-bottom: 0;
			padding: min(1.5cqw, 20px) min(2cqw, 25px);
			border-top: 1px solid var(--table_border_color);
			border-left: 1px solid var(--table_border_color);
			min-width: 0;
			font-size: 1.3rem;
		}
	}
	@media screen and (min-width: 600px) and (max-width: 959px) and (min-width: 960px) {
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td),
		.table_grid.row_tb :where(.thead, .tbody) .tr :where(.th, .td),
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td) {
			font-size: 1.5rem;
		}
	}
	@media screen and (min-width: 600px) and (max-width: 959px) {
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td) > *,
		.table_grid.row_tb :where(.thead, .tbody) .tr :where(.th, .td) > *,
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td) > * {
			font-size: inherit;
		}
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).colspan_2,
		.table_grid.row_tb :where(.thead, .tbody) .tr :where(.th, .td).colspan_2,
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).colspan_2 {
			grid-column: span 2;
		}
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).rowspan_2,
		.table_grid.row_tb :where(.thead, .tbody) .tr :where(.th, .td).rowspan_2,
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).rowspan_2 {
			grid-row: span 2;
		}
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).colspan_3,
		.table_grid.row_tb :where(.thead, .tbody) .tr :where(.th, .td).colspan_3,
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).colspan_3 {
			grid-column: span 3;
		}
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).rowspan_3,
		.table_grid.row_tb :where(.thead, .tbody) .tr :where(.th, .td).rowspan_3,
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).rowspan_3 {
			grid-row: span 3;
		}
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).colspan_4,
		.table_grid.row_tb :where(.thead, .tbody) .tr :where(.th, .td).colspan_4,
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).colspan_4 {
			grid-column: span 4;
		}
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).rowspan_4,
		.table_grid.row_tb :where(.thead, .tbody) .tr :where(.th, .td).rowspan_4,
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).rowspan_4 {
			grid-row: span 4;
		}
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).colspan_5,
		.table_grid.row_tb :where(.thead, .tbody) .tr :where(.th, .td).colspan_5,
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).colspan_5 {
			grid-column: span 5;
		}
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).rowspan_5,
		.table_grid.row_tb :where(.thead, .tbody) .tr :where(.th, .td).rowspan_5,
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).rowspan_5 {
			grid-row: span 5;
		}
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr .th,
		.table_grid.row_tb :where(.thead, .tbody) .tr .th,
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr .th {
			background: var(--table_th_bg_color);
			color: var(--table_th_txt);
		}
		.table_grid.row_sp_tb :where(.thead, .tbody) .tr .td,
		.table_grid.row_tb :where(.thead, .tbody) .tr .td,
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr .td {
			background: var(--table_td_bg_color);
			color: var(--table_td_txt_color);
		}
		.table_grid.row_sp_tb .tbody .tr .th,
		.table_grid.row_tb .tbody .tr .th,
		.table_grid.row_tb_pc .tbody .tr .th {
			grid-column: 1;
			align-self: stretch;
		}
		.table_grid.row_sp_tb:has(.td:nth-child(2):last-child),
		.table_grid.row_tb:has(.td:nth-child(2):last-child),
		.table_grid.row_tb_pc:has(.td:nth-child(2):last-child) {
			grid-template-columns: repeat(2, auto);
		}
		.table_grid.row_sp_tb:has(.td:nth-child(3):last-child),
		.table_grid.row_tb:has(.td:nth-child(3):last-child),
		.table_grid.row_tb_pc:has(.td:nth-child(3):last-child) {
			grid-template-columns: repeat(3, auto);
		}
		.table_grid.row_sp_tb:has(.td:nth-child(4):last-child),
		.table_grid.row_tb:has(.td:nth-child(4):last-child),
		.table_grid.row_tb_pc:has(.td:nth-child(4):last-child) {
			grid-template-columns: repeat(4, auto);
		}
		.table_grid.row_sp_tb:has(.td:nth-child(5):last-child),
		.table_grid.row_tb:has(.td:nth-child(5):last-child),
		.table_grid.row_tb_pc:has(.td:nth-child(5):last-child) {
			grid-template-columns: repeat(5, auto);
		}
		.table_grid.row_sp_tb:has(.td:nth-child(6):last-child),
		.table_grid.row_tb:has(.td:nth-child(6):last-child),
		.table_grid.row_tb_pc:has(.td:nth-child(6):last-child) {
			grid-template-columns: repeat(6, auto);
		}
		.table_grid.row_sp_tb:has(.td:nth-child(7):last-child),
		.table_grid.row_tb:has(.td:nth-child(7):last-child),
		.table_grid.row_tb_pc:has(.td:nth-child(7):last-child) {
			grid-template-columns: repeat(7, auto);
		}
		.table_grid.row_sp_tb.layout_fixed:has(.th:nth-child(2):last-child),
		.table_grid.row_sp_tb.layout_fixed:has(.td:nth-child(2):last-child),
		.table_grid.row_tb.layout_fixed:has(.th:nth-child(2):last-child),
		.table_grid.row_tb.layout_fixed:has(.td:nth-child(2):last-child),
		.table_grid.row_tb_pc.layout_fixed:has(.th:nth-child(2):last-child),
		.table_grid.row_tb_pc.layout_fixed:has(.td:nth-child(2):last-child) {
			grid-template-columns: auto repeat(1, 1fr);
		}
		.table_grid.row_sp_tb.layout_fixed:has(.th:nth-child(3):last-child),
		.table_grid.row_sp_tb.layout_fixed:has(.td:nth-child(3):last-child),
		.table_grid.row_tb.layout_fixed:has(.th:nth-child(3):last-child),
		.table_grid.row_tb.layout_fixed:has(.td:nth-child(3):last-child),
		.table_grid.row_tb_pc.layout_fixed:has(.th:nth-child(3):last-child),
		.table_grid.row_tb_pc.layout_fixed:has(.td:nth-child(3):last-child) {
			grid-template-columns: auto repeat(2, 1fr);
		}
		.table_grid.row_sp_tb.layout_fixed:has(.th:nth-child(4):last-child),
		.table_grid.row_sp_tb.layout_fixed:has(.td:nth-child(4):last-child),
		.table_grid.row_tb.layout_fixed:has(.th:nth-child(4):last-child),
		.table_grid.row_tb.layout_fixed:has(.td:nth-child(4):last-child),
		.table_grid.row_tb_pc.layout_fixed:has(.th:nth-child(4):last-child),
		.table_grid.row_tb_pc.layout_fixed:has(.td:nth-child(4):last-child) {
			grid-template-columns: auto repeat(3, 1fr);
		}
		.table_grid.row_sp_tb.layout_fixed:has(.th:nth-child(5):last-child),
		.table_grid.row_sp_tb.layout_fixed:has(.td:nth-child(5):last-child),
		.table_grid.row_tb.layout_fixed:has(.th:nth-child(5):last-child),
		.table_grid.row_tb.layout_fixed:has(.td:nth-child(5):last-child),
		.table_grid.row_tb_pc.layout_fixed:has(.th:nth-child(5):last-child),
		.table_grid.row_tb_pc.layout_fixed:has(.td:nth-child(5):last-child) {
			grid-template-columns: auto repeat(4, 1fr);
		}
		.table_grid.row_sp_tb.layout_fixed:has(.th:nth-child(6):last-child),
		.table_grid.row_sp_tb.layout_fixed:has(.td:nth-child(6):last-child),
		.table_grid.row_tb.layout_fixed:has(.th:nth-child(6):last-child),
		.table_grid.row_tb.layout_fixed:has(.td:nth-child(6):last-child),
		.table_grid.row_tb_pc.layout_fixed:has(.th:nth-child(6):last-child),
		.table_grid.row_tb_pc.layout_fixed:has(.td:nth-child(6):last-child) {
			grid-template-columns: auto repeat(5, 1fr);
		}
		.table_grid.row_sp_tb.layout_fixed:has(.th:nth-child(7):last-child),
		.table_grid.row_sp_tb.layout_fixed:has(.td:nth-child(7):last-child),
		.table_grid.row_tb.layout_fixed:has(.th:nth-child(7):last-child),
		.table_grid.row_tb.layout_fixed:has(.td:nth-child(7):last-child),
		.table_grid.row_tb_pc.layout_fixed:has(.th:nth-child(7):last-child),
		.table_grid.row_tb_pc.layout_fixed:has(.td:nth-child(7):last-child) {
			grid-template-columns: auto repeat(6, 1fr);
		}
	}
	@media print, screen and (min-width: 960px) {
		.table_grid.row_tb_pc,
		.table_grid.row_pc {
			border-right: 1px solid var(--table_border_color);
			border-bottom: 1px solid var(--table_border_color);
		}
		.table_grid.row_tb_pc :where(.thead, .tbody),
		.table_grid.row_pc :where(.thead, .tbody) {
			display: contents;
		}
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr,
		.table_grid.row_pc :where(.thead, .tbody) .tr {
			display: contents;
		}
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td),
		.table_grid.row_pc :where(.thead, .tbody) .tr :where(.th, .td) {
			margin-bottom: 0;
			padding: min(1.5cqw, 20px) min(2cqw, 25px);
			border-top: 1px solid var(--table_border_color);
			border-left: 1px solid var(--table_border_color);
			min-width: 0;
			font-size: 1.3rem;
		}
	}
	@media print, screen and (min-width: 960px) and (min-width: 960px) {
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td),
		.table_grid.row_pc :where(.thead, .tbody) .tr :where(.th, .td) {
			font-size: 1.5rem;
		}
	}
	@media print, screen and (min-width: 960px) {
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td) > *,
		.table_grid.row_pc :where(.thead, .tbody) .tr :where(.th, .td) > * {
			font-size: inherit;
		}
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).colspan_2,
		.table_grid.row_pc :where(.thead, .tbody) .tr :where(.th, .td).colspan_2 {
			grid-column: span 2;
		}
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).rowspan_2,
		.table_grid.row_pc :where(.thead, .tbody) .tr :where(.th, .td).rowspan_2 {
			grid-row: span 2;
		}
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).colspan_3,
		.table_grid.row_pc :where(.thead, .tbody) .tr :where(.th, .td).colspan_3 {
			grid-column: span 3;
		}
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).rowspan_3,
		.table_grid.row_pc :where(.thead, .tbody) .tr :where(.th, .td).rowspan_3 {
			grid-row: span 3;
		}
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).colspan_4,
		.table_grid.row_pc :where(.thead, .tbody) .tr :where(.th, .td).colspan_4 {
			grid-column: span 4;
		}
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).rowspan_4,
		.table_grid.row_pc :where(.thead, .tbody) .tr :where(.th, .td).rowspan_4 {
			grid-row: span 4;
		}
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).colspan_5,
		.table_grid.row_pc :where(.thead, .tbody) .tr :where(.th, .td).colspan_5 {
			grid-column: span 5;
		}
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).rowspan_5,
		.table_grid.row_pc :where(.thead, .tbody) .tr :where(.th, .td).rowspan_5 {
			grid-row: span 5;
		}
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr .th,
		.table_grid.row_pc :where(.thead, .tbody) .tr .th {
			background: var(--table_th_bg_color);
			color: var(--table_th_txt);
		}
		.table_grid.row_tb_pc :where(.thead, .tbody) .tr .td,
		.table_grid.row_pc :where(.thead, .tbody) .tr .td {
			background: var(--table_td_bg_color);
			color: var(--table_td_txt_color);
		}
		.table_grid.row_tb_pc .tbody .tr .th,
		.table_grid.row_pc .tbody .tr .th {
			grid-column: 1;
			align-self: stretch;
		}
		.table_grid.row_tb_pc:has(.td:nth-child(2):last-child),
		.table_grid.row_pc:has(.td:nth-child(2):last-child) {
			grid-template-columns: repeat(2, auto);
		}
		.table_grid.row_tb_pc:has(.td:nth-child(3):last-child),
		.table_grid.row_pc:has(.td:nth-child(3):last-child) {
			grid-template-columns: repeat(3, auto);
		}
		.table_grid.row_tb_pc:has(.td:nth-child(4):last-child),
		.table_grid.row_pc:has(.td:nth-child(4):last-child) {
			grid-template-columns: repeat(4, auto);
		}
		.table_grid.row_tb_pc:has(.td:nth-child(5):last-child),
		.table_grid.row_pc:has(.td:nth-child(5):last-child) {
			grid-template-columns: repeat(5, auto);
		}
		.table_grid.row_tb_pc:has(.td:nth-child(6):last-child),
		.table_grid.row_pc:has(.td:nth-child(6):last-child) {
			grid-template-columns: repeat(6, auto);
		}
		.table_grid.row_tb_pc:has(.td:nth-child(7):last-child),
		.table_grid.row_pc:has(.td:nth-child(7):last-child) {
			grid-template-columns: repeat(7, auto);
		}
		.table_grid.row_tb_pc.layout_fixed:has(.th:nth-child(2):last-child),
		.table_grid.row_tb_pc.layout_fixed:has(.td:nth-child(2):last-child),
		.table_grid.row_pc.layout_fixed:has(.th:nth-child(2):last-child),
		.table_grid.row_pc.layout_fixed:has(.td:nth-child(2):last-child) {
			grid-template-columns: auto repeat(1, 1fr);
		}
		.table_grid.row_tb_pc.layout_fixed:has(.th:nth-child(3):last-child),
		.table_grid.row_tb_pc.layout_fixed:has(.td:nth-child(3):last-child),
		.table_grid.row_pc.layout_fixed:has(.th:nth-child(3):last-child),
		.table_grid.row_pc.layout_fixed:has(.td:nth-child(3):last-child) {
			grid-template-columns: auto repeat(2, 1fr);
		}
		.table_grid.row_tb_pc.layout_fixed:has(.th:nth-child(4):last-child),
		.table_grid.row_tb_pc.layout_fixed:has(.td:nth-child(4):last-child),
		.table_grid.row_pc.layout_fixed:has(.th:nth-child(4):last-child),
		.table_grid.row_pc.layout_fixed:has(.td:nth-child(4):last-child) {
			grid-template-columns: auto repeat(3, 1fr);
		}
		.table_grid.row_tb_pc.layout_fixed:has(.th:nth-child(5):last-child),
		.table_grid.row_tb_pc.layout_fixed:has(.td:nth-child(5):last-child),
		.table_grid.row_pc.layout_fixed:has(.th:nth-child(5):last-child),
		.table_grid.row_pc.layout_fixed:has(.td:nth-child(5):last-child) {
			grid-template-columns: auto repeat(4, 1fr);
		}
		.table_grid.row_tb_pc.layout_fixed:has(.th:nth-child(6):last-child),
		.table_grid.row_tb_pc.layout_fixed:has(.td:nth-child(6):last-child),
		.table_grid.row_pc.layout_fixed:has(.th:nth-child(6):last-child),
		.table_grid.row_pc.layout_fixed:has(.td:nth-child(6):last-child) {
			grid-template-columns: auto repeat(5, 1fr);
		}
		.table_grid.row_tb_pc.layout_fixed:has(.th:nth-child(7):last-child),
		.table_grid.row_tb_pc.layout_fixed:has(.td:nth-child(7):last-child),
		.table_grid.row_pc.layout_fixed:has(.th:nth-child(7):last-child),
		.table_grid.row_pc.layout_fixed:has(.td:nth-child(7):last-child) {
			grid-template-columns: auto repeat(6, 1fr);
		}
	}
	@media screen and (min-width: 1400px) {
		.table_grid.row_lg {
			border-right: 1px solid var(--table_border_color);
			border-bottom: 1px solid var(--table_border_color);
		}
		.table_grid.row_lg :where(.thead, .tbody) {
			display: contents;
		}
		.table_grid.row_lg :where(.thead, .tbody) .tr {
			display: contents;
		}
		.table_grid.row_lg :where(.thead, .tbody) .tr :where(.th, .td) {
			margin-bottom: 0;
			padding: min(1.5cqw, 20px) min(2cqw, 25px);
			border-top: 1px solid var(--table_border_color);
			border-left: 1px solid var(--table_border_color);
			min-width: 0;
			font-size: 1.3rem;
		}
	}
	@media screen and (min-width: 1400px) and (min-width: 960px) {
		.table_grid.row_lg :where(.thead, .tbody) .tr :where(.th, .td) {
			font-size: 1.5rem;
		}
	}
	@media screen and (min-width: 1400px) {
		.table_grid.row_lg :where(.thead, .tbody) .tr :where(.th, .td) > * {
			font-size: inherit;
		}
		.table_grid.row_lg :where(.thead, .tbody) .tr :where(.th, .td).colspan_2 {
			grid-column: span 2;
		}
		.table_grid.row_lg :where(.thead, .tbody) .tr :where(.th, .td).rowspan_2 {
			grid-row: span 2;
		}
		.table_grid.row_lg :where(.thead, .tbody) .tr :where(.th, .td).colspan_3 {
			grid-column: span 3;
		}
		.table_grid.row_lg :where(.thead, .tbody) .tr :where(.th, .td).rowspan_3 {
			grid-row: span 3;
		}
		.table_grid.row_lg :where(.thead, .tbody) .tr :where(.th, .td).colspan_4 {
			grid-column: span 4;
		}
		.table_grid.row_lg :where(.thead, .tbody) .tr :where(.th, .td).rowspan_4 {
			grid-row: span 4;
		}
		.table_grid.row_lg :where(.thead, .tbody) .tr :where(.th, .td).colspan_5 {
			grid-column: span 5;
		}
		.table_grid.row_lg :where(.thead, .tbody) .tr :where(.th, .td).rowspan_5 {
			grid-row: span 5;
		}
		.table_grid.row_lg :where(.thead, .tbody) .tr .th {
			background: var(--table_th_bg_color);
			color: var(--table_th_txt);
		}
		.table_grid.row_lg :where(.thead, .tbody) .tr .td {
			background: var(--table_td_bg_color);
			color: var(--table_td_txt_color);
		}
		.table_grid.row_lg .tbody .tr .th {
			grid-column: 1;
			align-self: stretch;
		}
		.table_grid.row_lg:has(.td:nth-child(2):last-child) {
			grid-template-columns: repeat(2, auto);
		}
		.table_grid.row_lg:has(.td:nth-child(3):last-child) {
			grid-template-columns: repeat(3, auto);
		}
		.table_grid.row_lg:has(.td:nth-child(4):last-child) {
			grid-template-columns: repeat(4, auto);
		}
		.table_grid.row_lg:has(.td:nth-child(5):last-child) {
			grid-template-columns: repeat(5, auto);
		}
		.table_grid.row_lg:has(.td:nth-child(6):last-child) {
			grid-template-columns: repeat(6, auto);
		}
		.table_grid.row_lg:has(.td:nth-child(7):last-child) {
			grid-template-columns: repeat(7, auto);
		}
		.table_grid.row_lg.layout_fixed:has(.th:nth-child(2):last-child),
		.table_grid.row_lg.layout_fixed:has(.td:nth-child(2):last-child) {
			grid-template-columns: auto repeat(1, 1fr);
		}
		.table_grid.row_lg.layout_fixed:has(.th:nth-child(3):last-child),
		.table_grid.row_lg.layout_fixed:has(.td:nth-child(3):last-child) {
			grid-template-columns: auto repeat(2, 1fr);
		}
		.table_grid.row_lg.layout_fixed:has(.th:nth-child(4):last-child),
		.table_grid.row_lg.layout_fixed:has(.td:nth-child(4):last-child) {
			grid-template-columns: auto repeat(3, 1fr);
		}
		.table_grid.row_lg.layout_fixed:has(.th:nth-child(5):last-child),
		.table_grid.row_lg.layout_fixed:has(.td:nth-child(5):last-child) {
			grid-template-columns: auto repeat(4, 1fr);
		}
		.table_grid.row_lg.layout_fixed:has(.th:nth-child(6):last-child),
		.table_grid.row_lg.layout_fixed:has(.td:nth-child(6):last-child) {
			grid-template-columns: auto repeat(5, 1fr);
		}
		.table_grid.row_lg.layout_fixed:has(.th:nth-child(7):last-child),
		.table_grid.row_lg.layout_fixed:has(.td:nth-child(7):last-child) {
			grid-template-columns: auto repeat(6, 1fr);
		}
	}
}
@layer variable {
	:root {
		--icon_color: var(--icon_color_base, var(--color_theme_base));
		--icon_size: 1em;
		--icon_gap: 0.5em;
		--icon_image: url(/ec/images/event/20th/lib/icon/circle.svg);
	}
	.icon_angle_double_down {
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_double_down.svg);
	}
	.icon_angle_double_left {
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_double_left.svg);
	}
	.icon_angle_double_right {
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_double_right.svg);
	}
	.icon_angle_down {
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_down.svg);
	}
	.icon_angle_down_circle {
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_down_circle.svg);
	}
	.icon_angle_down_circle_line {
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_down_circle_line.svg);
	}
	.icon_angle_left {
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_left.svg);
	}
	.icon_angle_left_circle {
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_left_circle.svg);
	}
	.icon_angle_left_circle_line {
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_left_circle_line.svg);
	}
	.icon_angle_right {
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_right.svg);
	}
	.icon_angle_right_circle {
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_right_circle.svg);
	}
	.icon_angle_right_circle_line {
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_right_circle_line.svg);
	}
	.icon_angle_up {
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_up.svg);
	}
	.icon_angle_up_circle {
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_up_circle.svg);
	}
	.icon_angle_up_circle_line {
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_up_circle_line.svg);
	}
	.icon_arrow_down {
		--icon_image: url(/ec/images/event/20th/lib/icon/arrow_down.svg);
	}
	.icon_arrow_left {
		--icon_image: url(/ec/images/event/20th/lib/icon/arrow_left.svg);
	}
	.icon_arrow_right {
		--icon_image: url(/ec/images/event/20th/lib/icon/arrow_right.svg);
	}
	.icon_arrow_up {
		--icon_image: url(/ec/images/event/20th/lib/icon/arrow_up.svg);
	}
	.icon_car {
		--icon_image: url(/ec/images/event/20th/lib/icon/car.svg);
	}
	.icon_caret_down {
		--icon_image: url(/ec/images/event/20th/lib/icon/caret_down.svg);
	}
	.icon_caret_left {
		--icon_image: url(/ec/images/event/20th/lib/icon/caret_left.svg);
	}
	.icon_caret_right {
		--icon_image: url(/ec/images/event/20th/lib/icon/caret_right.svg);
	}
	.icon_caret_up {
		--icon_image: url(/ec/images/event/20th/lib/icon/caret_up.svg);
	}
	.icon_cart {
		--icon_image: url(/ec/images/event/20th/lib/icon/cart.svg);
	}
	.icon_change {
		--icon_image: url(/ec/images/event/20th/lib/icon/change.svg);
	}
	.icon_change_circle {
		--icon_image: url(/ec/images/event/20th/lib/icon/change_circle.svg);
	}
	.icon_check {
		--icon_image: url(/ec/images/event/20th/lib/icon/check.svg);
	}
	.icon_circle {
		--icon_image: url(/ec/images/event/20th/lib/icon/circle.svg);
	}
	.icon_circle_line {
		--icon_image: url(/ec/images/event/20th/lib/icon/circle_line.svg);
	}
	.icon_close {
		--icon_image: url(/ec/images/event/20th/lib/icon/close.svg);
	}
	.icon_copy {
		--icon_image: url(/ec/images/event/20th/lib/icon/copy.svg);
	}
	.icon_date {
		--icon_image: url(/ec/images/event/20th/lib/icon/date.svg);
	}
	.icon_delete {
		--icon_image: url(/ec/images/event/20th/lib/icon/delete.svg);
	}
	.icon_dot {
		--icon_image: url(/ec/images/event/20th/lib/icon/dot.svg);
	}
	.icon_dots {
		--icon_image: url(/ec/images/event/20th/lib/icon/dots.svg);
	}
	.icon_download {
		--icon_image: url(/ec/images/event/20th/lib/icon/download.svg);
	}
	.icon_edit {
		--icon_image: url(/ec/images/event/20th/lib/icon/edit.svg);
	}
	.icon_exclamation {
		--icon_image: url(/ec/images/event/20th/lib/icon/exclamation.svg);
	}
	.icon_eye {
		--icon_image: url(/ec/images/event/20th/lib/icon/eye.svg);
	}
	.icon_eye_close {
		--icon_image: url(/ec/images/event/20th/lib/icon/eye_close.svg);
	}
	.icon_favorite {
		--icon_image: url(/ec/images/event/20th/lib/icon/favorite.svg);
	}
	.icon_fax {
		--icon_image: url(/ec/images/event/20th/lib/icon/fax.svg);
	}
	.icon_file {
		--icon_image: url(/ec/images/event/20th/lib/icon/file.svg);
	}
	.icon_file_blank {
		--icon_image: url(/ec/images/event/20th/lib/icon/file_blank.svg);
	}
	.icon_folder {
		--icon_image: url(/ec/images/event/20th/lib/icon/folder.svg);
	}
	.icon_grip {
		--icon_image: url(/ec/images/event/20th/lib/icon/grip.svg);
	}
	.icon_home {
		--icon_image: url(/ec/images/event/20th/lib/icon/home.svg);
	}
	.icon_info_circle {
		--icon_image: url(/ec/images/event/20th/lib/icon/info_circle.svg);
	}
	.icon_link_blank {
		--icon_image: url(/ec/images/event/20th/lib/icon/link_blank.svg);
	}
	.icon_list {
		--icon_image: url(/ec/images/event/20th/lib/icon/list.svg);
	}
	.icon_lock {
		--icon_image: url(/ec/images/event/20th/lib/icon/lock.svg);
	}
	.icon_lock_open {
		--icon_image: url(/ec/images/event/20th/lib/icon/lock_open.svg);
	}
	.icon_mail {
		--icon_image: url(/ec/images/event/20th/lib/icon/mail.svg);
	}
	.icon_map {
		--icon_image: url(/ec/images/event/20th/lib/icon/map.svg);
	}
	.icon_message {
		--icon_image: url(/ec/images/event/20th/lib/icon/message.svg);
	}
	.icon_message_fill {
		--icon_image: url(/ec/images/event/20th/lib/icon/message_fill.svg);
	}
	.icon_minus {
		--icon_image: url(/ec/images/event/20th/lib/icon/minus.svg);
	}
	.icon_minus_circle {
		--icon_image: url(/ec/images/event/20th/lib/icon/minus_circle.svg);
	}
	.icon_modal {
		--icon_image: url(/ec/images/event/20th/lib/icon/modal.svg);
	}
	.icon_pagetop {
		--icon_image: url(/ec/images/event/20th/lib/icon/pagetop.svg);
	}
	.icon_play {
		--icon_image: url(/ec/images/event/20th/lib/icon/play.svg);
	}
	.icon_plus {
		--icon_image: url(/ec/images/event/20th/lib/icon/plus.svg);
	}
	.icon_plus_circle {
		--icon_image: url(/ec/images/event/20th/lib/icon/plus_circle.svg);
	}
	.icon_question {
		--icon_image: url(/ec/images/event/20th/lib/icon/question.svg);
	}
	.icon_search {
		--icon_image: url(/ec/images/event/20th/lib/icon/search.svg);
	}
	.icon_tel {
		--icon_image: url(/ec/images/event/20th/lib/icon/tel.svg);
	}
	.icon_train {
		--icon_image: url(/ec/images/event/20th/lib/icon/train.svg);
	}
	.icon_user {
		--icon_image: url(/ec/images/event/20th/lib/icon/user.svg);
	}
	.icon_warning {
		--icon_image: url(/ec/images/event/20th/lib/icon/warning.svg);
	}
	.icon_excel {
		--icon_image: url(/ec/images/event/20th/lib/icon/brand/excel.svg);
	}
	.icon_facebook {
		--icon_image: url(/ec/images/event/20th/lib/icon/brand/facebook.svg);
	}
	.icon_facebook_square {
		--icon_image: url(/ec/images/event/20th/lib/icon/brand/facebook_square.svg);
	}
	.icon_facebook_circle {
		--icon_image: url(/ec/images/event/20th/lib/icon/brand/facebook_circle.svg);
	}
	.icon_freedial {
		--icon_image: url(/ec/images/event/20th/lib/icon/brand/freedial.svg);
	}
	.icon_illustrator {
		--icon_image: url(/ec/images/event/20th/lib/icon/brand/illustrator.svg);
	}
	.icon_instagram {
		--icon_image: url(/ec/images/event/20th/lib/icon/brand/instagram.svg);
	}
	.icon_line {
		--icon_image: url(/ec/images/event/20th/lib/icon/brand/line.svg);
	}
	.icon_line_square {
		--icon_image: url(/ec/images/event/20th/lib/icon/brand/line_square.svg);
	}
	.icon_pdf {
		--icon_image: url(/ec/images/event/20th/lib/icon/brand/pdf.svg);
	}
	.icon_photoshop {
		--icon_image: url(/ec/images/event/20th/lib/icon/brand/photoshop.svg);
	}
	.icon_twitter {
		--icon_image: url(/ec/images/event/20th/lib/icon/brand/twitter.svg);
	}
	.icon_twitter_square {
		--icon_image: url(/ec/images/event/20th/lib/icon/brand/twitter_square.svg);
	}
	.icon_twitterx {
		--icon_image: url(/ec/images/event/20th/lib/icon/brand/twitterx.svg);
	}
	.icon_word {
		--icon_image: url(/ec/images/event/20th/lib/icon/brand/word.svg);
	}
	.icon_wordpress {
		--icon_image: url(/ec/images/event/20th/lib/icon/brand/wordpress.svg);
	}
	.icon_youtube {
		--icon_image: url(/ec/images/event/20th/lib/icon/brand/youtube.svg);
	}
	.icon_tiktok {
		--icon_image: url(/ec/images/event/20th/lib/icon/brand/tiktok.svg);
	}
	.size_12 {
		--icon_size: 12px;
	}
	.size_14 {
		--icon_size: 14px;
	}
	.size_18 {
		--icon_size: 18px;
	}
	.size_24 {
		--icon_size: 24px;
	}
	.size_36 {
		--icon_size: 36px;
	}
	[class*="icon_"].size_12 {
		--icon_size: 12px;
	}
	[class*="icon_"].size_14 {
		--icon_size: 14px;
	}
	[class*="icon_"].size_18 {
		--icon_size: 18px;
	}
	[class*="icon_"].size_24 {
		--icon_size: 24px;
	}
	[class*="icon_"].size_36 {
		--icon_size: 36px;
	}
}
@layer lib {
	.mixin_block {
		display: inline-block;
		margin-bottom: 5px;
		padding: 5px 15px;
		border: 1px solid #ccc;
		background-color: #eee;
		--icon_image: url(/ec/images/event/20th/lib/icon/change.svg);
		--icon_color: green;
		--icon_size: 20px;
		--lr_p: 15px;
		position: relative;
		padding-left: calc(var(--lr_p) + var(--icon_size) + var(--icon_gap));
	}
	.mixin_block::before {
		content: "";
		position: absolute;
		top: 50%;
		left: var(--lr_p);
		margin: auto;
		transform: translateY(-50%);
		display: block;
		width: var(--icon_size);
		aspect-ratio: 1/1;
		background-color: var(--icon_color);
		-webkit-mask: var(--icon_image) no-repeat center/contain;
		mask: var(--icon_image) no-repeat center/contain;
	}
	.mixin_inline {
		display: inline-block;
		--icon_image: url(/ec/images/event/20th/lib/icon/change.svg);
		--icon_color: red;
		--icon_size: 20px;
		--lr_p: 0;
		position: relative;
		padding-right: calc(var(--icon_size) + var(--icon_gap));
	}
	.mixin_inline::after {
		content: "";
		right: 0;
		margin-left: var(--icon_gap);
		margin: auto;
		transform: translateY(-50%);
		display: block;
		width: var(--icon_size);
		aspect-ratio: 1/1;
		background-color: var(--icon_color);
		-webkit-mask: var(--icon_image) no-repeat center/contain;
		mask: var(--icon_image) no-repeat center/contain;
	}
	.mixin_self {
		--icon_image: url(/ec/images/event/20th/lib/icon/brand/instagram.svg);
		--icon_color: original;
		--icon_size: 50px;
		--lr_p: 0;
		position: relative;
		display: block;
		margin-bottom: 5px;
		border: 1px solid #ccc;
		width: 100px;
		height: 100px;
	}
	.mixin_self::before {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		left: 0;
		margin: auto;
		transform: translateY(-50%);
		display: block;
		width: var(--icon_size);
		aspect-ratio: 1/1;
		background: var(--icon_image) no-repeat center/contain;
	}
	.mixin_self span {
		display: none;
	}
	.mixin_icon {
		--icon_image: url(/ec/images/event/20th/lib/icon/change.svg);
		--icon_color: black;
		--icon_size: 30px;
		--lr_p: 0;
		position: relative;
		display: inline-block;
		margin-bottom: 5px;
		border: 1px solid #ccc;
	}
	.mixin_icon::before {
		content: "";
		display: block;
		width: var(--icon_size);
		aspect-ratio: 1/1;
		background-color: var(--icon_color);
		-webkit-mask: var(--icon_image) no-repeat center/contain;
		mask: var(--icon_image) no-repeat center/contain;
	}
	[class*="icon_"]:where(:not(.btn, .btn_icon, .btn_img, .block_icon, .list_icon, .contents, .container, .modal_overlay, ul))::before,
	[class*="icon_"]:where(:not(.btn, .btn_icon, .btn_img, .block_icon, .list_icon, .contents, .container, .modal_overlay, ul))::after {
		width: var(--icon_size);
		aspect-ratio: 1/1;
		background: var(--icon_color);
		font-size: inherit;
		-webkit-mask: var(--icon_image) no-repeat center/contain;
		mask: var(--icon_image) no-repeat center/contain;
	}
	[class*="icon_"]:where(:not(.btn, .btn_icon, .btn_img, .block_icon, .list_icon, .contents, .container, .modal_overlay, ul)):where(:not(.after)),
	[class*="icon_"]:where(:not(.btn, .btn_icon, .btn_img, .block_icon, .list_icon, .contents, .container, .modal_overlay, ul)).after {
		position: relative;
	}
	[class*="icon_"]:where(:not(.btn, .btn_icon, .btn_img, .block_icon, .list_icon, .contents, .container, .modal_overlay, ul)):where(:not(.after))::before,
	[class*="icon_"].after:where(:not(.btn, .btn_icon, .btn_img, .block_icon, .list_icon, .contents, .container, .modal_overlay, ul))::before {
		content: "";
		position: absolute;
		top: 0;
		display: block;
		margin: 0;
		translate: 0 calc((1lh - var(--icon_size)) / 2);
	}
	[class*="icon_"]:where(:not(.btn, .btn_icon, .btn_img, .block_icon, .list_icon, .contents, .container, .modal_overlay, ul)):where(:not(.after)) {
		padding-left: calc(var(--icon_size) + var(--icon_gap));
	}
	[class*="icon_"]:where(:not(.btn, .btn_icon, .btn_img, .block_icon, .list_icon, .contents, .container, .modal_overlay, ul)):where(:not(.after))::before {
		left: 0;
	}
	[class*="icon_"]:where(:not(.btn, .btn_icon, .btn_img, .block_icon, .list_icon, .contents, .container, .modal_overlay, ul)).after {
		padding-right: calc(var(--icon_size) + var(--icon_gap));
	}
	[class*="icon_"].after:where(:not(.btn, .btn_icon, .btn_img, .block_icon, .list_icon, .contents, .container, .modal_overlay, ul))::before {
		right: 0;
	}
	[class*="icon_"].original::before,
	[class*="icon_"].original::after {
		background-image: var(--icon_image);
	}
	[class*="icon_"]:where(:not(.btn, .btn_icon, .btn_img, .block_icon, .list_icon, .contents, .container, .modal_overlay, ul)):where(li)::before {
		top: 50%;
		translate: 0 -50%;
	}
	.block_icon {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		width: var(--icon_size);
		aspect-ratio: 1/1;
		font-size: 0 !important;
		letter-spacing: 0;
	}
	.block_icon::before {
		content: "";
		display: block;
		width: 100%;
		aspect-ratio: 1/1;
		background: var(--icon_color);
		-webkit-mask: var(--icon_image) no-repeat center/contain;
		mask: var(--icon_image) no-repeat center/contain;
	}
	.block_icon.original::before {
		background: var(--icon_image) no-repeat center/contain;
		-webkit-mask: none;
		mask: none;
	}
	.icon_kome::before {
		content: "※";
		height: 1lh;
		aspect-ratio: auto;
		font-size: var(--icon_size);
		color: rgba(0, 0, 0, 0);
		-webkit-mask: none;
		mask: none;
		-webkit-background-clip: text;
		background-clip: text;
		translate: none;
	}
	.gnav_list.sample li a {
		display: flex !important;
		align-items: center;
		justify-content: center;
		height: 60px;
		background-color: #fff;
		transition: all 0.4s;
	}
	.gnav_list.sample li a:hover {
		background-color: #eee;
	}
	.gnav_list.sample li .gnav_icon::before {
		content: "";
		display: block;
		margin-right: 5px;
		width: 26px;
		aspect-ratio: 1/1;
		background: var(--icon_color);
		-webkit-mask: var(--icon_image) no-repeat center/contain;
		mask: var(--icon_image) no-repeat center/contain;
	}
	.gnav_list.sample li .gnav_icon.favorite {
		--icon_image: url(/ec/images/event/20th/lib/icon/favorite.svg);
	}
	.gnav_list.sample li .gnav_icon.cart {
		--icon_image: url(/ec/images/event/20th/lib/icon/cart.svg);
	}
	.gnav_list.sample li .gnav_icon.mypage {
		--icon_image: url(/ec/images/event/20th/lib/icon/user.svg);
	}
	.gnav_list.sample li .gnav_icon.logout {
		--icon_image: url(/ec/images/event/20th/lib/icon/lock_open.svg);
	}
}
@layer lib {
	.modal_handle {
		cursor: pointer;
	}
	.modal_icon:hover::before {
		background: rgba(from var(--color_theme_base) r g b/0.5);
	}
	.contents .modal_target {
		container-type: inline-size;
		display: none;
	}
	.modal_overlay.show {
		opacity: 1;
	}
	.modal_overlay.show,
	.modal_overlay.show * {
		pointer-events: auto;
	}
	.modal_overlay {
		position: fixed;
		top: var(--wp-admin--admin-bar--height, 0px);
		left: 0;
		z-index: 100;
		display: block;
		width: 100vw;
		height: calc(100dvh - 0.5px);
		opacity: 0;
		transition: opacity 0.7s;
	}
	.modal_overlay,
	.modal_overlay * {
		pointer-events: none;
	}
	.modal_overlay .modal_bg {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background: rgba(from #000 r g b/0.7);
		cursor: pointer;
	}
	.modal_overlay .modal_wrap {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		padding: 0;
		width: -moz-fit-content;
		width: fit-content;
		max-width: min(90%, var(--wrapper_width_large));
		height: -moz-fit-content;
		height: fit-content;
		background-color: #fff;
		box-shadow: 0 1px 10px #000;
	}
	.modal_overlay .modal_wrap .modal {
		max-height: 90vh;
		overflow-y: auto;
	}
	.modal_overlay .modal_wrap .modal > .modal_target {
		display: block;
		padding: clamp(15px, 15px + 15 * (100vw - 400px)/1000, 30px);
	}
	.modal_overlay .modal_wrap .modal > .modal_target.no_padding {
		padding: 0;
	}
	.modal_overlay .modal_wrap:has(.youtube_wrap) {
		width: auto;
	}
	.modal_overlay .modal_wrap:has(.modal_target.wide) {
		width: var(--wrapper_default);
	}
	.modal_overlay .modal_wrap:has(.modal_target.full) {
		width: 100%;
	}
	.modal_overlay .modal_wrap:has(.modal_target.full) .modal_target {
		padding: 0;
	}
	.modal_wrap:has(.pinchzoom) {
		position: relative;
		display: flex;
		flex-direction: column;
		width: 100%;
		max-width: none;
		height: 100dvh;
		overflow: hidden;
		background: none;
		box-shadow: none;
	}
	.modal_wrap:has(.pinchzoom) .modal {
		flex-grow: 1;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		max-height: 100%;
		overflow: visible;
	}
	.modal_wrap:has(.pinchzoom) .modal .modal_target {
		flex-grow: 1;
		display: flex;
		flex-direction: column;
		row-gap: var(--cont_margin);
		align-items: center;
		justify-content: center;
		padding: 0;
		width: min(100%, var(--wrapper_width_large));
		max-height: 80vh;
	}
	@media print, screen and (min-width: 600px) {
		.modal_wrap:has(.pinchzoom) .modal .modal_target {
			width: min(90%, var(--wrapper_width_large));
		}
	}
	.modal_wrap:has(.pinchzoom) .modal .modal_target .pinchzoom {
		display: flex;
		flex-direction: column;
		width: 100%;
		height: 100%;
		aspect-ratio: auto;
		overflow: visible;
		background: none;
	}
	.modal_wrap:has(.pinchzoom) .modal .modal_target .pinchzoom img {
		width: 100%;
		height: 100%;
		-o-object-fit: contain;
		object-fit: contain;
	}
	.modal_wrap:has(.pinchzoom) .modal .modal_target .caption_wrap {
		position: relative;
		z-index: 1;
		margin-inline: auto;
		width: min(90vw, 100%);
		font-size: 1.4rem;
	}
}
@layer lib {
	.tooltip_handle {
		position: relative;
		display: inline-block;
		border-bottom: 1px dashed #666;
		cursor: pointer;
	}
	.tooltip_handle .tooltip {
		position: absolute;
		bottom: 100%;
		display: block;
		padding: 10px;
		border-radius: 3px;
		width: -moz-fit-content;
		width: fit-content;
		max-width: 200px;
		background: #222;
		box-shadow: 0 2px 4px rgba(from black r g b/0.4);
		opacity: 0;
		font-size: 1.1rem;
		line-height: 1.2;
		color: #fff;
		white-space: nowrap;
		pointer-events: none;
		transition: 0.2s;
		transform: translateY(-5px);
	}
	.tooltip_handle .tooltip::after {
		content: "";
		position: absolute;
		top: 100%;
		left: 20px;
		margin: auto;
		width: 10px;
		aspect-ratio: 1/1;
		clip-path: polygon(50% 70%, 100% 0, 0 0);
		background: #222;
		transform: translateY(-1px);
	}
	.tooltip_handle .tooltip.show {
		opacity: 1;
		pointer-events: all;
	}
	.tooltip_handle.block_icon {
		border-bottom: none;
	}
	.tooltip_bottom .tooltip {
		top: 100%;
		bottom: auto;
		transform: translateY(10px);
	}
	.tooltip_bottom .tooltip::after {
		top: auto;
		bottom: 100%;
		transform: scale(1, -1);
	}
	.tooltip_right .tooltip,
	.tooltip_left .tooltip {
		top: 50%;
		bottom: auto;
	}
	.tooltip_right .tooltip::after,
	.tooltip_left .tooltip::after {
		top: 0;
		bottom: 0;
		clip-path: polygon(30% 50%, 100% 100%, 100% 0);
	}
	.tooltip_right .tooltip {
		left: 100%;
		transform: translate(10px, -50%);
	}
	.tooltip_right .tooltip::after {
		right: 100%;
		left: auto;
		transform: translateX(1px);
	}
	.tooltip_left .tooltip {
		right: 100%;
		transform: translate(-10px, -50%);
	}
	.tooltip_left .tooltip::after {
		right: auto;
		left: 100%;
		transform: translateX(-1px) scale(-1, 1);
	}
}
@layer lib {
	.calendar_header {
		position: relative;
		display: flex;
		gap: 20px;
		align-items: center;
		justify-content: center;
		margin-bottom: 10px;
	}
	.calendar_header .btn_prev,
	.calendar_header .btn_next {
		display: block;
		border-radius: 10px;
		width: 20px;
		height: 20px;
		background-color: #000;
		cursor: pointer;
	}
	.calendar_header .btn_prev {
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_left.svg);
		--icon_color: white;
		--icon_size: 16px;
		--lr_p: 0;
		position: relative;
	}
	.calendar_header .btn_prev::before {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		left: 0;
		margin: auto;
		transform: translateY(-50%);
		display: block;
		width: var(--icon_size);
		aspect-ratio: 1/1;
		background-color: var(--icon_color);
		-webkit-mask: var(--icon_image) no-repeat center/contain;
		mask: var(--icon_image) no-repeat center/contain;
	}
	.calendar_header .btn_next {
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_right.svg);
		--icon_color: white;
		--icon_size: 16px;
		--lr_p: 0;
		position: relative;
	}
	.calendar_header .btn_next::before {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		left: 0;
		margin: auto;
		transform: translateY(-50%);
		display: block;
		width: var(--icon_size);
		aspect-ratio: 1/1;
		background-color: var(--icon_color);
		-webkit-mask: var(--icon_image) no-repeat center/contain;
		mask: var(--icon_image) no-repeat center/contain;
	}
	.calendar_header .btn_prev.disabled,
	.calendar_header .btn_next.disabled {
		opacity: 0.2;
		cursor: default;
	}
	.calendar_header .calendar_ttl {
		text-align: center;
		font-size: 92%;
		font-weight: bold;
		color: var(--txt_color_heading);
	}
	.calendar_table {
		border-top: 2px solid var(--table_border_color);
		border-bottom: 2px solid var(--table_border_color);
		width: 100%;
	}
	.calendar_table tr th,
	.calendar_table tr td {
		padding: 5px 0;
		text-align: center;
		font-size: 1.2rem;
		font-weight: bold;
		line-height: 2.2;
	}
	.calendar_table tr th p,
	.calendar_table tr td p {
		line-height: 2.2;
	}
	.calendar_table tr th a,
	.calendar_table tr td a {
		color: inherit;
	}
	.calendar_table tr th {
		color: var(--table_th_txt_color);
	}
	.calendar_table tr td {
		color: var(--table_td_txt_color);
	}
	.calendar_table tr.sunday th,
	.calendar_table tr.sunday td,
	.calendar_table tr th.sunday,
	.calendar_table tr td.sunday {
		color: var(--color_util_calendar_sunday);
	}
	.calendar_table tr.saturday th,
	.calendar_table tr.saturday td,
	.calendar_table th.saturday,
	.calendar_table td.saturday {
		color: var(--color_util_calendar_saturday);
	}
	.calendar_table tr.close th,
	.calendar_table tr.close td,
	.calendar_table th.close,
	.calendar_table td.close {
		color: var(--color_util_calendar_close);
	}
	.calendar_table tr.holiday th,
	.calendar_table tr.holiday td,
	.calendar_table th.holiday,
	.calendar_table td.holiday {
		color: var(--color_util_calendar_holiday);
	}
	.calendar_table tr.today th,
	.calendar_table tr.today td,
	.calendar_table th.today,
	.calendar_table td.today {
		background: #fee;
	}
	.calendar_table tr.past th,
	.calendar_table tr.past td,
	.calendar_table th.past,
	.calendar_table td.past {
		opacity: 0.4 !important;
	}
	.calendar_table.calendar_vertical tr th {
		width: 20%;
	}
	.calendar_table.calendar_vertical tr th,
	.calendar_table.calendar_vertical tr td {
		border-bottom: 1px solid var(--table_border_color);
	}
	.calendar_table.calendar_vertical tr th p,
	.calendar_table.calendar_vertical tr td p {
		line-height: 2.2;
	}
	.calendar_table.calendar_vertical tr:last-child th,
	.calendar_table.calendar_vertical tr:last-child td {
		border: none;
	}
	.calendar_column7 {
		table-layout: fixed;
	}
	.calendar_column7 tr th {
		text-align: center;
		font-weight: bold;
	}
	.check_calendar_table tbody tr td {
		padding: 2px;
		text-align: center;
		font-size: 1.2rem;
	}
	.check_calendar_table tbody tr td span {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 5px 10px;
		border: 1px solid var(--border_color_base);
		border-radius: 5px;
		font-weight: bold;
	}
	.check_calendar_table tbody tr td label {
		--icon_image: url(/ec/images/event/20th/lib/icon/check.svg);
		--icon_color: #fff;
		display: block;
		cursor: pointer;
	}
	.check_calendar_table tbody tr td label > input {
		display: none;
	}
	.check_calendar_table tbody tr td label span {
		background: rgba(0, 0, 0, 0);
		transition: 0.3s;
	}
	.check_calendar_table tbody tr td label span::before {
		content: "";
		position: absolute;
		top: 5px;
		left: 5px;
		display: block;
		width: var(--icon_size);
		aspect-ratio: 1/1;
		background: var(--icon_color);
		opacity: 0;
		-webkit-mask: var(--icon_image) no-repeat center/contain;
		mask: var(--icon_image) no-repeat center/contain;
		transition: 0.3s;
	}
	.check_calendar_table tbody tr td label:has(input:checked) span {
		background: #70c7c4;
	}
	.check_calendar_table tbody tr td label:has(input:checked) span::before {
		opacity: 1;
	}
	.check_calendar_table tbody tr td.past span,
	.check_calendar_table tbody tr td.close span,
	.check_calendar_table tbody tr td.holiday span,
	.check_calendar_table tbody tr td.sunday span,
	.check_calendar_table tbody tr td.close span {
		border: 1px dashed var(--color_util_calendar_close);
	}
	.calendars_weekly.slide_wrap > .slide_overflow_hidden > .slide_items > .slide_item {
		position: relative;
	}
	@media screen and (max-width: 599px) {
		.calendars_weekly.slide_wrap > .slide_overflow_hidden > .slide_items > .slide_item {
			width: 100%;
		}
	}
	@media print, screen and (min-width: 600px) {
		.calendars_weekly.slide_wrap > .slide_overflow_hidden > .slide_items > .slide_item {
			width: 50%;
		}
	}
}
@layer lib {
	.promo_wrap .promo.promo_fade .promo_item {
		animation-duration: 1s;
		animation-timing-function: linear;
		animation-fill-mode: forwards;
	}
	.promo_wrap .promo.promo_fade .promo_item.current {
		animation-name: promo_fade_show;
	}
	.promo_wrap .promo.promo_fade .promo_item:not(.current) {
		animation-name: promo_fade_hide;
	}
	@keyframes promo_fade_show {
		0% {
			z-index: 2;
			opacity: 0;
		}
		50% {
			z-index: 2;
			opacity: 1;
		}
		100% {
			z-index: 1;
			opacity: 1;
		}
	}
	@keyframes promo_fade_hide {
		0% {
			z-index: 1;
			opacity: 1;
		}
		50% {
			z-index: 1;
			opacity: 1;
		}
		100% {
			z-index: 0;
			opacity: 0;
		}
	}
	.promo_wrap .promo.promo_fade_zoom .promo_item {
		animation-duration: 4s;
		animation-timing-function: linear;
		animation-fill-mode: forwards;
	}
	.promo_wrap .promo.promo_fade_zoom .promo_item.current {
		animation-name: promo_fade_zoom_show;
	}
	.promo_wrap .promo.promo_fade_zoom .promo_item:not(.current) {
		animation-name: promo_fade_zoom_hide;
	}
	@keyframes promo_fade_zoom_show {
		0% {
			z-index: 2;
			opacity: 0;
			transform: scale(1);
		}
		25% {
			opacity: 1;
		}
		50% {
			z-index: 2;
		}
		100% {
			z-index: 1;
			opacity: 1;
			transform: scale(1.05);
		}
	}
	@keyframes promo_fade_zoom_hide {
		0% {
			z-index: 1;
			opacity: 1;
			transform: scale(1.05);
		}
		75% {
			opacity: 1;
		}
		100% {
			z-index: 0;
			opacity: 0;
			transform: scale(1.1);
		}
	}
	.promo_wrap .promo.promo_fade_zoom .promo_item.promo_01 {
		transform-origin: center;
	}
	.promo_wrap .promo.promo_fade_zoom .promo_item.promo_02 {
		transform-origin: top left;
	}
	.promo_wrap .promo.promo_fade_zoom .promo_item.promo_03 {
		transform-origin: bottom right;
	}
	.promo_wrap .promo.promo_slide .promo_item {
		animation-duration: 0.5s;
		animation-timing-function: linear;
		animation-fill-mode: forwards;
	}
	.promo_wrap .promo.promo_slide .promo_item.current {
		animation-name: promo_slide_show;
	}
	.promo_wrap .promo.promo_slide .promo_item:not(.current) {
		transform: translateX(-100%);
		animation-name: promo_slide_hide;
	}
	@keyframes promo_slide_show {
		0% {
			z-index: 2;
			transform: translateX(-100%);
		}
		99% {
			transform: translateX(0%);
		}
		100% {
			z-index: 1;
		}
	}
	@keyframes promo_slide_hide {
		0% {
			z-index: 1;
			transform: translateX(0%);
		}
		99% {
			transform: translateX(100%);
		}
		100% {
			z-index: 0;
		}
	}
	.promo_wrap .promo.promo_clip .promo_item {
		animation-duration: 0.5s;
		animation-timing-function: linear;
		animation-fill-mode: forwards;
	}
	.promo_wrap .promo.promo_clip .promo_item.current {
		animation-name: promo_clip_show;
	}
	.promo_wrap .promo.promo_clip .promo_item:not(.current) {
		clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
		animation-name: promo_clip_hide;
	}
	@keyframes promo_clip_show {
		0% {
			z-index: 2;
			clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
		}
		99% {
			clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
		}
		100% {
			z-index: 1;
		}
	}
	@keyframes promo_clip_hide {
		0% {
			z-index: 1;
			clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
		}
		99% {
			clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
		}
		100% {
			z-index: 0;
		}
	}
}
@layer lib {
	.flash_message {
		padding: 15px;
		border-left: var(--flashmessage-c-border) 10px solid;
		background-color: var(--flashmessage-c-bg);
	}
	.flash_message > * {
		color: var(--flashmessage-c-txt);
	}
	.flash_message > *::before {
		color: var(--flashmessage-c-txt);
	}
	.flash_message.info {
		--flashmessage-c-border: #9fb3c8;
		--flashmessage-c-bg: #eaeff6;
		--flashmessage-c-txt: #386ea5;
	}
	.flash_message.success {
		--flashmessage-c-border: #a1d6d8;
		--flashmessage-c-bg: #e5fbf6;
		--flashmessage-c-txt: #218e92;
	}
	.flash_message.warning {
		--flashmessage-c-border: #c00;
		--flashmessage-c-bg: #fcf5f5;
		--flashmessage-c-txt: #c22c1d;
	}
	.flash_message.info2 {
		--flashmessage-c-border: #fda;
		--flashmessage-c-bg: #fcfaf5;
		--flashmessage-c-txt: #fc9e4c;
	}
	.ux_info_wrap {
		padding: 10px;
		background-color: #000;
		text-align: center;
	}
	.ux_info_wrap * {
		font-size: 1.8rem;
		line-height: 1.2;
		color: #fff;
	}
	.ux_info_wrap .meta {
		font-size: 1.3rem;
	}
	.formula.result {
		padding: 15px;
		border-top: 1px solid var(--border_color_base);
		border-bottom: 1px solid var(--border_color_base);
	}
	.formula.result q {
		white-space: nowrap;
	}
	.formula.result q.n {
		font-size: 1.8rem;
		font-weight: bold;
	}
	@media print, screen and (min-width: 600px) {
		.formula.result q.n {
			font-size: 4rem;
		}
	}
	.formula.result q.u {
		font-size: 1.3rem;
		font-weight: normal;
	}
	.formula.result q.o {
		margin: 0 15px;
		font-size: 1.8rem;
		font-weight: bold;
	}
	@media print, screen and (min-width: 600px) {
		.formula.result q.o {
			font-size: 3rem;
		}
	}
	.formula.result q.m {
		font-size: 1.2rem;
		font-weight: normal;
	}
	.formula.process q {
		white-space: nowrap;
	}
	.formula.process q.n {
		font-size: 1.3rem;
		font-weight: bold;
	}
	.formula.process q.s {
		font-size: 1.3rem;
		color: var(--txt_color_light);
	}
	.formula.process q.o {
		font-size: 1.3rem;
		font-weight: bold;
	}
	.formula.process q.p {
		font-size: 1.3rem;
	}
	.formula.process q.p.point_01 {
		color: #0a887f;
	}
	.formula.process q.p.point_02 {
		color: #ff0045;
	}
	.fukidashi {
		--image_texts_imagesize: clamp(80px, 80px + 40 * (100vw - 400px) / 1000, 120px);
		--image_texts_gap: 20px;
		--fukidashi_bg_color: #fff;
		display: grid;
		grid-template-columns: var(--image_texts_imagesize) 1fr;
		grid-auto-flow: row dense;
		gap: 0 var(--image_texts_gap);
		justify-content: space-between;
	}
	.fukidashi > * {
		min-width: 0;
	}
	.fukidashi > .texts_item {
		position: relative;
		grid-column: 2;
		padding: clamp(10px, 10px + 10 * (100vw - 400px)/1000, 20px);
		border-radius: 6px;
		background: var(--fukidashi_bg_color, var(--bg_color_base));
	}
	@media screen and (min-width: 1400px) {
		.fukidashi > .texts_item {
			padding: 20px;
		}
	}
	.fukidashi > .texts_item::before {
		content: "";
		position: absolute;
		top: 20px;
		display: block;
		margin: auto;
		width: calc(var(--image_texts_gap) * 0.8);
		aspect-ratio: 1/1.5;
		background: var(--fukidashi_bg_color, var(--bg_color_base));
	}
	.fukidashi > .texts_item p {
		font-size: 1.4rem;
	}
	@media print, screen and (min-width: 960px) {
		.fukidashi > .texts_item p {
			font-size: 1.5rem;
		}
	}
	.fukidashi > .texts_item p {
		margin-bottom: 0.3em;
	}
	.fukidashi > .texts_item p:last-child {
		margin-bottom: 0;
	}
	.fukidashi > .image_item {
		grid-column: 1;
		width: var(--image_texts_imagesize);
		text-align: center;
		font-size: 1.2rem;
		line-height: 1.3;
	}
	.fukidashi > .image_item .object_fit {
		aspect-ratio: 1/1;
		overflow: hidden;
		background: rgba(0, 0, 0, 0) no-repeat center bottom/100%;
	}
	.fukidashi.fukidashi_left > .texts_item::before {
		left: calc(var(--image_texts_gap) * -0.8 + 1px);
		clip-path: polygon(0 51%, 100% 100%, 100% 0);
	}
	.fukidashi.fukidashi_right {
		grid-template-columns: 1fr var(--image_texts_imagesize);
	}
	.fukidashi.fukidashi_right > .texts_item {
		grid-column: 1;
	}
	.fukidashi.fukidashi_right > .texts_item::before {
		right: calc(var(--image_texts_gap) * -0.8 + 1px);
		clip-path: polygon(100% 50%, 0 100%, 0 0);
	}
	.fukidashi.fukidashi_right > .image_item {
		grid-column: 2;
	}
}
@layer component {
	.pager_wrap {
		--icon_size: 1.6rem;
		--btn_width: min(100%, 40px);
		--btn_pd_block: 0;
		--btn_pd_inline: 0;
		--btn_txt_size: 1.2rem;
		margin: 10px 0;
	}
	.pager_wrap ul {
		display: flex;
		flex-wrap: wrap;
		gap: 5px;
		justify-content: center;
	}
	.pager_wrap ul li {
		display: flex;
	}
	.pager_wrap ul li > * {
		--icon_color: var(--v_btn_color_icon);
		display: block;
		width: var(--btn_width);
		text-decoration: none;
		cursor: pointer;
		transition: none;
		--btn_primary_color_bg_hover: rgba(from var(--btn_color_base) 255 255 255);
		--btn_primary_color_txt_hover: var(--btn_color_base);
		flex-grow: 1;
		display: flex;
	}
	.pager_wrap ul li > * > * {
		position: relative;
		display: block;
		padding: var(--btn_pd_block) var(--btn_pd_inline);
		border: 1px solid var(--v_btn_color_border);
		border-radius: var(--btn_radius);
		background-color: var(--v_btn_color_bg);
		box-shadow: 0 1px 2px rgba(from black r g b/0.2);
		text-align: center;
		font-size: var(--btn_txt_size);
		font-weight: 400;
		color: var(--v_btn_color_txt);
		transition: var(--btn_transition);
	}
	@media print, screen and (min-width: 600px) {
		.pager_wrap ul li > * > * {
			box-shadow: none;
		}
	}
	.pager_wrap ul li > * > *::before,
	.pager_wrap ul li > * > *::after {
		background-color: var(--icon_color);
		transition: var(--btn_transition);
	}
	.pager_wrap ul li > * > * svg {
		display: block;
		fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
		transition: var(--btn_transition);
	}
	.pager_wrap ul li > * > * svg path {
		fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
		transition: fill var(--btn_transition);
	}
	.pager_wrap ul li > *:active > * {
		box-shadow: 0 1px 2px rgba(from black r g b/0.6);
	}
	.pager_wrap ul li > *.icon_arrow_right:hover > *::before {
		translate: 5px 0;
	}
	.pager_wrap ul li > *:where(:not(.bc_reverse)) {
		--v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
		--v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
		--v_btn_color_txt: var(--btn_color_txt, #fff);
		--v_btn_color_icon: var(--btn_color_icon, var(--btn_color_txt, #fff));
	}
	.pager_wrap ul li > *:where(:not(.bc_reverse)):hover {
		--v_btn_color_bg: var(--btn_primary_color_bg_hover, var(--btn_color_bg_hover));
		--v_btn_color_txt: var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover));
		--v_btn_color_icon: var(--btn_color_icon_hover, var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover)));
	}
	.pager_wrap ul li > *:where(.bc_reverse) {
		--v_btn_color_bg: var(--btn_color_bg_hover, #fff);
		--v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
		--v_btn_color_txt: var(--btn_color_base, var(--btn_color_txt_hover));
	}
	.pager_wrap ul li > *:where(.bc_reverse):hover {
		--v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
		--v_btn_color_txt: var(--btn_color_txt, #fff);
	}
	.pager_wrap ul li > * > * {
		flex-grow: 1;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 40px;
	}
	.pager_wrap ul li > * > .prev::before,
	.pager_wrap ul li > * > .next::before {
		content: "";
		display: block;
		width: var(--icon_size);
		aspect-ratio: 1/1.6;
		-webkit-mask: var(--icon_image) no-repeat center/contain;
		mask: var(--icon_image) no-repeat center/contain;
	}
	.pager_wrap ul li > * > .prev {
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_left.svg);
	}
	.pager_wrap ul li > * > .next {
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_right.svg);
	}
	.pager_wrap ul li > * > .next::before {
		order: 1;
	}
	.pager_wrap ul li > *.current {
		opacity: 0.3;
		pointer-events: none;
	}
	.pager_wrap ul li > *.dots {
		align-items: center;
		justify-content: center;
		border: none;
		box-shadow: none;
		text-align: center;
		font-size: 1.2rem;
		color: #000;
	}
	.pager_wrap ul li > *.disabled {
		opacity: 0.3;
	}
	.pager_wrap ul.pager_numbers li {
		flex: 1;
		max-width: 40px;
	}
	.pager_wrap ul.pager_numbers li > * > .prev,
	.pager_wrap ul.pager_numbers li > * > .next {
		--btn_txt_size: 0;
	}
	.pager_wrap ul.pager_next_back {
		--btn_width: auto;
		--btn_pd_inline: 10px;
	}
	.pagetop {
		position: fixed;
		right: 10px;
		bottom: 10px;
		z-index: 3;
		width: auto;
		opacity: 1;
	}
	.pagetop.disabled {
		opacity: 0;
		pointer-events: none;
	}
	.pagetop a {
		--btn_width: 40px;
		--btn_pd_block: 0;
		--btn_pd_inline: 0;
		--icon_color: var(--v_btn_color_icon);
		display: block;
		width: var(--btn_width);
		text-decoration: none;
		cursor: pointer;
		transition: none;
		--btn_primary_color_bg_hover: rgba(from var(--btn_color_base) 255 255 255);
		--btn_primary_color_txt_hover: var(--btn_color_base);
	}
	.pagetop a > * {
		position: relative;
		display: block;
		padding: var(--btn_pd_block) var(--btn_pd_inline);
		border: 1px solid var(--v_btn_color_border);
		border-radius: var(--btn_radius);
		background-color: var(--v_btn_color_bg);
		box-shadow: 0 1px 2px rgba(from black r g b/0.2);
		text-align: center;
		font-size: var(--btn_txt_size);
		font-weight: 400;
		color: var(--v_btn_color_txt);
		transition: var(--btn_transition);
	}
	@media print, screen and (min-width: 600px) {
		.pagetop a > * {
			box-shadow: none;
		}
	}
	.pagetop a > *::before,
	.pagetop a > *::after {
		background-color: var(--icon_color);
		transition: var(--btn_transition);
	}
	.pagetop a > * svg {
		display: block;
		fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
		transition: var(--btn_transition);
	}
	.pagetop a > * svg path {
		fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
		transition: fill var(--btn_transition);
	}
	.pagetop a:active > * {
		box-shadow: 0 1px 2px rgba(from black r g b/0.6);
	}
	.pagetop a.icon_arrow_right:hover > *::before {
		translate: 5px 0;
	}
	.pagetop a:where(:not(.bc_reverse)) {
		--v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
		--v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
		--v_btn_color_txt: var(--btn_color_txt, #fff);
		--v_btn_color_icon: var(--btn_color_icon, var(--btn_color_txt, #fff));
	}
	.pagetop a:where(:not(.bc_reverse)):hover {
		--v_btn_color_bg: var(--btn_primary_color_bg_hover, var(--btn_color_bg_hover));
		--v_btn_color_txt: var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover));
		--v_btn_color_icon: var(--btn_color_icon_hover, var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover)));
	}
	.pagetop a:where(.bc_reverse) {
		--v_btn_color_bg: var(--btn_color_bg_hover, #fff);
		--v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
		--v_btn_color_txt: var(--btn_color_base, var(--btn_color_txt_hover));
	}
	.pagetop a:where(.bc_reverse):hover {
		--v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
		--v_btn_color_txt: var(--btn_color_txt, #fff);
	}
	.pagetop a > * {
		display: flex;
		align-items: center;
		justify-content: center;
		height: -moz-fit-content;
		height: fit-content;
		aspect-ratio: 1/1;
	}
	.btn.btn_hoverline {
		position: relative;
		transition: var(--btn_transition);
	}
	.btn.btn_hoverline > * {
		position: relative;
		z-index: 2;
		border: none;
		background: none;
	}
	.btn.btn_hoverline::before,
	.btn.btn_hoverline::after {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 1;
		display: block;
		transition: var(--btn_transition);
	}
	.btn.btn_hoverline::before {
		border-top: 1px solid var(--v_btn_color_border);
		border-bottom: 1px solid var(--v_btn_color_border);
		opacity: 0;
		transform: scale(0.1, 1);
	}
	.btn.btn_hoverline::after {
		background-color: var(--v_btn_color_bg);
	}
	.btn.btn_hoverline:hover > * {
		background: none;
		letter-spacing: 0.1em;
	}
	.btn.btn_hoverline:hover::before {
		opacity: 1;
		transform: scale(1, 1);
	}
	.btn.btn_hoverline:hover::after {
		opacity: 0;
		transform: scale(0.1, 1);
	}
	.btn.btn_zoomout {
		--btn_transition: 0.5s;
		position: relative;
		transition: var(--btn_transition);
	}
	.btn.btn_zoomout > * {
		position: relative;
		z-index: 2;
		border: none;
		background: none;
	}
	.btn.btn_zoomout::before,
	.btn.btn_zoomout::after {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 1;
		display: block;
		transition: var(--btn_transition);
	}
	.btn.btn_zoomout::before {
		background-color: var(--v_btn_color_bg);
		opacity: 1;
	}
	.btn.btn_zoomout::after {
		border: 1px solid var(--v_btn_color_border);
		opacity: 0;
		transform: scale(1.2);
	}
	.btn.btn_zoomout:hover > * {
		background: none;
	}
	.btn.btn_zoomout:hover::before {
		opacity: 0;
		transform: scale(0.5);
	}
	.btn.btn_zoomout:hover::after {
		opacity: 0.5;
		transform: scale(1);
	}
	.btn.btn_zoomin {
		--btn_transition: 0.5s;
		position: relative;
		transition: var(--btn_transition);
	}
	.btn.btn_zoomin > * {
		position: relative;
		z-index: 2;
		border: none;
		background: none;
	}
	.btn.btn_zoomin::before,
	.btn.btn_zoomin::after {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 1;
		display: block;
		transition: var(--btn_transition);
	}
	.btn.btn_zoomin::before {
		border: 1px solid var(--v_btn_color_border);
		opacity: 0;
		transform: scale(0.5);
	}
	.btn.btn_zoomin::after {
		background-color: var(--v_btn_color_bg);
		transform: scale(1);
	}
	.btn.btn_zoomin:hover > * {
		background: none;
	}
	.btn.btn_zoomin:hover::before {
		opacity: 1;
		transform: scale(1);
	}
	.btn.btn_zoomin:hover::after {
		opacity: 0;
		transform: scale(1.2);
	}
	.btn.bggrow {
		--btn_transition: 0.5s;
		position: relative;
		border: 1px solid var(--btn_color_border);
		border-radius: var(--btn_radius);
		overflow: hidden;
		background-color: var(--v_btn_color_bg);
		transition: var(--btn_transition);
	}
	.btn.bggrow > * {
		position: relative;
		z-index: 2;
		border: none;
		border-radius: 0;
		background: none;
	}
	.btn.bggrow::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 1;
		display: block;
		background-color: var(--v_btn_color_bg_hover);
		opacity: 0;
		transition: var(--btn_transition);
	}
	.btn.bggrow:hover::before {
		opacity: 1;
	}
	.btn.bggrow.to_right::before {
		margin-right: auto;
		width: 0;
	}
	.btn.bggrow.to_right:hover::before {
		width: 100%;
	}
	.btn.bggrow.to_left::before {
		margin-left: auto;
		width: 0;
	}
	.btn.bggrow.to_left:hover::before {
		width: 100%;
	}
	.btn.bggrow.to_inline::before {
		margin-inline: auto;
		width: 0;
	}
	.btn.bggrow.to_inline:hover::before {
		width: 100%;
	}
	.btn.bggrow.to_block::before {
		margin-block: auto;
		height: 0;
	}
	.btn.bggrow.to_block:hover::before {
		height: 100%;
	}
}
@layer lib {
}
@layer lib {
	.btn {
		cursor: pointer;
		--icon_color: var(--v_btn_color_icon);
		display: block;
		width: var(--btn_width);
		text-decoration: none;
		cursor: pointer;
		transition: none;
		--btn_primary_color_bg_hover: rgba(from var(--btn_color_base) 255 255 255);
		--btn_primary_color_txt_hover: var(--btn_color_base);
	}
	.btn > * {
		position: relative;
		display: block;
		padding: var(--btn_pd_block) var(--btn_pd_inline);
		border: 1px solid var(--v_btn_color_border);
		border-radius: var(--btn_radius);
		background-color: var(--v_btn_color_bg);
		box-shadow: 0 1px 2px rgba(from black r g b/0.2);
		text-align: center;
		font-size: var(--btn_txt_size);
		font-weight: 400;
		color: var(--v_btn_color_txt);
		transition: var(--btn_transition);
	}
	@media print, screen and (min-width: 600px) {
		.btn > * {
			box-shadow: none;
		}
	}
	.btn > *::before,
	.btn > *::after {
		background-color: var(--icon_color);
		transition: var(--btn_transition);
	}
	.btn > * svg {
		display: block;
		fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
		transition: var(--btn_transition);
	}
	.btn > * svg path {
		fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
		transition: fill var(--btn_transition);
	}
	.btn:active > * {
		box-shadow: 0 1px 2px rgba(from black r g b/0.6);
	}
	.btn.icon_arrow_right:hover > *::before {
		translate: 5px 0;
	}
	.btn:where(:not(.bc_reverse)) {
		--v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
		--v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
		--v_btn_color_txt: var(--btn_color_txt, #fff);
		--v_btn_color_icon: var(--btn_color_icon, var(--btn_color_txt, #fff));
	}
	.btn:where(:not(.bc_reverse)):hover {
		--v_btn_color_bg: var(--btn_primary_color_bg_hover, var(--btn_color_bg_hover));
		--v_btn_color_txt: var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover));
		--v_btn_color_icon: var(--btn_color_icon_hover, var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover)));
	}
	.btn:where(.bc_reverse) {
		--v_btn_color_bg: var(--btn_color_bg_hover, #fff);
		--v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
		--v_btn_color_txt: var(--btn_color_base, var(--btn_color_txt_hover));
	}
	.btn:where(.bc_reverse):hover {
		--v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
		--v_btn_color_txt: var(--btn_color_txt, #fff);
	}
	@media screen and (max-width: 599px) {
		.btn_sp {
			--icon_color: var(--v_btn_color_icon);
			display: block;
			width: var(--btn_width);
			text-decoration: none;
			cursor: pointer;
			transition: none;
			--btn_primary_color_bg_hover: rgba(from var(--btn_color_base) 255 255 255);
			--btn_primary_color_txt_hover: var(--btn_color_base);
		}
		.btn_sp > * {
			position: relative;
			display: block;
			padding: var(--btn_pd_block) var(--btn_pd_inline);
			border: 1px solid var(--v_btn_color_border);
			border-radius: var(--btn_radius);
			background-color: var(--v_btn_color_bg);
			box-shadow: 0 1px 2px rgba(from black r g b/0.2);
			text-align: center;
			font-size: var(--btn_txt_size);
			font-weight: 400;
			color: var(--v_btn_color_txt);
			transition: var(--btn_transition);
		}
	}
	@media screen and (max-width: 599px) and (min-width: 600px) {
		.btn_sp > * {
			box-shadow: none;
		}
	}
	@media screen and (max-width: 599px) {
		.btn_sp > *::before,
		.btn_sp > *::after {
			background-color: var(--icon_color);
			transition: var(--btn_transition);
		}
		.btn_sp > * svg {
			display: block;
			fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
			transition: var(--btn_transition);
		}
		.btn_sp > * svg path {
			fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
			transition: fill var(--btn_transition);
		}
		.btn_sp:active > * {
			box-shadow: 0 1px 2px rgba(from black r g b/0.6);
		}
		.btn_sp.icon_arrow_right:hover > *::before {
			translate: 5px 0;
		}
		.btn_sp:where(:not(.bc_reverse)) {
			--v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
			--v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
			--v_btn_color_txt: var(--btn_color_txt, #fff);
			--v_btn_color_icon: var(--btn_color_icon, var(--btn_color_txt, #fff));
		}
		.btn_sp:where(:not(.bc_reverse)):hover {
			--v_btn_color_bg: var(--btn_primary_color_bg_hover, var(--btn_color_bg_hover));
			--v_btn_color_txt: var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover));
			--v_btn_color_icon: var(--btn_color_icon_hover, var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover)));
		}
		.btn_sp:where(.bc_reverse) {
			--v_btn_color_bg: var(--btn_color_bg_hover, #fff);
			--v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
			--v_btn_color_txt: var(--btn_color_base, var(--btn_color_txt_hover));
		}
		.btn_sp:where(.bc_reverse):hover {
			--v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
			--v_btn_color_txt: var(--btn_color_txt, #fff);
		}
	}
	.btn_sp[class*="icon_"] {
		padding-left: 0;
	}
	.btn_sp[class*="icon_"]::before {
		display: none;
	}
	.btn.auto,
	.btn.btn_small,
	.btn.btn_ss {
		--btn_width: auto;
	}
	.btn.btn_small,
	.btn.btn_ss,
	.btn.btn_more,
	.btn.btn_edit {
		display: inline-block;
	}
	.btn.full {
		--btn_width: 100%;
	}
	.btn:where(.off, .disabled, [disabled]) {
		opacity: 0.2;
		pointer-events: none;
		cursor: default;
	}
	.btn.current {
		opacity: 0.4;
		pointer-events: none;
		cursor: default;
	}
	.btn_wrap {
		display: flex;
		flex-direction: column;
		gap: var(--btn_wrap_gap);
	}
	@media print, screen and (min-width: 600px) {
		.btn_wrap {
			flex-direction: row;
			align-items: flex-start;
		}
	}
	.btn_wrap:where(:not(:last-child):not(.cont)) {
		margin-bottom: 10px;
	}
	.btn_wrap.stretch {
		align-items: stretch;
	}
	.btn_wrap.stretch > *.btn {
		display: flex;
		align-items: stretch;
	}
	.btn_wrap.stretch > *.btn > * {
		flex-grow: 1;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
	}
	@media print, screen and (min-width: 600px) {
		.btn_wrap.center {
			justify-content: center;
		}
	}
	.btn_wrap.row_wrap {
		flex-wrap: wrap;
	}
	.btn_wrap.grow {
		--btn_width: auto;
	}
	@media print, screen and (min-width: 600px) {
		.btn_wrap.grow > *.btn {
			flex-grow: 1;
		}
	}
	.btn_wrap.vertical {
		flex-direction: column;
	}
	@media print, screen and (min-width: 600px) {
		.btn_wrap.vertical.center {
			align-items: center;
		}
	}
	.btn_img > *::before,
	.btn_icon > *::before,
	.btn[class*="icon_"] > *::before,
	.btn_img > *::after,
	.btn_icon > *::after,
	.btn[class*="icon_"] > *::after {
		width: var(--icon_size);
		aspect-ratio: 1/1;
		font-size: inherit;
		-webkit-mask: var(--icon_image) no-repeat center/contain;
		mask: var(--icon_image) no-repeat center/contain;
	}
	.btn[class*="icon_"]:where(:not(.inline)):not(.right) > *,
	.btn[class*="icon_"]:where(:not(.inline)).right > * {
		position: relative;
	}
	.btn[class*="icon_"]:where(:not(.inline)):not(.right) > *::before,
	.btn[class*="icon_"]:where(:not(.inline)).right > *::before {
		content: "";
		position: absolute;
		top: 50%;
		display: block;
		margin: auto;
		transform: translateY(-50%);
	}
	.btn[class*="icon_"]:where(:not(.inline)):not(.right) > *::before {
		left: 10px;
	}
	.btn[class*="icon_"]:where(:not(.inline)).right > *::before {
		right: 10px;
	}
	.btn[class*="icon_"].inline:not(.right) > *::before,
	.btn[class*="icon_"].inline:not(.right) > *::after,
	.btn[class*="icon_"].inline.right > *::before,
	.btn[class*="icon_"].inline.right > *::after {
		position: relative;
		top: 0.5em;
		display: inline-block;
		transform: translateY(-37.5%);
	}
	.btn[class*="icon_"].inline:not(.right) > *::before {
		content: "";
		margin-right: var(--icon_gap);
	}
	.btn[class*="icon_"].inline.right > *::after {
		content: "";
		margin-left: var(--icon_gap);
	}
	.btn[class*="icon_"]:where(:not(.inline)):not(.right):where(.btn_small, .btn_ss) > * {
		padding-left: calc(10px + var(--icon_size) + var(--icon_gap));
	}
	.btn[class*="icon_"]:where(:not(.inline)).right:where(.btn_small, .btn_ss) > * {
		padding-right: calc(10px + var(--icon_size) + var(--icon_gap));
	}
	@media screen and (max-width: 599px) {
		.btn_sp[class*="icon_"] > *::before,
		.btn_sp[class*="icon_"] > *::after {
			width: var(--icon_size);
			aspect-ratio: 1/1;
			font-size: inherit;
			-webkit-mask: var(--icon_image) no-repeat center/contain;
			mask: var(--icon_image) no-repeat center/contain;
		}
		.btn_sp[class*="icon_"]:where(:not(.inline)):not(.right) > *,
		.btn_sp[class*="icon_"]:where(:not(.inline)).right > * {
			position: relative;
		}
		.btn_sp[class*="icon_"]:where(:not(.inline)):not(.right) > *::before,
		.btn_sp[class*="icon_"]:where(:not(.inline)).right > *::before {
			content: "";
			position: absolute;
			top: 50%;
			display: block;
			margin: auto;
			transform: translateY(-50%);
		}
		.btn_sp[class*="icon_"]:where(:not(.inline)):not(.right) > *::before {
			left: 10px;
		}
		.btn_sp[class*="icon_"]:where(:not(.inline)).right > *::before {
			right: 10px;
		}
		.btn_sp[class*="icon_"].inline:not(.right) > *::before,
		.btn_sp[class*="icon_"].inline:not(.right) > *::after,
		.btn_sp[class*="icon_"].inline.right > *::before,
		.btn_sp[class*="icon_"].inline.right > *::after {
			position: relative;
			top: 0.5em;
			display: inline-block;
			transform: translateY(-37.5%);
		}
		.btn_sp[class*="icon_"].inline:not(.right) > *::before {
			content: "";
			margin-right: var(--icon_gap);
		}
		.btn_sp[class*="icon_"].inline.right > *::after {
			content: "";
			margin-left: var(--icon_gap);
		}
		.btn_sp[class*="icon_"]:where(:not(.inline)):not(.right):where(.btn_small, .btn_ss) > * {
			padding-left: calc(10px + var(--icon_size) + var(--icon_gap));
		}
		.btn_sp[class*="icon_"]:where(:not(.inline)).right:where(.btn_small, .btn_ss) > * {
			padding-right: calc(10px + var(--icon_size) + var(--icon_gap));
		}
	}
	.btn_icon {
		--btn_width: 40px;
		--icon_size: 50%;
		--icon_color: var(--v_btn_color_icon);
		display: block;
		width: var(--btn_width);
		text-decoration: none;
		cursor: pointer;
		transition: none;
		--btn_primary_color_bg_hover: rgba(from var(--btn_color_base) 255 255 255);
		--btn_primary_color_txt_hover: var(--btn_color_base);
	}
	.btn_icon > * {
		position: relative;
		display: block;
		padding: var(--btn_pd_block) var(--btn_pd_inline);
		border: 1px solid var(--v_btn_color_border);
		border-radius: var(--btn_radius);
		background-color: var(--v_btn_color_bg);
		box-shadow: 0 1px 2px rgba(from black r g b/0.2);
		text-align: center;
		font-size: var(--btn_txt_size);
		font-weight: 400;
		color: var(--v_btn_color_txt);
		transition: var(--btn_transition);
	}
	@media print, screen and (min-width: 600px) {
		.btn_icon > * {
			box-shadow: none;
		}
	}
	.btn_icon > *::before,
	.btn_icon > *::after {
		background-color: var(--icon_color);
		transition: var(--btn_transition);
	}
	.btn_icon > * svg {
		display: block;
		fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
		transition: var(--btn_transition);
	}
	.btn_icon > * svg path {
		fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
		transition: fill var(--btn_transition);
	}
	.btn_icon:active > * {
		box-shadow: 0 1px 2px rgba(from black r g b/0.6);
	}
	.btn_icon.icon_arrow_right:hover > *::before {
		translate: 5px 0;
	}
	.btn_icon:where(:not(.bc_reverse)) {
		--v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
		--v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
		--v_btn_color_txt: var(--btn_color_txt, #fff);
		--v_btn_color_icon: var(--btn_color_icon, var(--btn_color_txt, #fff));
	}
	.btn_icon:where(:not(.bc_reverse)):hover {
		--v_btn_color_bg: var(--btn_primary_color_bg_hover, var(--btn_color_bg_hover));
		--v_btn_color_txt: var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover));
		--v_btn_color_icon: var(--btn_color_icon_hover, var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover)));
	}
	.btn_icon:where(.bc_reverse) {
		--v_btn_color_bg: var(--btn_color_bg_hover, #fff);
		--v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
		--v_btn_color_txt: var(--btn_color_base, var(--btn_color_txt_hover));
	}
	.btn_icon:where(.bc_reverse):hover {
		--v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
		--v_btn_color_txt: var(--btn_color_txt, #fff);
	}
	.btn_icon > * {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		width: var(--btn_width);
		aspect-ratio: 1/1;
		font-size: 0;
		letter-spacing: 0;
	}
	.btn_icon > *::before {
		content: "";
		display: block;
		width: var(--icon_size);
		height: auto;
		aspect-ratio: 1/1;
	}
	.btn_icon.btn_small {
		--btn_width: 30px;
	}
	.btn_icon.btn_ss {
		--btn_width: 20px;
	}
	.btn_img {
		--btn_width: 40px;
		--icon_size: 50%;
		--icon_color: var(--v_btn_color_icon);
		display: block;
		width: var(--btn_width);
		text-decoration: none;
		cursor: pointer;
		transition: none;
		--btn_primary_color_bg_hover: rgba(from var(--btn_color_base) 255 255 255);
		--btn_primary_color_txt_hover: var(--btn_color_base);
	}
	.btn_img > * {
		position: relative;
		display: block;
		padding: var(--btn_pd_block) var(--btn_pd_inline);
		border: 1px solid var(--v_btn_color_border);
		border-radius: var(--btn_radius);
		background-color: var(--v_btn_color_bg);
		box-shadow: 0 1px 2px rgba(from black r g b/0.2);
		text-align: center;
		font-size: var(--btn_txt_size);
		font-weight: 400;
		color: var(--v_btn_color_txt);
		transition: var(--btn_transition);
	}
	@media print, screen and (min-width: 600px) {
		.btn_img > * {
			box-shadow: none;
		}
	}
	.btn_img > *::before,
	.btn_img > *::after {
		background-color: var(--icon_color);
		transition: var(--btn_transition);
	}
	.btn_img > * svg {
		display: block;
		fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
		transition: var(--btn_transition);
	}
	.btn_img > * svg path {
		fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
		transition: fill var(--btn_transition);
	}
	.btn_img:active > * {
		box-shadow: 0 1px 2px rgba(from black r g b/0.6);
	}
	.btn_img.icon_arrow_right:hover > *::before {
		translate: 5px 0;
	}
	.btn_img:where(:not(.bc_reverse)) {
		--v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
		--v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
		--v_btn_color_txt: var(--btn_color_txt, #fff);
		--v_btn_color_icon: var(--btn_color_icon, var(--btn_color_txt, #fff));
	}
	.btn_img:where(:not(.bc_reverse)):hover {
		--v_btn_color_bg: var(--btn_primary_color_bg_hover, var(--btn_color_bg_hover));
		--v_btn_color_txt: var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover));
		--v_btn_color_icon: var(--btn_color_icon_hover, var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover)));
	}
	.btn_img:where(.bc_reverse) {
		--v_btn_color_bg: var(--btn_color_bg_hover, #fff);
		--v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
		--v_btn_color_txt: var(--btn_color_base, var(--btn_color_txt_hover));
	}
	.btn_img:where(.bc_reverse):hover {
		--v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
		--v_btn_color_txt: var(--btn_color_txt, #fff);
	}
	.btn_img > * {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		width: var(--btn_width);
		aspect-ratio: 1/1;
		font-size: 0;
		letter-spacing: 0;
	}
	.btn_img > * img,
	.btn_img > * svg {
		display: block;
		width: var(--icon_size);
		height: auto;
		aspect-ratio: 1/1;
	}
	.btn_img.btn_small {
		--btn_width: 30px;
	}
	.btn_img.btn_ss {
		--btn_width: 20px;
	}
	@media screen and (max-width: 599px) {
		.btn_group_sp {
			display: flex;
			flex-direction: column;
			row-gap: 1px;
			border: 1px solid var(--btn_color_border);
			border-radius: var(--radius_base);
			overflow: hidden;
		}
		.btn_group_sp .btn > *,
		.btn_group_sp .btn_sp > * {
			border: none;
			border-radius: 0;
		}
	}
	@media print, screen and (min-width: 600px) {
		.btn_group_sp {
			--icon_image: url(/ec/images/event/20th/lib/icon/angle_right.svg);
		}
		.btn_group_sp a:not(.btn) > * {
			position: relative;
			display: block;
			padding-left: calc(var(--icon_size) + var(--icon_gap));
		}
		.btn_group_sp a:not(.btn) > *::before {
			content: "";
			position: absolute;
			left: 0;
			width: var(--icon_size);
			aspect-ratio: 1/1;
			background: var(--icon_color);
			font-size: inherit;
			-webkit-mask: var(--icon_image) no-repeat center/contain;
			mask: var(--icon_image) no-repeat center/contain;
		}
	}
}
@layer lib {
	:is(.image_texts),
	:is(.texts_image) {
		display: grid;
		grid-auto-rows: min-content;
		gap: 0 var(--image_texts_gap);
	}
	:is(.image_texts) > *[class^="heading"]:not(.heading_item),
	:is(.texts_image) > *[class^="heading"]:not(.heading_item) {
		grid-row: 1;
		grid-column: 1/-1;
	}
	:is(.image_texts) > .heading_item,
	:is(.texts_image) > .heading_item {
		grid-row: auto;
	}
	:is(.image_texts) > .image_item,
	:is(.texts_image) > .image_item {
		grid-row: 1/-1;
		margin-bottom: 0;
	}
	:is(.image_texts) > div:nth-last-child(1 of :not(.image_item)),
	:is(.texts_image) > div:nth-last-child(1 of :not(.image_item)) {
		margin-bottom: 0;
	}
	:is(.image_texts) > .align_center,
	:is(.texts_image) > .align_center {
		align-self: center;
	}
	:has(> *[class^="heading"]:not(.heading_item)):is(.image_texts) > .image_item,
	:has(> *[class^="heading"]:not(.heading_item)):is(.texts_image) > .image_item {
		grid-row-start: 2;
	}
	.align_center:has(> :nth-child(2):last-child):is(.image_texts),
	.align_center:has(> :nth-child(2):last-child):is(.texts_image) {
		align-items: center;
	}
	:has(> :nth-child(3):last-child):is(.image_texts),
	:has(> :nth-child(3):last-child):is(.texts_image) {
		grid-template-rows: repeat(1, min-content) 1fr;
	}
	.align_center:has(> :nth-child(3):last-child):is(.image_texts),
	.align_center:has(> :nth-child(3):last-child):is(.texts_image) {
		grid-template-rows: repeat(2, min-content);
	}
	.align_center:has(> :nth-child(3):last-child):is(.image_texts) > .heading_item,
	.align_center:has(> :nth-child(3):last-child):is(.texts_image) > .heading_item {
		margin-top: auto;
	}
	:has(> :nth-child(4):last-child):is(.image_texts),
	:has(> :nth-child(4):last-child):is(.texts_image) {
		grid-template-rows: repeat(2, min-content) 1fr;
	}
	.align_center:has(> :nth-child(4):last-child):is(.image_texts),
	.align_center:has(> :nth-child(4):last-child):is(.texts_image) {
		grid-template-rows: repeat(3, min-content);
	}
	.align_center:has(> :nth-child(4):last-child):is(.image_texts) > .heading_item,
	.align_center:has(> :nth-child(4):last-child):is(.texts_image) > .heading_item {
		margin-top: auto;
	}
	:has(> :nth-child(5):last-child):is(.image_texts),
	:has(> :nth-child(5):last-child):is(.texts_image) {
		grid-template-rows: repeat(3, min-content) 1fr;
	}
	.align_center:has(> :nth-child(5):last-child):is(.image_texts),
	.align_center:has(> :nth-child(5):last-child):is(.texts_image) {
		grid-template-rows: repeat(4, min-content);
	}
	.align_center:has(> :nth-child(5):last-child):is(.image_texts) > .heading_item,
	.align_center:has(> :nth-child(5):last-child):is(.texts_image) > .heading_item {
		margin-top: auto;
	}
	:has(> :nth-child(6):last-child):is(.image_texts),
	:has(> :nth-child(6):last-child):is(.texts_image) {
		grid-template-rows: repeat(4, min-content) 1fr;
	}
	.align_center:has(> :nth-child(6):last-child):is(.image_texts),
	.align_center:has(> :nth-child(6):last-child):is(.texts_image) {
		grid-template-rows: repeat(5, min-content);
	}
	.align_center:has(> :nth-child(6):last-child):is(.image_texts) > .heading_item,
	.align_center:has(> :nth-child(6):last-child):is(.texts_image) > .heading_item {
		margin-top: auto;
	}
	:has(> :nth-child(7):last-child):is(.image_texts),
	:has(> :nth-child(7):last-child):is(.texts_image) {
		grid-template-rows: repeat(5, min-content) 1fr;
	}
	.align_center:has(> :nth-child(7):last-child):is(.image_texts),
	.align_center:has(> :nth-child(7):last-child):is(.texts_image) {
		grid-template-rows: repeat(6, min-content);
	}
	.align_center:has(> :nth-child(7):last-child):is(.image_texts) > .heading_item,
	.align_center:has(> :nth-child(7):last-child):is(.texts_image) > .heading_item {
		margin-top: auto;
	}
	:has(> :nth-child(8):last-child):is(.image_texts),
	:has(> :nth-child(8):last-child):is(.texts_image) {
		grid-template-rows: repeat(6, min-content) 1fr;
	}
	.align_center:has(> :nth-child(8):last-child):is(.image_texts),
	.align_center:has(> :nth-child(8):last-child):is(.texts_image) {
		grid-template-rows: repeat(7, min-content);
	}
	.align_center:has(> :nth-child(8):last-child):is(.image_texts) > .heading_item,
	.align_center:has(> :nth-child(8):last-child):is(.texts_image) > .heading_item {
		margin-top: auto;
	}
	:is(.image_texts) {
		grid-template-columns: var(--image_texts_imagesize) 1fr;
	}
	:is(.image_texts) > .image_item {
		grid-column: 1;
	}
	:is(.image_texts) > * {
		grid-column: 2;
	}
	:is(.texts_image) {
		grid-template-columns: 1fr var(--image_texts_imagesize);
	}
	:is(.texts_image) > .image_item {
		grid-column: 2;
	}
	:is(.texts_image) > * {
		grid-column: 1;
	}
	:is(.left_right) {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0 var(--left_right_gap);
	}
	:is(.left_right) > [class^="heading"],
	:is(.left_right) > .clm_full {
		grid-column: 1/-1;
	}
	:is(.left_right) > *.align_self_start {
		align-self: flex-start;
	}
	:is(.left_right) > *.align_self_end {
		align-self: flex-end;
	}
	:is(.left_right) > .left_item,
	:is(.left_right) > .right_item {
		margin-bottom: 0;
	}
	:is(.left_right) > .left_item {
		grid-column: 1;
	}
	:is(.left_right) > .right_item {
		grid-column: 2;
	}
	.align_start:is(.left_right) {
		align-items: flex-start;
	}
	.align_end:is(.left_right) {
		align-items: flex-end;
	}
	:is(.float_left),
	:is(.float_right) {
		overflow: hidden;
	}
	:is(.float_left) > .image_item,
	:is(.float_right) > .image_item {
		width: var(--float_imagesize);
	}
	:is(.float_left) > .image_item {
		float: left;
		margin: 0 var(--float_gap, 10px) var(--float_gap, 10px) 0;
	}
	:is(.float_right) > .image_item {
		float: right;
		margin: 0 0 var(--float_gap, 10px) var(--float_gap, 10px);
	}
	:is(.clm2, .clm3, .clm4, .clm5, .clm2, .clm3, .clm4, .clm5) {
		display: grid;
		gap: var(--clm_gap);
	}
	:is(.clm2, .clm3, .clm4, .clm5, .clm2, .clm3, .clm4, .clm5) > [class^="heading"]:first-child,
	:is(.clm2, .clm3, .clm4, .clm5, .clm2, .clm3, .clm4, .clm5) > .clm_full {
		grid-column: 1/-1;
		margin-bottom: 0;
	}
	:is(.clm2, .clm3, .clm4, .clm5, .clm2, .clm3, .clm4, .clm5) > .clm_item {
		margin-bottom: 0;
	}
	.clm2 {
		grid-template-columns: repeat(2, 1fr);
	}
	.clm3 {
		grid-template-columns: repeat(3, 1fr);
	}
	.clm4 {
		grid-template-columns: repeat(4, 1fr);
	}
	.clm5 {
		grid-template-columns: repeat(5, 1fr);
	}
	:is(.snap) {
		container-type: inline-size;
		display: flex;
		flex-flow: row nowrap;
		gap: var(--snap_gap);
		overflow-x: scroll;
		scroll-snap-type: x mandatory;
	}
	:is(.snap) > .clm_item {
		flex-shrink: 0;
		margin-bottom: 0;
		width: var(--snap_item_width);
		scroll-snap-align: center;
	}
	:is(.snap) > .clm_item:first-child {
		margin-left: calc((100% - var(--snap_item_width)) / 2);
	}
	:is(.snap) > .clm_item:last-child {
		margin-right: calc((100% - var(--snap_item_width)) / 2);
	}
	@media screen and (max-width: 599px) {
		:is(.image_texts_sp, .image_texts_sp_tb),
		:is(.texts_image_sp, .texts_image_sp_tb) {
			display: grid;
			grid-auto-rows: min-content;
			gap: 0 var(--image_texts_gap);
		}
		:is(.image_texts_sp, .image_texts_sp_tb) > *[class^="heading"]:not(.heading_item),
		:is(.texts_image_sp, .texts_image_sp_tb) > *[class^="heading"]:not(.heading_item) {
			grid-row: 1;
			grid-column: 1/-1;
		}
		:is(.image_texts_sp, .image_texts_sp_tb) > .heading_item,
		:is(.texts_image_sp, .texts_image_sp_tb) > .heading_item {
			grid-row: auto;
		}
		:is(.image_texts_sp, .image_texts_sp_tb) > .image_item,
		:is(.texts_image_sp, .texts_image_sp_tb) > .image_item {
			grid-row: 1/-1;
			margin-bottom: 0;
		}
		:is(.image_texts_sp, .image_texts_sp_tb) > div:nth-last-child(1 of :not(.image_item)),
		:is(.texts_image_sp, .texts_image_sp_tb) > div:nth-last-child(1 of :not(.image_item)) {
			margin-bottom: 0;
		}
		:is(.image_texts_sp, .image_texts_sp_tb) > .align_center,
		:is(.texts_image_sp, .texts_image_sp_tb) > .align_center {
			align-self: center;
		}
		:has(> *[class^="heading"]:not(.heading_item)):is(.image_texts_sp, .image_texts_sp_tb) > .image_item,
		:has(> *[class^="heading"]:not(.heading_item)):is(.texts_image_sp, .texts_image_sp_tb) > .image_item {
			grid-row-start: 2;
		}
		.align_center:has(> :nth-child(2):last-child):is(.image_texts_sp, .image_texts_sp_tb),
		.align_center:has(> :nth-child(2):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
			align-items: center;
		}
		:has(> :nth-child(3):last-child):is(.image_texts_sp, .image_texts_sp_tb),
		:has(> :nth-child(3):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
			grid-template-rows: repeat(1, min-content) 1fr;
		}
		.align_center:has(> :nth-child(3):last-child):is(.image_texts_sp, .image_texts_sp_tb),
		.align_center:has(> :nth-child(3):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
			grid-template-rows: repeat(2, min-content);
		}
		.align_center:has(> :nth-child(3):last-child):is(.image_texts_sp, .image_texts_sp_tb) > .heading_item,
		.align_center:has(> :nth-child(3):last-child):is(.texts_image_sp, .texts_image_sp_tb) > .heading_item {
			margin-top: auto;
		}
		:has(> :nth-child(4):last-child):is(.image_texts_sp, .image_texts_sp_tb),
		:has(> :nth-child(4):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
			grid-template-rows: repeat(2, min-content) 1fr;
		}
		.align_center:has(> :nth-child(4):last-child):is(.image_texts_sp, .image_texts_sp_tb),
		.align_center:has(> :nth-child(4):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
			grid-template-rows: repeat(3, min-content);
		}
		.align_center:has(> :nth-child(4):last-child):is(.image_texts_sp, .image_texts_sp_tb) > .heading_item,
		.align_center:has(> :nth-child(4):last-child):is(.texts_image_sp, .texts_image_sp_tb) > .heading_item {
			margin-top: auto;
		}
		:has(> :nth-child(5):last-child):is(.image_texts_sp, .image_texts_sp_tb),
		:has(> :nth-child(5):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
			grid-template-rows: repeat(3, min-content) 1fr;
		}
		.align_center:has(> :nth-child(5):last-child):is(.image_texts_sp, .image_texts_sp_tb),
		.align_center:has(> :nth-child(5):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
			grid-template-rows: repeat(4, min-content);
		}
		.align_center:has(> :nth-child(5):last-child):is(.image_texts_sp, .image_texts_sp_tb) > .heading_item,
		.align_center:has(> :nth-child(5):last-child):is(.texts_image_sp, .texts_image_sp_tb) > .heading_item {
			margin-top: auto;
		}
		:has(> :nth-child(6):last-child):is(.image_texts_sp, .image_texts_sp_tb),
		:has(> :nth-child(6):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
			grid-template-rows: repeat(4, min-content) 1fr;
		}
		.align_center:has(> :nth-child(6):last-child):is(.image_texts_sp, .image_texts_sp_tb),
		.align_center:has(> :nth-child(6):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
			grid-template-rows: repeat(5, min-content);
		}
		.align_center:has(> :nth-child(6):last-child):is(.image_texts_sp, .image_texts_sp_tb) > .heading_item,
		.align_center:has(> :nth-child(6):last-child):is(.texts_image_sp, .texts_image_sp_tb) > .heading_item {
			margin-top: auto;
		}
		:has(> :nth-child(7):last-child):is(.image_texts_sp, .image_texts_sp_tb),
		:has(> :nth-child(7):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
			grid-template-rows: repeat(5, min-content) 1fr;
		}
		.align_center:has(> :nth-child(7):last-child):is(.image_texts_sp, .image_texts_sp_tb),
		.align_center:has(> :nth-child(7):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
			grid-template-rows: repeat(6, min-content);
		}
		.align_center:has(> :nth-child(7):last-child):is(.image_texts_sp, .image_texts_sp_tb) > .heading_item,
		.align_center:has(> :nth-child(7):last-child):is(.texts_image_sp, .texts_image_sp_tb) > .heading_item {
			margin-top: auto;
		}
		:has(> :nth-child(8):last-child):is(.image_texts_sp, .image_texts_sp_tb),
		:has(> :nth-child(8):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
			grid-template-rows: repeat(6, min-content) 1fr;
		}
		.align_center:has(> :nth-child(8):last-child):is(.image_texts_sp, .image_texts_sp_tb),
		.align_center:has(> :nth-child(8):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
			grid-template-rows: repeat(7, min-content);
		}
		.align_center:has(> :nth-child(8):last-child):is(.image_texts_sp, .image_texts_sp_tb) > .heading_item,
		.align_center:has(> :nth-child(8):last-child):is(.texts_image_sp, .texts_image_sp_tb) > .heading_item {
			margin-top: auto;
		}
		:is(.image_texts_sp, .image_texts_sp_tb) {
			grid-template-columns: var(--image_texts_imagesize) 1fr;
		}
		:is(.image_texts_sp, .image_texts_sp_tb) > .image_item {
			grid-column: 1;
		}
		:is(.image_texts_sp, .image_texts_sp_tb) > * {
			grid-column: 2;
		}
		:is(.texts_image_sp, .texts_image_sp_tb) {
			grid-template-columns: 1fr var(--image_texts_imagesize);
		}
		:is(.texts_image_sp, .texts_image_sp_tb) > .image_item {
			grid-column: 2;
		}
		:is(.texts_image_sp, .texts_image_sp_tb) > * {
			grid-column: 1;
		}
		:is(.left_right_sp, .left_right_sp_tb) {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 0 var(--left_right_gap);
		}
		:is(.left_right_sp, .left_right_sp_tb) > [class^="heading"],
		:is(.left_right_sp, .left_right_sp_tb) > .clm_full {
			grid-column: 1/-1;
		}
		:is(.left_right_sp, .left_right_sp_tb) > *.align_self_start {
			align-self: flex-start;
		}
		:is(.left_right_sp, .left_right_sp_tb) > *.align_self_end {
			align-self: flex-end;
		}
		:is(.left_right_sp, .left_right_sp_tb) > .left_item,
		:is(.left_right_sp, .left_right_sp_tb) > .right_item {
			margin-bottom: 0;
		}
		:is(.left_right_sp, .left_right_sp_tb) > .left_item {
			grid-column: 1;
		}
		:is(.left_right_sp, .left_right_sp_tb) > .right_item {
			grid-column: 2;
		}
		.align_start:is(.left_right_sp, .left_right_sp_tb) {
			align-items: flex-start;
		}
		.align_end:is(.left_right_sp, .left_right_sp_tb) {
			align-items: flex-end;
		}
		:is(.float_left_sp, .float_left_sp_tb),
		:is(.float_right_sp, .float_right_sp_tb) {
			overflow: hidden;
		}
		:is(.float_left_sp, .float_left_sp_tb) > .image_item,
		:is(.float_right_sp, .float_right_sp_tb) > .image_item {
			width: var(--float_imagesize);
		}
		:is(.float_left_sp, .float_left_sp_tb) > .image_item {
			float: left;
			margin: 0 var(--float_gap, 10px) var(--float_gap, 10px) 0;
		}
		:is(.float_right_sp, .float_right_sp_tb) > .image_item {
			float: right;
			margin: 0 0 var(--float_gap, 10px) var(--float_gap, 10px);
		}
		:is(.clm2, .clm3, .clm4, .clm5, .clm2_sp, .clm3_sp, .clm4_sp, .clm5_sp, .clm2_sp_tb, .clm3_sp_tb, .clm4_sp_tb, .clm5_sp_tb, .clm2_sp_sp_tb, .clm3_sp_sp_tb, .clm4_sp_sp_tb, .clm5_sp_sp_tb) {
			display: grid;
			gap: var(--clm_gap);
		}
		:is(.clm2, .clm3, .clm4, .clm5, .clm2_sp, .clm3_sp, .clm4_sp, .clm5_sp, .clm2_sp_tb, .clm3_sp_tb, .clm4_sp_tb, .clm5_sp_tb, .clm2_sp_sp_tb, .clm3_sp_sp_tb, .clm4_sp_sp_tb, .clm5_sp_sp_tb)
			> [class^="heading"]:first-child,
		:is(.clm2, .clm3, .clm4, .clm5, .clm2_sp, .clm3_sp, .clm4_sp, .clm5_sp, .clm2_sp_tb, .clm3_sp_tb, .clm4_sp_tb, .clm5_sp_tb, .clm2_sp_sp_tb, .clm3_sp_sp_tb, .clm4_sp_sp_tb, .clm5_sp_sp_tb)
			> .clm_full {
			grid-column: 1/-1;
			margin-bottom: 0;
		}
		:is(.clm2, .clm3, .clm4, .clm5, .clm2_sp, .clm3_sp, .clm4_sp, .clm5_sp, .clm2_sp_tb, .clm3_sp_tb, .clm4_sp_tb, .clm5_sp_tb, .clm2_sp_sp_tb, .clm3_sp_sp_tb, .clm4_sp_sp_tb, .clm5_sp_sp_tb)
			> .clm_item {
			margin-bottom: 0;
		}
		.clm2_sp_tb,
		.clm2_sp,
		.clm2 {
			grid-template-columns: repeat(2, 1fr);
		}
		.clm3_sp_tb,
		.clm3_sp,
		.clm3 {
			grid-template-columns: repeat(3, 1fr);
		}
		.clm4_sp_tb,
		.clm4_sp,
		.clm4 {
			grid-template-columns: repeat(4, 1fr);
		}
		.clm5_sp_tb,
		.clm5_sp,
		.clm5 {
			grid-template-columns: repeat(5, 1fr);
		}
		:is(.snap_sp, .snap_sp_tb) {
			container-type: inline-size;
			display: flex;
			flex-flow: row nowrap;
			gap: var(--snap_gap);
			overflow-x: scroll;
			scroll-snap-type: x mandatory;
		}
		:is(.snap_sp, .snap_sp_tb) > .clm_item {
			flex-shrink: 0;
			margin-bottom: 0;
			width: var(--snap_item_width);
			scroll-snap-align: center;
		}
		:is(.snap_sp, .snap_sp_tb) > .clm_item:first-child {
			margin-left: calc((100% - var(--snap_item_width)) / 2);
		}
		:is(.snap_sp, .snap_sp_tb) > .clm_item:last-child {
			margin-right: calc((100% - var(--snap_item_width)) / 2);
		}
	}
	@media screen and (min-width: 600px) and (max-width: 959px) {
		:is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
		:is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
			display: grid;
			grid-auto-rows: min-content;
			gap: 0 var(--image_texts_gap);
		}
		:is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > *[class^="heading"]:not(.heading_item),
		:is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > *[class^="heading"]:not(.heading_item) {
			grid-row: 1;
			grid-column: 1/-1;
		}
		:is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > .heading_item,
		:is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > .heading_item {
			grid-row: auto;
		}
		:is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > .image_item,
		:is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > .image_item {
			grid-row: 1/-1;
			margin-bottom: 0;
		}
		:is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > div:nth-last-child(1 of :not(.image_item)),
		:is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > div:nth-last-child(1 of :not(.image_item)) {
			margin-bottom: 0;
		}
		:is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > .align_center,
		:is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > .align_center {
			align-self: center;
		}
		:has(> *[class^="heading"]:not(.heading_item)):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > .image_item,
		:has(> *[class^="heading"]:not(.heading_item)):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > .image_item {
			grid-row-start: 2;
		}
		.align_center:has(> :nth-child(2):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
		.align_center:has(> :nth-child(2):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
			align-items: center;
		}
		:has(> :nth-child(3):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
		:has(> :nth-child(3):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
			grid-template-rows: repeat(1, min-content) 1fr;
		}
		.align_center:has(> :nth-child(3):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
		.align_center:has(> :nth-child(3):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
			grid-template-rows: repeat(2, min-content);
		}
		.align_center:has(> :nth-child(3):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > .heading_item,
		.align_center:has(> :nth-child(3):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > .heading_item {
			margin-top: auto;
		}
		:has(> :nth-child(4):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
		:has(> :nth-child(4):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
			grid-template-rows: repeat(2, min-content) 1fr;
		}
		.align_center:has(> :nth-child(4):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
		.align_center:has(> :nth-child(4):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
			grid-template-rows: repeat(3, min-content);
		}
		.align_center:has(> :nth-child(4):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > .heading_item,
		.align_center:has(> :nth-child(4):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > .heading_item {
			margin-top: auto;
		}
		:has(> :nth-child(5):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
		:has(> :nth-child(5):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
			grid-template-rows: repeat(3, min-content) 1fr;
		}
		.align_center:has(> :nth-child(5):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
		.align_center:has(> :nth-child(5):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
			grid-template-rows: repeat(4, min-content);
		}
		.align_center:has(> :nth-child(5):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > .heading_item,
		.align_center:has(> :nth-child(5):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > .heading_item {
			margin-top: auto;
		}
		:has(> :nth-child(6):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
		:has(> :nth-child(6):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
			grid-template-rows: repeat(4, min-content) 1fr;
		}
		.align_center:has(> :nth-child(6):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
		.align_center:has(> :nth-child(6):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
			grid-template-rows: repeat(5, min-content);
		}
		.align_center:has(> :nth-child(6):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > .heading_item,
		.align_center:has(> :nth-child(6):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > .heading_item {
			margin-top: auto;
		}
		:has(> :nth-child(7):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
		:has(> :nth-child(7):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
			grid-template-rows: repeat(5, min-content) 1fr;
		}
		.align_center:has(> :nth-child(7):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
		.align_center:has(> :nth-child(7):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
			grid-template-rows: repeat(6, min-content);
		}
		.align_center:has(> :nth-child(7):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > .heading_item,
		.align_center:has(> :nth-child(7):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > .heading_item {
			margin-top: auto;
		}
		:has(> :nth-child(8):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
		:has(> :nth-child(8):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
			grid-template-rows: repeat(6, min-content) 1fr;
		}
		.align_center:has(> :nth-child(8):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
		.align_center:has(> :nth-child(8):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
			grid-template-rows: repeat(7, min-content);
		}
		.align_center:has(> :nth-child(8):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > .heading_item,
		.align_center:has(> :nth-child(8):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > .heading_item {
			margin-top: auto;
		}
		:is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) {
			grid-template-columns: var(--image_texts_imagesize) 1fr;
		}
		:is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > .image_item {
			grid-column: 1;
		}
		:is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > * {
			grid-column: 2;
		}
		:is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
			grid-template-columns: 1fr var(--image_texts_imagesize);
		}
		:is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > .image_item {
			grid-column: 2;
		}
		:is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > * {
			grid-column: 1;
		}
		:is(.left_right_sp_tb, .left_right_tb, .left_right_tb_pc) {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 0 var(--left_right_gap);
		}
		:is(.left_right_sp_tb, .left_right_tb, .left_right_tb_pc) > [class^="heading"],
		:is(.left_right_sp_tb, .left_right_tb, .left_right_tb_pc) > .clm_full {
			grid-column: 1/-1;
		}
		:is(.left_right_sp_tb, .left_right_tb, .left_right_tb_pc) > *.align_self_start {
			align-self: flex-start;
		}
		:is(.left_right_sp_tb, .left_right_tb, .left_right_tb_pc) > *.align_self_end {
			align-self: flex-end;
		}
		:is(.left_right_sp_tb, .left_right_tb, .left_right_tb_pc) > .left_item,
		:is(.left_right_sp_tb, .left_right_tb, .left_right_tb_pc) > .right_item {
			margin-bottom: 0;
		}
		:is(.left_right_sp_tb, .left_right_tb, .left_right_tb_pc) > .left_item {
			grid-column: 1;
		}
		:is(.left_right_sp_tb, .left_right_tb, .left_right_tb_pc) > .right_item {
			grid-column: 2;
		}
		.align_start:is(.left_right_sp_tb, .left_right_tb, .left_right_tb_pc) {
			align-items: flex-start;
		}
		.align_end:is(.left_right_sp_tb, .left_right_tb, .left_right_tb_pc) {
			align-items: flex-end;
		}
		:is(.float_left_sp_tb, .float_left_tb, .float_left_tb_pc),
		:is(.float_right_sp_tb, .float_right_tb, .float_right_tb_pc) {
			overflow: hidden;
		}
		:is(.float_left_sp_tb, .float_left_tb, .float_left_tb_pc) > .image_item,
		:is(.float_right_sp_tb, .float_right_tb, .float_right_tb_pc) > .image_item {
			width: var(--float_imagesize);
		}
		:is(.float_left_sp_tb, .float_left_tb, .float_left_tb_pc) > .image_item {
			float: left;
			margin: 0 var(--float_gap, 10px) var(--float_gap, 10px) 0;
		}
		:is(.float_right_sp_tb, .float_right_tb, .float_right_tb_pc) > .image_item {
			float: right;
			margin: 0 0 var(--float_gap, 10px) var(--float_gap, 10px);
		}
		:is(
			.clm2,
			.clm3,
			.clm4,
			.clm5,
			.clm2_sp_tb,
			.clm3_sp_tb,
			.clm4_sp_tb,
			.clm5_sp_tb,
			.clm2_tb,
			.clm3_tb,
			.clm4_tb,
			.clm5_tb,
			.clm2_sp_tb_tb,
			.clm3_sp_tb_tb,
			.clm4_sp_tb_tb,
			.clm5_sp_tb_tb,
			.clm2_tb_pc,
			.clm3_tb_pc,
			.clm4_tb_pc,
			.clm5_tb_pc,
			.clm2_sp_tb_tb_pc,
			.clm3_sp_tb_tb_pc,
			.clm4_sp_tb_tb_pc,
			.clm5_sp_tb_tb_pc,
			.clm2_tb_tb_pc,
			.clm3_tb_tb_pc,
			.clm4_tb_tb_pc,
			.clm5_tb_tb_pc,
			.clm2_sp_tb_tb_tb_pc,
			.clm3_sp_tb_tb_tb_pc,
			.clm4_sp_tb_tb_tb_pc,
			.clm5_sp_tb_tb_tb_pc
		) {
			display: grid;
			gap: var(--clm_gap);
		}
		:is(
				.clm2,
				.clm3,
				.clm4,
				.clm5,
				.clm2_sp_tb,
				.clm3_sp_tb,
				.clm4_sp_tb,
				.clm5_sp_tb,
				.clm2_tb,
				.clm3_tb,
				.clm4_tb,
				.clm5_tb,
				.clm2_sp_tb_tb,
				.clm3_sp_tb_tb,
				.clm4_sp_tb_tb,
				.clm5_sp_tb_tb,
				.clm2_tb_pc,
				.clm3_tb_pc,
				.clm4_tb_pc,
				.clm5_tb_pc,
				.clm2_sp_tb_tb_pc,
				.clm3_sp_tb_tb_pc,
				.clm4_sp_tb_tb_pc,
				.clm5_sp_tb_tb_pc,
				.clm2_tb_tb_pc,
				.clm3_tb_tb_pc,
				.clm4_tb_tb_pc,
				.clm5_tb_tb_pc,
				.clm2_sp_tb_tb_tb_pc,
				.clm3_sp_tb_tb_tb_pc,
				.clm4_sp_tb_tb_tb_pc,
				.clm5_sp_tb_tb_tb_pc
			)
			> [class^="heading"]:first-child,
		:is(
				.clm2,
				.clm3,
				.clm4,
				.clm5,
				.clm2_sp_tb,
				.clm3_sp_tb,
				.clm4_sp_tb,
				.clm5_sp_tb,
				.clm2_tb,
				.clm3_tb,
				.clm4_tb,
				.clm5_tb,
				.clm2_sp_tb_tb,
				.clm3_sp_tb_tb,
				.clm4_sp_tb_tb,
				.clm5_sp_tb_tb,
				.clm2_tb_pc,
				.clm3_tb_pc,
				.clm4_tb_pc,
				.clm5_tb_pc,
				.clm2_sp_tb_tb_pc,
				.clm3_sp_tb_tb_pc,
				.clm4_sp_tb_tb_pc,
				.clm5_sp_tb_tb_pc,
				.clm2_tb_tb_pc,
				.clm3_tb_tb_pc,
				.clm4_tb_tb_pc,
				.clm5_tb_tb_pc,
				.clm2_sp_tb_tb_tb_pc,
				.clm3_sp_tb_tb_tb_pc,
				.clm4_sp_tb_tb_tb_pc,
				.clm5_sp_tb_tb_tb_pc
			)
			> .clm_full {
			grid-column: 1/-1;
			margin-bottom: 0;
		}
		:is(
				.clm2,
				.clm3,
				.clm4,
				.clm5,
				.clm2_sp_tb,
				.clm3_sp_tb,
				.clm4_sp_tb,
				.clm5_sp_tb,
				.clm2_tb,
				.clm3_tb,
				.clm4_tb,
				.clm5_tb,
				.clm2_sp_tb_tb,
				.clm3_sp_tb_tb,
				.clm4_sp_tb_tb,
				.clm5_sp_tb_tb,
				.clm2_tb_pc,
				.clm3_tb_pc,
				.clm4_tb_pc,
				.clm5_tb_pc,
				.clm2_sp_tb_tb_pc,
				.clm3_sp_tb_tb_pc,
				.clm4_sp_tb_tb_pc,
				.clm5_sp_tb_tb_pc,
				.clm2_tb_tb_pc,
				.clm3_tb_tb_pc,
				.clm4_tb_tb_pc,
				.clm5_tb_tb_pc,
				.clm2_sp_tb_tb_tb_pc,
				.clm3_sp_tb_tb_tb_pc,
				.clm4_sp_tb_tb_tb_pc,
				.clm5_sp_tb_tb_tb_pc
			)
			> .clm_item {
			margin-bottom: 0;
		}
		.clm2_tb_pc,
		.clm2_tb,
		.clm2_sp_tb,
		.clm2 {
			grid-template-columns: repeat(2, 1fr);
		}
		.clm3_tb_pc,
		.clm3_tb,
		.clm3_sp_tb,
		.clm3 {
			grid-template-columns: repeat(3, 1fr);
		}
		.clm4_tb_pc,
		.clm4_tb,
		.clm4_sp_tb,
		.clm4 {
			grid-template-columns: repeat(4, 1fr);
		}
		.clm5_tb_pc,
		.clm5_tb,
		.clm5_sp_tb,
		.clm5 {
			grid-template-columns: repeat(5, 1fr);
		}
		:is(.snap_sp_tb, .snap_tb, .snap_tb_pc) {
			container-type: inline-size;
			display: flex;
			flex-flow: row nowrap;
			gap: var(--snap_gap);
			overflow-x: scroll;
			scroll-snap-type: x mandatory;
		}
		:is(.snap_sp_tb, .snap_tb, .snap_tb_pc) > .clm_item {
			flex-shrink: 0;
			margin-bottom: 0;
			width: var(--snap_item_width);
			scroll-snap-align: center;
		}
		:is(.snap_sp_tb, .snap_tb, .snap_tb_pc) > .clm_item:first-child {
			margin-left: calc((100% - var(--snap_item_width)) / 2);
		}
		:is(.snap_sp_tb, .snap_tb, .snap_tb_pc) > .clm_item:last-child {
			margin-right: calc((100% - var(--snap_item_width)) / 2);
		}
	}
	@media print, screen and (min-width: 960px) {
		:is(.image_texts_tb_pc, .image_texts_pc),
		:is(.texts_image_tb_pc, .texts_image_pc) {
			display: grid;
			grid-auto-rows: min-content;
			gap: 0 var(--image_texts_gap);
		}
		:is(.image_texts_tb_pc, .image_texts_pc) > *[class^="heading"]:not(.heading_item),
		:is(.texts_image_tb_pc, .texts_image_pc) > *[class^="heading"]:not(.heading_item) {
			grid-row: 1;
			grid-column: 1/-1;
		}
		:is(.image_texts_tb_pc, .image_texts_pc) > .heading_item,
		:is(.texts_image_tb_pc, .texts_image_pc) > .heading_item {
			grid-row: auto;
		}
		:is(.image_texts_tb_pc, .image_texts_pc) > .image_item,
		:is(.texts_image_tb_pc, .texts_image_pc) > .image_item {
			grid-row: 1/-1;
			margin-bottom: 0;
		}
		:is(.image_texts_tb_pc, .image_texts_pc) > div:nth-last-child(1 of :not(.image_item)),
		:is(.texts_image_tb_pc, .texts_image_pc) > div:nth-last-child(1 of :not(.image_item)) {
			margin-bottom: 0;
		}
		:is(.image_texts_tb_pc, .image_texts_pc) > .align_center,
		:is(.texts_image_tb_pc, .texts_image_pc) > .align_center {
			align-self: center;
		}
		:has(> *[class^="heading"]:not(.heading_item)):is(.image_texts_tb_pc, .image_texts_pc) > .image_item,
		:has(> *[class^="heading"]:not(.heading_item)):is(.texts_image_tb_pc, .texts_image_pc) > .image_item {
			grid-row-start: 2;
		}
		.align_center:has(> :nth-child(2):last-child):is(.image_texts_tb_pc, .image_texts_pc),
		.align_center:has(> :nth-child(2):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
			align-items: center;
		}
		:has(> :nth-child(3):last-child):is(.image_texts_tb_pc, .image_texts_pc),
		:has(> :nth-child(3):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
			grid-template-rows: repeat(1, min-content) 1fr;
		}
		.align_center:has(> :nth-child(3):last-child):is(.image_texts_tb_pc, .image_texts_pc),
		.align_center:has(> :nth-child(3):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
			grid-template-rows: repeat(2, min-content);
		}
		.align_center:has(> :nth-child(3):last-child):is(.image_texts_tb_pc, .image_texts_pc) > .heading_item,
		.align_center:has(> :nth-child(3):last-child):is(.texts_image_tb_pc, .texts_image_pc) > .heading_item {
			margin-top: auto;
		}
		:has(> :nth-child(4):last-child):is(.image_texts_tb_pc, .image_texts_pc),
		:has(> :nth-child(4):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
			grid-template-rows: repeat(2, min-content) 1fr;
		}
		.align_center:has(> :nth-child(4):last-child):is(.image_texts_tb_pc, .image_texts_pc),
		.align_center:has(> :nth-child(4):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
			grid-template-rows: repeat(3, min-content);
		}
		.align_center:has(> :nth-child(4):last-child):is(.image_texts_tb_pc, .image_texts_pc) > .heading_item,
		.align_center:has(> :nth-child(4):last-child):is(.texts_image_tb_pc, .texts_image_pc) > .heading_item {
			margin-top: auto;
		}
		:has(> :nth-child(5):last-child):is(.image_texts_tb_pc, .image_texts_pc),
		:has(> :nth-child(5):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
			grid-template-rows: repeat(3, min-content) 1fr;
		}
		.align_center:has(> :nth-child(5):last-child):is(.image_texts_tb_pc, .image_texts_pc),
		.align_center:has(> :nth-child(5):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
			grid-template-rows: repeat(4, min-content);
		}
		.align_center:has(> :nth-child(5):last-child):is(.image_texts_tb_pc, .image_texts_pc) > .heading_item,
		.align_center:has(> :nth-child(5):last-child):is(.texts_image_tb_pc, .texts_image_pc) > .heading_item {
			margin-top: auto;
		}
		:has(> :nth-child(6):last-child):is(.image_texts_tb_pc, .image_texts_pc),
		:has(> :nth-child(6):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
			grid-template-rows: repeat(4, min-content) 1fr;
		}
		.align_center:has(> :nth-child(6):last-child):is(.image_texts_tb_pc, .image_texts_pc),
		.align_center:has(> :nth-child(6):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
			grid-template-rows: repeat(5, min-content);
		}
		.align_center:has(> :nth-child(6):last-child):is(.image_texts_tb_pc, .image_texts_pc) > .heading_item,
		.align_center:has(> :nth-child(6):last-child):is(.texts_image_tb_pc, .texts_image_pc) > .heading_item {
			margin-top: auto;
		}
		:has(> :nth-child(7):last-child):is(.image_texts_tb_pc, .image_texts_pc),
		:has(> :nth-child(7):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
			grid-template-rows: repeat(5, min-content) 1fr;
		}
		.align_center:has(> :nth-child(7):last-child):is(.image_texts_tb_pc, .image_texts_pc),
		.align_center:has(> :nth-child(7):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
			grid-template-rows: repeat(6, min-content);
		}
		.align_center:has(> :nth-child(7):last-child):is(.image_texts_tb_pc, .image_texts_pc) > .heading_item,
		.align_center:has(> :nth-child(7):last-child):is(.texts_image_tb_pc, .texts_image_pc) > .heading_item {
			margin-top: auto;
		}
		:has(> :nth-child(8):last-child):is(.image_texts_tb_pc, .image_texts_pc),
		:has(> :nth-child(8):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
			grid-template-rows: repeat(6, min-content) 1fr;
		}
		.align_center:has(> :nth-child(8):last-child):is(.image_texts_tb_pc, .image_texts_pc),
		.align_center:has(> :nth-child(8):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
			grid-template-rows: repeat(7, min-content);
		}
		.align_center:has(> :nth-child(8):last-child):is(.image_texts_tb_pc, .image_texts_pc) > .heading_item,
		.align_center:has(> :nth-child(8):last-child):is(.texts_image_tb_pc, .texts_image_pc) > .heading_item {
			margin-top: auto;
		}
		:is(.image_texts_tb_pc, .image_texts_pc) {
			grid-template-columns: var(--image_texts_imagesize) 1fr;
		}
		:is(.image_texts_tb_pc, .image_texts_pc) > .image_item {
			grid-column: 1;
		}
		:is(.image_texts_tb_pc, .image_texts_pc) > * {
			grid-column: 2;
		}
		:is(.texts_image_tb_pc, .texts_image_pc) {
			grid-template-columns: 1fr var(--image_texts_imagesize);
		}
		:is(.texts_image_tb_pc, .texts_image_pc) > .image_item {
			grid-column: 2;
		}
		:is(.texts_image_tb_pc, .texts_image_pc) > * {
			grid-column: 1;
		}
		:is(.left_right_tb_pc, .left_right_pc) {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 0 var(--left_right_gap);
		}
		:is(.left_right_tb_pc, .left_right_pc) > [class^="heading"],
		:is(.left_right_tb_pc, .left_right_pc) > .clm_full {
			grid-column: 1/-1;
		}
		:is(.left_right_tb_pc, .left_right_pc) > *.align_self_start {
			align-self: flex-start;
		}
		:is(.left_right_tb_pc, .left_right_pc) > *.align_self_end {
			align-self: flex-end;
		}
		:is(.left_right_tb_pc, .left_right_pc) > .left_item,
		:is(.left_right_tb_pc, .left_right_pc) > .right_item {
			margin-bottom: 0;
		}
		:is(.left_right_tb_pc, .left_right_pc) > .left_item {
			grid-column: 1;
		}
		:is(.left_right_tb_pc, .left_right_pc) > .right_item {
			grid-column: 2;
		}
		.align_start:is(.left_right_tb_pc, .left_right_pc) {
			align-items: flex-start;
		}
		.align_end:is(.left_right_tb_pc, .left_right_pc) {
			align-items: flex-end;
		}
		:is(.float_left_tb_pc, .float_left_pc),
		:is(.float_right_tb_pc, .float_right_pc) {
			overflow: hidden;
		}
		:is(.float_left_tb_pc, .float_left_pc) > .image_item,
		:is(.float_right_tb_pc, .float_right_pc) > .image_item {
			width: var(--float_imagesize);
		}
		:is(.float_left_tb_pc, .float_left_pc) > .image_item {
			float: left;
			margin: 0 var(--float_gap, 10px) var(--float_gap, 10px) 0;
		}
		:is(.float_right_tb_pc, .float_right_pc) > .image_item {
			float: right;
			margin: 0 0 var(--float_gap, 10px) var(--float_gap, 10px);
		}
		:is(.clm2, .clm3, .clm4, .clm5, .clm2_tb_pc, .clm3_tb_pc, .clm4_tb_pc, .clm5_tb_pc, .clm2_pc, .clm3_pc, .clm4_pc, .clm5_pc, .clm2_tb_pc_pc, .clm3_tb_pc_pc, .clm4_tb_pc_pc, .clm5_tb_pc_pc) {
			display: grid;
			gap: var(--clm_gap);
		}
		:is(.clm2, .clm3, .clm4, .clm5, .clm2_tb_pc, .clm3_tb_pc, .clm4_tb_pc, .clm5_tb_pc, .clm2_pc, .clm3_pc, .clm4_pc, .clm5_pc, .clm2_tb_pc_pc, .clm3_tb_pc_pc, .clm4_tb_pc_pc, .clm5_tb_pc_pc)
			> [class^="heading"]:first-child,
		:is(.clm2, .clm3, .clm4, .clm5, .clm2_tb_pc, .clm3_tb_pc, .clm4_tb_pc, .clm5_tb_pc, .clm2_pc, .clm3_pc, .clm4_pc, .clm5_pc, .clm2_tb_pc_pc, .clm3_tb_pc_pc, .clm4_tb_pc_pc, .clm5_tb_pc_pc)
			> .clm_full {
			grid-column: 1/-1;
			margin-bottom: 0;
		}
		:is(.clm2, .clm3, .clm4, .clm5, .clm2_tb_pc, .clm3_tb_pc, .clm4_tb_pc, .clm5_tb_pc, .clm2_pc, .clm3_pc, .clm4_pc, .clm5_pc, .clm2_tb_pc_pc, .clm3_tb_pc_pc, .clm4_tb_pc_pc, .clm5_tb_pc_pc)
			> .clm_item {
			margin-bottom: 0;
		}
		.clm2_pc,
		.clm2_tb_pc,
		.clm2 {
			grid-template-columns: repeat(2, 1fr);
		}
		.clm3_pc,
		.clm3_tb_pc,
		.clm3 {
			grid-template-columns: repeat(3, 1fr);
		}
		.clm4_pc,
		.clm4_tb_pc,
		.clm4 {
			grid-template-columns: repeat(4, 1fr);
		}
		.clm5_pc,
		.clm5_tb_pc,
		.clm5 {
			grid-template-columns: repeat(5, 1fr);
		}
		:is(.snap_tb_pc, .snap_pc) {
			container-type: inline-size;
			display: flex;
			flex-flow: row nowrap;
			gap: var(--snap_gap);
			overflow-x: scroll;
			scroll-snap-type: x mandatory;
		}
		:is(.snap_tb_pc, .snap_pc) > .clm_item {
			flex-shrink: 0;
			margin-bottom: 0;
			width: var(--snap_item_width);
			scroll-snap-align: center;
		}
		:is(.snap_tb_pc, .snap_pc) > .clm_item:first-child {
			margin-left: calc((100% - var(--snap_item_width)) / 2);
		}
		:is(.snap_tb_pc, .snap_pc) > .clm_item:last-child {
			margin-right: calc((100% - var(--snap_item_width)) / 2);
		}
	}
	@media screen and (min-width: 1400px) {
		:is(.image_texts_lg),
		:is(.texts_image_lg) {
			display: grid;
			grid-auto-rows: min-content;
			gap: 0 var(--image_texts_gap);
		}
		:is(.image_texts_lg) > *[class^="heading"]:not(.heading_item),
		:is(.texts_image_lg) > *[class^="heading"]:not(.heading_item) {
			grid-row: 1;
			grid-column: 1/-1;
		}
		:is(.image_texts_lg) > .heading_item,
		:is(.texts_image_lg) > .heading_item {
			grid-row: auto;
		}
		:is(.image_texts_lg) > .image_item,
		:is(.texts_image_lg) > .image_item {
			grid-row: 1/-1;
			margin-bottom: 0;
		}
		:is(.image_texts_lg) > div:nth-last-child(1 of :not(.image_item)),
		:is(.texts_image_lg) > div:nth-last-child(1 of :not(.image_item)) {
			margin-bottom: 0;
		}
		:is(.image_texts_lg) > .align_center,
		:is(.texts_image_lg) > .align_center {
			align-self: center;
		}
		:has(> *[class^="heading"]:not(.heading_item)):is(.image_texts_lg) > .image_item,
		:has(> *[class^="heading"]:not(.heading_item)):is(.texts_image_lg) > .image_item {
			grid-row-start: 2;
		}
		.align_center:has(> :nth-child(2):last-child):is(.image_texts_lg),
		.align_center:has(> :nth-child(2):last-child):is(.texts_image_lg) {
			align-items: center;
		}
		:has(> :nth-child(3):last-child):is(.image_texts_lg),
		:has(> :nth-child(3):last-child):is(.texts_image_lg) {
			grid-template-rows: repeat(1, min-content) 1fr;
		}
		.align_center:has(> :nth-child(3):last-child):is(.image_texts_lg),
		.align_center:has(> :nth-child(3):last-child):is(.texts_image_lg) {
			grid-template-rows: repeat(2, min-content);
		}
		.align_center:has(> :nth-child(3):last-child):is(.image_texts_lg) > .heading_item,
		.align_center:has(> :nth-child(3):last-child):is(.texts_image_lg) > .heading_item {
			margin-top: auto;
		}
		:has(> :nth-child(4):last-child):is(.image_texts_lg),
		:has(> :nth-child(4):last-child):is(.texts_image_lg) {
			grid-template-rows: repeat(2, min-content) 1fr;
		}
		.align_center:has(> :nth-child(4):last-child):is(.image_texts_lg),
		.align_center:has(> :nth-child(4):last-child):is(.texts_image_lg) {
			grid-template-rows: repeat(3, min-content);
		}
		.align_center:has(> :nth-child(4):last-child):is(.image_texts_lg) > .heading_item,
		.align_center:has(> :nth-child(4):last-child):is(.texts_image_lg) > .heading_item {
			margin-top: auto;
		}
		:has(> :nth-child(5):last-child):is(.image_texts_lg),
		:has(> :nth-child(5):last-child):is(.texts_image_lg) {
			grid-template-rows: repeat(3, min-content) 1fr;
		}
		.align_center:has(> :nth-child(5):last-child):is(.image_texts_lg),
		.align_center:has(> :nth-child(5):last-child):is(.texts_image_lg) {
			grid-template-rows: repeat(4, min-content);
		}
		.align_center:has(> :nth-child(5):last-child):is(.image_texts_lg) > .heading_item,
		.align_center:has(> :nth-child(5):last-child):is(.texts_image_lg) > .heading_item {
			margin-top: auto;
		}
		:has(> :nth-child(6):last-child):is(.image_texts_lg),
		:has(> :nth-child(6):last-child):is(.texts_image_lg) {
			grid-template-rows: repeat(4, min-content) 1fr;
		}
		.align_center:has(> :nth-child(6):last-child):is(.image_texts_lg),
		.align_center:has(> :nth-child(6):last-child):is(.texts_image_lg) {
			grid-template-rows: repeat(5, min-content);
		}
		.align_center:has(> :nth-child(6):last-child):is(.image_texts_lg) > .heading_item,
		.align_center:has(> :nth-child(6):last-child):is(.texts_image_lg) > .heading_item {
			margin-top: auto;
		}
		:has(> :nth-child(7):last-child):is(.image_texts_lg),
		:has(> :nth-child(7):last-child):is(.texts_image_lg) {
			grid-template-rows: repeat(5, min-content) 1fr;
		}
		.align_center:has(> :nth-child(7):last-child):is(.image_texts_lg),
		.align_center:has(> :nth-child(7):last-child):is(.texts_image_lg) {
			grid-template-rows: repeat(6, min-content);
		}
		.align_center:has(> :nth-child(7):last-child):is(.image_texts_lg) > .heading_item,
		.align_center:has(> :nth-child(7):last-child):is(.texts_image_lg) > .heading_item {
			margin-top: auto;
		}
		:has(> :nth-child(8):last-child):is(.image_texts_lg),
		:has(> :nth-child(8):last-child):is(.texts_image_lg) {
			grid-template-rows: repeat(6, min-content) 1fr;
		}
		.align_center:has(> :nth-child(8):last-child):is(.image_texts_lg),
		.align_center:has(> :nth-child(8):last-child):is(.texts_image_lg) {
			grid-template-rows: repeat(7, min-content);
		}
		.align_center:has(> :nth-child(8):last-child):is(.image_texts_lg) > .heading_item,
		.align_center:has(> :nth-child(8):last-child):is(.texts_image_lg) > .heading_item {
			margin-top: auto;
		}
		:is(.image_texts_lg) {
			grid-template-columns: var(--image_texts_imagesize) 1fr;
		}
		:is(.image_texts_lg) > .image_item {
			grid-column: 1;
		}
		:is(.image_texts_lg) > * {
			grid-column: 2;
		}
		:is(.texts_image_lg) {
			grid-template-columns: 1fr var(--image_texts_imagesize);
		}
		:is(.texts_image_lg) > .image_item {
			grid-column: 2;
		}
		:is(.texts_image_lg) > * {
			grid-column: 1;
		}
		:is(.left_right_lg) {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 0 var(--left_right_gap);
		}
		:is(.left_right_lg) > [class^="heading"],
		:is(.left_right_lg) > .clm_full {
			grid-column: 1/-1;
		}
		:is(.left_right_lg) > *.align_self_start {
			align-self: flex-start;
		}
		:is(.left_right_lg) > *.align_self_end {
			align-self: flex-end;
		}
		:is(.left_right_lg) > .left_item,
		:is(.left_right_lg) > .right_item {
			margin-bottom: 0;
		}
		:is(.left_right_lg) > .left_item {
			grid-column: 1;
		}
		:is(.left_right_lg) > .right_item {
			grid-column: 2;
		}
		.align_start:is(.left_right_lg) {
			align-items: flex-start;
		}
		.align_end:is(.left_right_lg) {
			align-items: flex-end;
		}
		:is(.float_left_lg),
		:is(.float_right_lg) {
			overflow: hidden;
		}
		:is(.float_left_lg) > .image_item,
		:is(.float_right_lg) > .image_item {
			width: var(--float_imagesize);
		}
		:is(.float_left_lg) > .image_item {
			float: left;
			margin: 0 var(--float_gap, 10px) var(--float_gap, 10px) 0;
		}
		:is(.float_right_lg) > .image_item {
			float: right;
			margin: 0 0 var(--float_gap, 10px) var(--float_gap, 10px);
		}
		:is(.clm2, .clm3, .clm4, .clm5, .clm2_lg, .clm3_lg, .clm4_lg, .clm5_lg) {
			display: grid;
			gap: var(--clm_gap);
		}
		:is(.clm2, .clm3, .clm4, .clm5, .clm2_lg, .clm3_lg, .clm4_lg, .clm5_lg) > [class^="heading"]:first-child,
		:is(.clm2, .clm3, .clm4, .clm5, .clm2_lg, .clm3_lg, .clm4_lg, .clm5_lg) > .clm_full {
			grid-column: 1/-1;
			margin-bottom: 0;
		}
		:is(.clm2, .clm3, .clm4, .clm5, .clm2_lg, .clm3_lg, .clm4_lg, .clm5_lg) > .clm_item {
			margin-bottom: 0;
		}
		.clm2_lg,
		.clm2 {
			grid-template-columns: repeat(2, 1fr);
		}
		.clm3_lg,
		.clm3 {
			grid-template-columns: repeat(3, 1fr);
		}
		.clm4_lg,
		.clm4 {
			grid-template-columns: repeat(4, 1fr);
		}
		.clm5_lg,
		.clm5 {
			grid-template-columns: repeat(5, 1fr);
		}
		:is(.snap_lg) {
			container-type: inline-size;
			display: flex;
			flex-flow: row nowrap;
			gap: var(--snap_gap);
			overflow-x: scroll;
			scroll-snap-type: x mandatory;
		}
		:is(.snap_lg) > .clm_item {
			flex-shrink: 0;
			margin-bottom: 0;
			width: var(--snap_item_width);
			scroll-snap-align: center;
		}
		:is(.snap_lg) > .clm_item:first-child {
			margin-left: calc((100% - var(--snap_item_width)) / 2);
		}
		:is(.snap_lg) > .clm_item:last-child {
			margin-right: calc((100% - var(--snap_item_width)) / 2);
		}
	}
	.nav_dots {
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_right.svg);
		--icon_size: 40px;
		grid-column: 1/-1;
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		align-items: center;
		justify-content: center;
		padding-block: 8px;
	}
	.nav_dots > span {
		display: block;
		border-radius: 50%;
		width: 8px;
		aspect-ratio: 1/1;
		background-color: #ccc;
		transition: background-color 0.5s;
	}
	.nav_dots > span.current {
		background-color: var(--color_theme_base);
	}
	.nav_btn {
		position: relative;
		z-index: 2;
		grid-row: 1;
		opacity: 1;
		cursor: pointer;
		transition: 0.3s;
	}
	.nav_btn::before {
		content: "";
		display: block;
		width: var(--icon_size);
		aspect-ratio: 1/1;
		background-color: var(--icon_color);
		-webkit-mask: var(--icon_image) no-repeat center/contain;
		mask: var(--icon_image) no-repeat center/contain;
	}
	.nav_btn > * {
		display: none;
	}
	.nav_btn.disabled {
		opacity: 0.1;
		pointer-events: none;
	}
	.nav_btn.prev {
		grid-column: 1;
		scale: -1 1;
	}
	.nav_btn.next {
		grid-column: -2;
	}
	.gallery_wrap .gallery_target {
		position: relative;
		display: grid;
		grid-template-columns: min-content 1fr min-content;
		align-items: center;
	}
	.gallery_wrap .gallery_target .pic,
	.gallery_wrap .gallery_target .object_fit {
		z-index: 1;
		grid-row: 1;
		grid-column: 1/-1;
	}
	.gallery_wrap .gallery_target .nav_btn.prev,
	.gallery_wrap .gallery_target .nav_btn.next {
		position: relative;
		z-index: 2;
		grid-row: 1;
	}
	.gallery_wrap .gallery_handles > * {
		cursor: pointer;
		transition: 0.5s;
	}
	.snap_wrap {
		position: relative;
		display: grid;
		grid-template-columns: min-content 1fr min-content;
		align-items: center;
	}
	.snap_wrap > .snap_items {
		z-index: 1;
		grid-row: 1;
		grid-column: 1/-1;
	}
	.snap_wrap .nav_btn {
		position: relative;
		z-index: 2;
		grid-row: 1;
	}
	.snap_wrap .snap_gallery {
		--snap_item_width: 100%;
		--snap_gap: 0;
	}
	.snap_wrap .nav_dots {
		grid-column: 1/-1;
	}
	.snap_wrap .snap_handles {
		grid-column: 1/-1;
	}
	.snap_wrap .snap_handles > * {
		cursor: pointer;
		transition: 0.5s;
	}
	.snap_wrap .snap_handles > *.current {
		opacity: 0.5;
	}
	:is(.slider_wrap, .carousel_wrap, .loop_wrap) {
		position: relative;
		display: grid;
		grid-template-rows: min-content min-content;
		grid-template-columns: min-content 1fr min-content;
		align-items: center;
	}
	:is(.slider_wrap, .carousel_wrap, .loop_wrap) > :is(.slider_overflow_hidden, .carousel_overflow_hidden, .loop_overflow_hidden) {
		z-index: 1;
		grid-row: 1;
		grid-column: 1/4;
		overflow: hidden;
	}
	:is(.slider_wrap, .carousel_wrap, .loop_wrap) > :is(.slider_overflow_hidden, .carousel_overflow_hidden, .loop_overflow_hidden) > :is(.slider_items, .carousel_items, .loop_items) {
		position: relative;
		left: 0;
		display: flex;
		width: 100%;
	}
	:is(.slider_wrap, .carousel_wrap, .loop_wrap)
		> :is(.slider_overflow_hidden, .carousel_overflow_hidden, .loop_overflow_hidden)
		> :is(.slider_items, .carousel_items, .loop_items)
		> :is(.slider_item, .carousel_item, .loop_item) {
		position: relative;
		flex-shrink: 0;
	}
	:is(.slider_wrap, .carousel_wrap, .loop_wrap)
		> :is(.slider_overflow_hidden, .carousel_overflow_hidden, .loop_overflow_hidden)
		> :is(.slider_items, .carousel_items, .loop_items)
		> :is(.slider_item, .carousel_item, .loop_item)
		.object_fit {
		margin-bottom: 0;
	}
	:is(.slider_wrap, .carousel_wrap, .loop_wrap)
		> :is(.slider_overflow_hidden, .carousel_overflow_hidden, .loop_overflow_hidden)
		> :is(.slider_items, .carousel_items, .loop_items)
		> :is(.slider_item, .carousel_item, .loop_item)
		:is(.slider_text, .carousel_text, .loop_text) {
		position: absolute;
		top: 10px;
		right: 10px;
		font-size: 3rem;
		font-weight: bold;
		color: #fff;
	}
	:is(.slider_wrap, .carousel_wrap, .loop_wrap) > :is(.slider_overflow_hidden, .carousel_overflow_hidden, .loop_overflow_hidden) > :is(.slider_items, .carousel_items, .loop_items) > .slider_item {
		width: var(--slider_item_width);
	}
	:is(.slider_wrap, .carousel_wrap, .loop_wrap) > :is(.slider_overflow_hidden, .carousel_overflow_hidden, .loop_overflow_hidden) > :is(.slider_items, .carousel_items, .loop_items) > .carousel_item {
		width: var(--carousel_item_width);
	}
	:is(.slider_wrap, .carousel_wrap, .loop_wrap) > :is(.slider_overflow_hidden, .carousel_overflow_hidden, .loop_overflow_hidden) > :is(.slider_items, .carousel_items, .loop_items) > .loop_item {
		width: var(--loop_item_width);
	}
	.smooth_slide_wrap {
		display: flex;
		align-items: center;
		overflow: hidden;
	}
	.smooth_slide_wrap .smooth_slide_items {
		flex-shrink: 0;
		display: flex;
		align-items: center;
		margin-bottom: 0 !important;
		animation: smooth_slide infinite var(--smooth_slide_duration, 30s) linear both;
	}
	@keyframes smooth_slide {
		from {
			transform: translateX(0);
		}
		to {
			transform: translateX(-100%);
		}
	}
	.smooth_slide_wrap .smooth_slide_items .slide_item {
		margin-bottom: 0 !important;
		margin-left: var(--smooth_slide_gap, 10px);
		width: var(--smooth_slide_item_width);
	}
	.tab_wrap .tab_handle_set > * {
		cursor: pointer;
		transition: all 0.5s;
	}
	.tab_wrap .tab_handle_set > * > * {
		display: block;
		transition: all 0.5s;
	}
	.tab_wrap .tab_handle_set > *.current {
		pointer-events: none;
		cursor: default;
	}
	.tab_wrap .tab_handle_set.current_grow {
		display: flex;
	}
	.tab_wrap .tab_handle_set.current_grow > * {
		flex-basis: auto;
		flex-grow: 1;
		width: 70%;
		overflow: hidden;
		text-align: center;
		text-decoration: none;
		text-overflow: ellipsis;
		white-space: nowrap;
		cursor: pointer;
	}
	.tab_wrap .tab_handle_set.current_grow > * > * {
		width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.tab_wrap .tab_handle_set.current_grow > *.current {
		width: 100%;
	}
	.tab_wrap .tab_target {
		margin-bottom: 0;
	}
	ul.ul_ttl {
		display: grid;
		gap: 0 1em;
	}
	ul.ul_ttl > li {
		display: grid;
		margin-bottom: 0;
	}
	ul.ul_ttl > li > .ttl,
	ul.ul_ttl > li::after {
		order: -1;
		display: block;
		min-width: 0;
		font-size: inherit;
		line-height: inherit;
	}
	ul.ul_ttl > li::after {
		content: attr(title);
	}
	ul.ul_ttl:where(:not(.ttl_dot)) > li {
		padding-left: 0;
	}
	ul.ul_ttl:where(:not(.ttl_dot)) > li::before {
		display: none;
	}
	ul.ul_ttl.ttl_color > li .ttl,
	ul.ul_ttl.ttl_color > li::after {
		color: var(--list_color_base);
	}
	ul.ul_ttl.ttl_bold > li .ttl,
	ul.ul_ttl.ttl_bold > li::after {
		font-weight: bold;
	}
	ul.ul_ttl.row {
		grid-template-columns: auto 1fr;
	}
	ul.ul_ttl.row > li {
		grid-column: 1/-1;
		display: grid;
		grid-template-columns: subgrid;
	}
	ul.ul_ttl.row > li > * {
		grid-column: 2;
		margin: 0;
	}
	ul.ul_ttl.row > li > .ttl,
	ul.ul_ttl.row > li::after {
		grid-row: 1;
		grid-column: 1;
	}
	@media screen and (max-width: 599px) {
		ul.ul_ttl.row_sp,
		ul.ul_ttl.row_sp_tb {
			grid-template-columns: auto 1fr;
		}
		ul.ul_ttl.row_sp > li,
		ul.ul_ttl.row_sp_tb > li {
			grid-column: 1/-1;
			display: grid;
			grid-template-columns: subgrid;
		}
		ul.ul_ttl.row_sp > li > *,
		ul.ul_ttl.row_sp_tb > li > * {
			grid-column: 2;
			margin: 0;
		}
		ul.ul_ttl.row_sp > li > .ttl,
		ul.ul_ttl.row_sp > li::after,
		ul.ul_ttl.row_sp_tb > li > .ttl,
		ul.ul_ttl.row_sp_tb > li::after {
			grid-row: 1;
			grid-column: 1;
		}
	}
	@media screen and (min-width: 600px) and (max-width: 959px) {
		ul.ul_ttl.row_sp_tb,
		ul.ul_ttl.row_tb,
		ul.ul_ttl.row_tb_pc {
			grid-template-columns: auto 1fr;
		}
		ul.ul_ttl.row_sp_tb > li,
		ul.ul_ttl.row_tb > li,
		ul.ul_ttl.row_tb_pc > li {
			grid-column: 1/-1;
			display: grid;
			grid-template-columns: subgrid;
		}
		ul.ul_ttl.row_sp_tb > li > *,
		ul.ul_ttl.row_tb > li > *,
		ul.ul_ttl.row_tb_pc > li > * {
			grid-column: 2;
			margin: 0;
		}
		ul.ul_ttl.row_sp_tb > li > .ttl,
		ul.ul_ttl.row_sp_tb > li::after,
		ul.ul_ttl.row_tb > li > .ttl,
		ul.ul_ttl.row_tb > li::after,
		ul.ul_ttl.row_tb_pc > li > .ttl,
		ul.ul_ttl.row_tb_pc > li::after {
			grid-row: 1;
			grid-column: 1;
		}
	}
	@media print, screen and (min-width: 960px) {
		ul.ul_ttl.row_tb_pc,
		ul.ul_ttl.row_pc {
			grid-template-columns: auto 1fr;
		}
		ul.ul_ttl.row_tb_pc > li,
		ul.ul_ttl.row_pc > li {
			grid-column: 1/-1;
			display: grid;
			grid-template-columns: subgrid;
		}
		ul.ul_ttl.row_tb_pc > li > *,
		ul.ul_ttl.row_pc > li > * {
			grid-column: 2;
			margin: 0;
		}
		ul.ul_ttl.row_tb_pc > li > .ttl,
		ul.ul_ttl.row_tb_pc > li::after,
		ul.ul_ttl.row_pc > li > .ttl,
		ul.ul_ttl.row_pc > li::after {
			grid-row: 1;
			grid-column: 1;
		}
	}
	@media screen and (min-width: 1400px) {
		ul.ul_ttl.row_lg {
			grid-template-columns: auto 1fr;
		}
		ul.ul_ttl.row_lg > li {
			grid-column: 1/-1;
			display: grid;
			grid-template-columns: subgrid;
		}
		ul.ul_ttl.row_lg > li > * {
			grid-column: 2;
			margin: 0;
		}
		ul.ul_ttl.row_lg > li > .ttl,
		ul.ul_ttl.row_lg > li::after {
			grid-row: 1;
			grid-column: 1;
		}
	}
	ul.ul_ttl.rowgap_5px {
		row-gap: 5px;
	}
	ul.ul_ttl.rowgap_6px {
		row-gap: 6px;
	}
	ul.ul_ttl.rowgap_7px {
		row-gap: 7px;
	}
	ul.ul_ttl.rowgap_8px {
		row-gap: 8px;
	}
	ul.ul_ttl.rowgap_9px {
		row-gap: 9px;
	}
	ul.ul_ttl.rowgap_10px {
		row-gap: 10px;
	}
	dl.row {
		display: grid;
		grid-template-columns: auto 1fr;
		gap: 8px 20px;
	}
	dl.row > dt {
		grid-column: 1;
		white-space: nowrap;
	}
	dl.row > dd {
		grid-column: 2;
		margin-bottom: 0;
	}
	@media screen and (max-width: 599px) {
		dl.row_sp,
		dl.row_sp_tb {
			display: grid;
			grid-template-columns: auto 1fr;
			gap: 8px 20px;
		}
		dl.row_sp > dt,
		dl.row_sp_tb > dt {
			grid-column: 1;
			white-space: nowrap;
		}
		dl.row_sp > dd,
		dl.row_sp_tb > dd {
			grid-column: 2;
			margin-bottom: 0;
		}
	}
	@media screen and (min-width: 600px) and (max-width: 959px) {
		dl.row_sp_tb,
		dl.row_tb,
		dl.row_tb_pc {
			display: grid;
			grid-template-columns: auto 1fr;
			gap: 8px 20px;
		}
		dl.row_sp_tb > dt,
		dl.row_tb > dt,
		dl.row_tb_pc > dt {
			grid-column: 1;
			white-space: nowrap;
		}
		dl.row_sp_tb > dd,
		dl.row_tb > dd,
		dl.row_tb_pc > dd {
			grid-column: 2;
			margin-bottom: 0;
		}
	}
	@media print, screen and (min-width: 960px) {
		dl.row_tb_pc,
		dl.row_pc {
			display: grid;
			grid-template-columns: auto 1fr;
			gap: 8px 20px;
		}
		dl.row_tb_pc > dt,
		dl.row_pc > dt {
			grid-column: 1;
			white-space: nowrap;
		}
		dl.row_tb_pc > dd,
		dl.row_pc > dd {
			grid-column: 2;
			margin-bottom: 0;
		}
	}
	@media screen and (min-width: 1400px) {
		dl.row_lg {
			display: grid;
			grid-template-columns: auto 1fr;
			gap: 8px 20px;
		}
		dl.row_lg > dt {
			grid-column: 1;
			white-space: nowrap;
		}
		dl.row_lg > dd {
			grid-column: 2;
			margin-bottom: 0;
		}
	}
	@media screen and (max-width: 959px) {
		.scroll_wrap {
			overflow: auto;
			white-space: nowrap;
		}
		.scroll_wrap::-webkit-scrollbar {
			height: 5px;
		}
		.scroll_wrap::-webkit-scrollbar-track {
			background: #f1f1f1;
		}
		.scroll_wrap::-webkit-scrollbar-thumb {
			background: #bcbcbc;
		}
		.scroll_wrap table {
			width: -moz-fit-content;
			width: fit-content;
		}
		.scroll_wrap .pic,
		.scroll_wrap .object_fit {
			width: -moz-fit-content;
			width: fit-content;
		}
		.scroll_wrap .pic img,
		.scroll_wrap .pic svg,
		.scroll_wrap .object_fit img,
		.scroll_wrap .object_fit svg {
			width: auto;
			max-width: none;
		}
	}
	@media screen and (max-width: 959px) {
		.scroll_horizon {
			position: relative;
		}
		.scroll_horizon::before {
			content: "スクロールできます";
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
			z-index: 1;
			display: flex;
			align-items: flex-end;
			justify-content: center;
			margin: auto;
			padding: 10px;
			border-radius: 10px;
			width: clamp(140px, 50%, 200px);
			height: 100px;
			background: rgba(from #000 r g b/0.5) url(/ec/images/event/20th/lib/parts/scroll_horizon.svg) no-repeat center 30%/30px;
			opacity: 0;
			text-align: center;
			font-size: 1.2rem;
			font-weight: bold;
			color: #fff;
			pointer-events: none;
			transition: 0.3s;
		}
		.scroll_horizon.show::before {
			opacity: 1;
		}
	}
}
@layer lib {
	.hide {
		display: none !important;
	}
	@media screen and (max-width: 599px) {
		.hide_sp,
		.hide_sp_tb {
			display: none !important;
		}
	}
	@media screen and (min-width: 600px) and (max-width: 959px) {
		.hide_sp_tb,
		.hide_tb,
		.hide_tb_pc {
			display: none !important;
		}
	}
	@media print, screen and (min-width: 960px) {
		.hide_tb_pc,
		.hide_pc {
			display: none !important;
		}
	}
	@media screen and (min-width: 1400px) {
		.hide_lg {
			display: none !important;
		}
	}
	.bold {
		font-weight: bold;
	}
	.nobr {
		display: inline-block;
	}
	:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).right {
		text-align: right;
	}
	@media screen and (max-width: 599px) {
		:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).right_sp,
		:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).right_sp_tb {
			text-align: right;
		}
	}
	@media screen and (min-width: 600px) and (max-width: 959px) {
		:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).right_sp_tb,
		:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).right_tb,
		:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).right_tb_pc {
			text-align: right;
		}
	}
	@media print, screen and (min-width: 960px) {
		:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).right_tb_pc,
		:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).right_pc {
			text-align: right;
		}
	}
	@media screen and (min-width: 1400px) {
		:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).right_lg {
			text-align: right;
		}
	}
	:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).left {
		text-align: left;
	}
	@media screen and (max-width: 599px) {
		:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).left_sp,
		:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).left_sp_tb {
			text-align: left;
		}
	}
	@media screen and (min-width: 600px) and (max-width: 959px) {
		:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).left_sp_tb,
		:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).left_tb,
		:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).left_tb_pc {
			text-align: left;
		}
	}
	@media print, screen and (min-width: 960px) {
		:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).left_tb_pc,
		:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).left_pc {
			text-align: left;
		}
	}
	@media screen and (min-width: 1400px) {
		:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).left_lg {
			text-align: left;
		}
	}
	:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).center {
		text-align: center;
	}
	@media screen and (max-width: 599px) {
		:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).center_sp,
		:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).center_sp_tb {
			text-align: center;
		}
	}
	@media screen and (min-width: 600px) and (max-width: 959px) {
		:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).center_sp_tb,
		:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).center_tb,
		:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).center_tb_pc {
			text-align: center;
		}
	}
	@media print, screen and (min-width: 960px) {
		:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).center_tb_pc,
		:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).center_pc {
			text-align: center;
		}
	}
	@media screen and (min-width: 1400px) {
		:where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).center_lg {
			text-align: center;
		}
	}
	.texts .right {
		text-align: right;
	}
	@media screen and (max-width: 599px) {
		.texts .right_sp,
		.texts .right_sp_tb {
			text-align: right;
		}
	}
	@media screen and (min-width: 600px) and (max-width: 959px) {
		.texts .right_sp_tb,
		.texts .right_tb,
		.texts .right_tb_pc {
			text-align: right;
		}
	}
	@media print, screen and (min-width: 960px) {
		.texts .right_tb_pc,
		.texts .right_pc {
			text-align: right;
		}
	}
	@media screen and (min-width: 1400px) {
		.texts .right_lg {
			text-align: right;
		}
	}
	.texts .left {
		text-align: right;
	}
	@media screen and (max-width: 599px) {
		.texts .left_sp,
		.texts .left_sp_tb {
			text-align: right;
		}
	}
	@media screen and (min-width: 600px) and (max-width: 959px) {
		.texts .left_sp_tb,
		.texts .left_tb,
		.texts .left_tb_pc {
			text-align: right;
		}
	}
	@media print, screen and (min-width: 960px) {
		.texts .left_tb_pc,
		.texts .left_pc {
			text-align: right;
		}
	}
	@media screen and (min-width: 1400px) {
		.texts .left_lg {
			text-align: right;
		}
	}
	.texts .center {
		text-align: center;
	}
	@media screen and (max-width: 599px) {
		.texts .center_sp,
		.texts .center_sp_tb {
			text-align: center;
		}
	}
	@media screen and (min-width: 600px) and (max-width: 959px) {
		.texts .center_sp_tb,
		.texts .center_tb,
		.texts .center_tb_pc {
			text-align: center;
		}
	}
	@media print, screen and (min-width: 960px) {
		.texts .center_tb_pc,
		.texts .center_pc {
			text-align: center;
		}
	}
	@media screen and (min-width: 1400px) {
		.texts .center_lg {
			text-align: center;
		}
	}
	.youtube_wrap,
	.movie_wrap {
		width: 100%;
		aspect-ratio: 16/9;
	}
	.youtube_wrap iframe,
	.youtube_wrap video,
	.movie_wrap iframe,
	.movie_wrap video {
		width: 100%;
		height: 100%;
	}
	.fadein_wrap {
		opacity: 0;
		transition: none;
	}
	.fadein_wrap.show {
		opacity: 1;
		transition: opacity 0.6s;
	}
	.area > :not(.full) {
		container: wrapper/inline-size;
		margin-inline: auto;
		width: min(var(--wrapper_default), var(--wrapper_max));
	}
	.area > .full {
		width: 100%;
	}
	@media screen and (max-width: 599px) {
		.area > .full_sp,
		.area > .full_sp_tb {
			width: 100%;
		}
	}
	@media screen and (min-width: 600px) and (max-width: 959px) {
		.area > .full_sp_tb,
		.area > .full_tb,
		.area > .full_tb_pc {
			width: 100%;
		}
	}
	@media print, screen and (min-width: 960px) {
		.area > .full_tb_pc,
		.area > .full_pc {
			width: 100%;
		}
	}
	@media screen and (min-width: 1400px) {
		.area > .full_lg {
			width: 100%;
		}
	}
	.area > .full > * {
		container: wrapper/inline-size;
		margin-inline: auto;
		width: min(var(--wrapper_default), var(--wrapper_max));
	}
	.wrapper {
		container: wrapper/inline-size;
		margin-inline: auto;
		width: min(var(--wrapper_default), var(--wrapper_max));
	}
	.wrapper.full {
		--wrapper_max: 100%;
	}
	.wrapper_break {
		margin-inline: calc(50% - 50vw) !important;
	}
	@media screen and (max-width: 599px) {
		.wrapper_break_sp,
		.wrapper_break_sp_tb {
			margin-inline: calc(50% - 50vw) !important;
		}
	}
	@media screen and (min-width: 600px) and (max-width: 959px) {
		.wrapper_break_sp_tb,
		.wrapper_break_tb,
		.wrapper_break_tb_pc {
			margin-inline: calc(50% - 50vw) !important;
		}
	}
	@media print, screen and (min-width: 960px) {
		.wrapper_break_tb_pc,
		.wrapper_break_pc {
			margin-inline: calc(50% - 50vw) !important;
		}
	}
	@media screen and (min-width: 1400px) {
		.wrapper_break_lg {
			margin-inline: calc(50% - 50vw) !important;
		}
	}
	.bottom_line {
		margin-bottom: clamp(20px, 20px + 10 * (100vw - 400px)/1000, 30px);
		padding-bottom: clamp(20px, 20px + 10 * (100vw - 400px)/1000, 30px);
		border-bottom: 1px solid var(--border_color_base);
	}
	.box.flash_wrap {
		margin-bottom: var(--part_margin);
	}
}
body[data-aos-duration="50"] [data-aos],
[data-aos][data-aos][data-aos-duration="50"] {
	transition-duration: 50ms;
}
body[data-aos-delay="50"] [data-aos],
[data-aos][data-aos][data-aos-delay="50"] {
	transition-delay: 0s;
}
body[data-aos-delay="50"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="50"].aos-animate {
	transition-delay: 50ms;
}
body[data-aos-duration="100"] [data-aos],
[data-aos][data-aos][data-aos-duration="100"] {
	transition-duration: 100ms;
}
body[data-aos-delay="100"] [data-aos],
[data-aos][data-aos][data-aos-delay="100"] {
	transition-delay: 0s;
}
body[data-aos-delay="100"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="100"].aos-animate {
	transition-delay: 100ms;
}
body[data-aos-duration="150"] [data-aos],
[data-aos][data-aos][data-aos-duration="150"] {
	transition-duration: 150ms;
}
body[data-aos-delay="150"] [data-aos],
[data-aos][data-aos][data-aos-delay="150"] {
	transition-delay: 0s;
}
body[data-aos-delay="150"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="150"].aos-animate {
	transition-delay: 150ms;
}
body[data-aos-duration="200"] [data-aos],
[data-aos][data-aos][data-aos-duration="200"] {
	transition-duration: 200ms;
}
body[data-aos-delay="200"] [data-aos],
[data-aos][data-aos][data-aos-delay="200"] {
	transition-delay: 0s;
}
body[data-aos-delay="200"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="200"].aos-animate {
	transition-delay: 200ms;
}
body[data-aos-duration="250"] [data-aos],
[data-aos][data-aos][data-aos-duration="250"] {
	transition-duration: 250ms;
}
body[data-aos-delay="250"] [data-aos],
[data-aos][data-aos][data-aos-delay="250"] {
	transition-delay: 0s;
}
body[data-aos-delay="250"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="250"].aos-animate {
	transition-delay: 250ms;
}
body[data-aos-duration="300"] [data-aos],
[data-aos][data-aos][data-aos-duration="300"] {
	transition-duration: 300ms;
}
body[data-aos-delay="300"] [data-aos],
[data-aos][data-aos][data-aos-delay="300"] {
	transition-delay: 0s;
}
body[data-aos-delay="300"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="300"].aos-animate {
	transition-delay: 300ms;
}
body[data-aos-duration="350"] [data-aos],
[data-aos][data-aos][data-aos-duration="350"] {
	transition-duration: 350ms;
}
body[data-aos-delay="350"] [data-aos],
[data-aos][data-aos][data-aos-delay="350"] {
	transition-delay: 0s;
}
body[data-aos-delay="350"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="350"].aos-animate {
	transition-delay: 350ms;
}
body[data-aos-duration="400"] [data-aos],
[data-aos][data-aos][data-aos-duration="400"] {
	transition-duration: 400ms;
}
body[data-aos-delay="400"] [data-aos],
[data-aos][data-aos][data-aos-delay="400"] {
	transition-delay: 0s;
}
body[data-aos-delay="400"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="400"].aos-animate {
	transition-delay: 400ms;
}
body[data-aos-duration="450"] [data-aos],
[data-aos][data-aos][data-aos-duration="450"] {
	transition-duration: 450ms;
}
body[data-aos-delay="450"] [data-aos],
[data-aos][data-aos][data-aos-delay="450"] {
	transition-delay: 0s;
}
body[data-aos-delay="450"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="450"].aos-animate {
	transition-delay: 450ms;
}
body[data-aos-duration="500"] [data-aos],
[data-aos][data-aos][data-aos-duration="500"] {
	transition-duration: 500ms;
}
body[data-aos-delay="500"] [data-aos],
[data-aos][data-aos][data-aos-delay="500"] {
	transition-delay: 0s;
}
body[data-aos-delay="500"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="500"].aos-animate {
	transition-delay: 500ms;
}
body[data-aos-duration="550"] [data-aos],
[data-aos][data-aos][data-aos-duration="550"] {
	transition-duration: 550ms;
}
body[data-aos-delay="550"] [data-aos],
[data-aos][data-aos][data-aos-delay="550"] {
	transition-delay: 0s;
}
body[data-aos-delay="550"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="550"].aos-animate {
	transition-delay: 550ms;
}
body[data-aos-duration="600"] [data-aos],
[data-aos][data-aos][data-aos-duration="600"] {
	transition-duration: 600ms;
}
body[data-aos-delay="600"] [data-aos],
[data-aos][data-aos][data-aos-delay="600"] {
	transition-delay: 0s;
}
body[data-aos-delay="600"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="600"].aos-animate {
	transition-delay: 600ms;
}
body[data-aos-duration="650"] [data-aos],
[data-aos][data-aos][data-aos-duration="650"] {
	transition-duration: 650ms;
}
body[data-aos-delay="650"] [data-aos],
[data-aos][data-aos][data-aos-delay="650"] {
	transition-delay: 0s;
}
body[data-aos-delay="650"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="650"].aos-animate {
	transition-delay: 650ms;
}
body[data-aos-duration="700"] [data-aos],
[data-aos][data-aos][data-aos-duration="700"] {
	transition-duration: 700ms;
}
body[data-aos-delay="700"] [data-aos],
[data-aos][data-aos][data-aos-delay="700"] {
	transition-delay: 0s;
}
body[data-aos-delay="700"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="700"].aos-animate {
	transition-delay: 700ms;
}
body[data-aos-duration="750"] [data-aos],
[data-aos][data-aos][data-aos-duration="750"] {
	transition-duration: 750ms;
}
body[data-aos-delay="750"] [data-aos],
[data-aos][data-aos][data-aos-delay="750"] {
	transition-delay: 0s;
}
body[data-aos-delay="750"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="750"].aos-animate {
	transition-delay: 750ms;
}
body[data-aos-duration="800"] [data-aos],
[data-aos][data-aos][data-aos-duration="800"] {
	transition-duration: 800ms;
}
body[data-aos-delay="800"] [data-aos],
[data-aos][data-aos][data-aos-delay="800"] {
	transition-delay: 0s;
}
body[data-aos-delay="800"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="800"].aos-animate {
	transition-delay: 800ms;
}
body[data-aos-duration="850"] [data-aos],
[data-aos][data-aos][data-aos-duration="850"] {
	transition-duration: 850ms;
}
body[data-aos-delay="850"] [data-aos],
[data-aos][data-aos][data-aos-delay="850"] {
	transition-delay: 0s;
}
body[data-aos-delay="850"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="850"].aos-animate {
	transition-delay: 850ms;
}
body[data-aos-duration="900"] [data-aos],
[data-aos][data-aos][data-aos-duration="900"] {
	transition-duration: 900ms;
}
body[data-aos-delay="900"] [data-aos],
[data-aos][data-aos][data-aos-delay="900"] {
	transition-delay: 0s;
}
body[data-aos-delay="900"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="900"].aos-animate {
	transition-delay: 900ms;
}
body[data-aos-duration="950"] [data-aos],
[data-aos][data-aos][data-aos-duration="950"] {
	transition-duration: 950ms;
}
body[data-aos-delay="950"] [data-aos],
[data-aos][data-aos][data-aos-delay="950"] {
	transition-delay: 0s;
}
body[data-aos-delay="950"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="950"].aos-animate {
	transition-delay: 950ms;
}
body[data-aos-duration="1000"] [data-aos],
[data-aos][data-aos][data-aos-duration="1000"] {
	transition-duration: 1000ms;
}
body[data-aos-delay="1000"] [data-aos],
[data-aos][data-aos][data-aos-delay="1000"] {
	transition-delay: 0s;
}
body[data-aos-delay="1000"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="1000"].aos-animate {
	transition-delay: 1000ms;
}
body[data-aos-duration="1050"] [data-aos],
[data-aos][data-aos][data-aos-duration="1050"] {
	transition-duration: 1050ms;
}
body[data-aos-delay="1050"] [data-aos],
[data-aos][data-aos][data-aos-delay="1050"] {
	transition-delay: 0s;
}
body[data-aos-delay="1050"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="1050"].aos-animate {
	transition-delay: 1050ms;
}
body[data-aos-duration="1100"] [data-aos],
[data-aos][data-aos][data-aos-duration="1100"] {
	transition-duration: 1100ms;
}
body[data-aos-delay="1100"] [data-aos],
[data-aos][data-aos][data-aos-delay="1100"] {
	transition-delay: 0s;
}
body[data-aos-delay="1100"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="1100"].aos-animate {
	transition-delay: 1100ms;
}
body[data-aos-duration="1150"] [data-aos],
[data-aos][data-aos][data-aos-duration="1150"] {
	transition-duration: 1150ms;
}
body[data-aos-delay="1150"] [data-aos],
[data-aos][data-aos][data-aos-delay="1150"] {
	transition-delay: 0s;
}
body[data-aos-delay="1150"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="1150"].aos-animate {
	transition-delay: 1150ms;
}
body[data-aos-duration="1200"] [data-aos],
[data-aos][data-aos][data-aos-duration="1200"] {
	transition-duration: 1200ms;
}
body[data-aos-delay="1200"] [data-aos],
[data-aos][data-aos][data-aos-delay="1200"] {
	transition-delay: 0s;
}
body[data-aos-delay="1200"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="1200"].aos-animate {
	transition-delay: 1200ms;
}
body[data-aos-duration="1250"] [data-aos],
[data-aos][data-aos][data-aos-duration="1250"] {
	transition-duration: 1250ms;
}
body[data-aos-delay="1250"] [data-aos],
[data-aos][data-aos][data-aos-delay="1250"] {
	transition-delay: 0s;
}
body[data-aos-delay="1250"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="1250"].aos-animate {
	transition-delay: 1250ms;
}
body[data-aos-duration="1300"] [data-aos],
[data-aos][data-aos][data-aos-duration="1300"] {
	transition-duration: 1300ms;
}
body[data-aos-delay="1300"] [data-aos],
[data-aos][data-aos][data-aos-delay="1300"] {
	transition-delay: 0s;
}
body[data-aos-delay="1300"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="1300"].aos-animate {
	transition-delay: 1300ms;
}
body[data-aos-duration="1350"] [data-aos],
[data-aos][data-aos][data-aos-duration="1350"] {
	transition-duration: 1350ms;
}
body[data-aos-delay="1350"] [data-aos],
[data-aos][data-aos][data-aos-delay="1350"] {
	transition-delay: 0s;
}
body[data-aos-delay="1350"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="1350"].aos-animate {
	transition-delay: 1350ms;
}
body[data-aos-duration="1400"] [data-aos],
[data-aos][data-aos][data-aos-duration="1400"] {
	transition-duration: 1400ms;
}
body[data-aos-delay="1400"] [data-aos],
[data-aos][data-aos][data-aos-delay="1400"] {
	transition-delay: 0s;
}
body[data-aos-delay="1400"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="1400"].aos-animate {
	transition-delay: 1400ms;
}
body[data-aos-duration="1450"] [data-aos],
[data-aos][data-aos][data-aos-duration="1450"] {
	transition-duration: 1450ms;
}
body[data-aos-delay="1450"] [data-aos],
[data-aos][data-aos][data-aos-delay="1450"] {
	transition-delay: 0s;
}
body[data-aos-delay="1450"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="1450"].aos-animate {
	transition-delay: 1450ms;
}
body[data-aos-duration="1500"] [data-aos],
[data-aos][data-aos][data-aos-duration="1500"] {
	transition-duration: 1500ms;
}
body[data-aos-delay="1500"] [data-aos],
[data-aos][data-aos][data-aos-delay="1500"] {
	transition-delay: 0s;
}
body[data-aos-delay="1500"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="1500"].aos-animate {
	transition-delay: 1500ms;
}
body[data-aos-duration="1550"] [data-aos],
[data-aos][data-aos][data-aos-duration="1550"] {
	transition-duration: 1550ms;
}
body[data-aos-delay="1550"] [data-aos],
[data-aos][data-aos][data-aos-delay="1550"] {
	transition-delay: 0s;
}
body[data-aos-delay="1550"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="1550"].aos-animate {
	transition-delay: 1550ms;
}
body[data-aos-duration="1600"] [data-aos],
[data-aos][data-aos][data-aos-duration="1600"] {
	transition-duration: 1600ms;
}
body[data-aos-delay="1600"] [data-aos],
[data-aos][data-aos][data-aos-delay="1600"] {
	transition-delay: 0s;
}
body[data-aos-delay="1600"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="1600"].aos-animate {
	transition-delay: 1600ms;
}
body[data-aos-duration="1650"] [data-aos],
[data-aos][data-aos][data-aos-duration="1650"] {
	transition-duration: 1650ms;
}
body[data-aos-delay="1650"] [data-aos],
[data-aos][data-aos][data-aos-delay="1650"] {
	transition-delay: 0s;
}
body[data-aos-delay="1650"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="1650"].aos-animate {
	transition-delay: 1650ms;
}
body[data-aos-duration="1700"] [data-aos],
[data-aos][data-aos][data-aos-duration="1700"] {
	transition-duration: 1700ms;
}
body[data-aos-delay="1700"] [data-aos],
[data-aos][data-aos][data-aos-delay="1700"] {
	transition-delay: 0s;
}
body[data-aos-delay="1700"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="1700"].aos-animate {
	transition-delay: 1700ms;
}
body[data-aos-duration="1750"] [data-aos],
[data-aos][data-aos][data-aos-duration="1750"] {
	transition-duration: 1750ms;
}
body[data-aos-delay="1750"] [data-aos],
[data-aos][data-aos][data-aos-delay="1750"] {
	transition-delay: 0s;
}
body[data-aos-delay="1750"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="1750"].aos-animate {
	transition-delay: 1750ms;
}
body[data-aos-duration="1800"] [data-aos],
[data-aos][data-aos][data-aos-duration="1800"] {
	transition-duration: 1800ms;
}
body[data-aos-delay="1800"] [data-aos],
[data-aos][data-aos][data-aos-delay="1800"] {
	transition-delay: 0s;
}
body[data-aos-delay="1800"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="1800"].aos-animate {
	transition-delay: 1800ms;
}
body[data-aos-duration="1850"] [data-aos],
[data-aos][data-aos][data-aos-duration="1850"] {
	transition-duration: 1850ms;
}
body[data-aos-delay="1850"] [data-aos],
[data-aos][data-aos][data-aos-delay="1850"] {
	transition-delay: 0s;
}
body[data-aos-delay="1850"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="1850"].aos-animate {
	transition-delay: 1850ms;
}
body[data-aos-duration="1900"] [data-aos],
[data-aos][data-aos][data-aos-duration="1900"] {
	transition-duration: 1900ms;
}
body[data-aos-delay="1900"] [data-aos],
[data-aos][data-aos][data-aos-delay="1900"] {
	transition-delay: 0s;
}
body[data-aos-delay="1900"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="1900"].aos-animate {
	transition-delay: 1900ms;
}
body[data-aos-duration="1950"] [data-aos],
[data-aos][data-aos][data-aos-duration="1950"] {
	transition-duration: 1950ms;
}
body[data-aos-delay="1950"] [data-aos],
[data-aos][data-aos][data-aos-delay="1950"] {
	transition-delay: 0s;
}
body[data-aos-delay="1950"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="1950"].aos-animate {
	transition-delay: 1950ms;
}
body[data-aos-duration="2000"] [data-aos],
[data-aos][data-aos][data-aos-duration="2000"] {
	transition-duration: 2000ms;
}
body[data-aos-delay="2000"] [data-aos],
[data-aos][data-aos][data-aos-delay="2000"] {
	transition-delay: 0s;
}
body[data-aos-delay="2000"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="2000"].aos-animate {
	transition-delay: 2000ms;
}
body[data-aos-duration="2050"] [data-aos],
[data-aos][data-aos][data-aos-duration="2050"] {
	transition-duration: 2050ms;
}
body[data-aos-delay="2050"] [data-aos],
[data-aos][data-aos][data-aos-delay="2050"] {
	transition-delay: 0s;
}
body[data-aos-delay="2050"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="2050"].aos-animate {
	transition-delay: 2050ms;
}
body[data-aos-duration="2100"] [data-aos],
[data-aos][data-aos][data-aos-duration="2100"] {
	transition-duration: 2100ms;
}
body[data-aos-delay="2100"] [data-aos],
[data-aos][data-aos][data-aos-delay="2100"] {
	transition-delay: 0s;
}
body[data-aos-delay="2100"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="2100"].aos-animate {
	transition-delay: 2100ms;
}
body[data-aos-duration="2150"] [data-aos],
[data-aos][data-aos][data-aos-duration="2150"] {
	transition-duration: 2150ms;
}
body[data-aos-delay="2150"] [data-aos],
[data-aos][data-aos][data-aos-delay="2150"] {
	transition-delay: 0s;
}
body[data-aos-delay="2150"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="2150"].aos-animate {
	transition-delay: 2150ms;
}
body[data-aos-duration="2200"] [data-aos],
[data-aos][data-aos][data-aos-duration="2200"] {
	transition-duration: 2200ms;
}
body[data-aos-delay="2200"] [data-aos],
[data-aos][data-aos][data-aos-delay="2200"] {
	transition-delay: 0s;
}
body[data-aos-delay="2200"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="2200"].aos-animate {
	transition-delay: 2200ms;
}
body[data-aos-duration="2250"] [data-aos],
[data-aos][data-aos][data-aos-duration="2250"] {
	transition-duration: 2250ms;
}
body[data-aos-delay="2250"] [data-aos],
[data-aos][data-aos][data-aos-delay="2250"] {
	transition-delay: 0s;
}
body[data-aos-delay="2250"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="2250"].aos-animate {
	transition-delay: 2250ms;
}
body[data-aos-duration="2300"] [data-aos],
[data-aos][data-aos][data-aos-duration="2300"] {
	transition-duration: 2300ms;
}
body[data-aos-delay="2300"] [data-aos],
[data-aos][data-aos][data-aos-delay="2300"] {
	transition-delay: 0s;
}
body[data-aos-delay="2300"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="2300"].aos-animate {
	transition-delay: 2300ms;
}
body[data-aos-duration="2350"] [data-aos],
[data-aos][data-aos][data-aos-duration="2350"] {
	transition-duration: 2350ms;
}
body[data-aos-delay="2350"] [data-aos],
[data-aos][data-aos][data-aos-delay="2350"] {
	transition-delay: 0s;
}
body[data-aos-delay="2350"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="2350"].aos-animate {
	transition-delay: 2350ms;
}
body[data-aos-duration="2400"] [data-aos],
[data-aos][data-aos][data-aos-duration="2400"] {
	transition-duration: 2400ms;
}
body[data-aos-delay="2400"] [data-aos],
[data-aos][data-aos][data-aos-delay="2400"] {
	transition-delay: 0s;
}
body[data-aos-delay="2400"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="2400"].aos-animate {
	transition-delay: 2400ms;
}
body[data-aos-duration="2450"] [data-aos],
[data-aos][data-aos][data-aos-duration="2450"] {
	transition-duration: 2450ms;
}
body[data-aos-delay="2450"] [data-aos],
[data-aos][data-aos][data-aos-delay="2450"] {
	transition-delay: 0s;
}
body[data-aos-delay="2450"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="2450"].aos-animate {
	transition-delay: 2450ms;
}
body[data-aos-duration="2500"] [data-aos],
[data-aos][data-aos][data-aos-duration="2500"] {
	transition-duration: 2500ms;
}
body[data-aos-delay="2500"] [data-aos],
[data-aos][data-aos][data-aos-delay="2500"] {
	transition-delay: 0s;
}
body[data-aos-delay="2500"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="2500"].aos-animate {
	transition-delay: 2500ms;
}
body[data-aos-duration="2550"] [data-aos],
[data-aos][data-aos][data-aos-duration="2550"] {
	transition-duration: 2550ms;
}
body[data-aos-delay="2550"] [data-aos],
[data-aos][data-aos][data-aos-delay="2550"] {
	transition-delay: 0s;
}
body[data-aos-delay="2550"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="2550"].aos-animate {
	transition-delay: 2550ms;
}
body[data-aos-duration="2600"] [data-aos],
[data-aos][data-aos][data-aos-duration="2600"] {
	transition-duration: 2600ms;
}
body[data-aos-delay="2600"] [data-aos],
[data-aos][data-aos][data-aos-delay="2600"] {
	transition-delay: 0s;
}
body[data-aos-delay="2600"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="2600"].aos-animate {
	transition-delay: 2600ms;
}
body[data-aos-duration="2650"] [data-aos],
[data-aos][data-aos][data-aos-duration="2650"] {
	transition-duration: 2650ms;
}
body[data-aos-delay="2650"] [data-aos],
[data-aos][data-aos][data-aos-delay="2650"] {
	transition-delay: 0s;
}
body[data-aos-delay="2650"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="2650"].aos-animate {
	transition-delay: 2650ms;
}
body[data-aos-duration="2700"] [data-aos],
[data-aos][data-aos][data-aos-duration="2700"] {
	transition-duration: 2700ms;
}
body[data-aos-delay="2700"] [data-aos],
[data-aos][data-aos][data-aos-delay="2700"] {
	transition-delay: 0s;
}
body[data-aos-delay="2700"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="2700"].aos-animate {
	transition-delay: 2700ms;
}
body[data-aos-duration="2750"] [data-aos],
[data-aos][data-aos][data-aos-duration="2750"] {
	transition-duration: 2750ms;
}
body[data-aos-delay="2750"] [data-aos],
[data-aos][data-aos][data-aos-delay="2750"] {
	transition-delay: 0s;
}
body[data-aos-delay="2750"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="2750"].aos-animate {
	transition-delay: 2750ms;
}
body[data-aos-duration="2800"] [data-aos],
[data-aos][data-aos][data-aos-duration="2800"] {
	transition-duration: 2800ms;
}
body[data-aos-delay="2800"] [data-aos],
[data-aos][data-aos][data-aos-delay="2800"] {
	transition-delay: 0s;
}
body[data-aos-delay="2800"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="2800"].aos-animate {
	transition-delay: 2800ms;
}
body[data-aos-duration="2850"] [data-aos],
[data-aos][data-aos][data-aos-duration="2850"] {
	transition-duration: 2850ms;
}
body[data-aos-delay="2850"] [data-aos],
[data-aos][data-aos][data-aos-delay="2850"] {
	transition-delay: 0s;
}
body[data-aos-delay="2850"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="2850"].aos-animate {
	transition-delay: 2850ms;
}
body[data-aos-duration="2900"] [data-aos],
[data-aos][data-aos][data-aos-duration="2900"] {
	transition-duration: 2900ms;
}
body[data-aos-delay="2900"] [data-aos],
[data-aos][data-aos][data-aos-delay="2900"] {
	transition-delay: 0s;
}
body[data-aos-delay="2900"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="2900"].aos-animate {
	transition-delay: 2900ms;
}
body[data-aos-duration="2950"] [data-aos],
[data-aos][data-aos][data-aos-duration="2950"] {
	transition-duration: 2950ms;
}
body[data-aos-delay="2950"] [data-aos],
[data-aos][data-aos][data-aos-delay="2950"] {
	transition-delay: 0s;
}
body[data-aos-delay="2950"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="2950"].aos-animate {
	transition-delay: 2950ms;
}
body[data-aos-duration="3000"] [data-aos],
[data-aos][data-aos][data-aos-duration="3000"] {
	transition-duration: 3000ms;
}
body[data-aos-delay="3000"] [data-aos],
[data-aos][data-aos][data-aos-delay="3000"] {
	transition-delay: 0s;
}
body[data-aos-delay="3000"] [data-aos].aos-animate,
[data-aos][data-aos][data-aos-delay="3000"].aos-animate {
	transition-delay: 3000ms;
}
[data-aos] {
	pointer-events: none;
}
[data-aos].aos-animate {
	pointer-events: auto;
}
body[data-aos-easing="linear"] [data-aos],
[data-aos][data-aos][data-aos-easing="linear"] {
	transition-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75);
}
body[data-aos-easing="ease"] [data-aos],
[data-aos][data-aos][data-aos-easing="ease"] {
	transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
}
body[data-aos-easing="ease-in"] [data-aos],
[data-aos][data-aos][data-aos-easing="ease-in"] {
	transition-timing-function: cubic-bezier(0.42, 0, 1, 1);
}
body[data-aos-easing="ease-out"] [data-aos],
[data-aos][data-aos][data-aos-easing="ease-out"] {
	transition-timing-function: cubic-bezier(0, 0, 0.58, 1);
}
body[data-aos-easing="ease-in-out"] [data-aos],
[data-aos][data-aos][data-aos-easing="ease-in-out"] {
	transition-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
}
body[data-aos-easing="ease-in-back"] [data-aos],
[data-aos][data-aos][data-aos-easing="ease-in-back"] {
	transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
}
body[data-aos-easing="ease-out-back"] [data-aos],
[data-aos][data-aos][data-aos-easing="ease-out-back"] {
	transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
body[data-aos-easing="ease-in-out-back"] [data-aos],
[data-aos][data-aos][data-aos-easing="ease-in-out-back"] {
	transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
body[data-aos-easing="ease-in-sine"] [data-aos],
[data-aos][data-aos][data-aos-easing="ease-in-sine"] {
	transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
}
body[data-aos-easing="ease-out-sine"] [data-aos],
[data-aos][data-aos][data-aos-easing="ease-out-sine"] {
	transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
}
body[data-aos-easing="ease-in-out-sine"] [data-aos],
[data-aos][data-aos][data-aos-easing="ease-in-out-sine"] {
	transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
body[data-aos-easing="ease-in-quad"] [data-aos],
[data-aos][data-aos][data-aos-easing="ease-in-quad"] {
	transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
body[data-aos-easing="ease-out-quad"] [data-aos],
[data-aos][data-aos][data-aos-easing="ease-out-quad"] {
	transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
body[data-aos-easing="ease-in-out-quad"] [data-aos],
[data-aos][data-aos][data-aos-easing="ease-in-out-quad"] {
	transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
body[data-aos-easing="ease-in-cubic"] [data-aos],
[data-aos][data-aos][data-aos-easing="ease-in-cubic"] {
	transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
body[data-aos-easing="ease-out-cubic"] [data-aos],
[data-aos][data-aos][data-aos-easing="ease-out-cubic"] {
	transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
body[data-aos-easing="ease-in-out-cubic"] [data-aos],
[data-aos][data-aos][data-aos-easing="ease-in-out-cubic"] {
	transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
body[data-aos-easing="ease-in-quart"] [data-aos],
[data-aos][data-aos][data-aos-easing="ease-in-quart"] {
	transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
body[data-aos-easing="ease-out-quart"] [data-aos],
[data-aos][data-aos][data-aos-easing="ease-out-quart"] {
	transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
body[data-aos-easing="ease-in-out-quart"] [data-aos],
[data-aos][data-aos][data-aos-easing="ease-in-out-quart"] {
	transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
@media screen {
	html:not(.no-js) [data-aos^="fade"][data-aos^="fade"] {
		opacity: 0;
		transition-property: opacity, transform;
	}
	html:not(.no-js) [data-aos^="fade"][data-aos^="fade"].aos-animate {
		opacity: 1;
		transform: none;
	}
	html:not(.no-js) [data-aos="fade-up"] {
		transform: translate3d(0, 100px, 0);
	}
	html:not(.no-js) [data-aos="fade-down"] {
		transform: translate3d(0, -100px, 0);
	}
	html:not(.no-js) [data-aos="fade-right"] {
		transform: translate3d(-100px, 0, 0);
	}
	html:not(.no-js) [data-aos="fade-left"] {
		transform: translate3d(100px, 0, 0);
	}
	html:not(.no-js) [data-aos="fade-up-right"] {
		transform: translate3d(-100px, 100px, 0);
	}
	html:not(.no-js) [data-aos="fade-up-left"] {
		transform: translate3d(100px, 100px, 0);
	}
	html:not(.no-js) [data-aos="fade-down-right"] {
		transform: translate3d(-100px, -100px, 0);
	}
	html:not(.no-js) [data-aos="fade-down-left"] {
		transform: translate3d(100px, -100px, 0);
	}
	html:not(.no-js) [data-aos^="zoom"][data-aos^="zoom"] {
		opacity: 0;
		transition-property: opacity, transform;
	}
	html:not(.no-js) [data-aos^="zoom"][data-aos^="zoom"].aos-animate {
		opacity: 1;
		transform: translate3d(0, 0, 0) scale(1);
	}
	html:not(.no-js) [data-aos="zoom-in"] {
		transform: scale(0.6);
	}
	html:not(.no-js) [data-aos="zoom-in-up"] {
		transform: translate3d(0, 100px, 0) scale(0.6);
	}
	html:not(.no-js) [data-aos="zoom-in-down"] {
		transform: translate3d(0, -100px, 0) scale(0.6);
	}
	html:not(.no-js) [data-aos="zoom-in-right"] {
		transform: translate3d(-100px, 0, 0) scale(0.6);
	}
	html:not(.no-js) [data-aos="zoom-in-left"] {
		transform: translate3d(100px, 0, 0) scale(0.6);
	}
	html:not(.no-js) [data-aos="zoom-out"] {
		transform: scale(1.2);
	}
	html:not(.no-js) [data-aos="zoom-out-up"] {
		transform: translate3d(0, 100px, 0) scale(1.2);
	}
	html:not(.no-js) [data-aos="zoom-out-down"] {
		transform: translate3d(0, -100px, 0) scale(1.2);
	}
	html:not(.no-js) [data-aos="zoom-out-right"] {
		transform: translate3d(-100px, 0, 0) scale(1.2);
	}
	html:not(.no-js) [data-aos="zoom-out-left"] {
		transform: translate3d(100px, 0, 0) scale(1.2);
	}
	html:not(.no-js) [data-aos^="slide"][data-aos^="slide"] {
		visibility: hidden;
		transition-property: transform;
	}
	html:not(.no-js) [data-aos^="slide"][data-aos^="slide"].aos-animate {
		visibility: visible;
		transform: translate3d(0, 0, 0);
	}
	html:not(.no-js) [data-aos="slide-up"] {
		transform: translate3d(0, 100%, 0);
	}
	html:not(.no-js) [data-aos="slide-down"] {
		transform: translate3d(0, -100%, 0);
	}
	html:not(.no-js) [data-aos="slide-right"] {
		transform: translate3d(-100%, 0, 0);
	}
	html:not(.no-js) [data-aos="slide-left"] {
		transform: translate3d(100%, 0, 0);
	}
	html:not(.no-js) [data-aos^="flip"][data-aos^="flip"] {
		backface-visibility: hidden;
		transition-property: transform;
	}
	html:not(.no-js) [data-aos="flip-left"] {
		transform: perspective(2500px) rotateY(-100deg);
	}
	html:not(.no-js) [data-aos="flip-left"].aos-animate {
		transform: perspective(2500px) rotateY(0);
	}
	html:not(.no-js) [data-aos="flip-right"] {
		transform: perspective(2500px) rotateY(100deg);
	}
	html:not(.no-js) [data-aos="flip-right"].aos-animate {
		transform: perspective(2500px) rotateY(0);
	}
	html:not(.no-js) [data-aos="flip-up"] {
		transform: perspective(2500px) rotateX(-100deg);
	}
	html:not(.no-js) [data-aos="flip-up"].aos-animate {
		transform: perspective(2500px) rotateX(0);
	}
	html:not(.no-js) [data-aos="flip-down"] {
		transform: perspective(2500px) rotateX(100deg);
	}
	html:not(.no-js) [data-aos="flip-down"].aos-animate {
		transform: perspective(2500px) rotateX(0);
	}
}
@layer variable {
	:root {
		--header_height_default: clamp(70px, 70px + 20 * (100vw - 400px) / 1000, 90px);
		--header_height_change: clamp(40px, 40px + 30 * (100vw - 400px) / 1000, 70px);
	}
	@media print, screen and (min-width: 960px) {
		:root {
			--topnav_height_default: 40px;
			--topnav_height_change: 0px;
		}
	}
}
@layer base {
	html {
		scroll-behavior: smooth;
		scroll-padding-top: calc(var(--header_height_change) + var(--topnav_height_change, 0px) + var(--wp-admin--admin-bar--height, 0px)) !important;
		font-size: 62.5%;
	}
	body {
		position: relative;
		background: var(--bg_color_base);
		opacity: 0;
		font-size: 1.5rem;
		font-family: var(--txt_font_base);
		line-height: 1.6;
		color: var(--txt_color_base);
		letter-spacing: 0.05em;
	}
	@media screen and (max-width: 959px) {
		body {
			-webkit-text-size-adjust: 100%;
			-moz-text-size-adjust: 100%;
			text-size-adjust: 100%;
		}
	}
	@media screen and (max-width: 959px) {
		body.gnav_open {
			overflow: hidden;
		}
	}
	body.scroll_stop {
		position: fixed;
		right: 0;
		left: 0;
		overflow-y: hidden;
	}
	.container {
		position: relative;
		display: flex;
		flex-direction: column;
		min-height: 100vh;
		background: url(/ec/images/event/20th/share/bg_confetti.png) repeat center/min(100%, 1500px);
	}
	.container .contents_wrap {
		z-index: 1;
		flex-grow: 1;
		overflow-x: clip;
		overflow-y: visible;
	}
	.header_wrap {
		--wrapper_default: 90%;
		top: 0;
		z-index: 4;
		width: 100%;
		background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.85) 70%);
		transition: all 0.5s ease 0.1s;
	}
	.header_wrap * {
		transition: all 0.5s ease 0.1s;
	}
	.header_wrap .header {
		container: wrapper/inline-size;
		margin-inline: auto;
		width: min(var(--wrapper_default), var(--wrapper_max));
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		height: var(--header_height);
	}
	.header_wrap .header .logo img {
		width: auto;
		height: calc(var(--header_height) * 0.6);
	}
	.header_wrap .header .gnav_btn {
		position: relative;
		z-index: 25;
		order: 1;
		display: grid;
		grid-template-rows: auto;
		grid-template-columns: auto;
		width: max(var(--header_height) / 3, 20px);
		width: 40px;
		aspect-ratio: 1/1;
	}
	@media print, screen and (min-width: 960px) {
		.header_wrap .header .gnav_btn {
			display: none;
		}
	}
	.header_wrap .header .gnav_btn span {
		grid-row: 1;
		grid-column: 1;
		display: grid;
		background: url(/ec/images/event/20th/common/gnav_btn_menu.svg) no-repeat center/100%;
		transition: 0.4s;
	}
	.header_wrap .header .gnav_btn span.menu {
		background-image: url(/ec/images/event/20th/common/gnav_btn_menu.svg);
		opacity: 1;
	}
	.header_wrap .header .gnav_btn span.close {
		background-image: url(/ec/images/event/20th/common/gnav_btn_close.svg);
		opacity: 0;
	}
	.header_wrap .header .gnav_btn.close span.menu {
		background-image: url(/ec/images/event/20th/common/gnav_btn_menu.svg);
		opacity: 0;
	}
	.header_wrap .header .gnav_btn.close span.close {
		background-image: url(/ec/images/event/20th/common/gnav_btn_close.svg);
		opacity: 1;
	}
	.header_wrap:not(.animate) {
		transition: none !important;
		animation: none !important;
	}
	.header_wrap:not(.animate) > * {
		transition: none !important;
	}
	:is(.type_a, .type_b, .type_c) .container {
		position: relative;
	}
	.type_a .header_wrap {
		position: fixed;
		top: var(--wp-admin--admin-bar--height, 0px);
	}
	:is(.type_b, .type_c) .container .header_wrap {
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		animation-duration: 1s;
		animation-fill-mode: forwards;
	}
	:is(.type_b, .type_c) .container .header_wrap:not(.header_wrap_change) {
		animation-name: header_wrap_slideup;
	}
	:is(.type_b, .type_c) .container .header_wrap.header_wrap_change {
		top: var(--wp-admin--admin-bar--height, 0);
		animation-name: header_wrap_slidedown;
	}
	@keyframes header_wrap_slidedown {
		0% {
			position: fixed;
			transform: translateY(-100%);
		}
		50% {
			position: fixed;
			transform: translateY(-100%);
		}
		100% {
			position: fixed;
			transform: translateY(0%);
		}
	}
	@keyframes header_wrap_slideup {
		0% {
			position: fixed;
			transform: translateY(0%);
		}
		50% {
			position: fixed;
			transform: translateY(-100%);
		}
		70% {
			position: absolute;
			transform: translateY(-100%);
		}
		100% {
			position: absolute;
			transform: translateY(0%);
		}
	}
	@media screen and (max-width: 959px) and (max-width: 599px) {
		.header > * {
			z-index: 2;
		}
	}
	@media screen and (max-width: 959px) {
		.header .gnav.open {
			clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
			opacity: 1;
			pointer-events: all;
		}
		.header .gnav.debug {
			clip-path: none !important;
			opacity: 1;
			pointer-events: all;
		}
		.header .gnav {
			position: fixed;
			top: 0;
			right: 0;
			z-index: 1;
			display: flex;
			width: 100%;
			max-width: 640px;
			height: 100dvh;
			overflow-y: scroll;
			clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%);
			opacity: 0;
			pointer-events: none;
			transition: 0.3s;
		}
	}
	@media screen and (max-width: 959px) and (min-width: 600px) {
		.header .gnav {
			width: 70%;
			clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
		}
	}
	@media screen and (max-width: 959px) {
		.header .gnav::before {
			content: "";
			flex-grow: 1;
			display: block;
			background: url(/ec/images/event/20th/common/gnav_bg.jpg) no-repeat center/cover;
		}
		.header .gnav .gnav_wrap {
			display: flex;
			flex-direction: column;
			justify-content: center;
			padding: 0 30px;
			background: #fff6fa;
		}
		.header .gnav .gnav_wrap > * {
			padding-block: 30px;
		}
		.header .gnav .gnav_wrap .gnav_list {
			display: flex;
			flex-direction: column;
			row-gap: 40px;
		}
		.header .gnav .gnav_wrap .gnav_list li a {
			position: relative;
			display: block;
			padding: 0;
			text-decoration: none;
			color: #000;
			color: inherit;
		}
		.header .gnav .gnav_wrap .gnav_list li a > * {
			display: block;
		}
		.header .gnav .gnav_wrap .gnav_list li a .ja {
			font-size: 2.4rem;
			font-weight: 800;
			line-height: 1.1;
			letter-spacing: normal;
		}
		.header .gnav .gnav_wrap .gnav_list li a .ja::first-letter {
			color: var(--color_theme_base);
		}
		.header .gnav .gnav_wrap .gnav_list li a .en {
			font-size: 1.1rem;
			font-weight: bold;
			font-family: var(--txt_font_roboto);
		}
		.header .gnav .gnav_wrap .hnav_list {
			display: flex;
			flex-direction: column;
			row-gap: 20px;
			border-bottom: 1px solid #ccc;
		}
		.header .gnav .gnav_wrap .hnav_list li a {
			display: block;
			text-decoration: none;
			color: var(--txt_color_base);
		}
	}
	@media print, screen and (min-width: 960px) {
		.header .gnav .gnav_list {
			display: flex;
			-moz-column-gap: 30px;
			column-gap: 30px;
		}
		.header .gnav .gnav_list > li {
			flex-grow: 1;
			width: auto;
		}
		.header .gnav .gnav_list > li > a {
			position: relative;
			display: block;
			text-decoration: none;
		}
		.header .gnav .gnav_list > li > a > span {
			display: block;
			text-align: center;
			line-height: 1.1;
			white-space: nowrap;
		}
		.header .gnav .gnav_list > li > a .en {
			font-size: 2rem;
			font-weight: bold;
			font-family: var(--txt_font_roboto);
			color: var(--color_theme_base);
		}
		.header .gnav .gnav_list > li > a .ja {
			font-size: 1.1rem;
			color: var(--txt_color_light);
		}
		.header .gnav .gnav_list > li > a > span[class*="icon_"] {
			padding-left: 0;
		}
		.header .gnav .gnav_list > li > a.current::after {
			width: 100%;
			opacity: 1;
		}
		.header .gnav .gnav_list > li > a:not(.current):hover::after {
			width: 100%;
			opacity: 1;
		}
	}
	.title_wrap {
		position: relative;
		background: url(/ec/images/event/20th/common/title_bg_sp.png) no-repeat center/100%;
	}
	@media print, screen and (min-width: 600px) {
		.title_wrap {
			background-image: url(/ec/images/event/20th/common/title_bg.png);
			background-size: 110%;
		}
	}
	.title_wrap .title {
		display: flex;
		flex-direction: column;
		justify-content: center;
		margin-inline: auto;
		width: min(80%, var(--wrapper_width_large));
		height: clamp(200px, 200px + 250 * (100vw - 400px)/1000, 450px);
	}
	.title_wrap .title * {
		font-weight: bold;
	}
	.title_wrap .title .title_text_sub,
	.title_wrap .title .title_text {
		line-height: 1.2;
		letter-spacing: normal;
	}
	.title_wrap .title .title_text_sub {
		font-size: clamp(1.6rem, 1.6rem + 10 * (100vw - 40rem)/1000, 2.6rem);
		font-weight: 800;
	}
	.title_wrap .title .title_text {
		font-size: clamp(3rem, 3rem + 30 * (100vw - 40rem)/1000, 6rem);
		font-weight: 900;
	}
	.title_wrap .title .title_text span {
		color: var(--color_theme_base);
	}
	.footer_wrap {
		position: relative;
		z-index: 0;
		background: #fff6fa;
	}
	.footer_wrap .footer {
		container: wrapper/inline-size;
		margin-inline: auto;
		width: min(var(--wrapper_default), var(--wrapper_max));
		padding-block: clamp(40px, 40px + 50 * (100vw - 400px)/1000, 90px) 40px;
	}
	.footer_wrap .footer .logo {
		margin-inline: auto;
		margin-bottom: clamp(30px, 30px + 30 * (100vw - 400px)/1000, 60px);
		width: min(50%, 230px);
	}
	.footer_wrap .footer .sitenav_list {
		margin-bottom: 30px;
	}
	.footer_wrap .footer .sitenav_list ul {
		display: flex;
		flex-wrap: wrap;
		row-gap: 5px;
		justify-content: center;
		font-size: 1.4rem;
	}
	.footer_wrap .footer .sitenav_list ul li:first-child {
		border-left: 1px solid #9b9b9b;
	}
	.footer_wrap .footer .sitenav_list ul li {
		padding-inline: clamp(10px, 10px + 10 * (100vw - 400px)/1000, 20px);
		border-right: 1px solid #9b9b9b;
	}
	.footer_wrap .footer .sitenav_list ul li a {
		text-decoration: none;
		font-size: clamp(1.1rem, 1.1rem + 4 * (100vw - 40rem)/1000, 1.5rem);
		font-weight: 500;
		color: var(--txt_color_base);
		letter-spacing: normal;
		transition: 0.3s;
	}
	.footer_wrap .footer .sitenav_list ul li a:hover {
		color: var(--color_theme_base);
	}
	.footer_wrap .copyright_wrap {
		padding-block: 10px;
		background: var(--color_theme_base);
	}
	.footer_wrap .copyright_wrap .copyright {
		text-align: center;
		font-size: clamp(1rem, 1rem + 3 * (100vw - 40rem)/1000, 1.3rem);
		color: #fff;
	}
	.loading_wrap {
		position: fixed;
		top: 0;
		z-index: 1000;
		width: 100%;
		height: 100%;
		background: #fff;
		opacity: 1;
		pointer-events: none;
		transition: 1s;
	}
	.loading_wrap img {
		position: absolute;
		top: 50%;
		left: 50%;
		margin-top: -20px;
		margin-left: -20px;
	}
	.loading_wrap.hide {
		opacity: 0;
	}
	.cookie_consent {
		--btn_color_border: red;
		position: fixed;
		bottom: 0;
		z-index: 100;
		padding-block: 20px;
		width: 100%;
		background: rgba(from black r g b/0.8);
		color: #eee;
	}
	.cookie_consent.hide {
		display: none;
	}
	.cookie_consent .cookie_item {
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		gap: 10px 40px;
		align-items: center;
		margin-inline: auto;
		width: min(90%, var(--wrapper_width_large));
	}
	@media print, screen and (min-width: 960px) {
		.cookie_consent .cookie_item {
			flex-direction: row;
			justify-content: space-between;
		}
	}
	.cookie_consent .cookie_item .cookie_text {
		font-size: 1.2rem;
	}
	.cookie_consent .cookie_item .cookie_text a {
		color: inherit;
	}
	.cookie_consent .cookie_item .btn_wrap {
		flex-direction: row;
		justify-content: center;
	}
	.grecaptcha-badge {
		z-index: 10;
	}
}
@layer contents {
	.area {
		padding-block: var(--area_margin);
		width: 100%;
		overflow-x: clip;
		overflow-y: visible;
	}
	.box:where(:not(:last-child)) {
		margin-bottom: var(--box_margin);
	}
	.part:where(:not(:last-child)) {
		margin-bottom: var(--part_margin);
	}
	.cont:where(:not(:last-child)) {
		margin-bottom: var(--cont_margin);
	}
	.cont > *:last-child {
		margin-bottom: 0;
	}
	.hgroup,
	.cgroup {
		margin: 0 auto clamp(20px, 20px + 40 * (100vw - 400px)/1000, 60px);
	}
	.hgroup > *:last-child,
	.cgroup > *:last-child {
		margin-bottom: 0;
	}
	.hgroup .heading02,
	.hgroup .entry_wrap h1,
	.entry_wrap .hgroup h1,
	.cgroup .heading02,
	.cgroup .entry_wrap h1,
	.entry_wrap .cgroup h1 {
		margin-bottom: 0;
	}
	.hgroup .heading_sub,
	.cgroup .heading_sub {
		font-size: 1.4rem;
	}
	:where(.heading, .heading02, .entry_wrap h1, .heading03, .entry_wrap h3, .heading04, .entry_wrap h4, .heading05, .entry_wrap h5) {
		margin-bottom: 1em;
		line-height: 1.4;
		color: var(--txt_color_heading);
	}
	:where(.heading, .heading02, .entry_wrap h1, .heading03, .entry_wrap h3, .heading04, .entry_wrap h4, .heading05, .entry_wrap h5).color {
		color: var(--color_theme_base);
	}
	:where(.heading, .heading02, .entry_wrap h1, .heading03, .entry_wrap h3, .heading04, .entry_wrap h4, .heading05, .entry_wrap h5).border {
		padding-bottom: 0.3em;
		border-bottom: 1px solid var(--border_color_base);
	}
	.heading02,
	.entry_wrap h1 {
		text-align: center;
		font-size: clamp(2.4rem, 2.4rem + 4 * (100vw - 40rem)/1000, 2.8rem);
		color: var(--txt_color_heading);
	}
	.hgroup .heading02,
	.hgroup .entry_wrap h1,
	.entry_wrap .hgroup h1 {
		margin-bottom: 0;
	}
	.hgroup .heading_sub,
	.hgroup .date {
		margin-top: 5px;
		text-align: center;
		font-size: 1.3rem;
		color: var(--txt_color_light);
	}
	.heading03,
	.entry_wrap h3 {
		padding-bottom: 0.3em;
		border-bottom: 2px solid var(--border_color_base);
		font-size: clamp(2rem, 2rem + 2 * (100vw - 40rem)/1000, 2.2rem);
		font-weight: bold;
	}
	.heading04,
	.entry_wrap h4 {
		font-size: clamp(1.8rem, 1.8rem + 2 * (100vw - 40rem)/1000, 2rem);
	}
	.heading05,
	.entry_wrap h5 {
		margin-bottom: 0.5em;
		font-size: clamp(1.5rem, 1.5rem + 2 * (100vw - 40rem)/1000, 1.7rem);
		font-weight: bold;
	}
	.texts p,
	.entry_wrap p,
	p.text {
		margin-bottom: 10px;
		line-height: 1.8;
	}
	.texts p a,
	.entry_wrap p a,
	p.text a {
		word-break: break-all;
		word-wrap: break-word;
	}
	.texts p:last-child,
	.entry_wrap p:last-child,
	p.text:last-child {
		margin-bottom: 0;
	}
	.texts ul,
	.entry_wrap ul,
	.texts ol,
	.entry_wrap ol,
	ul.text,
	ol.text {
		--icon_color: var(--list_color_base, var(--color_theme_base));
		--icon_gap: 0.2em;
	}
	.texts ul:where(:not(:last-child)),
	.entry_wrap ul:where(:not(:last-child)),
	.texts ol:where(:not(:last-child)),
	.entry_wrap ol:where(:not(:last-child)),
	ul.text:where(:not(:last-child)),
	ol.text:where(:not(:last-child)) {
		margin-bottom: 10px;
	}
	.texts ul > li,
	.entry_wrap ul > li,
	.texts ol > li,
	.entry_wrap ol > li,
	ul.text > li,
	ol.text > li {
		position: relative;
		padding-left: calc(var(--icon_size) + var(--icon_gap));
	}
	.texts ul > li::before,
	.entry_wrap ul > li::before,
	.texts ol > li::before,
	.entry_wrap ol > li::before,
	ul.text > li::before,
	ol.text > li::before {
		position: absolute;
		top: 0;
		left: 0;
		display: block;
	}
	.texts ul > li > ul,
	.entry_wrap ul > li > ul,
	.texts ol > li > ul,
	.entry_wrap ol > li > ul,
	ul.text > li > ul,
	ol.text > li > ul,
	.texts ul > li > ol,
	.entry_wrap ul > li > ol,
	.texts ol > li > ol,
	.entry_wrap ol > li > ol,
	ul.text > li > ol,
	ol.text > li > ol {
		margin-top: 6px;
	}
	.texts ul > li > ol li::before,
	.entry_wrap ul > li > ol li::before,
	.texts ol > li > ol li::before,
	.entry_wrap ol > li > ol li::before,
	ul.text > li > ol li::before,
	ol.text > li > ol li::before {
		transform: scale(1);
	}
	.texts ul li:where(:not(:last-child)),
	.entry_wrap ul li:where(:not(:last-child)),
	.texts ol li:where(:not(:last-child)),
	.entry_wrap ol li:where(:not(:last-child)),
	ul.text li:where(:not(:last-child)),
	ol.text li:where(:not(:last-child)) {
		margin-bottom: 4px;
	}
	.texts ul > li::before,
	.entry_wrap ul > li::before,
	ul.text > li::before {
		content: "";
		width: var(--icon_size);
		aspect-ratio: 1/1;
		background: var(--icon_color);
		-webkit-mask: var(--icon_image, url(/ec/images/event/20th/lib/icon/dot.svg)) no-repeat center/40%;
		mask: var(--icon_image, url(/ec/images/event/20th/lib/icon/dot.svg)) no-repeat center/40%;
		translate: 0 calc((1lh - var(--icon_size)) / 2);
	}
	.texts ol,
	.entry_wrap ol,
	ol.text {
		counter-reset: num 0;
	}
	.texts ol > li,
	.entry_wrap ol > li,
	ol.text > li {
		counter-increment: num;
	}
	.texts ol > li::before,
	.entry_wrap ol > li::before,
	ol.text > li::before {
		content: counter(num) ". ";
		font-size: var(--icon_size);
		color: var(--list_color_base, var(--color_theme_base));
	}
	.texts ol > li ol,
	.entry_wrap ol > li ol,
	ol.text > li ol {
		counter-reset: childnum 0;
	}
	.texts ol > li ol li,
	.entry_wrap ol > li ol li,
	ol.text > li ol li {
		counter-increment: childnum;
	}
	.texts ol > li ol li::before,
	.entry_wrap ol > li ol li::before,
	ol.text > li ol li::before {
		content: counter(childnum) ". ";
		color: var(--icon_color);
	}
	ul[class*="icon_"] > li,
	ul > li[class*="icon_"] {
		--icon_gap: 0.5em;
	}
	ul[class*="icon_"] > li::before,
	ul > li[class*="icon_"]::before {
		-webkit-mask-size: contain;
		mask-size: contain;
	}
	.texts dl,
	.entry_wrap dl,
	dl.text {
		--icon_color: var(--list_color_base, var(--color_theme_base));
		--icon_gap: 0.2em;
	}
	.texts dl > dd:where(:not(:last-child)),
	.entry_wrap dl > dd:where(:not(:last-child)),
	dl.text > dd:where(:not(:last-child)) {
		margin-bottom: 6px;
	}
	.texts dl.ttl_color > dt,
	.entry_wrap dl.ttl_color > dt,
	dl.text.ttl_color > dt {
		color: var(--color_theme_base);
	}
	.texts dl.ttl_bold > dt,
	.entry_wrap dl.ttl_bold > dt,
	dl.text.ttl_bold > dt {
		font-weight: bold;
	}
	.texts dl.ttl_dot > dt,
	.entry_wrap dl.ttl_dot > dt,
	dl.text.ttl_dot > dt {
		position: relative;
		padding-left: calc(var(--icon_size) + var(--icon_gap));
	}
	.texts dl.ttl_dot > dt::after,
	.entry_wrap dl.ttl_dot > dt::after,
	dl.text.ttl_dot > dt::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: var(--icon_size);
		aspect-ratio: 1/1;
		background: var(--icon_color);
		color: var(--list_color_base, var(--color_theme_base));
		-webkit-mask: var(--icon_image, url(/ec/images/event/20th/lib/icon/dot.svg)) no-repeat center/40%;
		mask: var(--icon_image, url(/ec/images/event/20th/lib/icon/dot.svg)) no-repeat center/40%;
		translate: 0 calc((1lh - var(--icon_size)) / 2);
	}
	table tr th,
	table tr td,
	.table_type tr th,
	.table_type tr td {
		padding: 8px;
		vertical-align: top;
	}
	@media print, screen and (min-width: 600px) {
		table tr th,
		table tr td,
		.table_type tr th,
		.table_type tr td {
			padding: 15px 10px;
		}
	}
	table tr th > *:last-child,
	table tr td > *:last-child,
	.table_type tr th > *:last-child,
	.table_type tr td > *:last-child {
		margin-bottom: 0;
	}
	table tfoot tr td,
	.table_type tfoot tr td {
		padding-block: 5px;
		text-align: right;
		font-size: 1.1rem;
	}
	table + *,
	.table_type + * {
		margin-top: 8px;
	}
	table.table th,
	table.table td,
	.table_type.table th,
	.table_type.table td {
		border: 1px solid var(--table_border_color);
	}
	table.table th,
	.table_type.table th {
		background: var(--table_th_bg_color);
		color: var(--table_th_txt_color);
	}
	table.table td,
	.table_type.table td {
		background: var(--table_td_bg_color);
		color: var(--table_td_txt_color);
	}
	*:where(table, .table_type).table_line thead tr th,
	*:where(table, .table_type).table_line thead tr td,
	*:where(table, .table_type).table_line tbody tr th,
	*:where(table, .table_type).table_line tbody tr td,
	*:where(table, .table_type).table_line tr th,
	*:where(table, .table_type).table_line tr td {
		border-top: 1px solid var(--table_border_color);
		border-bottom: 1px solid var(--table_border_color);
	}
	*:where(table, .table_type).table_line thead tr:where(:not(:first-child)),
	*:where(table, .table_type).table_line tbody tr:where(:not(:first-child)),
	*:where(table, .table_type).table_line tr:where(:not(:first-child)) {
		border-top: 1px solid var(--border_color_base);
	}
	@media screen and (max-width: 599px) {
		*:where(table, .table_type).table_block_sp tbody,
		*:where(table, .table_type).table_block_sp {
			border: 1px solid var(--border_color_base);
		}
		*:where(table, .table_type).table_block_sp tbody tr,
		*:where(table, .table_type).table_block_sp tr {
			padding: 10px;
		}
		*:where(table, .table_type).table_block_sp tbody tr th,
		*:where(table, .table_type).table_block_sp tbody tr td,
		*:where(table, .table_type).table_block_sp tr th,
		*:where(table, .table_type).table_block_sp tr td {
			border: none;
			background-color: rgba(0, 0, 0, 0);
		}
		*:where(table, .table_type).table_block_sp tbody tr th,
		*:where(table, .table_type).table_block_sp tr th {
			margin-bottom: 10px;
			padding: 0;
			font-weight: bold;
		}
		*:where(table, .table_type).table_block_sp tbody tr td,
		*:where(table, .table_type).table_block_sp tr td {
			padding: 0 0 0 10px;
			border: none;
		}
		*:where(table, .table_type).table_block_sp.add_thead tbody tr td::before {
			width: 60px;
		}
		*:where(table, .table_type).table_block_sp.add_thead tbody tr td > *:where(:not(:last-child)) {
			margin-right: 10px;
		}
	}
}
@layer component {
	.entry_wrap h1 {
		text-align: left;
	}
	.entry_wrap h1:not(:first-child) {
		margin-top: var(--area_margin);
	}
	.entry_wrap h3:not(:first-child) {
		margin-top: var(--box_margin);
	}
	.entry_wrap h4:not(:first-child) {
		margin-top: var(--part_margin);
	}
	.entry_wrap h5:not(:first-child) {
		margin-top: var(--cont_margin);
	}
	.entry_wrap table th,
	.entry_wrap table td {
		border: 1px solid var(--table_border_color);
	}
	.entry_wrap table th {
		background: var(--table_th_bg_color);
		color: var(--table_th_txt_color);
	}
	.entry_wrap table td {
		background: var(--table_td_bg_color);
		color: var(--table_td_txt_color);
	}
	.entry_wrap img {
		display: inline-block;
		float: none;
		margin-bottom: 6px;
	}
	.entry_wrap a {
		word-break: break-all;
		word-wrap: break-word;
	}
	.entry_wrap blockquote {
		margin-left: 1.05em;
	}
}
@layer base {
	@media print, screen and (min-width: 960px) {
		.contents:has(> .side_area) {
			container: wrapper/inline-size;
			margin-inline: auto;
			width: min(var(--wrapper_default), var(--wrapper_max));
			display: grid;
			grid-template-rows: repeat(8, min-content);
			grid-template-columns: 1fr 25%;
			gap: 0 5%;
			margin-top: var(--area_margin);
		}
	}
	@media print, screen and (min-width: 960px) {
		.contents:has(> .side_area) .area > * {
			--wrapper_default: 100%;
			--wrapper_max: 100%;
		}
	}
	@media print, screen and (min-width: 960px) {
		.contents:has(> .side_area) .area:where(:not(.side_area)) {
			grid-row: auto;
			grid-column: 1;
			margin-bottom: var(--area_margin);
			padding: 0;
			min-width: 0;
			overflow-x: visible;
		}
	}
	@media print, screen and (min-width: 960px) {
		.contents:has(> .side_area) .area:where(:not(.side_area)) .hgroup .heading02,
		.contents:has(> .side_area) .area:where(:not(.side_area)) .hgroup .heading_sub,
		.contents:has(> .side_area) .area:where(:not(.side_area)) .hgroup .date {
			text-align: left;
		}
	}
	.contents:has(> .side_area) .area.side_area {
		--box_margin: 30px;
	}
	@media print, screen and (min-width: 960px) {
		.contents:has(> .side_area) .area.side_area {
			grid-row: 1/-1;
			grid-column: 2;
			padding-top: 0;
		}
	}
	@media print, screen and (min-width: 960px) {
		.contents:has(> .side_area) .area.side_area.sticky {
			position: sticky;
			top: calc(var(--header_height_total) + 20px);
			margin-bottom: auto !important;
			transition: 0.5s;
		}
	}
	@media print, screen and (min-width: 960px) {
		.contents:has(> .side_area) .area.side_area .box.side_box.sticky {
			position: sticky;
			top: calc(var(--header_height_total) + 20px);
			background: #fff;
			transition: 0.5s;
		}
	}
	.contents:has(> .side_area) .area.side_area .box.side_box .heading_side {
		margin-bottom: 10px;
		font-size: 1.4rem;
		font-weight: bold;
		color: var(--txt_color_heading);
	}
	.contents:has(> .side_area) .area.side_area .box.side_box .heading_side:where(:not(:first-child)) {
		margin-top: clamp(25px, 25px + 5 * (100vw - 400px)/1000, 30px);
	}
	.contents:has(> .side_area) .area.side_area .box.side_box .sidenav {
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_right.svg);
	}
	.contents:has(> .side_area) .area.side_area .box.side_box .sidenav li:first-child {
		border-top: 1px solid var(--border_color_base);
	}
	.contents:has(> .side_area) .area.side_area .box.side_box .sidenav li {
		border-bottom: 1px solid var(--border_color_base);
	}
	.contents:has(> .side_area) .area.side_area .box.side_box .sidenav li * {
		transition: color 0.3s;
	}
	.contents:has(> .side_area) .area.side_area .box.side_box .sidenav li a {
		display: block;
		padding: 15px;
		text-decoration: none;
		cursor: pointer;
		transition: 0.3s;
	}
	.contents:has(> .side_area) .area.side_area .box.side_box .sidenav li a span {
		position: relative;
		display: block;
		padding-left: calc(var(--icon_size) + var(--icon_gap));
		font-size: 1.3rem;
		color: var(--txt_color_base);
	}
	.contents:has(> .side_area) .area.side_area .box.side_box .sidenav li a span::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		margin: 0;
		width: var(--icon_size);
		aspect-ratio: 1/1;
		background: var(--icon_color);
		font-size: inherit;
		-webkit-mask: var(--icon_image) no-repeat center/contain;
		mask: var(--icon_image) no-repeat center/contain;
		translate: 0 calc((1lh - var(--icon_size)) / 2);
	}
	.contents:has(> .side_area) .area.side_area .box.side_box .sidenav li a:hover span {
		color: var(--color_theme_base);
	}
	.contents:has(> .side_area) .area.side_area .box.side_box .sidenav li a.current span {
		color: rgba(from var(--txt_color_base) r g b/0.5);
	}
	.contents:has(> .side_area) .area.side_area .box.side_box .sidenav li a.sidenav_openclose_handle.plus {
		--icon_image: url(/ec/images/event/20th/lib/icon/plus.svg);
	}
	.contents:has(> .side_area) .area.side_area .box.side_box .sidenav li a.sidenav_openclose_handle.minus {
		--icon_image: url(/ec/images/event/20th/lib/icon/minus.svg);
	}
	.contents:has(> .side_area) .area.side_area .box.side_box .sidenav li ul.child {
		margin-bottom: 6px;
		margin-left: 15px;
		border-top: none;
	}
	.contents:has(> .side_area) .area.side_area .box.side_box .sidenav li ul.child li {
		border-top: none;
		border-bottom: none;
	}
	.contents:has(> .side_area) .area.side_area .box.side_box .sidenav li ul.child li a {
		padding-block: 8px;
	}
	.contents:has(> .side_area) .area.side_area .box.side_box .sidenav li ul.child li:first-child a {
		padding-top: 0;
	}
}
@layer component {
	.search_wrap {
		--icon_size: 24px;
		position: relative;
		margin-inline: auto;
		width: min(100%, 400px);
	}
	.search_wrap .input_wrap {
		width: 100%;
	}
	.search_wrap .input_wrap input {
		padding-right: calc(var(--icon_size) + 15px);
		width: 100%;
		min-height: 0;
		outline: none;
		box-shadow: none;
	}
	.search_wrap button {
		position: absolute;
		top: 0;
		right: 10px;
		bottom: 0;
		z-index: 1;
		margin-block: auto;
	}
	.radio_sample_xxxx_list {
		gap: 8px;
		border: none;
	}
	.radio_sample_xxxx_list label.radio_sample_xxxx_item {
		padding: 0;
		border: none;
	}
	.radio_sample_xxxx_list label.radio_sample_xxxx_item > *:not(input) {
		flex-grow: 1;
		margin: 0;
		padding: var(--btn_pd_block) var(--btn_pd_inline) var(--btn_pd_block) calc(var(--btn_pd_inline) + var(--icon_size));
		border: 2px solid var(--border_color_light);
		border-radius: var(--btn_radius);
		transition: 0.3s;
	}
	.radio_sample_xxxx_list label.radio_sample_xxxx_item > *:not(input)::before,
	.radio_sample_xxxx_list label.radio_sample_xxxx_item > *:not(input)::after {
		top: 0;
		bottom: 0;
		left: 10px;
		margin-block: auto;
	}
	.radio_sample_xxxx_list label.radio_sample_xxxx_item:has(input:checked) > *:not(input) {
		border-color: var(--form_input_border_focus);
		background: var(--form_input_border_focus);
		font-weight: bold;
		color: #fff;
	}
	.radio_sample_yyyy_list {
		gap: 8px;
		border: none;
	}
	.radio_sample_yyyy_list label.radio_sample_yyyy_item {
		--image_texts_imagesize: 50px;
		--image_texts_gap: 8px;
		padding: 10px;
		border: 2px solid var(--border_color_light);
		border-radius: var(--btn_radius);
		transition: 0.3s;
	}
	.radio_sample_yyyy_list label.radio_sample_yyyy_item > * {
		padding: 0;
	}
	.radio_sample_yyyy_list label.radio_sample_yyyy_item > *::before,
	.radio_sample_yyyy_list label.radio_sample_yyyy_item > *::after {
		display: none;
	}
	.radio_sample_yyyy_list label.radio_sample_yyyy_item .image_item,
	.radio_sample_yyyy_list label.radio_sample_yyyy_item .texts_item {
		display: block;
		margin: 0;
	}
	.radio_sample_yyyy_list label.radio_sample_yyyy_item .texts_item > * {
		display: block;
	}
	.radio_sample_yyyy_list label.radio_sample_yyyy_item .texts_item .ttl {
		margin-bottom: 0.3em;
		font-weight: bold;
		color: var(--txt_color_heading);
	}
	.radio_sample_yyyy_list label.radio_sample_yyyy_item:has(input:checked) {
		border-color: var(--form_input_border_focus);
		background: var(--form_input_bg_focus);
	}
	.radio_sample_yyyy_list label.radio_sample_yyyy_item:has(input:checked) .texts_item .ttl {
		color: var(--form_input_border_focus);
	}
}
@layer component {
	.bg_base {
		background: var(--bg_color_base) !important;
	}
	.bg_sub {
		background: var(--bg_color_sub) !important;
	}
	.texts .big,
	p.text.big {
		font-size: 1.2em;
	}
	.texts .small,
	p.text.small {
		font-size: 0.8em;
	}
	.texts strong.big,
	.texts span.big,
	.texts span.small {
		display: inline-block;
	}
	.marker {
		background: linear-gradient(transparent 75%, rgba(from yellow r g b/0.9) 25%);
	}
	.caption {
		font-size: 1.3rem;
		line-height: 1.3;
	}
	.caption:where(:not(:first-child)) {
		margin-top: 8px;
	}
	.supple {
		font-size: 1.2rem;
	}
	.caution {
		color: var(--color_util_caution);
	}
	.accent {
		color: var(--color_util_accent);
	}
	.icon_kome {
		--icon_color: var(--txt_color_base);
	}
	.color_theme {
		color: var(--color_theme_base);
	}
	.link_arrow,
	ul.ul_arrow > li,
	.texts ul.ul_arrow > li {
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_right.svg);
		--icon_gap: 0.2em;
		position: relative;
		padding-left: calc(var(--icon_size) + var(--icon_gap));
	}
	.link_arrow::before,
	ul.ul_arrow > li::before,
	.texts ul.ul_arrow > li::before {
		content: "";
		position: absolute;
		left: 0;
		display: block;
		width: var(--icon_size);
		aspect-ratio: 1/1;
		background-color: var(--icon_color);
		-webkit-mask: var(--icon_image) no-repeat center/contain;
		mask: var(--icon_image) no-repeat center/contain;
		translate: 0 calc((1lh - var(--icon_size)) / 2);
	}
	.link_external::after,
	.link_sscroll::after,
	.link_parent::after {
		--icon_color: var(--txt_color_base);
		content: "";
		display: inline-block;
		margin-left: 5px;
		width: 1em;
		aspect-ratio: 1/1;
		background: var(--icon_color);
		font-size: 0.9em;
		vertical-align: middle;
		-webkit-mask: var(--icon_image) no-repeat center/contain;
		mask: var(--icon_image) no-repeat center/contain;
		transform: scale(0.8);
	}
	.link_external::after {
		--icon_image: url(/ec/images/event/20th/lib/icon/link_blank.svg);
	}
	.link_sscroll::after {
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_double_down.svg);
	}
	.link_parent::after {
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_right.svg);
		margin-right: 5px;
	}
	ul.ul_line > li::before,
	.texts ul.ul_line > li::before {
		background: linear-gradient(var(--list_color_base, var(--color_theme_base)), var(--list_color_base, var(--color_theme_base))) no-repeat center/80% 1px;
		-webkit-mask: none;
		mask: none;
	}
	ul.ol_circle > li,
	.texts ol.ol_circle > li {
		padding-left: 2em;
		counter-increment: num;
	}
	ul.ol_circle > li::before,
	ul.ol_circle > li::after,
	.texts ol.ol_circle > li::before,
	.texts ol.ol_circle > li::after {
		position: absolute;
		top: 0;
		left: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 1.6em;
		aspect-ratio: 1/1;
		transform: scale(0.8);
	}
	ul.ol_circle > li::before,
	.texts ol.ol_circle > li::before {
		content: counter(num);
		z-index: 3;
		font-weight: bold;
		color: #fff;
	}
	ul.ol_circle > li::after,
	.texts ol.ol_circle > li::after {
		content: "";
		z-index: 2;
		border-radius: 50%;
		background-color: var(--list_color_base, var(--color_theme_base));
	}
	.circle_cf_ol {
		display: flex;
		align-items: center;
		justify-content: center;
		aspect-ratio: 1/1;
		background-color: var(--list_color_base, var(--color_theme_base));
		text-align: center;
		font-size: 1.1rem;
		font-weight: bold;
		color: #fff;
	}
	ul.kome > li::before {
		content: "※";
		font-size: var(--icon_size);
		color: rgba(0, 0, 0, 0);
		-webkit-mask: none;
		mask: none;
		-webkit-background-clip: text;
		background-clip: text;
	}
	ul.ol_kome > li,
	.texts ol.ol_kome > li {
		padding-left: 2em;
		counter-increment: num;
	}
	ul.ol_kome > li::before,
	.texts ol.ol_kome > li::before {
		content: "* " counter(num) " ";
		font-weight: bold;
		color: var(--list_color_base, var(--color_theme_base));
	}
	.list_kome {
		position: relative;
		padding-left: 1.5em;
		list-style: none;
	}
	.list_kome::before {
		content: "※";
		position: absolute;
		left: 0;
		display: block;
	}
	.list_kome .center::before,
	.list_kome .left::before {
		position: static;
		display: inline-block;
		margin-right: 0.5em;
	}
	@media screen and (max-width: 599px) {
		.list_kome .center_sp::before,
		.list_kome .left_sp::before,
		.list_kome .center_sp_tb::before,
		.list_kome .left_sp_tb::before {
			position: static;
			display: inline-block;
			margin-right: 0.5em;
		}
	}
	@media screen and (min-width: 600px) and (max-width: 959px) {
		.list_kome .center_sp_tb::before,
		.list_kome .left_sp_tb::before,
		.list_kome .center_tb::before,
		.list_kome .left_tb::before,
		.list_kome .center_tb_pc::before,
		.list_kome .left_tb_pc::before {
			position: static;
			display: inline-block;
			margin-right: 0.5em;
		}
	}
	@media print, screen and (min-width: 960px) {
		.list_kome .center_tb_pc::before,
		.list_kome .left_tb_pc::before,
		.list_kome .center_pc::before,
		.list_kome .left_pc::before {
			position: static;
			display: inline-block;
			margin-right: 0.5em;
		}
	}
	@media screen and (min-width: 1400px) {
		.list_kome .center_lg::before,
		.list_kome .left_lg::before {
			position: static;
			display: inline-block;
			margin-right: 0.5em;
		}
	}
	.mark,
	.mark_list li a,
	.mark_list li:not(:has(> a)) {
		flex-shrink: 0;
		display: inline-block;
		padding: 0.2em 1.5em;
		border-radius: 2em;
		background: var(--color_theme_base);
		text-align: center;
		text-decoration: none;
		font-size: 1.3rem;
		line-height: 1.3;
		color: #fff;
		letter-spacing: normal;
		transition: 0.3s;
	}
	a.mark:hover,
	.mark_list li a:hover {
		background: var(--color_theme_base);
		color: #fff;
	}
	.mark_list {
		display: flex;
		flex-wrap: wrap;
		gap: 5px;
		align-items: flex-start;
	}
	.mark_list li:not(:has(> a)) {
		display: block;
	}
	.mark_list li a {
		display: block;
	}
	.mark_ttl,
	.mark_freedial {
		display: flex;
		gap: 0 min(0.5em, 15px);
		align-items: center;
	}
	.mark_ttl::before,
	.mark_freedial::before {
		width: 3em;
		text-align: center;
		font-size: 0.7em;
		color: #fff;
	}
	.mark_ttl a,
	.mark_freedial a {
		color: inherit;
	}
	.mark_ttl::before {
		content: attr(title);
		background-color: var(--list_color_base, var(--color_theme_base));
	}
	.mark_freedial::before {
		content: "";
		align-self: stretch;
		background: url(/ec/images/event/20th/lib/parts/icon_freedial.svg) no-repeat center/100%;
	}
	.pdf_mark,
	.excel_mark,
	.word_mark {
		display: inline-block;
		margin-inline: 10px;
		padding: 2px 4px;
		font-size: 0.9rem;
		line-height: 1;
		color: #fff;
	}
	.pdf_mark {
		background: var(--color_util_file_pdf);
	}
	.excel_mark {
		background: var(--color_util_file_excel);
	}
	.word_mark {
		background: var(--color_util_file_word);
	}
	.pic.frame,
	.object_fit.frame {
		padding: 4px;
		border: 1px solid var(--border_color_base);
	}
	.pic.border,
	.object_fit.border {
		border: 1px solid var(--border_color_base);
	}
	.object_fit.golden_ratio {
		aspect-ratio: 8/5;
	}
	.object_fit.silver_ratio {
		aspect-ratio: 7/5;
	}
	.object_fit.wide_ratio {
		aspect-ratio: 16/9;
	}
	.hover_zoom {
		overflow: hidden;
	}
	.hover_zoom:hover img,
	.hover_zoom a:hover img {
		transform: scale(1.2);
	}
	.hover_opacity:hover img,
	.hover_opacity a:hover img {
		opacity: 0.7;
	}
	.cover_wrap {
		position: relative;
		padding: clamp(10px, 10px + 10 * (100vw - 400px)/1000, 20px);
		border: 1px solid var(--border_color_base);
		border-radius: var(--radius_base);
		background: #fff;
	}
	.cover_wrap .heading_in_cover {
		position: relative;
		display: block;
		margin-bottom: 10px;
		padding-bottom: 5px;
		padding-left: 1.5em;
		border-bottom: 1px solid var(--border_color_base);
		font-weight: bold;
		line-height: 1.8;
	}
	.cover_wrap .heading_in_cover::before {
		content: "";
		position: absolute;
		left: 0;
		width: 1em;
		aspect-ratio: 1/1;
		background-color: var(--color_theme_base);
		-webkit-mask: url(/ec/images/event/20th/lib/icon/edit.svg) no-repeat center/contain;
		mask: url(/ec/images/event/20th/lib/icon/edit.svg) no-repeat center/contain;
	}
	.cover_wrap > *:last-child {
		margin-bottom: 0;
	}
	.openclose_wrap .openclose_handle {
		cursor: pointer;
	}
	.openclose_wrap .openclose_handle:not(.btn_sp) {
		--icon_size: 1.3em;
	}
	.openclose_wrap .openclose_handle:not(.btn_sp) > span {
		position: relative;
		display: block;
		padding-left: calc(var(--icon_size) + var(--icon_gap));
		font-weight: bold;
		transition: 0.3s;
	}
	.openclose_wrap .openclose_handle:not(.btn_sp) > span::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		margin: 0;
		width: var(--icon_size);
		aspect-ratio: 1/1;
		background: var(--icon_color);
		font-size: inherit;
		-webkit-mask: var(--icon_image) no-repeat center/contain;
		mask: var(--icon_image) no-repeat center/contain;
		translate: 0 calc((1lh - var(--icon_size)) / 2);
	}
	.openclose_wrap .openclose_handle.plus {
		--icon_image: url(/ec/images/event/20th/lib/icon/plus_circle.svg);
	}
	.openclose_wrap .openclose_handle.minus {
		--icon_image: url(/ec/images/event/20th/lib/icon/minus_circle.svg);
	}
	.openclose_wrap .openclose_handle:hover:not(.btn_sp) > span {
		color: var(--color_theme_base);
	}
	.openclose_wrap .openclose_target {
		margin-bottom: 0;
		padding-block: 15px;
	}
	.openclose_wrap .openclose_target > *:last-child {
		margin-bottom: 0;
	}
	@media screen and (max-width: 599px) {
		.openclose_wrap:has(> .openclose_handle.btn_sp) {
			border: 1px solid var(--btn_color_border);
			border-radius: var(--btn_radius);
			overflow: hidden;
		}
		.openclose_wrap:has(> .openclose_handle.btn_sp) .openclose_handle.btn_sp {
			--btn_radius: 0;
		}
		.openclose_wrap:has(> .openclose_handle.btn_sp) .openclose_handle.btn_sp > * {
			border: none;
		}
		.openclose_wrap:has(> .openclose_handle.btn_sp) .openclose_target {
			padding-inline: 15px;
		}
		.openclose_wrap:has(> .openclose_handle.btn_sp) .openclose_target.btn_group_sp {
			--btn_radius: 0;
			padding: 0;
			border: none;
		}
		.openclose_wrap:has(> .openclose_handle.btn_sp) .openclose_handle.btn_sp.plus {
			--icon_image: url(/ec/images/event/20th/lib/icon/plus.svg);
		}
		.openclose_wrap:has(> .openclose_handle.btn_sp) .openclose_handle.btn_sp.minus {
			--icon_image: url(/ec/images/event/20th/lib/icon/minus.svg);
		}
	}
	.step_list {
		--circle_size: 30px;
		position: relative;
		z-index: 0;
		display: flex;
		justify-content: space-between;
		margin-inline: auto;
		width: 80%;
		max-width: 600px;
	}
	@media print, screen and (min-width: 960px) {
		.step_list {
			--circle_size: 40px;
		}
	}
	.step_list::before {
		content: "";
		position: absolute;
		top: calc(var(--circle_size) / 2);
		right: 0;
		left: 0;
		z-index: -1;
		display: block;
		margin: auto;
		width: calc(100% - 40px);
		height: 4px;
		background-color: var(--border_color_light);
	}
	.step_list .step_item {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		padding-bottom: 30px;
	}
	.step_list .step_item .step_num {
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 50%;
		width: var(--circle_size);
		height: var(--circle_size);
		background-color: #000;
		font-size: calc(var(--circle_size) / 2);
		font-weight: bold;
		line-height: 1;
		color: #fff;
	}
	.step_list .step_item .step_text {
		position: absolute;
		top: calc(var(--circle_size) + 10px);
		left: 50%;
		text-align: center;
		font-size: 1.2rem;
		white-space: nowrap;
		transform: translateX(-50%);
	}
	.step_list .step_item.current .step_num {
		background-color: var(--color_theme_base);
		color: #fff;
	}
	.tel_wrap {
		display: flex;
		flex-direction: column;
		-moz-column-gap: 20px;
		column-gap: 20px;
		margin-inline: auto;
		padding: 20px 15px;
		border: 1px solid var(--border_color_base);
		width: min(100%, 600px);
		background-color: #fff;
	}
	@media print, screen and (min-width: 600px) {
		.tel_wrap {
			flex-direction: row;
			align-items: center;
			justify-content: center;
		}
	}
	@media print, screen and (min-width: 600px) {
		.tel_wrap .tel_item {
			margin-bottom: 0;
		}
	}
	.tel_wrap .tel_item .tel {
		font-size: clamp(2.8rem, 2.8rem + 12 * (100vw - 40rem)/1000, 4rem);
	}
	@media print, screen and (min-width: 960px) {
		.tel_wrap .tel_item .tel {
			font-weight: 500;
		}
	}
	.tel_wrap .tel_item .tel a {
		text-decoration-color: #ccc;
		font-weight: bold;
		line-height: 1;
		color: #000;
		letter-spacing: 0.06em;
		white-space: nowrap;
	}
	.tel_wrap .supple_item {
		font-size: 1.3rem;
	}
	.error_box .part {
		text-align: center;
	}
	.error_box .part::before {
		content: "";
		display: inline-block;
		width: 50px;
		aspect-ratio: 1/1;
		background-color: #c90;
		text-align: center;
		-webkit-mask: url(/ec/images/event/20th/lib/icon/warning.svg) no-repeat center/contain;
		mask: url(/ec/images/event/20th/lib/icon/warning.svg) no-repeat center/contain;
	}
	.error_box .part p.error_text {
		margin: 30px 0 45px;
	}
	.error_box .part p.error_text span {
		font-size: 2.8rem;
		line-height: 2.8rem;
		color: #000;
	}
	.meta_cont {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		width: 100%;
	}
	.meta_cont .meta_date time {
		font-size: 1.2rem;
	}
	.meta_cont .meta_tag li {
		display: inline-block;
	}
	.meta_cont .meta_tag li a {
		display: block;
		padding: 5px;
		border: 1px solid;
		border-color: var(--border_color_base);
		border-radius: 3px;
		background-color: #fff;
		text-decoration: none;
		font-size: 1rem;
		line-height: 1;
		transition: all 0.3s;
	}
	.meta_cont .meta_tag li a:hover {
		background-color: var(--border_color_base);
		color: #fff;
	}
	.chart_arrow_list .chart_arrow_item {
		--icon_gap: 10px;
		--icon_size: 40px;
		--icon_image: url(/ec/images/event/20th/lib/icon/arrow_down.svg);
	}
	.chart_arrow_list .chart_arrow_item:not(:last-child) {
		position: relative;
		margin-bottom: 0;
		padding-bottom: calc(var(--icon_size) + var(--icon_gap) * 2);
	}
	.chart_arrow_list .chart_arrow_item:not(:last-child)::before {
		content: "";
		position: absolute;
		right: 0;
		bottom: var(--icon_gap);
		left: 0;
		display: block;
		margin-inline: auto;
		width: var(--icon_size);
		aspect-ratio: 1/1;
		background: var(--icon_color);
		-webkit-mask: var(--icon_image) no-repeat center/contain;
		mask: var(--icon_image) no-repeat center/contain;
	}
	@media print, screen and (min-width: 600px) {
		.map_wrap {
			display: grid;
			grid-template-columns: 1fr auto;
		}
	}
	@media print, screen and (min-width: 600px) {
		.map_wrap .googlemap_wrap {
			grid-column: 1/3;
		}
	}
	.googlemap_wrap {
		border: 1px solid var(--border_color_base);
	}
	.googlemap_wrap iframe {
		display: block;
		width: 100%;
		aspect-ratio: 7/5;
	}
	.tab_wrap {
		border: 1px solid var(--border_color_base);
		border-radius: var(--radius_base);
		overflow: hidden;
	}
	.tab_wrap .tab_handle_set {
		--clm_gap: 2px;
		position: relative;
		margin-bottom: 0;
	}
	.tab_wrap .tab_handle_set::before {
		content: "";
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 2;
		display: block;
		width: 100%;
		height: 1px;
		background: var(--border_color_base);
	}
	.tab_wrap .tab_handle_set > * {
		z-index: 1;
	}
	.tab_wrap .tab_handle_set > * > * {
		display: block;
		padding: 15px;
		background: var(--color_theme_base);
		text-align: center;
		font-weight: bold;
		color: #fff;
	}
	.tab_wrap .tab_handle_set > *.current {
		z-index: 3;
	}
	.tab_wrap .tab_handle_set > *.current > * {
		border-bottom-color: rgba(0, 0, 0, 0);
		background-color: #fff;
		color: var(--txt_color_base);
	}
	.tab_wrap .tab_target {
		padding: 15px;
		background-color: #fff;
	}
	.tab_wrap .tab_handle_set:not([class*="clm"]) {
		display: flex;
	}
	.tab_wrap .tab_handle_set:not([class*="clm"]):not(.current_grow) > * {
		flex: 1;
	}
	.nav_btn {
		--icon_size: 60%;
		--icon_image: url(/ec/images/event/20th/lib/icon/angle_right.svg);
		--icon_color: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
		border: 1px solid var(--color_theme_base);
		border-radius: 50%;
		width: 40px;
		aspect-ratio: 1/1;
		background-color: var(--color_theme_base);
		transition: 0.3s;
	}
	.nav_btn::before {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.nav_btn.prev {
		translate: 10px;
	}
	@media print, screen and (min-width: 960px) {
		.nav_btn.prev {
			translate: -10px;
		}
	}
	.nav_btn.next {
		translate: -10px;
	}
	@media print, screen and (min-width: 960px) {
		.nav_btn.next {
			translate: 10px;
		}
	}
	.nav_btn:hover {
		--icon_color: var(--color_theme_base);
		background: #fff;
	}
	.gallery_wrap {
		--clm_gap: 5px;
	}
	.gallery_wrap .gallery_target {
		margin-bottom: var(--clm_gap);
	}
	.gallery_wrap .gallery_handles > * .object_fit {
		border: 1px solid var(--border_color_base);
	}
	@media print, screen and (min-width: 960px) {
		.gallery_wrap .gallery_handles > *:hover {
			opacity: 0.5;
		}
	}
	@media print, screen and (min-width: 600px) {
		.gallery_wrap .gallery_handles > .current {
			opacity: 0.5;
		}
	}
	.snap_wrap {
		--clm_gap: 5px;
	}
	.snap_wrap .snap_handles > * .object_fit {
		border: 1px solid var(--border_color_base);
	}
	@media print, screen and (min-width: 960px) {
		.snap_wrap .snap_handles > *:hover {
			opacity: 0.5;
		}
	}
	@media print, screen and (min-width: 600px) {
		.snap_wrap .snap_handles > .current {
			opacity: 0.5;
		}
	}
	.modal_icon {
		position: relative;
	}
	.modal_icon::before,
	.modal_icon::after {
		content: "";
		position: absolute;
		right: 0;
		bottom: 0;
		z-index: 1;
		width: 40px;
		aspect-ratio: 1/1;
		transition: 0.3s;
	}
	.modal_icon::before {
		background: rgba(from #000 r g b/0.5);
	}
	.modal_icon::after {
		display: block;
		background: #fff;
		-webkit-mask: url(/ec/images/event/20th/lib/icon/plus_circle.svg) no-repeat center/60%;
		mask: url(/ec/images/event/20th/lib/icon/plus_circle.svg) no-repeat center/60%;
	}
	.modal_overlay .modal_wrap .modal_close {
		position: fixed;
		top: min(5vw, 30px);
		right: min(5vw, 30px);
		width: clamp(40px, 5vw, 80px);
		aspect-ratio: 1/1;
		cursor: pointer;
	}
	.modal_overlay .modal_wrap .modal_close::before {
		content: "";
		display: block;
		aspect-ratio: 1/1;
		background: #fff;
		-webkit-mask: url(/ec/images/event/20th/lib/icon/close.svg) no-repeat center/100%;
		mask: url(/ec/images/event/20th/lib/icon/close.svg) no-repeat center/100%;
	}
	@media print, screen and (min-width: 600px) {
		.modal_overlay .modal_wrap:not(:has(.pinchzoom)) .modal_close {
			position: absolute;
			top: 0;
			right: 0;
			border-radius: 15px;
			width: 30px;
			background: #000;
			transform: translate(50%, -50%);
		}
	}
	@media print, screen and (min-width: 600px) {
		.modal_overlay .modal_wrap:not(:has(.pinchzoom)) .modal_close::before {
			-webkit-mask-size: 60%;
			mask-size: 60%;
		}
	}
	.modal_overlay .modal_prev_next > * {
		position: absolute;
		top: 0;
		bottom: 0;
		z-index: 2;
		margin: auto 0;
		width: 40px;
		height: 40px;
		background: #222;
		opacity: 0.6;
		cursor: pointer;
		transition: opacity 0.3s;
	}
	.modal_overlay .modal_prev_next > * span {
		--icon_color: white;
		--icon_size: 20px;
		--lr_p: 0;
		position: relative;
		display: block;
		width: 40px;
		height: 40px;
	}
	.modal_overlay .modal_prev_next > * span::before {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		left: 0;
		margin: auto;
		transform: translateY(-50%);
		display: block;
		width: var(--icon_size);
		aspect-ratio: 1/1;
		background-color: var(--icon_color);
		-webkit-mask: var(--icon_image) no-repeat center/contain;
		mask: var(--icon_image) no-repeat center/contain;
	}
	.modal_overlay .modal_prev_next > * span:hover {
		opacity: 1;
	}
	.modal_overlay .modal_prev_next > *.prev {
		left: 0;
	}
	.modal_overlay .modal_prev_next > *.prev span::before {
		-webkit-mask-image: url(/ec/images/event/20th/lib/icon/arrow_left.svg);
		mask-image: url(/ec/images/event/20th/lib/icon/arrow_left.svg);
	}
	.modal_overlay .modal_prev_next > *.next {
		right: 0;
	}
	.modal_overlay .modal_prev_next > *.next span::before {
		-webkit-mask-image: url(/ec/images/event/20th/lib/icon/arrow_right.svg);
		mask-image: url(/ec/images/event/20th/lib/icon/arrow_right.svg);
	}
	.modal_overlay .modal_prev_next > *.disabled {
		pointer-events: none;
	}
	.modal_overlay .modal_prev_next > *.disabled span {
		opacity: 0.2;
	}
	.modal_overlay .modal_wrap.add_prop {
		width: calc(100vw - 30px);
		height: calc(100vh - 30px);
	}
	@media print, screen and (min-width: 600px) {
		.modal_overlay .modal_wrap.add_prop {
			max-width: 800px;
			max-height: 800px;
		}
	}
	.modal_overlay .nav_dots {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		padding-block: 15px;
		background: #fff;
	}
}
@layer component {
	.news_archive_list {
		display: grid;
		gap: 0 5%;
	}
	@media print, screen and (min-width: 600px) {
		.news_archive_list {
			grid-template-columns: auto 1fr;
		}
	}
	.news_archive_list .news_item:first-child {
		border-top: 1px solid var(--border_color_base);
	}
	.news_archive_list .news_item {
		grid-column: 1/-1;
		display: grid;
		grid-template-columns: subgrid;
		align-items: baseline;
		margin-bottom: 0;
		padding-block: 15px;
		border-bottom: 1px solid var(--border_color_base);
	}
	.news_archive_list .news_item .date {
		font-size: 1.2rem;
	}
	.sns_list {
		display: flex;
		flex-wrap: wrap;
		gap: 5px 15px;
		align-items: center;
		justify-content: center;
	}
	.sns_list li a {
		--icon_size: clamp(30px, 30px + 20 * (100vw - 400px) / 1000, 50px);
		--icon_color: #000;
		transition: 0.3s;
	}
	.sns_list li a::before {
		transition: 0.3s;
	}
	.sns_list li a:hover {
		--icon_color: var(--color_theme_base);
		translate: 0 -5px;
	}
	.area.info_area {
		--area_margin: 40px;
		background: var(--color_theme_base);
		color: #fff;
	}
	.area.info_area .box .part .cont.main_texts_item {
		margin-bottom: clamp(10px, 10px + 5 * (100vw - 400px)/1000, 15px);
	}
	.area.info_area .box .part .cont.sub_texts_item {
		font-size: clamp(1.4rem, 1.4rem + 6 * (100vw - 40rem)/1000, 2rem);
	}
	.area.intro_area {
		--area_margin: 40px;
		text-align: center;
	}
	.area.intro_area .box .part .cont .sub_text {
		margin-bottom: 1em;
		font-size: clamp(1.5rem, 1.5rem + 5 * (100vw - 40rem)/1000, 2rem);
		font-weight: 600;
	}
	.area.intro_area .box .part .cont .main_text {
		position: relative;
		font-size: clamp(2.8rem, 6cqw, 6rem);
		font-weight: 800;
		line-height: 1.2;
		letter-spacing: normal;
	}
	.label {
		container-type: inline-size;
		display: flex;
		align-items: center;
		justify-content: center;
		aspect-ratio: 1/1;
		background: var(--color_theme_accent);
		text-align: center;
		color: var(--txt_color_base);
	}
	.label > * {
		font-size: 19cqw;
		font-weight: 600;
		line-height: 1.1;
	}
	.label.circle {
		border-radius: 50%;
	}
	.label.fukidashi_circle {
		position: relative;
		border-radius: 50%;
	}
	.label.fukidashi_circle::after {
		content: "";
		position: absolute;
		right: 0;
		bottom: 0;
		display: block;
		width: 20%;
		height: 20%;
		clip-path: polygon(50% 100%, 0 0, 100% 0);
		background: var(--color_theme_accent);
		transform: translateX(-50%);
		rotate: -45deg;
	}
	.area:has(> .decoration_box) {
		position: relative;
		z-index: 0;
	}
	.box.decoration_box {
		display: none;
	}
	.box.decoration_box .part {
		display: contents;
	}
	.box.decoration_box .part .cont {
		display: contents;
	}
	.box.decoration_box .part .cont .pic.decoration {
		position: absolute;
		z-index: 1;
	}
	.box.decoration_box .part .cont .pic.decoration > img {
		width: 100%;
	}
	.box.decoration_box .part .cont .pic.decoration.small {
		width: min(15%, 200px);
	}
	.box.decoration_box .part .cont .pic.decoration.medium {
		width: min(20%, 250px);
	}
	.box.decoration_box .part .cont .pic.decoration.large {
		width: min(25%, 300px);
	}
	.product_list {
		--clm_gap: 80px 3%;
		--cont_margin: 60px;
	}
	@media print, screen and (min-width: 960px) {
		.product_list {
			--clm_gap: 80px 10px;
		}
	}
	.product_list .product_item .image_item {
		position: relative;
		margin-bottom: 10px;
	}
	.product_list .product_item .image_item .label.circle {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		width: min(30%, 90px);
		transform: translate(-20%, -20%);
	}
	.product_list .product_item .image_item .label.circle > * {
		font-weight: bold;
		font-family: var(--txt_font_roboto);
		line-height: 1;
	}
	.product_list .product_item .image_item .label.circle > * strong {
		font-size: 1.5em;
		line-height: 0.8;
	}
	.product_list .product_item .image_item .category {
		position: absolute;
		top: 0;
		right: 0;
		z-index: 1;
		padding: 0.2em 0.5em;
		background: #fff;
		font-weight: 800;
		font-family: var(--txt_font_roboto);
		letter-spacing: 0;
	}
	.product_list .product_item .texts_item {
		margin-bottom: 10px;
	}
	.product_list .product_item .texts_item .comment {
		position: relative;
		margin-bottom: 15px;
		padding: 10px 5px;
		border-radius: 8px;
		background: var(--color_theme_base_light);
		text-align: center;
		font-size: 1.1rem;
	}
	.product_list .product_item .texts_item .comment::before {
		content: "";
		position: absolute;
		top: 100%;
		right: 0;
		left: 0;
		display: block;
		margin-inline: auto;
		width: 20px;
		aspect-ratio: 3/2;
		clip-path: polygon(0 0, 51% 100%, 100% 0);
		background: var(--color_theme_base_light);
	}
	.product_list .product_item .texts_item .name {
		margin-bottom: 10px;
	}
	.product_list .product_item .texts_item .price {
		font-size: 1.2rem;
		line-height: 1.2;
	}
	.product_list .product_item .texts_item .price strong {
		display: inline-block;
		font-size: 2em;
		font-weight: 800;
		font-family: var(--txt_font_roboto);
		color: var(--color_theme_base);
		letter-spacing: normal;
	}
	.product_list .product_item .btn_wrap .btn.right {
		--btn_txt_size: 1.4rem;
	}
}
.heading_top {
	font-size: 2.2rem;
	line-height: 1.3;
	color: #000;
}
.top_contents .area.promo_area {
	--area_margin: 0;
	--box_margin: 0;
	position: relative;
	background: radial-gradient(circle, #fff 10%, #ffc8dc 100%);
}
.top_contents .area.promo_area .box {
	width: 100%;
}
.top_contents .area.promo_area .box .part {
	position: relative;
	height: 100dvh;
}
.top_contents .area.promo_area .box .part .cont {
	margin-bottom: 0;
}
.top_contents .area.promo_area .box .part .cont.logo_item {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 3;
	display: flex;
	align-items: center;
	margin: auto;
	width: min(70%, 400px);
}
.top_contents .area.promo_area .box .part .cont.text_item {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
}
.top_contents .area.promo_area .box .part .cont.bg_item {
	display: grid;
	grid-template-rows: auto;
	grid-template-columns: auto;
	height: 100%;
}
.top_contents .area.promo_area .box .part .cont.bg_item .pic {
	position: relative;
	grid-row: 1;
	grid-column: 1;
	width: 100%;
	height: 100%;
	min-height: 100%;
}
.top_contents .area.promo_area .box .part .cont.bg_item .pic img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.top_contents .area.message_area {
	--area_margin: clamp(100px, 100px + 200 * (100vw - 400px) / 1000, 300px) clamp(50px, 50px + 50 * (100vw - 400px) / 1000, 100px);
	--cont_margin: clamp(50px, 50px + 50 * (100vw - 400px) / 1000, 100px);
	background: url(/ec/images/event/20th/top/message_bg_sp.png) no-repeat center top/100%;
}
@media print, screen and (min-width: 600px) {
	.top_contents .area.message_area {
		background-image: url(/ec/images/event/20th/top/message_bg.png);
	}
}
.top_contents .area.message_area .box.decoration_box .part .cont .decoration_01 {
	top: 60px;
	right: 15%;
}
.top_contents .area.message_area .box.decoration_box .part .cont .decoration_02 {
	top: 20%;
	left: 5%;
}
.top_contents .area.message_area .box.decoration_box .part .cont .decoration_03 {
	top: 30%;
	right: -50px;
}
.top_contents .area.message_area .box.decoration_box .part .cont .decoration_04 {
	bottom: 20%;
	left: 0;
}
.top_contents .area.message_area .box.decoration_box .part .cont .decoration_05 {
	right: 5%;
	bottom: -30px;
}
.top_contents .area.message_area .box .part .cont.logo {
	margin-inline: auto;
	width: min(70%, 500px);
}
.top_contents .area.message_area .box .part .cont.catch_item {
	position: relative;
	margin-inline: auto;
	width: -moz-fit-content;
	width: fit-content;
	font-size: clamp(2.4rem, 5.8cqw, 5rem);
}
.top_contents .area.message_area .box .part .cont.catch_item::before,
.top_contents .area.message_area .box .part .cont.catch_item::after {
	content: "";
	position: absolute;
	top: 0;
	display: block;
	width: clamp(100px, 100px + 100 * (100vw - 400px)/1000, 200px);
	aspect-ratio: 200/210;
	background: url(/ec/images/event/20th/share/decoration_confetti.png) no-repeat center/100%;
}
.top_contents .area.message_area .box .part .cont.catch_item::before {
	right: 90%;
}
@media print, screen and (min-width: 600px) {
	.top_contents .area.message_area .box .part .cont.catch_item::before {
		right: 100%;
	}
}
.top_contents .area.message_area .box .part .cont.catch_item::after {
	left: 90%;
	scale: -1 1;
}
@media print, screen and (min-width: 600px) {
	.top_contents .area.message_area .box .part .cont.catch_item::after {
		left: 100%;
	}
}
.top_contents .area.message_area .box .part .cont.catch_item .catch {
	font-weight: 800;
	line-height: 1.5;
}
.top_contents .area.message_area .box .part .cont.catch_item .catch span {
	display: block;
}
.top_contents .area.message_area .box .part .cont.catch_item .catch span strong {
	font-size: 1.5em;
}
.top_contents .area.message_area .box .part .cont.texts_item p {
	font-size: clamp(1.5rem, 1.5rem + 5 * (100vw - 40rem)/1000, 2rem);
	font-weight: 500;
	line-height: 2.2;
}
.top_contents .area.campaign_area .box.intro_box {
	font-size: clamp(1.5rem, 1.5rem + 3 * (100vw - 40rem)/1000, 1.8rem);
	font-weight: 500;
}
.top_contents .area.campaign_area .box.decoration_box .part .cont .decoration_06 {
	top: 60px;
	left: 5%;
}
.top_contents .area.campaign_area .box.decoration_box .part .cont .decoration_07 {
	top: 30%;
	right: -50px;
}
.top_contents .area.campaign_area .box.main_box {
	--wrapper_default: 90%;
}
.top_contents .area.campaign_area .box.main_box .part .cont.date_item {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 0.6em;
	align-items: center;
	justify-content: center;
	font-size: clamp(1.6rem, 1.6rem + 14 * (100vw - 40rem)/1000, 3rem);
}
.top_contents .area.campaign_area .box.main_box .part .cont.date_item .mark {
	padding-inline: 2em;
	font-size: 0.6em;
}
.top_contents .area.campaign_area .box.main_box .part .cont.date_item .date {
	font-weight: bold;
	line-height: 1;
}
.top_contents .area.campaign_area .box.main_box .part.campaign_list {
	margin-bottom: 10px;
}
.top_contents .area.campaign_area .box.main_box .part.campaign_list .cont.campaign_item {
	container-type: inline-size;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 20px 5% 30px;
}
.top_contents .area.campaign_area .box.main_box .part.campaign_list .cont.campaign_item::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
	display: block;
	background: var(--color_theme_base_light);
	transition: 0.3s;
	transform: skewX(-5deg);
}
.top_contents .area.campaign_area .box.main_box .part.campaign_list .cont.campaign_item::after {
	border: 1px solid #000;
	border-top: none;
	border-left: none;
	width: 18px;
	aspect-ratio: 1/1;
	transition: 0.3s;
	rotate: 45deg;
}
.top_contents .area.campaign_area .box.main_box .part.campaign_list .cont.campaign_item > * {
	position: relative;
	z-index: 1;
}
.top_contents .area.campaign_area .box.main_box .part.campaign_list .cont.campaign_item .texts_item {
	margin-bottom: 10cqw;
	text-align: center;
	letter-spacing: normal;
}
.top_contents .area.campaign_area .box.main_box .part.campaign_list .cont.campaign_item .texts_item .sub_text {
	margin-bottom: 5px;
	font-size: min(8cqw, 1.6rem);
}
.top_contents .area.campaign_area .box.main_box .part.campaign_list .cont.campaign_item .texts_item .main_text {
	font-size: min(12cqw, 2.4rem);
	font-weight: 800;
	line-height: 1.2;
}
.top_contents .area.campaign_area .box.main_box .part.campaign_list .cont.campaign_item .image_item {
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	width: 70%;
	aspect-ratio: 1/1;
	background: #fff;
}
.top_contents .area.campaign_area .box.main_box .part.campaign_list a.cont.campaign_item:hover::before {
	background: var(--color_theme_base);
}
.top_contents .area.campaign_area .box.main_box .part.campaign_list a.cont.campaign_item:hover::after {
	border-color: #fff;
	translate: 0 10px;
}
.top_contents .area.coupon_area,
.top_contents .area.price_area {
	padding-bottom: clamp(80px, 80px + 70 * (100vw - 400px)/1000, 150px);
}
.top_contents .area.coupon_area .hgroup,
.top_contents .area.price_area .hgroup {
	container-type: normal;
	position: absolute;
	top: 0;
	z-index: 3;
	margin: 0;
	width: auto;
	pointer-events: none;
}
.top_contents .area.coupon_area .hgroup .pic img,
.top_contents .area.price_area .hgroup .pic img {
	margin: 0;
	width: auto;
	height: clamp(160px, 160px + 200 * (100vw - 400px)/1000, 360px);
}
.top_contents .area.coupon_area .box,
.top_contents .area.price_area .box {
	position: relative;
	z-index: 0;
}
@media print, screen and (min-width: 960px) {
	.top_contents .area.coupon_area .box .part.layout_skew,
	.top_contents .area.price_area .box .part.layout_skew {
		--image_texts_imagesize: 55%;
	}
}
.top_contents .area.coupon_area .box .part.layout_skew > .cont,
.top_contents .area.price_area .box .part.layout_skew > .cont {
	margin-bottom: 0;
}
.top_contents .area.coupon_area .box .part.layout_skew .cont.image_item,
.top_contents .area.price_area .box .part.layout_skew .cont.image_item {
	position: relative;
}
.top_contents .area.coupon_area .box .part.layout_skew .cont.image_item .stamp,
.top_contents .area.price_area .box .part.layout_skew .cont.image_item .stamp {
	position: absolute;
	z-index: 1;
	width: clamp(100px, 100px + 60 * (100vw - 400px)/1000, 160px);
}
.top_contents .area.coupon_area .box .part.layout_skew .cont.image_item .object_fit,
.top_contents .area.price_area .box .part.layout_skew .cont.image_item .object_fit {
	aspect-ratio: 7/5;
	overflow: hidden;
	transform: skewY(-8deg);
	transform-origin: center top;
}
.top_contents .area.coupon_area .box .part.layout_skew .cont.image_item .object_fit img,
.top_contents .area.price_area .box .part.layout_skew .cont.image_item .object_fit img {
	transform: skewY(8deg);
	scale: 1.2;
}
.top_contents .area.coupon_area .box .part.layout_skew .cont.texts_item,
.top_contents .area.price_area .box .part.layout_skew .cont.texts_item {
	container-type: inline-size;
	position: relative;
	padding-block: clamp(50px, 50px + 20 * (100vw - 400px)/1000, 70px);
}
@media print, screen and (min-width: 600px) {
	.top_contents .area.coupon_area .box .part.layout_skew .cont.texts_item,
	.top_contents .area.price_area .box .part.layout_skew .cont.texts_item {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
}
.top_contents .area.coupon_area .box .part.layout_skew .cont.texts_item::before,
.top_contents .area.price_area .box .part.layout_skew .cont.texts_item::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
	z-index: -1;
	display: block;
	margin-inline: calc(50% - 50vw);
	background: var(--color_theme_base_light);
	transform: skewY(-8deg);
}
.top_contents .area.coupon_area .box .part.layout_skew .cont.texts_item > *,
.top_contents .area.price_area .box .part.layout_skew .cont.texts_item > * {
	position: relative;
	z-index: 1;
}
.top_contents .area.coupon_area .box .part.layout_skew .cont.texts_item .catch,
.top_contents .area.price_area .box .part.layout_skew .cont.texts_item .catch {
	font-size: clamp(1.8rem, 1.8rem + 2 * (100vw - 40rem)/1000, 2rem);
	font-weight: 800;
	line-height: 1.4;
}
.top_contents .area.coupon_area .box .part.layout_skew .cont.texts_item .emphasis,
.top_contents .area.price_area .box .part.layout_skew .cont.texts_item .emphasis {
	display: flex;
	font-size: 5cqw;
}
.top_contents .area.coupon_area .box .part.layout_skew .cont.texts_item .emphasis::before,
.top_contents .area.coupon_area .box .part.layout_skew .cont.texts_item .emphasis::after,
.top_contents .area.price_area .box .part.layout_skew .cont.texts_item .emphasis::before,
.top_contents .area.price_area .box .part.layout_skew .cont.texts_item .emphasis::after {
	content: "";
	align-self: stretch;
	display: block;
	height: 2em;
	aspect-ratio: 1/2;
	background: var(--color_theme_base);
}
.top_contents .area.coupon_area .box .part.layout_skew .cont.texts_item .emphasis::before,
.top_contents .area.price_area .box .part.layout_skew .cont.texts_item .emphasis::before {
	margin-right: -1px;
	clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 100%, 50% 50%);
}
.top_contents .area.coupon_area .box .part.layout_skew .cont.texts_item .emphasis::after,
.top_contents .area.price_area .box .part.layout_skew .cont.texts_item .emphasis::after {
	margin-left: -1px;
	clip-path: polygon(0% 0%, 100% 0, 50% 50%, 100% 100%, 0% 100%);
}
.top_contents .area.coupon_area .box .part.layout_skew .cont.texts_item .emphasis > *,
.top_contents .area.price_area .box .part.layout_skew .cont.texts_item .emphasis > * {
	flex-grow: 1;
	background: var(--color_theme_base);
	text-align: center;
	font-weight: bold;
	color: #fff;
}
@media print, screen and (min-width: 600px) {
	.top_contents .area.coupon_area .box .part.layout_skew.texts_image_tb_pc .cont.texts_item::before,
	.top_contents .area.price_area .box .part.layout_skew.texts_image_tb_pc .cont.texts_item::before {
		margin-inline: -10vw -100px;
	}
}
@media print, screen and (min-width: 600px) {
	.top_contents .area.coupon_area .box .part.layout_skew.image_texts_tb_pc .cont.texts_item::before,
	.top_contents .area.price_area .box .part.layout_skew.image_texts_tb_pc .cont.texts_item::before {
		margin-inline: -100px -10vw;
	}
}
.top_contents .area.price_area {
	padding-top: calc(var(--area_margin) + clamp(40px, 40px + 20 * (100vw - 400px) / 1000, 60px));
}
.top_contents .area.price_area .hgroup {
	top: 0;
	right: 0;
}
.top_contents .area.price_area .box.decoration_box .part .cont .decoration_11 {
	right: 2%;
	bottom: 60px;
}
.top_contents .area.price_area .box.decoration_box .part .cont .decoration_12 {
	bottom: 20px;
	left: 10%;
}
@media screen and (max-width: 599px) {
	.top_contents .area.price_area .box .part.layout_skew .cont.image_item {
		margin-left: calc(50% - 50vw);
	}
}
.top_contents .area.price_area .box .part.layout_skew .cont.image_item .stamp {
	right: 0;
	bottom: 0;
	translate: 30% -30%;
}
@media print, screen and (min-width: 600px) {
	.top_contents .area.price_area .box .part.layout_skew .cont.image_item .stamp {
		top: 15%;
		right: auto;
		bottom: auto;
		left: 0;
		translate: -30% -30%;
	}
}
.top_contents .area.price_area .box.product_box {
	--wrapper_default: 90%;
	position: relative;
	z-index: 2;
}
@media print, screen and (min-width: 960px) {
	.top_contents .area.price_area .box.product_box {
		margin-top: -80px;
	}
}
.top_contents .area.price_area .box.product_box .part {
	padding: min(5cqw, 40px);
	border: clamp(5px, 2cqw, 16px) solid #ffd9e4;
	background: #fff;
}
.top_contents .area.coupon_area .hgroup {
	left: 0;
}
.top_contents .area.coupon_area .box.decoration_box .part .cont .decoration_08 {
	top: 0;
	left: 40%;
}
.top_contents .area.coupon_area .box.decoration_box .part .cont .decoration_09 {
	bottom: 60px;
	left: -30px;
}
.top_contents .area.coupon_area .box.decoration_box .part .cont .decoration_10 {
	right: 5%;
	bottom: 0;
}
.top_contents .area.coupon_area .box .part.layout_skew .cont.image_item .stamp {
	top: 0;
	right: 0;
	translate: 30% -30%;
}
@media print, screen and (min-width: 600px) {
	.top_contents .area.coupon_area .box .part.layout_skew .cont.texts_item {
		justify-content: flex-start;
		padding-top: 0;
	}
}
@media print, screen and (min-width: 600px) {
	.top_contents .area.coupon_area .box .part.layout_skew .cont.texts_item::before {
		margin-top: -150px;
	}
}
.top_contents .area.influencer_area .box .part.heading_part {
	display: flex;
	flex-direction: column;
	margin-bottom: -20px;
	text-align: center;
}
@media print, screen and (min-width: 600px) {
	.top_contents .area.influencer_area .box .part.heading_part {
		flex-direction: row;
		margin-bottom: -50px;
	}
}
.top_contents .area.influencer_area .box .part.heading_part > .cont {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin: 0;
	border-radius: 50%;
	aspect-ratio: 1/1;
}
.top_contents .area.influencer_area .box .part.heading_part .cont.heading_item {
	position: relative;
	z-index: 1;
	margin-bottom: -30px;
	background: #fff6fa;
}
@media print, screen and (min-width: 600px) {
	.top_contents .area.influencer_area .box .part.heading_part .cont.heading_item {
		margin-right: -50px;
		margin-bottom: 0;
	}
}
.top_contents .area.influencer_area .box .part.heading_part .cont.heading_item .pic {
	width: min(50%, 270px);
}
.top_contents .area.influencer_area .box .part.heading_part .cont.texts_item {
	container-type: inline-size;
	border: 10px solid var(--color_theme_base_light);
	background: #fff;
}
.top_contents .area.influencer_area .box .part.heading_part .cont.texts_item .ttl_wrap {
	margin-bottom: 4cqw;
	padding-bottom: 4cqw;
	border-bottom: 2px dashed #000;
}
.top_contents .area.influencer_area .box .part.heading_part .cont.texts_item .ttl_wrap .ttl_sub {
	margin-bottom: 0.6em;
	font-size: 4cqw;
	font-weight: 500;
	line-height: 1.2;
}
.top_contents .area.influencer_area .box .part.heading_part .cont.texts_item .ttl_wrap .ttl_main {
	font-size: 6cqw;
	font-weight: 900;
	line-height: 1.3;
}
.top_contents .area.influencer_area .box .part.heading_part .cont.texts_item .ttl_wrap .ttl_main strong {
	display: block;
	font-size: 1.4em;
	font-weight: 900;
}
.top_contents .area.influencer_area .box .part.heading_part .cont.texts_item .ttl_wrap .ttl_main strong span {
	color: var(--color_theme_base);
}
.top_contents .area.influencer_area .box .part.heading_part .cont.texts_item .texts_item {
	font-size: min(4cqw, 1.6rem);
}
.top_contents .area.influencer_area .box .part.influencer_list {
	--smooth_slide_gap: 10px;
	--smooth_slide_duration: 30s;
	position: relative;
	z-index: 3;
}
.top_contents .area.influencer_area .box .part.influencer_list .influencer_item .object_fit {
	border: 1px solid #aaa;
	border-radius: 10px 0 10px 0;
	overflow: hidden;
}
@media print, screen and (min-width: 960px) {
	.top_contents .area.influencer_area .box .part.influencer_list .influencer_item:nth-child(odd) {
		translate: 0 -20px;
	}
}
@media print, screen and (min-width: 960px) {
	.top_contents .area.influencer_area .box .part.influencer_list .influencer_item:nth-child(even) {
		translate: 0 20px;
	}
}
.top_contents .area.story_area {
	--image_size: 30%;
	--side_margin: max(calc(calc(100% - var(--wrapper_max)) / 2), 10%);
	display: grid;
	grid-template-areas: ". heading_box ." ". main_box ." ". main_box ." ". main_box .";
	grid-template-rows: auto 30vw auto auto;
	grid-template-columns: var(--side_margin) 1fr var(--side_margin);
	padding-block: 0;
	background: var(--color_theme_base_light);
}
@media print, screen and (min-width: 960px) {
	.top_contents .area.story_area {
		grid-template-areas: ". heading_box . image_item ." ". texts_item . image_item ." ". movie_item movie_item movie_item .";
		grid-template-rows: auto auto;
		grid-template-columns: var(--side_margin) 1fr 3% min(40%, 660px) var(--side_margin);
	}
}
.top_contents .area.story_area::before {
	content: "";
	position: relative;
	z-index: -2;
	grid-row: 1/3;
	grid-column: 1/-1;
	display: block;
	background: var(--color_theme_base);
}
@media print, screen and (min-width: 960px) {
	.top_contents .area.story_area::before {
		grid-row: 1;
	}
}
.top_contents .area.story_area .box.decoration_box .part .cont .decoration_13 {
	right: 5%;
	bottom: -30px;
}
.top_contents .area.story_area .box {
	position: relative;
}
.top_contents .area.story_area .box.heading_box,
.top_contents .area.story_area .box.main_box {
	container-type: normal;
	display: grid;
	margin: 0;
	width: 100%;
}
.top_contents .area.story_area .box.heading_box {
	grid-area: heading_box;
	margin-bottom: 0;
	padding-block: var(--area_margin) calc(var(--area_margin) / 2);
	color: #fff;
}
.top_contents .area.story_area .box.heading_box .part .heading02 {
	text-align: left;
	font-size: clamp(2rem, 2rem + 20 * (100vw - 40rem)/1000, 4rem);
	font-weight: 600;
	font-family: var(--txt_font_mincho);
	color: #fff;
}
@media print, screen and (min-width: 960px) {
	.top_contents .area.story_area .box.heading_box .part .heading02 {
		font-size: min(2.5vw, 4rem);
	}
}
.top_contents .area.story_area .box.heading_box .part .heading02 strong {
	display: block;
	font-size: 1.4em;
}
.top_contents .area.story_area .box.main_box {
	--smooth_slide_item_width: 100%;
	--smooth_slide_duration: 10s;
	position: relative;
	grid-area: main_box;
	margin-bottom: 0;
	padding-bottom: var(--area_margin);
}
@media print, screen and (min-width: 960px) {
	.top_contents .area.story_area .box.main_box {
		grid-area: auto;
		display: contents;
	}
}
.top_contents .area.story_area .box.main_box .part.main_item {
	position: relative;
	z-index: 2;
}
@media print, screen and (min-width: 960px) {
	.top_contents .area.story_area .box.main_box .part.main_item {
		display: contents;
	}
}
.top_contents .area.story_area .box.main_box .part.main_item .cont.image_item {
	position: relative;
	margin-bottom: 60px;
}
@media print, screen and (min-width: 960px) {
	.top_contents .area.story_area .box.main_box .part.main_item .cont.image_item {
		grid-area: image_item;
		align-self: center;
		margin: 0;
	}
}
.top_contents .area.story_area .box.main_box .part.main_item .cont.image_item .catch {
	position: absolute;
	top: -5%;
	right: 5%;
	z-index: 1;
	width: 14%;
}
.top_contents .area.story_area .box.main_box .part.main_item .cont.image_item .decoration {
	position: absolute;
	bottom: -5%;
	left: -5%;
	z-index: 1;
	width: 40%;
	pointer-events: none;
}
@media print, screen and (min-width: 960px) {
	.top_contents .area.story_area .box.main_box .part.main_item .cont.texts_item {
		grid-area: texts_item;
		margin-bottom: 0;
		padding-block: calc(var(--area_margin) / 2) var(--area_margin);
	}
}
.top_contents .area.story_area .box.main_box .part.main_item .cont.texts_item .heading {
	position: relative;
	font-size: min(3.9cqw, 2rem);
	font-weight: bold;
	color: var(--txt_color_heading);
}
.top_contents .area.story_area .box.main_box .part.main_item .cont.texts_item .heading::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 3em;
	aspect-ratio: 64/36;
	background: url(/ec/images/event/20th/top/story_handwriting.svg) no-repeat center/100%;
	translate: -20% -80%;
	rotate: -10deg;
}
@media screen and (max-width: 959px) {
	.top_contents .area.story_area .box.main_box .part.main_item .profile_wrap {
		border: 5px solid var(--color_theme_base);
		border-radius: 20px 0;
		overflow: hidden;
		background: var(--color_theme_base);
	}
}
.top_contents .area.story_area .box.main_box .part.main_item .profile_wrap .profile_handle {
	position: relative;
	display: flex;
	-moz-column-gap: 0.5em;
	column-gap: 0.5em;
	align-items: center;
	justify-content: center;
	border: 3px solid var(--color_theme_base);
	background: var(--color_theme_base);
	font-weight: bold;
	font-family: var(--txt_font_roboto);
	color: #fff;
	cursor: pointer;
	transition: 0.5s;
}
@media print, screen and (min-width: 960px) {
	.top_contents .area.story_area .box.main_box .part.main_item .profile_wrap .profile_handle {
		position: absolute;
		right: 5%;
		bottom: 5%;
		border-radius: 50%;
		width: 70px;
		aspect-ratio: 1/1;
		font-size: 1.4rem;
	}
}
.top_contents .area.story_area .box.main_box .part.main_item .profile_wrap .profile_handle::after {
	content: "";
	position: absolute;
	right: 10px;
	flex-shrink: 0;
	display: block;
	width: var(--icon_size);
	aspect-ratio: 1/1;
	background: #fff;
	-webkit-mask: url(/ec/images/event/20th/lib/icon/caret_down.svg) no-repeat center/contain;
	mask: url(/ec/images/event/20th/lib/icon/caret_down.svg) no-repeat center/contain;
	transition: 0.5s;
}
@media print, screen and (min-width: 960px) {
	.top_contents .area.story_area .box.main_box .part.main_item .profile_wrap .profile_handle::after {
		display: none;
	}
}
.top_contents .area.story_area .box.main_box .part.main_item .profile_wrap .profile_handle.minus::after {
	scale: 1 -1;
}
.top_contents .area.story_area .box.main_box .part.main_item .profile_wrap .profile_target {
	padding: 10px;
	background: #fff;
}
@media print, screen and (min-width: 960px) {
	.top_contents .area.story_area .box.main_box .part.main_item .profile_wrap .profile_target {
		position: absolute;
		right: 5%;
		bottom: 5%;
		z-index: 2;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		border: 3px solid var(--color_theme_base);
		border-radius: 20px 0;
		width: 300px;
		opacity: 0;
		font-size: 1.3rem;
		pointer-events: none;
		transition: 0.5s;
		translate: calc(50% - 35px) calc(50% - 35px);
		scale: 0.1;
	}
}
.top_contents .area.story_area .box.main_box .part.main_item .profile_wrap .profile_target::before {
	content: "";
	position: absolute;
	top: 20px;
	right: 100%;
	z-index: 1;
	display: block;
	width: 30px;
	aspect-ratio: 3/2;
	clip-path: polygon(0 0, 100% 100%, 100% 0);
	background: var(--color_theme_base);
}
.top_contents .area.story_area .box.main_box .part.main_item .profile_wrap .profile_target .name {
	margin-bottom: 10px;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 500;
}
.top_contents .area.story_area .box.main_box .part.main_item .profile_wrap .profile_target .name strong {
	display: inline-block;
	margin-left: 0.5em;
	font-size: 1.8rem;
	font-weight: bold;
	color: var(--color_theme_base);
}
.top_contents .area.story_area .box.main_box .part.main_item .profile_wrap .profile_target .outline {
	font-size: 1.3rem;
}
@media print, screen and (min-width: 960px) {
	.top_contents .area.story_area .box.main_box .part.main_item .profile_wrap .profile_handle:hover + .profile_target {
		opacity: 1;
		scale: 1;
	}
}
@media print, screen and (min-width: 960px) {
	.top_contents .area.story_area .box.main_box .part.main_item .cont.movie_item {
		grid-area: movie_item;
		padding-block: calc(var(--area_margin) / 2) var(--area_margin);
	}
}
.top_contents .area.story_area .box.main_box .part.main_item .cont.movie_item .modal_handle {
	position: relative;
}
.top_contents .area.story_area .box.main_box .part.main_item .cont.movie_item .modal_handle::before,
.top_contents .area.story_area .box.main_box .part.main_item .cont.movie_item .modal_handle::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	margin: auto;
	opacity: 0.4;
	pointer-events: none;
	transition: 0.3s;
}
.top_contents .area.story_area .box.main_box .part.main_item .cont.movie_item .modal_handle::before {
	border: 1px solid #fff;
	border-radius: 50%;
	width: 70px;
	aspect-ratio: 1/1;
}
.top_contents .area.story_area .box.main_box .part.main_item .cont.movie_item .modal_handle::after {
	width: 15px;
	aspect-ratio: 1/1;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	background: #fff;
}
.top_contents .area.story_area .box.main_box .part.main_item .cont.movie_item .modal_handle:hover::before,
.top_contents .area.story_area .box.main_box .part.main_item .cont.movie_item .modal_handle:hover::after {
	opacity: 1;
}
.top_contents .area.story_area .box.main_box .part.smooth_slide_wrap {
	--smooth_slide_duration: 30s;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
}
.top_contents .area.story_area .box.foot_box {
	padding-block: var(--area_margin);
	background: var(--color_theme_base);
}
@media print, screen and (min-width: 600px) {
	.top_contents .area.story_area .box.foot_box {
		--btn_width: 360px;
		--btn_pd_block: 20px;
	}
}
.price_index_contents .area.info_area .box .part {
	--image_texts_gap: min(5%, 40px);
	--image_texts_imagesize: min(20%, 160px);
}
.price_index_contents .area.info_area .box .part .cont.image_item {
	position: relative;
}
@media screen and (max-width: 959px) {
	.price_index_contents .area.info_area .box .part .cont.image_item {
		margin-inline: auto;
		width: min(50%, 160px);
	}
}
.price_index_contents .area.info_area .box .part .cont.image_item .label {
	position: absolute;
	top: 0;
	right: -5%;
	width: 60px;
}
.price_index_contents .area.info_area .box .part .cont.image_item .pic {
	display: flex;
	align-items: center;
	border-radius: 50%;
	aspect-ratio: 1/1;
	background: #fff;
}
.price_index_contents .area.info_area .box .part .cont.image_item .pic img {
	width: 80%;
}
.price_index_contents .area.info_area .box .part .cont.date_item {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 0.6em;
	align-items: center;
	justify-content: center;
	font-size: clamp(1.6rem, 1.6rem + 14 * (100vw - 40rem)/1000, 3rem);
}
@media print, screen and (min-width: 960px) {
	.price_index_contents .area.info_area .box .part .cont.date_item {
		justify-content: flex-start;
	}
}
.price_index_contents .area.info_area .box .part .cont.date_item .mark {
	flex-shrink: 0;
	padding-inline: 2em;
	background: #fff;
	font-size: max(0.6em, 1.2rem);
	font-weight: bold;
	color: var(--color_theme_base);
}
.price_index_contents .area.info_area .box .part .cont.date_item .date {
	font-weight: bold;
	line-height: 1;
}
.price_index_contents .area.info_area .box .part .cont.date_item .date strong {
	font-size: 1.4em;
	line-height: 0.8;
}
.coupon_index_contents .area.intro_area .box .part .cont .main_text {
	display: flex;
	-moz-column-gap: clamp(10px, 10px + 5 * (100vw - 400px)/1000, 15px);
	column-gap: clamp(10px, 10px + 5 * (100vw - 400px)/1000, 15px);
	align-items: center;
	justify-content: center;
	margin-inline: auto;
	width: -moz-fit-content;
	width: fit-content;
}
.coupon_index_contents .area.intro_area .box .part .cont .main_text .label {
	width: clamp(60px, 60px + 40 * (100vw - 400px)/1000, 100px);
}
.coupon_index_contents .area.intro_area .box .part .cont .main_text .label strong {
	font-size: 1.5em;
}
.coupon_index_contents .area.info_area .box .part {
	text-align: center;
}
.coupon_index_contents .area.info_area .box .part .cont.main_texts_item {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(10px, 10px + 5 * (100vw - 400px)/1000, 15px);
	align-items: center;
	justify-content: center;
}
.coupon_index_contents .area.info_area .box .part .cont.main_texts_item .number {
	font-size: clamp(2rem, 2rem + 20 * (100vw - 40rem)/1000, 4rem);
	font-weight: bold;
}
.coupon_index_contents .area.info_area .box .part .cont.main_texts_item .mark {
	background: #fff;
	font-size: clamp(1.8rem, 1.8rem + 8 * (100vw - 40rem)/1000, 2.6rem);
	font-weight: bold;
	font-weight: bold;
	color: var(--color_theme_base);
}
.coupon_index_contents .area.outline_area .box.outline_box {
	--wrapper_default: 90%;
}
.coupon_index_contents .area.outline_area .box.outline_box .part {
	padding-block: 0;
	padding-inline: min(5cqw, 50px);
	border: clamp(5px, 2cqw, 16px) solid #ffd9e4;
	background: #fff;
}
.coupon_index_contents .area.outline_area .box.outline_box .part .hgroup {
	margin-bottom: 0;
	translate: 0 -40%;
}
.coupon_index_contents .area.outline_area .box.outline_box .part .hgroup .pic img {
	width: min(80%, 400px);
}
.coupon_index_contents .area.outline_area .box.outline_box .part .cont.outline_list .outline_item {
	margin-bottom: clamp(40px, 40px + 10 * (100vw - 400px)/1000, 50px);
}
.coupon_index_contents .area.outline_area .box.outline_box .part .cont.outline_list .outline_item .heading {
	margin-bottom: 0.5em;
	padding-block: 0.5em;
	border: 1px solid var(--color_theme_base);
	border-left: none;
	border-radius: 0 2em 2em 0;
	width: 10em;
	text-align: center;
	font-size: clamp(1.6rem, 1.6rem + 4 * (100vw - 40rem)/1000, 2rem);
	font-weight: bold;
	color: var(--color_theme_base);
}
.coupon_index_contents .area.outline_area .box.outline_box .part .cont.outline_list .outline_item .texts_item ul {
	--icon_color: var(--txt_color_base);
}
.coupon_index_contents .area.flow_area .hgroup {
	container-type: normal;
	margin-bottom: var(--area_margin);
	padding-block: clamp(50px, 50px + 50 * (100vw - 400px)/1000, 100px);
	width: 100%;
	background: #000 url(/ec/images/event/20th/coupon/flow_heading_bg.jpg) no-repeat center/cover;
}
.coupon_index_contents .area.flow_area .hgroup .heading {
	text-align: center;
	font-size: clamp(1.8rem, 1.8rem + 12 * (100vw - 40rem)/1000, 3rem);
	font-weight: bold;
	color: #fff;
}
.coupon_index_contents .area.flow_area .box.flow_box .part.flow_list {
	--cont_margin: 40px;
	--clm_gap: 50px;
}
.coupon_index_contents .area.flow_area .box.flow_box .part.flow_list .cont:not(:last-child)::after {
	content: "";
	position: absolute;
	top: calc(100% + 3px);
	right: 0;
	left: 0;
	display: block;
	margin-inline: auto;
	height: var(--cont_margin);
	aspect-ratio: 3/2;
	clip-path: polygon(0 0, 50% 100%, 100% 0);
	background: #000;
	scale: 0.4;
}
@media print, screen and (min-width: 960px) {
	.coupon_index_contents .area.flow_area .box.flow_box .part.flow_list .cont:not(:last-child)::after {
		top: 0;
		bottom: 0;
		left: calc(100% + 3px);
		margin: auto 0;
		width: var(--clm_gap);
		height: auto;
		aspect-ratio: 2/3;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
	}
}
.coupon_index_contents .area.flow_area .box.flow_box .part.flow_list .cont.flow_item {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 30px;
	justify-content: center;
	padding: clamp(30px, 30px + 20 * (100vw - 400px)/1000, 50px) clamp(15px, 15px + 15 * (100vw - 400px)/1000, 30px);
	border: 1px solid var(--border_color_base);
	border-radius: 20px 0;
	background: #fff;
	box-shadow: 3px 3px 0 #000;
}
.coupon_index_contents .area.flow_area .box.flow_box .part.flow_list .cont.flow_item .mark {
	display: block;
}
.coupon_index_contents .area.flow_area .box.flow_box .part.flow_list .cont.flow_item .image_item .pic img {
	width: 50%;
}
.coupon_index_contents .area.flow_area .box.cycle_box {
	padding: clamp(30px, 30px + 20 * (100vw - 400px)/1000, 50px) clamp(15px, 15px + 35 * (100vw - 400px)/1000, 50px);
	border: 1px solid #000;
	background: #fff;
}
.coupon_index_contents .area.flow_area .box.cycle_box .heading {
	text-decoration: underline;
	font-size: clamp(1.6rem, 1.6rem + 4 * (100vw - 40rem)/1000, 2rem);
	font-weight: bold;
}
.coupon_index_contents .area.flow_area .box.cycle_box .part .cont.texts_item {
	font-weight: 500;
}
@page {
	margin: 20mm 10mm 10mm;
}
@media print and (-webkit-min-device-pixel-ratio: 0) {
	body {
		width: 1200px;
		-webkit-print-c-adjust: exact;
		overflow-x: visible !important;
		overflow-y: visible !important;
	}
}
@media print {
	.container {
		display: block !important;
		min-height: auto;
		opacity: 1;
	}
}
@media print {
	.header_wrap {
		position: absolute !important;
		margin-top: 0 !important;
	}
}
@media print {
	.pagetop {
		display: none;
	}
}
/*# sourceMappingURL=sourcemaps/styles.css.map */
