/***********************************基本設定***************************************/
html {
	visibility: hidden;
}

body {
	position: relative;
}

html.wf-active {
	visibility: visible;
}

@import url('https://fonts.googleapis.com/css?family=Inter&text=0123456789');

.contents-line {
	max-width: 1200px;
	margin: 0 auto;
	width: 90%;
}

.num {
	font-family: 'inter';
	font-weight: 700;
}

html body {
	font-family: 'inter', 'ibm-plex-sans-jp', sans-serif;
	line-height: 1.5;
	overflow-x: hidden;
	color: #333333;
}

.min {
	font-family: 'inter', 'ibm-plex-sans-jp', sans-serif;
	font-weight: 600;
}

.en {
	font-family: 'inter', 'ibm-plex-sans-jp', sans-serif;
	font-weight: 800;
}

.pc {
	display: block;
}

.sp {
	display: none;
}

.sp-500 {
	display: none;
}

.revi-pc-600 {
	display: block;
}

.revi-sp-600 {
	display: none;
}

.br-1024 {
	display: none;
}

img {
	max-width: 100%;
	height: auto;
}

.post-navigation {
	display: none;
}

.mg1 {
	margin-bottom: 10px;
}

.mg2 {
	margin-bottom: 20px;
}

.mg3 {
	margin-bottom: 30px;
}

.mg4 {
	margin-bottom: 40px;
}

.mg5 {
	margin-bottom: 50px;
}

.mg12 {
	margin-bottom: 120px;
}

/***********************************共通設定***************************************/
.para {
	display: block;
	margin: 15px 0;
}

a.link-btn {
	position: relative;
	display: inline-block;
	background-color: #ffffff;
}

a.link-btn:before {
	content: "";
	display: block;
	width: 15px;
	height: 1px;
	position: absolute;
	top: 50%;
	right: 0;
}

a.link-btn:after {
	left: 100%;
	right: unset;
}

a.link-btn.blue {
	color: #0f1455;
	background-color: #ffffff;
	border: 1px solid;
	border-image: linear-gradient(to right, #101254, #036eb7);
	border-image: -webkit-linear-gradient(left, #101254, #036eb7);
	border-image: -moz-linear-gradient(left, #101254, #036eb7);
	border-image-slice: 1;
}

a.link-btn.blue:hover {
	background-color: unset;
	background: -moz-linear-gradient(left, #101254, #036eb7);
	background: -webkit-linear-gradient(left, #101254, #036eb7);
	background: linear-gradient(to right, #101254, #036eb7);
	color: #ffffff;
}

a.link-btn.blue:before,
a.link-btn.blue:after {
	background-color: #0f1455;
}

a.link-btn.blue:hover:before {
	background-color: #ffffff;
}

a.link-btn.blue:hover:after {
	background-color: #0f1455;
}

.to-staff-box a.link-btn.blue {
	border: 1px solid #ffffff;
}

.to-staff-box a.link-btn.blue:before {
	background-color: #056eb9;
}

.to-staff-box a.link-btn.blue:hover:before {
	background-color: #ffffff;
}

.to-staff-box a.link-btn.blue:after {
	background-color: #ffffff;
}

.btn-wrap {
	text-align: center;
}

.top-news-flex .section-title:after {
	content: none;
}

.header-tel:before {
	transform: rotate(14deg);
}

/***********************************Top_Animation********************************/
/*===========================================================*/
/* 印象編 4 最低限おぼえておきたい動き*/
/*===========================================================*/

/*4-9　シャッ（左から）*/
.bgextend {
	animation-name: bgextendAnimeBase;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	position: relative;
	overflow: hidden;
	/*　はみ出た色要素を隠す　*/
	opacity: 0;
}

@keyframes bgextendAnimeBase {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

/*中の要素*/
.bgappear {
	animation-name: bgextendAnimeSecond;
	animation-duration: 1s;
	animation-delay: 0.6s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes bgextendAnimeSecond {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

.bgLRextend::before {
	animation-name: bgLRextendAnime;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #DD0180;
	/*伸びる背景色の設定*/
}

@keyframes bgLRextendAnime {
	0% {
		transform-origin: left;
		transform: scaleX(0);
	}

	50% {
		transform-origin: left;
		transform: scaleX(1);
	}

	50.001% {
		transform-origin: right;
	}

	100% {
		transform-origin: right;
		transform: scaleX(0);
	}
}

/*4-9　シャッ（左から）遅延*/
.bgextend-d {
	animation-name: bgextendAnimeBase;
	animation-duration: 2s;
	animation-fill-mode: forwards;
	position: relative;
	overflow: hidden;
	/*　はみ出た色要素を隠す　*/
	opacity: 0;
}

@keyframes bgextendAnimeBase {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

/*中の要素*/
.bgappear-d {
	animation-name: bgextendAnimeSecond;
	animation-duration: 2s;
	animation-delay: 0.6s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes bgextendAnimeSecond {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

.bgLRextend-d::before {
	animation-name: bgLRextendAnime;
	animation-duration: 2s;
	animation-fill-mode: forwards;
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #DD0180;
	/*伸びる背景色の設定*/
}

@keyframes bgLRextendAnime {
	0% {
		transform-origin: left;
		transform: scaleX(0);
	}

	50% {
		transform-origin: left;
		transform: scaleX(1);
	}

	50.001% {
		transform-origin: right;
	}

	100% {
		transform-origin: right;
		transform: scaleX(0);
	}
}

/* 4-2 パタッ（右上へ） */
.flipRightTop {
	animation-name: flipRightTopAnime;
	animation-duration: 0.6s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes flipRightTopAnime {
	from {
		transform: translate(-20px, 80px) rotate(20deg);
		opacity: 0;
	}

	to {
		transform: translate(0, 1) rotate(0deg);
		opacity: 1;
	}
}

/* 4-1 ふわっ（下から） */

.fadeUp {
	animation-name: fadeUpAnime;
	animation-duration: 0.8s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeUpAnime {
	from {
		opacity: 0;
		transform: translateY(100px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}


/* スマホ表示用。flipLeftTriggerを指定している親要素に指定しないとうまく動かない*/
#vision,
.service-area {
	transform: translate3d(0, 0, 0);
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.bgLRextendTrigger,
.bgappearTrigger,
.fadeUpTrigger,
.flipLeftTrigger {
	opacity: 0;
}

.bgBlock {
	display: block;
	width: 50%;
	margin: 0 auto;
}

.bgTwi.bgLRextend::before {
	background: #0471AA;
}

.bgNews.bgLRextend::before {
	background: #DA2127;
}


/* 4-4 ボンッ（拡大） */
.zoomIn {
	animation-name: zoomInAnime;
	animation-duration: .8s;
	animation-fill-mode: forwards;
}

@keyframes zoomInAnime {
	from {
		transform: scale(0.6);
		opacity: 0;
	}

	to {
		transform: scale(1);
		opacity: 1;
	}
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeUpTrigger,
.zoomInTrigger,
.flipLeftTopTrigger,
.flipRightTopTrigger {
	opacity: 0;
}


/***********************************header***************************************/

/*add*/

.site-branding {
	position: absolute;
	top: 50%;
	left: 3%;
	display: flex;
	align-items: center;
}

.site-branding p {
	margin: 0 0 0 10px;
	line-height: 1.2;
	font-weight: 600;
	color: #333;
}

.main-navigation {
	position: absolute;
	top: 80%;
	right: 8%;
	width: 42%;
}

/*****/
.site {
	overflow: hidden;
	position: relative;
}

.site-title a {
	display: block;
	transition: 0.3s;
}

.site-title a:hover {
	opacity: 0.5;
}

.site-title img {
	max-width: 300px;
	width: 200px;
}

.header-info-wrap {
	display: flex;
	align-items: stretch;
	justify-content: flex-end;
	gap: 0 10px;
}

.header-flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.menu-list {
	display: flex;
	justify-content: space-around;
}

.menu-list li {
	text-align: center;
}

.menu-list li a {
	color: #333333;
	font-size: 18px;
	font-weight: 700;
	transition: 0.1s;
}

.menu-list li a:hover {
	color: #F1008D;
}

.header-wrap {
	padding: 10px 0 10px 0;
	position: relative;
	height: 50px;
}

.site-header {
	background-color: #ffffff;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100px;
	z-index: 100000;
}

.topto {
	position: fixed;
	bottom: 9%;
	right: 5%;
	z-index: 99999;
}

.topto a {
	transition: 0.3s;
}

.topto a:hover {
	opacity: 0.5;
}

.topto img,
.page-top img {
	width: 50px;
	max-width: initial;
}

.side-bunner-wrap {
	position: fixed;
	top: 30%;
	right: 0;
	z-index: 99999;
}

.side-bunner-wrap a {
	transition: 0.3s;
}

.side-bunner-wrap a:hover {
	opacity: 0.5;
}

.side-bunner-wrap img {
	width: 50px;
	max-width: initial;
}

.side-bunner01 {
	margin-bottom: 10px;
}

/***********************************kasou header***************************************/
.kasou-header {
	background: repeating-linear-gradient(-30deg,
			#f1f1f1,
			#F1F1F1 30px,
			#fff 0,
			#fff 60px);
	background-position: center center;
	background-size: cover;
	padding: 3px 0;
	height: 150px;
	position: relative;
	z-index: -1;
}

.kasou-title {
	color: #DD0180;
	font-size: clamp(1.5rem, 2vw + 1rem, 2.813rem);
	font-weight: 900;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.kasou-header-ic {
	width: 8%;
	max-width: 140px;
	position: absolute;
	margin: 0;
	bottom: -15px;
	left: 50%;
	translate: -250% 0;
	z-index: -1;
}

.kasou-header-ic-rule {
	width: 8%;
	max-width: 140px;
	position: absolute;
	margin: 0;
	bottom: -15px;
	left: 50%;
	translate: -400% 0;
	z-index: -1;
}

.entry-title-jp {
	font-size: 200%;
	letter-spacing: 4px;
}

.breadcrumbs {
	background-color: #D53183;
	color: #ffffff;
	margin-bottom: 100px;
}

.breadcrumbs span {
	padding: 0 8px;
}

/***********************************index***************************************/

#main {
	overflow: hidden;
}

.medium {
	font-size: 130%;
	display: block;
	position: relative;
}

.category-p {}

.category-p a {
	padding: 3px 15px 1px;
	font-size: 12px;
	color: #333;
	transition: 0.2s;
}

.category-p a.news {
	background-color: #FFF;
}

.category-p a:hover {
	background-color: #ffffff;
}

.category-p a.news:hover {
	color: #056eb9;
}

.top-news-list li {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 10px 0;
}

.top-news-list label {
	color: #FFF;
}

.top-news-list a {
	color: #FFF;
}

.news-title {
	color: #FFF;
}

.news-title:hover {
	color: #FFF572;
}

.top-news-list .important-news {
	font-size: 1em;
	color: #DD0180;
	background: #FFF;
}

.top-news-list .important-news:hover {
	background: #FFF572;
}

.top-news-list li:first-child {
	padding-top: 0;
}

.top-news-list li:last-child {
	padding-bottom: 0;
}

.top-news-flex {
	position: absolute;
	z-index: 3;
	right: 0;
	top: 88%;
	padding: 20px 10% 20px 30px;
}

.top-news {
	background-color: #fafafa;
	padding: 50px 0;
}

.top-news-left {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
}

.top-intro-wrap {
	padding: 100px 0;
}

.top-intro-text {
	text-align: center;
	line-height: 2.2;
	letter-spacing: 1px;
	background-image: url(https://vividcosplaycarnival.com/wp-content/themes/alfred_custom/img/logo_bg.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: left center;
}

.dot-bg {
	background-image: url(https://vividcosplaycarnival.com/wp-content/themes/alfred_custom/img/dot-bg01.svg), url(https://vividcosplaycarnival.com/wp-content/themes/alfred_custom/img/dot-bg02.svg);
	background-size: 800px;
	background-repeat: no-repeat;
	background-position: left -10% top 18%, right -30% top 33%;
	position: relative;
	min-height: 100vh;
}

.top-title-flex {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	gap: 0 20px;
}

.top-title-wrap {
	display: inline-block;
}

.schedule-pop {
	width: 15%;
}

.schedule-pop img {
	max-width: 100%;
}

.section-title {
	font-size: 3em;
	font-weight: 800;
	color: #DD0180;
	letter-spacing: 1px;
	margin-bottom: -15px;
	margin-top: 20px;
}

.section-sub {
	font-size: 1.3em;
	font-weight: 500;
	color: #DD0180;
	letter-spacing: 1px;
	margin-bottom: 30px;
}

.top-schedule-wrap {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 20px;
}

.top-schedule-wrap a {
	margin: 20px 0;
	width: calc((100% - 20px) / 2);
}

.top-schedule-box {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	height: fit-content;
	border: 3px solid #E0E0E0;
	align-items: center;
	background: #FFF;
	transition: all .2s;
	padding-right: 15px;
}

.nohover {
	pointer-events: none;
}

.top-schedule-box:hover {
	border: 3px solid #DD0180;
}

.top-schedule-box-soon {
	display: flex;
	flex-direction: row;
	justify-content: center;
	height: 216px;
	width: 580px;
	border: 3px solid #E0E0E0;
	align-items: center;
	background: #FFF;
	transition: all .2s;
	font-size: 1.2rem;
	color: #868686;
	letter-spacing: 2px;
}

.top-schedule-box-soon p {}

.top-schedule-box .date {
	width: 100%;
	font-size: 2.5em;
	letter-spacing: 1px;
	height: 30%;
	font-weight: 600;
}

.top-schedule-box .date .month {
	margin-right: -7px;
}

.top-schedule-box .dow {
	font-family: "ibm-plex-sans-jp", sans-serif;
	font-size: .5em;
	color: #FFF;
	vertical-align: middle;
	display: inline-block;
	margin-left: 10px;
}

.top-schedule-box .dow::before {
	width: 34px;
	height: 34px;
	translate: -52% -54%;
}

.info-img {
	margin: 20px;
	width: 210px;
}

.info-img img {
	object-fit: cover;
	width: 210px;
	height: 160px;
}

.info-field {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	flex-direction: column;
	height: 100%;
	justify-content: center;
	width: 250px;
}

.info-field p {
	font-size: 1.3em;
	font-weight: 700;
}

.info-field small {
	font-size: .5em;
	margin-left: 3px;
}

.info-field .date {
	text-align: left;
}

.dow {
	font-size: .5em;
	color: #FFF;
	vertical-align: middle;
	display: inline-block;
	position: relative;
}

.dow::before {
	content: "";
	display: block;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background-color: #DD0180;
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -54% -48%;
	z-index: -1;
}

.info-field .place {
	font-size: 1.5em;
	font-weight: 900;
	line-height: 28px;
}

.place-up {
	margin-bottom: 5px;
}

.allow-field {
	margin: 10px 0 10px 10px;
}

.allow {
	position: relative;
	display: inline-block;
	padding: 10px;
}

.allow-field .allow::before {
	content: '';
	width: 20px;
	height: 20px;
	border-top: solid 3px #DD0180;
	border-right: solid 3px #DD0180;
	position: absolute;
	left: 0px;
	top: 0px;
	transition: .3s;
}

.allow-right::before {
	transform: rotate(45deg);
}

.top-schedule-box:hover .allow-field .allow::before {
	left: 1.1rem;
}


.schedule-more {
	text-align: right;
}

.schedule-more a {
	transition: .2s;
}

.schedule-more a:hover {
	opacity: .5;
}

.schedule-more .allow-round {
	position: relative;
	display: inline-block;
	padding: 10px;
	background: #DD0180;
	border-radius: 50%;
	top: 4px;
	margin: 0 0 0 10px;
}

.schedule-more .allow-round::before {
	content: '';
	width: 7px;
	height: 7px;
	border-top: solid 2px #FFF;
	border-right: solid 2px #FFF;
	position: absolute;
	top: 6px;
	margin: 0 10px;
}

.schedule-more .allow-right::before {
	transform: rotate(45deg);
	left: -5px;
}

.wait-msg {
	text-align: center;
	color: #DD0180;
	font-weight: 800;
}

.end-msg {
	text-align: center;
	color: #FF0000;
	font-weight: 800;
}

.measure {
	margin: 50px 0;
}

.measure figure {
	text-align: center;
}

.measure figure img {
	width: 80%;

	transition: .3s;
}

.measure figure img:hover {
	opacity: 0.5;
	cursor: pointer;
}


.cause {
	padding: 80px 0;
	background: #F4F4F4;
}

.cause-box-wrap {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between
}

.cause-box {
	margin: 20px 0;
}

.cause-title-twi,
.cause-sub-twi {
	text-align: center;
	color: #0071AA;
}

.cause-title-news,
.cause-sub-news {
	text-align: center;
	color: #DB1E24;
}

.cause-title-twi,
.cause-title-news {
	font-size: 35px;
	letter-spacing: 3px;
	display: block;
	width: 100%;
	background-repeat: no-repeat;
	overflow-wrap: break-word;
}

.cause-title-twi {
	background-size: 45px 45px;
	background-position: left 8% center;
}

.cause-title-news {
	background-size: 45px 45px;
	background-position: left 10% center;
}

.cause-sub-twi,
.cause-sub-news {
	font-size: 1.3em;
	font-weight: 500;
	margin-bottom: 20px;
}

.cause-twi-btn {
	margin: 20px auto;
	display: block;
	padding: 15px 50px;
	border-radius: 25px;
	background: #1B9BF0;
	transition: .3s;
}

.cause-twi-btn a {
	color: #FFF;
}

.cause-twi-btn:hover {
	opacity: .7;
}

.cause-new {
	width: 570px;
	border: 1px solid #AAA;
	background: #FFF;
}

.cause-news-list {
	display: flex;
	flex-direction: column;
	padding: 10px 30px;
}

.cause-category-place {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
}

.cause-category-place a {
	background: #ffe99a;
	color: #81732a;
	padding: 2px 10px;
	font-size: 12px;
	border-radius: 25px;
	width: auto;
	margin: 2px;
}

.event-news-list li,
.cause-news-list li {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 10px 20px;
	padding: 22px 0;
	border-bottom: 2px solid #A1A1A1;
}

.event-news-list li:nth-last-child(1),
.cause-news-list li:nth-last-child(1) {
	border-bottom: none;
}

.event-news-list a,
.cause-news-list a {
	transition: .2s;
}

.event-news-list a:hover,
.cause-news-list a:hover {
	opacity: .5;
}

.event-news-list .important-news,
.cause-news-list .important-news {
	background: #DE0080;
	color: #FFF;
	padding: 2px 10px;
}

.event-news-list .news,
.cause-news-list .news {
	background: #F780C5;
	color: #FFF;
	padding: 2px 10px;
}

/**
.twi-ic{
	background-image: url("https://vividcosplaycarnival.com/wp-content/themes/alfred_custom/img/x-icon.svg");
}
.news-ic{
	background-image: url("https://vividcosplaycarnival.com/wp-content/themes/alfred_custom/img/news-icon.svg");
}
**/
.cause-news-title {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	width: 100%;
}

.timeline {
	border: 1px solid #AAA;
}

.top-ticket {
	padding: 80px 0;
}

.ticket-link-wrap {
	position: relative;
}

.ticket-link-wrap a {
	transition: .3s;
}

.ticket-link-wrap a:hover {
	opacity: 0.5;
	cursor: pointer;
}

.ticket-sale-wrap {
	position: absolute;
	top: 50%;
	left: 0;
	translate: 0 -50%;
	display: flex;
	width: 100%;
	flex-direction: row;
	align-content: center;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: center;
}

.ticket-sale-wrap h2 {
	font-size: 40px;
	font-weight: 900;
	font-family: 'Noto Sans JP', sans-serif;
}

.ticket-sale-text {
	font-size: 1.3em;
	font-weight: bold;
}

.ticket-link {
	margin-left: 40px;
}


.triangle-button {
	font-size: 1.3em;
	font-weight: bold;
	width: 100%;
	position: relative;
	background: #1A1A1A;
	color: #FFF;
	padding: 15px 70px 15px 30px;
	border-radius: 15px;
	display: inline-block;
	border: 3px solid #1A1A1A;
	transition: .3s;
}

.triangle-button::after {
	content: '';
	display: inline-block;
	border-style: solid;
	border-width: 15px 0 15px 20px;
	border-color: transparent transparent transparent #fff;
	display: inline-block;
	width: 0;
	height: 0;
	position: absolute;
	top: 50%;
	right: 25px;
	transform: translateY(-50%);
	transition: .3s;
}



.tri-image {
	position: absolute;
	top: -40px;
	left: 0px;
	z-index: -1;
}

.tri-image img {
	width: 40px;
}

.cause .btn-wrap {
	margin: 50px 0 30px;
}

.top-revitalization {
	padding: 140px 0;
	background-image: url(https://vividcosplaycarnival.com/wp-content/themes/alfred_custom/img/revitalization-bg-pc.svg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center right;
}

.top-revitalization .contents-line {
	margin-bottom: 120px;
}

.revi-img {
	width: 42%;
	position: absolute;
}

.revi-img img {
	border-top-right-radius: 25px;
	border-bottom-right-radius: 25px;
}

.revi-wrap {
	width: 55%;
	margin: 0 0 0 auto;
	padding: 0;
}

.revi-title {
	font-size: 1.4em;
	font-weight: 800;
	color: #FFF;
	margin-bottom: 30px;
	background-repeat: no-repeat;
	overflow-wrap: break-word;
	background-size: 30px 30px;
	padding: 10px 0;
	background-position: top 3px right 28%;
}

.sur-ic {
	background-image: url("https://vividcosplaycarnival.com/wp-content/themes/alfred_custom/img/surp-icon.svg");
	background-position: 100% 0;
	width: fit-content;
	padding: 22px 30px 0 0;
}

.revi-wrap p {
	font-size: 1em;
	color: #FFF;
	margin-bottom: 30px;
}

.revi-contact-btn {
	display: block;
	text-align: center;
	width: 40%;
	margin: 0 auto;
}

.revi-contact-btn a {
	background: #FFF;
	border-radius: 3px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin: 0 auto;
	max-width: 280px;
	padding: 10px 25px;
	color: #DD0180;
	transition: 0.3s ease-in-out;
}

.revi-contact-btn a:after {
	content: "";
	position: absolute;
	top: 50%;
	bottom: 0;
	right: 2rem;
	font-size: 90%;
	transition: right 0.3s;
	width: 10px;
	height: 10px;
	border-top: solid 2px currentColor;
	border-right: solid 2px currentColor;
	transform: translateY(-50%) rotate(45deg);
}

.revi-contact-btn a:hover {
	background: #FFF572;
	color: #1A1A1A;
}

.revi-contact-btn a:hover:after {
	right: 1.4rem;
}

.gallery {
	position: relative;
}

.gallery-head {
	color: #DD0180;
	margin-bottom: 50px;
}

.gallery-title {
	text-align: center;
	font-size: 25px;
	font-weight: 700;
	margin-bottom: 20px;
	display: block;
	width: 100%;
	background-repeat: no-repeat;
	overflow-wrap: break-word;
	padding: 30px 0;
	background-size: 80px 80px;
	background-position: center left 38%;
}


.gallery-ic img {
	width: 3em;
	margin-bottom: -1em;
	margin-right: 0.5em;
}

.gallery-head p {
	text-align: center;
	font-size: 1em;
}

.gallery-wrap {}

.gallery-photo {
	width: 100%;
}

.gallery-photo img {}

.gallery-twi-btn {
	margin: 20px auto;
	display: block;
	padding: 10px 40px;
	border-radius: 25px;
	background: #1B9BF0;
	transition: .3s;
}

.gallery-twi-btn a {
	color: #FFF;
}

.gallery-twi-btn:hover {
	opacity: .7;
}

.about-career th {
	font-weight: normal;
}

.about-staff-bottom-text-box {
	margin-top: 40px;
}

.to-staff-box {
	background-color: unset;
	background: -moz-linear-gradient(left, #101254, #036eb7);
	background: -webkit-linear-gradient(left, #101254, #036eb7);
	background: linear-gradient(to right, #101254, #036eb7);
	transform: skewX(25deg);
	-webkit-transform: skewX(25deg);
	-moz-transform: skewX(25deg);
}

.to-staff-text {
	color: #ffffff;
	width: 60%;
}

.to-staff-box .section-title {
	text-align: left;
}

.to-staff-box .section-title:after {
	content: none;
}

.to-staff-text-box {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	justify-content: space-around;
}

.to-staff-text-box .btn-wrap {
	flex-shrink: 0;
}

.shear-adjustment {
	transform: skewX(-25deg);
	-webkit-transform: skewX(-25deg);
	-moz-transform: skewX(-25deg);
	padding: 50px 100px;
}

.top-to-staff:before,
.top-to-staff:after {
	content: "";
	background: -moz-linear-gradient(left, #101254, #036eb7);
	background: -webkit-linear-gradient(left, #101254, #036eb7);
	background: linear-gradient(to right, #101254, #036eb7);
	transform: skewX(25deg);
	-webkit-transform: skewX(25deg);
	-moz-transform: skewX(25deg);
	display: block;
	width: 35%;
}

.top-to-staff:before {
	margin-left: -100px;
}

.top-to-staff:after {
	margin-right: -100px;
}

.top-to-staff {
	display: flex;
	justify-content: space-between;
	gap: 50px;
	overflow-x: hidden;
}

.top-office {
	padding: 100px 0;
}

.top-access-title {
	color: #0f1455;
	font-size: 18px;
}

.top-access-station span {
	background-color: #0f1455;
	color: #ffffff;
	display: block;
	padding: 1px 10px 3px;
	width: fit-content;
	margin-bottom: 5px;
}

.top-access-address {
	margin: 0 0 30px 0;
}

.top-access-map iframe {
	width: 100%;
	height: 250px;
}

.top-access-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 100px;
	flex-wrap: wrap;
}

.top-access-box:last-child {
	margin-bottom: 0;
}

.top-access-text {
	width: 40%;
}

.top-access-map {
	width: 50%;
}

.top-inheritance-text-box {
	padding: 50px 20px;
	width: 70%;
}

.top-inheritance-title {
	font-size: 28px;
	display: flex;
	align-items: center;
	margin-bottom: 30px;
}

.top-inheritance-title:before {
	content: "\f522";
	font-family: 'dashicons';
	line-height: 1;
	font-size: 125%;
	display: block;
}

.top-inheritance-wrap {
	background-image: url(https://vividcosplaycarnival.com/wp-content/themes/alfred_custom/img/top-inheritance-bg.jpg);
	background-size: cover;
	background-position: center center;
	margin-top: 30px;
}

.top-inheritance-flex {
	display: flex;
	align-items: stretch;
}

.top-inheritance-btn {
	width: 30%;
	color: #ffffff;
	font-size: 28px;
	display: flex;
	align-items: center;
}

.top-inheritance-btn a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px;
	transition: 0.3s;
}

.top-inheritance-btn a:hover {
	opacity: 0.5;
}

.circle_right {
	display: flex;
	margin-top: 4px;
}

.circle_right img {
	width: 18px;
}

/***********************************contact***************************************/

.contact-title {
	text-align: center;
	font-size: clamp(1.625rem, 1vw + 1rem, 2.188rem);
	font-weight: 900;
	color: #F0008C;
	margin-bottom: 60px;
}

.contact {
	padding: 0 0 100px 0;
}

.form-intro-text {
	text-align: center;
	line-height: 1.8;
	margin-bottom: 50px;
}

.form-table th,
.form-table td {
	display: block;
}

.form-table th,
.pp-title {
	color: #4D4D4D;
	margin-bottom: 5px;
}

.form-table tr {
	padding-bottom: 15px;
	display: block;
}

.required {
	color: #DE0080;
	font-weight: 500;
	display: inline-block;
	margin-left: 15px;
}

.form-table input,
.form-table textarea,
.form-table select {
	background-color: #ffffff;
	border: 1px solid #b3b3b3;
	padding: 4px 10px 3px;
}

.form-table textarea {
	width: 100%;
}

.form-table input[name="kanji-name"],
.form-table input[name="kana-name"] {
	width: 60%;
}

.form-table input[name="mail"] {
	margin-bottom: 10px;
}

.form-table input[name="mail"],
.form-table input[name="mail-confirmation"] {
	width: 100%;
}

input::-webkit-input-placeholder {
	color: #b3b3b3;
	padding: 5px 5px 0;
}

input:-moz-placeholder {
	color: #b3b3b3;
	padding: 5px 5px 0;
}

input::-moz-placeholder {
	color: #b3b3b3;
	padding: 5px 5px 0;
}

input:-ms-input-placeholder {
	color: #b3b3b3;
	padding: 5px 5px 0;
}

.contact-form-wrap {
	background-color: #fafafa;
	margin: 0 auto;
	padding: 60px 100px;
	max-width: 800px;
}

.form-table select {
	padding: 4px 10px 3px;
	width: 60%;
	appearance: auto;
}

.select-wrap {
	display: inline-block;
	position: relative;
}

.select-wrap:after {
	content: "\f078";
	font-family: "Font Awesome 6 Free";
	font-weight: bold;
	color: #b3b3b3;
	position: absolute;
	top: 3px;
	right: 10%;
}

.post-83 .select-wrap:after {
	content: none;
}

.pp-title {
	font-weight: bold;
}

.pp-box {
	background-color: #ffffff;
	border: 1px solid #b3b3b3;
	padding: 1px 10px 3px;
	width: 100%;
	height: 200px;
	overflow-y: scroll;
	font-size: 15px;
}

.pp-box::-webkit-scrollbar {
	background-color: #f2f2f2;
	width: 8px;
}

.pp-box::-webkit-scrollbar-thumb {
	background-color: #cccccc;
	width: 5px;
	border-radius: 100px;
}

.form-table {
	width: 100%;
}

.send-box .mwform-checkbox-field-text {
	color: #4D4D4D;
	font-weight: bold;
}

.send-box {
	text-align: center;
}

.agree-checkbox {
	margin: 15px 0 20px;
}

.send-btn input {
	color: #ffffff;
	font-weight: bold;
	height: 40px;
	padding: 3px 25px 0;
	transition: 0.3s;
}

.send-btn input[name="submitConfirm"],
.send-btn input[name="send"] {
	background-color: #DE0080;
	border: 1px solid #DE0080;
}

.send-btn input[name="submitConfirm"]:hover,
.send-btn input[name="send"]:hover {
	background-color: #ffffff;
	color: #DE0080;
}

.send-btn input[name="submitBack"] {
	background-color: #4D4D4D;
	border: 1px solid #4D4D4D;
}

.form-after-text {
	color: #ff0000;
}

.mw_wp_form_confirm .confirm-hidden {
	display: none;
}

.top-link-btn {
	margin: 50px auto 0;
	text-align: center;
	background: #F0008C;
	color: #FFF;
	display: block;
	width: 315px;
	padding: 10px 20px 8px;
	transition: .2s;
}

.top-link-btn:hover {
	opacity: .5;
}


.faq-link-wrap {
	margin: 0 auto;
}

.faq-link-wrap a {
	transition: .3s;
}

.faq-link-wrap a:hover {
	opacity: 0.5;
	cursor: pointer;
}

/***********************************event***************************************/
/***********アーカイブ**********/

.contents-line-mid {
	max-width: 1024px;
	width: 95%;
	margin: 0 auto;
}

.events-list-title {
	text-align: center;
	font-size: clamp(1.625rem, 1vw + 1rem, 2.188rem);
	font-weight: 900;
	color: #F0008C;
	margin-bottom: 60px;
	margin-top: 100px;
}

.archive-event-list li {
	border: 1px solid #CCC;
	padding: 18px 50px;
	margin-bottom: 30px;
	border-radius: 50px;
	transition: all 0.2s;
}

.archive-event-list a li.ev-open:hover {
	border: 1px solid #F0008C;
	color: #F0008C;
}

.archive-event-list article {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	font-size: 1.5em;
	font-weight: 700;
	letter-spacing: 1.5px;
	align-items: center;
	margin-bottom: -6px;
}

.archive-event-list label {
	padding: 3px 15px 0 15px;
	background: #80B43F;
	color: #FFF;
	font-size: .8em;
	font-weight: 600;
}

.vol {
	width: 10%;
}

.date {
	letter-spacing: 3px;
	display: table;
	width: 14%;
	text-align: right;
	margin-right: 5px;
}

.youbi {
	margin-right: 20px;
}

.round-arrow {
	position: relative;
	transition: all 0.3s;
}

.ev-close {
	position: relative;
}

.ev-close::before {
	/* 背景の表示設定 */
	content: "公開準備中";
	position: absolute;
	margin: auto;
	top: 35%;
	bottom: 0;
	right: 35px;
	color: #F4008C;
	font-weight: 700;
	font-size: 1.1em;
}

.round-arrow::before {
	/* 背景の表示設定 */
	content: "";
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	right: 35px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #F0008C;
	transition: all 0.3s;
}

.round-arrow::after {
	/* くの字の表示設定 */
	content: "";
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	right: 50px;
	width: 13px;
	height: 13px;
	border-top: 4px solid #fff;
	border-right: 4px solid #fff;
	transform: rotate(45deg);
	transition: all 0.3s;
}


.event-end {
	position: relative;
}

.event-end::before {
	/* 背景の表示設定 */
	content: "終了しました";
	position: absolute;
	margin: auto;
	top: 35%;
	bottom: 0;
	right: 35px;
	color: #FF0000;
	font-weight: 700;
	font-size: 1.1em;
}

/***********シングルページ***********/
.event-main {
	background-image: url(https://vividcosplaycarnival.com/wp-content/themes/alfred_custom/img/bg-pattern.svg);
	background-size: 700px 1626px;
}

#event-info-top {
	margin-top: 0px;
	margin-bottom: 80px;
}

#event-info-nav,
/* #event-info-news,
#event-info-detail,
#event-info-note,
#event-info-ticket,
#event-info-map,
#event-info-join {
	margin-top: 50px;
	margin-bottom: 50px;
}
 */
#event-info-twitter {
	margin-top: 50px;
	margin-bottom: 180px;
}

.info-top-title {
	color: #0071BC;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	font-size: clamp(1.5rem, 2vw + 1rem, 2.813rem);
	font-weight: 900;
	margin-bottom: 50px;
}

.info-top-title-close {
	text-align: center;
	font-size: clamp(1.5rem, 2vw + 1rem, 1.5rem);
	font-weight: 700;
	color: #F4008C;
}

.info-top-title-end {
	text-align: center;
	font-size: clamp(1.5rem, 2vw + 1rem, 1.5rem);
	font-weight: 700;
	color: #FF0000;
}

.info-top-title-vol {
	width: 20%;
}

.info-top-title-date {
	width: 40%;
	letter-spacing: 3px;
}

.info-top-title h2 {
	width: 100%;
}

#event-info-nav ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}

#event-info-nav li {
	width: 50%;
	margin: 10px 0;
	text-align: center;
}

#event-info-nav a {
	display: inline-block;
	padding: 13px 0 10px 0;
	border-bottom: 1px solid #0071BC;
	width: 390px;
	color: #0071BC;
	font-size: 1.2em;
	font-weight: 700;
	transition: .2s;
}

#event-info-nav a:hover {
	opacity: .5;
}

.event-bg {
	background: #EFF5FA;
	padding: 50px 20px;
}

.event-title {
	text-align: center;
	background: #0071BC;
	border-radius: 50px;
	padding: 13px 0 10px 0;
	width: 300px;
	margin: 0 auto 50px auto;
	font-size: 1.3em;
	font-weight: bold;
	color: #FFF;
}

.contents-line-min {
	width: 850px;
	margin: 0 auto;
}

.event-bgw {
	background: #FFF;
}

.event-news-display {
	max-height: 500px;
	height: auto;
	padding: 10px;
	overflow: auto;
}

.event-news-list {
	display: flex;
	flex-direction: column;
	height: auto;
	justify-content: flex-start;
	padding: 0;
}

#event-info-detail article {
	display: flex;
	flex-direction: column;
	padding: 30px 0;
	align-items: center;
}

.event-column {
	text-align: center;
	margin-bottom: 20px;
}

.event-column-title {
	color: #0071BC;
	font-size: 1.4em;
	font-weight: 900;
	margin: 0 0 20px 0;
	position: relative;
	padding: 0 290px;
}

.loc {
	padding: 0 280px;
}

.event-column-title::before,
.event-column-title::after {
	content: '';
	position: absolute;
	top: 50%;
	width: 265px;
	height: 1px;
	background-color: #B3B3B3;
}

.event-column-title::before {
	left: 0;
}

.event-column-title::after {
	right: 0;
}

p.event-column-data {
	font-size: 1.2em;
	font-weight: 700;
	color: #575757;
	letter-spacing: 1.5px;
	margin: 10px 0 10px 0;
}

label.event-column-title-min {
	padding: 2px 10px 0;
	border: 1px solid #D1D1D1;
	font-size: .9em;
	font-weight: 600;
}

.stage-wrap {
	margin-top: 50px;
	padding: 30px 0;
}

.stage-title {
	text-align: center;
	font-size: clamp(1rem, 2vw + 1rem, 1.5rem);
	font-weight: 900;
	color: #0071BC;
	margin-bottom: 30px;
}

.stage-msg {
	text-align: left;
	width: 80%;
	margin: 30px auto;
}

.stage-btn {
	width: 100%;
	margin: 30px 0px 0px;
}

.sakucos-btn {
	margin: 0px auto;
	padding: 10px 40px;
	border-radius: 25px;
	transition: .3s;
	display: block;
	color: #f5add5;
	background: #FFF;
	border: 1px solid #f5add5;
	max-width: 310px;
}

.sakucos-btn:hover {
	color: #FFF;
	background: #f5add5;
	border: 1px solid #f5add5;
}

#event-info-note article {
	padding: 15px;
	height: 630px;
	overflow: auto;
}

.rule-head {
	font-size: 1.2em;
	font-weight: 700;
	text-align: center;
	margin: -20px 0 20px;
}

.rule-head a {
	color: #D53183;
	border-bottom: 1px solid #D53183;
}

.rule-head a:hover {
	opacity: .7;
}

.rule-area h1 {
	font-size: 1.5em;
}

.rule-area h2 {
	font-size: 1.4em;
}

.rule-area h3 {
	font-size: 1.3em;
}

.rule-area h4 {
	font-size: 1.1em;
	margin: 10px 0;
}

.rule-area p {
	font-size: .9em;
	margin: 5px 0;
}

.rule-area a {
	color: #D53183;
	border-bottom: 1px solid #D53183;
}

.rule-area a:hover {
	opacity: .7;
}

.dress-title {
	margin-top: 50px;
}

.event-radius {
	border-radius: 20px;
}

.ticket-list-wrap {
	padding: 30px 50px;
}

.ticket-head {
	font-size: 1em;
	font-weight: 700;
	margin: -20px 0 20px;
	background: #FFF;
}

.ticket-head article {
	padding: 15px;
	overflow: auto;
	max-height: 630px;
	height: auto;
}

.advance-ticket-warp,
.advance-ticket-warp {
	margin: 30px 0 10px 0;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.ticket-cate {
	display: inline-block;
	text-align: center;
	padding: 8px 0 3px;
	width: 100px;
	background: #0071BC;
	color: #FFF;
	font-size: 1.3em;
	font-weight: 700;
}

.ticket-sale {
	margin-left: 20px;
	font-size: 1.3em;
	font-weight: 800;
	color: #575757;
	padding: 8px 0 3px;
}

.ticket-sale-date {
	font-weight: 800;
	color: #0071BC;
}

.ticket-list li {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 20px 0 40px;
	font-size: 1.2em;
	font-weight: 800;
	color: #575757;
}

.ticket-list li:last-child {
	margin: 20px 0 10px;
}

.ticket-label::before {
	content: "";
	width: 17px;
	height: 17px;
	display: inline-block;
	background: #0071BC;
	position: relative;
	top: 1px;
	margin-right: 5px;
	border-radius: 50%;
}

.ticket-info {
	width: 100%;
	font-size: 1rem;
	margin: 10px 0 10px 25px;
	font-weight: 600;
}

.ticket-btn {
	border: 1px solid #0071BC;
	background: #FFF;
	padding: 23px 50px 18px;
	/* margin: 30px 0; */
	border-radius: 50px;
	width: 100%;
	transition: all 0.1s;
	color: #0071BC;
}

.ticket-btn.round-arrow {
	position: relative;
	transition: all 0.3s;
}

.ticket-btn.round-arrow::before {
	content: "";
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	right: 35px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #0071BC;
	transition: all 0.3s;
}

.ticket-btn.round-arrow::after {
	content: "";
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	right: 50px;
	width: 13px;
	height: 13px;
	border-top: 4px solid #fff;
	border-right: 4px solid #fff;
	transform: rotate(45deg);
	transition: all 0.3s;
}

.ticket-btn:hover {
	background: #0071BC;
	color: #FFF;
}

.ticket-btn:hover.round-arrow::before {
	background: #FFF;
}

.ticket-btn:hover.round-arrow::after {
	border-top: 4px solid #0071BC;
	border-right: 4px solid #0071BC;
}

.ticket-btn-wrap a {
	font-size: clamp(1rem, 1vw + .9rem, 1.4rem);
	font-weight: 900;
	display: inline-block;
	width: 100%;
	margin-top: 30px;
	text-align: center;
}

.map-mg {
	margin: 50px auto;
}

.map-info-wrap {
	padding: 40px;
}

.map-info-wrap h4 {
	text-align: center;
	font-size: clamp(1rem, 2vw + 1rem, 2.25rem);
	font-weight: 900;
	color: #0071BC;
	margin-bottom: 30px;
}

.acf-map {
	width: 100%;
	height: 400px;
	border: #ccc solid 1px;
	margin: 20px 0;
}

.join-head {
	font-size: 1em;
	font-weight: 700;
	margin: -20px 0 20px;
	text-align: center;
}

.join-twi-btn {
	margin: 30px auto;
	padding: 15px 40px 12px;
	border-radius: 25px;
	background: #3080BD;
	transition: .3s;
}

.join-twi-btn a {
	color: #FFF;
}

.join-twi-btn:hover {
	background: #1B9BF0;
}

.event-timeline {
	margin: 0 auto;
	width: 1024px;
}

.event-timeline iframe#twitter-widget-0 {
	width: 100% !important;
	border-radius: 25px !important;
	box-shadow: none !important;
	border: 1px solid #ccc !important;
	background: #fff
}

/***********************************ticket*************************************/

.accordion-area a li:hover {
	border: 1px solid #F0008C;
	color: #F0008C;
}

.accordion-area label {
	padding: 3px 15px 0 15px;
	background: #80B43F;
	color: #FFF;
	font-size: .8em;
	font-weight: 600;
}

.accordion-area .vol {}

.accordion-area .date {
	letter-spacing: 3px;
	display: table;
	align-items: center;
	width: fit-content;
	margin-right: 30px;
	margin-left: 20px;
}

/*アコーディオン全体*/
.accordion-area {
	list-style: none;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
}

.accordion-area>li {
	transition: all 0.3s;
	margin: 50px 0;
}

.accordion-area section {
	border: 1px solid #ccc;
	border-radius: 40px;
}

.accordion-area article {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	font-size: 1.5em;
	font-weight: 700;
	letter-spacing: 1.5px;
	align-items: center;
	margin-bottom: -6px;
	border-top-right-radius: 40px;
	border-top-left-radius: 40px;
	border-bottom-right-radius: 40px;
	border-bottom-left-radius: 40px;
	position: relative;
	z-index: 0;
}

/*アコーディオンタイトル*/
.ticket-event-title {
	position: relative;
	/*+マークの位置基準とするためrelative指定*/
	cursor: pointer;
	font-size: 1rem;
	font-weight: normal;
	padding: 25px 50px;
	transition: all .7s ease;
	border-top-right-radius: 40px;
	border-top-left-radius: 40px;
	border-bottom-right-radius: 40px;
	border-bottom-left-radius: 40px;
}

.ticket-event-title.close {
	background: #DD0180;
	border-top-right-radius: 40px;
	border-top-left-radius: 40px;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
	color: #FFF;

}

.ticket-event-title.close .dow {
	color: #DD0180;
}

.ticket-event-title.close .dow::before {
	background-color: #ffffff;
}

/*アイコンの＋と×*/
.ticket-event-title::before,
.ticket-event-title::after {
	position: absolute;
	content: '';
	width: 20px;
	height: 3px;
	background-color: #333;
	transition: .3s;

}

.ticket-event-title::before {
	top: 45%;
	right: 50px;
	transform: rotate(0deg);

}

.ticket-event-title::after {
	top: 45%;
	right: 50px;
	transform: rotate(90deg);
}

/*　closeというクラスがついたら形状変化　*/
.ticket-event-title.close::before {
	transform: rotate(0deg);
	background-color: #FFF;
}

.ticket-event-title.close::after {
	transform: rotate(0deg);
	background-color: #FFF;
}

/*アコーディオンで現れるエリア*/
.ticket-detail-box {
	display: none;
	/*はじめは非表示*/
	width: 850px;
	margin: 50px auto;
}

.ticket-detail-box .ticket-list-wrap {
	border: 1px solid #CCCCCC;
	border-radius: 25px;
	padding: 0 50px 20px;
}

.ticket-detail-note {
	padding: 10px 0 40px;

}

.ticket-detail-box .ticket-cate,
.ticket-detail-box .ticket-label::before,
.ticket-detail-box .ticket-btn.round-arrow::before {
	background: #DD0180;
}

.ticket-detail-box .ticket-sale-date {
	color: #DD0180;
}

.ticket-detail-box .ticket-btn {
	border: 1px solid #DD0180;
	color: #DD0180;
}

.ticket-btn:hover.round-arrow::before {
	background: #FFF;
}

.ticket-detail-box .ticket-btn:hover {
	background: #DD0180;
	color: #FFF;
}

.ticket-detail-box .ticket-btn:hover.round-arrow::after {
	border-top: 4px solid #DD0180;
	border-right: 4px solid #DD0180;
}

.ticket-rule-wrap {
	background: #FAFAFA;
	width: 100%;
	padding: 50px 0;
}

.ticket-rule-title {
	text-align: center;
	font-size: 1.3em;
	font-weight: 900;
	color: #F0008C;
	padding: 0 0 50px 0;
}

.ticket-rule-wrap p {
	margin: 0px 50px;
	font-weight: 700;
}

.passmarket-btn {
	margin: 50px auto 0;
	text-align: center;
	background: #F0008C;
	color: #FFF;
	display: block;
	padding: 10px 20px 8px;
	transition: .2s;
}

.passmarket-btn:after {
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	margin: -3px 0 0 10px;
	background: url(https://vividcosplaycarnival.com/wp-content/themes/alfred_custom/img/pm-link-icon.svg) no-repeat;
	background-size: contain;
	vertical-align: middle;
	transition: .2s;
}

.passmarket-btn:hover {
	opacity: .5;
}

/***********************************rules**************************************/
.rules-top-wrap p {
	font-size: 0.9em;
	margin: 40px 0;
}

.rules-link-list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 80px 0;
}

.rules-link-list li {
	width: 50%;
	margin: 10px 0;
	text-align: center;
}

.rules-link-list a {
	display: inline-block;
	padding: 13px 0 10px 0;
	width: 390px;
	color: #F0008C;
	font-size: 1.2em;
	font-weight: 700;
	border-bottom: 1px solid #F0008C;
	transition: .2s;
}

.rules-link-list a:hover {
	opacity: .5;
}

.agreement-wrap h3 {
	font-size: 1.6em;
	font-weight: 900;
	color: #FFF;
	background: #F0008C;
	padding: 20px 0 20px 60px;
	border-top-left-radius: 30px;
	border-top-right-radius: 30px;
}

.agreement-text {
	border: 1px solid #CCC;
	padding: 60px;
	border-bottom-left-radius: 30px;
	border-bottom-right-radius: 30px;
}

.agreement-text p {
	margin-bottom: 40px;
	font-weight: 500;
	line-height: 1.6em;
}

.contents-line-none {
	background: #F0008C;
}

.contact-icon {
	background-image: url(https://vividcosplaycarnival.com/wp-content/themes/alfred_custom/img/contact_img01.svg), url(https://vividcosplaycarnival.com/wp-content/themes/alfred_custom/img/contact_img02.png);
	background-position: left 0px top -10px, right 0px top -10px;
	background-repeat: no-repeat, no-repeat;
	background-size: 20%, 25%;
	padding: 30px 0px;
	max-width: 1280px;
}

.contact-text {
	color: #FFF;
	text-align: center;
	font-weight: 700;
	font-size: 1.2em;
}

.contact-btn {
	display: block;
	text-align: center;
	width: 40%;
	margin: 30px auto 20px;
}

.contact-btn a {
	background: #FFF;
	border-radius: 3px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin: 0 auto;
	max-width: 280px;
	padding: 10px 25px;
	color: #DD0180;
	transition: 0.3s ease-in-out;
}

.contact-btn a:after {
	content: "";
	position: absolute;
	top: 50%;
	bottom: 0;
	right: 2rem;
	font-size: 90%;
	transition: right 0.3s;
	width: 10px;
	height: 10px;
	border-top: solid 2px currentColor;
	border-right: solid 2px currentColor;
	transform: translateY(-50%) rotate(45deg);
}

.contact-btn a:hover {
	background: #FFF572;
	color: #1A1A1A;
}

.contact-btn a:hover:after {
	right: 1.4rem;
}

/***********************************faq****************************************/
/*アコーディオンタイトル*/
.faq-title {
	position: relative;
	/*+マークの位置基準とするためrelative指定*/
	cursor: pointer;
	font-size: 1.3rem;
	font-weight: bold;
	color: #F0008C;
	padding: 15px 50px;
	transition: all .7s ease;
	border-top-right-radius: 40px;
	border-top-left-radius: 40px;
	border-bottom-right-radius: 40px;
	border-bottom-left-radius: 40px;
	display: flex;
	align-items: center;
}

.faq-title.close {
	background: #DD0180;
	border-top-right-radius: 40px;
	border-top-left-radius: 40px;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
	color: #FFF;
}

.q-circle,
.a-circle {
	font-family: 'Plus Jakarta Sans', sans-serif;
}

.q-circle {
	height: 50px;
	width: 50px;
	border-radius: 50%;
	line-height: 45px;
	text-align: center;
	font-size: 2.3rem;
	margin-right: 20px;
	transition: all .5s ease;
}

.faq-title.close .q-circle {
	background: #FFF;
	color: #F0008C;
}

.a-circle {
	height: 50px;
	width: 50px;
	border-radius: 50%;
	line-height: 45px;
	text-align: center;
	font-size: 2.3rem;
	transition: all .5s ease;
	background: #F0008C;
	color: #FFF;
}


/*アイコンの＋と×*/
.faq-title::before,
.faq-title::after {
	position: absolute;
	content: '';
	width: 20px;
	height: 3px;
	background-color: #F0008C;
	transition: .3s;

}

.faq-title::before {
	top: 45%;
	right: 50px;
	transform: rotate(0deg);

}

.faq-title::after {
	top: 45%;
	right: 50px;
	transform: rotate(90deg);
}

/*　closeというクラスがついたら形状変化　*/
.faq-title.close::before {
	transform: rotate(0deg);
	background-color: #FFF;
}

.faq-title.close::after {
	transform: rotate(0deg);
	background-color: #FFF;
}

/*アコーディオンで現れるエリア*/
.faq-detail-box {
	display: none;
	/*はじめは非表示*/
	margin: 50px;
}

.faq-detail-flex {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}

.faq-detail-flex p {
	width: 93%;
	font-weight: 700;
}

.faq-link-wrap {

	margin-bottom: 30px;
}

.faq-link-wrap figure {
	margin: 0 auto;
	width: 60%;
}

.faq-link-wrap figure img {
	max-width: 100%;
}

/***********************************news***************************************/
/***********アーカイブ**********/
.news-content-flex {
	display: flex;
	gap: 70px;
}

.archive-news-list {}

.archive-news-list li {
	border: 1px solid #999999;
	padding: 18px 25px;
	margin-bottom: 30px;
	border-radius: 15px;
}

.archive-news-list li:last-child {
	margin-bottom: 0;
}

.archive-news-list li .news-title-box {
	padding-bottom: 6px;
}

.archive-news-list .news-contents p {}

.archive-news-list-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 70%;
}

.side-news-list .news-title {
	color: #333;
	font-size: 1.1em;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}

.news-detail-box .news-title,
.archive-news-list .news-title {
	font-size: 1.1em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-weight: 900;
	margin-top: 15px;
	color: #333333;
}

.news-detail-card .news-title {

	overflow: inherit;
}

.archive-news-list .news-title a {
	transition: 0.3s;
}

.archive-news-list .news-title a:hover {
	color: #cccccc;
}

.news-detail-box .news-title {
	font-weight: 900;
	color: #333333;
}

.archive-news-list li .news-contents {
	margin-top: 10px;
}

.news-contents h1 {
	font-size: 1.5em;
}

.news-contents h2 {
	font-size: 1.4em;
}

.news-contents h3 {
	font-size: 1.3em;
}

.news-contents h4 {
	font-size: 1.1em;
	margin: 10px 0;
}

.news-contents p {
	font-size: .9em;
	margin: 5px 0;
}

.news-info-flex {
	display: flex;
	align-items: center;
	gap: 15px;
}

.news-info-flex .date {
	width: auto;
}

.archive-news-list .news-info-flex .category-p,
.news-detail-box .category-p {
	display: contents;
}

.news-info-flex .category-p a.news,
.side-category-p a.news {
	font-size: 12px;
	background: #F780C5;
	color: #FFF;
	padding: 3px 12px 0px;
}

.news-info-flex .category-p a.important-news,
.side-category-p a.important-news {
	font-size: 12px;
	background: #DE0080;
	color: #FFF;
	padding: 3px 12px 0px;
}

.side-category .news:before,
.side-category .important-news:before {
	width: 10px;
	/*点の幅*/
	height: 10px;
	/*点の高さ*/
	display: block;
	position: absolute;
	/*絶対配置*/
	left: -5px;
	/*点の位置*/
	top: 0.6em;
	/*点の位置*/
	content: "";
}

.side-category .news,
.side-category .important-news {
	position: relative;
	padding-left: 20px;
	margin-left: 30px;
}

.side-category .news:before {
	background: #F780C5;
}

.side-category .important-news:before {
	background: #DE0080;
}

#alpr {
	color: #DE0080;
	display: block;
	width: fit-content;
	margin: 15px 0 0 auto;
	font-weight: 700;
	transition: .2s;
}

#alpr:hover {
	opacity: .5;
}

.news-category-title {
	color: #0f1455;
	font-size: 20px;
	margin-bottom: 50px;
	border-bottom: 4px double;
}

.news-category-name-title {
	font-size: 115%;
}

/***********詳細ページ**********/
.news-detail-card {
	border: 1px solid #999999;
	padding: 30px 45px;
	border-radius: 15px;
}

.news-detail-box {
	width: 70%;
}

.news-detail-box .news-title {
	font-weight: bold;
	line-height: 2;
}

.news-detail-box .news-info-flex {
	margin-bottom: 13px;
}

.eyecatch-news {
	margin: 50px 0;
}

.news-detail-box .news-contents {
	margin-bottom: 70px;
}

.detail-to-archive {
	color: #DE0080;
	font-weight: 500;
	transition: 0.3s;
	font-size: 18px;
	display: inline-block;
}

.detail-to-archive:hover {
	opacity: .5;
}

.nav-links {
	display: flex;
	gap: 30px;
	justify-content: space-between;
	padding: 0 20px;
	margin: 40px 0;
	color: #0f1455;
}

.nav-links a {
	transition: 0.3s;
}

.nav-links a:hover {
	color: #999999;
}

.nav-links .nav-previous,
.nav-links .nav-next {
	width: 45%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.nav-links .nav-next {
	text-align: right;
}

/***********サイドバー**********/
.news-sidebar-sp {
	display: none;
}

.news-sidebar {
	width: 270px;
}

.widget-title {
	font-size: 24px;
	text-align: center;
	color: #DE0080;
	font-weight: 900;
	line-height: 40px;
	height: 40px;
	border-bottom: 3px solid #DE0080;
}

.side-news-list .news-title {
	transition: 0.3s;
}

.sidebar-news-category li a {
	padding: 20px 10px;
}

.sidebar-news-category li:after {
	content: "";
	width: 100%;
	height: 1px;
	display: block;
	background-color: #999999;
	position: absolute;
	left: 0;
}

.sidebar-news-category li a {
	font-size: 20px;
	display: flex;
	align-items: center;
	gap: 7px;
	transition: 0.3s;
}

.sidebar-news-category li a:hover,
.side-news-list .news-title:hover {
	color: #999999;
}

.sidebar-news-category li a:before {
	content: "";
	width: 20px;
	height: 20px;
	display: block;
}

.sidebar-news-category li a.news:before {
	background-color: #056eb9;
}

.sidebar-news-category-wrap {
	text-align: center;
	position: relative;
}

.sidebar-news-category {
	display: inline-block;
	text-align: left;
}

.widget_text:first-of-type {
	margin-bottom: 50px;
}

.side-news-list li {
	border-bottom: 1px solid #999999;
	padding: 30px 0;
	width: 90%;
	margin: 0 auto;
}

.side-news-list li .news-info-flex {
	margin-bottom: 13px;
}

.next-prev {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	margin: 20px 0;
}

.next-prev .next,
.next-prev .prev {
	position: relative;

}

.next-prev .next p,
.next-prev .prev p {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.next-prev .next a,
.next-prev .prev a {
	transition: 0.3s;
	color: #DE0080;
}

.next-prev .next a:hover,
.next-prev .prev a:hover {
	opacity: .5;
}

/************************ページネーション*****************************/
.pagination {
	font-size: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	margin: 50px 0 100px;
}

a.page-numbers {
	transition: 0.3s;
}

a.page-numbers {
	background: #FFF;
	color: #F0008C;
	border: 2px solid #F0008C;
}

.page-numbers {
	width: 35px;
	height: 35px;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	transition: 0.3s;
	border-radius: 50%;
	padding: 0 0 3px 0;
}

.page-numbers.current,
a.page-numbers:hover {
	color: #FFF572;
	background: #F0008C;
	align-items: flex-end;
}

.page-numbers.dots {
	border: none;
	width: auto;
	color: #F0008C;
}

a.page-numbers.next,
a.page-numbers.prev {
	display: block;
	width: auto;
	height: auto;
	background: transparent;
	color: #F0008C;
	border: none;
}

a.page-numbers.next:hover,
a.page-numbers.prev:hover {
	color: #ffbae2;
}

/***********************************slide***************************************/
.top-news-flex::after {
	content: "";
	height: 100%;
	width: 100%;
	right: 0;
	border-top-left-radius: 50px;
	border-bottom-left-radius: 50px;
	background-color: #DD0180;
	display: block;
	top: 0;
	left: 0;
	position: absolute;
	z-index: -1;
}

/* .slide-wrap:after{
	content: "";
	height: 60px;
	width: 60%;
	right: 0;
	border-top-left-radius: 50px;
	border-bottom-left-radius: 50px;
	background-color: #DD0180;
	display: block;
	bottom: 11%;
	position: absolute;
	z-index: 2;
} */

.recruit-slide .slide-wrap {
	height: 743px;
}

/***********************************footer***************************************/
.site-info {
	border-top: 1px solid #DDD;
}

.footer-flex {
	padding: 50px 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: space-between;
	align-items: center;
}

.footer-logo-wrap {
	display: flex;
	flex-direction: row;
}

.footer-twitter a {
	display: flex;
	flex-direction: row;
	color: #3080BD;
	letter-spacing: 1px;
	transition: .2s;
}

.footer-twitter a:hover {
	opacity: .5;
}

.footer-x-icon {
	position: relative;
	background: #3080BD;
	padding: 10px;
	font-size: 1.6em;
	color: #FFF;
	margin: 0 10px 0 0;
	width: 50px;
	height: 50px;
}

.footer-twitter i {
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
	font-size: 35px;
	line-height: 1;
}

.footer-twitter .fa-twitter:before {
	content: "\f099";
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -48% -48%;
}

.footer-sitemap-wrap {
	width: 43%;
}

.footer-sitemap-list {
	color: #333;
	display: flex;
	gap: 2px 0;
	flex-direction: row;
	flex-wrap: wrap;
}

.footer-sitemap-list a {
	transition: .2s;
}

.footer-sitemap-list a:hover {
	opacity: .5;
}

.footer-logo {
	text-align: center;
	margin: 0 10px 0 0;
}

.footer-logo img {
	width: 200px;
}

.copyright {
	text-align: center;
	font-size: 12px;
	font-weight: 700;
	padding-bottom: 10px;
}

.sep {
	display: inline-block;
}

/*********************************2023.12.25 追加*************************************/
/** イベント情報ページ **/
div.map-notes-title {
	background-color: #f5e129;
	margin-top: 16px;
	height: 24px;
	width: 100%;
}

.map-notes-text {
	padding: 1rem;
}


.cause-title-twi,
.cause-title-news {
	font-size: 35px;
	letter-spacing: 3px;
	display: block;
	width: fit-content;
	margin: auto;
	background-repeat: no-repeat;
	overflow-wrap: break-word;
	position: relative;
}

.twi-ic::before {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
	left: 0;
	translate: -100% -50%;
	height: 40px;
	width: 40px;
	padding-right: 1.5em;
	background-image: url(https://vividcosplaycarnival.com/wp-content/themes/alfred_custom/img/x-icon.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

.news-ic::before {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
	left: 0;
	translate: -100% -50%;
	height: 40px;
	width: 40px;
	padding-right: 1.5em;
	background-image: url(https://vividcosplaycarnival.com/wp-content/themes/alfred_custom/img/news-icon.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

.cause-title-twi,
.cause-sub-twi {
	color: #14171a;
}

.cause-twi-btn {
	background: #14171a;
}

.gallery-twi-btn {
	background: #14171a;
}

.footer-twitter a {
	color: #14171a;
}

.footer-x-icon {
	background: #14171a;
}

a.css-4rbku5.css-18t94o4.css-1dbjc4n.r-sdzlij.r-1phboty.r-rs99b7.r-1loqt21.r-10ptun7.r-13hce6t.r-15ysp7h.r-4wgw6l.r-1ny4l3l.r-ymttw5.r-o7ynqc.r-6416eg.r-lrvibr {
	display: none;
}