@charset "utf-8";
:root{
	--wide: 1275px;
	/*Primary*/
	--Red1:#fa000f;
	--Red2:#cc0000;
	--White:#ffffff;
	--Gray1:#f4f4f4;
	--Gray2:#d9d9d9;
	--Gray3:#b3b3b3;
	--Gray4:#737373;
	--Gray5:#4d4d4d;
	--Gray6:#222222;
	--Black:#0c0c0c;
	/*Secondary*/
	--Orange1: #fdc796;
	--Orange2: #fa6900;
	--Orange3: #c85400;
	--Yellow1: #fdec96;
	--Yellow2: #fad200;
	--Yellow3: #967e00;
	--Pink1: #fd96d4;
	--Pink2: #fa00a5;
	--Pink3: #96005a;
	--Purple1: #d096fd;
	--Purple2: #9b00fa;
	--Purple3: #540096;
	--Blue1: #96c5fd;
	--Blue2: #0064fa;
	--Blue3: #004596;
	--Teal1: #96f0fd;
	--Teal2: #00dcfa;
	--Teal3: #008496;
	--Green1: #96fdcc;
	--Green2: #00fa82;
	--Green3: #00964e;
	--Red1_20_Tint: #ffcbce;
	--Red1_40_Tint: #ff979d;
	--Red1_60_Tint: #ff636c;
	--Red1_20_Dark: #bb000b;
	--Red1_40_Dark: #7d0008;
	--Red_Grad: linear-gradient(145deg, #FA000F, #CC0000);
	--WhiteOp: #ffffffe6;
	--BlackOp: rgba(0, 0, 0, 0.08);
	/*Layout*/
	--Col2: calc((100% / 2) - 1em);
	--Col3: calc((100% / 3) - 1em);
	--Col4: calc((100% / 4) - 1em);
}
html {
	scroll-behavior: smooth;
}
#Contents * {
	word-break: auto-phrase;
}
#Contents,.GridSet,.Grid4 {
	width: 100%;
}

.Grid4 {
	width: 100%;
	clip-path: inset(0);
	position: relative;
	z-index: auto;
}
.Grid4 > * {
	position: relative;
	z-index: 1;
}
.Grid4::before {
	content: ""; 
	position: absolute;
	width: 100%;
	max-width: 100vw;
	overflow-x: hidden;
	 inset: 0;
	  background: url(/-/media/company/compass/image/bg_pattern.png) bottom center / cover; 
	  animation: bgAnimation 20s ease-in-out infinite alternate; 
	  z-index: 0; 
}
.Section>.Inner {
	padding: 2em 0;
	width: var(--wide) ;
	margin: auto ;
	word-break: break-word ;
}
.Bold {
	font-weight: bold;
}
.toTop {
	position: fixed;
	bottom: 2em;
	right: 2em;
	z-index: 5;
}
#TopicPath {
	background: var(--White);
	position: relative;
	z-index: 1;
}
#Contents .Section {
	overflow-x: hidden;
	&#Sec00 {
		background: url(/-/media/company/compass/image/bg_main_vusual.png) no-repeat top center / auto 100%;
		min-height: 100vh;
		.Inner {
			display: flex;
			flex-direction: column;
			gap: 1em;
			align-items: self-start;
			justify-content: center;
			height: stretch;
			min-height: 100vh;
			h2 {
				font-weight: bold;
				font-size: 2.8em;
			}
			h3 {
				font-size: 1.6em;
			}
		}
	}
	&#Sec01 {
		.Inner {
			h2 {
				cursor: pointer;
				position: relative;
				display: flex;
				justify-content: center;
				width: 100%;
				font-size: 1.8em;
				font-weight: bold;
				text-align: center;
				padding: 1em;
				background: transparent linear-gradient(166deg, #D9D9D9 0%, #DCC5C7 24%, #EC6E75 83%, #FF000F 100%) 0% 0% no-repeat padding-box;
				border-radius: 8px;
				&.is-open::after {
					transform: rotate(180deg);
				}
				&:after {
					position: absolute;
					right: 1em;
					content: "";
					display: flex;
					width: 48px;
					height: 48px;
					border-radius: 50%;
					background: var(--White) url(/-/media/company/compass/image/icon_toggle.svg) no-repeat center;
					transform: rotate(90deg);
					transition: transform .3s;
				}
				&::before {
					position: absolute;
					right: 1em;
					content: "";
					display: flex;
					width: 48px;
					height: 48px;
					background: transparent url(/-/media/company/compass/image/icon_toggle.svg) no-repeat center;
					transition: transform .3s;
					z-index: 1;
				}
			}
			p {
				font-size: 1.4em;
				font-weight: bold;
				text-align: center;
				margin: 1em 0;
			}
			.InnerSec {
				display: none;
			}
			&.is-open {
				display: block;
			}
		}
	}
	&#Sec02 {
		background: var(--Red1) url(/-/media/company/compass/image/bg_circle.png) no-repeat center / cover;
		.Inner {
			padding: 6em 0;
			h2 {
				color: var(--White);
				text-align: center;
				font-weight: normal;
				font-size: 2.2em;
				span {
					display: inline;
					background: transparent;
					font-weight: bold;
					color: var(--White);
				}
			}
			p {
				color:  var(--White);
				text-align: center;
			}
			.Sub {
				color: var(--White);
				text-align: center;
				margin: auto auto 1em;
			}
			.Flex {
				width: 100%;
				justify-content: center;
				gap: 6em;
				.Column {
					position: relative;
					flex: 1;
					h3 {
						padding: .5em;
						color: var(--White);
						border-top: 1px solid;
						border-bottom: 1px solid;
						text-align: center;
						font-size: 1.4em;
					}
				}
				li {
					.Flex {
						gap: 1em;
						a:link, a:visited {
							margin: 1em auto;
							display: flex;
							gap: 1em;
							align-items: center;
							text-decoration: none;
							color: var(--White);
							&::after {
								content: "";
								display: block;
								width: 46px;
								min-width: 46px;
								height: 46px;
								background: url(/-/media/company/compass/image/icon_download.svg) no-repeat center;
							}
						}
						.Cover {
							position: relative;
							z-index: 1;
						}
						.Page {
							position: absolute;
							max-width: 400px;
							bottom: 0;
							right: 1em;
							z-index: 0;
						}

					}
				}
			}
		}
	}
	&#Sec03 {
		background: linear-gradient(45deg, #F9F5D8, #99D5DB );
		.Inner {
			justify-content: space-between;
			.Column {
				margin: auto;
				width: max-content;
				h2 {
					font-size: 1.8em;
				}
				p {
					line-height: 1.8;
				}
				a:link, a:visited {
					font-size: .8em;
					padding: .5em;
					margin: 1em auto;
					text-decoration: none;
					display: flex;
					justify-content: center;
					align-items: center;
					border-radius: 25px;
					border: 1px solid var(--Red1);
					color: var(--Red1);
					background: var(--White);
					position: relative;
					&::after {
						content: "";
						display: block;
						width: 16px;
						height: 16px;
						background: url(/-/media/company/compass/image/icon_link.svg) no-repeat center;
						position: absolute;
						right: 1em;
					}
				}
			}
		}
	}
	&#Sec04 {
		h2 {
			font-weight: bold;
			font-size: 2em;
			text-align: center;
			padding: 0;
			margin: 0;
			background: none;
		}
		.Sub {
			color: var(--Red1);
			font-weight: bold;
			font-size: 1em;
			text-align: center;
		}
	}
}
.PageTitleStyle3 {
	width: 100%;
	margin: 0;
	img {
		width: 100%;
	}
}
#Contents .InnerLinks {
	position: sticky;
	top: 0;
	background: var(--Gray3);border: 1px solid var(--White);
	min-height: inherit;
	padding: 0;
	z-index: 2;
	.Inner {
		max-width: var(--wide);
		margin: 0 auto;
		padding: 0;
		ul {
			margin: 0 auto;
			padding: 0;
			gap: 0;
			display: flex;
			align-items: center;
			li {
				width: calc(100% / 4);
				height: stretch;
				border: 1px solid var(--White);
				a:link, a:visited {
					width: 100%;
					display: flex;
					align-items: center;
					justify-content: center;
					padding: 1em;
					height: stretch;
					text-decoration: none;
					font-weight: bold;
					color: var(--White);
					background: transparent;
					transition: .3s ease-in-out;
					&:hover, &:active, &:focus {
						background: var(--Red1);
					}
					&.is-active {
							background: var(--Red1);
							color: var(--White);
					}
				}
			}
		}
	}
}
.PlateList {
	display: flex;
	gap: 1.5em;
	align-items: center;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 4em auto;
	li {
		position: relative;
		width: calc((100% / 4) - 1.5em);
		height: stretch;
		border: 1px solid var(--Gray4);
		background: var(--White);
		transition: .1s ease-in;
		opacity: 1;
		&:hover {
			opacity: .8;
		}
		img {
			border-bottom: 1px solid var(--Gray4);
			width: stretch;
			max-height: 157px;
			object-fit: cover;
		}
		a:link, a:visited {
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 1em;
			width: 100%;
			padding: 1em;
			text-decoration: none;
			color: var(--Gray6);
			font-weight: bold;
			&::after {
				content: "";
				flex: 1;
				width: 16px;
				height: 16px;
				min-width: 16px;
				display: block;
				background: url(/-/media/company/human-it/image/icon_new_link_bk.svg) no-repeat right center / 16px;
			}
			&::before {
				content: "";
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				z-index: 1;
			}
		}
	}
}

@keyframes bgAnimation {
	0% { opacity: 0.4; /*transform: scale(1);*/ background-size: 100%;}
	100% { opacity: 1; /*transform: scale(1.1);*/ background-size: 140%;}
}

@media screen and (min-width: 995px) and (max-width: 1304px) {
	.OptionWideRWD .GridSet {
		margin: 0;
	}
	.OptionWideRWD .Grid4 {
		padding: 0;
	}
	.OptionWideRWD .Section .Inner {
		padding: 1em;
		width: auto;
		box-sizing: border-box;
	}
		.OptionWideRWD .Section>.Inner {
		padding: 1em;
		width: auto;
	}
	.OptionWideRWD #Contents .Section {
	&#Sec02 {
		.Inner {
			padding: 6em 1em;
			.Flex {
				li {
					flex: 1;
					.Flex {
						.Page {
							max-width: 300px;
						}
					}
				}
			}
		}
	}
}
	.OptionWideRWD .Section.InnerLinks .Inner {
		padding: 0;
	}
	.OptionWideRWD .SP #FloatingContacts form {
		width: auto;
	}
	.OptionWideRWD #FloatingContacts .Inner {
		width: auto;
		max-width: 965px;
	}
}
@media screen and (max-width: 994px) {
	.JS .Section .Inner {
		width: 100%;
		padding: 3em 1em;
	}
	.JS .Section.InnerLinks>.Inner {
		padding: 0;
		li {
			display: flex;
			line-height: 1;
			height: stretch;
			align-items: center;
			a {
				height: stretch;
			}
		}
	}
	.JS #Contents .Section {
		&#Sec00 {
			background: url(/-/media/company/compass/image/bg_main_vusual.png) no-repeat bottom right / auto 60%;
			.Inner {
				justify-content: start;
			}
		}
	}
	.JS #Contents .Section {
		&#Sec02 {
			& .Inner {
				padding: 3em 1em;
				.Flex {
					flex-direction: column;
					gap: 3em;
					li {
						width: 100%;
						.Cover {
							max-width: 300px;
						}
						.Page {
							position: relative;
							margin: auto;
						}
					a:link, a:visited {
						margin: auto 0 auto auto;
						text-align: right;
						width: max-content;
					}
				}
			}
		}
	}
	.JS .PlateList {
		gap: 1em;
	li {
			width: calc((100% / 2) - .5em);
			height: stretch;
			img {
				width: 100%;
				height: auto;
				max-height: inherit;
			}
			a {
				line-height: normal;
			}
		}
	}
	}
	.JS .PlateList {
		gap: 1em;
	li {
			width: calc((100% / 2) - .5em);
			height: stretch;
			img {
				width: 100%;
				height: auto;
				max-height: inherit;
			}
			a {
				line-height: normal;
			}
		}
	}
}
@media screen and (max-width: 767px) {
	.JS br.PC {
		display: none;
	}
	.JS br.RWD {
		display: block;
	}
.JS #Contents .Section.InnerLinks > .Inner {
		& li {
			a {
				font-size: 3vw;
				padding: .5em 1em;
			}
		}
	}
	.JS #Contents .Section {
		&#Sec02 {
			& .Inner {
				& .Flex {
					li {
						.Flex  {
							gap: 1em;
							li {
								width: auto;
								display: flex;
								gap: 1em;
								.Cover,.Page {
									max-width: calc((100% / 2) - 1em);
									width: auto;
								}
							}
						}
					}
				}
			}
		}
	}
.JS h2, .JS .LV1LinkSet {
	margin: 0;
}
}
@media screen and (max-width: 579px) {
	.JS #Contents #Sec00 .Inner h2 {
		font-size: 6vw;
	}
	.JS #Contents #Sec02 .Inner h2 span {
		display: block;
	}
}