@charset "UTF-8";
/* 見出し */
/*----------
	heading lv1
----------*/
.c-heading-lv1 {
	display: grid;
	place-items: center;
	width: 100%;
	min-height: 180px;
	padding: 30px;
	position: relative;
	background-color: var(--color-prim);
}
.c-heading-lv1__inner {
	width: 100%;
	max-width: 1200px;
	margin-inline: auto;
	font-weight: bold;
	font-size: 2.4rem;
	line-height: 1.4;
	color: #fff;
}
.c-heading-lv1::before {
	content: "";
	display: block;
	width: 180px;
	height: 100%;
	position: absolute;
	bottom: 0;
	right: 0;
	clip-path: polygon(0% 100%, 100% 100%, 100% 0%);
	background-color: rgba(255, 255, 255, 0.15);
}
@media (min-width: 768px), print {
	.c-heading-lv1 {
		min-height: 260px;
	}
	.c-heading-lv1__inner {
		font-size: 4.2rem;
	}
	.c-heading-lv1::before {
		width: 260px;
	}
}

/* カラー */
.section-color1 .c-heading-lv1,
.c-heading-lv1.color1 {
	background-color: var(--color1);
}

.section-color2 .c-heading-lv1,
.c-heading-lv1.color2 {
	background-color: var(--color2);
}

.section-color3 .c-heading-lv1,
.c-heading-lv1.color3 {
	background-color: var(--color3);
}

.section-color4 .c-heading-lv1,
.c-heading-lv1.color4 {
	background-color: var(--color4);
}

.section-color5 .c-heading-lv1,
.c-heading-lv1.color5 {
	background-color: var(--color5);
}

.section-color6 .c-heading-lv1,
.c-heading-lv1.color6 {
	background-color: var(--color6);
}

/*----------
	heading lv2
----------*/
.c-heading-lv2 {
	padding-bottom: 16px;
	position: relative;
	font-weight: bold;
	font-size: 2.2rem;
	line-height: 1.4;
}
.c-heading-lv2::after {
	content: "";
	display: block;
	width: calc(100% - 70px);
	height: 3px;
	position: absolute;
	bottom: 0;
	right: 0;
	background-color: var(--color-border);
}
.c-heading-lv2::before {
	content: "";
	display: block;
	width: 60px;
	height: 3px;
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: var(--color-prim);
}
@media (min-width: 768px), print {
	.c-heading-lv2 {
		padding-bottom: 20px;
		font-size: 3rem;
	}
	.c-heading-lv2::after {
		width: calc(100% - 90px);
	}
	.c-heading-lv2::before {
		width: 80px;
	}
}

/* カラー */
.section-color1 .c-heading-lv2::before,
.c-heading-lv2.color1::before {
	background-color: var(--color1);
}

.section-color2 .c-heading-lv2::before,
.c-heading-lv2.color2::before {
	background-color: var(--color2);
}

.section-color3 .c-heading-lv2::before,
.c-heading-lv2.color3::before {
	background-color: var(--color3);
}

.section-color4 .c-heading-lv2::before,
.c-heading-lv2.color4::before {
	background-color: var(--color4);
}

.section-color5 .c-heading-lv2::before,
.c-heading-lv2.color5::before {
	background-color: var(--color5);
}

.section-color6 .c-heading-lv2::before,
.c-heading-lv2.color6::before {
	background-color: var(--color6);
}

/*----------
	heading lv3
----------*/
.c-heading-lv3 {
	padding: 10px 20px;
	position: relative;
	background-color: var(--color-bg);
	font-weight: 600;
	font-size: 1.8rem;
	line-height: 1.4;
}
.c-heading-lv3::before {
	content: "";
	width: 20px;
	height: 20px;
	position: absolute;
	left: 0;
	top: 0;
	background-color: var(--color-prim);
	clip-path: polygon(0% 0%, 100% 0, 0 100%);
}
@media (min-width: 768px), print {
	.c-heading-lv3 {
		font-size: 2rem;
		padding: 12px 30px;
	}
	.c-heading-lv3::before {
		width: 30px;
		height: 30px;
	}
}

/* カラー */
.section-color1 .c-heading-lv3::before,
.c-heading-lv3.color1::before {
	background-color: var(--color1);
}

.section-color2 .c-heading-lv3::before,
.c-heading-lv3.color2::before {
	background-color: var(--color2);
}

.section-color3 .c-heading-lv3::before,
.c-heading-lv3.color3::before {
	background-color: var(--color3);
}

.section-color4 .c-heading-lv3::before,
.c-heading-lv3.color4::before {
	background-color: var(--color4);
}

.section-color5 .c-heading-lv3::before,
.c-heading-lv3.color5::before {
	background-color: var(--color5);
}

.section-color6 .c-heading-lv3::before,
.c-heading-lv3.color6::before {
	background-color: var(--color6);
}

/*----------
	heading lv4
----------*/
.c-heading-lv4 {
	padding-left: 15px;
	position: relative;
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.6;
}
.c-heading-lv4::before {
	content: "";
	width: 5px;
	height: 1.4em;
	position: absolute;
	left: 0;
	top: 0.1em;
	background: var(--color-prim);
}

/* カラー */
.section-color1 .c-heading-lv4::before,
.c-heading-lv4.color1::before {
	background-color: var(--color1);
}

.section-color2 .c-heading-lv4::before,
.c-heading-lv4.color2::before {
	background-color: var(--color2);
}

.section-color3 .c-heading-lv4::before,
.c-heading-lv4.color3::before {
	background-color: var(--color3);
}

.section-color4 .c-heading-lv4::before,
.c-heading-lv4.color4::before {
	background-color: var(--color4);
}

.section-color5 .c-heading-lv4::before,
.c-heading-lv4.color5::before {
	background-color: var(--color5);
}

.section-color6 .c-heading-lv4::before,
.c-heading-lv4.color6::before {
	background-color: var(--color6);
}

/*----------
	heading feature subtitle
----------*/
.c-feature-subtitle {
	text-align: center;
	font-weight: bold;
	line-height: 1.4;
}
.c-feature-subtitle__sholder {
	font-family: "Roboto", "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: 2rem;
	color: var(--color-prim);
}
.c-feature-subtitle__main {
	margin-top: 5px;
	font-weight: 800;
	font-size: 2.4rem;
}
.c-feature-subtitle__main > span {
	background-image: linear-gradient(rgba(226, 255, 0, 0) 0, rgba(226, 255, 0, 0) 70%, #e2ff00 71%, #e2ff00 100%);
}
@media (min-width: 768px), print {
	.c-feature-subtitle__sholder {
		font-size: 3rem;
	}
	.c-feature-subtitle__main {
		font-size: 4rem;
	}
}

/* テキスト */
/*----------
	text
----------*/
.c-text {
	font-size: 1.6rem;
	line-height: 1.8;
}
.c-text > a {
	text-decoration: underline;
}
@media (min-width: 768px), print {
	.c-text > a {
		transition: opacity 0.2s;
	}
	.c-text > a:hover {
		opacity: 0.5;
	}
}

/* カラー */
.section-color1 .c-text--color,
.c-text.color1 {
	color: var(--color1);
}

.section-color2 .c-text--color,
.c-text.color2 {
	color: var(--color2);
}

.section-color3 .c-text--color,
.c-text.color3 {
	color: var(--color3);
}

.section-color4 .c-text--color,
.c-text.color4 {
	color: var(--color4);
}

.section-color5 .c-text--color,
.c-text.color5 {
	color: var(--color5);
}

.section-color6 .c-text--color,
.c-text.color6 {
	color: var(--color6);
}

/*----------
	caption
----------*/
.c-caption {
	font-size: 1.2rem;
	line-height: 1.6;
	color: var(--color-text-caption);
}
.c-caption > a {
	text-decoration: underline;
	color: var(--color-text-caption);
}
@media (min-width: 768px), print {
	.c-caption {
		font-size: 1.4rem;
	}
	.c-caption > a:hover {
		text-decoration: none;
	}
}

/*----------
	tag
----------*/
.c-tag > span {
	display: inline-block;
	min-width: 100px;
	padding: 4px 8px;
	background-color: var(--color-prim);
	vertical-align: top;
	text-align: center;
	font-weight: 500;
	font-size: 1.2rem;
	color: #fff;
}

/* カラー */
.section-color1 .c-tag > span,
.c-tag.color1 > span {
	background-color: var(--color1);
}

.section-color2 .c-tag > span,
.c-tag.color2 > span {
	background-color: var(--color2);
}

.section-color3 .c-tag > span,
.c-tag.color3 > span {
	background-color: var(--color3);
}

.section-color4 .c-tag > span,
.c-tag.color4 > span {
	background-color: var(--color4);
}

.section-color5 .c-tag > span,
.c-tag.color5 > span {
	background-color: var(--color5);
}

.section-color6 .c-tag > span,
.c-tag.color6 > span {
	background-color: var(--color6);
}

/* リンク */
/*----------
	icontext
----------*/
.c-icontext > a, .c-icontext > span {
	display: inline-block;
	padding-left: 1.5em;
	position: relative;
	font-weight: 600;
}
.c-icontext > a::before, .c-icontext > span::before {
	content: "";
	display: block;
	width: 1em;
	height: 1em;
	position: absolute;
	top: 0.4em;
	left: 0;
	background-color: var(--color-prim);
	-webkit-mask: url("../images/icons/arrow-cir-right.svg") no-repeat center/contain;
	mask: url("../images/icons/arrow-cir-right.svg") no-repeat center/contain;
}
.c-icontext > a {
	color: var(--color-text);
}
.c-icontext > a[target=_blank]::after {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	background-color: var(--color-prim);
	-webkit-mask: url("../images/icons/blank.svg") no-repeat center/contain;
	mask: url("../images/icons/blank.svg") no-repeat center/contain;
	translate: 0 0.15em;
}
.c-icontext > a[href$=".pdf"]::after {
	background: url("../images/icons/pdf.svg") no-repeat center/contain;
	mask: none;
}
.c-icontext__icon {
	display: inline-block;
	width: 1em;
	height: 1em;
	vertical-align: middle;
}
@media (hover: hover) {
	.c-icontext > a {
		transition: color 0.2s;
	}
	.c-icontext > a:hover {
		color: var(--color-prim);
	}
}

/*----------
	anchor link
----------*/
.c-anchorlink {
	display: grid;
	grid-template-columns: 1fr;
}
.c-anchorlink > li > a {
	margin-top: -1px;
	display: block;
	padding: 14px 20px 14px 44px;
	border: 1px solid var(--color-border);
	position: relative;
	background-color: #fff;
	font-size: 1.4rem;
	line-height: 1.4;
	color: var(--color-text);
}
.c-anchorlink > li > a::before {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	position: absolute;
	top: calc(50% - 8px);
	left: 14px;
	background-color: var(--color-prim);
	-webkit-mask: url("../images/icons/arrow-down.svg") no-repeat center/contain;
	mask: url("../images/icons/arrow-down.svg") no-repeat center/contain;
}
@media (min-width: 768px), print {
	.c-anchorlink {
		grid-template-columns: repeat(3, 1fr);
	}
	.c-anchorlink > li > a {
		margin: -1px 0 0 -1px;
	}
}
@media (hover: hover) {
	.c-anchorlink > li > a {
		cursor: pointer;
		transition: border-color 0.2s, color 0.2s;
	}
	.c-anchorlink > li > a:hover {
		z-index: 1;
		border-color: var(--color-prim);
		color: var(--color-prim);
	}
}

/*----------
	button
----------*/
.c-button__inner {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	min-height: 56px;
	border: 1px solid var(--color-prim);
	border-radius: 5px;
	position: relative;
	overflow: hidden;
	background-color: var(--color-prim);
	color: #fff;
	cursor: pointer;
}
.c-button__inner > span {
	padding: 8px 50px 8px 20px;
	text-align: center;
	font-weight: 600;
	font-size: 1.6rem;
	line-height: 1.4;
	color: inherit;
}
.c-button__inner::after {
	content: "";
	display: block;
	width: 1em;
	height: 1em;
	position: absolute;
	top: calc(50% - 0.5em);
	right: 16px;
	background-color: #fff;
	-webkit-mask: url("../images/icons/arrow-cir-right.svg") no-repeat center/contain;
	mask: url("../images/icons/arrow-cir-right.svg") no-repeat center/contain;
}
.c-button__inner[target=_blank]::after {
	mask-image: url("../images/icons/blank.svg");
}
.c-button__inner[href$=".pdf"]::after {
	mask-image: url("../images/icons/pdf.svg");
}
.c-button--black .c-button__inner {
	border-color: var(--color-text);
	background-color: var(--color-text);
	color: #fff;
}
@media (hover: hover) {
	.c-button__inner {
		transition: background-color 0.2s;
	}
	.c-button__inner:hover {
		background-color: #fff;
		color: var(--color-prim);
	}
	.c-button__inner:hover::after {
		background-color: var(--color-prim);
	}
	.c-button--black .c-button__inner:hover {
		color: var(--color-text);
	}
	.c-button--black .c-button__inner:hover::after {
		background-color: var(--color-text);
	}
}

/* ボタンコンテナー */
.c-button-container .c-button {
	max-width: 300px;
}
@media (max-width: 767px) {
	.c-button-container .c-button {
		margin-inline: auto;
	}
	.c-button-container .c-button + .c-button {
		margin-top: 20px;
	}
}
@media (min-width: 768px), print {
	.c-button-container {
		display: flex;
		flex-wrap: nowrap;
		justify-content: center;
		align-items: stretch;
		gap: 0 40px;
	}
	.c-button-container .c-button {
		flex: 1 1 auto;
	}
	.c-button-container--left {
		justify-content: flex-start;
	}
	.c-button-container--right {
		justify-content: flex-end;
	}
}

/* レイアウト */
/*----------
	figure
----------*/
.c-figure {
	border: 1px solid var(--color-border);
	border-radius: 5px;
	overflow: hidden;
}

/*----------
	separator
----------*/
.c-separator {
	display: block;
	margin: 40px auto;
	border-top: 1px solid var(--color-border);
}
.c-separator--dashed {
	border-top-style: dashed;
}
@media (min-width: 768px), print {
	.c-separator {
		margin-block: 60px;
	}
}

/*----------
	grid
----------*/
.c-grid {
	display: grid;
	gap: 30px;
	grid-template-columns: 1fr;
}
@media (min-width: 768px), print {
	.c-grid {
		gap: 40px;
	}
	.c-grid--2col {
		grid-template-columns: repeat(2, 1fr);
	}
	.c-grid--3col {
		grid-template-columns: repeat(3, 1fr);
	}
	.c-grid--4col {
		grid-template-columns: repeat(4, 1fr);
	}
}

/*----------
	single column
----------*/
.c-center-col__item + .c-center-col__item {
	margin-top: 30px;
}
@media (min-width: 768px), print {
	.c-center-col {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 40px;
	}
	.c-center-col__item {
		flex: 1 1 66.6666666667%;
	}
	.c-center-col__item + .c-center-col__item {
		margin-top: 0;
	}
	.c-center-col--200 .c-center-col__item {
		flex-basis: 200px;
		max-width: 200px;
	}
	.c-center-col--400 .c-center-col__item {
		flex-basis: 400px;
		max-width: 400px;
	}
	.c-center-col--600 .c-center-col__item {
		flex-basis: 600px;
		max-width: 600px;
	}
	.c-center-col--800 .c-center-col__item {
		flex-basis: 800px;
		max-width: 800px;
	}
	.c-center-col--1000 .c-center-col__item {
		flex-basis: 1000px;
		max-width: 1000px;
	}
}

/*----------
	table
----------*/
.c-table table {
	width: 100%;
	border: none;
	font-size: 1.4rem;
	line-height: 1.6;
}
.c-table table th, .c-table table td {
	padding: 14px 16px;
	border: 1px solid var(--color-border);
	vertical-align: top;
	text-align: left;
}
.c-table table th {
	vertical-align: middle;
	font-weight: bold;
}
.c-table__title {
	background-color: var(--color-ink);
	color: #fff;
}
.c-table__sub {
	background-color: var(--color-bg);
}
.c-table__swipe {
	padding-left: 4em;
	margin-bottom: 8px;
	background: url("/assets/img/table-swipe.svg") no-repeat left center/contain;
	position: sticky;
	top: 0;
	left: 0;
}
@media (max-width: 767px) {
	.c-table--scrollable {
		margin-left: -15px;
		margin-right: -15px;
		padding: 0 15px 15px;
		overflow: auto;
	}
	.c-table--scrollable .c-table__inner {
		width: 1000px;
	}
}
@media (min-width: 768px), print {
	.c-table table {
		font-size: 1.6rem;
	}
	.c-table__swipe {
		display: none;
	}
}

/*----------
	imageset
----------*/
.c-imageset > figure {
	border-radius: 5px;
	overflow: hidden;
}
.c-imageset__title {
	font-weight: 600;
	font-size: 1.8rem;
	line-height: 1.4;
}
.c-imageset--speaker > figure {
	max-width: 100px;
}
@media (max-width: 767px) {
	.c-imageset__content {
		margin-top: 20px;
	}
	.c-imageset--event > figure {
		max-width: 50%;
	}
}
@media (min-width: 768px), print {
	.c-imageset {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		gap: 40px;
	}
	.c-imageset > figure {
		flex: 0 0 calc(50% - 20px);
	}
	.c-imageset__content {
		flex: 1 0 calc(50% - 20px);
	}
	.c-imageset--event {
		gap: 20px;
	}
	.c-imageset--event > figure {
		flex-basis: 22%;
	}
	.c-imageset--speaker {
		gap: 20px;
	}
	.c-imageset--speaker > figure {
		flex-basis: 100px;
	}
}

/*----------
	box
----------*/
.c-box {
	padding: 20px;
	border-radius: 5px;
	background-color: var(--color-bg);
}
.c-box--profile {
	font-size: 1.3rem;
	line-height: 1.6;
	color: var(--color-text-caption);
}

/*----------
	toggle
----------*/
.c-toggle__trigger {
	display: block;
	width: 100%;
	padding: 18px 58px 18px 20px;
	border: 1px solid var(--color-prim);
	background-color: #fff;
	position: relative;
	text-align: left;
	font-size: 1.4rem;
	color: var(--color-text);
	line-height: 1.8;
	cursor: pointer;
}
.c-toggle__trigger > span {
	position: relative;
	z-index: 1;
}
.c-toggle__trigger em {
	display: block;
	margin-bottom: 6px;
	font-weight: 600;
	font-size: 1.8rem;
	line-height: 1.4;
	color: var(--color-prim);
}
.c-toggle__trigger::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0.05;
	background-color: #fff;
}
.c-toggle__trigger::after {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	position: absolute;
	top: calc(50% - 9px);
	right: 20px;
	background-color: var(--color-prim);
	-webkit-mask: url("../images/icons/plus.svg") no-repeat center/contain;
	mask: url("../images/icons/plus.svg") no-repeat center/contain;
	transition: rotate 0.2s;
}
.c-toggle__content {
	height: 0;
	position: relative;
	overflow: hidden;
	pointer-events: none;
	transition: height 0.4s;
}
.c-toggle__content__inner {
	padding-block: 32px;
}
.c-toggle.is-active .c-toggle__trigger::after {
	rotate: 180deg;
	-webkit-mask: url("../images/icons/minus.svg") no-repeat center/contain;
	mask: url("../images/icons/minus.svg") no-repeat center/contain;
}
.c-toggle.is-active .c-toggle__content {
	height: auto;
	height: calc-size(auto, size);
	pointer-events: all;
}
@media (min-width: 768px), print {
	.c-toggle__trigger {
		padding: 36px 100px 36px 40px;
		font-size: 1.6rem;
	}
	.c-toggle__trigger em {
		font-size: 2rem;
	}
	.c-toggle__trigger::after {
		right: 40px;
	}
	.c-toggle__content__inner {
		padding-block: 40px;
	}
}
@media (hover: hover) {
	.c-toggle__trigger {
		cursor: pointer;
	}
	.c-toggle__trigger::before {
		transition: background-color 0.2s;
	}
	.c-toggle__trigger:hover::before {
		background-color: var(--color-prim);
	}
}

.c-toggle + .c-toggle {
	margin-top: -1px;
}

/*----------
	Q&A
----------*/
.c-qa {
	border-bottom: 1px solid var(--color-border);
	color: var(--color-text);
}
.c-qa__q, .c-qa__a {
	position: relative;
}
.c-qa__q::before, .c-qa__a::before {
	display: block;
	position: absolute;
	top: 20px;
	left: 20px;
	pointer-events: none;
	font-weight: bold;
	font-size: 18px;
	line-height: 1;
}
.c-qa__q {
	display: block;
	width: 100%;
	padding: 20px 48px 20px 50px;
	font-weight: 500;
	font-size: 1.6rem;
	text-align: left;
	appearance: none;
	cursor: pointer;
	line-height: 1.4;
}
.c-qa__q::before {
	content: "Q";
	color: var(--color-prim);
}
.c-qa__q::after {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	position: absolute;
	top: calc(50% - 8px);
	right: 10px;
	background-color: var(--color-prim);
	-webkit-mask: url("../images/icons/plus.svg") no-repeat center/contain;
	mask: url("../images/icons/plus.svg") no-repeat center/contain;
	rotate: 90deg;
	transition: rotate 0.2s;
}
.c-qa__a {
	border-radius: 10px;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	height: 0;
	pointer-events: none;
	transition: height 0.2s, opacity 0.2s, visibility 0.2s;
}
.c-qa__a::before {
	content: "A";
	color: var(--color-text);
}
.c-qa__content {
	padding: 20px 20px 20px 50px;
	background-color: var(--color-bg);
}
.c-qa.is-active .c-qa__q::after {
	-webkit-mask-image: url("../images/icons/minus.svg");
	mask-image: url("../images/icons/minus.svg");
	rotate: 0deg;
}
.c-qa.is-active .c-qa__a {
	height: auto;
	height: calc-size(auto, size);
	opacity: 1;
	visibility: visible;
	pointer-events: all;
	margin-bottom: 30px;
}
@media (min-width: 768px), print {
	.c-qa__q::before, .c-qa__a::before {
		top: 30px;
		font-size: 20px;
	}
	.c-qa__q {
		padding: 30px 48px 30px 70px;
		font-size: 1.8rem;
	}
	.c-qa__a {
		margin-left: 70px;
	}
	.c-qa__a::before {
		left: 30px;
	}
	.c-qa__content {
		padding: 30px 30px 30px 70px;
	}
}
@media (hover: hover) {
	.c-qa__q {
		transition: color 0.2s;
	}
	.c-qa__q:hover {
		color: var(--color-prim);
	}
}

/*----------
	movie
----------*/
.c-movie {
	max-width: 800px;
	margin-inline: auto;
	position: relative;
}
.c-movie > iframe {
	display: block;
	aspect-ratio: 16/9;
	width: 100%;
}
.c-movie__caption {
	margin-top: 14px;
}

/* リスト */
/*----------
	list
----------*/
.c-list > li {
	padding-left: 1em;
	position: relative;
}
.c-list > li::before {
	content: "";
	display: block;
	width: 0.2em;
	height: 0.2em;
	border-radius: 50%;
	position: absolute;
	top: 0.9em;
	left: 0;
	transform: translate(50%, -50%);
	background-color: var(--color-text);
}
.c-list > li + li {
	margin-top: 8px;
}

/*----------
	remarks
----------*/
.c-remarks > li {
	padding-left: 1.5em;
	position: relative;
}
.c-remarks > li::before {
	content: "※";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
.c-remarks > li + li {
	margin-top: 8px;
}
.c-remarks--order {
	counter-reset: orderlist;
}
.c-remarks--order > li {
	padding-left: 2.5em;
}
.c-remarks--order > li::before {
	counter-increment: orderlist;
	content: "※" counter(orderlist);
	min-width: 2em;
}

/*----------
	deflist
----------*/
.c-deflist__item {
	padding: 20px 0;
	border-bottom: 1px solid var(--color-border);
	background-color: #fff;
}
.c-deflist__item dt {
	font-weight: bold;
}
.c-deflist__item dd {
	margin-top: 12px;
}
@media (min-width: 768px), print {
	.c-deflist__item {
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		gap: 0 40px;
		padding: 24px 0;
	}
	.c-deflist__item dt {
		flex: 0 0 20%;
	}
	.c-deflist__item dd {
		flex: 1 1 auto;
		margin-top: 0;
	}
}
.c-deflist--news .c-deflist__item:first-child {
	border-top: 1px solid var(--color-border);
}
.c-deflist--news dt {
	font-weight: normal;
}
@media (min-width: 768px), print {
	.c-deflist--news .c-deflist__item dt {
		flex: 0 0 9%;
	}
}

/* 独自コンポネ */
/*----------
	出展カテゴリー
----------*/
.c-excat {
	display: block;
	padding: 30px 20px;
	border: 1px solid var(--color-prim);
	border-radius: 5px;
	position: relative;
}
.c-excat::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	opacity: 0.05;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	background-color: var(--color-prim);
}
.c-excat > dl {
	width: 100%;
	height: 100%;
}
.c-excat > dl > dt {
	text-align: center;
	font-weight: 600;
	font-size: 1.6rem;
	line-height: 1.2;
	color: var(--color-prim);
}
.c-excat > dl > dt > span {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	margin-inline: auto;
	margin-bottom: 10px;
	border-radius: 50%;
	background-color: var(--color-prim);
	font-family: "Roboto", serif;
	font-weight: 500;
	font-size: 2rem;
	color: #fff;
}
.c-excat > dl > dd {
	margin-top: 20px;
}
.c-excat > dl > dd figure {
	margin-bottom: 20px;
	overflow: hidden;
	border-radius: 5px;
}
.c-excat > dl > dd figure > img {
	width: 100%;
}
@media (min-width: 768px), print {
	.c-excat {
		padding: 40px 30px;
	}
	.c-excat > dl > dt {
		font-size: 1.8rem;
	}
}

/* カラー */
.section-color1 .c-excat,
.c-excat.color-category1 {
	border: 1px solid var(--color-category1);
}
.section-color1 .c-excat::before,
.c-excat.color-category1::before {
	background-color: var(--color-category1);
}
.section-color1 .c-excat > dl > dt,
.c-excat.color-category1 > dl > dt {
	color: var(--color-category1);
}
.section-color1 .c-excat > dl > dt > span,
.c-excat.color-category1 > dl > dt > span {
	background-color: var(--color-category1);
}

.section-color2 .c-excat,
.c-excat.color-category2 {
	border: 1px solid var(--color-category2);
}
.section-color2 .c-excat::before,
.c-excat.color-category2::before {
	background-color: var(--color-category2);
}
.section-color2 .c-excat > dl > dt,
.c-excat.color-category2 > dl > dt {
	color: var(--color-category2);
}
.section-color2 .c-excat > dl > dt > span,
.c-excat.color-category2 > dl > dt > span {
	background-color: var(--color-category2);
}

.section-color3 .c-excat,
.c-excat.color-category3 {
	border: 1px solid var(--color-category3);
}
.section-color3 .c-excat::before,
.c-excat.color-category3::before {
	background-color: var(--color-category3);
}
.section-color3 .c-excat > dl > dt,
.c-excat.color-category3 > dl > dt {
	color: var(--color-category3);
}
.section-color3 .c-excat > dl > dt > span,
.c-excat.color-category3 > dl > dt > span {
	background-color: var(--color-category3);
}

.section-color4 .c-excat,
.c-excat.color-category4 {
	border: 1px solid var(--color-category4);
}
.section-color4 .c-excat::before,
.c-excat.color-category4::before {
	background-color: var(--color-category4);
}
.section-color4 .c-excat > dl > dt,
.c-excat.color-category4 > dl > dt {
	color: var(--color-category4);
}
.section-color4 .c-excat > dl > dt > span,
.c-excat.color-category4 > dl > dt > span {
	background-color: var(--color-category4);
}

.section-color5 .c-excat,
.c-excat.color-category5 {
	border: 1px solid var(--color-category5);
}
.section-color5 .c-excat::before,
.c-excat.color-category5::before {
	background-color: var(--color-category5);
}
.section-color5 .c-excat > dl > dt,
.c-excat.color-category5 > dl > dt {
	color: var(--color-category5);
}
.section-color5 .c-excat > dl > dt > span,
.c-excat.color-category5 > dl > dt > span {
	background-color: var(--color-category5);
}

.section-color6 .c-excat,
.c-excat.color-category6 {
	border: 1px solid var(--color-category6);
}
.section-color6 .c-excat::before,
.c-excat.color-category6::before {
	background-color: var(--color-category6);
}
.section-color6 .c-excat > dl > dt,
.c-excat.color-category6 > dl > dt {
	color: var(--color-category6);
}
.section-color6 .c-excat > dl > dt > span,
.c-excat.color-category6 > dl > dt > span {
	background-color: var(--color-category6);
}

.section-color7 .c-excat,
.c-excat.color-category7 {
	border: 1px solid var(--color-category7);
}
.section-color7 .c-excat::before,
.c-excat.color-category7::before {
	background-color: var(--color-category7);
}
.section-color7 .c-excat > dl > dt,
.c-excat.color-category7 > dl > dt {
	color: var(--color-category7);
}
.section-color7 .c-excat > dl > dt > span,
.c-excat.color-category7 > dl > dt > span {
	background-color: var(--color-category7);
}

.section-color8 .c-excat,
.c-excat.color-category8 {
	border: 1px solid var(--color-category8);
}
.section-color8 .c-excat::before,
.c-excat.color-category8::before {
	background-color: var(--color-category8);
}
.section-color8 .c-excat > dl > dt,
.c-excat.color-category8 > dl > dt {
	color: var(--color-category8);
}
.section-color8 .c-excat > dl > dt > span,
.c-excat.color-category8 > dl > dt > span {
	background-color: var(--color-category8);
}

.section-color9 .c-excat,
.c-excat.color-category9 {
	border: 1px solid var(--color-category9);
}
.section-color9 .c-excat::before,
.c-excat.color-category9::before {
	background-color: var(--color-category9);
}
.section-color9 .c-excat > dl > dt,
.c-excat.color-category9 > dl > dt {
	color: var(--color-category9);
}
.section-color9 .c-excat > dl > dt > span,
.c-excat.color-category9 > dl > dt > span {
	background-color: var(--color-category9);
}

/*----------
	ポイント
----------*/
.c-points {
	padding: 30px 20px;
	border-radius: 5px;
	position: relative;
	overflow: hidden;
}
.c-points::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--color-prim);
	opacity: 0.05;
}
.c-points > dl > dt {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	line-height: 1.2;
}
.c-points > dl > dd {
	margin-top: 20px;
	font-weight: 500;
	font-size: 1.6rem;
}
.c-points__point {
	flex: 0 0 70px;
	display: grid;
	width: 70px;
	height: 70px;
	padding-block: 10px 6px;
	place-items: center;
	border-radius: 50%;
	background-color: var(--color-prim);
	color: #fff;
}
.c-points__point > span {
	font-weight: bold;
	font-size: 1.3rem;
}
.c-points__point > em {
	font-family: "Roboto", serif;
	font-weight: 600;
	font-size: 2.6rem;
	line-height: 1;
}
.c-points__title {
	flex: 0 0 auto;
	font-weight: bold;
	font-size: 2.4rem;
	color: var(--color-prim);
}
.c-points__image {
	margin-top: 20px;
	border-radius: 5px;
	position: relative;
	overflow: hidden;
}
.c-points__image > img {
	width: 100%;
}
.c-points--white {
	background-color: #fff;
	box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
}
.c-points--white::before {
	display: none;
}
@media (min-width: 768px), print {
	.c-points {
		padding: 10px 10px 10px 20px;
	}
	.c-points > dl {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		gap: 32px;
	}
	.c-points > dl > dt {
		flex: 0 0 auto;
		gap: 32px;
	}
	.c-points > dl > dd {
		flex: 1 1 auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 28px;
		margin-top: 0;
		font-size: 2rem;
	}
	.c-points__point {
		flex-basis: 90px;
		width: 90px;
		height: 90px;
		padding-block: 10px 6px;
	}
	.c-points__point > em {
		font-size: 4rem;
	}
	.c-points__title {
		font-size: 3.2rem;
	}
	.c-points__image {
		flex: 0 0 300px;
		max-width: 300px;
		margin-top: 0;
	}
}

.c-points-wrapper .c-points + .c-points {
	margin-top: 20px;
}

/*----------
	出展・ご来場情報
----------*/
.c-infolink {
	background-color: var(--color-prim);
	color: #fff;
	padding: 40px 30px;
	border-radius: 5px;
	position: relative;
}
.c-infolink::before {
	content: "";
	display: block;
	width: 60px;
	height: 120px;
	position: absolute;
	top: 0;
	left: 0;
	clip-path: polygon(0% 100%, 100% 0%, 0% 0%);
	background-color: rgba(255, 255, 255, 0.15);
}
.c-infolink__title {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-size: 2rem;
	font-weight: bold;
}
.c-infolink__icon {
	display: grid;
	place-items: center;
	width: 60px;
	height: 60px;
	margin-right: 20px;
	border-radius: 50%;
	background: #fff;
}
.c-infolink__icon::after {
	content: "";
	display: block;
	width: 28px;
	height: 28px;
	background-color: var(--color-prim);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}
.c-infolink__icon.icon-exhibition::after {
	-webkit-mask-image: url("../images/icons/exhibition.svg");
	mask-image: url("../images/icons/exhibition.svg");
}
.c-infolink__icon.icon-visitors::after {
	-webkit-mask-image: url("../images/icons/check.svg");
	mask-image: url("../images/icons/check.svg");
}
.c-infolink__body__item .c-button__inner {
	background-color: #fff;
	border-color: #fff;
	color: var(--color-prim);
}
.c-infolink__body__item .c-button__inner::after {
	background-color: var(--color-prim);
}
@media (max-width: 767px) {
	.c-infolink__title {
		margin-bottom: 16px;
	}
	.c-infolink__body {
		margin-top: 26px;
	}
	.c-infolink__body__item {
		margin-top: 20px;
	}
}
@media (min-width: 768px), print {
	.c-infolink {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 40px;
		padding: 60px 70px;
	}
	.c-infolink__head {
		flex: 1 1 50%;
	}
	.c-infolink__head > p {
		padding-left: 94px;
	}
	.c-infolink__title {
		font-size: 2.8rem;
	}
	.c-infolink__icon {
		width: 70px;
		height: 70px;
		margin-right: 24px;
	}
	.c-infolink__icon::after {
		width: 32px;
		height: 32px;
	}
	.c-infolink__body {
		flex: 1 1 640px;
		max-width: 640px;
		display: flex;
		justify-content: end;
		gap: 20px;
	}
	.c-infolink__body__item {
		max-width: 480px;
		flex: 1 1 300px;
	}
}
@media (hover: hover) {
	.c-infolink__body__item .c-button__inner:hover {
		background-color: transparent;
		color: #fff;
	}
	.c-infolink__body__item .c-button__inner:hover::after {
		background-color: #fff;
	}
}

.c-infolink--ink {
	background-color: var(--color-ink);
}
.c-infolink--ink .c-infolink__icon::after {
	background-color: var(--color-ink);
}
.c-infolink--ink .c-infolink__body__item .c-button__inner {
	color: var(--color-ink);
}
.c-infolink--ink .c-infolink__body__item .c-button__inner::after {
	background-color: var(--color-ink);
}
@media (hover: hover) {
	.c-infolink--ink .c-infolink__body__item .c-button__inner:hover {
		color: #fff;
	}
	.c-infolink--ink .c-infolink__body__item .c-button__inner:hover::after {
		background-color: #fff;
	}
}

.c-infolink--faq {
	background-color: #fff;
	border: 1px solid var(--color-ink);
	color: var(--color-text);
}
.c-infolink--faq::before {
	content: none;
}
.c-infolink--faq .c-infolink__icon {
	width: 50px;
	height: 50px;
}
.c-infolink--faq .c-infolink__icon::after {
	width: 50px;
	height: 50px;
	background: url("../images/icons/question.svg") no-repeat center/contain;
	-webkit-mask: none;
	mask: none;
}
.c-infolink--faq .c-infolink__body__item .c-button__inner {
	background-color: var(--color-ink);
	border: 1px solid var(--color-ink);
	color: #fff;
}
.c-infolink--faq .c-infolink__body__item .c-button__inner::after {
	background-color: #fff;
}
@media (min-width: 768px), print {
	.c-infolink--faq .c-infolink__head > p {
		padding-left: 70px;
	}
	.c-infolink--faq .c-infolink__icon {
		margin-right: 20px;
	}
	.c-infolink--faq .c-infolink__title {
		margin-bottom: 10px;
	}
}
@media (hover: hover) {
	.c-infolink--faq .c-infolink__body__item .c-button__inner:hover {
		background-color: #fff;
		color: var(--color-text);
	}
	.c-infolink--faq .c-infolink__body__item .c-button__inner:hover::after {
		background-color: var(--color-text);
	}
}

/*----------
	お問い合わせ
----------*/
.c-inquirylink {
	color: #fff;
	border: 1px solid var(--color-border);
}
.c-inquirylink__logo {
	display: block;
	padding: 24px;
}
.c-inquirylink__logo > img {
	width: 100%;
	max-width: 595px;
	display: block;
	margin-inline: auto;
}
.c-inquirylink__item {
	padding: 36px 30px;
	background-color: var(--color-prim);
}
.c-inquirylink__item.exhibit {
	background-color: var(--color-ink);
}
.c-inquirylink__item.exhibit .c-inquirylink__icon {
	-webkit-mask: url("../images/icons/exhibition.svg") no-repeat center/contain;
	mask: url("../images/icons/exhibition.svg") no-repeat center/contain;
}
.c-inquirylink__item.exhibit .c-inquirylink__btn .c-button__inner {
	color: var(--color-ink);
}
.c-inquirylink__item.exhibit .c-inquirylink__btn .c-button__inner::after {
	background-color: var(--color-ink);
}
.c-inquirylink__item.visitor .c-inquirylink__icon {
	-webkit-mask: url("../images/icons/check.svg") no-repeat center/contain;
	mask: url("../images/icons/check.svg") no-repeat center/contain;
}
.c-inquirylink__item.tel .c-inquirylink__icon {
	-webkit-mask: url("../images/icons/tel.svg") no-repeat center/contain;
	mask: url("../images/icons/tel.svg") no-repeat center/contain;
}
.c-inquirylink__item.tel .c-inquirylink__btn > a {
	display: grid;
	place-items: center;
	width: 100%;
	height: 56px;
	border: 1px solid #fff;
	border-radius: 5px;
	text-align: center;
	font-weight: bold;
	font-size: 2rem;
	line-height: 1.4;
	color: #fff;
}
.c-inquirylink__title {
	display: flex;
	justify-content: center;
	align-items: center;
}
.c-inquirylink__title > p {
	font-size: 1.6rem;
	line-height: 1.4;
	font-weight: bold;
}
.c-inquirylink__icon {
	width: 24px;
	height: 24px;
	margin-right: 16px;
	background-color: #fff;
}
.c-inquirylink__btn {
	max-width: 400px;
	margin: 22px auto;
}
.c-inquirylink__btn .c-button__inner {
	background-color: #fff;
	color: var(--color-prim);
	border-color: #fff;
}
.c-inquirylink__btn .c-button__inner::after {
	background-color: var(--color-prim);
}
.c-inquirylink__txt {
	text-align: center;
	font-size: 1.4rem;
}
@media (max-width: 767px) {
	.c-inquirylink__item.tel .c-inquirylink__btn > a {
		display: grid;
		place-items: center;
		width: 100%;
		height: 56px;
		border: 1px solid #fff;
		border-radius: 5px;
		text-align: center;
		font-weight: bold;
		font-size: 2rem;
		line-height: 1.4;
		color: #fff;
	}
}
@media (min-width: 768px), print {
	.c-inquirylink__wrap {
		display: flex;
		justify-content: space-between;
	}
	.c-inquirylink__item {
		flex: 0 0 50%;
	}
	.c-inquirylink__item.tel .c-inquirylink__btn > a {
		border: none;
		font-size: 4rem;
		pointer-events: none;
	}
	.c-inquirylink__logo {
		padding: 34px;
	}
	.c-inquirylink__title > p {
		font-size: 1.8rem;
	}
	.c-inquirylink__icon {
		width: 32px;
		height: 32px;
		margin-right: 20px;
	}
}
@media (hover: hover) {
	.c-inquirylink__btn .c-button__inner:hover {
		background-color: transparent;
		color: #fff !important;
	}
	.c-inquirylink__btn .c-button__inner:hover::after {
		background-color: #fff !important;
	}
}

/*----------
	声
----------*/
.c-voice {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}
.c-voice__image {
	width: 80px;
	height: 80px;
}
.c-voice__text {
	position: relative;
	width: calc(100% - 110px);
	padding: 18px 20px;
	border-radius: 5px;
}
.c-voice__text::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0.05;
	background-color: var(--color-prim);
}
.c-voice__text::after {
	content: "";
	display: block;
	width: 15px;
	height: 20px;
	position: absolute;
	transform: rotate(-90deg);
	transform-origin: 100% 100%;
	top: 15px;
	left: -15px;
	opacity: 0.05;
	clip-path: polygon(50% 0, 0 100%, 100% 100%);
	background-color: var(--color-prim);
}
@media (min-width: 768px), print {
	.c-voice {
		margin-bottom: 30px;
	}
	.c-voice__image {
		width: 100px;
		height: 100px;
	}
	.c-voice__text {
		width: calc(100% - 130px);
		padding: 24px 40px;
		margin-top: 10px;
	}
}

/*----------
	スライダー
----------*/
.c-slider {
	width: 100%;
	max-width: 1200px;
	margin-inline: auto;
}
.c-slider .swiper-wrapper {
	padding-bottom: 60px;
	align-items: flex-start;
}
.c-slider .swiper-slide {
	overflow: hidden;
	border-radius: 5px;
}
.c-slider ul > li > a {
	display: block;
	color: var(--color-text);
}
.c-slider ul > li figure > img {
	display: block;
	border-radius: 5px;
}
.c-slider ul > li figure figcaption {
	margin-top: 12px;
	font-weight: 500;
	font-size: 1.4rem;
}
.c-slider__ctl {
	display: flex;
	justify-content: flex-end;
	width: 100%;
	padding: 0 20px;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 1;
}
.c-slider__prev, .c-slider__next, .c-slider__pause {
	flex: 0 0 50px;
	width: 50px;
	height: 50px;
	padding: 5px;
	position: relative;
}
.c-slider__prev::after, .c-slider__next::after, .c-slider__pause::after {
	content: "";
	display: block;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid var(--color-prim);
}
.c-slider__prev::before, .c-slider__next::before, .c-slider__pause::before {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	background-color: var(--color-prim);
	position: absolute;
	top: calc(50% - 8px);
	left: calc(50% - 8px);
}
.c-slider__prev::before {
	-webkit-mask: url("../images/icons/arrow-left.svg") no-repeat center/16px;
	mask: url("../images/icons/arrow-left.svg") no-repeat center/16px;
}
.c-slider__next::before {
	-webkit-mask: url("../images/icons/arrow-right.svg") no-repeat center/16px;
	mask: url("../images/icons/arrow-right.svg") no-repeat center/16px;
}
.c-slider__pause::before {
	-webkit-mask: url("../images/icons/play.svg") no-repeat center/16px;
	mask: url("../images/icons/play.svg") no-repeat center/16px;
}
.c-slider__pause.is-play::before {
	-webkit-mask: url("../images/icons/pause.svg") no-repeat center/16px;
	mask: url("../images/icons/pause.svg") no-repeat center/16px;
}
@media (min-width: 768px), print {
	.c-slider ul > li figure figcaption {
		margin-top: 12px;
		font-weight: 500;
		font-size: 1.4rem;
	}
}
@media (hover: hover) {
	.c-slider ul > li > a {
		transition: color 0.2s;
		cursor: pointer;
	}
	.c-slider ul > li > a:hover {
		color: var(--color-prim);
	}
}
/*# sourceMappingURL=components.css.map */
