@charset "UTF-8";

.company-message {
	padding: 10px 0 5px;
	margin-bottom: 100px;
	background: url("../image/company_img_01.jpg") 100% 100% no-repeat;
	background-size: 70.694%;
}

.company-message__body {
	max-width: 605px;
}

.company-message__sign {
	padding: 0 10px;
	margin-top: 80px;
	text-align: right;
}

.company-profile::before {
	background: var(--color-bg-light);
}

.company-profile .m-inner,
.company-access .m-inner,
.company-history .m-inner {
	padding: 0 50px;
}

.company-profile__panel,
.company-policy,
.company-organization,
.company-license {
	padding: 100px 0;
}

.company-profile__panel {
	background: var(--color-bg-light);
}

.company-profile__table .m-table__th,
.company-access__list .m-table__th {
	width: 340px;
}

.company-access {
	padding: 55px 0 25px;
}

.company-access__list .m-table__tr:last-child {
	border-bottom: none;
}

.company-access__list .m-table__th {
	padding: 38px 0;
}

.company-access__list .m-table__td {
	padding: 45px 0 40px;
}

.company-access__heading {
	font-size: 24px;
}

.company-access__text {
	line-height: 1.5;
}

.company-access__images {
	display: grid;
	grid-template-columns: minmax(0, 43%) minmax(0, 1fr);
	gap: 16px;
	margin-top: 18px;
}

.company-access__map iframe {
	width: 100%;
	height: 100%;
}

.company-policy {
	color: #fff;
}

.company-policy::before {
	background: var(--color-blue) url("../image/mpolicy_bg.jpg") 100% 0 no-repeat;
	background-size: cover;
}

.company-policy .m-inner {
	padding-left: 50px;
}

.company-policy__content {
	position: relative;
}

.company-policy__meta {
	position: absolute;
	right: 0;
	bottom: 100%;
	padding: 0 25px;
	margin-bottom: 40px;
	line-height: 1.5;
}

.company-policy__row {
	position: relative;
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr) 199px;
	gap: 30px;
	padding: 80px 0 90px;
}

.company-policy__row:last-child {
	padding-bottom: 0;
}

.company-policy__row.is-noimage {
	grid-template-columns: 200px minmax(0, 1fr);
}

.company-policy__row::before,
.company-policy__row::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	border-top: 1px solid rgba(255, 255, 255, .3);
}

.company-policy__row::before {
	width: 100%;
}

.company-policy__row::after {
	width: 53px;
	border-top-color: #fff;
}

.company-policy__row:first-child:after {
	border-top: none;
}

.company-policy__title {
	margin: 0 0 1em;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.6;
}

.company-policy__text {
	line-height: 1.9;
}

.company-policy__text .list {
	margin-top: 1.82em;
	list-style: none;
}

.company-policy__text .list > li {
	padding-left: 1.65em;
	text-indent: -1.65em;
}

.company-history {
	padding: 100px 0 0;
}

.company-history__timeline {
	position: relative;
	margin: 65px auto 115px;
	line-height: 1.8;
}

.company-history__timeline::before {
	content: "";
	position: absolute;
	z-index: 1;
	left: 9.469em;/*151.5px*/
	top: .938em;
	bottom: .938em;/*15px*/
	width: 1px;
	background: var(--color-gray);
}

.company-history__timelineRow {
	display: grid;
	grid-template-columns: 10em minmax(0, 1fr);
	gap: 6.25em;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: start;
	margin-bottom: 40px;
}

.company-history__timeline dt {
	position: relative;
	color: var(--color-blue-dark);
	font-weight: 700;
}

.company-history__timeline dt::after {
	content: "";
	position: absolute;
	right: 0;
	top: .438em;
	width: 1em;
	height: 1em;
	border-radius: 50%;
	border: solid .25em var(--color-bg-blue-light);
	background: var(--color-blue);
}

.company-history__timeline dd {
	font-weight: 400;
}

.company-history__image {
	position: relative;
	overflow: hidden;
}

.company-history__image::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #287AD9;
	opacity: .3;
}

.company-history__image img {
	width: 100%;
}

.company-organization__chart {
	padding-right: 30px;
	margin-top: -35px;
	text-align: center;
}

.company-license {
	background: var(--color-bg-light);
}

.company-license__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px 50px;
}

.company-license__item {
	padding: 60px 68px;
	border-radius: 10px;
	background: #fff;
}

.company-license__lb {
	margin: 0 0 .5em;/*12px*/
	color: var(--color-blue);
	font-size: 24px;
	font-weight: 700;
}

.company-license__listContent {
	list-style: none;
}

.company-license__listItem {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	gap: 20px;
	padding: 11px 0;
	border-bottom: 1px solid var(--color-bg-blue-light);
}

.company-license__listILb {
	font-weight: 400;
}

.company-license__listIData {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	color: var(--color-blue-dark);
	font-weight: 700;
	text-align: right;
}


@media screen and (max-width: 899px) {

	.company-message {
		padding: 0 0 50%;
		margin-bottom: 50px;
		background-size: 100%;
	}

	.company-message__body {
		max-width: none;
	}

	.company-message__sign {
		padding: 0;
		margin-top: 25px;
		text-align: left;
	}

	.company-message__sign img {
		max-width: 30%;
	}

	.company-profile .m-inner,
	.company-access .m-inner,
	.company-history .m-inner {
		padding: 0 2%;
	}

	.company-profile__panel,
	.company-policy,
	.company-organization,
	.company-license {
		padding: 50px 0;
	}

	.company-profile__table .m-table__th,
	.company-access__list .m-table__th {
		width: 108px;
	}

	.company-access {
		padding: 26px 0;
	}

	.company-access__list .m-table__th {
		padding: 26px 0;
	}

	.company-access__list .m-table__td {
		padding: 28px 0 25px;
	}

	.company-access__heading {
		font-size: 17px;
	}

	.company-access__images {
		grid-template-columns: 1fr;
		gap: 10px;
		max-width: 327px;
		margin-top: 15px;
	}

	.company-policy .m-inner {
		padding-left: 2%;
	}

	.company-policy__meta {
		position: static;
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		padding: 0;
		margin: 0 0 20px auto;
	}

	.company-policy__row {
		grid-template-columns: 1fr !important;
		gap: 0;
		padding: 33px 0;
	}

	.company-policy__row::after {
		width: 42px;
	}

	.company-policy__title {
		font-size: 23px;
	}

	.company-policy__thumb {
		margin-top: 25px;
		text-align: center;
	}

	.company-policy__thumb img {
		max-width: 50%;
	}

	.company-history {
		padding: 50px 0 0;
	}

	.company-history__timeline {
		margin: 40px auto 65px;
	}

	.company-history__timeline::before {
		left: 5.5em;
		bottom: 2.8em;
	}

	.company-history__timelineRow {
		grid-template-columns: 6em minmax(0, 1fr);
		gap: 2.5em;
		margin-bottom: 30px;
	}

	.company-history__timeline dt {
		padding-right: 2em;
	}

	.company-history__image img {
		max-width: none;
		width: 140%;
		margin-left: -20%;
	}

	.company-organization__chart {
		padding-right: 0;
		margin: 30px -4% 0;
	}

	.company-license__list {
		grid-template-columns: 1fr;
		gap: 25px;
	}

	.company-license__item {
		padding: 40px 8%;
	}

	.company-license__lb {
		font-size: 20px;
	}

}
