@charset "UTF-8";
.detail-main #contentsend{margin-top: 0; }
.is-hidden {display:none !important;}
@media screen and (min-width: 768px),print {

#contentseventlst{margin: 0 0 0 5rem;padding: 0rem 5vw 8rem;}
#contentseventlst .inner-Box{margin: 0 auto;max-width: 120rem;padding: 12.2rem 0rem 0rem;}
#contentseventlst .inner-Box h2{font-size: 1.6rem;line-height: 2.0;letter-spacing: 0.05em;font-weight: 700;text-align: left;color: #333;}
#contentseventlst .inner-Box p.subttl{font-size: 1.6rem;line-height: 2.0;letter-spacing: 0.05em;font-weight: 400;text-align: left;margin-bottom: 5.4rem;}

#contentseventlst .inner-Box .event-li{display:grid;grid-template-columns:repeat(3,1fr);column-gap:2.666%;row-gap: 6.4rem;margin-bottom: 5.4rem;}
#contentseventlst .inner-Box .event-li .event-card{width:100%;position: relative;padding-bottom: 7rem;}
#contentseventlst .inner-Box .event-li .event-item{list-style:none;}
#contentseventlst .inner-Box .event-li .event-card{height:100%;}
#contentseventlst .event-card__image-wrapper {width: 100%;aspect-ratio: 1 / 1;overflow: hidden;text-align: center;margin-bottom: 1.6rem;position: relative;}
#contentseventlst .event-card__image-wrapper img { width: 100%; height: 100%; object-fit: cover; display: block; }
#contentseventlst .inner-Box .event-li .event-card__meta{font-size: 1.1rem;line-height: 1.0;letter-spacing: 0em;font-weight: 400;text-align: left;margin-bottom: 0.8rem;display: flex;flex-wrap: wrap;align-items: center;justify-content: flex-start;gap: 0.5rem;}
#contentseventlst .inner-Box .event-li .event-card__meta span{background: #fff;border: 1px solid var(--main-blue);padding: 0.8rem;margin: 0 0rem 0.5rem 0rem;display: inline-block;}

#contentseventlst .text-Box {}
#contentseventlst .catetext {font-size: 1.1rem;line-height: 1;letter-spacing: 0em;font-weight: 400;text-align: left;margin-bottom: 1rem;}
#contentseventlst .catetext span {display: inline-block;padding: 0.8rem;border:  1px solid var(--main-blue);margin: 0 0.5rem 0.5rem 0;}
#contentseventlst .systtl { font-size: 1.6rem; line-height: 1.6; letter-spacing: 0.05em; font-weight: 700; text-align: left; color: #333; }
#contentseventlst .gl-btn-nolink { position: absolute; bottom: 0; left: 0; }

#view-detail{margin: 0 auto 0;max-width: 104rem;padding: 16.1rem 5vw 0 calc(5rem + 5vw);}
.confirm_area.active .event-available-datetime {display:none;}
.wpcf7 .wpcf7-response-output.wpcf7-validation-errors, .wpcf7-response-output.wpcf7-validation-errors, form.wpcf7-form .wpcf7-response-output.wpcf7-validation-errors { display: none !important; visibility: hidden !important; opacity: 0 !important; height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; }
.wpcf7 .wpcf7-response-output.wpcf7-mail-sent-ok { display: none !important; }
.wpcf7 .confirm_area.active ~ .wpcf7-response-output.wpcf7-mail-sent-ok, .wpcf7 .confirm_area.active + .wpcf7-response-output.wpcf7-mail-sent-ok { display: none !important; }
.wpcf7 .wpcf7-not-valid-tip { display: block; font-size: 1.2rem; color: #ef4444; margin-top: 0.4rem; }
.wpcf7 .wpcf7-response-output.wpcf7-mail-sent-ok { display: none !important; }
.wpcf7 .confirm_area.active ~ .wpcf7-response-output.wpcf7-mail-sent-ok { display: none !important; }
.wpcf7 .input_area.hidden, .wpcf7 .confirm_area.hidden { display: none !important; }
.wpcf7 .input_area.active, .wpcf7 .confirm_area.active { display: block !important; }
.wpcf7 .confirm_button { padding-top: 0rem; }
.wpcf7 .confirm_button:hover { }
.wpcf7 .confirm_button:active { }
/* 確認画面のスタイル */
.wpcf7 .confirm_area { margin-top: 3.2rem; padding: 3.2rem; background: var(--gray-50); border-radius: 0.8rem; display: none; }
.wpcf7 .confirm_area.active { display: block; }
.wpcf7 .confirm_area .reservation-header { margin-bottom: 3rem; }
.wpcf7 .confirm_area .reservation-header__subtitle { margin-top: 1.6rem; font-size: 1rem; color: var(--gray-400); letter-spacing: 0.4em; text-transform: uppercase; font-weight: 700; }
.wpcf7 .confirm_area #confirm-display { margin-bottom: 3rem; }
.wpcf7 .confirm_area .confirm-item { margin-bottom: 1.6rem; }
.wpcf7 .confirm_area .confirm-label {font-size: 1.6rem;font-weight: 700;color: var(--gray-400);text-transform: uppercase;margin-bottom: 0.2rem;display: block;}
.wpcf7 .confirm_area .confirm-value { font-size: 1.4rem; color: var(--gray-900); padding-bottom: 1.2rem; border-bottom: 1px solid var(--gray-100); margin-bottom: 1.6rem; display: block; }
.wpcf7 .confirm_area .wpcf7-form-group--buttons { display: flex; flex-direction: column; gap: 1.6rem; margin-top: 3.2rem; }
.wpcf7 .confirm_area .btn-back-to-input, .wpcf7 .confirm_area .back_button { }
.wpcf7 .confirm_area .btn-back-to-input:hover, .wpcf7 .confirm_area .back_button:hover { }
/* 確認画面のボタンエリア */ 
.wpcf7 .confirm_area.clearfix { margin-top: 3.2rem; display: flex; flex-direction: column; gap: 1.6rem; }
.wpcf7 .confirm_area #send_area {width: 100%;margin: 0;}
.wpcf7 .confirm_area #send_button { }
.wpcf7 .confirm_area #send_button:hover { }
.wpcf7 .confirm_area #send_button:active { }
.wpcf7 .confirm_area #back_area { width: 100%; text-align: center; }
.wpcf7 .confirm_area #back_button {width: 100%;padding-top: 0;text-align: right;}
.wpcf7 .confirm_area #back_button:hover { }
.wpcf7 .confirm_area #back_button .arr { }
.wpcf7 .confirm_area #back_button .arr::after { }
.wpcf7 .thanks_area { margin-top: 3.2rem; padding: 4rem 1.6rem; text-align: center; background: var(--gray-50); border-radius: 0.8rem; }
.wpcf7 .thanks_area .complete-icon { width: 6.4rem; height: 6.4rem; background: var(--gray-900); color: var(--white); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 3.2rem; box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.1); }
.wpcf7 .thanks_area h2 { font-size: clamp(2rem, 4vw, 2.4rem); margin-bottom: 1.6rem; color: var(--gray-900); }
.wpcf7 .thanks_area p { font-size: 1.4rem; color: var(--gray-600); line-height: 2; margin-bottom: 3.2rem; }

#reservation{background: #fff;margin: 0 auto 0;padding: 16.1rem 5vw 14rem calc(5rem + 5vw);}

.event-card__meta { color: var(--main-blue); font-size: 1.1rem;line-height: 1;letter-spacing: 0em;font-weight: 400;text-align: left;margin-bottom: 1rem;}
.event-card__meta span.event-card__badge {display: inline-block;padding: 0.8rem;border:  1px solid var(--main-blue);margin: 0 0.8rem 0.5rem 0;background: #fff;color: var(--main-blue);}
.detail-hero{ margin-bottom: 5.6rem;}
.detail-hero h1{color: var(--main-blue);font-size: 3.0rem;line-height: 1.5;letter-spacing: 0.05em;font-weight: 700;text-align: left;margin-bottom: 3.2rem;}
.detail-hero figure{}
.detail-hero figure img{ width: 100%; height: auto;}

#overview .detail-section__title::before{content: "";display: block;width: 0.8rem;height: 0.8rem;border: var(--main-blue) 2px solid;border-radius: 50%;position: absolute;top: 1.1rem;left: 0;}
#overview .detail-section__title {font-size: 2rem;line-height: 1.5;font-weight: 700;padding-left: 2rem;position: relative;margin-bottom: 1.6rem;text-align: left;}

#overview table{max-width: 800px;width: 100%;margin: 0 auto 5.6rem;border-top: #CCC 1px solid;font-size: 1.6rem;line-height: 1.5;letter-spacing: 0.05em;font-weight: 400;text-align: left;}
#overview table th{font-weight: 700;background: #E2E5EA;border-bottom: #CCC 1px solid;padding: 1.6rem 2rem;width: 25%;}
#overview table td{background: #fff;border-bottom: #CCC 1px solid;padding: 1.6rem 2rem;}
.gl-btn a{text-align: center!important;padding-left: 0;margin-bottom: 8rem;}
.gl-btn a .arr img{transform: rotate(90deg);transform-origin: center;top: 2.8rem;}

#concept{ padding-bottom: 16rem;}
#concept .detail-content .kh-accordion{ margin: 0 0;}

#step-input{ width: 64rem; margin: 0 auto; }
#step-input .event-arr{ display: block; text-align: center; }
#step-input .reservation-header__subtitle{ color: var(--main-blue); font-size: 2.8rem; line-height: 1.8; letter-spacing: 0.05em; font-weight: 700; text-align: center;}

.reservation-note{ }
.reservation-note__headline{font-size: 1.8rem;line-height: 1.8;letter-spacing: 0.05em;font-weight: 700;text-align: center;margin-bottom: 3.2rem;}
.reservation-note__list{background: #F0F1F3;margin: 0 auto 3.2rem;padding: 2.4rem;max-width: 64rem;}
.reservation-note__list li{font-size: 1.4rem; line-height: 1.2; letter-spacing: 0.05em; margin-bottom: 1.6rem; font-weight: 400; text-align: left; }
.reservation-note__list li:last-child{ margin-bottom: 0; }
.detail-section__title{font-size: 1.6rem;line-height: 1.2;letter-spacing: 0.05em;font-weight: 400;text-align: center;margin-bottom: 3rem;}
#event-floating-cta{display: none!important;}

.wpcf7-form-control--date{ width: 49%!important; margin-right: 2%; background: url(../images/common/form-cal.svg)no-repeat right top #fff!important; background-size: auto 100%!important;}
#preferred_time_1, #preferred_time_2{width: 48%!important;}
.ftext{font-size: 1.6rem;line-height: 1.2;letter-spacing: 0.05em;font-weight: 400;text-align: left;margin-bottom: 3rem;}
.ftext span{ color: #FF0000; }
.wpcf7-label{position: relative;font-size: 1.6rem;line-height: 1.5;letter-spacing: 0.05em;font-weight: 700;text-align: left;margin-bottom: 0.8rem;display: inline-block;padding-left: 1rem;}
.wpcf7-label span{ color: #f00; position: absolute; top: 0; left: 0; }
.event-available-datetime__item,.wpcf7-form-group--field{margin-bottom: 3.2rem;}
.privacy-notice{font-size: 1.2rem;line-height: 1.5;letter-spacing: 0.05em;font-weight: 400;text-align: center;margin-top: 2.4rem;}
.privacy-notice a{ color: #333; text-decoration: underline;}

}
@media screen and (min-width:768px) and ( max-width:1023px) {
#contentsmain,#contents01,#contents-vr,#contents-access,#contents-dl,#contents-gallery,
#contentseventlst{margin-left: 0rem!important;}
#view-detail{ padding-left: 5vw;}

	
}

@media screen and (max-width: 767px) {

    #contentseventlst{padding-bottom: 10.67vw;}
#contentseventlst .inner-Box{margin: 0 4vw;padding: 11.23vw 0vw 0vw;}
#contentseventlst .inner-Box h2{color: #333;font-size: 3.73vw;line-height: 1.5;letter-spacing: 0.05em;font-weight: 700;text-align: left;}
#contentseventlst .inner-Box p.subttl{font-size: 4.27vw;line-height: 2.0;letter-spacing: 0.05em;font-weight: 400;text-align: left;margin-bottom: 5.6vw;}

#contentseventlst .inner-Box .event-li{margin-bottom: 14.40vw;}

#contentseventlst .inner-Box .event-li .event-item{list-style:none;border: 1px solid #CCCCCC;background: #fff;margin-bottom: 2.6vw;}
#contentseventlst .inner-Box .event-li .event-card{display:flex;gap:3.1%;position:relative;width:100%;padding-bottom:16.80vw;border:1px solid #CCCCCC;background:#fff;padding: 2.8vw 2.8vw 14.4vw;}
#contentseventlst .inner-Box .event-li .event-card__image-wrapper{width:29.72%;} /* 96 ÷ 323 */
#contentseventlst .inner-Box .event-li .event-card__content{width:67.18%;padding: 1vw 0 0;} /* 217 ÷ 323 */

#contentseventlst .event-card__image-wrapper {width: 100%;aspect-ratio: 1 / 1;overflow: hidden;text-align: center;/* margin-bottom: 4.27vw; */position: relative;}
#contentseventlst .event-card__image-wrapper img { width: 100%; height: 100%; object-fit: cover; display: block; }
#contentseventlst .inner-Box .event-li .event-card__meta{font-size: 2.93vw;line-height: 1.0;letter-spacing: 0em;font-weight: 400;text-align: left;margin-bottom: 2.13vw;display: flex;flex-wrap: wrap;align-items: center;justify-content: flex-start;gap: 1.33vw;}
#contentseventlst .inner-Box .event-li .event-card__meta span{background: #fff;border: 0.27vw solid var(--main-blue);padding: 2.13vw;margin: 0 0vw 1.33vw 0vw;display: inline-block;}
#contentseventlst .inner-Box .event-card__title span{  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }

#contentseventlst .text-Box {}
#contentseventlst .catetext {font-size: 2.93vw;line-height: 1;letter-spacing: 0em;font-weight: 400;text-align: left;margin-bottom: 2.67vw;}
#contentseventlst .catetext span {display: inline-block;padding: 2.13vw;border:  0.27vw solid var(--main-blue);margin: 0 2.13vw 1.33vw 0;}
#contentseventlst .systtl { font-size: 4.27vw; line-height: 1.6; letter-spacing: 0.05em; font-weight: 700; text-align: left; color: #333; }
#contentseventlst .gl-btn-nolink {position: absolute;bottom: 2.8vw;left: 2.9vw;width: 86vw;padding-top: 3.4vw;font-size: 3.47vw;line-height: 1.0;letter-spacing: 0.05em;font-weight: 700;text-align: center;}

#view-detail{margin: 0 auto 0;padding: 8.4vw 4.4vw 4.4vw;}
.confirm_area.active .event-available-datetime {display:none;}
.wpcf7 .wpcf7-response-output.wpcf7-validation-errors, .wpcf7-response-output.wpcf7-validation-errors, form.wpcf7-form .wpcf7-response-output.wpcf7-validation-errors { display: none !important; visibility: hidden !important; opacity: 0 !important; height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; }
.wpcf7 .wpcf7-response-output.wpcf7-mail-sent-ok { display: none !important; }
.wpcf7 .confirm_area.active ~ .wpcf7-response-output.wpcf7-mail-sent-ok, .wpcf7 .confirm_area.active + .wpcf7-response-output.wpcf7-mail-sent-ok { display: none !important; }
.wpcf7 .wpcf7-not-valid-tip { display: block; font-size: 3.2vw; color: #ef4444; margin-top: 1.07vw; }
.wpcf7 .wpcf7-response-output.wpcf7-mail-sent-ok { display: none !important; }
.wpcf7 .confirm_area.active ~ .wpcf7-response-output.wpcf7-mail-sent-ok { display: none !important; }
.wpcf7 .input_area.hidden, .wpcf7 .confirm_area.hidden { display: none !important; }
.wpcf7 .input_area.active, .wpcf7 .confirm_area.active { display: block !important; }
.wpcf7 .confirm_button { padding-top: 0vw; }
.wpcf7 .confirm_button:hover { }
.wpcf7 .confirm_button:active { }
/* 確認画面のスタイル */
.wpcf7 .confirm_area { margin-top: 8.53vw; padding: 8.53vw; background: var(--gray-50); border-radius: 2.13vw; display: none; }
.wpcf7 .confirm_area.active { display: block; }
.wpcf7 .confirm_area .reservation-header { margin-bottom: 8.00vw; }
.wpcf7 .confirm_area .reservation-header__subtitle { margin-top: 4.27vw; font-size: 2.67vw; color: var(--gray-400); letter-spacing: 0.4em; text-transform: uppercase; font-weight: 700; }
.wpcf7 .confirm_area #confirm-display { margin-bottom: 8.00vw; }
.wpcf7 .confirm_area .confirm-item { margin-bottom: 4.27vw; }
.wpcf7 .confirm_area .confirm-label {font-size: 4.27vw;font-weight: 700;color: var(--gray-400);text-transform: uppercase;margin-bottom: 0.53vw;display: block;}
.wpcf7 .confirm_area .confirm-value { font-size: 3.73vw; color: var(--gray-900); padding-bottom: 3.20vw; border-bottom: 0.27vw solid var(--gray-100); margin-bottom: 4.27vw; display: block; }
.wpcf7 .confirm_area .wpcf7-form-group--buttons { display: flex; flex-direction: column; gap: 4.27vw; margin-top: 8.53vw; }
.wpcf7 .confirm_area .btn-back-to-input, .wpcf7 .confirm_area .back_button { }
.wpcf7 .confirm_area .btn-back-to-input:hover, .wpcf7 .confirm_area .back_button:hover { }
/* 確認画面のボタンエリア */ 
.wpcf7 .confirm_area.clearfix { margin-top: 8.53vw; display: flex; flex-direction: column; gap: 4.27vw; }
.wpcf7 .confirm_area #send_area {width: 100%;margin: 0;}
.wpcf7 .confirm_area #send_button { }
.wpcf7 .confirm_area #send_button:hover { }
.wpcf7 .confirm_area #send_button:active { }
.wpcf7 .confirm_area #back_area { width: 100%; text-align: center; }
.wpcf7 .confirm_area #back_button {width: 100%;padding-top: 0;text-align: right;}
.wpcf7 .confirm_area #back_button:hover { }
.wpcf7 .confirm_area #back_button .arr { }
.wpcf7 .confirm_area #back_button .arr::after { }
.wpcf7 .thanks_area { margin-top: 8.53vw; padding: 10.67vw 4.27vw; text-align: center; background: var(--gray-50); border-radius: 2.13vw; }
.wpcf7 .thanks_area .complete-icon { width: 17.07vw; height: 17.07vw; background: var(--gray-900); color: var(--white); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 8.53vw; box-shadow: 0 2.67vw 5.33vw rgba(0, 0, 0, 0.1); }
.wpcf7 .thanks_area h2 { font-size: clamp(2rem, 4vw, 2.4rem); margin-bottom: 4.27vw; color: var(--gray-900); }
.wpcf7 .thanks_area p { font-size: 3.73vw; color: var(--gray-600); line-height: 2; margin-bottom: 8.53vw; }

#reservation{background: #fff;margin: 0 auto 0;padding: 9.93vw 3.8vw;}

.event-card__meta { color: var(--main-blue); font-size: 2.93vw;line-height: 1;letter-spacing: 0em;font-weight: 400;text-align: left;margin-bottom: 2.67vw;}
.event-card__meta span.event-card__badge {display: inline-block;padding: 2.13vw;border:  0.27vw solid var(--main-blue);margin: 0 2.13vw 1.33vw 0;background: #fff;color: var(--main-blue);}
.detail-hero{margin-bottom: 6.93vw;}
.detail-hero h1{color: var(--main-blue);margin-bottom: 6.23vw;font-size: 5.87vw;line-height: 1.5;letter-spacing: 0.05em;font-weight: 700;text-align: left;}
.detail-hero figure{}
.detail-hero figure img{ width: 100%; height: auto;}

#overview .detail-section__title::before{content: "";display: block;width: 2.13vw;height: 2.13vw;border: var(--main-blue) 0.53vw solid;border-radius: 50%;position: absolute;top: 2.93vw;left: 0;}
#overview .detail-section__title {font-size: 5.33vw;line-height: 1.5;font-weight: 700;padding-left: 5.33vw;position: relative;margin-bottom: 4.27vw;text-align: left;}

#overview table{width: 100%;margin: 0 auto 8.83vw;border-top: #CCC 0.27vw solid;font-size: 3.73vw;line-height: 1.5;letter-spacing: 0.02em;font-weight: 400;text-align: left;}
#overview table th{font-weight: 700;background: #E2E5EA;border-bottom: #CCC 0.27vw solid;padding: 2.57vw 2.43vw;width: 22%;}
#overview table td{background: #fff;border-bottom: #CCC 0.27vw solid;padding: 2.57vw 2.43vw;}
.gl-btn a{text-align: center!important;padding-left: 0;margin-bottom: 14.93vw;}
.gl-btn a .arr img{transform: rotate(90deg);transform-origin: center;top: 6.37vw;right: 4.8vw;}

#concept{padding-bottom: 12.67vw;}
#concept .detail-content .kh-accordion{ margin: 0 0;}
#concept .kh-property-table{width: 79vw;}
#concept .kh-property-table td{}

#step-input{}
#step-input .event-arr{display: block;text-align: center;margin: 0 42.6vw 2.3vw 41.7vw;}
#step-input .reservation-header__subtitle{color: var(--main-blue);font-size: 6.13vw;line-height: 1.6;letter-spacing: 0.05em;font-weight: 700;text-align: center;}

.reservation-note{ }
.reservation-note__headline{font-size: 4.8vw;line-height: 1.8;letter-spacing: 0.05em;font-weight: 700;text-align: center;margin-bottom: 8.53vw;}
.reservation-note__list{background: #F0F1F3;margin: 0 auto 8.53vw;padding: 6.40vw;max-width: 170.67vw;}
.reservation-note__list li{font-size: 3.73vw; line-height: 1.2; letter-spacing: 0.05em; margin-bottom: 4.27vw; font-weight: 400; text-align: left; }
.reservation-note__list li:last-child{ margin-bottom: 0; }
.detail-section__title{font-size: 4.27vw;line-height: 1.2;letter-spacing: 0.05em;font-weight: 400;text-align: center;margin-bottom: 8.00vw;}
#event-floating-cta{display: none!important;}
#event #send_button,.wpcf7 .confirm_area #back_button{margin: 0 -10vw;width: 77vw;text-align: center;}
#event #send_area::before{right: -4vw;top: 6.6vw;}
#event .back_button span.arr::before{content: "";background: var(--main-blue);display: block;width: 1px;height: 3.4vw;position: absolute;top: 107%;transform: translateY(-50%);right: 4.7vw;z-index: 100;}

.wpcf7-form-control--date{background: url(../images/common/form-cal.svg)no-repeat right top #fff!important;background-size: auto 100%!important;}
#preferred_time_1, #preferred_time_2{padding: 4.3vw;/* color: #ccc; */font-size: 4.2vw;}
.ftext{font-size: 4.27vw;line-height: 1.2;letter-spacing: 0.05em;font-weight: 400;text-align: left;margin-bottom: 8.00vw;}
.ftext span{ color: #FF0000; }
.wpcf7-label{position: relative;font-size: 4.27vw;line-height: 1.5;letter-spacing: 0.05em;font-weight: 700;text-align: left;margin-bottom: 2.13vw;display: inline-block;padding-left: 2.67vw;}
.wpcf7-label span{ color: #f00; position: absolute; top: 0; left: 0; }
.event-available-datetime__item,.wpcf7-form-group--field{margin-bottom: 8.53vw;}
.privacy-notice{font-size: 3.2vw;line-height: 1.5;letter-spacing: 0.05em;font-weight: 400;text-align: center;margin-top: 6.40vw;}
.privacy-notice a{ color: #333; text-decoration: underline;}

}


/* =========================================================
   イベントCTA（MV直下の固定CTA & 本文中間CTA 共通デザイン）
   - 固定CTA・中間CTAは同一マークアップ（.gl-btn > a.btn-orange ＋矢印）で統一
   - 背景色は CSS変数 --event-cta-color で一括変更
     （管理画面「CTAボタン → ボタンの色」で設定。未設定時は従来のブランドグラデーション）
   ========================================================= */
:root {
    --event-cta-grad: linear-gradient(90deg, var(--btn-grad-start) 0%, var(--btn-grad-end) 50%, var(--btn-grad-start) 100%);
}

/* 固定CTA・中間CTA（.gl-btn 内）：レイアウト/矢印は既存の .gl-btn を踏襲し、背景色だけ変数で指定 */
.gl-btn a.btn-orange {
    background: var(--event-cta-color, var(--event-cta-grad));
    background-size: 200% 100%;
    background-position: 0% center;
    border-radius: 9999px;
    box-shadow: 0 0.5rem 0 color-mix(in srgb, var(--event-cta-color, #333FA1) 78%, #000),
                0 1rem 1.5rem rgba(0, 0, 0, 0.12);
}
.gl-btn a.btn-orange:hover {
    background: var(--event-cta-color, var(--event-cta-grad));
    background-size: 200% 100%;
    background-position: 100% center;
}

/* .gl-btn を使わない btn-orange（予約セクションの外部リンクボタン等）も同色のピルに */
.detail-cta {
    margin-bottom: 5rem;
    padding: 0 1.6rem;
    display: flex;
    justify-content: center;
    align-items: center;
}
.detail-cta a.btn-orange {
    background: var(--event-cta-color, var(--event-cta-grad));
    background-size: 200% 100%;
    box-shadow: 0 0.5rem 0 color-mix(in srgb, var(--event-cta-color, #333FA1) 78%, #000),
                0 1rem 1.5rem rgba(0, 0, 0, 0.1);
    transition: all 0.1s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 50rem;
    color: #fff;
    padding: 2.4rem;
    border-radius: 9999px;
    font-weight: 700;
    text-decoration: none;
    font-size: 1.6rem;
    letter-spacing: 0.2em;
    border: none;
    cursor: pointer;
    margin: 0 auto;
}
.detail-cta a.btn-orange span {
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.2em;
}
.detail-cta a.btn-orange:active {
    transform: translateY(2px);
}

/* 本文中にショートコード（[event_cta_1] 等）で設置したCTAは上下に余白をとる。
   固定CTA（MV直下）はこのクラスが付かないため影響しない。
   余白の値はここで調整可能（PC: rem / SP: vw）。 */
.gl-btn--in-content {
    padding-top: 6rem;
    padding-bottom: 6rem;
}
.gl-btn--in-content a.btn-orange {
    margin-bottom: 0; /* .gl-btn a の下マージンを打ち消し、上下を均等にする */
}
@media (max-width: 767px) {
    .gl-btn--in-content {
        padding-top: 10vw;
        padding-bottom: 10vw;
    }
}