/* ========================================
   CSS Variables
======================================== */
:root {
	/* Colors */
	--ttl-color: #1E3932;
	--txt-color: rgba(0, 0, 0, 0.87);
	--line-color: #E1DFDD;
	;
	--link-color: #00754a;
	--list-marker-color: #D2A04A;

	/* Spacing */
	--inline-padding: 16px;
	--block-padding: 48px;
	--wrap-margin-top: 72px;
	--ttl-margin: 24px;
	--txt-padding: 8px;
	--service-margin: 48px;
	--caution-padding: 32px;

	/* Button */
	--btn-padding-y: 27.5px;
	--btn-padding-x: 40px;
	--btn-margin: 80px;
	--btn-size: 20px;

	/* Font Size */
	--ttl-size: 24px;
	--txt-size: 18px;
	--note-size: 14px;
	--caution-size: 11px;
	--date-size: 22px;

	/* img Size */
	--service-size: 585px;
	--mail-size: 180px;
}

@media (max-width: 1024px) {
	:root {
		/* Spacing */
		--block-padding: 40px;
		--wrap-margin-top: 64px;

		/* Font Size */
		--ttl-size: 18px;
		--txt-size: 14px;
		--note-size: 12px;
		--date-size: 20px;

		/* Button */
		--btn-padding-y: 14.5px;
		--btn-padding-x: 36px;
		--btn-margin: 72px;
		--btn-size: 16px;
	}
}

/* ========================================
   Reset
======================================== */
div.mainContents.notExNav article {
	margin: 0 auto;
	width: auto;
	padding-bottom: 0;
}

* {
	box-sizing: border-box;
}

.mainContents :is(h1, h2, h3, h4, h5, h6, p, ul, ol, li, a) {
	margin: 0;
	padding: 0;
}

/* ========================================
  Display Control
======================================== */
@media (min-width: 1025px) {
	.is-sp {
		display: none;
	}
}

/* ========================================
  kv
======================================== */
.kv {
	width: 100%;
}

.kv picture,
.kv img {
	display: block;
	width: 100%;
	height: auto;
}

/* ========================================
  contents
======================================== */
.contents_wrap {
	width: min(calc(1184px + 32px), 100%);
	padding: 0 var(--inline-padding);
	margin: var(--wrap-margin-top) auto 0;

	.head,
	.ttl {
		font-size: var(--ttl-size);
		color: var(--ttl-color);
		font-weight: bold;
		margin-bottom: var(--ttl-margin);
	}

	.contents_block {
		padding: var(--block-padding) 0;
		border-bottom: solid 1px var(--line-color);

		&.inquiry {
			border-bottom: none;
			padding: var(--block-padding) 0 0;
			.ttl{
				font-size: var(--txt-size);
			}
		}
	}

	.head {
		text-align: center;
	}

	.txt {
		font-size: var(--txt-size);
		color: var(--txt-color);
		padding-bottom: var(--txt-padding);

		&.eticket {
			margin-bottom: var(--ttl-margin);
			padding: 0;
		}

		&.support {
			margin: var(--ttl-margin) 0;
		}
		
		.date {
			font-size: var(--date-size);
			font-weight: bold;
		}
	}

	.note {
		font-size: var(--note-size);
		line-height: 1.5;
		text-indent: -1em;
		padding-left: 1em;
	}

	.note:not(:first-child) {
		padding-top: var(--txt-padding);
	}

	.list_item {
		position: relative;
		padding-left: 1.5em;
		margin-bottom: var(--ttl-margin);
		font-size: var(--txt-size);
		font-weight: 700;

		.list {
			padding-top: var(--txt-padding);
		}
	}
	
	.list_item:last-child {
		margin-bottom: 0;
	}

	.list_item::before {
		content: "";
		position: absolute;
		left: 0;
		top: 0.3em;
		width: 18px;
		height: 18px;
		background-color: var(--list-marker-color);
		border-radius: 50%;
	}

	.link {
		color: var(--link-color);

		&.wolt {
			font-size: var(--note-size);

			@media (max-width: 1024px) {
				font-size: var(--txt-size);

			}
		}
	}

	.service {
		width: min(var(--service-size), 100%);
		text-align: center;
		margin: var(--service-margin) auto 0;

		.txt {
			font-weight: 700;
		}

		.service_img {
			padding: 0 0 16px;
		}
	}

	.mail_img {
		width: var(--mail-size);
		margin: 40px 0 16px;
	}
}


/* ========================================
  Button
======================================== */
.btn {
	display: block;
	width: fit-content;
	padding: var(--btn-padding-y) var(--btn-padding-x);
	background-color: var(--link-color);
	text-decoration: none;
	border-radius: calc(1px * infinity);
	margin: var(--btn-margin) auto;

	.btn-item {
		font-size: var(--btn-size);
		color: #fff;
		font-weight: 700;
		font-weight: bold;
		text-align: center;
	}
}


/* ========================================
  Caution List
======================================== */
.mainContents {
	.caution_list {
		width: 100%;
		background-color: var(--line-color);
		padding: var(--caution-padding) var(--inline-padding);
		margin-top: var(--btn-margin);
		list-style: none;
	}

	.caution_item {
		max-width: calc(1184px + 32px);
		font-size: var(--caution-size);
		line-height: 1.5;
		color: var(--txt-color);
		margin-left: auto;
		margin-right: auto;
		text-indent: -1em;
		padding-left: 1em;
	}
}
