/* 40th LP Style 2021-10-29*/
@import url('//fonts.googleapis.com/css2?family=Archivo+Black&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Kurenaido&display=swap');
/*
font-family: 'Archivo Black', sans-serif;
font-family: 'Zen Kaku Gothic New', sans-serif;
*/

#go_top {
	width: 50px;
	height: 50px;
}

#go_top .genericon {
	font-size: 30px;
}

.genericon-collapse::before {
	background: #f00;
}

.article_wrap h1 {
	margin-top: 1em;
	margin-bottom: 1.5em;
	max-width: 800px;
	position: relative;
	color: #000;
	font-size: 32px;
	font-family: 'Archivo Black', sans-serif;
	text-align: center;
	background-color: #ffd700;
	box-shadow: 4px 4px 0 #f00;

}

.article_wrap h1::before {
	content: '';
	position: absolute;
	bottom: -30px;
	left: 0;
	width: 100%;
	height: 10px;
	background-image: repeating-linear-gradient(-45deg, #006400 0px, #006400 2px, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%);
	background-size: 10px 10px;
	z-index: 1;
}

.article_wrap h1 span {
	position: relative;
	z-index: 2;
}

.article_wrap p {
	margin-bottom: 1em;
}

img {
	width: 100%;
}

.announce {
	margin: 3em 0 2em 0;
	/*border-radius: 4px;*/
	box-shadow: 0 0 0 10px #fff6e6;
	padding: 20px 20px 20px 20px;
	background-color: #fff6e6;
	background-image:
		linear-gradient(90deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 50%, #fff6e6 0%, #fff6e6 100%), linear-gradient(180deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 95%, #ed7780 100%);
	background-size: 8px 100%, 100% 2em;
	line-height: 2;
	color: #333;
	font-weight: bold;
}

.announce h3 {
	background: #fff6e6;
	border-radius: 8px 8px 0 0;
	margin: -20px -20px 5px -20px;
	font-size: 1.3em;
	padding: 10px 0 10px 0;
	color: #333;
	font-weight: bold;
	text-align: center;
}

.announce p {
	margin: 0;
	padding: 0;
	font-family: 'Zen Kurenaido', sans-serif;
	font-weight: 600;
}

.announce p.fromName {
	text-align: right;
}

.article_inner {
	max-width: 800px;
}

p.radiko_btn {
	max-width: 300px;
	text-align: center;
	margin: 0 auto;
}

.inner_text {
	padding: 1.5em 0;
	position: relative;
	font-family: 'Zen Kaku Gothic New', sans-serif;
}

.inner_text::before {
	content: '';
	position: absolute;
	bottom: 5px;
	left: 0;
	width: 100%;
	height: 10px;
	background-image: repeating-linear-gradient(-45deg, #006400 0px, #006400 2px, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%);
	background-size: 10px 10px;
	z-index: 1;
}

.inner_text h2 {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.5;
}

.inner_text h2 span {
	font-size: 2rem;
	font-weight: 700;
	/* letter-spacing: -3px; */
}

.inner_text p,
dl,
li {
	font-size: 1.1rem;
	line-height: 1.6;
}

.main__tit a::after {
	content: '';
	position: absolute;
	bottom: -0.2em;
	left: 0;
	width: 0;
	height: 7px;
	background-color: #f9f804;
	transition: width 0.5s;
}

.fes_img {
	max-width: 600px;
	margin: 1em auto;
}

.artist {
	padding: 1.5em 0;
}

.artist h3 {
	margin-top: 1em;
	margin-bottom: 2em;
}

.artist h3 span {
	position: relative;
	padding: 1rem 1rem;
	border-bottom: 3px solid #000;
	border-radius: 10px;
	background: #F00000;
	/* fallback for old browsers */
	background: -webkit-linear-gradient(to right, #DC281E, #F00000);
	/* Chrome 10-25, Safari 5.1-6 */
	background: linear-gradient(to right, #DC281E, #F00000);
	/* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
	font-family: "Arial", "メイリオ", sans-serif;
	font-weight: 600;
	color: #fff;
	font-size: 1.2rem;
}

.artist h3 span:before {
	position: absolute;
	bottom: -14px;
	left: 1em;
	width: 0;
	height: 0;
	content: '';
	border-width: 14px 12px 0 12px;
	border-style: solid;
	border-color: #000 transparent transparent transparent;
}

.artist h3 span:after {
	position: absolute;
	bottom: -10px;
	left: 1em;
	width: 0;
	height: 0;
	content: '';
	border-width: 14px 12px 0 12px;
	border-style: solid;
	border-color: #DC281E transparent transparent transparent;
}

.lineup {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	justify-content: center;
}

.lineup li {
	width: 25%;
	margin: 0 1em 2em;
	/* width: 22.2222%;
	margin-right: 2%;
	margin-bottom: 2%; */
}

/* .lineup li:nth-child(4n){
	margin-right: 0px;
} */

.article_wrap .inner_text .lineup li p {
	line-height: 1.3em;
	margin-bottom: 0;
	font-size: 14px;
	text-align: center;
}

.article_wrap .fes_img p {
	margin: 20px 0;
}

.present {
	padding: 1em 1em 1em 2.5em;
	background-color: antiquewhite;
	position: relative;
}

.present li {
	line-height: 1.5;
	padding: 0.5em 0;
	border-bottom: 1px dotted #DC281E;
}

.present li:before {
	content: '\f06b';
	position: absolute;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	left: 0.85em;
	color: #DC281E;
}

.letter {
	padding: 2em 2em 180px 2em;
	margin: 0 0 50px 0;
	background-image: url(../images/2022again/bg_letter.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: bottom;
	background-color: #e14351;
	color: #fff;
	border-radius: 10px;
}

.letter_title {
	margin: 0 0 1em 0;
	font-size: 1.2em;
	font-weight: bold;
	border-bottom: solid 3px #fff;
}

.sponsor_list {
	width: 85%;
	margin: 0 auto 30px;
}

.sponsor_item:not(:last-child) {
	margin-bottom: 30px;
}

.sponsor_item a {
	display: block;
	text-decoration: none;
	opacity: 1;
	transition: opacity 0.2s;
}

.sponsor_item a:hover {
	opacity: 0.6;
}

.nav_list {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}

.nav_item {
	width: calc((100% / 2) - 1em);
	margin: 0 0.5em 0.5em;
}

.artist_nav .nav_item {
	width: calc((100% / 3) - 1em);
	margin: 0 0.5em 0.5em;
}

.nav_item a {
	padding: 0.5em 1em;
	font-size: 16px;
	color: #fa6682;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	background-color: #fff0ef;
	display: block;
	position: relative;
	transition: color 0.2s;
}

.nav_item a::after {
	content: '';
	width: 8px;
	height: 8px;
	border: 0;
	border-bottom: solid 2px #fa6682;
	border-right: solid 2px #fa6682;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	right: 14%;
	bottom: 0;
	margin: auto;
	transition: border-color 0.2s;
}

.nav_item a:hover {
	color: #c92845;
}

.nav_item a:hover::after {
	border-color: #c92845;
}

.flow_list {
	margin: 0 0 50px 0;
}

.flow_item {
	padding: 20px;
	border: solid 3px #ccc;
	border-radius: 15px;
	position: relative;
}

.flow_item:not(:last-child) {
	margin: 0 0 30px 0;
}

.flow_item:not(:last-child)::after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 15px 15px 0 15px;
	border-color: #CCCCCC transparent transparent transparent;
	position: absolute;
	bottom: -25px;
	left: 50%;
	transform: translateX(-50%);
}

.flow_item figure,
.box-dashed figure {
	width: 150px;
	margin: 0 25px 0 0;
	flex-shrink: 0;
}

.flow_item figure img,
.box-dashed figure img {
	max-height: 180px;
	object-fit: contain;
}

.flow_item dt {
	margin: 0 0 0.5em 0;
	font-weight: bold;
}

.box-dashed {
	padding: 20px;
	border: dashed 3px #f4d463;
	border-radius: 15px;
}

.l-flex {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.l-flex2 {
	display: flex;
	align-items: flex-start;
	justify-content: center;
}

.archive_item {
	margin-bottom: 10px;
}

.archive_item a {
	font-size: 1.1rem;
	color: #000;
	text-decoration: none;
	position: relative;
	transition: color ease 0.3s;
}

.archive_item a:hover {
	color: #f43b5d;
}

.fa-chevron-circle-right:before {
	margin-right: 0.5em;
	font-size: 0.8em;
}

.santasticman-present p {
	margin-bottom: 0;
	font-size: 18px;
}

.santasticman-present ul {
	margin-bottom: 1.5rem;
	font-size: 18px;
}

.btn-line {
	width: 70%;
	min-width: 300px;
	margin: 0 auto 30px;
}

.btn-line a {
	padding: 20px 10px;
	font-size: 1.1rem;
	font-weight: bold;
	color: #fa6682;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	background: #fff0ef;
	position: relative;
	display: block;
}

.btn-line a::before,
.btn-line a::after {
	content: '';
	width: 0;
	height: 2px;
	background-color: #fa6682;
	transition: .3s;
	position: absolute;
}

.btn-line a::before {
	top: 0;
	left: 0;
}

.btn-line a::after {
	bottom: 0;
	right: 0;
}

.btn-line a:hover::before,
.btn-line a:hover::after {
	width: 100%;
}

.btn-oval a:hover {
	color: #fa6682;
}

.btn-underline a:hover::before,
.btn-underline a:hover::after {
	transform: scaleX(1);
}

.btn-oval {
	width: 85%;
	min-width: 300px;
	max-width: 480px;
	margin: 10px auto;
}

.pre-btn-oval,
.btn-oval a {
	/* padding: 10px 20px; */
	padding: 20px;
	border-radius: 50vh;
	font-size: 1.4rem;
	text-align: center;
	font-weight: bold;
	color: #fff;
	line-height: 1.2;
	text-decoration: none;
	border: solid 2px #5085f0;
	background-color: #5085f0;
	display: block;
	transition: background-color ease 0.3s, color ease 0.3s;
}

.pre-btn-oval {
	padding: 10px 20px;
}

.btn-oval a:hover {
	color: #5085f0;
	background-color: #fff;
}

.btn-back {
	width: 70%;
	min-width: 300px;
	margin: 0 auto 30px;
}

.btn-back a {
	padding: 20px 10px;
	font-size: 1.1rem;
	font-weight: bold;
	color: #000;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	background: #ccc;
	position: relative;
	display: block;
	opacity: 1;
	transition: opacity ease 0.3s;
}

.btn-back a:hover {
	opacity: 0.7;
}

.sp-show {
	display: none;
}

.indent {
	text-indent: -1em;
	padding-left: 1em;
}

.inner_text p.txt_impact {
	font-size: 35px;
	font-weight: bold;
	margin: 0 auto 0;
	text-align: center;
	background: linear-gradient(90deg, #e70b0bf5 0%, #c50274 40%, #e07c09 80%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	transform: rotate(-2deg);
}

.inner_text p.txt_impact span {
	font-weight: 600;
	font-size: 42px;
}

.inner_text p.txt_impact_sub {
	font-size: 16px;
	color: #c92845;
	font-weight: 600;
	text-align: center;
	transform: rotate(-2deg);
}

.label {
	padding: 5px 15px 8px;
	font-size: 1.1rem;
	color: #fff;
	line-height: 1;
	font-weight: bold;
	background-color: #DC281E;
	display: inline-block;
}

/* .letter {
	border: solid 2px #ffccd5;
	margin: 0 0 1em 0;
	border-radius: 6px;
	background: #fff6e6;
	padding: 22px 8px 22px 8px;
	line-height: 2;
	font-weight: bold;
  }

.letter_title {
	border-bottom: solid 2px #ffccd5;
	font-size: 1.15em;
	background-color: #fff4f4;
	background-image:
	linear-gradient(-45deg, rgba(255,224,224,.5) 25%, transparent 25%, transparent 50%, rgba(255,224,224,.5) 50%, rgba(255,224,224,.5) 75%, transparent 75%, transparent 100%),
	linear-gradient(45deg, rgba(255,224,224,.5) 25%, transparent 25%, transparent 50%, rgba(255,224,224,.5) 50%, rgba(255,224,224,.5) 75%, transparent 75%, transparent 100%);
	background-size: 35px 35px;
	color: #ed4c9d;
	padding: 4px;
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.05em;
	margin: -22px -8px 22px -8px;
	border-radius: 6px 6px 0 0;
  }

.letter_text {
	margin: 0 20px;
	padding: 0;
	background-image:
	linear-gradient(90deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 50%, #fff6e6 0%, #fff6e6 100%), linear-gradient(180deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 95%, #ed7780 100%);
	background-size: 8px 100%,100% 2em;
	position: relative;
  }

.letter_text img{
	width: 35%;
	position: absolute;
	right: 2em;
	bottom: 0;
} */


@media (max-width: 640px) {
	.announce {
		margin: 1.5em .75em;
	}

	.inner_text {
		padding: 5px;
	}

	.inner_text h2 {
		font-size: 1.2rem;
	}

	.inner_text h2 span {
		font-size: 1.5rem;
	}

	.inner_text p,
	dl,
	li {
		font-size: 0.95rem;
	}

	/*.article_wrap h1{text-align: left; font-size:1.2em;}
	.article_wrap h1::after{ width: 100%;}*/
	.artist h3 span {
		font-size: 1rem;
	}

	.lineup {
		width: 100%;
		/* justify-content: space-between; */
		justify-content: center;
	}

	.lineup li {
		width: 48%;
		margin: 0 3px 25px;
	}

	/* .lineup li:nth-child(2n){
		margin-right: 0px;
	} */
	.article_wrap .inner_text .lineup li p {
		font-size: .824rem;
	}

	.archive_item a {
		font-size: 1.15rem;
	}

	.letter {
		padding-bottom: 70px;
	}

	.sponsor {
		padding-left: 0;
		padding-right: 0;
	}

	.santasticman-present ul {
		font-size: 16px;
	}

	.artist_nav .nav_item,
	.nav_item {
		width: 100%;
	}

	.flow_item {
		padding: 15px;
	}

	.sponsor_list {
		width: 90%;
	}

	.flow_item dt,
	.box-dashed dt {
		text-align: center;
	}

	.flow_item figure {
		margin-right: 0;
		margin-top: 10px;
	}

	.flow_item figure img,
	.box-dashed figure img {
		max-height: 150px;
	}

	.l-flex {
		flex-direction: column-reverse;
	}

	.btn-oval,
	.btn-oval a {
		font-size: 1.2rem;
	}

	.sp-show {
		display: block;
	}

	.inner_text p.txt_impact {
		font-size: 30px;
	}

	.inner_text p.txt_impact span {
		display: block;
		font-weight: 600;
		font-size: 32px;
	}
}

.font-ss {
	font-size: .77em;
}

.txt-r {
	text-align: right;
}

.fc_red {
	color: #f00;
}

.fc_blue {
	color: #00f
}

.fc_lightblue {
	color: #5085f0
}

.fc_pink {
	color: #f469d6
}

.fc_gold {
	background-image: linear-gradient(0deg, #b8751e 0%, #ffce08e3 37%, #ebcf52 47%, #dfd04b 50%, #fac564 53%, #e1d208 63%, #b8751e 100%);
	-webkit-background-clip: text;
	color: transparent;
}

.font-large {
	font-size: 1.5rem;
}

.font-bold {
	font-weight: 700;
}

.marker-pink {
	background: linear-gradient(transparent 70%, #fb44ed61 30%);
}

.emphasis {
	font-size: 1.4rem;
	font-weight: 700;
}

img {
	vertical-align: top;
}

.article_wrap .textlink {
	color: #ff8303;
	font-weight: 700;
	text-decoration: none;
	opacity: 1;
}

.article_wrap .textlink:hover {
	opacity: 0.7;
}

.head-line {
	padding-left: 8px;
	margin-bottom: 5px;
	line-height: 1;
	border-left: solid 7px blue;
}

@media (max-width: 640px) {

	.font-large,
	.emphasis {
		font-size: 1.3rem;
	}
}