@charset "utf-8";

:root{
	--purple: #662d91;
	--red: #9e005d;
	--blue: #004381;
}
.purple{ background: var(--purple); }
.red{ background: var(--red); }
.blue{ background: var(--blue); }

body{ min-width: 1330px; margin: 0 auto; font-weight: 700; }
.inner{ width: 1000px; padding: 0 50px; margin: 0 auto; box-sizing: content-box; }
.s-inner{ width: 770px; margin: 0 auto; box-sizing: border-box; }

.main-ttl{ width: 480px; margin: 0 auto 40px; }
.main-ttl img{ width: 100%; height: auto; filter: drop-shadow(0px 0px 15px rgba(0,0,0,0.2)); }


/* ---------------------------------------------------------------------------------------- header */
header{ min-width: 1330px; margin: 0 auto; padding: 10px 10px 15px; background: #fff;position: fixed; width: 100%; top: 0px; z-index: 100;}
.header-wrapper{ display: flex; align-items: center; justify-content: space-between; width: 68%; max-width: 1250px; margin: 0 auto; }
.header-logo{ width: 220px; }
.header-logo img{ width: 100%; height: auto; }

.header-nav{ width: 40%; text-align: right; }
.header-nav a{ padding: 0 10px; font-size: 19px; font-weight: 500; }




/* ---------------------------------------------------------------------------------------- fv */
#fv{ padding: 64px 0 0; }
#fv img{width: 100%; height: auto;}
#fv p{ width: 620px; margin: 0 auto; }


/* ---------------------------------------------------------------------------------------- about */
#about{ padding-bottom: 170px; background: #592277;   overflow: hidden;}
.about-bg{ padding: 0 0 85px; background: url(../images/bg_01.png?var=1234567865432) no-repeat center center; background-size: cover; }

.about-head{  position: relative; padding: 120px 0 40px; }
.about-head__bg{ position: absolute; left: 50%; transform: translate(-50%,0); top: 80px; text-align: center; }
.about-head__bg img{ width: 1900px; max-width: initial; height: auto; }

.about-head__ttl{ position: relative; z-index: 1; width: 800px; margin: 0 auto; padding-bottom: 180px; }
.about-head__txt{ position: relative; z-index: 1; width: 800px; margin: 0 auto; text-align: right; }
.about-head__txt img{ width: 180px; height: auto; }

.about-table { width: 100%; border-collapse: collapse; }
.about-table tr{ display: flex; align-items: flex-start; }
.about-table tr + tr{ margin-top: 20px; }
.about-table th{ display: flex; align-items: center; justify-content: center; width: 155px; height: 45px; margin-right: 18px; border-radius: 60px; background: #fff; color: var(--purple); font-size: 22px; line-height: 1; text-align: center; font-weight: 700; letter-spacing: 0.1rem; }
.about-table td{ width: calc(100% - 250px); color: #fff; font-weight: 700; }
.about-table strong{ font-size: 27px; line-height: 1.5; font-weight: 700; }

.about-table ul{ margin: 12px 0 0; }
.about-table li{ position: relative; padding: 15px 30px; font-size: 28px; border-bottom: 1px dashed #fff; display: flex; }
.about-table li:last-of-type{ border: none; }

.about-table li::before{ content: ""; position: absolute; left: 0; top: 52%; transform: translateY(-50%); width: 9px; height: 57%; border-radius: 4px; background: #c61e57; }
.about-table li:nth-child(2)::before{ background: var(--blue);height: 69%;}
.about-table li:nth-child(3)::before{ background: #99277d; }

.about-table li span{ font-weight: 700; font-size: 19px; vertical-align: top; display: block; line-height: 160%;}
.about-table li span:first-child{ display: inline-block; width: 105px; }

.about-head__bg { width: 100%; }

.about-head__bg .about-slide {display: flex; width: max-content; animation: aboutSlideLeft 40s linear infinite; }

.about-head__bg .box {position: relative; flex: 0 0 auto; width: 2000px; height: 976px; }

.about-head__bg .box img {position: absolute; display: block; pointer-events: none;}

/* 横スライド */
@keyframes aboutSlideLeft {
	0% {transform: translateX(0);}
	100% {transform: translateX(-50%);}
}

/* ふわふわ共通 */
@keyframes floatY01 {
	0%, 100% {transform: translateY(0);}
	50% {transform: translateY(-20px);}
}

@keyframes floatY02 {
	0%, 100% {transform: translateY(0);}
	50% {transform: translateY(25px);}
}

@keyframes floatY03 {
	0%, 100% {transform: translateY(0);	}
	50% {transform: translateY(-35px);}
}
.about-head__bg .img_1 {top: 10.2%; left: 84.3%; width: 22.98%; animation: floatY01 4s ease-in-out infinite; }
.about-head__bg .img_2 {bottom: 8%; left: 73.2%; width: 23.02%; animation: floatY02 5s ease-in-out infinite; }
.about-head__bg .img_3 { bottom: 4.71%; left: -5%; width: 25.08%; animation: floatY03 4.5s ease-in-out infinite;}
.about-head__bg .img_4 {bottom: 0.47%; left: 27.6%; width: 28.1%; animation: floatY01 5.5s ease-in-out infinite;}
.about-head__bg .img_5 { top: 16.16%; left: 11.8%; width: 24.62%;animation: floatY02 4.8s ease-in-out infinite;}
.about-head__bg .img_6 {top: 9.8%; left: 48.5%; width: 31.5%; animation: floatY03 6s ease-in-out infinite; z-index: 1;}

.about-head__bg .firework_1 {top: 4.4%; left: 73.1%; width: 11.7%; animation: floatY02 6s ease-in-out infinite; }
.about-head__bg .firework_2 {bottom: -3%; left: 62%; width: 14.6%; animation: floatY01 5.2s ease-in-out infinite; }
.about-head__bg .firework_3 {top: 0; left: 53%; width: 14%; animation: floatY03 6.5s ease-in-out infinite; z-index: 2;}

.about-head__bg .firework_4 {bottom: 11.7%; left: 23.4%; width: 13%; animation: floatY02 7s ease-in-out infinite; }
.about-head__bg .firework_5 {top: 29%; left: 38.5%; width: 13.7%; animation: floatY01 5.8s ease-in-out infinite;}
.about-head__bg .firework_6 {top: 9.6%; left: 9.5%; width: 15.8%; animation: floatY03 7.5s ease-in-out infinite; }

.about-body{padding: 539px 0 0;}
/* ---------------------------------------------------------------------------------------- contents */
#contents{ position: relative; z-index: 1; margin-top: -170px; }
#contents:before{ z-index: -1; content: ""; position: absolute; top: -230px; left: 0; width: 100%; height: 500px; background: url(../images/item_08.svg?var=1234567865432) left top/630px no-repeat, url(../images/item_09.svg?var=1234567865432) right top/630px no-repeat; }
#contents .main-ttl{ position: absolute; top: 0; left: 50%; transform: translateX(-50%); }

.contents-bg{ overflow: hidden; position: relative; }
.contents-bg:before,
.contents-bg:after{ pointer-events: none; z-index: 1; content: ""; position: absolute; height: 95%; }
.contents-bg:before{ left: calc(50% - 900px); top: 150px; width: 450px; background: url(../images/item_11.png?var=1234567865432) center top/100% repeat-y; }
.contents-bg:after{ left: calc(50% + 430px); top: 70px; width: 440px; background: url(../images/item_10.png?var=1234567865432) center top/100% repeat-y; }

.contents-list{ overflow: hidden; position: relative; }
.contents-list__head{ position: relative; z-index: 2; gap: 30px; display: flex; align-items: flex-start; width: 75%; margin: 0 auto; }
.contents-list__num{ width: 135px; }
.contents-list__num img{ width: 100%; height: auto; filter: drop-shadow(0px 0px 10px #fcda94); }
.contents-list__txtbox{ width: calc(100% - 200px); padding-top: 30px; }

.event-time{ display: flex; align-items: center; gap: 15px; padding: 20px 0 0; font-size: 26px; color: #fff; }
.event-time__label{ display: inline-block; width: 150px; padding: 9px 10px 11px; border-radius: 50px; text-align: center; font-weight: 700; letter-spacing: 0.1rem; }
.event-time__value{ font-weight: 700; }

.event-visual{ display: flex; align-items: flex-start; gap: 2%; padding-bottom: 30px; }
.event-visual__center{ width: 100%; }
.event-visual__center .event-visual__photo{ width: 98%; border-radius: 35px; box-shadow: 10px 10px 0px 0px var(--purple); }
.event-visual__center img{ width: 100%; height: auto; }

.event-visual__photo--decos{ width: 49%; }
.event-visual__left img{ width: 100%; height: auto; }

.event-visual__photos{ width: 51%; }
.event-visual__right{ position: relative; }

.event-visual__photo{ position: relative; width: 100%; }
.event-visual__photo img{ width: 100%; height: auto; }
.event-visual__photo--shadow{ border-radius: 30px; box-shadow: 7px 7px 0px 0px var(--red); }
.event-visual__photo--deco:before,
.event-visual__photo--deco:after{ content: ""; position: absolute; background-position: center; background-repeat: no-repeat; background-size: cover; }
.event-visual__lead{ width: 404px; padding: 35px 0 0; font-size: 18px; line-height: 1.8; color: #fff; font-weight: 600; letter-spacing: 0.2em; }
.event-visual__lead small{ display: inline-block; padding-left: 17px; font-size: 14px; position: relative;}
.event-visual__lead small span{width: 14px; height: auto; display: inline-block; position: absolute; top: 0px; left: 0px; line-height: 1.8; font-weight: 600; letter-spacing: 0.2em;}
.event-info{ overflow: hidden; border: 10px solid #fff; border-radius: 50px; background: #fff; padding: 0 0 10px; }

.event-info__ttl{ display: flex; align-items: center; justify-content: center; padding: 25px; border-radius: 40px; background: #d9145c; color: #fff; font-size: 23px; line-height: 1; letter-spacing: 0.05em; text-align: center; font-weight: 700; }

.event-info__body{ width: 76%; margin: 0 auto; }
.event-info__list{ margin: 0; }
.event-info__row{ display: flex; align-items: flex-start; padding: 15px 0; border-bottom: 1px solid #000; font-weight: 700; }
.event-info__term{ width: 90px; margin: 0; color: #d9145c; font-size: 19px; line-height: 1.4; letter-spacing: 0.02em; font-weight: 700; }

.event-info__desc{ position: relative; flex: 1; margin: 0; padding-left: 22px; font-size: 19px; line-height: 1.45; letter-spacing: 0.01em; font-weight: 500; }
.event-info__desc::before{ content: ""; position: absolute; left: 0; top: 9px; width: 15px; height: 15px; border-radius: 50%; background: #d9145c; }

.event-info__menu{ margin: 5px 0 0 15px; }
.event-info__menu li{ margin: 0; font-size: 18px; line-height: 1.5; font-weight: 500; }
.event-info__menu li::before{ content: "・"; }

.event-info__notes{ margin: 13px 0 0; }
.event-info__notes li{ padding-bottom: 7px; font-weight: 500; font-size: 12px; }

.contents-list__body{ width: 95%; margin: 0 auto; position: relative; z-index: 2; padding-top: 50px; }
.contents-list + .contents-list{ margin-top: -180px; }
.contents-list:before,
.contents-list:after{ content: ""; position: absolute; height: 100%; width: 110%; left: 50%; top: 0; transform: translateX(-50%); clip-path: polygon(0 10%, 100% 0%, 100% 90%, 0% 100%); z-index: -1; }

.contents-list--01{ padding: 200px 0 230px; }
.contents-list--01:before{ background: url(../images/bg_5.svg?var=1234567865432) no-repeat center center; background-size: cover; }
.contents-list--01 .contents-list__body{ padding-top: 30px; }
.contents-list--01 .event-visual__photo--deco:before{ left: -107px; top: 30px; width: 141px; height: 110px; background-image: url(../images/item_02.svg?var=1234567865432); }
.contents-list--01 .event-visual__photo--deco:after{ right: -42px; bottom: -80px; width: 92px; height: 128px; background-image: url(../images/item_03.svg?var=1234567865432); }

.contents-list--02{ padding: 130px 0 170px; }
.contents-list--02:before{ background: url(../images/bg_6.svg?var=1234567865432) no-repeat center center; background-size: cover;  }
.contents-list--02 .event-visual__lead{ margin: 0 0 0 auto; }
.contents-list--02 .event-visual__photo--shadow{ box-shadow: 7px 7px 0px 0px var(--blue); }
.contents-list--02 .event-visual__photo--deco:before{ left: -120px; top: -50px; width: 190px; height: 175px; background-image: url(../images/item_04.png?var=1234567865432); }
.contents-list--02 .event-visual__deco{ position: relative; margin-top: 50px; }
.contents-list--02 .event-visual__deco:before{ content: ""; position: absolute; left: 18px; top: -47%; width: 395px; height: 330px; background: url(../images/item_13.svg?var=1234567865432) center/cover no-repeat; }

.contents-list--03{ padding: 180px 0 100px; }
.contents-list--03:after{ background: url(../images/bg_04.png?var=1234567865432) center/2000px; }
.contents-list--03:before{ background: linear-gradient(180deg,rgba(28, 42, 84, 1) 0%, rgba(89, 34, 119, 1) 100%); }
.contents-list--03 .event-visual__lead{ margin-left: 100px; }
.contents-list--03 .event-visual__photo--shadow{ box-shadow: 7px 7px 0px 0px var(--purple); }
.contents-list--03 .event-visual__photo--deco:before{ right: -100px; top: 17%; width: 270px; height: 267px; background-image: url(../images/pic_06.png?var=1234567865432); }
.contents-list--03 .event-visual__photo--deco:after{ right: 3%; bottom: -26%; width: 350px; height: 350px; background-image: url(../images/pic_07.png?var=1234567865432); }


/* ---------------------------------------------------------------------------------------- map */
#map{ position: relative; margin-top: -130px; background: url(../images/bg_7.svg?var=1234567865432) no-repeat center center; background-size: cover;  }
#map:before{ content: ""; position: absolute; left: calc(50% + 280px); top: -70px; width: 270px; height: 270px; background: url(../images/item_07.svg?var=1234567865432) center/cover no-repeat; z-index: 1; }
#map .main-title{ padding-bottom: 55px; }

.map-bg{ overflow: hidden; padding: 150px 0; background: url(../images/bg_03.png?var=1234567865432) center 115%/1350px no-repeat; }
.area{ position: relative; }
.area:before,
.area:after{ content: ""; position: absolute; top: -30%; width: 556px; height: 290px; }
.area:before{ left: calc(50% - 900px); background: url(../images/item_05.svg?var=1234567865432) center/cover no-repeat; }
.area:after{ left: calc(50% + 350px); background: url(../images/item_06.svg?var=1234567865432) center/cover no-repeat; }

.area__map{overflow: hidden; position: relative; z-index: 1; width: 750px; margin: 0 auto; border: 8px solid #4e1f80; border-radius: 35px; box-shadow: 0px 5px 0px 0px #4e1f80; background: #fff; }


/* ---------------------------------------------------------------------------------------- cta */
#cta{ background: linear-gradient(180deg,rgba(29, 43, 85, 1) 0%, rgba(89, 34, 119, 1) 100%); }
.cta-bg{ padding: 160px 0 220px; background: url(../images/bg_cta.png?var=1234567865432) center top/cover no-repeat; }
.cta__ttl{ width: 75%; margin: 0 auto; padding-bottom: 30px; }
.cta__txt{ width: 75%; margin: 0 auto; padding-bottom: 40px; text-align: center; }
.cta__txt img { padding: 15px 0; }

.cta-link{ width: 500px; margin: 0 auto; }
.cta-link a{ transition: all 0.4s; display: flex; align-items: center; justify-content: center; gap: 15px; height: 65px; border: 5px solid #fff; border-radius: 50px; background: #d4145a; color: #fff; font-size: 25px; font-weight: 700; }
.cta-link a:hover{ opacity: 0.8; }


.fixed_btn { position: fixed; bottom: 0; left: 0; width: 100%; z-index: 3; background: rgb(0, 104, 183, 0.5); height: 123.5834px; display: flex; flex-direction: column; justify-content: center; align-items: center; @include mq-down(md) {height: vw-sp(144);}}
.cmn_btn01 {width: 505.7616px; height: 80px;}
.cmn_btn01 a { background: #e4007f; border: 4px solid #fff; display: flex; flex-direction: column; justify-content: center; align-items: center; border-radius: 50vw; height: 100%; font-size: 24px; line-height: 1.583; letter-spacing: 0.06em; color: #fff; position: relative; font-weight: 400;}
.cmn_btn01 a::after { content: ""; width: 23.8928px; height: 27.589px; display: inline-block; background: #fff; position: absolute; top: 50%; transform: translateY(-50%); right: 39.302px; clip-path: polygon(0 0, 100% 50%, 0 100%); transition: all 0.3s ease;}

@media (hover: hover) and (pointer: fine) { 
	.cmn_btn01 a:hover {opacity: 1; background: #fff; border: 4px solid #e4007f; color: #e4007f; }
	.cmn_btn01 a:hover::after {background: #e4007f;}
}

.cmn_btn01__pink02 a {background: #b60081;}

@media (hover: hover) and (pointer: fine) {
    .cmn_btn01__pink02 a:hover {border: 4px solid #b60081;color: #b60081;}
    .cmn_btn01__pink02 a:hover::after {background: #b60081;}
}

.cmn_btn01__arrow_none a::after {display: none;}

.cmn_btn01 a::after { content: ""; width: 23.8928px; height: 27.589px; display: inline-block; background: #fff; position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); right: 39.302px; -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%); clip-path: polygon(0 0, 100% 50%, 0 100%); -webkit-transition: all 0.3s ease; transition: all 0.3s ease;}
/* ----------------------------- mobile ------------------------------- */
@media only screen and (max-width: 768px) {

	.cmn_btn01 {width: 75vw; height: 13.5vw; }
	.cmn_btn01 a {font-size: 4vw;}
	.cmn_btn01 a::after { width: 3.5vw; height: 4vw; right: 4.91275vw;}
/* ---------------------------------------------------------------------------------------- global */
	body{ min-width: initial; }
	.inner{ width: 90%; padding: 0; }
	.s-inner{ width: 90%; padding: 0; }
	.main-ttl{ position: relative; z-index: 1; width: 100%; margin: 0 auto 30px; }

/* ---------------------------------------------------------------------------------------- header */
	header{ min-width: 100%; padding: 19px 10px; overflow: hidden; height: 64px;}
	.header-wrapper{ width: 100%; }
	.header-logo{ width: 150px; }
	.header-nav a{ padding: 0 ; font-size: 16px; line-height: 160%;}
	.header-nav a:not(:last-child){margin: 0 0 20px;}
	
	
	header .openbtn { position: absolute; top: 50%; transform: translateY(-50%); right: 0; width: 64px; height: 64px; z-index: 5; background: #040000; transition: all .4s;}
	
	header .openbtn .openbtn_inn { position: absolute; left: 50%; transform: translateX(-50%); top: 17.5px; width: 26px; height: 33px; display: flex; flex-direction: column; justify-content: center; align-items: center; row-gap: 9px;}
	
	header .openbtn .openbtn_inn .openbtn_line { width: 100%; height: 100%; position: relative;}
	
	header .openbtn .openbtn_inn .openbtn_line span { display: inline-block; transition: all .4s; position: absolute; left: 0; width: 100%; height: 2px; background: #fff;}
	
	header .openbtn .openbtn_inn .openbtn_line span:nth-of-type(1) { top: 0;}
	
	header .openbtn .openbtn_inn .openbtn_line span:nth-of-type(2) { position: absolute; top: 50%; transform: translateY(-50%);}
	
	header .openbtn .openbtn_inn .openbtn_line span:nth-of-type(3) { top: calc(100% - 2px);}
	
	header .openbtn .openbtn_inn .menu_txt { font-size: 10px; font-family: 'Noto Sans', sans-serif; color: #fff; font-weight: 500; letter-spacing: 0.06em; white-space: nowrap;}
	header .openbtn.active { background: #fff;}
	header .openbtn.active .openbtn_line span { background: #040000;}
	header .openbtn.active .openbtn_line span:nth-of-type(1) { top: 8px; transform: rotate(-45deg);}
	header .openbtn.active .openbtn_line span:nth-of-type(2) { display: none;}
	header .openbtn.active .openbtn_line span:nth-of-type(3) { top: 8px; transform: rotate(45deg);}
	
	header .openbtn.active .menu_txt { color: #040000;}
	
	header .header-nav{padding: 72.5px 24px; width: 40%; text-align: left; position: fixed; z-index: 4; top: 0;right: 0;width: 180px;height: 100vh;-webkit-transition: all 0.6s;transition: all 0.6s;display: block;background: #fff;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;-webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);}
	header .header-nav.panelactive { -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);}
/* ---------------------------------------------------------------------------------------- fv */
	#fv{ position: relative; height: auto; box-sizing: border-box; }
	#fv h1{ width: 100%; margin: 0 auto; }
	#fv h1 img{ width: 100%; height: auto; }
	#fv p{ position: absolute; bottom: 3%; left: 0; right: 0; width: 95%; }
	#fv p img{ width: 100%; height: auto; filter: drop-shadow(0px 0px 3px rgba(255,255,255,0.6)); }

/* ---------------------------------------------------------------------------------------- about */
	#about{ padding-bottom: 13%; }
	.about-bg{ padding: 0 0 100px; background-position: -300px 0px; background-size: 1600px; }
	.about-head{ padding: 60px 0 40px; }
	.about-head__bg {top: 86px; }
	.about-head__bg img{ width: 905px; margin-left: 0; }
	.about-head__ttl{ width: 85%; padding-bottom: 100px; }
	.about-head__txt{ width: 85%; }
	.about-head__txt img{ width: 90px; }
	
	.about-table tr{ flex-wrap: nowrap; }
	.about-table tr + tr{ margin-top: 15px; }
	.about-table th{ flex-shrink: 0; width: 100px; height: 30px; margin-right: 13px; font-size: 14px; }
	.about-table td{ width: calc(100% - 110px); }
	.about-table strong{ font-size: 17px; }
	.about-table ul{ margin: 8px 0 0; }
	.about-table li{ padding: 15px 10px 15px 20px; font-size: 15px; }
	.about-table li span{ font-size: 15px; }
	.about-table li span:first-child{ width: 75px; }

	.about-head__bg .box {position: relative; flex: 0 0 auto; width: 840px; height: 430px; }
	.about-body {padding: 215px 0 0;}
/* ---------------------------------------------------------------------------------------- contents */
	#contents{ margin-top: -24%; }
	#contents:before{ top: -100px; height: 180px; background: url(../images/item_08.svg?var=1234567865432) left top/320px no-repeat, url(../images/item_09.svg?var=1234567865432) right top/320px no-repeat; }
	#contents .main-ttl{ top: 3px; width: 90%; }
	
	.contents-list{ padding: 87px 0 85px; }
	.contents-list__head{ gap: 20px; margin-left: 0; align-items: flex-start; width: 100%; }
	.contents-list__num{ width: 80px; }
	.contents-list__txtbox{ width: calc(100% - 80px); padding-top: 20px; }
	.contents-list__ttl{ width: 90%; }
	.contents-list__ttl img{ width: 100%; height: auto; }
	
	.event-time{ align-items: flex-start; gap: 8px; padding: 15px 0 0; font-size: 15px; }
	.event-time__label{ width: 100px; padding: 7px 8px 8px; font-size: 16px; }
	.event-time__value{ font-size: 18px; line-height: 1.5; }
	
	.event-visual{ flex-direction: column; gap: 15px; padding-bottom: 20px; }
	.event-visual__photo--decos{ width: 100%; }
	.event-visual__photos{ width: 100%; }
	.event-visual__lead{ width: 100%; padding: 20px 0 0; font-size: 15px; line-height: 1.8; letter-spacing: 0.1em; }
	.event-visual__lead small{ font-size: 11px;padding-left: 13px; }
	.event-visual__lead small span{width: 11px; }
	
	.event-visual__center .event-visual__photo{ border-radius: 15px; box-shadow: 5px 5px 0px 0px var(--purple); }
	.event-visual__photo--shadow{ border-radius: 15px; box-shadow: 4px 4px 0px 0px #89155a; }
	
	.event-info{ border-width: 5px; border-radius: 30px; padding: 5px 5px 15px; }
	.event-info__ttl{ padding: 18px; font-size: 16px; }
	.event-info__body{ width: 90%; }
	
	.event-info__row{ padding: 11px 0; }
	.event-info__term{ width: 55px; font-size: 14px; }
	.event-info__desc{ font-size: 14px; padding-left: 13px; }
	.event-info__desc::before{ top: 6px; width: 10px; height: 10px; }
	
	.event-info__menu{ margin: 5px 0 0 12px; }
	.event-info__menu li{ font-size: 14px; }
	.event-info__notes li{ padding-bottom: 0; line-height: 1.5; font-size: 12px; }
	
	.contents-list__body{ width: 100%; padding-top: 15px; }
	.contents-list + .contents-list{ margin-top: -78px; }
	.contents-list:before,
	.contents-list:after{ height: 108%; top: 2%; clip-path: polygon(0 5%, 100% 0%, 100% 95%, 0% 100%); }
	
	.contents-list--01{ padding: 31% 0 80px; background: url(../images/item_15.svg?var=1234567865432) center 50px/100% no-repeat, url(../images/item_14.svg?var=1234567865432) center bottom/100% no-repeat; }
	
	.contents-list--01 .contents-list__body{ padding-top: 0; }
	.contents-list--01::before { background: url(../images/bg_5_sp.svg?var=1234567865432) no-repeat center center; background-size: cover;}
	.contents-list--01 .event-visual__photo--01{ left: -4%; margin-bottom: -22%; z-index: 1; width: 110%; max-width: initial; }
	.contents-list--01 .event-visual__photo--deco::before{ left: -46px; top: 9px; width: 89px; height: 70px; }
	.contents-list--01 .event-visual__photo--deco::after{ right: -9px; bottom: -10px; width: 60px; height: 83px; }
	
	.contents-list--02{ padding: 110px 0 50px; background: url(../images/item_17.svg?var=1234567865432) center 150px/100% no-repeat; }
	.contents-list--02::before { background: url(../images/bg_6_sp.svg?var=1234567865432) no-repeat center center; background-size: cover;}
	.contents-list--02 .event-visual__lead{ margin: 0; }
	.contents-list--02 .event-visual__right{ margin-top: -15%; }
	.contents-list--02 .event-visual__photo--deco::before{ left: -41px; top: -33px; width: 120px; height: 98px; }
	.contents-list--02 .event-visual__deco::before{ left: initial; top: -20%; right: -14%; width: 234px; height: 210px; background: url(../images/item_16.svg?var=1234567865432) center/cover no-repeat; }
	.contents-list--02 .event-visual__lead{ padding: 10px 0 0; }
	
	.contents-list--03::after{ background: url(../images/bg_04.png?var=1234567865432) center -40px/1400px; top: 0; }
	.contents-list--03::before{ height: 98%; }
	.contents-list--03 .event-visual__lead{ margin-left: 0; padding: 39.7% 0 0; }
	.contents-list--03 .event-visual__photo--deco::before{ right: -9%; top: initial; width: 37.51%; height: auto; bottom: -32%; padding: 36.36% 0 0;}
	.contents-list--03 .event-visual__photo--deco::after{ right: initial; bottom: -70%; width: 46.2%; height: auto; left: 25%; padding: 46.2% 0 0;}
	
	.contents-bg::before,
	.contents-bg::after{ height: 46%; top: initial; bottom: -10px; }
	.contents-bg::before { width: 150px; left: -17%; background: url(../images/item_18.svg?var=1234567865432) center bottom/100% no-repeat; }
	.contents-bg::after{ width: 220px; left: initial; right: -20%; background: url(../images/item_19.svg?var=1234567865432) center bottom/100% no-repeat; }
	

/* ---------------------------------------------------------------------------------------- map */
	#map{ position: relative; margin-top: -11%; background: url(../images/bg_7_sp.svg?var=1234567865432) no-repeat center center; background-size: cover; }
	#map:before{ display: none; }
	#map .main-ttl{ width: 90%; margin-bottom: 20px; }
	
	.map-bg{ padding: 70px 0 80px; background: url(../images/bg_03-sp.png?var=1234567865432) center bottom/ 100% no-repeat; }
	.area__map{ width: 90%; border-radius: 15px; border-width: 5px; box-shadow: 0px 4px 0px 0px #4e1f80; }
	.area__map img{ width: 100%; height: auto; }
	.area-item{ z-index: 5; position: absolute; bottom: 5px; left: 50%; transform: translateX(-50%); width: 76%; }
	
	.area::before,
	.area::after{ width: 150px; height: 90px; }
	.area::before{ left: 0; top: -20%; }
	.area::after{ left: initial; top: -26%; right: -14%; }

/* ---------------------------------------------------------------------------------------- cta */
	.cta-bg{ padding: 60px 0 160px; background: url(../images/bg_cta-sp.png?var=1234567865432) top/100% no-repeat; }
	.cta__ttl{ width: 88%; padding-bottom: 7px; }
	.cta__ttl img{ width: 100%; height: auto; }
	.cta__txt{ width: 100%; padding-bottom: 15px; }
	.cta__txt img{ width: 100%; height: auto; }
	.cta-link{ width: 100%; }
	.cta-link a{ height: 49px; font-size: 16px; border-width: 3px; }
	.cta-link a img{ width: 12px; height: auto; }

}
