@charset "UTF-8";

/* !Base -------------------------------------------------------------- */
:root {
  --blue: #0039ab;
  --lblue: #eef0f8;
  --lblue2: #b0caff;
  --orange: #ed8721;
}
a {	color: #000; text-decoration: none; }
a.hblue:hover {	color: var(--blue); text-decoration: none; }
a.underline { border-bottom: 1px solid; }
a.underline:hover {  }
a.blue { color: #0039ab; text-decoration: none; }
a.blue:hover { border-bottom: 1px solid; }
a.white:hover { color: #fff; }
html { 
	font-size: 62.5%; overflow-y: scroll;
}
body {
	font-size: 16px;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	letter-spacing: 0;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	line-height: 1.94;
	color: #111;
}
.h1,h2,h3,h4,h5,.detail h1 {
	font-family: "Noto Serif JP", serif;
	font-weight: 600;
}
.h1,.home h2 {
	font-weight: 500;
}
.mincho {
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
}
.Oswald {
	font-family: "Oswald", sans-serif;
	font-weight: 700;
}
.noto {
	font-family: "Noto Sans JP", sans-serif;
}
.bold {
	font-weight: 700;
}
.semibold {
	font-weight: 600;
}
.medium {
	font-weight: 500;
}
.normal {
	font-weight: 400;
}
p { padding: 1em 0; }
img { max-width: 100%; height: auto; }
.taL { text-align: left   !important;}
.taC { text-align: center !important;}
.taR { text-align: right  !important;}
.marker { background:linear-gradient(transparent 60%, #FCFAD8 60%, #FCFAD8 100%, #fff 100%);}
.white { color: #fff; }
.white20 { color: rgba(255,255,255,.2); }
.black { color: #000; }
.blue { color: var(--blue); }
.lblue { color: var(--lblue); }
.lblue2 { color: var(--lblue2); }
.orange { color: var(--orange); }
.red { color: #d1022e; }
.bg_white { background: #fff; }
.bg_black { background: #000; }
.bg_blue { background: var(--blue); }
.bg_lblue { background: var(--lblue); }
.bg_vblue { background: #225ed5; }
.fz66 { font-size: 66px; }
.fz55 { font-size: 55px; }
.fz50 { font-size: 50px; }
.fz45 { font-size: 45px; }
.fz40 { font-size: 40px; }
.fz39 { font-size: 39px; }
.fz35 { font-size: 35px; }
.fz33 { font-size: 33px; }
.fz30 { font-size: 30px; }
.fz28 { font-size: 28px; }
.fz26 { font-size: 26px; }
.fz24 { font-size: 24px; }
.fz22 { font-size: 22px; }
.fz20 { font-size: 20px; }
.fz18 { font-size: 18px; }
.fz16 { font-size: 16px; }
.fz15 { font-size: 15px; }
.fz14 { font-size: 14px; }
.h1 { font-size: 55px; line-height: 1; padding: 0; }
h2,h3,h4,h5 { font-size: 35px; line-height: 1.4; }
strong { font-weight: 700; }
.lh25 {line-height:2.5;}
.lh24 {line-height:2.4;}
.lh23 {line-height:2.3;}
.lh22 {line-height:2.2;}
.lh21 {line-height:2.1;}
.lh20 {line-height:2.0;}
.lh19 {line-height:1.9;}
.lh18 {line-height:1.8;}
.lh17 {line-height:1.7;}
.lh16 {line-height:1.6;}
.lh15 {line-height:1.5;}
.lh14 {line-height:1.4;}
.lh13 {line-height:1.3;}
.lh12 {line-height:1.2;}
.lh11 {line-height:1.1;}
.lh10 {line-height:1;}
.ls00 {letter-spacing:0;}
.ls002 {letter-spacing:0.02em;}
.ls004 {letter-spacing:0.04em;}
.ls005 {letter-spacing:0.05em;}
.ls008 {letter-spacing:0.08em;}
.ls01 {letter-spacing:0.1em;}
.ls015 {letter-spacing:0.15em;}
.ls02 {letter-spacing:0.19em;}
.ls025 {letter-spacing:0.25em;}
.ls03 {letter-spacing:0.3em;}
.ls04 {letter-spacing:0.4em;}
figcaption { line-height: 1.5; margin-top: 0.5em; }
.r_over { transition: all 0.3s;}
.r_over:hover { filter: brightness(110%);}
.r_over2 { transition: all 0.3s;}
.r_over2:hover { filter: brightness(300%) contrast(30%);}
.hdn { display: none; }
@media screen and (max-width: 1920px) {
.fz66 { font-size: 66px; }
.fz55 { font-size: 55px; }
.fz50 { font-size: 50px; }
.fz45 { font-size: 45px; }
.fz40 { font-size: 40px; }
.fz39 { font-size: 2.818vw; }
.fz35 { font-size: 35px; }
.fz33 { font-size: 33px; }
.fz30 { font-size: 30px; }
.fz28 { font-size: 28px; }
.fz26 { font-size: 26px; }
.fz22 { font-size: 22px; }
.fz20 { font-size: 20px; }
.fz18 { font-size: 18px; }
.fz16 { font-size: 16px; }
.fz15 { font-size: 15px; }
.fz14 { font-size: 14px; }
.h1 { font-size: 55px; }
h2,h3,h4,h5 { font-size: 35px; }
}
@media screen and (max-width: 1384px) {
body { font-size: 1.156vw; }
.fz66 { font-size: 4.769vw; }
.fz55 { font-size: 3.974vw; }
.fz50 { font-size: 3.613vw; }
.fz45 { font-size: 3.251vw; }
.fz40 { font-size: 2.89vw; }
.fz39 { font-size: 2.818vw; }
.fz35 { font-size: 2.529vw; }
.fz33 { font-size: 2.384vw; }
.fz30 { font-size: 2.168vw; }
.fz28 { font-size: 2.023vw; }
.fz26 { font-size: 1.879vw; }
.fz24 { font-size: 1.734vw; }
.fz22 { font-size: 1.59vw; }
.fz20 { font-size: 1.445vw; }
.fz18 { font-size: 1.301vw; }
.fz16 { font-size: 1.156vw; }
.fz15 { font-size: 1.084vw; }
.fz14 { font-size: 1.012vw; }
.h1 { font-size: 3.974vw; }
h2,h3,h4,h5 { font-size: 2.529vw; }
}
@media screen and (max-width: 1024px) {
body { font-size: 1.563vw; }
.fz66 { font-size: 6.445vw; }
.fz55 { font-size: 5.371vw; }
.fz50 { font-size: 4.883vw; }
.fz45 { font-size: 4.395vw; }
.fz40 { font-size: 3.906vw; }
.fz39 { font-size: 3.809vw; }
.fz35 { font-size: 3.418vw; }
.fz33 { font-size: 3.223vw; }
.fz30 { font-size: 2.93vw; }
.fz28 { font-size: 2.734vw; }
.fz26 { font-size: 2.539vw; }
.fz24 { font-size: 2.344vw; }
.fz22 { font-size: 2.148vw; }
.fz20 { font-size: 1.953vw; }
.fz18 { font-size: 1.758vw; }
.fz16 { font-size: 1.563vw; }
.fz15 { font-size: 1.465vw; }
.fz14 { font-size: 1.367vw; }
.h1 { font-size: 4.5vw; }
h2,h3,h4,h5 { font-size: 3vw; }
.lh25 {line-height:2.2;}
.tab-taC { text-align: center !important;}
}
@media screen and (max-width: 540px) { /*483px*/
body { font-size: 3.313vw; line-height: 1.8; }
.fz66 { font-size: 8.8vw; }
.fz55 { font-size: 8vw; }
.fz50 { font-size: 7.5vw; }
.fz45 { font-size: 6.3vw; }
.fz40 { font-size: 5.5vw; }
.fz39 { font-size: 5.5vw; }
.fz35 { font-size: 5.5vw; }
.fz33 { font-size: 5.3vw; }
.fz30 { font-size: 4.5vw; }
.fz28 { font-size: 4.7vw; }
.fz26 { font-size: 4.266vw; }
.fz22 { font-size: 4.1vw; }
.fz24 { font-size: 4vw; }
.fz20 { font-size: 4vw; }
.fz18 { font-size: 3.727vw; }
.fz16 { font-size: 3.313vw; }
.fz15 { font-size: 2.6vw; }
.fz14 { font-size: 2.899vw; }
._fz70 { font-size: 7vw; }
._fz60 { font-size: 6vw; }
._fz37 { font-size: 3.7vw; }
._fz32 { font-size: 3.2vw; }
._fz31 { font-size: 3.1vw; }
.h1 { font-size: 7.5vw; }
h2,h3,h4,h5 { font-size: 5.3vw; }
.lh25 {line-height:2;}
.lh22 {line-height:1.8;}
.sp-taC { text-align: center !important;}
}
.sp,
.tab {
	display: none;
}
@media screen and (max-width: 1024px) {
	.pc {
		display: none;
	}
	.tab {
		display: block;
	}
}
@media screen and (max-width: 540px) {
	.sp {
		display: block;
	}
	.nosp {
		display: none;
	}
}
.mw100 { width: 100%; height: auto;}
.mw90 { width: 90%; margin: 0 5%;}
.dib { display: inline-block; }
.db { display: block; }
.ofh { overflow-x: hidden; }


/*ナビゲーション部分*/

.menu { 
	background-color: #fff;
	/*-webkit-transform: translateY(-100%);
	transform: translateY(-100%);*/
	position: fixed;
	z-index: 6;
	right: 0;
	top: 0;
	width: 42em;
	height: 100%;
	overflow-y: auto;
	scrollbar-width: none;
	overscroll-behavior: none;
	padding: 0;
	font-size: 1.125em;
	visibility: hidden;
	opacity: 0;
	transition: 0.1s ease;
}
.menu > div {
	/*height: 100%;*/
	min-height: 100.1%;
	min-height: calc(100% + 1px);
}
.menu.open {
	/*-webkit-transform: translateY(0%);
	transform: translateY(0%);*/
	visibility: visible;
	opacity: 1;
	transition: 0.5s ease;
}
.menu-nav-wrap {
	overflow-y: auto;
}
.menu-nav-wrap > nav {
	padding: 8em 0 2em;
}
.menu a {
	display: block;
	padding: .9em 0;
	color: #fff;
}
.menu .menu-title a {
}
.menu a:hover {
	color: #b0caff;
}
.menu-toggle li a {
	padding-left: 2em;
}
.menu li {
	border-top: 1px solid rgba(255,255,255,.4);
}
@media screen and (min-width: 541px) {
	.menu ul:not(.menu-toggle) {
		border-bottom: 1px solid rgba(255,255,255,.4);
	}
	.menu-nav > ul {
		width: 13em;
	}
}
@media screen and (max-width: 1024px) {
	.menu-nav-wrap {
		width: 100%;
	}
	.menu-nav-wrap > nav {
		padding: 10vw 0;
	}
	.menu { 
		font-size: 2vw;
		width: 100%;
	}
}
@media screen and (max-width: 540px) {
	.menu-nav-wrap > nav {
		padding: 25vw 0 10vw;
	}
	.menu { 
		font-size: 4vw;
	}
	.menu-toggle {
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.4s ease;
		padding: 0;
	}
	.menu .menu-title a:hover {
		color: #fff;
	}
}

.menu-nav {
	padding: 0 2.5em;
}
@media screen and (max-width: 540px){
	.menu-nav {
		padding: 0 14vw;
	}
	.menu-nav + .menu-nav ul {
		border-bottom: 1px solid rgba(255,255,255,.4);
	}
}

@media screen and (max-width: 540px){
	.menu-title > a {
		position: relative;
	}
	.menu-title > a::before,
	.menu-title > a::after {
		content: "";
		position: absolute;
		top: 55%;
		right: 1.3vw;
		width: 2.67vw;
		height: 2px;
		border-radius: 9999px;
		background-color: #fff;
		transform-origin: calc(100% - 1px) 50%;
	}
	.menu-title > a::before {
		transform: rotate(135deg);
	}
	.menu-title > a::after {
		transform: rotate(45deg);
	}
	.menu-title {
		overflow: visible;
	}
	.menu-title.change-arrow {
	}
	.menu-title > a.change-arrow::before {
		transform: rotate(-45deg);
		right: 2vw;
		top: 45%;
	}
	.menu-title > a.change-arrow::after {
		transform: rotate(-135deg);
		right: 2vw;
		top: 45%;
	}
}

.Toggle {
	display: block;
	position: relative;
	cursor: pointer;
	z-index: 9;
	right: 0;
	top: 0;
	width: 5.625em;
	height: 5.625em;
	background: var(--blue);
	border-radius: 0 .1875em .1875em 0;
}
.Toggle.active {
	background: #b0caff;
}
.Toggle span {
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 36%;
	border-bottom: solid 3px #fff;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}
.Toggle span:nth-child(1) {
	top: 34%;
}
.Toggle span:nth-child(2) {
	top: 50%;
}
.Toggle span:nth-child(3) {
	top: 65%;
}
.Toggle.active span:nth-child(1) {
	top: 50%;
	left: 29%;
	width: 44%;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
	border-bottom-color: #3b3d3e;
}
.Toggle.active span:nth-child(2),
.Toggle.active span:nth-child(3) {
	top: 50%;
	left: 29%;
	width: 44%;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
	border-bottom-color: #3b3d3e;
}
.header-cover {
	background-color: rgba(8,18,15,.7);
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	opacity: 0;
	visibility: hidden;
	transition: opacity .2s ease;
	z-index: 5;
}
.menu.open + .header-cover {
	opacity: 1;
	visibility: visible;
}
@media screen and (max-width: 1024px) {
	.Toggle {
		width: 8vw;
		height: 8vw;
	}
	.Toggle span {
		border-bottom-width: 2px;
	}
}
@media screen and (max-width: 540px) {
	.Toggle {
		width: 12vw;
		height: 12vw;
	}
	.Toggle span {
	}
}

.menu-pc-wrap {
	padding-right: 2.875em;
	height: 5.625em;
}
.menu-pc {
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	height: 50%;
}
.menu-pc a {
	display: block;
	height: 100%;
}
.menu-pc a:not(._access) {
	font-size: 1.125em;
}
.menu-pc a._access {
	margin-right: 1.5em;
}
.menu-pc a._contact {
	padding: 0 1em;
	background: var(--blue);
	color: #fff;
	border-radius: 0.16em;
}
.menu-pc._main li + li {
	margin-left: 2em;
}
.menu-pc._main a {
	border-bottom: 0.333em solid #fff;
	line-height: 2.1;
}
.menu-pc._main a:hover,
.company .menu-pc._main li:nth-child(1) a,
.business .menu-pc._main li:nth-child(2) a,
.results .menu-pc._main li:nth-child(3) a,
.csr .menu-pc._main li:nth-child(4) a,
.recruit .menu-pc._main li:nth-child(5) a {
	color: #000;
	border-bottom: 0.333em solid var(--blue);
}

.header-mail {
	display: none;
}
@media screen and (max-width: 1024px) {
	.header-mail {
		display: block;
		margin-right: 2vw;
	}
	.header-mail a {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		color: var(--blue);
		font-size: 1.9vw;
		width: 8vw;
		height: 8vw;
		line-height: 1.6;
		padding-top: 0.2em;
	}
	.header-mail a img {
		width: 3.3vw;
	}
}
@media screen and (max-width: 540px) {
	.header-mail a {
		font-size: 2.93vw;
		width: 12vw;
		height: 12vw;
	}
	.header-mail a img {
		width: 5.1vw;
	}
}


/* !header -------------------------------------------------------------- */
#header {
	position: fixed;
	top: 1.125em;
	z-index: 7;
	width: 97.4%;
	height: 5.625em;
	margin: 0 1.3%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #fff;
	padding-left: 1.23%;
	border-radius: .1875em;
}
#contents {
	/*padding-top: 98px;*/
}
@media screen and (min-width: 1024.1px) {
	#header {
		box-shadow: 0 0 .8em rgba(100,100,100,.14);
	}
}
@media screen and (max-width: 1024px) {
	#header {
		height: 8vw;
		top: 1em;
	}
	#contents {
		/*padding-top: 6vw;*/
	}
}
@media screen and (max-width: 540px) {
	#header {
		height: 12vw;
		width: 93.4%;
		margin: 0 3.3%;
		top: .7em;
		padding-left: 3.2%;
	}
	#contents {
		/*padding-top: 7vw;*/
	}
}


/* !logo -------------------------------------------------------------- */
.logo {
	padding: 0;
}
#header .logo {
	height: 100%;
}
#footer .logo {
	font-size: 1.08em;
}
.logo a {
	height: 100%;
	display: flex;
	align-items: center;
}
.logo-img {
	width: 6.375em;
}
.logo-txt {
	width: 13.375em;
	margin-left: 1.1em;
}
@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 540px) {
	.logo {
		font-size: 2vw;
	}
	#footer .logo {
		font-size: .9em;
	}
	#footer .logo a {
		justify-content: center;
	}
}


/*基準1384*/
.container {
	width: 86.7%;
	max-width: 1200px;
	margin: 0 auto;
}
.container1000 {
	width: 80%;
	max-width: 1000px;
	margin: 0 auto;
}
.container1100 {
	width: 72.3%;
	max-width: 1100px;
	margin: 0 auto;
}
.container1920 {
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
}
.container1920z {
	width: 120em;
	margin-left: calc(calc(100vw - 120em) /2);
	margin-right: calc(calc(100vw - 120em) /2);
}
.container100 {
	width: 100%;
	margin: 0 auto;
}
.container94 {
	width: 93.67%;
	margin: 0 auto;
}
.container92 {
	width: 92%;
	margin: 0 auto;
}
.container90 {
	width: 90%;
	margin: 0 auto;
}
.container88 {
	width: 88%;
	margin: 0 auto;
}
.container84 {
	width: 84%;
	margin: 0 auto;
}
.container80 {
	width: 80%;
	margin: 0 auto;
}
.container73 {
	width: 73%;
	margin: 0 auto;
}
.container-left {
	width: 81.25%;
	max-width: 97.5em;
	margin-left: 0;
	margin-right: auto;
}
.container-right {
	width: 81.25%;
	max-width: 97.5em;
	margin-right: 0;
	margin-left: auto;
}
@media screen and (max-width: 1024px) {
	._tab100 {
		width: 100%;
	}
	._tab92 {
		width: 92%;
	}
	._tab92-left {
		width: 92%;
		margin-left: 8%;
		margin-right: 0;
	}
	._tab90 {
		width: 90%;
	}
	._tab86 {
		width: 86.7%;
		margin: 0 auto;
	}
	._tab80 {
		width: 80%;
	}
	._tab70 {
		width: 70%;
	}
	.container1920z {
		width: 64em;
		margin-left: calc(calc(100vw - 64em) /2);
		margin-right: calc(calc(100vw - 64em) /2);
	}
	.container-left {
		width: 93.35%;
	}
	.container-right {
		width: 93.35%;
	}
}
@media screen and (max-width: 540px) {
	._sp100 {
		width: 100%;
	}
	._sp90 {
		width: 90%;
		margin: 0 auto;
	}
	._sp86 {
		width: 86.7%;
		margin: 0 auto;
	}
	._sp80 {
		width: 80%;
		margin: 0 auto;
	}
	.container1920z {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
	.container-right {
	}
	.sp-w70 {
		width: 70%;
	}
}


/* !btn -------------------------------------------------------------- */
.btn_01,
.submitbtnWrap {
	display: inline-block;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	color: #fff;
	background: var(--blue);
	width: 16.625em;
	height: 4.375em;
	border-radius: 2.2em;
	transition: all 0.2s;
	font-size: 16px;
}
.btn_01._white {
	color: var(--blue);
	background: #fff;
}
.btn_01 span.Oswald {
	font-size: 1.125em;
}
.btn_01::after,
.submitbtnWrap::after {
	content: "";
	display: block;
	background: #fff;
	position: absolute;
	right: 11.7%;
	top: 50%;
	transform: translateY(-50%);
	clip-path: polygon(18% 0, 100% 50%, 18% 100%, 0 90%, 66% 50%, 0 10%);
	transition: all 0.2s;
	width: .625em;
	height: 1.125em;
}
.btn_01._white::after {
	background: var(--blue);
}
.btn_01.taC,
.submitbtnWrap {
	margin: 0 auto;
}
.submitbtnWrap {
}
.submitbtnWrap input {
	width: 100%;
	height: 100%;
	text-align: center;
}

.btn_01._rect {
	color: var(--blue);
	background: #fff;
	width: 14.5em;
	height: 3.75em;
	border-radius: 0;
	justify-content: flex-start;
	padding-left: 15.5%;
}
.btn_01._rect::after {
	background: var(--blue);
}
.btn_01._text {
	color: var(--blue);
	background: none;
	width: 7.6em;
	height: 2em;
	border-radius: 0;
	justify-content: flex-start;
}
.btn_01._text::after {
	background: var(--blue);
}
.btn_01._long {
	width: inherit;
	height: 3.5em;
	justify-content: flex-start;
	padding: 0 5em .1em 2.4em;
	display: inline-flex;
}
.btn_01._long::after {
	right: 2em;
}
.btn_01._long + .btn_01._long {
	margin-left: 2em;
}
@media screen and (min-width: 1025px) {
	.btn_01:not(._rect,._text):hover,
	.submitbtnWrap:hover {
		background: #000;
	}
	.btn_01._white:hover {
		background: var(--lblue);
	}
	.btn_01:not(._rect,._long):hover::after,
	.top-link:hover .btn_01::after,
	.submitbtnWrap:hover::after {
		right: 9.7%;
	}
	.btn_01._long:hover::after {
		right: 1.7em;
	}
}
@media screen and (max-width: 1384px) {
	.btn_01,
	.submitbtnWrap {
		font-size: 1.156vw;
	}
}
@media screen and (max-width: 1024px) {
	.btn_01,
	.submitbtnWrap {
		font-size: 1.563vw;
	}
}
@media screen and (max-width: 540px) {
	.btn_01,
	.submitbtnWrap {
		width: 66.666vw;
		height: 12.26vw;
		margin: 0 auto;
		font-size: 3.313vw;
	}
	.btn_01::after,
	.submitbtnWrap::after {
		width: .5625em;
		height: 1em;
		right: 8.8%;
	}
	.btn_01._rect {
		width: 9.3em;
		height: 2.5em;
		padding-left: 12%;
		padding-top: 3%;
	}
	.sp-taR .btn_01 {
		margin: 0 0 0 auto;
	}
	.btn_01._long + .btn_01._long {
		margin-left: 0;
		margin-top: 4vw;
	}
}

.submitbtnWrap:not(.submitbtnWrap-confirm) {
	background: #ccc;
}
.contactFormWrap:has(input[type=checkbox]:checked) + .submitbtnWrap {
	background: #000;
}
.contactFormWrap:has(input[type=checkbox]:checked) + .submitbtnWrap:hover,
.submitbtnWrap.submitbtnWrap-confirm:hover {
	background: var(--blue);
}

/* !行間設定 -------------------------------------------------------------- */
.pd0	{ padding: 0; }
.pd02	{ padding: 0.2em 0; }
.pd03	{ padding: 0.3em 0; }
.pd04	{ padding: 0.4em 0; }
.pd05	{ padding: 0.5em 0; }
.pd07	{ padding: 0.7em 0; }
.pd08	{ padding: 0.8em 0; }
.pd1	{ padding: 1em 0; }
.pd15	{ padding: 1.5em 0; }
.pd2	{ padding: 2em 0; }
.pd25	{ padding: 2.5em 0; }
.pd3	{ padding: 3em 0; }
.pd35	{ padding: 3.5em 0; }
.pd4	{ padding: 4em 0; }
.pd45	{ padding: 4.5em 0; }
.pd5	{ padding: 5em 0; }
.pd6	{ padding: 6em 0; }
.pd7	{ padding: 7em 0; }
.pd8	{ padding: 8em 0; }
.mg05	{ margin: 0.5em auto; }
.mg1	{ margin: 1em auto; }
.mg15	{ margin: 1.5em auto; }
.mg2	{ margin: 2em auto; }
.mg25	{ margin: 2.5em auto; }
.mg3	{ margin: 3em auto; }
.mg4	{ margin: 4em auto; }
.mg5	{ margin: 5em auto; }
.mt05	{ margin-top: 0.5em;}
.mt1	{ margin-top: 1em;}
.mt15	{ margin-top: 1.5em;}
.mt18	{ margin-top: 1.8em;}
.mt2	{ margin-top: 2em;}
.mt25	{ margin-top: 2.5em;}
.mt3	{ margin-top: 3em;}
.mt35	{ margin-top: 3.5em;}
.mt4	{ margin-top: 4em;}
.mt45	{ margin-top: 4.5em;}
.mt5	{ margin-top: 5em;}
.mt6	{ margin-top: 6em;}
.mt7	{ margin-top: 7em;}
.mt8	{ margin-top: 8em;}
.mt9	{ margin-top: 9em;}
.mr05	{ margin-right: 0.5em;}
.mr1	{ margin-right: 1em;}
.mr15	{ margin-right: 1.5em;}
.mr2	{ margin-right: 2em;}
.mr25	{ margin-right: 2.5em;}
.mr3	{ margin-right: 3em;}
.mr4	{ margin-right: 4em;}
.mr5	{ margin-right: 5em;}
.ml05	{ margin-left: 0.5em;}
.ml1	{ margin-left: 1em;}
.ml15	{ margin-left: 1.5em;}
.ml2	{ margin-left: 2em;}
.ml25	{ margin-left: 2.5em;}
.ml3	{ margin-left: 3em;}
.ml4	{ margin-left: 4em;}
.ml5	{ margin-left: 5em;}
.mb05	{ margin-bottom: 0.5em;}
.mb1	{ margin-bottom: 1em;}
.mb15	{ margin-bottom: 1.5em;}
.mb2	{ margin-bottom: 2em;}
.mb25	{ margin-bottom: 2.5em;}
.mb3	{ margin-bottom: 3em;}
.mb35	{ margin-bottom: 3.5em;}
.mb4	{ margin-bottom: 4em;}
.mb45	{ margin-bottom: 4.5em;}
.mb5	{ margin-bottom: 5em;}
.mb6	{ margin-bottom: 6em;}
.pt05	{ padding-top: 0.5em;}
.pt1	{ padding-top: 1em;}
.pt15	{ padding-top: 1.5em;}
.pt2	{ padding-top: 2em;}
.pt25	{ padding-top: 2.5em;}
.pt3	{ padding-top: 3em;}
.pt35	{ padding-top: 3.5em;}
.pt4	{ padding-top: 4em;}
.pt45	{ padding-top: 4.5em;}
.pt5	{ padding-top: 5em;}
.pt6	{ padding-top: 6em;}
.pt7	{ padding-top: 7em;}
.pt8	{ padding-top: 8em;}
.pt10	{ padding-top: 10em;}
.pr05	{ padding-right: 0.5em;}
.pr1	{ padding-right: 1em;}
.pr15	{ padding-right: 1.5em;}
.pr2	{ padding-right: 2em;}
.pr25	{ padding-right: 2.5em;}
.pr3	{ padding-right: 3em;}
.pr35	{ padding-right: 3.5em;}
.pr4	{ padding-right: 4em;}
.pr5	{ padding-right: 5em;}
.pl05	{ padding-left: 0.5em;}
.pl1	{ padding-left: 1em;}
.pl15	{ padding-left: 1.5em;}
.pl2	{ padding-left: 2em;}
.pl25	{ padding-left: 2.5em;}
.pl3	{ padding-left: 3em;}
.pl35	{ padding-left: 3.5em;}
.pl4	{ padding-left: 4em;}
.pl45	{ padding-left: 4.5em;}
.pl5	{ padding-left: 5em;}
.pb05	{ padding-bottom: 0.5em;}
.pb1	{ padding-bottom: 1em;}
.pb15	{ padding-bottom: 1.5em;}
.pb2	{ padding-bottom: 2em;}
.pb25	{ padding-bottom: 2.5em;}
.pb3	{ padding-bottom: 3em;}
.pb35	{ padding-bottom: 3.5em;}
.pb4	{ padding-bottom: 4em;}
.pb45	{ padding-bottom: 4.5em;}
.pb5	{ padding-bottom: 5em;}
.pb6	{ padding-bottom: 6em;}
.pb7	{ padding-bottom: 7em;}
.pb8	{ padding-bottom: 8em;}
.pb9	{ padding-bottom: 9em;}
.pb10	{ padding-bottom: 10em;}
.pb-f	{ padding-bottom: 15em;}
@media screen and (max-width: 1024px) {
.pd08	{ padding: 1.2vw 0; }
.pd1	{ padding: 1.5vw 0; }
.pd15	{ padding: 2.25vw 0; }
.pd2	{ padding: 3vw 0; }
.pd25	{ padding: 3.75vw 0; }
.pd3	{ padding: 4.5vw 0; }
.pd35	{ padding: 5.25vw 0; }
.pd4	{ padding: 6vw 0; }
.pd45	{ padding: 6.75vw 0; }
.pd5	{ padding: 7.5vw 0; }
.pd6	{ padding: 9vw 0; }
.pd7	{ padding: 10.5vw 0; }
.pd8	{ padding: 12vw 0; }
.mg1	{ margin: 1.5vw auto; }
.mg15	{ margin: 2.25vw auto; }
.mg2	{ margin: 3vw auto; }
.mg25	{ margin: 3.75vw auto; }
.mg3	{ margin: 4.5vw auto; }
.mg4	{ margin: 6vw auto; }
.mg5	{ margin: 7.5vw auto; }
.mt05	{ margin-top: 0.75vw;}
.mt1	{ margin-top: 1.5vw;}
.mt15	{ margin-top: 2.25vw;}
.mt2	{ margin-top: 3vw;}
.mt25	{ margin-top: 3.75vw;}
.mt3	{ margin-top: 4.5vw;}
.mt35	{ margin-top: 5.25vw;}
.mt4	{ margin-top: 6vw;}
.mt45	{ margin-top: 6.75vw;}
.mt5	{ margin-top: 7.5vw;}
.mt6	{ margin-top: 9vw;}
.mt8	{ margin-top: 12vw;}
.mt9	{ margin-top: 13.5vw;}
.mr1	{ margin-right: 1.5vw;}
.mr15	{ margin-right: 2.25vw;}
.mr2	{ margin-right: 3vw;}
.mr25	{ margin-right: 3.75vw;}
.mr3	{ margin-right: 4.5vw;}
.mr4	{ margin-right: 6vw;}
.mr5	{ margin-right: 7.5vw;}
.ml1	{ margin-left: 1.5vw;}
.ml15	{ margin-left: 2.25vw;}
.ml2	{ margin-left: 3vw;}
.ml25	{ margin-left: 3.75vw;}
.ml3	{ margin-left: 4.5vw;}
.ml4	{ margin-left: 6vw;}
.ml5	{ margin-left: 7.5vw;}
.mb1	{ margin-bottom: 1.5vw;}
.mb15	{ margin-bottom: 2.25vw;}
.mb2	{ margin-bottom: 3vw;}
.mb25	{ margin-bottom: 3.75vw;}
.mb3	{ margin-bottom: 4.5vw;}
.mb35	{ margin-bottom: 5.25vw;}
.mb4	{ margin-bottom: 6vw;}
.mb45	{ margin-bottom: 6.75vw;}
.mb5	{ margin-bottom: 7.5vw;}
.mb6	{ margin-bottom: 9vw;}
.pt1	{ padding-top: 1.5vw;}
.pt15	{ padding-top: 2.25vw;}
.pt2	{ padding-top: 3vw;}
.pt25	{ padding-top: 3.75vw;}
.pt3	{ padding-top: 4.5vw;}
.pt35	{ padding-top: 5.25vw;}
.pt4	{ padding-top: 6vw;}
.pt45	{ padding-top: 6.75vw;}
.pt5	{ padding-top: 7.5vw;}
.pt6	{ padding-top: 9vw;}
.pt7	{ padding-top: 10.5vw;}
.pt8	{ padding-top: 12vw;}
.pt10	{ padding-top: 15vw;}
.pr1	{ padding-right: 1.5vw;}
.pr15	{ padding-right: 2.25vw;}
.pr2	{ padding-right: 3vw;}
.pr25	{ padding-right: 3.75vw;}
.pr3	{ padding-right: 4.5vw;}
.pr35	{ padding-right: 5.25vw;}
.pr4	{ padding-right: 6vw;}
.pr5	{ padding-right: 7.5vw;}
.pl1	{ padding-left: 1.5vw;}
.pl15	{ padding-left: 2.25vw;}
.pl2	{ padding-left: 3vw;}
.pl25	{ padding-left: 3.75vw;}
.pl3	{ padding-left: 4.5vw;}
.pl35	{ padding-left: 5.25vw;}
.pl4	{ padding-left: 6vw;}
.pl45	{ padding-left: 6.75vw;}
.pl5	{ padding-left: 7.5vw;}
.pb1	{ padding-bottom: 1.5vw;}
.pb15	{ padding-bottom: 2.25vw;}
.pb2	{ padding-bottom: 3vw;}
.pb25	{ padding-bottom: 3.75vw;}
.pb3	{ padding-bottom: 4.5vw;}
.pb3-0	{ padding-bottom: 0;}
.pb35	{ padding-bottom: 5.25vw;}
.pb4	{ padding-bottom: 6vw;}
.pb45	{ padding-bottom: 6.75vw;}
.pb5	{ padding-bottom: 7.5vw;}
.pb6	{ padding-bottom: 9vw;}
.pb7	{ padding-bottom: 10.5vw;}
.pb8	{ padding-bottom: 12vw;}
.pb9	{ padding-bottom: 13.5vw;}
.pb10	{ padding-bottom: 15vw;}
.pb-f	{ padding-bottom: 20vw;}
.tab-mt { margin-top: 2vw; }
.tab-mt2 { margin-top: 5vw; }
.tab-pt { padding-top: 5vw; }
.tab-pd { padding: 3vw 0; }
}
@media screen and (max-width: 540px) {
.pd02	{ padding: 0.1em 0; }
.pd08	{ padding: 2vw 0; }
.pd1	{ padding: 2vw 0; }
.pd15	{ padding: 3vw 0; }
.pd2	{ padding: 4vw 0; }
.pd25	{ padding: 5vw 0; }
.pd3	{ padding: 6vw 0; }
.pd35	{ padding: 7vw 0; }
.pd4	{ padding: 8vw 0; }
.pd45	{ padding: 9vw 0; }
.pd5	{ padding: 10vw 0; }
.pd6	{ padding: 12vw 0; }
.pd7	{ padding: 14vw 0; }
.pd8	{ padding: 16vw 0; }
.mg1	{ margin: 2vw auto; }
.mg15	{ margin: 3vw auto; }
.mg2	{ margin: 4vw auto; }
.mg25	{ margin: 5vw auto; }
.mg3	{ margin: 6vw auto; }
.mg4	{ margin: 8vw auto; }
.mg5	{ margin: 10vw auto; }
.mt1	{ margin-top: 2vw;}
.mt15	{ margin-top: 3vw;}
.mt2	{ margin-top: 4vw;}
.mt25	{ margin-top: 5vw;}
.mt3	{ margin-top: 6vw;}
.mt35	{ margin-top: 7vw;}
.mt4	{ margin-top: 8vw;}
.mt45	{ margin-top: 9vw;}
.mt5	{ margin-top: 10vw;}
.mt6	{ margin-top: 12vw;}
.mt7	{ margin-top: 14vw;}
.mt8	{ margin-top: 16vw;}
.mt9	{ margin-top: 18vw;}
.mr1	{ margin-right: 2vw;}
.mr15	{ margin-right: 3vw;}
.mr2	{ margin-right: 4vw;}
.mr25	{ margin-right: 5vw;}
.mr3	{ margin-right: 6vw;}
.mr4	{ margin-right: 8vw;}
.mr5	{ margin-right: 10vw;}
.ml1	{ margin-left: 2vw;}
.ml15	{ margin-left: 3vw;}
.ml2	{ margin-left: 4vw;}
.ml25	{ margin-left: 5vw;}
.ml3	{ margin-left: 6vw;}
.ml4	{ margin-left: 8vw;}
.ml5	{ margin-left: 10vw;}
.mb1	{ margin-bottom: 2vw;}
.mb15	{ margin-bottom: 3vw;}
.mb2	{ margin-bottom: 4vw;}
.mb25	{ margin-bottom: 5vw;}
.mb3	{ margin-bottom: 6vw;}
.mb35	{ margin-bottom: 7vw;}
.mb4	{ margin-bottom: 8vw;}
.mb45	{ margin-bottom: 9vw;}
.mb5	{ margin-bottom: 10vw;}
.mb6	{ margin-bottom: 12vw;}
.pt1	{ padding-top: 2vw;}
.pt15	{ padding-top: 3vw;}
.pt2	{ padding-top: 4vw;}
.pt25	{ padding-top: 5vw;}
.pt3	{ padding-top: 6vw;}
.pt35	{ padding-top: 7vw;}
.pt4	{ padding-top: 8vw;}
.pt45	{ padding-top: 9vw;}
.pt5	{ padding-top: 10vw;}
.pt6	{ padding-top: 12vw;}
.pt7	{ padding-top: 14vw;}
.pt8	{ padding-top: 16vw;}
.pt10	{ padding-top: 20vw;}
.pr1	{ padding-right: 2vw;}
.pr15	{ padding-right: 3vw;}
.pr2	{ padding-right: 4vw;}
.pr25	{ padding-right: 5vw;}
.pr3	{ padding-right: 6vw;}
.pr35	{ padding-right: 7vw;}
.pr4	{ padding-right: 8vw;}
.pr5	{ padding-right: 10vw;}
.pl1	{ padding-left: 2vw;}
.pl15	{ padding-left: 3vw;}
.pl2	{ padding-left: 4vw;}
.pl25	{ padding-left: 5vw;}
.pl3	{ padding-left: 6vw;}
.pl35	{ padding-left: 7vw;}
.pl4	{ padding-left: 8vw;}
.pl45	{ padding-left: 9vw;}
.pl5	{ padding-left: 10vw;}
.pb1	{ padding-bottom: 2vw;}
.pb15	{ padding-bottom: 3vw;}
.pb2	{ padding-bottom: 4vw;}
.pb25	{ padding-bottom: 5vw;}
.pb3	{ padding-bottom: 6vw;}
.pb3-2	{ padding-bottom: 19vw;}
.pb35	{ padding-bottom: 7vw;}
.pb4	{ padding-bottom: 8vw;}
.pb45	{ padding-bottom: 9vw;}
.pb5	{ padding-bottom: 10vw;}
.pb6	{ padding-bottom: 12vw;}
.pb7	{ padding-bottom: 14vw;}
.pb8	{ padding-bottom: 16vw;}
.pb9	{ padding-bottom: 18vw;}
.pb10	{ padding-bottom: 20vw;}
.pb-f	{ padding-bottom: 25vw;}
.tab-mt { margin-top: 3vw; }
.tab-mt2 { margin-top: 9vw; }
.tab-pt { padding-top: 0; }
.tab-pd { padding: 10vw 0; }
.sp-pt	{ padding-top: 8vw;}
.sp-mt0 { margin-top: 0; }
.sp-mt { margin-top: 3vw; }
.sp-mt2 { margin-top: 6vw; }
.sp-mt3 { margin-top: 9vw; }
.sp-mt4 { margin-top: 12vw; }
.sp-mt5 { margin-top: 15vw; }
.sp-pt { padding-top: 5vw; }
.sp-pl { padding-left: 2vw; }
.sp-pb { padding-bottom: 7vw; }
}
@media screen and (min-width: 541px) {
.pt5-pc { padding-top: 5em;}
}


/* !flex -------------------------------------------------------------- */
.flex,
.flex_pc,
.flex_all {
	display: flex;
	justify-content: space-between;
}
.aic {
	align-items: center;
}
.ais {
	align-items: start;
}
.aie {
	align-items: flex-end;
}
.flwWrap {
	flex-wrap: wrap;
}
.jcs {
	justify-content: start;
}
.jcc {
	justify-content: center;
}
.jcr {
	justify-content: flex-end;
}
.jc-se {
	justify-content: space-evenly;
}
.fd-rr {
	flex-direction: row-reverse;
}
.fd-column {
	flex-direction: column;
}
.order-1 {
	order: 1;
}
.order-2 {
	order: 2;
}
.flex-w80 {
	width: 80%;
}
.flex-w74 {
	width: 74%;
}
.flex-w71 {
	width: 71%;
}
.flex-w66 {
	width: 66%;
}
.flex-w50 {
	width: 50%;
}
.flex-w48 {
	width: 48.3%;
}
.flex-w47 {
	width: 47.2%;
}
.flex-w46 {
	width: 46%;
}
.flex-w31 {
	width: 31.1%;
}
.flex-w26 {
	width: 26%;
}
.flex-w25 {
	width: 25%;
}
.flex-w20 {
	width: 20%;
}
.flex-col-4 {
	width: 24.34%;
}
.flex-col-3 {
	width: 32.1%;
}

@media screen and (max-width: 1024px) {
	.flex_pc {
		display: block;
	}
	.flex_pc > [class^="flex-w"] {
		width: 100%;
	}
	.tab-aic {
		align-items: center;
	}
	.flex_tab {
		display: flex;
	}
	.flex-w80 {
		width: 75%;
	}
	.flex-w20 {
		width: 25%;
	}
}
@media screen and (max-width: 540px) {
	.flex {
		display: block;
	}
	.flex > [class^="flex-w"],
	.flex > [class^="flex-col-"] {
		width: 100%;
	}
	.flex_sp {
		display: flex;
	}
	.flex-sp-container {
		padding-left: 6.4%;
		padding-right: 6.4%;
	}
	.flex [class^="pr"]	{ padding-right: 0;}
	.flex [class^="pl"]	{ padding-left: 0;}
	.sp-ais {
		align-items: start;
	}
	.flex-col-4 {
		width: 49%;
	}
}


/* !fv -------------------------------------------------------------- */
.fv {
	background: url(../images/fv_img.webp) center no-repeat;
	background-size: cover;
	height: 58.3125em;
	max-height: 100vh;
	position: relative;
}
.fv_txt {
	position: absolute;
	top: 44.16%;
	left: 6.6%;
	width: 46.75em;
}
@media screen and (max-width: 1905px) {
	.fv {
		font-size: 0.84vw;
	}
}
@media screen and (max-width: 1024px) {
	.fv {
		font-size: 1.1vw;
		height: 50em;
	}
}
@media screen and (max-width: 540px) {
	.fv {
		background-image: url(../images/fv_img_sp.webp);
		height: 90.667vw;
	}
	.fv_txt {
		top: 37%;
		width: 61.2vw;
	}
}


/* !decorations -------------------------------------------------------------- */
.bg-txt {
	position: relative;
	z-index: 2;
}
.bg-txt::after {
	position: absolute;
	left: 0;
	top: 0;
	font-family: "Oswald", sans-serif;
	font-weight: 700;
	z-index: -1;
	line-height: 1;
}
.bg-txt._service::after {
	content: "SERVICE";
	color: var(--lblue);
	left: 9.5%;
	top: -0.39em;
}
.bg-txt._works::after,
.bg-txt._contact::after,
.bg-txt._philosophy::after,
.bg-txt._strong::after {
	content: "WORKS";
	color: rgba(0,57,171,0);
	left: 2.93%;
	top: -0.34em;
	-webkit-text-stroke: 1px rgba(255,255,255,.15);
	text-stroke: 1px rgba(255,255,255,.15);
}
.bg-txt._philosophy::after {
	content: "PHILOSOPHY";
}
.bg-txt._strong::after {
	content: "STRONG POINT";
}
.bg-txt._contact::after {
	content: "CONTACT";
}
.bg-txt._recruit::after {
	content: "RECRUIT";
	color: var(--lblue);
	left: 7.5%;
	top: -0.39em;
}
.bg-txt._health::after,
.bg-txt._hygiene::after,
.bg-txt._family::after,
.bg-txt._gm::after {
	content: "HEALTH";
	color: var(--lblue);
	left: inherit;
	right: 0;
	top: -0.6em;
}
.bg-txt._hygiene::after {
	content: "HYGIENE";
}
.bg-txt._family::after {
	content: "FAMILY";
}
.bg-txt._gm::after {
	content: "GENERAL MEETING";
	top: -1.4em;
}
.bg-txt._works2::after {
	content: "WORKS";
	color: #fff;
	left: inherit;
	right: 0;
	top: -0.34em;
}
.bg-txt._fz203::after {
	font-size: 12.625em;
}
.bg-txt._fz180::after {
	font-size: 11.25em;
}
.bg-txt._fz143::after {
	font-size: 8.9375em;
}
.bg-txt._fz104::after {
	font-size: 6.5em;
}
.bg-txt._fz76::after {
	font-size: 4.75em;
}
@media screen and (max-width: 1024px) {
	.bg-txt._fz203::after,
	.bg-txt._fz180::after {
		font-size: 9em;
	}
	.bg-txt._fz-min::after {
		font-size: 8.4em;
	}
	.bg-txt._fz143::after {
		font-size: 6.6em;
	}
	.bg-txt._fz104::after {
		font-size: 4.2em;
	}
	.bg-txt._fz76::after {
		font-size: 3.5em;
	}
}
@media screen and (max-width: 540px) {
	.bg-txt._service::after {
		left: 16%;
		top: -0.25em;
	}
	.bg-txt._works::after {
		left: 13%;
	}
	.bg-txt._philosophy::after {
		left: -10%;
	}
	.bg-txt._recruit::after {
		left: 22%;
		top: -0.25em;
	}
	.bg-txt._fz203::after,
	.bg-txt._fz180::after {
		font-size: 20vw;
	}
	.bg-txt._fz-min::after {
		font-size: 13.8vw;
	}
	.bg-txt._fz143::after {
		font-size: 13vw;
	}
	.bg-txt._fz104::after {
		font-size: 12vw;
	}
	.bg-txt._fz76::after {
		font-size: 10vw;
	}
	.bg-txt._health::after,
	.bg-txt._hygiene::after,
	.bg-txt._family::after {
		top: -0.3em;
	}
	.bg-txt._gm::after {
		top: -0.6em;
	}
}
.border-bottom {
	border-bottom: 1px solid #b9c6e9;
}


/* !contents -------------------------------------------------------------- */
.img_01 img {
	margin-top: -8.7em;
	width: 37.25em;
}
.img_01._2 img {
	margin-top: -12.7em;
}
.bg_01 {
	background: url(../images/bg_01.webp) center no-repeat;
	background-size: cover;
}
.top-results-list + .top-results-list {
	margin-left: 4.7em;
}
.top-results-list a {
	color: #fff;
	font-weight: 600;
	line-height: 2.3;
}
.top-results-list a:hover {
	border-bottom: 1px solid #fff;
}
.img_02 img {
	margin-top: -4em;
	width: 71.75em;
}
@media screen and (max-width: 1024px) {
	.img_01 {
		text-align: center;
	}
	.img_01 img {
		margin-top: 2.5em;
		width: 37.25em;
	}
	.img_01._2 img {
		margin-top: 2.5em;
	}
	.top-results-list + .top-results-list {
		margin-left: 2em;
	}
	.img_02 img {
		margin-top: 0;
		width: 40em;
	}
}
@media screen and (max-width: 540px) {
	.img_01 img {
		width: 21.5em;
	}
	.bg_01 {
		background-image: url(../images/bg_01_sp.webp);
	}
	.top-results-list a {
		line-height: 1.9;
	}
	.top-results-list + .top-results-list {
		margin-left: 0;
	}
}

.grid {
	display: grid;
	grid-template-columns: 1fr 3fr;
	grid-template-areas:
		"a b"
		"c b"
		"d b";
}
.grid2 {
	display: grid;
	grid-template-columns: 1fr 4fr;
	grid-template-areas:
		"a b"
		"c b";
}
.grid3 {
	display: grid;
	grid-template-columns: 38% 62%;
	grid-template-areas:
		"a b";
}
.grid3-2 {
	display: grid;
	grid-template-columns: 62% 38%;
	grid-template-areas:
		"b a";
}
.item-a { grid-area: a; }
.item-b { grid-area: b; }
.item-c { grid-area: c; }
@media screen and (max-width: 1024px) {
	.grid2 {
		grid-template-columns: 1fr 3fr;
	}
	.grid3,
	.grid3-2 {
		grid-template-columns: 1fr;
		grid-template-areas:
			"a"
			"b";
	}
}
@media screen and (max-width: 540px) {
	.grid,
	.grid2 {
		grid-template-columns: 1fr;
		grid-template-areas:
			"a"
			"b"
			"c";
	}
}


.top-link {
	display: block;
	position: relative;
	width: 100%;
	height: 21.25em;
	transition: .2s;
}
.top-link:hover {
	filter: brightness(94%);
}
.top-link-txt {
	position: absolute;
	top: 0;
	left: 3%;
	line-height: 1.2;
}
.top-link-title {
	position: absolute;
	top: 42%;
	left: 12%;
}
.top-link-btn {
	position: absolute;
	bottom: 0;
	right: 0;
}
.top-link._company {
	background: url(../images/top-link_01.webp) center no-repeat;
	background-size: cover;
}
.top-link._csr {
	background: url(../images/top-link_02.webp) center no-repeat;
	background-size: cover;
}
@media screen and (max-width: 1024px) {
	.top-link {
		height: 16em;
	}
}
@media screen and (max-width: 540px) {
	.top-link {
		height: 45.333vw;
	}
}


/* !news -------------------------------------------------------------- */
.icon-topics::before,
.icon-news::before {
	content: "";
	display: inline-block;
	width: .8em;
	height: .8em;
	background: url(../images/icon-topics.png) center no-repeat;
	background-size: 100%;
	margin-right: .6em;
}
.icon-news::before {
	background-image: url(../images/icon-news.png);
}
.news_list li a {
	display: flex;
	line-height: 1.5;
	padding: .55em 0;
}
.post-type-archive-news .news_list li a {
	padding: .7em;
}
.post-type-archive-news .news_list li a:hover {
	background: #f5f5f5;
}
.news_day {
	width: 19%;
	color: var(--blue);
}
.news_day::before {
	content: "●";
	font-size: 85%;
	margin-right: .7em;
}
.news_txt {
	width: 81%;
	padding: 0;
}
@media screen and (max-width: 1024px) {
	.news_day {
		width: 25%;
	}
	.news_txt {
		width: 75%;
	}
}
@media screen and (max-width: 540px) {
	.news_list li a {
		display: block;
		padding: .8em 0;
	}
	.post-type-archive-news .news_list li a {
		padding: 1em .5em;
	}
	.news_day {
		width: 100%;
		margin-bottom: .4em;
		display: block;
	}
	.news_txt {
		width: 100%;
	}
}


.zi2 {
	z-index: 2;
	position: relative;
}


/* !footer
---------------------------------------------------------- */
#footer {
	position: relative;
}
#footer::before {
	position: absolute;
	content: "";
	display: block;
	width: 50%;
	height: 100%;
	background: var(--blue);
	top: 0;
	right: 0;
	z-index: -1;
}
body:not(.business,.recruit) #footer {
	border-top: 1px solid var(--blue);
	margin-top: 6.75em;
}
.home #footer {
}
.footer-div {
	padding: 0 3.4%;
}
.footer-nav {
	margin-right: 5.75em;
	line-height: 2;
}
.footer-nav + .footer-nav {
	margin-right: 4.75em;
}
.footer-nav li a {
	color: var(--lblue2);
}
.footer-nav li a:hover {
	border-bottom: 1px solid;
}
.footer-nav li.footer-nav-main a {
	color: #fff;
	font-size: 112.5%;
}
.footer-tel {
	display: flex;
	flex-wrap: wrap;
	max-width: 26.7em;
}
.footer-tel dt {
	width: 53%;
	border-bottom: 1px solid #b9c6e9;
	color: var(--blue);
	font-weight: 600;
	padding: .3em 0;
}
.footer-tel dd {
	width: 47%;
	border-bottom: 1px solid #b9c6e9;
	padding: .3em 0;
}
.footer-tel dd:nth-of-type(1)::after {
	content: "（代表）";
}
@media screen and (max-width: 1024px) {
	#footer::before {
		content: none;
	}
	.copyright {
		background: var(--blue);
	}
}
@media screen and (max-width: 540px) {
	body:not(.business,.recruit) #footer {
		margin-top: 4.5em;
	}
	.footer-tel {
	}
	.footer-tel dt {
		width: 55%;
	}
	.footer-tel dd {
		width: 45%;
	}
}


a.anchor {
    display: block;
    padding-top: 8em;
    margin-top: -8em;
}
@media screen and (max-width: 1024px) {
	a.anchor {
		padding-top: 10vw;
		margin-top: -10vw;
	}
}
@media screen and (max-width: 540px) {
	a.anchor {
		padding-top: 13.4vw;
		margin-top: -13.4vw;
	}
}

/* !Clearfix
---------------------------------------------------------- */
.clearfix::after,
.contactForm dd::after {
	content: '';
	display: block;
	height: 0;
	overflow: hidden;
	clear: both;
}

/* !tel
---------------------------------------------------------- */
@media (min-width: 541px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}
