.event_mid{
	width:100%;
	margin-bottom:3rem;
}
.event_mid span{
	display:block;
	font-size:14px;
	text-align: right;
}
.event_mid p{
	border-top:1px solid #CCC;
	position: relative;
	font-size:36px;
}
.event_mid p::before{
	content:"";
	position: absolute;
	top:-1.25px;
	left: 0;
	width:80px;
	height: 2px;
	background: #000;
}
.event_mid2{
	width:100%;
	border-top:1px solid #CCC;
	position: relative;
	margin-bottom:3rem;
}
.event_mid2::before{
	content:"";
	position: absolute;
	top:-1.25px;
	left: 0;
	width:80px;
	height: 2px;
	background: #000;
}
.event_mid2 span{
	display:block;
	font-size:18px;
}
.event_mid2 p{
	font-size:36px;
	line-height: 36px;
}

.ev_inner{
	width:min(100%,1200px);
	margin:0 auto;
}
#ev_pa01,#ev_pa02,#ev_pa03,#ev_pa04{
	padding:5rem 5%;
}
.pa01_box,.pa02_box,.pa03_box,.pa04_box{
	line-height: 2rem;
}
.pa01_box p,.pa02_box p,.pa03_box p,.pa04_box p{
	line-height: 2rem;
}

.pa01_box{
	display: grid;
	gap:3rem;
	grid-template-columns: repeat(2, 1fr);
}
.pa01_box .l dl{
	display: flex;
	justify-content:flex-start;
	align-items: center;
	padding:0.5rem 0;
	border-bottom:1px solid #CCC;
}
.pa01_box .l dl:nth-of-type(1){
	padding: 0 0 0.5rem;
}
.pa01_box .l dt{
	width:100px;
}
.pa01_box .l dd{
	width:calc(100% - 100px);
}
.pa01_box .l .edi{
	margin-top:1.5rem;
}
.pa01_box .l .linebtn{
	margin-top:1.5rem;
}
.pa01_box .l .linebtn a{
	background:#06C755;
	display: inline-block;
	padding:0.5rem 1rem;
	display: flex;
	justify-content:space-between;
	align-items: center;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
}
.pa01_box .l .linebtn a:hover{
	background: #47D682;
}
.pa01_box .l .linebtn a img:nth-of-type(1){
	width:35%;
}

.pa01_box .r iframe{
	width:100%;
	height:100%;
}

.pa03_box,.pa04_box{
	display: grid;
	gap:3rem;
	grid-template-columns: repeat(2, 1fr);
}

#nobelty{
	width:100%;
	padding:5rem 5%;
	background: #000;
}
#nobelty h2{
	color:#FFF;
	margin-bottom: 3rem;
	font-size: 36px;
}
#nobelty h2 span{
	display:block;
	font-size: 18px;
	margin-top: 0.5rem;
}
#nobelty ul{
	display: grid;
	gap:1.5rem;
	grid-template-columns: repeat(3, 1fr);
}
#nobelty p{
	text-align: center;
	margin-top:3rem;
	color:#FFF;
}
#reservation{
	width:100%;
	padding:5rem 5%;
}
#reservation h2{
	margin-bottom: 3rem;
	font-size: 36px;
}
#reservation h2 span{
	display:block;
	font-size: 18px;
	margin-top: 0.5rem;
}
#reservation ul{
	display: grid;
	gap:1.5rem;
	grid-template-columns: repeat(4, 1fr);
}
#reservation p{
	margin-bottom:3rem;
}
#reservation .linebtn{
	margin-top:3rem;
}
#reservation .linebtn a{
	background:#06C755;
	display: block;
	width:min(100%,650px);
	margin:0 auto;
	padding:0.5rem 1rem;
	display: flex;
	justify-content:space-between;
	align-items: center;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
}
#reservation .linebtn a:hover{
	background: #47D682;
}
#reservation .linebtn a img:nth-of-type(1){
	width:35%;
}


/* --- スライダー最終FIX版 CSS (Overflow Trick版) --- */

/* スライダー全体を囲むラッパー（これが「窓」の役割を果たす） */
.retrique-slider-wrapper {
    position: relative;
    width: 100%;
    margin: 60px auto;
    /* ★★★ これが「見切れ」を実現するための最重要設定 ★★★ */
    /* ラッパーからはみ出したスライドを隠す */
    overflow: hidden;
}

/* Swiper本体（スライドを載せた、幅の広い「フィルム」の役割） */
.retrique-slider-wrapper .swiper {
    /* ★★★ これも最重要設定 ★★★ */
    /* 左右に100pxずつはみ出させ、隠れたスライドを「窓」の中に引き込む */
    margin-left: -100px;
    margin-right: -100px;
    overflow: visible !important; /* Swiperの必須設定 */
}

/* 各スライド */
.retrique-slider-wrapper .swiper-slide {
    height: auto !important;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}
.retrique-slider-wrapper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* --- ナビゲーションボタン（位置とデザインをお手本通りに） --- */
.retrique-slider-wrapper .swiper-button-prev,
.retrique-slider-wrapper .swiper-button-next {
    position: absolute !important;
    top: calc(100% + 20px) !important; /* スライダーの下に配置 */
    transform: none !important;
    z-index: 20 !important;
    width: 48px !important;
    height: 48px !important;
    background-color: #fff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 50% !important;
    margin: 0 !important;
    transition: background-color 0.3s ease;
}

/* 右下に隣接して配置 */
.retrique-slider-wrapper .swiper-button-prev {
    right: 60px !important;
    left: auto !important;
}
.retrique-slider-wrapper .swiper-button-next {
    right: 0 !important;
    left: auto !important;
}

/* スマホでは非表示 */
@media (max-width: 768px) {
    .retrique-slider-wrapper .swiper-button-prev,
    .retrique-slider-wrapper .swiper-button-next { display: none !important; }
    .retrique-slider-wrapper .swiper { margin-left: 0 !important; margin-right: 0 !important; }
}

/* アイコン設定 */
.retrique-slider-wrapper .swiper-button-prev::after,
.retrique-slider-wrapper .swiper-button-next::after { content: '' !important; }
.retrique-slider-wrapper .swiper-button-prev { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333333' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'%3E%3C/polyline%3E%3C/svg%3E") !important; background-size: 14px !important; background-position: center !important; background-repeat: no-repeat !important; }
.retrique-slider-wrapper .swiper-button-next { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333333' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E") !important; background-size: 14px !important; background-position: center !important; background-repeat: no-repeat !important; }



/* ---【追加】5枚表示スライダー用のCSS --- */

/* 5枚表示用のラッパー */
.retrique-slider-wrapper-5 {
    position: relative;
    width: 100%;
    margin: 60px auto;
    /* 5枚表示用に、はみ出しを隠す「窓」を少し広げる */
    padding: 0 40px; 
    box-sizing: border-box;
}

/* 5枚表示用のSwiper本体 */
.retrique-slider-wrapper-5 .swiper {
    overflow: visible !important;
}

/* 5枚表示用の各スライド */
.retrique-slider-wrapper-5 .swiper-slide {
    height: auto !important;
    aspect-ratio: 16 / 10;

    overflow: hidden;
}
.retrique-slider-wrapper-5 .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* --- 5枚表示用のナビゲーションボタン --- */
.retrique-slider-wrapper-5 .swiper-button-prev,
.retrique-slider-wrapper-5 .swiper-button-next {
    position: absolute !important;
    top: calc(100% + 20px) !important;
    transform: none !important;
    z-index: 20 !important;
    width: 48px !important;
    height: 48px !important;
    background-color: #fff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 50% !important;
    margin: 0 !important;
    transition: background-color 0.3s ease;
}

/* 右下に隣接して配置 */
.retrique-slider-wrapper-5 .swiper-button-prev {
    right: 100px !important; /* 位置を調整 */
    left: auto !important;
}
.retrique-slider-wrapper-5 .swiper-button-next {
    right: 40px !important; /* 位置を調整 */
    left: auto !important;
}

/* スマホでは非表示 */
@media (max-width: 768px) {
    .retrique-slider-wrapper-5 .swiper-button-prev,
    .retrique-slider-wrapper-5 .swiper-button-next { display: none !important; }
}

/* アイコン設定 */
.retrique-slider-wrapper-5 .swiper-button-prev::after,
.retrique-slider-wrapper-5 .swiper-button-next::after { content: '' !important; }
.retrique-slider-wrapper-5 .swiper-button-prev { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333333' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'%3E%3C/polyline%3E%3C/svg%3E") !important; background-size: 14px !important; background-position: center !important; background-repeat: no-repeat !important; }
.retrique-slider-wrapper-5 .swiper-button-next { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333333' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E") !important; background-size: 14px !important; background-position: center !important; background-repeat: no-repeat !important; }



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

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

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

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

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

}
@media screen and (max-width: 1080px) {
.pa01_box {
  gap: 3rem;
  grid-template-columns: repeat(1, 1fr);
}
.pa01_box .r iframe {
  width: 100%;
  height: 300px;
}
}
@media screen and (max-width: 660px) {
#ev_pa01, #ev_pa02, #ev_pa03, #ev_pa04 {
  padding: 3rem 5%;
}
.event_mid p {
  font-size: 20px;
  line-height: 40px;
}
.event_mid span {
  font-size: 9px;
}
.event_mid {
  margin-bottom: 2rem;
}
.pa01_box .l dt {
  width: 80px;
}
.pa01_box .l .linebtn a img:nth-of-type(1) {
  width: 170px;
}
.retrique-slider-wrapper-5 {
  margin: 0 auto;
}
.retrique-slider-wrapper {
  margin: 0 auto;
}
.pa03_box, .pa04_box {
  gap: 1rem;
  grid-template-columns: repeat(1, 1fr);
}
#nobelty {
  padding: 3rem 5%;
}
#nobelty h2,#reservation h2{
  margin-bottom: 2rem;
  font-size: 12px;
}
#nobelty h2 span,#reservation h2 span {
  font-size: 20px;
  margin-top: 0;
}
#nobelty ul {
  grid-template-columns: repeat(1, 1fr);
}
#nobelty p {
  margin-top: 2rem;
}
#reservation {
  padding: 3rem 5%;
}
#reservation p {
  margin-bottom: 2rem;
}
#reservation ul {
  gap: 1.5rem 0.5rem;
  grid-template-columns: repeat(2, 1fr);
}
#reservation .linebtn {
  margin-top: 1rem;
}
.pa01_box, .pa02_box, .pa03_box, .pa04_box {
  line-height: 1.6rem;
}
.pa01_box p, .pa02_box p, .pa03_box p, .pa04_box p {
  line-height: 1.6rem;
}
.pa01_box .l dl {
  font-size: 14px;
}
}





