@charset "utf-8";
.base_section {
		width: 3300px;
		min-width: 3300px;
		position: relative;
}
.base_section::before, .base_section::after {
		content: '';
		display: block;
		position: absolute;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
}
.base_section::before {
		background-image: url("../images/base1_bg_pc.png");
		background-position: 0 bottom;
		width: 83.9vh;
		height: 147.5vh;
		bottom: 0;
		left: 15vh;
}
.base_section::after {
		background-image: url("../images/base2_bg_pc.png");
		background-position: 0 top;
		width: 89vh;
		height: 48vh;
		top: 0;
		right: 0;
}
.base_section_inner {
		padding-top: 13.3vh;
		position: relative;
		z-index: 5;
		display: flex;
		padding-left: 15vh;
}
.base_hd {
		width: 36.5vh;
		margin-bottom: 15px;
}
.base_lead {
		font-size: 22px;
		line-height: 1.8;
}
.base_section_inner_left {
		margin-right: 11vh;
}
.base_section_inner_right {
		flex: 1;
}
.base_section_inner_right_inner {
		display: flex;
}
.companyprofile_base {
		border: 2px solid #D000DF;
		background: rgba(49, 1, 64, 0.8) url("../images/companyprofile_bg.png");
		position: relative;
		box-shadow: #D000DF 0px 0px 12px;
}
.companyprofile_base .companyprofile_hd {
		position: absolute;
		top: 0;
		left: 0;
		height: 40px;
		width: 160px;
		display: flex;
		justify-content: center;
		align-items: center;
}
.companyprofile_hd h3 {
		color: #fff;
		font-size: 24px;
		letter-spacing: 4px;
		text-align: center;
		font-family: 'Rajdhani', sans-serif;
		font-weight: 400;
		position: relative;
		z-index: 15;
		transform: translateX(12px) translateY(-2px)
}
.companyprofile_hd::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: -2px;
		width: 100%;
		height: 40px;
		background: #D000DF;
		z-index: 10;
}
.companyprofile_hd::after {
		content: '';
		display: block;
		width: 100px;
		height: 40px;
		background: #D000DF;
		transform: skewX(-45deg);
		top: 0;
		right: -30px;
		position: absolute;
}
.companyprofile_base {
		display: flex;
		padding: 80px 35px 35px;
}
.comany_profile_col {
		width: 450px;
		margin-right: 40px;
}
.comany_profile_col.separate {
		display: flex;
		flex-flow: column;
		justify-content: space-between;
}
.comany_profile_col_flex {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-top: 15px;
}
.comany_profile_col table {
		border-top: 1px solid #D000DF;
		border-collapse: collapse;
		width: 100%;
}
.comany_profile_col table.first {
		border-top: 1px solid #D000DF;
}
.comany_profile_col th, .comany_profile_col td {
		text-align: left;
		font-size: 15px;
		vertical-align: top;
		border-bottom: 1px solid #D000DF;
		font-weight: 400;
		padding: 15px 10px;
		line-height: 1.8;
}
.comany_profile_col th {
		width: 30%;
		white-space: nowrap;
}
.comany_profile_col td ul.dot {
		margin-left: 1em;
}
.comany_profile_col td ul li {
		list-style: none;
		margin: 0 0 5px;
		position: relative;
		line-height: 1.6;
}
.comany_profile_col td ul li:last-child {
		margin-bottom: 0;
}
.comany_profile_col td ul.dot li::after {
		content: '・';
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
}
.comany_profile_col a {
		color: #fff;
		text-decoration: underline;
}
.comany_profile_col a.blankLink::after {
		background: url("../images/icon_blank_wht.svg") no-repeat 0 0;
		background-size: 10px;
		opacity: 1
}
@media (hover: hover) {
		.comany_profile_col a:hover {
				color: #ffde00;
				text-decoration: none;
		}
		.comany_profile_col a.blankLink:hover::after {
				background: url("../images/icon_blank_yellow.svg") no-repeat 0 0;
				background-size: 10px;
				opacity: 1
		}
}
.p_mark {
		margin: 15px 0 25px
}
.comany_profile_partner h5 {
		font-size: 18px;
		font-weight: 500;
		margin: 0 0 15px;
}
.comany_profile_partner p {
		font-size: 15px;
		line-height: 1.8;
}
.comany_profile_img {
		position: relative;
		border: 1px solid #D000DF;
		box-sizing: border-box;
		width: 780px;
		padding: 10px;
}
.comany_profile_img .frame_up, .comany_profile_img .frame_bottom {
		position: absolute;
		left: 0;
		width: 100%;
		pointer-events: none;
}
.comany_profile_img .frame_up::before {
		left: -1px;
}
.comany_profile_img .frame_up::after {
		right: -1px;
}
.comany_profile_img .frame_up {
		top: -1px;
}
.comany_profile_img .frame_bottom {
		bottom: 0;
}
.comany_profile_img_outer {
		height: 100%;
		background: url("../images/base_photo.jpg") no-repeat center center;
		background-size: cover;
}
.comany_profile_img img {
		opacity: 0;
}
.comany_profile_img_inner {
		width: 100%;
		height: 100%
}
.comany_profile_img_figure_bg {
		position: relative;
		width: 100%;
		height: 100%
}
.comany_profile_img_inner, .comany_profile_img_outer {
		position: relative;
}
@media(max-height: 900px) and (min-width: 1195px) {
		.base_section_inner {
				padding-top: 80px;
		}
		.base_hd {
				width: 300px;
		}
		.base_section_inner_left {
				margin-right: 90px;
		}
		.comany_profile_col th, .comany_profile_col td {
				font-size: 13px;
				padding: 10px;
				line-height: 1.6;
		}
		.comany_profile_col {
				width: 52vh;
				margin-right: 40px;
		}
		.companyprofile_base {
				padding: 60px 30px 30px;
		}
		.comany_profile_partner p {
				font-size: 13px;
				line-height: 1.8;
		}
		.base_section::before {
				left: 10vh;
		}
}
@media(max-height: 700px) and (min-width: 1195px) {
		.companyprofile_base {
				padding: 55px 30px 20px;
		}
}
@media(min-width: 1195px) {
		.basePhoto {
				display: none;
		}
}
@media(max-width: 1194px) {
		.base_section {
				box-sizing: border-box;
				padding: 23vw 20px 38vw;
				margin-bottom: -25vw;
		}
		.base_section::before {
				background-image: url("../images/base1_bg_sp.png");
				background-position: 0 0;
				width: 100%;
				height: 87vw;
				top: 23vw;
				left: 0;
		}
		.base_section::after {
				background-image: url("../images/base2_bg_sp.png");
				background-position: 0 0;
				width: 100%;
				height: 90vw;
				top: inherit;
				right: inherit;
				bottom: 0;
				left: 0;
		}
		.base_section_inner {
				padding-top: 0;
				padding-left: 0;
				display: block;
				max-width: 680px;
				margin: 0 auto;
		}
		.base_hd {
				width: 37.5vw;
				width: 38%;
				margin-bottom: 15px;
		}
		.base_lead {
				font-size: 20px;
				line-height: 1.8;
		}
		.base_section_inner_left {
				margin-right: 0;
		}
		.base_section_inner_right_inner {
				display: block;
		}
		.companyprofile_base {
				border: 2px solid #D000DF;
				background: rgba(49, 1, 64, 0.8) url("../images/companyprofile_bg.png");
				position: relative;
				box-shadow: #D000DF 0px 0px 12px;
		}
		.companyprofile_base .companyprofile_hd {
				height: 40px;
				width: 100px;
		}
		.companyprofile_hd h3 {
				font-size: 20px;
				transform: translateX(12px) translateY(-2px)
		}
		.companyprofile_hd::after {
				content: '';
				display: block;
				width: 100px;
				height: 40px;
				background: #D000DF;
				transform: skewX(-45deg);
				top: 0;
				right: -30px;
				position: absolute;
		}
		.companyprofile_base {
				display: block;
				padding: 70px 15px 40px;
		}
		.comany_profile_col {
				width: 100%;
				margin-right: 0;
		}
		.comany_profile_col.separate {
				display: block;
		}
		.comany_profile_col_flex {
				margin-top: 15px;
				margin-bottom: 15px;
		}
		.comany_profile_col table {
				/* border-top: 1px solid #D000DF; */
				border-collapse: collapse;
				width: 100%;
		}
		.comany_profile_col th, .comany_profile_col td {
				font-size: 14px;
				padding: 12px 5px;
		}
		.comany_profile_col th {
				width: 30%;
				white-space: nowrap;
				padding-right: 5px;
		}
		.comany_profile_col td {
				padding-left: 0;
		}
		.comany_profile_col td ul li {
				margin: 0 0 2px;
		}
		.p_mark {
				margin: 15px 0 25px
		}
		.comany_profile_partner h5 {
				font-size: 18px;
				font-weight: 500;
				margin: 0 0 15px;
		}
		.comany_profile_partner p {
				font-size: 15px;
				line-height: 1.8;
		}
		.comany_profile_img {
				padding: 8px;
				width: 100%;
		}
		.comany_profile_img img {
				opacity: 0;
		}
		.comany_profile_img_inner::before, .comany_profile_img_inner::after, .comany_profile_img_figure::before, .comany_profile_img_figure::after {
				width: 8px;
				height: 8px;
		}
		.comany_profile_img_inner::before {
				top: -9px;
				left: -9px;
		}
		.comany_profile_img_inner::after {
				top: -9px;
				right: -9px;
		}
		.comany_profile_img_figure::before {
				bottom: -9px;
				left: -9px;
		}
		.comany_profile_img_figure::after {
				bottom: -9px;
				right: -9px;
		}
		#base .partner_figure_item {
				width: calc(50% - 5px);
		}
		.comany_profile_partner {
				margin-top: 45px;
		}
		.comany_profile_col th.extraRight {
				padding-right: 10px !important;
		}
}
.base_section_inner_left {
		position: relative;
}
.base_section_inner_left .base_mission1 {
		position: absolute;
		width: 14.8vh;
		right: 0;
		top: 20vh;
}
@media(max-width: 1194px) {
		.base_section_inner_left .base_mission1 {
				position: static;
				width: 100%;
				box-sizing: border-box;
				display: flex;
				justify-content: flex-end;
		}
		.base_mission_in1 {
				width: 20vw;
				position: relative;
				top: -20vw;
				margin-bottom: -20vw;
		}
		.comany_profile_col table:not(.first) {
				border-top: none;
		}
}
/* ==================== */
.comany_profile_img_figure .base_mission2 {
		width: 6.2vh;
		position: absolute;
		top: -4vh;
		left: 20px;
		z-index: 10;
}
.base_mission2 img {
		opacity: 1 !important
}
@media(max-width: 1194px) {
		.base_section {
				width: auto !important;
				min-width: inherit !important;
		}
		.comany_profile_img_figure .base_mission2 {
				width: 10vw;
				top: -5vw;
				left: 15px;
		}
}
.alignmiddle th, .alignmiddle td {
		vertical-align: middle !important;
		-webkit-backface-visibility: hidden;
}
@media(max-width: 767px) {
		.base_section {
				padding-left: 15px;
				padding-right: 15px;
		}
		.base_section_inner {
				padding-left: 0;
		}
		.alignmiddle th, .alignmiddle td {
				vertical-align: middle;
		}
		.companyprofile_base {
				padding: 70px 10px 40px;
		}
}
.license_hd {
		font-size: 15px;
		font-weight: 500;
		padding-top: 15px;
		margin: 0 0 15px;
}
.license_item_gr {
		padding-bottom: 15px;
		margin-bottom: 15px;
		border-bottom: 1px solid #D000DF;
}
.license_item {
		display: flex;
		align-items: center;
		margin: 0 0 15px
}
.license_item_gr .license_item:last-child {
		margin-bottom: 0;
}
.license_mark {
		width: 80px;
		margin-right: 15px;
}
.license_mark img {
		width: 100%;
		height: auto;
}
.license_item p {
		flex: 1;
		line-height: 1.8;
		font-size: 85%;
}
@media(max-width: 1194px) {
		.license_hd {
				padding-left: 5px;
		}
		.license_item_gr {
				display: flex;
				align-items: flex-start;
				padding-left: 5px;
		}
		.license_item {
				width: calc(50% - 15px);
				margin: 0 15px 0 0;
		}
		.license_item_gr .license_item:last-child {
				margin: 0;
		}
}
@media(max-width: 767px) {
		.license_item_gr {
				display: flex;
				align-items: flex-start;
				justify-content: space-between;
				padding-left: 5px;
				padding-right: 5px;
		}
		.license_item {
				width: calc(50% - 10px);
				display: block;
		}
		.license_mark {
				width: 100%;
				max-width: 150px;
				margin: 0 auto 10px;
		}
		.comany_profile_partner h5 br {
				display: none;
		}
}
@media(max-width: 500px) {
		.license_item p {
				font-size: 11px;
		}
}
@media(max-width: 400px) {
		.license_item p {
				font-size: 10px;
		}
}