@charset "utf-8";

* {
    margin: 0;
    padding: 0;
    background-repeat: no-repeat;
    background-position: 0 0;
    text-align: left;
    line-height: 1.2;
}

body {
	margin: 0;
}

html {
	scroll-behavior: smooth;
}

@media (max-width: 767px) {
	html {
		font-size: 3.2vw;
	}
}

#wrapper {
	width: 100%;
	max-width: 59.375rem;
	margin: 0 auto;
}

#contents {
	background: url("../img/contents_bg_sp.png") center center / cover repeat;
}

#contents .container {
	max-width: 51.25rem;
	margin-inline: auto;
}

@media (max-width: 767px) {
	#contents {
		margin: 0;
	}
	#contents .container {
		padding-inline: 1.875rem;
	}
}

#contents .box {
	border-radius: clamp(1.875rem, calc(1.875rem + 20 * ((100vw - 23.4375rem) / 393)), 3.125rem);
	background: #fff;
}

#contents h3 {
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	color: inherit;
	border-left: 0;
	padding: 0;
}

#contents h2 {
	background: none !important;
}

#contents h2 span {
	width: auto !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	color: inherit !important;
	display: inline !important;
	background: none !important;
	padding: 0 !important;
}

#contents img {
	display: block;
	max-width: 100%;
	height: auto;
	border: 0;
	vertical-align: bottom;
}

#contents .pc {
	display: block !important;
}

@media (max-width: 767px) {
	#contents .pc {
		display: none !important;
	}
}

#contents .sp {
	display: none !important;
}

@media (max-width: 767px) {
	#contents .sp {
		display: block !important;
	}
}

#contents .hero,
#contents .hero__inner,
#contents .hero__box {
	margin: 0;
	padding: 0;
	width: 100%;
	max-width: none;
}

#contents .hero__image {
	display: block;
	width: 100%;
	height: auto;
}

#contents .about.section {
	padding-top: 5rem;
}

#contents .what.section {
	padding-top: 1.875rem;
}

#contents .date.section {
	padding-top: 6.25rem;
}

#contents .contents.section {
	padding-top: clamp(3.125rem, calc(3.125rem + 10 * ((100vw - 23.4375rem) / 393)), 3.75rem);
}

#contents .stamp.section {
	padding-top: clamp(2.1875rem, calc(2.1875rem + 15 * ((100vw - 23.4375rem) / 393)), 3.125rem);
}

#contents .map.section {
	padding-top: 1.875rem;
}

#contents .time.section {
	padding-top: 6.875rem;
}

#contents .tab.section {
	padding-top: clamp(1.875rem, calc(1.875rem + 20 * ((100vw - 23.4375rem) / 393)), 3.125rem);
}

#contents .eco.section {
	padding-top: 1.875rem;
}

#contents #section-footer {
	margin-top: 3.125rem;
	padding-top: 3.75rem;
	padding-bottom: 2.1875rem;
	background: url("../img/fot_bg.png") center top / cover no-repeat;
}

@media (max-width: 767px) {
	#contents #section-footer {
		background: url("../img/footer_bg_sp.png") center top / cover no-repeat;
	}
}

#contents .footer__box {
	display: flex;
	flex-direction: column;
	align-items: center;
	row-gap: 3.125rem;
	column-gap: 0.625rem;
}

#contents .footer__contact-title {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.2875rem;
	padding: 0 1.2em;
	margin: 0;
	border-radius: 1.14375rem;
	background: #0a0;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	font-size: 1.28125rem;
	letter-spacing: 0.06em;
	line-height: 1.5712;
	text-align: center;
	color: #fff;
}

#contents .footer__contact-text {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	font-size: 1.28125rem;
	letter-spacing: 0.06em;
	line-height: 1.5712;
	text-align: center;
	color: #0a0;
}

#contents .footer__contact-note {
	display: block;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	font-size: clamp(0.75rem, calc(1.098125rem + -5.57 * ((100vw - 23.4375rem) / 393)), 1.098125rem);
	letter-spacing: 0.06em;
	line-height: 1.8333;
	color: #0a0;
}

@media (min-width: 768px) {
	#contents .footer__contact-title {
		width: 8.75rem;
		height: 1.5625rem;
		min-height: 1.5625rem;
		padding: 0;
		border-radius: 0.78125rem;
		background: #0a0;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 500;
		font-size: 0.875rem;
		letter-spacing: 0.06em;
		line-height: 1.5714;
		text-align: center;
		color: #fff;
	}
}

@media (min-width: 768px) {
	#contents .footer__contact-text {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 500;
		font-size: 0.875rem;
		letter-spacing: 0.06em;
		line-height: 1.5714;
		text-align: left;
		color: #0a0;
	}
}

@media (min-width: 768px) {
	#contents .footer__contact-note {
		text-align: left;
	}
}

@media (min-width: 768px) {
	#contents .footer__info-title {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 500;
		font-size: .9333rem;
		letter-spacing: 0.1em;
		line-height: 1.375;
		text-align: left;
		color: #0a0;
		border-bottom: 0.0625rem solid currentColor;
	}
}

@media (min-width: 768px) {
	#contents .footer__info-text {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 500;
		font-size: 0.75rem;
		letter-spacing: 0.1em;
		line-height: 1.5714;
		text-align: left;
		color: #0a0;
		margin-top: 0.3125rem;
	}
}

@media (min-width: 768px) {
	#contents .footer__info-text + .footer__info-title {
		margin-top: 0.625rem;
	}
}

@media (min-width: 768px) {
	#contents .footer__box {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

@media (min-width: 768px) {
	#contents .footer__box > :nth-child(1) {
		order: 1;
	}
}

@media (min-width: 768px) {
	#contents .footer__item--01 {
		width: 8.75rem;
	}
}

@media (min-width: 768px) {
	#contents .footer__box > :nth-child(2) {
		order: 3;
	}
}

@media (min-width: 768px) {
	#contents .footer__box > :nth-child(3) {
		order: 2;
	}
}

#contents .eco__media {
	margin: 0;
	position: relative;
}

#contents .eco__image {
	display: block;
	width: 100%;
	height: auto;
}

#contents .eco__link {
	position: absolute;
	left: 50%;
	bottom: 16%;
	transform: translateX(-50%);
	display: inline-block;
	width: 25.03125rem;
	max-width: 75%;
	line-height: 0;
	transition: opacity 0.25s ease;
}

#contents .eco__link:is(:hover, :focus-visible) {
	opacity: 0.7;
}

@media (max-width: 767px) {
	#contents .eco__link {
		bottom: 12%;
	}
}

#contents .eco__link-image {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

#contents .access__box {
	padding-top: 0;
}

#contents .access__map {
	width: clamp(0rem, 100%, 25.625rem);
	height: 17.5rem;
	background: #f5f5f5;
	border: 0;
	border-radius: clamp(1.875rem, calc(1.875rem + 20 * ((100vw - 23.4375rem) / 393)), 3.125rem);
}

@media (max-width: 767px) {
	#contents .access__map {
		width: 100%;
	}
}


#contents .access__content {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr);
	align-items: center;
	gap: clamp(1.25rem, calc(1.25rem + 10 * ((100vw - 23.4375rem) / 393)), 1.875rem);
}

#contents .access__body {
	min-width: 0;
}

#contents .access__list {
	margin: 0;
}

#contents .access__title {
	margin: 0 0 1.25rem;
	line-height: 1;
	text-align: center;
}

#contents .access__title-image {
	display: block;
	height: auto;
}

#contents .access__term {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	padding-bottom: 0.3125rem;
	border-bottom: 0.125rem solid #fff;
}

#contents .access__desc + .access__term {
	margin-top: 1.25rem;
}

@media (max-width: 767px) {
	#contents .footer__item.footer__item--01 {
		width: 12.5rem;
	}
}

@media (max-width: 767px) {
	#contents .footer__item.footer__item--02 {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
}

@media (max-width: 767px) {
	#contents .footer__info-title {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 500;
		font-size: 1rem;
		letter-spacing: 0.1em;
		line-height: 1.375;
		text-align: left;
		color: #0a0;
		border-bottom: 0.0625rem solid currentColor;
	}
}

@media (max-width: 767px) {
	#contents .footer__info-text {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 500;
		font-size: 0.875rem;
		letter-spacing: 0.04em;
		line-height: 1.5714;
		text-align: left;
		color: #0a0;
		margin-top: 0.3125rem;
		margin-left: 0;
	}
}

@media (max-width: 767px) {
	#contents .footer__info-text + .footer__info-title {
		margin-top: 0.625rem;
	}
}

@media (max-width: 767px) {
	#contents .footer__contact-note {
		text-align: center;
	}
}

@media (max-width: 767px) {
	#contents .access__content {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	#contents .access__term {
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 700;
		font-size: 1.5rem;
		letter-spacing: 0.1em;
		line-height: 1.625;
		text-align: left;
		color: #fff;
	}
}

@media (max-width: 767px) {
	#contents .access__term-icon {
		width: 1.875rem;
		height: auto;
	}
}

@media (min-width: 768px) {
	#contents .access__term {
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 700;
		font-size: 1.5rem;
		letter-spacing: 0.1em;
		line-height: 1.625;
		text-align: left;
		color: #fff;
	}
}

@media (min-width: 768px) {
	#contents .access__term-icon {
		width: 1.875rem;
		height: auto;
	}
}

@media (min-width: 768px) {
	#contents .access__desc {
		margin-top: 0.625rem;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 500;
		font-size: 1rem;
		letter-spacing: 0.01em;
		line-height: 1.5;
		text-align: left;
		color: #fff;
	}
}

@media (max-width: 767px) {
	#contents .access__desc {
		margin-top: 0.625rem;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 500;
		font-size: 1rem;
		letter-spacing: 0.01em;
		line-height: 1.5;
		text-align: left;
		color: #fff;
		margin-left: 0;
	}
}

#contents .time__box {
	position: relative;
	padding: 3.125rem clamp(0rem, calc(0rem + 50 * ((100vw - 23.4375rem) / 393)), 3.125rem) clamp(3.75rem, calc(6.25rem + -40 * ((100vw - 23.4375rem) / 393)), 6.25rem) clamp(1.875rem, calc(1.875rem + 20 * ((100vw - 23.4375rem) / 393)), 3.125rem);
}

#contents .time__title {
	position: absolute;
	inset: 0 auto auto 50%;
	transform: translate(-50%, -50%);
	margin: 0;
	line-height: 1;
}

#contents .time__title-image {
	display: block;
	width: 19.5625rem;
	height: auto;
}

#contents .time__media {
	margin-top: 1.25rem;
}

#contents .time__media-image {
	display: block;
	width: 100%;
	height: auto;
}

#contents .time__media-scroll {
	margin-top: 1.25rem;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
}

#contents .time__media-scroll-inner {
	width: 83.8125rem;
	min-width: 83.8125rem;
	padding-bottom: 1.5625rem;
}

#contents .time__media-image--sp {
	width: 83.8125rem;
	max-width: none;
}

#contents .map__image {
	margin: 0;
}

#contents .map__image-item {
	display: block;
	width: 100%;
	height: auto;
}

#contents .map__image + .map__image {
	margin-top: 1.25rem;
}

#contents .about__box {
	position: relative;
	padding-top: 3.75rem;
	padding-inline: clamp(0.625rem, calc(0.625rem + 20 * ((100vw - 23.4375rem) / 393)), 1.875rem);
	padding-bottom: clamp(2.8125rem, calc(2.8125rem + 25 * ((100vw - 23.4375rem) / 393)), 4.375rem);
}

#contents .about__title {
	position: absolute;
	inset: 0 auto auto 50%;
	transform: translate(-50%, -50%);
	margin: 0;
	line-height: 1;
}

#contents .about__title-image {
	display: block;
	width: 16.3125rem;
	height: auto;
}

#contents .about__subtitle {
	margin: 0;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: clamp(1.8125rem, calc(1.8125rem + 11 * ((100vw - 23.4375rem) / 393)), 2.5rem);
	letter-spacing: 0.1em;
	line-height: 1.325;
	text-align: center;
	color: #0a0;
}

@media (max-width: 767px) {
	#contents .about__subtitle {
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 700;
		letter-spacing: 0.1em;
		line-height: 1.4138;
		text-align: center;
		color: #0a0;
		font-size: 1.45rem;
	}
}

#contents .about__text {
	margin: 1.5625rem 0 0;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: clamp(1rem, calc(1rem + 4 * ((100vw - 23.4375rem) / 393)), 1.25rem);
	letter-spacing: 0.04em;
	line-height: 1.75;
	text-align: center;
	color: #0a0;
}

@media (max-width: 767px) {
	#contents .about__text {
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 700;
		letter-spacing: 0.1em;
		line-height: 1.6875;
		text-align: center;
		color: #0a0;
		font-size: 1rem;
	}
	
}

#contents .about__subheading {
	margin: 2.8125rem 0 0;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: clamp(2.1875rem, calc(2.1875rem + 5 * ((100vw - 23.4375rem) / 393)), 2.5rem);
	letter-spacing: 0.02em;
	line-height: 1.325;
	text-align: center;
	color: #0a0;
}

@media (max-width: 767px) {
	#contents .about__subheading {
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 700;
		letter-spacing: 0.02em;
		line-height: 1.5143;
		text-align: center;
		color: #0a0;
	}
}

#contents .about__image {
	margin: 0.9375rem 0 0;
	display: flex;
	justify-content: center;
}

#contents .about__image-item {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
}

#contents .about__image-item.about__image-item--sp.sp {
	max-width: 19.5rem;
}

#contents .date.section {
	position: relative;
}

#contents .date__box {
	position: relative;
	padding-top: 3.75rem;
	padding-inline: 0.9375rem;
	padding-bottom: clamp(0.9375rem, calc(0.9375rem + 20 * ((100vw - 23.4375rem) / 393)), 2.1875rem);
}

#contents .date__asirai {
	position: absolute;
	inset: 0 0 auto auto;
	width: clamp(13.3125rem, calc(13.3125rem + 53 * ((100vw - 23.4375rem) / 393)), 16.625rem);
	height: auto;
}

@media (min-width: 768px) {
	#contents .date__asirai {
		inset: -10% -2% auto auto;
		width: 16.625rem;
	}
}

@media (max-width: 767px) {
	#contents .date__asirai {
		inset: -10% 0% auto auto;
	}
}

#contents .date__title {
	position: absolute;
	inset: 0 auto auto 50%;
	transform: translate(-50%, -50%);
	margin: 0;
	line-height: 1;
}

#contents .date__title-image {
	display: block;
	width: 21.25rem;
	height: auto;
}

#contents .date__text {
	margin: 0;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: 2rem;
	letter-spacing: 0.1em;
	line-height: 1.0938;
	text-align: center;
	color: #0a0;
}

#contents .date__note {
	margin: 0;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	font-size: 1rem;
	letter-spacing: 0.05em;
	line-height: 2.9375;
	text-align: center;
	color: #0a0;
}

#contents .what__media-image {
	display: block;
	width: calc(320 / 820 * 100%);
	flex: 0 0 calc(320 / 820 * 100%);
	max-width: calc(320 / 820 * 100%);
	align-self: stretch;
	height: 100%;
	min-height: 100%;
	object-fit: cover;
	object-position: center;
}

#contents .what__media {
	display: flex;
	align-items: center;
	border-radius: clamp(1.875rem, calc(1.875rem + 20 * ((100vw - 23.4375rem) / 393)), 3.125rem);
	overflow: hidden;
}

@media (max-width: 767px) {
	#contents .what__media {
		flex-direction: column;
		align-items: stretch;
	}
}

@media (max-width: 767px) {
	#contents .what__media-image {
		width: 100%;
		flex: 0 0 auto;
		max-width: none;
		height: auto;
		min-height: 0;
	}
}

#contents .what__media-body {
	flex: 1 1 auto;
	min-width: 0;
	padding: clamp(1.25rem, calc(1.25rem + 10 * ((100vw - 23.4375rem) / 393)), 1.875rem) clamp(1.875rem, calc(1.875rem + 20 * ((100vw - 23.4375rem) / 393)), 3.125rem);
}

#contents .what__title {
	margin: 0;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: 1.75rem;
	letter-spacing: 0.05em;
	line-height: 1.25;
	text-align: left;
	color: #0a0;
}

#contents .what__text {
	margin: 0.625rem 0 0;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	font-size: 1rem;
	letter-spacing: -0.01em;
	line-height: 1.6875;
	text-align: left;
	color: #0a0;
}

@media (max-width: 767px) {
	#contents .what__text {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 400;
		font-size: 1rem;
		letter-spacing: -0.01em;
		line-height: 1.6875;
		text-align: left;
		color: #0a0;
	}
}

#contents .nav__box {
	margin: 0;
	padding: 0;
	position: relative;
}

#contents .nav__bg-image {
	display: block;
	width: 100%;
	height: auto;
}

#contents .nav__list {
	position: absolute;
	inset: 40% auto auto 50%;
	transform: translate(-50%, -50%);
	width: calc(100% - 2rem);
	margin: 0;
	padding: 0;
	padding-left: 1em;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	list-style: none;
}

#contents .nav__item {
	display: flex;
	align-items: center;
}

#contents .nav__link {
	font-family: "Roboto", sans-serif;
	font-weight: 900;
	font-size: 1.25rem;
	text-align: center;
	color: #0a0;
	text-decoration: none;
	text-transform: uppercase;
}

#contents .nav__item + .nav__item::before {
	content: "";
    margin-inline: 1em;
    width: 6px;
    height: 6px;
    background: #0a0;
    border-radius: 50%;
}

@media (max-width: 767px) {
	#contents #section-nav {
		display: none;
	}
}

#contents .contents__title-image {
	display: block;
	width: 19.5625rem;
	height: auto;
}

#contents .contents__box {
	position: relative;
}

#contents .contents__title {
	display: inline-block;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	margin: 0;
	line-height: 1;
}

#contents .contents__list {
	margin: 3.125rem 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: auto auto auto auto;
	gap: clamp(1.25rem, calc(1.25rem + 10 * ((100vw - 23.4375rem) / 393)), 1.875rem);
}

#contents .contents__item {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 4;
	gap: 0;
	margin-top: 0;
}

#contents .contents__item > .contents__image {
	grid-row: 1;
	margin-top: 0;
}

#contents .contents__item > .contents__ttl {
	grid-row: 2;
	margin-top: 0.9375rem;
}

#contents .contents__item > .contents__txt {
	grid-row: 3;
	margin-top: 0.9375rem;
	text-align: justify;
}

#contents .contents__item > .contents__btn {
	grid-row: 4;
	margin-top: 0.9375rem;
}

#contents .contents__item--no-link::after {
	content: "";
	display: block;
	grid-row: 4;
	margin-top: 0.9375rem;
	width: 7.5rem;
	height: 2.1875rem;
	justify-self: center;
}

@media (max-width: 767px) {
	#contents .contents__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: auto auto auto auto;
	}
}

#contents .contents__item:nth-child(1) .contents__ttl {
	background: #ffbe00;
}

#contents .contents__item:nth-child(2) .contents__ttl {
	background: #ffa0a0;
}

#contents .contents__item:nth-child(3) .contents__ttl {
	background: #ff7846;
}

#contents .contents__item:nth-child(4) .contents__ttl {
	background: #0096f0;
}

#contents .contents__item:nth-child(5) .contents__ttl {
	background: #a0e600;
}

#contents .contents__item:nth-child(6) .contents__ttl {
	background: #c8191e;
}

#contents .contents__ttl {
	margin: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	justify-self: start;
	padding: 0.375em 1.25em;
	border-radius: 1.09375rem;
	font-family: "Roboto", sans-serif;
	font-weight: 900;
	font-size: 1.25rem;
	letter-spacing: 0.04em;
	line-height: 1;
	text-align: center;
	color: #fff;
}

#contents .contents__txt {
	margin: 0;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	font-size: 1rem;
	letter-spacing: 0.15em;
	line-height: 1.5;
	text-align: left;
	color: #fff;
}

@media (max-width: 767px) {
	
	#contents .contents__ttl { 
		padding: 0.375em .55em;
	}
	
	#contents .contents__txt {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 400;
		font-size: 1rem;
		letter-spacing: 0.15em;
		line-height: 1.5;
		text-align: left;
		color: #fff;
	}
}

#contents .contents__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 100%;
	min-height: 3.125rem;
	padding: 0 1.25rem;
	box-sizing: border-box;
	border-radius: 624.9375rem;
	background: #fff;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: 1.25rem;
	letter-spacing: 0.38em;
	line-height: 1.75;
	text-align: center;
	color: #0a0;
	text-decoration: none;
}

#contents .contents__btn::after {
	content: "";
	position: absolute;
	inset: 50% 1.25rem auto auto;
	width: 0.625rem;
	height: 0.75rem;
	transform: translateY(-50%);
	background-color: #0a0;
	border-radius: 624.9375rem;
	transition: transform 0.25s ease;
	--r: 0.125rem;
	--_g: calc(tan(60deg) * var(--r)) left var(--r), #000 98%, transparent 101%;
	-webkit-mask:
		conic-gradient(from 60deg at calc(3 * var(--r) / 2 - 100%), #000 60deg, transparent 0) 0 0 / calc(100% - 3 * var(--r) / 2) 100% no-repeat,
		radial-gradient(var(--r) at calc(100% - 2 * var(--r)) 50%, #000 98%, transparent 101%),
		radial-gradient(var(--r) at top var(--_g)),
		radial-gradient(var(--r) at bottom var(--_g));
	mask:
		conic-gradient(from 60deg at calc(3 * var(--r) / 2 - 100%), #000 60deg, transparent 0) 0 0 / calc(100% - 3 * var(--r) / 2) 100% no-repeat,
		radial-gradient(var(--r) at calc(100% - 2 * var(--r)) 50%, #000 98%, transparent 101%),
		radial-gradient(var(--r) at top var(--_g)),
		radial-gradient(var(--r) at bottom var(--_g));
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

#contents .contents__btn:is(:hover, :focus-visible)::after {
	transform: translate(0.1875rem, -50%);
}

@media (max-width: 767px) {
	#contents .contents__btn {
		height: 3.125rem;
		min-height: 3.125rem;
		border-radius: 1.5625rem;
		background: #fff;
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 700;
		font-size: 1.25rem;
		letter-spacing: 0.38em;
		line-height: 1.75;
		text-align: center;
		color: #0a0;
	}
}

#contents .stamp__box {
	border-radius: 1.875rem;
	background: #ff0;
	padding: clamp(1.25rem, calc(1.25rem + 5 * ((100vw - 23.4375rem) / 393)), 1.5625rem);
}

#contents .stamp__media {
	--stamp-gap: 1.875rem;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--stamp-gap);
}

#contents .stamp__image {
	flex: 0 0 auto;
}

#contents .stamp__body {
	min-width: 0;
	flex-grow: 1;
	position: relative;
}

#contents .stamp__body::before {
	content: "";
	position: absolute;
	inset: 50% auto auto calc(var(--stamp-gap) / -2);
	transform: translateY(-50%);
	width: 0;
	height: 100%;
	border-left: 0.125rem solid #0a0;
}

#contents .stamp__image img {
	width: 5.65625rem;
	height: 4.3125rem;
}

#contents .stamp__text {
	margin: 0;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: clamp(1.25rem, calc(1.25rem + 1 * ((100vw - 23.4375rem) / 393)), 1.3125rem);
	line-height: 1.4414;
	text-align: left;
	color: #0a0;
}

@media (max-width: 767px) {
	#contents .stamp__text {
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 700;
		line-height: 2.2372;
		text-align: left;
		color: #0a0;
		font-size: .9rem;
	}
}

#contents .stamp__text-emphasis {
	display: inline-block;
	padding: 0.2em 0.2em;
	border-radius: 0.3125rem;
	background: #00b8ee;
	color: #fff;
	line-height: 1.2;
	white-space: nowrap;
}

#contents .tab__switch {
	position: absolute;
	inline-size: 0.0625rem;
	block-size: 0.0625rem;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

#contents .tab__buttons {
	display: flex;
	align-items: end;
	gap: 0;
	width: 100%;
	max-width: 45rem;
	padding-inline: 1.875rem;
	box-sizing: border-box;
	margin-inline: auto;
}

#contents .tab__button {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 3.4375rem;
	padding: 0 1rem;
	border: 0;
	border-radius: 1rem 1rem 0 0;
	background: #d9d9d9;
	font-family: "Roboto", sans-serif;
	font-weight: 900;
	font-size: 1.125rem;
	color: #fff;
	cursor: pointer;
	text-align: center;
	opacity: 0.95;
}

#contents .tab__button--stage {
	background: #ffbe00;
}

#contents .tab__button--workshop {
	background: #ffa0a0;
}

#contents .tab__button--live {
	background: #ff7846;
}

#contents .tab__button--pr {
	background: #0096f0;
}

#contents .tab__content-frame {
	padding: 3.125rem clamp(1.875rem, calc(1.675rem + 20 * ((100vw - 23.4375rem) / 393)), 3.125rem) clamp(2.1875rem, calc(2.1875rem + 20 * ((100vw - 23.4375rem) / 393)), 3.4375rem);
}

#contents .tab__panel {
	display: none;
	min-height: 13.75rem;
}

#contents .tab__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.25rem, calc(1.25rem + 10 * ((100vw - 23.4375rem) / 393)), 1.875rem);
	margin-top: 1.5625rem;
}

@media (max-width: 767px) {
	#contents .tab__list {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}

#contents .tab__item {
	color: #fff;
	padding: 1.25rem 1.5625rem;
}

#contents .tab__item-title {
	margin: 0;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: clamp(1.125rem, calc(1.125rem + 2 * ((100vw - 23.4375rem) / 393)), 1.25rem);
	letter-spacing: 0.04em;
	line-height: 1.4;
	text-align: left;
}

#contents .tab__item-title:empty {
	display: none;
}

#contents .tab__item-subtitle {
	margin: 0.625rem 0 0;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: clamp(1.375rem, calc(1.375rem + 2 * ((100vw - 23.4375rem) / 393)), 1.5rem);
	letter-spacing: 0.04em;
	line-height: 1.4;
	text-align: left;
}

#contents .tab__item-body {
	margin-top: 0.9375rem;
	display: grid;
	gap: 0.625rem;
}

#contents .tab__item-body > * {
	margin: 0;
}

#contents .tab__item h3,
#contents .tab__item h4,
#contents .tab__item h5,
#contents .tab__item h6,
#contents .tab__item p,
#contents .tab__item dt,
#contents .tab__item dd,
#contents .tab__item span,
#contents .tab__item a {
	color: inherit;
}

#contents .tab__panel--01 .tab__item {
	background: #ffbe00;
}

#contents .tab__panel--02 .tab__item {
	background: #ffa0a0;
}

#contents .tab__panel--03 .tab__item {
	background: #ff7846;
}

#contents .tab__panel--04 .tab__item {
	background: #0096f0;
}

#contents .tab__item-meta {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 0.3125rem;
}

#contents .tab__item-meta .tab__item-link-icon {
	width: 1.5rem;
	height: 1.5rem;
}

#contents .tab__item-link {
	text-decoration: none;
}

#contents .tab__item-link-label {
	text-decoration-line: underline;
	text-decoration-color: #fff;
	text-decoration-thickness: 0.125rem;
	text-underline-offset: 0.125rem;

	font-weight: 700;
	font-family: "Zen Maru Gothic", sans-serif;
}

#contents .tab__item-separator {
	border: 0;
	height: 0.25rem;
	background: radial-gradient(circle, #fff 0.125rem, transparent 0.125rem) repeat-x left center / 0.625rem 0.25rem;
}

#contents .tab__panel-title {
	margin: 0;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: clamp(1.5625rem, calc(1.5625rem + 1 * ((100vw - 23.4375rem) / 393)), 1.625rem);
	letter-spacing: 0.1em;
	line-height: 1.5;
	text-align: center;
	color: #0a0;
}

@media (min-width: 768px) {
	#contents .tab__item-link {
		display: inline-flex;
		align-items: center;
		gap: 0.625rem;
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 700;
		font-size: 0.875rem;
		letter-spacing: 0.04em;
		line-height: 2.5;
		text-align: center;
		color: #fff;
		margin-top: 0;
	}
}

@media (min-width: 768px) {
	#contents .tab__item-caption {
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 700;
		font-size: 1rem;
		letter-spacing: 0.04em;
		line-height: 2.1875;
		text-align: left;
		color: #fff;
	}
}

@media (min-width: 768px) {
	#contents .tab__item-subheading {
		width: 6.25rem;
		height: 1.875rem;
		border-radius: 624.9375rem;
		background: #fff;
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 700;
		font-size: 1rem;
		line-height: 2.1875;
		text-align: center;
		color: #ffa0a0;
	}
}

@media (min-width: 768px) {
	#contents .tab__item-txt {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 600;
		font-size: 1rem;
		letter-spacing: 0.01em;
		line-height: 1.4286;
		text-align: left;
		color: #fff;
	}
}

@media (min-width: 768px) {
	#contents .tab__item-detail {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 500;
		font-size: 0.875rem;
		letter-spacing: 0.01em;
		line-height: 1.4286;
		text-align: left;
		color: #fff;
	}
}

@media (min-width: 768px) {
	#contents .tab__item-detail dt {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 500;
		font-size: 0.875rem;
		letter-spacing: 0.01em;
		line-height: 1.4286;
		text-align: left;
		color: #fff;
	}
}

@media (min-width: 768px) {
	#contents .tab__item-detail dd {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 500;
		font-size: 0.875rem;
		letter-spacing: 0.01em;
		line-height: 1.4286;
		text-align: left;
		color: #fff;
	}
}

@media (max-width: 767px) {
	#contents .tab__item-title {
		line-height: 1.35;
	}
}

@media (max-width: 767px) {
	#contents .tab__item-subtitle {
		line-height: 1.35;
	}
}

@media (max-width: 767px) {
	#contents .tab__panel-title {
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 700;
		letter-spacing: 0.04em;
		line-height: 1.48;
		text-align: center;
		color: #0a0;
		font-size: 1.3rem;
	}
}

@media (max-width: 767px) {
	#contents .tab__item-subheading {
		width: 6.25rem;
		height: 1.875rem;
		border-radius: 624.9375rem;
		background: #fff;
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 700;
		font-size: 1rem;
		letter-spacing: -0.04em;
		line-height: 1.2;
		text-align: left;
		color: #fd8b8e;
	}
}

@media (max-width: 767px) {
	#contents .tab__item-caption {
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 700;
		font-size: 1rem;
		letter-spacing: 0.04em;
		line-height: 1.2;
		text-align: left;
		color: #fff;
	}
}

.tab__item-image {
	border-radius: 0.625rem;
}
@media (max-width: 767px) {
	#contents .tab__item-image {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

@media (max-width: 767px) {
	#contents .tab__item-txt {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 600;
		font-size: 1rem;
		letter-spacing: -0.05em;
		line-height: 1.4286;
		text-align: left;
		color: #fff;
	}
}

@media (max-width: 767px) {
	#contents .tab__item-detail {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 500;
		font-size: 0.875rem;
		letter-spacing: -0.05em;
		line-height: 1.4286;
		text-align: left;
		color: #fff;
	}
}

@media (max-width: 767px) {
	#contents .tab__item-detail dt {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 600;
		font-size: 1rem;
		letter-spacing: -0.05em;
		line-height: 1.4286;
		text-align: left;
		color: #fff;
	}
}

@media (max-width: 767px) {
	#contents .tab__item-detail dd {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 600;
		font-size: 1rem;
		letter-spacing: -0.05em;
		line-height: 1.4286;
		text-align: left;
		color: #fff;
	}
}

/* tab content: force scoped styles under section-tab */
#contents #section-tab .tab__panel-title {
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	text-align: center !important;
}

@media (min-width: 768px) {
	#contents #section-tab .tab__panel-title {
		font-size: 1.4375rem;
	}
}

#contents #section-tab .tab__list {
	list-style: none;
	margin: 1.5625rem 0 0;
	padding: 0;
}

#contents #section-tab .tab__asirai {
	margin-top: 1.25rem;
}

#contents #section-tab .tab__asirai--01 {
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
}

#contents #section-tab .tab__asirai-image {
	margin-inline: auto;
	height: auto;
}

#contents #section-tab .tab__asirai--01 .tab__asirai-image--pc {
	width: 26.28125rem;
}

#contents #section-tab .tab__asirai--01 .tab__asirai-image--sp {
	/*width: 19rem;*/
	margin: 0 0 0 auto;
}

#contents #section-tab .tab__asirai--02 .tab__asirai-image {
	width: 21.03125rem;
}

#contents #section-tab .tab__asirai--03 .tab__asirai-image {
	width: 13.4375rem;
}

#contents #section-tab .tab__asirai--04 .tab__asirai-image {
	width: 26.5rem;
}

#contents #section-tab .tab__panel--03 > .tab__list {
	position: relative;
}

#contents #section-tab .tab__asirai--03 {
	position: absolute;
	inset: auto auto 0 0;
}

@media (min-width: 768px) {	
	#contents #section-tab .tab__asirai--03 {
		inset: auto auto -10% 0%;
	}
}

@media (min-width: 768px) {
	#contents #section-tab .tab__panel--02 > .tab__list {
		display: block;
		columns: 2;
		column-gap: 1.875rem;
	}
}

@media (min-width: 768px) {
	#contents #section-tab .tab__panel--02 > .tab__list > .tab__item {
		break-inside: avoid;
		margin-bottom: 1.875rem;
	}
}

@media (min-width: 768px) {
	#contents #section-tab .tab__panel--02 > .tab__list > .tab__item:last-child {
		margin-bottom: 0;
	}
}

#contents #section-tab .tab__item {
	--tab-item-pt: 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	border-radius: clamp(1.5625rem, calc(1.5625rem + 5 * ((100vw - 23.4375rem) / 393)), 1.875rem);
	color: #fff;
	padding: var(--tab-item-pt) 1.5625rem 1.25rem;
}

#contents #section-tab .tab__item-title {
	display: flex;
	width: fit-content;
	max-width: 100%;
	align-items: center;
	justify-content: center;
	min-height: 2.1875rem;
	margin: calc(var(--tab-item-pt) * -1) 0 0;
	padding: 0 0.625rem;
	border-radius: 0 0 0.625rem 0.625rem;
	background: #fff;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: 1.5625rem;
	letter-spacing: -0.07em;
	line-height: 1.4;
	text-align: center;
	white-space: nowrap;
}

#contents #section-tab .tab__panel--02 > .tab__list:nth-of-type(2) > .tab__item {
	background: #a0e600;
}

#contents #section-tab .tab__panel--01 .tab__item-title {
	color: #ffbe00;
}

#contents #section-tab .tab__panel--02 .tab__item-title {
	color: #ffa0a0;
}

#contents #section-tab .tab__panel--02 > .tab__list:nth-of-type(2) > .tab__item .tab__item-title {
	color: #a0e600;
}

#contents #section-tab .tab__panel--03 .tab__item-title {
	color: #ff7846;
}

#contents #section-tab .tab__panel--04 .tab__item-title {
	color: #0096f0;
}

#contents #section-tab .tab__panel--01 .tab__item-subheading {
	color: #ffbe00;
}

#contents #section-tab .tab__panel--02 .tab__item-subheading {
	color: #ffa0a0;
}

#contents #section-tab .tab__panel--02 > .tab__list:nth-of-type(2) > .tab__item .tab__item-subheading {
	color: #a0e600;
}

#contents #section-tab .tab__panel--03 .tab__item-subheading {
	color: #ff7846;
}

#contents #section-tab .tab__panel--04 .tab__item-subheading {
	color: #0096f0;
}

#contents #section-tab .tab__item-title:empty {
	display: none;
}

#contents #section-tab .tab__item-subtitle {
	margin: 0;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: 1.375rem;
	line-height: 1.3182;
	text-align: left;
	color: #fff;
}

#contents #section-tab .tab__item-title span,
#contents #section-tab .tab__item-subtitle span {
	display: block;
	font-size: 0.7em;
}

#contents #section-tab .tab__item-subheading {
	margin: -0.625rem 0 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 1.875rem;
	padding: 0 0.8em;
	border-radius: 0 0 0.625rem 0.625rem;
	background: #fff;
	color: #0a0;
}

#contents #section-tab .tab__item-body {
	margin-top: 0;
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 5fr);
	align-items: start;
	gap: 0.625rem 0.9375rem;
}

#contents #section-tab .tab__item-body > * {
	margin: 0;
}

#contents #section-tab .tab__item-body > .tab__item-img {
	grid-column: 1;
}

#contents #section-tab .tab__item-body > .tab__item-txt {
	grid-column: 1 / -1;
	width: auto;
	height: auto;
}

#contents #section-tab .tab__item-body > .tab__item-img + .tab__item-txt {
	grid-column: 2;
}

#contents #section-tab .tab__item-body > .tab__item-separator,
#contents #section-tab .tab__item-body > .tab__item-detail,
#contents #section-tab .tab__item-body > .tab__item-subtitle,
#contents #section-tab .tab__item-body > .tab__item-reserve,
#contents #section-tab .tab__item-body > .tab__item-action-wrap {
	grid-column: 1 / -1;
}

#contents #section-tab .tab__item-detail,
#contents #section-tab .tab__item-detail dt,
#contents #section-tab .tab__item-detail dd {
	width: auto;
	height: auto;
}

#contents #section-tab .tab__item-detail {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	column-gap: 0.5em;
	row-gap: 0.125rem;
	margin: 0;
}

#contents #section-tab .tab__item-detail dt,
#contents #section-tab .tab__item-detail dd {
	margin: 0;
}

#contents #section-tab .tab__item-detail dt {
	white-space: nowrap;
}

#contents #section-tab .tab__item-meta {
	margin-top: auto;
	padding-top: 0.625rem;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 0.625rem;
}

#contents #section-tab .tab__item-meta > .tab__item-link {
	flex: 1;
}

#contents #section-tab .tab__item-link,
#contents #section-tab .tab__item-link:link,
#contents #section-tab .tab__item-link:visited,
#contents #section-tab .tab__item-link:hover,
#contents #section-tab .tab__item-link:active {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	text-decoration: none;
	color: #fff;
	text-align: left;
}

#contents #section-tab .tab__item-reserve {
	margin-top: 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	justify-items: center;
	gap: 0.625rem;
}

#contents #section-tab .tab__item-reserve-link,
#contents #section-tab .tab__item-reserve-link:link,
#contents #section-tab .tab__item-reserve-link:visited,
#contents #section-tab .tab__item-reserve-link:hover,
#contents #section-tab .tab__item-reserve-link:active {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 12.5rem;
	min-height: 2.5rem;
	padding: 0 1em;
	border-radius: 1.25rem;
	background: #0a0;
	text-decoration: none;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: 0.875rem;
	letter-spacing: 0.02em;
	line-height: 1.2;
	text-align: center;
	color: #fff;
}

#contents #section-tab .tab__item-reserve-link::after {
	content: "";
	position: absolute;
	inset: 50% 0.625rem auto auto;
	width: 0.375rem;
	height: 0.6875rem;
	transform: translateY(-50%);
	background: url("../img/tab_link_arrow.png") center center / contain no-repeat;
}

#contents #section-tab .tab__item-reserve-link:hover {
	opacity: 0.7;
}

#contents #section-tab .tab__item-separator {
	width: 100%;
	border: 0;
	height: 0.25rem;
	margin-top: 0;
	background: radial-gradient(circle, #fff 0.05rem, transparent 0.05rem) repeat-x left center / 0.3rem 0.25rem;
}

#contents #section-tab .tab__note {
	margin: 1.5625rem 0 0;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: 1rem;
	letter-spacing: 0.06em;
	text-align: left;
	color: #0096f0;
}

@media (max-width: 767px) {
	#contents #section-tab .tab__asirai--03 {
		inset: auto 0% -10% auto;
	}
}

@media (max-width: 767px) {
	#contents #section-tab .tab__item-title {
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 700;
		font-size: 1.5625rem;
		line-height: 1.4;
		text-align: center;
	}
}

@media (max-width: 767px) {
	#contents #section-tab .tab__item-subtitle {
		font-size: 1.2rem;
		line-height: 1.3182;
	}
}

@media (max-width: 767px) {
	#contents #section-tab .tab__item-body {
		grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
	}
}

@media (max-width: 767px) {
	#contents #section-tab .tab__item-reserve-link {
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 700;
		font-size: 0.875rem;
		letter-spacing: 0.02em;
		line-height: 1.2;
		text-align: left;
		color: #fff;
	}
}

@media (max-width: 767px) {
	#contents #section-tab .tab__item-reserve-link:link {
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 700;
		font-size: 0.875rem;
		letter-spacing: 0.02em;
		line-height: 1.2;
		text-align: left;
		color: #fff;
	}
}

@media (max-width: 767px) {
	#contents #section-tab .tab__item-reserve-link:visited {
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 700;
		font-size: 0.875rem;
		letter-spacing: 0.02em;
		line-height: 1.2;
		text-align: left;
		color: #fff;
	}
}

@media (max-width: 767px) {
	#contents #section-tab .tab__item-reserve-link:hover {
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 700;
		font-size: 0.875rem;
		letter-spacing: 0.02em;
		line-height: 1.2;
		text-align: left;
		color: #fff;
	}
}

@media (max-width: 767px) {
	#contents #section-tab .tab__item-reserve-link:active {
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 700;
		font-size: 0.875rem;
		letter-spacing: 0.02em;
		line-height: 1.2;
		text-align: left;
		color: #fff;
	}
}

@media (max-width: 767px) {
	#contents #section-tab .tab__note {
		margin-top: 0.9375rem;
		font-size: 1rem;
		letter-spacing: 0.02em;
	}
}

#contents #tab-switch-01:checked ~ .tab__buttons .tab__button[for="tab-switch-01"],
#contents #tab-switch-02:checked ~ .tab__buttons .tab__button[for="tab-switch-02"],
#contents #tab-switch-03:checked ~ .tab__buttons .tab__button[for="tab-switch-03"],
#contents #tab-switch-04:checked ~ .tab__buttons .tab__button[for="tab-switch-04"] {
	height: 70px;
	opacity: 1;
}


#contents #tab-switch-01:checked ~ .tab__content-frame .tab__panel--01,
#contents #tab-switch-02:checked ~ .tab__content-frame .tab__panel--02,
#contents #tab-switch-03:checked ~ .tab__content-frame .tab__panel--03,
#contents #tab-switch-04:checked ~ .tab__content-frame .tab__panel--04 {
	display: block;
}
@media (max-width: 767px) {
#contents #tab-switch-03:checked ~ .tab__content-frame .tab__panel--03 {
	padding-bottom: 4rem;
}
}

#contents #btn__detail {
    width: 600px;
    margin: 0 auto 30px;
    padding-bottom: 50px;
}
#contents #btn__detail a {
	background: #ffff00;
	color: #00aa00;
	font-size: 25px;
	width: 600px;
	border-radius: 50px;
	padding: 20px 0;
	text-align: center;
	text-decoration: none;
	font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    display: inline-block;
    position: relative;
}
#contents #btn__detail a::before {
    content: "";
    position: absolute;
    right: 32px;
    top: calc(50% - 10px);
    width: 3px;
    height: 15px;
    background-color: #00aa00;
    transform: rotate(-45deg);
    border-radius: 2px;
}


#contents #btn__detail a::after {
    content: "";
    position: absolute;
    right: 32px;
    top: calc(50% - 1px);
    width: 3px;
    height: 15px;
    background-color: #00aa00;
    transform: rotate(45deg);
    border-radius: 2px;
}


#contents .footer__inner {
	min-width: 880px;
}

@media (max-width: 767px) {
	#contents .footer__inner {
		min-width: auto;
	}	
}



.txt-s {
	letter-spacing: -1px!important;
}

@media (max-width: 767px) {
	.txt-s {
		letter-spacing: 0!important;
	}	
}