@charset 'utf-8';

/*---------------------------------------------------------------------- */
/* Company Styles
------------------------------------------------------------------------ */

/* Our Message Page
---------------------------------------------------------- */

.company.message .section-content > .sign {
	margin-top: 9rem;
	text-align: right;
}

/* Company Overview Page
---------------------------------------------------------- */

.company.overview .section-content > .map {
	position: relative;
	width: 28rem;
	height: 15.6rem;
}

.company.overview .section-content > .map iframe {
	position: absolute;
	width: 100%;
	height: 100%;
}

/* Our Services Page
---------------------------------------------------------- */

.company.services .subsection {
	margin-top: 10rem;
	padding: 6.5rem 0 8rem 0;
	border-top: .1rem solid var(--bg-color03);
}

.company.services .subsection + .subsection {
	margin-top: 0;
}

.company.services .subsection > .title {
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 1rem 0;
}

.company.services .subsection > .title > .txt01 {
	line-height: 1.2;
	font-weight: 300;
	font-size: 2.5rem;
	text-transform: uppercase;
	letter-spacing: 0;
}

.company.services .subsection > .txt {
	margin-top: 4rem;
	padding: 0 1rem;
}

.company.services .subsection > :is(.img-double, .img-row, .img-triple) {
	display: flex;
	flex-flow: column;
	margin-top: 8rem;
}

.company.services .subsection > .img-double {
	gap: 6rem 0;
}

.company.services .subsection > .img-triple {
	gap: 3rem 0;
}

.company.services .subsection > :is(.img-double, .img-triple) > li {
	display: flex;
	flex-flow: column;
}

.company.services .subsection > :is(.img-double, .img-row) .title {
	margin: 3rem -1rem 0 -1rem;
	line-height: 1.66;
	font-weight: 600;
	font-size: 1.8rem;
	text-align: center;
	letter-spacing: .05em;
}

.company.services .subsection > .img-triple > li > .title {
	margin-top: 1rem;
	font-weight: 500;
	font-size: 1rem;
	text-align: center;
	letter-spacing: .05em;
}

.company.services .subsection > :is(.img-double, .img-row) .txt {
	margin-top: 2.5rem;
}

.company.services .subsection > :is(.img-double, .img-row, .img-triple) .img {
	order: -1;
}

/* Group Companies Page
---------------------------------------------------------- */

.company.group .btn-group {
	margin-top: 4rem;
}




/*---------------------------------------------------------------------- */
/* 768px Tablet & PC Styles
------------------------------------------------------------------------ */

@media screen and (min-width: 768px), print {


/* Company Overview Page
---------------------------------------------------------- */

.company.overview .section-content > .map {
	position: relative;
	width: 90rem;
	height: 50rem;
}

/* Our Services Page
---------------------------------------------------------- */

.company.services .subsection {
	margin: 16rem -32.4rem 0 -32.4rem;
	padding: 16rem 0;
}

.company.services .subsection > .title > .txt01 {
	font-size: 5rem;
}

.company.services .subsection > .txt {
	margin-top: 6rem;
	padding: 0 32.4rem;
}

.company.services .subsection > :is(.img-double, .img-row, .img-triple) {
	margin-top: 9rem;
}

.company.services .subsection > :is(.img-double, .img-triple) {
	flex-flow: row wrap;
	gap: 4.5rem 2rem;
}

.company.services .subsection > .img-double > li {
	width: calc(50% - 1rem);
}

.company.services .subsection > :is(.img-double, .img-row) .title {
	margin: 0;
	font-size: 2.8rem;
}

.company.services .subsection > .img-double > li > .title {
	margin-top: 4.5rem;
}

.company.services .subsection > :is(.img-double, .img-row) .txt {
	margin-top: 3.5rem;
}

.company.services .subsection > .img-double > li > .txt {
	padding: 0 6rem
}

.company.services .subsection > .img-row {
	display: grid;
	grid-template-areas:
		'img   .  '
		'img title'
		'img txt  '
		'img   .  ';
	grid-template-columns: 76.4rem 1fr;
	align-items: center;
	gap: 0 8.5rem;
}

.company.services .subsection > .img-row > .title {
	grid-area: title;
	text-align: left;
}

.company.services .subsection > .img-row > .txt {
	grid-area: txt;
	padding-right: 6rem;
}

.company.services .subsection > .img-row > .img {
	grid-area: img;
}

.company.services .subsection > .img-triple > li {
	width: calc(calc(100% - 4rem) / 3);
}

.company.services .subsection > .img-triple > li > .title {
	font-size: 1.6rem;
}

/* Group Companies Page
---------------------------------------------------------- */

.company.group .btn-group {
	margin-top: 10rem;
}

}