body {

}

#header {
	background: #fff;
	padding: 10px 0;
	box-shadow: 0px 0px 9px 0px rgba(0, 0, 0, 0.4);
	position: relative;
}

#header .logo img {
	max-height: 60px;
}

@media ( max-width :768px) {
	#header .trigger-menu .sp-nav {

	}
	#header .sp-nav .nav-list {
		display: none;
	}
}

#main .pc-nav {
	background: #ff79b3;
}

#main .pc-nav .nav-list .item img {
	display: block;
}

#main .page-head {
	background: url("../img/base/title_bg.jpg") center top/cover;
}

#main .page-head .banner-list .item img {
	display: block;
}

#main .page-head .page-title {
	height: 300px;
	padding: 30px 30px;
}

#main .page-body {
	background: url("../img/base/main_bg.jpg") center top repeat-y;
}

@media ( max-width :768px) {
	#main .page-body {
		background: #fff;
	}
}

#main .page-body>.container>.main-contents {
	background: rgba(255, 255, 255, 0.7);
	padding: 20px;
	min-height: 600px;
}

.breadcrumb {
	overflow: auto;
	padding-bottom: 15px;
}

.breadcrumb ul {

}

.breadcrumb ul li {
	font-size: 1rem;
	font-weight: bold;
	color: #3e3e3e;
	white-space: nowrap;
}

@media ( max-width : 768px) {
	.breadcrumb ul li {
		font-size: 0.8rem;
	}
}

.breadcrumb ul li a {
	font-weight: bold;
	color: #e91e63;
	text-decoration: underline;
}

.breadcrumb ul li::before {
	content: '>';
	color: #000;
	margin-left: 10px;
}

.breadcrumb ul li:first-child::before {
	content: none;
}

#main .contents-title {
	color: #603e25;
	letter-spacing: 1px;
	font-weight: 500;
	/* 	border-bottom: 1px solid #603e25; 	*/
	margin-bottom: 20px;
	display: flex;
	gap: 0 30px;
	align-items: center;
}

#main .contents-title .en {
	font-size: 2.5rem;
}

#main .contents-title .ja {
	font-size: 1.5rem;
	font-weight: bold;
}

@media ( max-width :768px) {
	#main .page-head {
		background: url("../img/base/sp/title_bg.jpg") center top/cover;
	}
	#main .page-head .page-title {
		height: 250px;
	}
	#main .contents-title .en {
		font-size: 1.5rem;
	}
	#main .contents-title .ja {
		font-size: 1.2rem;
	}
	#main .page-body>.container>.main-contents {
		padding-left: 0;
		padding-right: 0;
	}
}

#main .cast-list, #main .cosplay-list {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

#main .cast-list .item, #main .cosplay-list .item {
	box-sizing: border-box;
	flex: 0 0 calc(( 100% - 60px)/3);
	max-width: calc(( 100% - 60px)/3);
}

@media ( max-width :768px) {
	#main .cast-list .item, #main .cosplay-list .item {
		flex-basis: calc(( 100% - 30px)/2);
		max-width: calc(( 100% - 30px)/2);
	}
}

#main .cast-list .item .photo a, #main .cosplay-list .item .photo {
	position: relative;
	display: block;
	border-radius: 10px;
	overflow: hidden;
	border: 2px solid #ff79b3;
}

#main .cosplay-list .item .photo .no {
	font-size: 1.3rem;
	font-weight: bold;
	color: #fff;
	background: #ff79b3;
	border-radius: 100px;
	width: 3rem;
	height: 3rem;
	position: absolute;
	left: 5px;
	bottom: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
}

#main .cast-list .item .photo a::before {
	content: "";
	display: block;
	padding-top: 133.3%;
}

#main .cast-list .item .photo a>img:nth-child(1) {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

#main .cast-list .item .profile .name {
	border-radius: 7px;
	background: #ffc9d9;
	color: #333;
	font-size: 1.3rem;
	padding: 5px 10px;
	text-align: center;
	margin-top: 10px;
	font-weight: 500;
}

#main .cosplay-list .item .name {
	background-image: -moz-linear-gradient(0deg, rgb(81, 220, 150) 0%, rgb(77, 153, 248) 100%);
	background-image: -webkit-linear-gradient(0deg, rgb(81, 220, 150) 0%, rgb(77, 153, 248) 100%);
	background-image: -ms-linear-gradient(0deg, rgb(81, 220, 150) 0%, rgb(77, 153, 248) 100%);
	background-image: linear-gradient(0deg, rgb(81, 220, 150) 0%, rgb(77, 153, 248) 100%);
	color: #fff;
	font-size: 1.2rem;
	padding: 5px 10px;
	margin-top: 10px;
	font-weight: 500;
	border-radius: 10px;
}

#main .cast-list .item .profile .size-area {
	background: #fda2c3;
	font-size: 1.2rem;
	border-radius: 7px;
	text-align: center;
	margin-top: 5px;
	padding: 10px 10px;
	line-height: 1;
}

#main .cast-list .item .profile .size {
	background: #fff;
	color: #333;
	border-radius: 7px;
	text-align: center;
	padding: 5px 5px 3px;
	line-height: 1.3;
}

#main .cast-list .item .profile .date, #main .cast-list .item .profile .time {
	margin-top: 10px;
	color: #333;
	font-weight: bold;
	padding: 5px 5px 3px;
	border-radius: 7px;
	border: 3px solid #fff;
	line-height: 1.3;
}

#main .cast-list .item .profile .time .icon img {
	visibility: hidden;
}

#main .cast-list .item .profile .time .icon {
	mask: url("../img/base/cast_time.png");
	background-color: white;
}

#main .newface.cast-list .item .photo a {
	border-color: #a2fdf4;
}

#main .newface.cast-list .item .profile .size-area {
	background: #a2fdf4;
}

#main .newface.cast-list .item .profile .size {
	color: #333;
}

@media ( max-width :768px) {
	#main .cast-list .item .profile .name {
		font-size: 1rem;
	}
	#main .cast-list .item .profile .size-area {
		font-size: 0.9rem;
	}
}

#main .info-list {
	max-height: 600px;
	overflow: auto;
}

#main .info-list>.item {
	border: 2px solid #ff79b3;
	padding: 10px;
}

#main .info-list>.item>.head {
	background-color: #ff79b3;
	color: #fff;
	padding: 10px;
}

#main .info-list>.item>.head .title {
	font-size: 1.3rem;
}

#main .info-list>.item>.head .date {
	font-size: 1.3rem;
}

#main .info-list>.item>.body {
	padding: 10px 5px 5px;
	text-align: left;
	font-size: 1rem;
}

#main .info-list>.item>.body img {
	max-width: 100%;
}

.page .text-box, .page .text-box div, .page .text-box p, .page .text-box span, .page .text-box font, .page .text-box u, .page .text-box strong {
	line-height: 1.8;
}

.page .text-box strong, .page .text-box b {
	font-weight: 700
}

.page-top .widget .widget-list .item {
	max-width: calc(( 100% - 60px)/3);
	flex: 0 0 calc(( 100% - 60px)/3);
}

@media ( max-width : 768px) {
	.page-top .widget .widget-list .item {
		max-width: 100%;
		flex: 0 0 100%;
	}
}

.page-schedule {

}

.page-schedule .date-list {
	gap: 5px;
}

.page-schedule .date-list .item {
	width: calc(( 100% - 35px)/7);
}

.page-schedule .date-list .item a {
	display: block;
	border-radius: 30px;
	background-color: #FF4D82;
	color: #fff;
	text-align: center;
	padding: 15px 10px;
	font-size: 1.2rem;
	border: 2px solid #FF4D82;
	line-height: 1;
}

.page-schedule .date-list .item a:hover {
	color: #FF4D82;
	background-color: #fff;
	font-weight: 600;
}

@media ( max-width :768px) {
	.page-schedule .date-list .item {
		width: calc(( 100% - 20px)/4);
	}
	.page-schedule .date-list .item:nth-child(n+5) {
		display: none;
	}
	.page-schedule .date-list .item a {
		font-size: 1rem;
	}
}

.page-system {

}

.page-link {

}

.page-link .link-banner-list .item {
	max-width: 768px;
}

.page-link .link-banner-list .item .text {
	color: #422b19;
	font-size: 1.2rem;
}

.page-link .link-banner-list .item textarea {
	font-size: 0.8rem;
	padding: 10px;
	line-height: 1.3;
}

.page-profile {

}

.page-profile .profile1 {
	background: #f5f5f5;
	border-radius: 20px;
	padding: 20px;
}

.page-profile .profile1>div {
	flex: 0 0 calc(( 100% - 10px)/2);
	max-width: calc(( 100% - 10px)/2);
}

@media ( max-width :768px) {
	.page-profile .profile1>div {
		flex: 0 0 100%;
		max-width: 100%;
	}
}

.page-profile .profile1 .photo-group {
	width: 100%;
	position: relative
}

.page-profile .profile1 .photo-group .photo-list {
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0;
	padding-right: 100px;
	position: relative;
}

.page-profile .profile1 .photo-group .thumb-list {
	width: 95px;
	margin-left: 5px;
	position: absolute;
	right: 0;
	top: 0;
	display: block;
}

.page-profile .profile1 .photo-group .thumb-list li {
	width: 100%;
	cursor: pointer;
	opacity: .5;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
	padding: 0;
	margin-bottom: 5px
}

.page-profile .profile1 .photo-group .thumb-list li:hover {
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
}

.page-profile .profile1 .photo-group .thumb-list li .inner {
	position: relative;
	overflow: hidden
}

.page-profile .profile1 .photo-group .thumb-list li .inner:before {
	content: '';
	display: block;
	padding-top: 101%;
	width: 100%
}

.page-profile .profile1 .photo-group .thumb-list li .inner img {
	position: absolute;
	top: 0;
	left: 0
}

.page-profile .profile1 .photo-group .thumb-list .slick-active {
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
}

.page-profile .profile1 .profile .name-area {
	color: #5c3f2d;
	font-weight: bold;
}

.page-profile .profile1 .profile .name {
	font-size: 1.5rem;
}

.page-profile .profile1 .profile .size {
	font-size: 1rem;
}

.page-profile .profile1 .option {

}

.page-profile .profile1 .option-title {
	font-size: 1.2rem;
	font-weight: bold;
	color: #5c3f2d;
	border-bottom: 1px solid #5c3f2d;
	margin-bottom: 15px;
}

.page-profile .profile1 .option .option-list {

}

.page-profile .profile1 .option .option-list .item {
	flex: 0 0 calc(( 100% - 5px)/2);
	border: 1px solid #ff78b5;
	background-color: #fff;
	padding: 10px;
	color: #5c3f2d;
}

.page-profile .schedule .schedule-list .item {
	border: 1px solid #c9c9c9;
	background-color: #fff;
	width: calc(100%/ 7);
	color: #5c3f2d;
	text-align: center;
	font-weight: bold;
}

.page-profile .schedule .schedule-list .item .label {
	background-color: #f5f5f5;
	height: 2.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

.page-profile .schedule .schedule-list .item .value {
	background-color: #fff;
	height: 2.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	border-top: 1px solid #c9c9c9;
}

@media ( max-width :768px) {
	.page-profile .schedule .schedule-list .item {
		width: 100%;
		display: flex;
	}
	.page-profile .schedule .schedule-list .item .label, .page-profile .schedule .schedule-list .item .value {
		width: 50%;
	}
	.page-profile .schedule .schedule-list .item .value {
		border-top: 0;
	}
}

.page-profile .qa .qa-list .item {
	padding: 5px 15px;
	font-size: 1.1rem;
	line-height: 1.4;
	width: 100%;
	background-color: #f5f5f5;
	border-radius: 10px;
}

.page-profile .qa .qa-list .item .q {
	width: 40%;
	flex: 0 0 auto;
}

.page-profile .qa .qa-list .item .a {
	width: 60%;
}

.page-profile .qa .qa-list .item .icon {
	flex: 0 0 auto;
}

.page-profile .qa .qa-list .item .text {
	padding-left: 10px;
}

.data-list {
	width: 100%
}

.data-list .label, .data-list .value {
	padding: 10px 30px;
	border: 1px solid #c9c9c9;;
	vertical-align: top;
	color: #333
}

.data-list .label {
	font-size: 1.1rem;
	background-color: #fbdbff;
	white-space: nowrap;
	color: #603e25;
	width: 30%;
	text-align: left;
	font-weight: 700
}

.data-list .value {
	font-size: 1.2rem;
	background-color: #fff;
	padding: 10px
}

.data-list .value input[type=text], .data-list .value input[type=tel], .data-list .value input[type=email], .data-list .value select, .data-list .value textarea {
	height: 3rem;
	border: 1px solid #ff9dc9;
	font-size: 1.1rem;
	padding: 5px 10px;
	border-radius: 4px;
}

.data-list .value input[type=text], .data-list .value input[type=tel], .data-list .value input[type=email], .data-list .value textarea {
	width: 100%
}

.data-list .value textarea {
	line-height: 1.8;
	height: 150px;
}

@media ( max-width :768px) {
	.data-list .label, .data-list .value {
		display: block;
		width: 100%;
	}
}

.form-group {
	max-width: 700px;
	width: 100%;
	text-align: left;
	color: #785b2e;
	font-weight: bold;
	font-size: 1.2rem;
}

.form-group input[type="text"], .form-group input[type="email"], .form-group input[type="tel"], .form-group textarea {
	border: 2px solid #fd7fab;
	font-size: 1.2rem;
	padding: 10px;
	width: 100%;
	border-radius: 5px;
}

.form-group select {
	border: 2px solid #fd7fab;
	font-size: 1.2rem;
	padding: 5px;
	border-radius: 5px;
	height: 2.5rem;
}

.form-group textarea {
	height: 300px;
}

.form-group .label {
	color: #785b2e;
	font-weight: bold;
	font-size: 1.2rem;
	padding-bottom: 5px;
}

.form-group .value {
	padding-bottom: 15px;
}

.form-group .submit {
	background-color: #fd7fab;
	color: white;
	font-size: 1.5rem;
	padding: 10px 50px;
	border-radius: 30px;
	text-align: center;
}