@charset "utf-8";

/* -------------------------------------------------- */
/* PC*/
/* -------------------------------------------------- */
/* ミッション
------------------------------------ */
#mission {
	max-width: calc(964px + 40px * 2);
	margin-right: auto;
	margin-left: auto;
	padding: 182px 40px;
	position: relative;
	text-align: center;
	color: #000000;
}

#mission::before,
#mission::after {
	content: "";
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#mission::before {
	width: calc(808 / (964 + 40 * 2) * 100%);
	background: url(../../img/company/mission_bg.svg) no-repeat center center / contain;
}

#mission::after {
	width: calc(964 / (964 + 40 * 2) * 100%);
	background: url(../../img/company/mission_deco.svg) no-repeat center center / contain;
	z-index: 1;
}

#missionWrap {
	position: relative;
	z-index: 2;
}

#missionTitle {
	padding-top: 25px;
	padding-bottom: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	font-size: 2.1rem;
	font-weight: 700;
}

#missionTitle::before,
#missionTitle::after {
	content: "";
	width: 33px;
	height: 1px;
	background-color: #000000;
}

#missionMainText {
	margin-bottom: 20px;
	font-size: 4rem;
	font-weight: 700;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
	line-height: 1.65;
}

#missionSubText {
	font-size: 1.8rem;
	line-height: 2.2222;
}

.missionIllust {
	position: absolute;
	z-index: 0;
}

#missionIllust01 {
	width: 286px;
	top: 60px;
	left: 40px;
}

#missionIllust02 {
	width: 290px;
	top: 80px;
	right: 40px;
}

#missionIllust03 {
	width: 252px;
	bottom: 80px;
    left: 85px;
}

#missionIllust04 {
	width: 328px;
    right: 0;
    bottom: 70px;
}

/* ビジョン
------------------------------------ */
#vision {
	padding-top: 80px;
}

#visionList {}

.visionListItem {
	padding: 40px 0;
	display: grid;
	align-items: center;
	grid-template-columns: 50px 360px auto;
	gap: 20px;
	border-top: 1px solid #E5E5E5;
}

.visionListItem:last-child {
	border-bottom: 1px solid #E5E5E5;
}

.visionListNum {
	width: 50px;
	height: 50px;
	font-size: 2.4rem;
	font-family: "Josefin Sans", sans-serif;
	line-height: 52px;
	text-align: center;
	background-color: #FDF470;
	border-radius: 50%;
}

.visionListTitle {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.75;
}

.visionListContent {
	padding-right: 40px;
	font-size: 1.6rem;
	line-height: 1.875;
}

/* ごあいさつ
------------------------------------ */
#greeting {
	padding-top: 80px;
}

#greetingWrap {
	width: fit-content;
	margin-right: auto;
	margin-left: auto;
}

#greetingContent {
	margin-bottom: 50px;
}

.greetingContentText {
	font-size: 1.6rem;
	line-height: 2.3125;
}

.greetingContentText:not(:last-child) {
	margin-bottom: 37px;
}

#greetingName {
	font-size: 1.5rem;
	line-height: 1.7333;
}

/* 会社概要
------------------------------------ */
#overview {
	padding-top: 80px;
}

#overviewTable dl dt {
	font-weight: 700;
}

#overviewTable dl dd:not(:last-child) {
	margin-bottom: 15px;
}

#gMap {
	padding-bottom: 100px;
}

#gMap iframe {
	width: 100%;
	filter: grayscale(100%);
}



/* -------------------------------------------------- */
/* TAB&SP */
/* -------------------------------------------------- */
@media screen and (max-width: 1024px) {
	#mission {
		padding: 17.756vw 3.902vw;
	}

	#missionTitle {
		padding-top: 15px;
		font-size: 1.9rem;
	}

	#missionMainText {
		font-size: 3.6rem;
	}

	#missionSubText {
		font-size: 1.5rem;
	}

	#missionIllust01 {
		width: 27.902vw;
		top: 5.854vw;
		left: 3.902vw;
	}
	
	#missionIllust02 {
		width: 28.293vw;
		top: 7.805vw;
		right: 3.902vw;
	}
	
	#missionIllust03 {
		width: 24.585vw;
		bottom: 7.805vw;
		left: 8.293vw;
	}
	
	#missionIllust04 {
		width: 32vw;
		right: 0;
		bottom: 6.829vw;
	}

	.visionListItem {
		grid-template-columns: 50px auto;
		gap: 10px 20px;
	}

	.visionListContent {
		grid-column: 1 / 3;
	}
}


/* -------------------------------------------------- */
/* TAB(調整) */
/* -------------------------------------------------- */
@media screen and (min-width: 768px) and (max-width: 1024px) {

}

/* -------------------------------------------------- */
/* SP(調整) */
/* -------------------------------------------------- */
@media screen and (max-width: 767px) {
	#mission {
		padding-top: 0;
		padding-bottom: 0;
		overflow: hidden;
	}

	#mission::before,
	#mission::after {
		max-width: 100%;
		transform: translateX(-50%);
		background-position: center top;
		top: 0;
	}

	#mission::before {
		width: 290px;
	}

	#mission::after {
		width: 345px;
	}

	#mission .heading {
		margin-bottom: 0;
		padding: 120px 0;
	}
	
	#missionIllust01 {
		width: 104px;
		top: 5px;
		left: calc(50% - 170px);
	}
	
	#missionIllust02 {
		width: 106px;
		top: 14px;
		right: calc(50% - 175px);
	}
	
	#missionIllust03 {
		width: 92px;
		bottom: auto;
		left: calc(50% - 160px);
		top: 175px;
	}
	
	#missionIllust04 {
		width: 120px;
		bottom: auto;
		top: 160px;
		right: calc(50% - 180px);
	}

	#missionTitle {
		font-size: 1.7rem;
	}

	#missionTitle::before,
	#missionTitle::after {
		width: 24px;
	}

	#missionMainText {
		font-size: 2.8rem;
	}

	.visionListItem {
		padding: 25px 0;
		grid-template-columns: 35px auto;
		gap: 10px 15px;
	}

	.visionListNum {
		width: 35px;
		height: 35px;
		font-size: 2rem;
		line-height: 37px;
	}

	.visionListTitle {
		font-size: 1.8rem;
	}

	.visionListContent {
		padding-right: 0;
		font-size: 1.5rem;
	}

	.greetingContentText {
		font-size: 1.5rem;
	}

	#greetingName {
		font-size: 1.3rem;
	}

	#gMap iframe {
		height: 400px;
	}
}