#company_detail {
	position: relative;
	--vwb: 3.9; /* 390pxカンプ基準（カンプ上のpx ÷ --vwb × 1vw で換算） */
}
#company_detail::before,
#company_detail::after,
#company_detail .company_info::before {
	content: '';
	position: absolute;
	pointer-events: none;
}
#company_detail .page_titleWrap {
	margin-bottom: 6.4rem;
}
#company_detail .page_title {
	max-width: 1000px;
	margin-inline: auto;
	color: #707070;
	font-size: 4.5rem;
	line-height: 1;
}
#company_detail .page_title span {
	display: block;
	font-size: 6.0rem;
	font-weight: 700;
}

#company_detail .info_head {
	margin-bottom: 5rem;
}
#company_detail .company_info {
	position: relative;
	max-width: 1000px;
	margin: 0 auto 10rem;
}
#company_detail .company_tag {
	width: max-content;
	max-width: 100%;
	margin-bottom: 1.5rem;
	padding: .4rem 1.6rem;
	background-color: #B5B5B5;
	border-radius: 2.4rem;
	color: #000;
	font-size: 1.4rem;
	font-weight: 500;
	overflow-wrap: break-word;
}
#company_detail .company_name {
	width: auto;
	padding-bottom: 4.0rem;
	font-size: 6.0rem;
	font-weight: 900;
	line-height: 1.2;
	overflow-wrap: break-word;
}
#company_detail .company_outline dt {
	font-size: 2.0rem;
	font-weight: 900;
}
#company_detail .company_outline dd {
	font-size: 1.8rem;
}
#company_detail .company_logo {
	margin: 0;
}
#company_detail .sec_block + .sec_block {
	margin-top: 5.4rem;
}
#company_detail .sec_title {
	position: relative;
	margin-bottom: 1.7rem;
	padding-left: 3rem;
	color: #C9C9C9;
	font-size: 3.2rem;
	font-weight: 900;
}
#company_detail .sec_title::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 2.2rem;
	height: 2.2rem;
	margin: auto;
	background: url(../img/startups_of_kansai/icon.svg) left top / contain no-repeat;
}
#company_detail .sec_text {
	font-size: 1.6rem;
	line-height: 1.6;
}
#company_detail .sec_text ol {
	list-style: none;
	counter-reset: sec_list;
}
#company_detail .sec_text ol li {
	counter-increment: sec_list;
	position: relative;
	padding-left: 1.6em;
}
#company_detail .sec_text ol li::before {
	content: counter(sec_list) ".";
	position: absolute;
	left: 0;
	width: 1.4em;
	overflow-wrap: normal;
}
#company_detail .sec_img {
	margin: 0;
	text-align: center;
}
#company_detail .sec_img img {
	width: auto;
}
#company_detail .sec_img figcaption {
	margin-top: 1em;
	font-size: 1.3rem;
	text-align: center;
}
#company_detail .sec_contact {
	margin-top: 5rem;
}
#company_detail .contact_title {
	display: flex;
	align-items: center;
	gap: 0 .5em;
	margin-bottom: 1.7rem;
	color: #C9C9C9;
	font-size: 4.0rem;
	font-weight: 900;
}
#company_detail .contact_title::after {
	content: '';
	flex: 1;
	height: 1px;
	background-color: #fff;
}
#company_detail .contact_text {
	font-size: 1.6rem;
}
#company_detail .contact_qrList {
	display: flex;
	gap: 0 3rem;
	justify-content: center;
}
#company_detail .contact_qrList li {
	text-align: center;
}
#company_detail .contact_qrList li img {
	width: auto;
}
#company_detail .qr_title {
	margin-top: .5em;
	font-size: 1.6rem;
}

.back_btn {
	--vwb: 3.9; /* 390pxカンプ基準（カンプ上のpx ÷ --vwb × 1vw で換算） */
}
.back_btn {
	display: block;
	width: 170px;
	margin: 100px auto;
}
#company_detail + .back_btn + article #p_information {
	position: relative;
}

@media screen and (max-width: 768px) {
	#header {
		height: auto;
		margin-bottom: 24vw;
	}
	#header .header_logo {
		display: block;
	}
	#header .header_logo img {
		margin: 5.4vw 0 0 16px;
		width: 46vw;
	}

	#company_detail::before {
		top: 3.5%;
		right: -63vw;
		width: 145vw;
		height: 145vw;
		background: url(../img/startups_of_kansai/bg_B.png) left top / contain no-repeat;
		rotate: -135deg;
		opacity: .4;
	}
	#company_detail::after {
		top: 44%;
		left: -85vw;
		width: 145vw;
		height: 145vw;
		background: url(../img/startups_of_kansai/bg_A.png) left top / contain no-repeat;
		rotate: -135deg;
		opacity: .4;
		z-index: -1;
	}
	#company_detail .company_info::before {
		bottom: -4vw;
		left: -16vw;
		width: 145vw;
		height: 145vw;
		background: url(../img/startups_of_kansai/bg_C.png) left top / contain no-repeat;
		rotate: 180deg;
		opacity: .6;
	}

	#company_detail .page_titleWrap {
		margin-bottom: calc(60 / var(--vwb) * 1vw);
		padding-inline: calc(30 / var(--vwb) * 1vw);
	}
	#company_detail .page_title {
		font-size: calc(30 / var(--vwb) * 1vw);
	}
	#company_detail .page_title span {
		margin-bottom: .1em;
		font-size: calc(50 / var(--vwb) * 1vw);
	}

	#company_detail .info_head {
		margin-bottom: calc(40 / var(--vwb) * 1vw);
		padding-bottom: calc(40 / var(--vwb) * 1vw);
		border-bottom: solid 1px #fff;
	}
	#company_detail .company_info {
		margin-bottom: calc(55 / var(--vwb) * 1vw);
		padding-inline: calc(30 / var(--vwb) * 1vw);
	}
	#company_detail .company_tag {
		margin-bottom: calc(8 / var(--vwb) * 1vw);
		padding: calc(4 / var(--vwb) * 1vw) calc(16 / var(--vwb) * 1vw);
		border-radius: calc(24 / var(--vwb) * 1vw);
		font-size: calc(14 / var(--vwb) * 1vw);
	}
	#company_detail .company_name {
		padding-bottom: calc(20 / var(--vwb) * 1vw);
		font-size: calc(40 / var(--vwb) * 1vw);
	}
	#company_detail .company_outline {
		margin-bottom: calc(40 / var(--vwb) * 1vw);
	}
	#company_detail .company_outline div {
		display: flex;
		align-items: center;
		gap: calc(20 / var(--vwb) * 1vw);
		padding-block: calc(11 / var(--vwb) * 1vw);
		border-bottom: solid 1px #C9C9C9;
	}
	#company_detail .company_outline dt {
		font-size: calc(20 / var(--vwb) * 1vw);
	}
	#company_detail .company_outline dd {
		font-size: calc(18 / var(--vwb) * 1vw);
	}

	#company_detail .sec_title {
		margin-bottom: calc(11 / var(--vwb) * 1vw);
		padding-left: calc(30 / var(--vwb) * 1vw);
		font-size: calc(28 / var(--vwb) * 1vw);
	}
	#company_detail .sec_title::before {
		width: calc(22 / var(--vwb) * 1vw);
		height: calc(22 / var(--vwb) * 1vw);
	}
	#company_detail .sec_text {
		font-size: calc(14 / var(--vwb) * 1vw);
	}
	#company_detail .sec_img {
		margin-top: calc(30 / var(--vwb) * 1vw);
	}
	#company_detail .sec_contact {
		margin-top: calc(50 / var(--vwb) * 1vw);
	}
	#company_detail .contact_title {
		margin-bottom: calc(17 / var(--vwb) * 1vw);
		font-size: calc(28 / var(--vwb) * 1vw);
	}
	#company_detail .contact_text {
		font-size: calc(14 / var(--vwb) * 1vw);
	}
	#company_detail .contact_qrList {
		gap: 0 calc(30 / var(--vwb) * 1vw);
		margin-top: calc(30 / var(--vwb) * 1vw);
	}
	#company_detail .qr_title {
		font-size: calc(14 / var(--vwb) * 1vw);
	}

	.back_btn {
		width: calc(170 / var(--vwb) * 1vw);
		margin: calc(80 / var(--vwb) * 1vw) auto;
	}
}
@media screen and (min-width: 769px) {
	#header {
		height: auto;
		margin-bottom: 14.4rem;
	}
	#header .lang_select {
		top: 48px;
		bottom: auto;
	}
	#header .header_logo {
		display: block;
		padding-top: 48px;
	}
	#header .header_logo img {
		width: 320px;
	}

	#company_detail::before {
		top: 59rem;
		right: -40rem;
		width: 87rem;
		height: 87rem;
		background: url(../img/startups_of_kansai/bg_B.png) left top / contain no-repeat;
		rotate: -135deg;
		opacity: .4;
	}
	#company_detail::after {
		bottom: -29rem;
		left: -7rem;
		width: 87rem;
		height: 87rem;
		background: url(../img/startups_of_kansai/bg_A.png) left top / contain no-repeat;
		rotate: -135deg;
		opacity: .4;
		z-index: -1;
	}
	#company_detail .info_head {
		display: flex;
		align-items: center;
		gap: 0 7.7rem;
		padding-block: 5rem;
		border-top: solid 1px #BABABA;
		border-bottom: solid 1px #BABABA;
	}
	#company_detail .info_text {
		flex: 1;
		min-width: 0;
	}
	#company_detail .company_outline {
		display: flex;
		border-left: solid 1px #fff;
	}
	#company_detail .company_outline div {
		min-width: 0;
		padding-inline: 2rem;
		border-right: solid 1px #fff;
		overflow-wrap: break-word;
	}
	#company_detail .company_outline div:nth-child(1) {
		flex: 1;
	}
	#company_detail .company_outline div:nth-child(2) {
		flex: 0 0 auto;
		white-space: nowrap;
	}
	#company_detail .company_outline div:nth-child(3) {
		flex: 1.25;
	}
	#company_detail .company_outline dt {
		margin-bottom: .4rem;
	}

	#company_detail .sec_block,
	#company_detail .sec_contactInner {
		display: flex;
		align-items: center;
		gap: 0 4rem;
		min-height: 20rem;
	}
	#company_detail .sec_content,
	#company_detail .contact_content {
		flex: 1;
		min-width: 0;
	}
	#company_detail .sec_text,
	#company_detail .contact_text {
		overflow-wrap: break-word;
	}
	#company_detail .sec_img,
	#company_detail .contact_qrList {
		width: 33rem;
	}
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
	#header {
		width: calc(100% - 64px);
		margin-left : auto;
		margin-right: auto;
	}
}
