@charset "utf-8";

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
超宴2026
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- リセットCSS
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
main * {
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
	box-shadow: initial;
	color: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
	outline: initial;
}

main img {
	vertical-align: middle;
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- リセット previous_user.css
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
main h1,
main h2,
main h3,
main h4,
main h5,
main h6 {
	font-weight: revert;
}

main a:hover {
	text-decoration: inherit;
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- ベース
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
main {
	--color_main:     #231816;
	--color_sub:      #f8e133;
	--color_red:      #a42015;

	--font_main:      "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "BIZ UDPGothic", Meiryo, sans-serif;
	--font_en:        Jost, "Helvetica Neue", Arial, Roboto, var(--font_main);

	--opacity:        0.7;
	--padding-inline: 5.4vw;
	--padding-block:  80px;
	--border-radius:  20px;
	--letter-spacing: 0.05em;
	--transition:     0.3s ease-in-out;
	--brightness:     brightness(1.1);

	color: var(--color_main);
	font-weight: 500;
	font-size: 15px;
	font-family: var(--font_main);
	line-height: 1.5;
	letter-spacing: var(--letter-spacing);
}

@media (min-width: 750.1px) {
main {
	--padding-inline: 20px;
}
}

main article {
	overflow: hidden;
}

main section {
	padding-block: var(--padding-block);
}

main .inner {
	width: 100%;
	padding-inline: var(--padding-inline);
}

main span:not([class]) {
	display: inline-block;
}

main :where(h1, h2, h3, h4, h5, h6) {
	letter-spacing: initial;
}

main p:not([class]) + p:not([class]) {
	margin-top: 1.5em;
}

main a {
	transition: var(--transition);
}

main a::before,
main a::after {
	transition: transform var(--transition);
}

@media (min-width: 750.1px) {
main {
	display: grid;
	grid-template-columns: 1fr 375px 1fr;
	column-gap: 10px;
}
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- 見出し
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.heading_large {
	display: flex;
	margin-bottom: 0.7em;
	font-weight: 900;
	font-size: 40px;
	line-height: 1.6;
	text-align: center;
	white-space: nowrap;
	column-gap: 0.2em;
	justify-content: center;
}

.heading_large .heading-img01 {
	align-self: start;
}

.heading_large .heading-img02 {
	align-self: end;
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- リンク
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.link_underline {
	display: flex;
	width: fit-content;
	text-decoration: underline !important;
	column-gap: 0.5em;
}

.link_underline:hover {
	text-decoration-color: transparent !important;
}

.button {
	display: flex;
	position: relative;
	max-width: 335px;
	margin: 1.6em auto 0;
	padding: 0.9em 2.5em;
	border: 4px solid;
	border-radius: 100vw;
	background: var(--color_sub);
	font-weight: 900;
	font-size: 18px;
	line-height: 1.3;
	text-align: center;
	column-gap: 0.5em;
	justify-content: center;
	align-items: center;
}

.button:hover {
	border-color: var(--color_sub);
}

.button::after {
	position: absolute;
	inset: 0 1.2em 0 auto;
	width: 18px;
	height: 16px;
	margin-block: auto;
	background: url("https://yonasato-com.ecbeing.biz/cms/img/utage2026/icon_arrow.svg") center center / contain no-repeat;
	content: "";
	transition: transform var(--transition);
}

.button:hover::after {
	transform: translateX(0.3em);
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- リスト
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.dl > dt {
	width: fit-content;
	margin-bottom: 0.6em;
	padding: 0.3em 1.2em;
	border-radius: 100vw;
	background: var(--color_main);
	color: #fff;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.3;
}

.dl > dd {
	margin-bottom: 1em;
	padding-bottom: 1em;
	border-bottom: 1px solid #e5e5e5;
}

.ul > li {
	position: relative;
	padding-left: 1.2em;
}

.ul > li::before {
	position: absolute;
	inset: 0 auto auto 0;
	content: "・";
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- コンポーネント
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.bold {
	font-weight: 700;
}

.section-description {
	width: fit-content;
	margin: 0 auto 2em;
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- Swiper
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.swiper {
	--swiper-theme-color: currentColor;
	overflow: initial;
}

.swiper-wrapper {
	height: auto;
}

.swiper._carousel .swiper-wrapper {
	transition-timing-function: linear;
}

.swiper-slide {
	width: initial;
	height: initial;
	user-select: none;
}

.swiper-button-prev,
.swiper-button-next {
	top: 55%;
	width: 35px;
	height: 80px;
	margin-top: initial;
	border: 2px solid;
	border-radius: 100vw;
	background: url("https://yonasato-com.ecbeing.biz/cms/img/utage2026/icon_arrow.svg") center center / 48% auto no-repeat var(--color_sub);
	transition: var(--transition);
}

.swiper-button-prev {
	left: 0;
	transform: scaleX(-1);
}

.swiper-button-next {
	right: 0;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
	filter: var(--brightness);
}

.swiper-button-prev::after,
.swiper-button-next::after {
	display: none;
}

.swiper-pagination {
	display: flex;
	column-gap: 10px;
	justify-content: center;
}

.swiper-pagination-bullet {
	opacity: initial;
	width: 23px;
	height: 10px;
	margin-inline: initial !important;
	border-radius: 10px;
	background: #fff;
	transition: var(--transition);
}

.swiper-pagination-bullet-active,
.swiper-pagination-bullet:hover {
	background: var(--color_sub);
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- Lite YouTube Embed
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
lite-youtube {
	border-radius: 5px;
}

lite-youtube > .lyt-playbtn {
	transition: var(--transition);
	filter: initial;
}

lite-youtube .lyt-playbtn:focus,
lite-youtube:hover > .lyt-playbtn {
	filter: saturate(0.8);
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- ビジュアル
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
@media (min-width: 750.1px) {
.utage-visual .wrapper {
	position: sticky;
	top: 0;
	width: calc((100vw - 375px - 35px) / 2);
	position: fixed;
}

.utage-visual .img {
	position: absolute;
	inset: 0 auto auto 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.utage-visual .inner {
	padding-block: 115px;
	text-align: center;
}

.utage-visual .location {
	display: flex;
	margin-block: 0.7em;
	font-size: 16px;
	gap: 0.6em;
	flex-flow: wrap;
	justify-content: center;
	align-items: center;
}

.utage-visual .location-label {
	width: fit-content;
	padding: 0.3em 1.2em;
	border-radius: 100vw;
	background: var(--color_main);
	color: #fff;
	font-weight: 700;
	line-height: 1.3;
}

.utage-visual address {
	font-size: 14px;
}
}

@media (max-width: 1024px) {
.utage-visual .inner {
	display: none;
}
}

@media (max-width: 750px) {
.utage-visual {
	display: none;
}
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- ナビゲーション
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
@media (min-width: 750.1px) {
.utage-nav .wrapper {
	position: sticky;
	top: 0;
	background: var(--color_sub);
	width: calc((100vw - 375px - 20px) / 2);
	position: fixed;
}

.utage-menu-ul {
	height: 100vh;
	padding: 115px 7%;
}

.utage-menu-li:not(:last-child) {
	margin-bottom: 1.3em;
}

.utage-menu-li a {
	display: grid;
	width: fit-content;
	font-weight: 700;
	font-size: clamp(15px, calc(100vw * 20 / 1024), 20px);
	grid-template-columns: auto auto;
	column-gap: 0.5em;
	align-items: center;
}

.utage-menu-li a::before {
	width: 1em;
	background: url("https://yonasato-com.ecbeing.biz/cms/img/utage2026/arrow.svg") left center / contain no-repeat;
	content: "";
	aspect-ratio: 1;
}

.utage-menu-li a:hover::before {
	transform: translateX(4px);
}
}

@media (min-width: 1024.1px) {
.utage-nav .wrapper {
	display: grid;
	grid-template-columns: 1fr 84px;
	align-items: start;
}

.utage-menu-ul {
	border-right: 2px solid;
}

.utage-nav-instagram {
	display: block;
	width: fit-content;
	margin: 120px auto 0;
}

.utage-nav-instagram:not(:hover) {
	filter: brightness(0) contrast(0.8) sepia(1);
}
}

@media (max-width: 1024px) {
.utage-nav-instagram {
	display: none;
}
}

@media (max-width: 750px) {
.utage-nav {
	display: none;
}
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- ページヘッダー
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.utage-header {
	position: relative;
	z-index: 1;
	margin-bottom: -10%;
}

.utage-header-ul {
	-webkit-mask: url("https://yonasato-com.ecbeing.biz/cms/img/utage2026/header-mask.svg") center bottom / cover no-repeat;
	mask: url("https://yonasato-com.ecbeing.biz/cms/img/utage2026/header-mask.svg") center bottom / cover no-repeat;
}

.utage-header-li .img {
	width: 100%;
	height: 560px;
	object-fit: cover;
}

.utage-header-li:nth-child(3n) .img {
	object-position: left -280px bottom 0;
}

.utage-header-slider .swiper-pagination {
	bottom: -20px;
}

.utage-header-heading {
	position: absolute;
	inset: 125px 0 auto;
	z-index: 1;
	text-align: center;
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- 超宴とは
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.utage-about {
	position: relative;
	z-index: 0;
	padding-block: calc(80px + 10%) 100px;
	background: linear-gradient(172deg, #1793ba, #e3f2fb 30%, var(--color_sub) 60%, transparent 60%), linear-gradient(0deg, transparent 49px, var(--color_sub) 49px);
}

.utage-about::after {
	position: absolute;
	inset: auto 0 0;
	height: 50px;
	background: url("https://yonasato-com.ecbeing.biz/cms/img/utage2026/about-mask.svg") center center / 100% 100% no-repeat;
	content: "";
}

.utage-about .background-img {
	position: absolute;
	inset: 280px auto auto 0;
	z-index: -1;
	width: 100%;
	height: 618px;
	object-fit: cover;
}

.utage-about .heading_large {
	color: var(--color_sub);
}

.utage-about .section-description {
	margin-bottom: 240px;
}

.utage-about-li {
	max-width: 80%;
	margin-inline: 10px;
}

.utage-about-li .img {
	border-radius: var(--border-radius);
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- 開催概要
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.utage-outline .heading-img02 {
	margin-left: 0.3em;
}

.utage-outline .link_underline {
	margin-top: 0.5em;
}

.utage-outline .heading_large {
	margin-bottom: 0.2em;
}

.heading_sub {
	margin-bottom: 1.5em;
	text-align: center;
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- ビールを味わう
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.utage-beer {
	position: relative;
	padding-top: 100px;
	background: linear-gradient(transparent 70px, var(--color_sub) 70px, var(--color_sub) calc(100% - 49px), transparent calc(100% - 49px));
}

.utage-beer::before {
	position: absolute;
	inset: 0 0 auto;
	height: 70px;
	background: url("https://yonasato-com.ecbeing.biz/cms/img/utage2026/beer-mask01.svg") center center / 100% 100% no-repeat;
	content: "";
}

.utage-beer::after {
	position: absolute;
	inset: auto 0 0;
	height: 50px;
	background: url("https://yonasato-com.ecbeing.biz/cms/img/utage2026/beer-mask02.svg") center center / 100% 100% no-repeat;
	content: "";
}

.utage-beer .heading_large {
	font-size: min(calc(100vw * 37 / 375), 40px);
}

.utage-beer .background-text {
	position: absolute;
	inset: 415px auto auto 50%;
	color: var(--color_sub);
	font-size: 64px;
	font-family: var(--font_en);
	text-align: center;
	white-space: nowrap;
	-webkit-text-stroke: 0.06em var(--color_main);
	paint-order: stroke;
	transform: translateX(-50%);
}

.utage-beer-slider {
	width: 320px;
}

.utage-beer-li {
	width: 220px;
	margin-inline: 20px;
	padding-top: 15px;
	letter-spacing: initial;
}

.utage-beer-li .image {
	display: flex;
	position: relative;
	width: 200px;
	height: 200px;
	margin-inline: auto;
	border-radius: var(--border-radius);
	background: #fff;
	transition: var(--transition);
	justify-content: center;
	align-items: center;
}

.utage-beer-li.swiper-slide-prev .image,
.utage-beer-li.swiper-slide-duplicate-prev .image {
	margin-top: 28px;
	transform: rotate(-5deg);
}

.utage-beer-li.swiper-slide-next .image,
.utage-beer-li.swiper-slide-duplicate-next .image {
	margin-top: 28px;
	transform: rotate(5deg);
}

.utage-beer-li .number {
	display: flex;
	position: absolute;
	inset: -15px auto auto -4px;
	width: 45px;
	height: 60px;
	background: url("https://yonasato-com.ecbeing.biz/cms/img/utage2026/beer-glass.svg") center center / contain no-repeat;
	color: #fff;
	font-weight: 700;
	font-size: 18px;
	font-family: var(--font_en);
	justify-content: center;
	align-items: center;
}

.utage-beer-li .heading {
	margin-block: 0.7em;
	font-size: 24px;
	text-align: center;
}

.utage-beer-li .beerstyle {
	margin-bottom: 0.5em;
	padding: 0.3em;
	background: var(--color_main);
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	text-align: center;
}

.utage-beer-li .detail-ul {
	display: flex;
	margin-bottom: 1.5em;
	text-align: center;
	justify-content: space-between;
}

.utage-beer-li .detail-heading {
	font-weight: inherit;
	font-size: 14px;
}

.utage-beer-li .detail-percentage {
	font-weight: 700;
	font-size: 20px;
	font-family: var(--font_en);
	line-height: 1;
}

.utage-beer-li .detail-percentage::after {
	font-size: 16px;
	content: "%";
}

.utage-beer-li .description {
	font-weight: 700;
	font-size: 12px;
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- 超宴の魅力
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.utage-charm {
	padding-bottom: initial;
}

.utage-charm-slider:not(._reverse) {
	margin-bottom: 30px;
}

.utage-charm-li {
	margin-inline: 5px;
}

.utage-charm-li .img {
	border-radius: var(--border-radius);
}

.utage-charm .heading_large {
	font-size: min(calc(100vw * 40 / 375), 40px);
}

.utage-charm-slider._reverse {
	margin-top: 30px;
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- フード
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.utage-food .heading-img01 {
	align-self: center;
}

.utage-food .heading-img02 {
	transform: scaleX(-1);
	align-self: center;
}

.utage-food-li {
	margin-inline: 5px;
}

.utage-food-li .img {
	border-radius: var(--border-radius);
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- チケット情報
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.utage-ticket {
	position: relative;
	background: linear-gradient(transparent 70px, var(--color_sub) 70px);
}

.utage-ticket::before {
	position: absolute;
	inset: 0 0 auto;
	height: 70px;
	background: url("https://yonasato-com.ecbeing.biz/cms/img/utage2026/ticket-mask.svg") center center / 100% 100% no-repeat;
	content: "";
}

.utage-ticket-intro {
	position: relative;
	background: #fff;
	font-weight: 700;
	text-align: center;
}

.utage-ticket-intro .heading {
	position: relative;
	padding: 0.9em;
	background: var(--color_red);
	color: #fff;
	font-size: 16px;
}

.utage-ticket-intro .heading::after {
	position: absolute;
	inset: 100% 0 auto;
	width: 0.7em;
	height: calc(0.7em / 2 * tan(60deg));
	margin-inline: auto;
	background: inherit;
	content: "";
	-webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.utage-ticket-intro .content {
	padding: 0.9em 0.9em 0.5em;
	letter-spacing: initial;
}

.utage-ticket-intro .adult {
	font-size: 32px;
}

.utage-ticket-intro .price {
	color: var(--color_red);
	font-size: 20px;
}

.utage-ticket-intro .annotation {
	margin-bottom: 1.1em;
	color: var(--color_red);
	font-size: 12px;
}

.utage-ticket-intro .child {
	display: flex;
	position: absolute;
	inset: 10px 10px auto auto;
	width: 88px;
	border: 4px solid;
	border-radius: 50%;
	background: #fff;
	line-height: 1;
	aspect-ratio: 1;
	flex-flow: column;
	justify-content: center;
}

.utage-ticket-intro .child-small {
	font-size: 12px;
}

.utage-ticket-intro .child-large {
	font-size: 20px;
}

.utage-ticket-intro .child-medium {
	font-size: 18px;
}

.utage-ticket-detail .heading {
	display: flex;
	margin-bottom: 1em;
	padding: 1em;
	background: #fff;
	font-weight: 700;
	font-size: 14px;
	text-align: center;
	cursor: pointer;
	transition: var(--transition);
	justify-content: center;
	align-items: center;

}

.utage-ticket-detail .heading:hover {
	color: var(--color_red);
}

.utage-ticket-detail .heading::after {
	width: 22px;
	margin-left: 0.3em;
	background: url("https://yonasato-com.ecbeing.biz/cms/img/utage2026/arrow.svg") left center / contain no-repeat;
	content: "";
	aspect-ratio: 1;
	transform: rotate(90deg);
	transition: var(--transition);
}

.utage-ticket-detail .heading._open::after {
	transform: rotate(-90deg);
}

.utage-ticket-detail .heading:not(._open) ._none {
	display: none;
}

.utage-ticket-detail .annotation {
	margin-bottom: 1em;
	letter-spacing: initial;
}

.utage-ticket-detail .notice {
	display: flex;
	width: fit-content;
	margin-inline: auto;
	height: 59px;
	padding-inline: 1.3em;
	border: 2px solid var(--color_main);
	border-radius: 100vw;
	background: var(--color_main);
	color: var(--color_sub);
	font-weight: 700;
	font-size: 16px;
	line-height: 1.3;
	text-align: center;
	justify-content: center;
	align-items: center;
}

.utage-ticket-detail .notice:hover {
	background: var(--color_sub);
	color: var(--color_main);
	filter: var(--brightness);
}

.utage-ticket-li {
	position: relative;
	margin-top: 40px;
	padding: 30px;
	border: 4px solid;
	border-radius: var(--border-radius);
	background: #fff;
	counter-increment: number;
}

.utage-ticket-li::before {
	display: flex;
	position: absolute;
	inset: -0.9em auto auto 0.5em;
	width: 1.8em;
	border: 4px solid;
	border-radius: 50%;
	background: var(--color_sub);
	font-weight: 900;
	font-size: 26px;
	font-family: var(--font_en);
	content: counter(number);
	aspect-ratio: 1;
	justify-content: center;
	align-items: center;
}

.utage-ticket-ul-2 .utage-ticket-li::before {
	content: '4';
}

.utage-ticket-li .heading {
	margin-bottom: 0.5em;
	font-size: 20px;
}

.utage-ticket dd:last-child {
	margin-bottom: initial;
	padding-bottom: initial;
	border-bottom: initial;
}

.utage-ticket .button:hover {
	border-color: initial;
	filter: var(--brightness);
}

.utage-ticket-btn {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.utage-ticket-btn a.button {
	background-image: linear-gradient(90deg, #DD1300, #FF9700);
	border-color: #fff;
	color: #fff;
	padding: 0.9em 1.5em 0.9em 0.5em;
	gap: 5px;
	transition: transform var(--transition);
}

.utage-ticket-btn a.button:nth-child(2) {
	margin-top: 0;
}

.utage-ticket-btn a.button::after {
	right: 0.35em;
	background-image: url('https://yonasato-com.ecbeing.biz/cms/img/utage2026/icon_arrow_w2.svg');
}

.utage-ticket-btn a.button:hover {
	background-image: linear-gradient(90deg, #FF9700, #DD1300);
}

.utage-ticket-limited {
	margin-top: 40px;
}

.utage-ticket-limited .heading {
	padding-left: 40px;
	box-sizing: border-box;
	text-align: left;
}

.utage-ticket-limited-content {
	padding: 15px;
	box-sizing: border-box;
	text-align: left;
}

.utage-child {
	font-size: 85%;
	margin-top: 15px;
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- アクセス
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.utage-access {
	position: relative;
	padding-bottom: 100px;
	background: linear-gradient(var(--color_sub) 50px, var(--color_main) 50px, var(--color_main) calc(100% - 49px), transparent calc(100% - 49px));
}

.utage-access::before {
	position: absolute;
	inset: 0 0 auto;
	height: 50px;
	background: url("https://yonasato-com.ecbeing.biz/cms/img/utage2026/access-mask01.svg") center center / 100% 100% no-repeat;
	content: "";
}

.utage-access::after {
	position: absolute;
	inset: auto 0 0;
	height: 50px;
	background: url("https://yonasato-com.ecbeing.biz/cms/img/utage2026/access-mask02.svg") center center / 100% 100% no-repeat;
	content: "";
}

.utage-access .heading_large {
	color: #fff;
	font-size: min(calc(100vw * 40 / 375), 40px);
}

.utage-access .img {
	display: block;
	width: 100%;
	height: 260px;
	margin: 0 auto -40px;
	border-radius: var(--border-radius);
	object-fit: cover;
}

.utage-access .text {
	position: relative;
	z-index: 1;
	width: 88%;
	margin-inline: auto;
	padding: 35px 26px;
	border-radius: var(--border-radius);
	background: #fff;
}

.utage-access .sweetgrass {
	display: block;
	width: fit-content;
	margin: 0 auto 20px;
}

.utage-access .sweetgrass:hover {
	opacity: var(--opacity);
}

.utage-access dd:last-child {
	margin-bottom: initial;
	padding-bottom: initial;
	border-bottom: initial;
}

.utage-access .link_underline {
	margin-top: 0.5em;
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- よくあるご質問
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.utage-faq .heading_large {
	font-size: min(calc(100vw * 37 / 375), 40px);
}

.utage-faq .heading-img02 {
	transform: scaleX(-1);
	align-self: center;
}

.faq-li {
	overflow: hidden;
	border-radius: 40px;
	font-size: 16px;
}

.faq-li:not(:last-child) {
	margin-bottom: 1.2em;
}

.faq-question {
	position: relative;
	padding: 1em 1.5em 1em 4.5em;
	background: var(--color_sub);
	letter-spacing: var(--letter-spacing);
	cursor: pointer;
	transition: var(--transition);
}

.faq-answer {
	position: relative;
	padding: 1em 1.5em;
	background: #fdf9da;
}

.faq-question:hover {
	color: var(--color_main);
}

.faq-question::before {
	display: flex;
	position: absolute;
	inset: 0 auto 0 1em;
	width: 1.8em;
	height: 1.8em;
	margin-block: auto;
	border-radius: 50%;
	background: var(--color_main);
	color: #fff;
	font-weight: 700;
	font-size: 22px;
	font-family: var(--font_en);
	content: "Q";
	justify-content: center;
	align-items: center;
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- 協賛
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.utage-sponsor {
	position: relative;
	z-index: 0;
	padding-block: 100px;
	background: linear-gradient(transparent 50px, #1793ba 50px, #e3f2fb 30%, var(--color_sub) 60%, var(--color_sub) calc(100% - 49px), transparent calc(100% - 49px));
}

.utage-sponsor::before {
	position: absolute;
	inset: 0 0 auto;
	height: 50px;
	background: url("https://yonasato-com.ecbeing.biz/cms/img/utage2026/sponsor-mask01.svg") center center / 100% 100% no-repeat;
	content: "";
}

.utage-sponsor::after {
	position: absolute;
	inset: auto 0 0;
	height: 50px;
	background: url("https://yonasato-com.ecbeing.biz/cms/img/utage2026/sponsor-mask02.svg") center center / 100% 100% no-repeat;
	content: "";
}

.utage-sponsor .background-img {
	position: absolute;
	inset: 160px auto auto 0;
	z-index: -1;
	width: 100%;
	height: 1159px;
	object-fit: cover;
}

.utage-sponsor .heading_large {
	color: #fff;
}

.utage-sponsor .section-description {
	color: #fff;
	text-align: center;
}

.utage-sponsor-ul {
	gap: 0 27px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.utage-sponsor-li {
	display: flex;
	justify-content: center;
	width: 100%;
}

.utage-sponsor-li:not(:nth-child(3)) {
	margin-top: 30px;
}

.utage-sponsor-li img {
	width: 227px;
}

.utage-sponsor-li:nth-child(n+4),
.utage-sponsor-li:nth-child(n+4) img {
	width: 154px;
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- フッター
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.utage-footer {
	font-size: 14px;
	text-align: center;
}

.utage-footer-instagram {
	display: block;
	position: relative;
	z-index: 0;
	margin-bottom: 2em;
	padding: 1.1em;
	border-radius: 10px;
	background: linear-gradient(-135deg, #b500b0, #f30000, #ffd621);
}

.utage-footer-instagram::before {
	position: absolute;
	inset: 1px;
	z-index: -1;
	border-radius: 9px;
	background: #fff;
	content: "";
	transition: var(--transition);
}

.utage-footer-instagram:hover::before {
	opacity: 0.95;
}

.utage-footer-instagram .heading {
	margin-top: 0.3em;
	font-weight: inherit;
}

@media (max-width: 750px) {
.utage-footer {
	padding-bottom: 130px;
}
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- チケット購入
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.utage-purchase {
	display: flex;
	position: fixed;
	inset: auto 10px 10px auto;
	z-index: 20;
	width: 7em;
	height: 7em;
	border: 4px solid;
	border-radius: 50%;
	background: var(--color_sub);
	font-weight: 700;
	font-size: 14px;
	line-height: 1.2;
	text-align: center;
	transition: var(--transition), visibility 0.5s ease-in-out, opacity 0.5s ease-in-out;
	row-gap: 0.4em;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	user-select: none;
}

.utage-purchase:not(._show) {
	visibility: hidden;
	opacity: 0;
}

.utage-purchase:hover {
	filter: var(--brightness);
}