@charset "utf-8";
.about_section {
		padding: 100px 0 0;
		color: #fff;
		position: relative;
		z-index: 2
}
.about_section::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -150px;
		left: 0;
		width: 100%;
		height: 1000px;
		background-repeat: no-repeat;
		background-position: center bottom;
		background-size: 3000px;
		background-image: url("../images/about_bg_pc.png");
		z-index: 0
}
@media(max-width: 1439px) {
		.about_section::after {
				bottom: -150px;
				left: 0;
				width: 100%;
				height: 500px;
				background-size: 2000px;
				background-image: url("../images/about_bg_mid.png");
		}
}
@media(max-width: 767px) {
		.about_section::after {
				bottom: -120px;
				left: 0;
				height: 65vw;
				background-size: 100%;
				background-image: url("../images/about_bg_sp.png");
		}
}
.about_hd_wrap {
		display: flex;
		justify-content: center;
		position: relative;
		margin-bottom: -105px;
		z-index: 2
}
.about_hd_wrap.phantom {
		margin-bottom: -113px;
}
.about_hd {
		width: 885px;
}
.about_hd img {
		width: 100%;
		height: auto
}
.about_phantom, .about_battle {
		min-height: 880px;
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		z-index: 2
}
.about_phantom::before, .about_battle::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 880px;
		background-repeat: no-repeat;
		background-position: center top;
		background-size: 3000px;
		pointer-events: none
}
.about_phantom::before {
		background-image: url("../images/phantom_bg_pc.png")
}
.about_battle::before {
		background-image: url("../images/battle_bg_pc.png")
}
.about_phantom {
		margin: 0 0 20px;
}
.phantom_gr {
		position: relative;
		width: 700px;
		height: 540px;
		top: 40px;
		left: -70px;
		flex: 1
}
.battle_gr {
		position: relative;
		width: 630px;
		height: 583px;
		top: 60px;
		right: 0;
		flex: 1
}
.phantom_gr div, .battle_gr div {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
}
.phantom_gr div img, .battle_gr div img {
		width: 100%;
		height: auto;
}
.about_inner {
		position: relative;
		width: 1080px;
		margin: 0 auto;
		display: flex;
		align-items: center;
}
.about_phantom .about_inner {
		left: -100px;
}
.about_battle .about_inner {
		left: 100px;
}
.about_inner h4 {
		font-size: 32px;
		font-weight: 600;
		line-height: 1.4;
		margin: 0 0 10px;
}
.about_inner ul {
		margin-left: 0.75em;
		margin-bottom: 25px;
		font-size: 24px;
		font-weight: 500;
		list-style: none;
}
.about_txt {
		line-height: 2.0;
		font-weight: 500;
}
.about_inner li {
		position: relative;
		margin: 0 0 10px;
}
.about_inner li::after {
		content: '・';
		display: block;
		position: absolute;
		top: 0;
		left: -0.75em;
}
.about_inner ul li:last-child {
		margin: 0
}
.about_inner .dio {
		position: absolute;
		width: 393px;
		right: -210px;
		top: -100px;
		z-index: 0
}
.about_inner .zep {
		position: absolute;
		width: 310px;
		left: -280px;
		top: -100px;
		z-index: 0
}
.about_inner .dio img, .about_inner .zep img {
		width: 100%;
		height: auto;
}
.chara_name {
		color: #fff;
		font-size: 14px;
		width: auto !important;
		height: 1em !important;
}
.phantom_gr div.phantom_name {
		position: absolute;
		top: auto;
		bottom: 40px;
		left: 235px;
}
.battle_gr div.battle_name {
		position: absolute;
		top: auto;
		bottom: 40px;
		left: 292px;
}
.about_inner .dio .chara_name {
		position: absolute;
		top: auto;
		right: 0;
		bottom: -20px;
}
.about_inner .zep .zepName {
		position: absolute;
		top: auto;
		right: 104px;
		bottom: -24px;
}
.phantom_caption, .battle_caption {
		position: relative;
		z-index: 1
}
.about_battle .spCaption {
		display: flex;
		align-items: center;
}
@media(max-width: 1400px) {
		.about_phantom {
				margin-bottom: 0;
		}
		.about_hd_wrap {
				margin-bottom: -60px;
		}
		.about_hd_wrap.phantom {
				margin-bottom: -70px;
		}
		.about_hd {
				width: 50vw;
		}
		.about_phantom, .about_battle {
				min-height: 675px;
		}
		.about_phantom::before {
				background-size: 2000px;
				height: 675px;
		}
		.about_battle::before {
				background-size: 2000px;
				height: 675px;
		}
		.about_phantom::before {
				background-image: url("../images/phantom_bg_mid.png");
		}
		.about_battle::before {
				background-image: url("../images/battle_bg_mid.png")
		}
		.about_phantom .about_inner {
				left: 0
		}
		.about_inner {
				width: 100%;
		}
		.phantom_gr {
				width: 48vw;
				height: 37vw;
				top: 40px;
				left: 0;
				flex: initial;
		}
		.phantom_caption {
				padding-left: 20px;
		}
		.about_inner .dio {
				width: 26vw;
				right: -0;
				top: -80px;
		}
		.about_inner h4 {
				font-size: 28px;
				margin: 0 0 10px;
		}
		.about_inner ul {
				margin-bottom: 25px;
				font-size: 20px;
		}
		.chara_name {
				font-size: 12px;
		}
		.phantom_gr div.phantom_name {
				top: auto;
				bottom: 1.4vw;
				left: 16.5vw;
		}
		.about_inner .dio .chara_name {
				top: auto;
				right: 2vw;
				bottom: -2.4vw;
		}
		.about_battle .about_inner {
				left: 0;
		}
		.battle_gr {
				width: 44vw;
				height: 40vw;
				top: 2vw;
				right: 0;
		}
		.about_inner .zep {
				width: 21vw;
				left: 0px;
				top: -6vw;
		}
		.about_battle .spCaption {
				margin-left: calc(21vw - 30px);
		}
		.about_inner .zep .zepName {
				right: inherit;
				left: 3.7vw;
				bottom: -1.8vw;
		}
		.battle_gr div.battle_name {
				bottom: 2.5vw;
				left: 18vw;
		}
}
@media(max-width: 1100px) {
		.about_inner h4 {
				font-size: 22px;
				margin: 0 0 10px;
		}
		.about_inner ul {
				margin-bottom: 25px;
				font-size: 16px;
		}
		.about_txt {
				font-size: 14px;
		}
}
@media(max-width: 960px) {
		.about_phantom {
				margin-bottom: 35px;
		}
		.about_hd_wrap {
				margin-bottom: -25px;
		}
		.about_hd_wrap.phantom {
				margin-bottom: -35px;
		}
		.about_phantom, .about_battle {
				min-height: inherit;
				height: 510px
		}
		.about_phantom::before {
				background-image: url("../images/phantom_bg_tablet.png");
				background-size: 1000px;
				height: 510px;
		}
		.about_battle::before {
				background-image: url("../images/battle_bg_tablet.png");
				background-size: 1000px;
				height: 510px;
		}
		.chara_name {
				font-size: 10px;
		}
		.about_inner .dio {
				width: 26vw;
				top: -16vw;
		}
		.about_inner .zep .zepName {
				right: inherit;
				left: 3vw;
				bottom: -3.5vw;
		}
		.battle_gr div.battle_name {
				bottom: 2.5vw;
				left: 15vw;
		}
}
@media(min-width: 768px) {
		.spFigure {
				display: none
		}
}
@media(max-width: 767px) {
		.about_battle .spCaption {
				margin-left: 0;
		}
		.about_inner {
				width: auto;
				height: auto;
				display: block;
		}
		.about_phantom .about_inner {
				left: inherit;
				height: 254vw
		}
		.about_hd_wrap, .about_hd_wrap.phantom {
				margin-bottom: 0;
		}
		.about_hd {
				width: 100%;
		}
		.phantom_gr, .battle_gr {
				width: auto;
				height: auto;
				top: inherit;
				left: inherit
		}
		.phantom_gr div, .battle_gr div {
				position: static;
		}
		.about_phantom::before, .about_battle::before {
				display: none
		}
		.about_phantom {
				background-repeat: no-repeat;
				background-position: 0 0;
				background-size: 100%;
				background-image: url("../images/phantom_bg_sp.png");
				min-height: inherit;
				height: 318vw;
				display: flex;
				justify-content: center;
				align-items: center;
				margin-bottom: 20vw;
		}
		.about_battle {
				background-repeat: no-repeat;
				background-position: 0 0;
				background-size: 100%;
				background-image: url("../images/battle_bg_sp.png");
				min-height: inherit;
				height: 318vw;
				width: auto;
				display: flex;
				justify-content: center;
				align-items: center;
		}
		.phantom_2-1, .battle_2-2 {
				max-width: 280px;
				margin: 0 auto 25px;
		}
		.spCaption, .about_battle .spCaption {
				display: flex;
				flex-direction: column-reverse;
		}
		.phantom_2-2, .phantom_2-3, .phantom_gr div.phantom_name, .about_inner .dio {
				display: none
		}
		.about_inner h4 {
				font-size: 22px;
				text-align: center;
				margin: 0 0 15px;
				line-height: 1.6;
		}
		.about_inner ul {
				margin-bottom: 25px;
				font-size: 18px;
		}
		.about_inner ul li {
				margin-bottom: 10px;
		}
		.spCenter {
				display: flex;
				justify-content: center;
		}
		.about_txt {
				font-size: 16px;
				text-align: center;
				line-height: 1.8;
				margin: 0 0 15px
		}
		.about_battle .about_inner {
				left: inherit;
				height: 256vw
		}
		.spFigure {
				position: relative;
				width: calc(100vw - 10px);
				margin: 0 auto
		}
		.spFigure .spFigure-1, .spFigure .spFigure-2, .spFigure .spFigure-3 {
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
		}
		.spFigure div img {
				width: 100%;
				height: auto;
		}
		.spCharaName {
				font-size: 11px;
		}
		.spJojo1 .spCharaName {
				position: absolute;
				left: 0;
				bottom: -20px;
				width: 50%;
				text-align: center;
		}
		.spDio .spCharaName {
				position: absolute;
				left: 50%;
				bottom: 5vw;
				width: 50%;
				text-align: center;
		}
		.spZep .spCharaName {
				position: absolute;
				left: 4%;
				bottom: 4vw;
				width: 44.5%;
				text-align: center;
		}
		.spJojo2 .spCharaName {
				position: absolute;
				left: 46%;
				bottom: -20px;
				width: 50%;
				text-align: center;
		}
		.phantom_caption {
				padding-left: 0px;
		}
		/* =========== */
		.about_inner .zep, .battle_2-1, .battle_2-3, .battle_gr div.battle_name {
				display: none
		}
}