@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&display=swap');
@charset "utf-8";

/* magnific popup */
.mfp-container {
	position: fixed;
}
.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content {
	width: auto;
}
.mfp-content {
	color: #fff;
	text-align: left;
	padding-top: 0;
}
.mfp-bg {
	opacity: 0.9;
}
.mfp-arrow-right {
	background: url("../images/gallery/arrow_next.png") no-repeat!important;
}
.mfp-arrow-left {
	background: url("../images/gallery/arrow_prev.png") no-repeat!important;
	background-position: right!important;
}
.mfp-arrow-right:before,
.mfp-arrow-left:before {
	display: none;
}
.mfp-arrow-right:after,
.mfp-arrow-left:after {
	display: none;
}
.mfp-content .name {
	font-weight: 500;
}
.mfp-content .title,
.mfp-content .account {
	font-weight: 300;
}
#gallery .mfp-content {
	position: relative;
}
#gallery .mfp-close {
	position: absolute!important;
}
#gallery .mfp-close::before, #gallery .mfp-close::after{
	height: 1px!important;
}
#gallery .image img{
	pointer-events: none;
}
.collabo-head__title div,
.collabo-head__title h4 {
	width: 100%;
	text-align: center;
}
.contest {
	margin: 0 auto;
}
.contest h4 {
	text-align: center;
	color: #000048;
	border: 2px #090734 solid;
	border-radius: 30px;
	font-family: "Aoto Gothic DemiBold";
}
.contest p,
.contest ol,
.contest ul {
	color: #000048;
	font-family: "Aoto Gothic Regular";
}
.contest p.period {
	text-align: center;
}
.comic {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	text-align: center;
	flex-wrap: wrap;
	color: #000064;
}
.comic a {
	color: #000064;
	text-decoration: none;
}
.comic a img {
	line-height: 0;
	vertical-align: top;
	border: 2px #000064 solid;
}
.comic .comic-blk {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	text-align: center;
	flex-wrap: wrap;
}
.comic .comic-blk .image a {
	display: block;
}
.comic .comic-blk .image img {
	width: 100%;
}
.comic .comic-blk .artist a img {
	border: 0;
}
.comic .comic-blk .name {
	font-weight: 600;
}
.comic .comic-blk .title {
	font-weight: 400;
	font-family: "Montserrat", sans-serif;
}
.comic .comic-blk .account {
	font-weight: 500;
	font-family: "Montserrat", sans-serif;
}
.comic .comic-blk .account a:hover {
	color: #c8f028;
}
.comic .comic-blk .account a i {
	color: #c8f028;
	padding-left: 8px;
}
.comic .comic-blk .story {
	display: flex;
	justify-content: space-between;
	align-items: end;
	text-align: center;
	flex-wrap: wrap;
	background: #c8f028;
}
.comic .comic-blk .artist {
	border-radius: 50%;
}
.comic .comic-blk .artist img {
	width: 100%;
	border-radius: 50%;
	vertical-align: top;
}
.comic .comic-blk .story .date {
	font-family: "Montserrat", sans-serif;
}
@media screen and (min-width: 769px), print {
	.mfp-close-btn-in .mfp-close {
		right: 30px!important;
	}
	.mfp-content .title {
		font-size: 15px;
		margin: 10px 0 0 0;
	}
	.mfp-content .name {
		font-size: 25px;
		margin:  0;
	}
	.mfp-content .account {
		font-size: 18px;
	}
	.mfp-content .img_h .image {
		width: auto;
		max-height: 80vh;
	}
	.mfp-content .img_h .image img {
		width: auto;
		max-height: 80vh;
	}
	.mfp-content .img_w .image {
		width: auto;
		max-height: 80vh;
	}
	.mfp-content .img_w .image img {
		width: 100%;
		max-height: 80vh;
	}
	#gallery .mfp-close {
		width: 60px!important;
		height: 60px!important;
		top: 88%!important;
		right: 0!important;
	}
	#gallery .img_h .mfp-close {
		right: 0!important;
		top: 92.5%!important;
	}
	.contest {
		width: 700px;
		margin-bottom: 80px;
	}
	.contest h4 {
		margin: 0 auto 30px auto;
		padding: 5px 0;
		width: 190px;
		font-size: 20px;
	}
	.contest p {
		width: 570px;
		font-size: 16px;
		line-height: 1.8;
		margin: 20px auto 50px auto;
	}
	.contest p.period {
		width: 700px;
		font-size: 21px;
		line-height: 1.5;
	}
	.contest p.period strong {
		font-size: 34px;
		line-height: 1.5;
	}
	.contest img.present  {
		margin: 20px auto 0 auto;
		width: 100%;
		max-width: 320px;
	}
	.contest p + p {
		margin-top: -40px;
	}
	.contest ol {
		width: 570px;
		margin: 20px auto 50px auto;
		padding: 0;
	}
	.contest ol li {
		font-size: 16px;
		line-height: 1.8;
		margin: 0 0 10px 25px;
		padding: 0;
	}
	.contest ol.notice {
		font-size: 15px;
		line-height: 1.6;
		margin: 0 auto 50px auto;
	}
	.contest ol.notice li {
		font-size: 15px;
		line-height: 1.5;
	}
	.contest ul {
		margin: 20px 0;
		padding: 0;
		list-style-type: none;
	}
	.contest ul li {
		line-height: 1.8;
		margin: 0 0 10px 0;
		padding: 0;
	}
	.comic {
		max-width: 1100px;
		margin: 40px auto 60px auto;
	}
	.comic .comic-blk {
		width: calc(50% - 20px);
		margin: 0 10px 80px 10px;
		text-align: left;
	}
	.comic .comic-blk .title {
		font-size: 15px;
		margin: 10px 0 0 0;
	}
	.comic .comic-blk .name {
		font-size: 25px;
		margin:  0;
	}
	.comic .comic-blk .account {
		font-size: 17px;
	}
	.comic .comic-blk .image {
		width: 42%;
		margin-right: 4%;
	}
	.comic .comic-blk .text {
		width: 52%;
	}
	.comic .comic-blk .story {
		padding: 5px 10px;
	}
	.comic .comic-blk .artist {
		width: 80px;
		margin: 15px 0 0 0;
	}
	.comic .comic-blk .story .number {
		font-size: 25px;
		font-weight: 600;
	}
	.comic .comic-blk .story .date {
		font-size: 20px;
		font-weight: 500;
		margin-bottom: 5px;
	}
}
@media screen and (max-width: 768px) {
	.mfp-content .title {
		font-size: 14px;
		margin: 10px 0 0 0;	
	}
	.mfp-content .name {
		font-size: 19px;
		margin:  0 0 3px 0;
	}
	.mfp-content .account {
		font-size: 15px;
	}
	.mfp-content .img_h {
		margin: 0 5%;
	}
	.mfp-content .img_h .image {
		width: auto;
		max-height: 80vh;
	}
	.mfp-content .img_h .image img {
		width: 100%;
		max-height: 80vh;
	}
	.mfp-content .img_w {
		margin: 0 5%;
	}
	.mfp-content .img_w .image {
		width: 100%;
	}
	.mfp-content .img_w .image img {
		width: 100%;
	}
	.mfp-arrow {
		opacity: 1;
	}
	.mfp-arrow-right {
		background-size: 30px auto!important;
		right: -30px!important;
	}
	.mfp-arrow-left {
		background-size: 30px auto!important;
		left: -30px!important;
	}
	#gallery .mfp-close {
		width: 40px!important;
		height: 40px!important;
		top: 90%!important;
		right: 15px!important;
	}
	#gallery .img_w .mfp-close {
		top: 85%!important;
	}
	.contest {
		width: 90%;
		margin-bottom: 80px;
	}
	.contest h4 {
		margin: 0 auto;
		padding: 5px 0;
		width: 250px;
		font-size: 18px;
	}
	.contest p {
		width: 90%;
		font-size: 15px;
		line-height: 1.8;
		margin: 20px auto 50px auto;
	}
	.contest p.notice {
		font-size: 14px;
		line-height: 1.8;
		margin: 0 auto 50px auto;
	}
	.contest p.period {
		width: 100%;
		font-size: 18px;
		line-height: 1.4;
	}
	.contest p.period strong {
		font-size: 28px;
	}
	.contest img.present {
		margin: 20px auto 0 auto;
		width: 90%;
		max-width: 320px;
	}
	.contest p + p {
		margin-top: -40px;
	}
	.contest ol {
		width: 95%;
		margin: 20px auto 50px auto;
		padding: 0;
	}
	.contest ol li {
		font-size: 15px;
		line-height: 1.8;
		margin: 0 0 10px 25px;
		padding: 0;
	}
	.contest ol.notice {
		font-size: 15px;
		line-height: 1.8;
		margin: 0 auto 50px auto;
	}
	.contest ol.notice li {
		font-size: 15px;
		line-height: 1.8;
	}
	.contest ul {
		margin: 20px 0;
		padding: 0;
		list-style-type: none;
	}
	.contest ul li {
		line-height: 1.8;
		margin: 0 0 10px 0;
		padding: 0;
	}
	.comic {
		max-width: 90%;
		margin: 30px auto;
	}
	.comic .comic-blk {
		width: calc(100% - 0);
		margin: 0 0 30px 0;
		text-align: left;
	}
	.comic .comic-blk .title {
		font-size: 14px;
		margin: 5px 0 0 0;
	}
	.comic .comic-blk .name {
		font-size: 19px;
		margin:  0 0 3px 0;
	}
	.comic .comic-blk .account {
		font-size: 14px;
	}
	.comic .comic-blk .image {
		width: 50%;
		margin-right: 5%;
	}
	.comic .comic-blk .text {
		width: 45%;
	}
	.comic .comic-blk .artist {
		width: 80px;
		margin: 5px 0 0 0;
	}
	.comic .comic-blk .story {
		padding: 3px 10px;
	}
	.comic .comic-blk .story .number {
		font-size: 18px;
		font-weight: 600;
	}
	.comic .comic-blk .story .date {
		font-size: 13px;
		font-weight: 500;
		margin-bottom: 3px;
	}
}
@media only screen and (min-width:479px) and (max-width:1214px) {
	.mfp-content .title {
		font-size: 14px;
		margin: 10px 0 0 0;
	}
	.mfp-content .name {
		font-size: 19px;
		margin:  0 0 3px 0;
	}
	.mfp-content .account {
		font-size: 15px;
	}
	.mfp-content .img_h {
		margin: 0 5%;
	}
	.mfp-content .img_h .image {
		width: auto;
		max-height: 80vh;
	}
	.mfp-content .img_h .image img {
		width: 100%;
		max-height: 80vh;
	}
	.mfp-content .img_w {
		width: 100%!important;
		margin: 0 auto!important;
	}
	.mfp-content .img_w .image {
		width: auto;
		max-height: 70vh;
	}
	.mfp-content .img_w .image img {
		width: 100%;
		max-height: 70vh;
	}
	.mfp-arrow-right {
		background-size: 30px auto!important;
		right: -30px!important;
	}
	.mfp-arrow-left {
		background-size: 30px auto!important;
		left: -30px!important;
	}
	#gallery .mfp-close {
		width: 40px!important;
		height: 40px!important;
		top: 95%!important;
	}
	#gallery .img_w .mfp-close {
		top: 90%!important;
		right: 0!important;
	}
	#gallery .img_h .mfp-close {
		right: 30px!important;
	}
}

.tab-menu {
	display: flex;
	justify-content: center;
	align-items: center;
}
.tab-menu .tab-btn {
	background: #fff;
	color: #000064;
	font-weight: bold;
	text-align: center;
}
.tab-menu a {
	text-decoration: none;
	display: block;
	color: #000064;
}
.tab-menu a.current {
	pointer-events: none;
}
.tab-menu a:hover {
	color: #44c046;
}
@media screen and (min-width: 769px), print {
	.tab-menu .tab-btn {
		margin: 0 15px 30px 15px;
		border-radius: 50px;
		border: 2px solid #000064;
		color: #000064;
		font-size: 20px;
	}
	.tab-menu .tab-btn a {
		padding: 10px 60px;
	}
	.tab-menu .collabo-on,
	.tab-menu .contest-on,
	.tab-menu .comic-on {
		box-shadow:
		10px 8px 0 -2px rgba(200, 240, 40, 1),
		10px 8px 0 0 rgba(0, 0, 100, 1);
	}
}

@media screen and (max-width: 768px) {
	.tab-menu .tab-btn {
		width: 42%;
		margin: 0 2% 20px 2%;
		border-radius: 30px;
		border: 2px solid #000064;
		color: #000064;
		font-size: 15px;
	}
	.tab-menu .tab-btn a{
		padding: 10px 10px;
	}
	.tab-menu .collabo-on,
	.tab-menu .contest-on,
	.tab-menu .comic-on {
		box-shadow:
		5px 6px 0 -1px rgba(200, 240, 40, 1),
		5px 6px 0 0 rgba(0, 0, 100, 1);
	}
}