@charset "utf-8";
:root {
	--c_bk:#3C3C3C;
	--c_wh:#ffffff;
	--c_main:#0098DB;
	--c_sub1:#ECF6FA;
	--c_sub2:#A3D0E9;
	--c_hover:#48b5bc;
}
.clr-bk {color: var(--c_bk)!important;}
.clr-wh {color: var(--c_wh)!important;}
.clr-main {color: var(--c_main)!important;}
.clr-sub1 {color: var(--c_sub1)!important;}
.bg-bk {background-color: var(--c_bk)!important;}
.bg-wh {background-color: var(--c_wh)!important;}
.bg-main {background-color: var(--c_main)!important;}
.bg-sub1 {background-color: var(--c_sub1)!important;}

.fo-poppins,.eng {
	font-family: "poppins", sans-serif;
	font-weight: 700;
	font-style: normal;
	line-height: 1;
	letter-spacing: 0.05em;
}
.radImg {
	overflow: hidden;
	border-radius: 28rem;
}
.txt {
	line-height: 1.9;
}
.d-grid{
  display: grid;
}


/*header
---------------------------------------------------------*/
#header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 990;
	transition: .4s;
}
#header * {
	transition: .4s;
}
.headerWrap {
	padding: 2rem;
	text-align: left;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0 2rem;
	transition: .4s;
}
.hLogo img {
	display: block;
}
.glogo {
	max-width: 20.1rem;
	margin-bottom: 0.5rem;
	transition: .4s;
}
img[src*="/logo.svg"] {
	max-height: 2.6rem;
}
#nav {
	display: flex;
	align-items: center;
	gap: 0 4rem;
}
.nav {
	display: flex;
	align-items: center;
	gap: 0 5rem;
	letter-spacing: .05em;
}
.entryBtn {
	width: 20rem;
}
.entryBtn a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 6rem;
	background: var(--c_main) url(../img/arw_wh.svg) right 2rem center no-repeat;
	background-size: 1.7rem auto;
	text-align: center;
	color: #fff;
	font-size: 2rem;
	font-weight: 600;
	border-radius: 10rem;
	letter-spacing: 0.1em;
	padding-top: 0.5rem;
}
.entryBtn a:hover{
	background-color: var(--c_hover);
}
#header.act {
	background: #fff;
	box-shadow: 0 1rem .5rem -1rem rgba(0,0,0,.1);
}
#header.act .headerWrap {
	padding: 1rem;
}
#header.act .hLogo img {
	max-height: 2rem;
}
#header.act .entryBtn a  {
	height: 5rem;
	font-size: 1.8rem;
}
.menuIcon,.spNav {
	display: none;
}

/*footer
---------------------------------------------------------*/
.fTop {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 2rem;
	overflow: hidden;
}
.fTop figure {
	max-width: 31.5rem;
}
.fTop .eng {
	color: var(--c_main);
	font-size: 4rem;
	line-height: .5;
}
.fTop .eng strong {
	font-size: 200%;
	margin-right: .3em;
}
#footer {
	background: var(--c_main) url(../img/footer_bg.png) right 3.125% bottom no-repeat;
	background-size: 42.135% auto;
	color: #fff;
	border-bottom: 1.2rem solid var(--c_sub2);
	padding: 7rem 0 2rem;
}
.footerArea {
	position: relative;
	text-align: left;
	display: flex;
	gap: 0 11.5rem;
}
.pagetop {
	display: block;
	position: absolute;
	top: -2.5rem;
	right: 0;
	z-index: 1;
	transform: rotate(-90deg);
	width: 5rem;
	border-radius: 50%;
	background: #fff url(../img/arw_bl.svg) center center no-repeat;
	background-size: 34% auto;
	aspect-ratio: 1;
}
.pagetop:hover{
	opacity: .7;
}
.fLogo {
	margin-bottom: .5rem;
}
.fLogo .glogo {
	max-width: 21rem;
	margin-bottom: 1rem;
}
.fLogo img[src*="/logo.svg"] {
	height: 3rem;
	max-height: inherit;
	-webkit-filter: brightness(0) invert(1);
	filter: brightness(0) invert(1);
}
.fAdd {
	margin-bottom: 3rem;
}
.fAdd .txt {
	margin-bottom: 1.3rem;
	font-size: 112.5%;
}
.fBnr {
	max-width: 32rem;
}
.fBnr li:not(:first-of-type) {
	margin-top: 3rem;
}
.telnum a {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	font-size: 3.7rem;
	background: url(../img/icon_tel.svg) left top .2rem no-repeat;
	background-size: 2.5rem auto;
	white-space: nowrap;
	padding-left: 3rem;
}
.telnum small {
	display: block;
	font-size: 1.4rem;
}
.fRht {
	padding-top: 3rem;
}
.fNav {
	width: 45rem;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 3rem 4rem;
}
.fNav a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	border-bottom: 1px solid #fff;
	padding: 1rem 0;
	color: #fff;
	letter-spacing: 0.05rem;
	font-weight: 700;
}
.fNav a .eng {
	font-size: 81.25%;
	color: #036F98;
	width: 8rem;
}
.fNav a:hover{
	opacity: .7;
}
.copyRiht {
	text-align: left;
	margin-top: 6rem;
	font-size: 1.2rem;
}

/*loader
---------------------------------------------------------*/
.loader-bg {
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999;
	background-color: var(--c_sub1);
	display: flex;
	justify-content: center;
	align-items: center;
}
.loader-bg .logoWrap {
	margin-bottom: 2.4rem;
	gap: 2rem;
	align-items: center;
}
.loader-bg .track{
	max-width: 7rem;
}
.loader-bg .logo{
	max-width: 32rem;
}
.loader-bg .logo_icon {
  width: 5rem;
  margin-inline: auto;
  animation: rotate 2.5s linear infinite;
}
@keyframes rotate {
  0% {
    transform: rotate(0);
	opacity:.2;
  }
  50% {
    transform: rotate(180deg);
	opacity:1;
  }
  100% {
    transform: rotate(360deg);
	opacity:.2;
  }
}

/*toppage
---------------------------------------------------------*/
.mainArea {
	background: url(../img/top/main_bg02.jpg) bottom 17.5rem right,url(../img/top/main_bg01.jpg) top center no-repeat;
	background-size: 51.71% auto,100% auto;
	background-repeat: no-repeat;
	position: relative;
	overflow: hidden;
	padding: 17.5rem 0 10.5rem;
}
.mainWrap {
	position: relative;
	z-index: 10;
	display: flex;
	gap: 6.5rem;
	width: 95%;
	max-width: 160rem;
	margin: 0 auto;
}
.mainSliderArea {
	width: 62%;
	max-width: 96rem;
}
.mainImg {
	overflow: hidden;
	border-radius: 50rem;
}
.mainTtl {
	flex: 1;
	text-align: left;
	padding-top: 9rem;
	font-size: 2.8rem;
	font-size: clamp(1.8rem,1.4583333vw,2.8rem);
}
.mainTtl .eng {
	font-size: 303.5%;
	color: var(--c_main);
	margin-bottom: 2rem;
}
.mainTtl strong {
	font-size: 100%;
	font-weight: 700;
	letter-spacing: .2em;
}
.mainRoad {
	border-top: 3.4rem solid var(--c_sub2);
	background: var(--c_sub1) url(../img/road.svg) left center repeat-x;
	background-size: auto 1.6rem;
	height: 17.5rem;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}
.mainTrack {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 8rem;
	z-index: 90;
}
.mainTrack .img {
	position: absolute;
	width: 12.8rem;
	min-width: 12.8rem;
	bottom: 0;
	right: -25rem;
	z-index: 90;
	-webkit-animation: truck 14s .2s infinite linear;
	animation: truck 14s .2s infinite linear;
}
.mainTrack .img._02 {
	width: 24.9rem;
	min-width: 24.9rem;
	-webkit-animation-delay: 5s;
	animation-delay: 5s
}
.mainTrack .img._03 {
	-webkit-animation-delay: 6.5s;
	animation-delay: 6.5s
}
@keyframes truck {
	0% {
	}
	10% {
		transform: translateY(.1rem);
		animation-timing-function: .01s;
	}
	12% {
		transform: translateY(0rem);
	}
	40% {
		transform: translateY(.1rem);
		animation-timing-function: cubic-bezier(0.4, 0, 1, 1.3);
	}
	42% {
		transform: translateY(0);
	}
	70% {
		transform: translateY(.1rem);
		animation-timing-function: cubic-bezier(0.4, 0, 1, 1.3);
	}
	72% {
		transform: translateY(0);
	}
	90% {
		transform: translateY(.1rem);
	}
	92% {
		transform: translateY(0);
	}
	100% {
		right: 110%;
	}
}
#top-service {
	background: url(../img/road.svg) left bottom 3.5rem repeat-x;
	background-size: auto 1.6rem;
	padding-bottom: 14rem;
}
.topServiceWrap {
	position: relative;
	display: flex;
	justify-content: flex-end;
	flex-direction: row-reverse;
	gap: 9rem;
}
.topServiceWrap .img._01 {
	max-width: 40rem;
	position: relative;
	z-index: 5;
}
.topServiceWrap .img._01 figure {
	max-width: 10rem;
	position: absolute;
	bottom: 0;
	right: -5rem;
	z-index: 1;
}
img[src*="/illust06.png"] {
	max-height: 13.3rem;
}
.topServiceWrap .img._02 {
	max-width: 39.2rem;
	position: absolute;
	right: 0;
	bottom: 0;
}
.topServiceWrap dl {
	text-align: left;
	margin-top: -4rem;
	letter-spacing: 0.05em;
}
.topServiceWrap h2 {
	display: flex;
	align-items: flex-end;
	color: var(--c_main);
	font-size: 13rem;
	line-height: 0.55;
	gap: 1rem;
	margin-left: -16rem;
	margin-bottom: 5rem;
}
.topServiceWrap dt p {
	font-size: 2.8rem;
	font-weight: 700;
	margin-bottom: 3rem;
	letter-spacing: .15em;
}
.topServiceWrap dd {
	max-width: 42rem;
	text-align: justify;
	letter-spacing: 0.1em;
}
.btnbox {
	position: relative;
	z-index: 5;
	margin-top: 6rem;
}
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 10rem;
	color: #fff;
	text-align: center;
	background: var(--c_main);
	font-size: 2rem;
	font-weight: 700;
	min-width: 30rem;
	height: 8rem;
	position: relative;
	padding: 0 6.4rem 0 5.6rem;
	letter-spacing: .1em;
}
.btn::before {
	content: "";
	display: block;
	border-radius: 10rem;
	background: #91CCD0;
	background: linear-gradient(0deg,#91CCD0 0%,#D2ECFA 100%);
	position: absolute;
	top: -2px;
	right: -2px;
	left: -2px;
	bottom: -2px;
	z-index: -1;
}
.btn::after {
	content: "";
	display: block;
	position: absolute;
	right: 2rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	background: url(../img/arw_wh.svg) center center no-repeat;
	background-size: contain;
	width: 1.7rem;
	aspect-ratio: 17/14;
}
.btn._wh{
  background: #fff;
  color: var(--c_main);
}
.btn._wh::before{
  background: var(--c_main);
}
.btn._wh::after{
  background-image: url(../img/arw_bl.svg);
}
.btn._blank::after{
  background-image: url(../img/blank_wh.svg);
}
.btn._arrowNone::after{
	display: none;
}
.btn:hover{
    background-color: var(--c_hover);
}
.btn._wh:hover{
    background-color: rgba(255, 255, 255, 0.8);
}

#top-approach {
	padding-bottom: 3rem;
}
.approachArea {
	max-width: 140rem;
	width: 90%;
	margin: 0 auto;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	gap: 6rem;
}
.approachSliderArea {
	flex: 1;
	margin-left: calc(-50vw + 12%);
	position: relative;
	padding-right: 10rem;
}
#top-approach * {
	min-height: 0 !important;
	min-width: 0 !important;
}
.approachSlideNav {
	position: absolute;
	right: 0;
	top: 13rem;
	z-index: 10;
	display: flex;
	flex-direction: column;
	gap: 2rem;
}
.sliderArrow {
	width: 5rem;
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--c_main) url(../img/arw_wh.svg) center center no-repeat;
	background-size: 34% auto;
	cursor: pointer;
	transition: .4s;
}
.sliderArrow:hover {
	background-color: var(--c_bk);
}
.sliderArrow.prev {
	transform: rotate(180deg);
}
.approachSliderArea .approachBox {
	margin: 0 1.5rem;
	position: relative;
	line-height: 1.4;
}
.approachBox dt {
	position: relative;
	margin-bottom: 2rem;
}
.approachBox .num {
	font-size: 3rem;
	line-height: 1;
	color: var(--c_main);
	padding-top: 0.5rem;
}
.approachSliderArea .approachBox .num {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 10rem;
	font-size: clamp(2rem,5.2vw,10rem);
	z-index: 5;
}
.approachSliderArea .approachBox:nth-of-type(even) .num {
	top: auto;
	left: auto;
	right: 0;
	bottom: -.25em;
}
.approachSliderArea .approachBox:nth-of-type(even) {
	margin-top: 7.5rem;
}
.approachBox h3 {
	font-size: 2.8rem;
	font-size: clamp(1.6rem,1.4583vw,2.8rem);
	margin-bottom: 2rem;
}
.approachTtl {
	position: relative;
	padding-bottom: 11rem;
}
.approachTtl figure {
	position: absolute;
	right: 4rem;
	bottom: 0;
	width: 15rem;
	-webkit-writing-mode:horizontal-tb;
	-ms-writing-mode:lr-tb;
	writing-mode:horizontal-tb;
}
.approachTtl .eng {
	font-size: 8.8rem;
	color: var(--c_main);
}
.approachTtl h2 {
	font-size: 1.8rem;
	color: #969696;
	font-feature-settings: 'pkna';
	font-weight: 500;
	letter-spacing: 0.05em;
}
#sustainable {
	background: url(../img/top/sustainable_bg.jpg) top center no-repeat;
	background-size: cover;
	padding: 28rem 0 5rem;
}
.sustainableWrap {
	position: relative;
}
.sustainableWrap figure {
	position: absolute;
	max-width: 20rem;
	z-index: 1;
}
.sustainableWrap figure._01 {
	top: -12rem;
	left: 0;
}
.sustainableWrap figure._02 {
	max-width: 14rem;
	top: -2rem;
	right: 0;
}
.sustainableWrap figure._03 {
	top: 8rem;
	right: 9rem;
}
.sustainableWrap h2 {
	font-size: 2.8rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
	margin-bottom: 5rem;
}
.sustainableWrap .txt {
	line-height: 2;
	margin-bottom: 11rem;
}
.sustainableWrap .eng {
	color: #71848C;
	font-size: 8rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	margin-top: 10rem;
	mix-blend-mode: plus-lighter;
}
#top-network {
	position: relative;
	z-index: 1;
	padding-top: 17rem;
}
.nwBgImg {
	display: flex;
	position: absolute;
	bottom: 30%;
	left: 0;
	right: 0;
	z-index: -10;
}
.nwBgImg p {
	min-width: 211rem;
	animation: loop infinite linear 35s both;
	padding: 0 1.2rem
}
.nwBgImg p + p {
	margin-left: -2rem;
}
@keyframes loop {
	0% {
    transform: translateX(0);
	}
	100% {
		transform: translateX(-100%);
	}
}
.top-networkWrap {
	position: relative;
	display: flex;
}
.top-networkWrap .illust {
	position: absolute;
	left: 27%;
	bottom: -10rem;
	z-index: 1;
	display: flex;
	align-items: end;
	gap: 2rem;
}
img[src*="/illust02.png"] {
	max-height: 13.2rem;
}
img[src*="/illust03.png"] {
	max-height: 12.1rem;
}
.top-networkWrap .imgWrap {
	width: 60rem;
	position: relative;
	padding-bottom: 10rem;
	margin-bottom: -10rem;
}
.top-networkWrap .imgWrap::before {
	content: "";
	display: block;
	aspect-ratio: 780/974;
	height: 77.5rem;
	position: absolute;
	left: -2rem;
	right: 0;
	bottom: 0;
	background: url(../img/top/network_bg.png) top center no-repeat;
	background-size: cover;
	z-index: -1;
}
.top-networkWrap dl {
	text-align: left;
}
.top-networkWrap dt .eng {
	font-size: 13rem;
	color: var(--c_main);
	margin-right: -11rem;
}
.top-networkWrap dt h3 {
	font-size: 2.8rem;
	font-weight: 700;
	margin-bottom: 2rem;
}
.btnbox + .btnbox {
	margin-top: 3rem;
}
.bg-road {
	background: url(../img/road02.svg) left top 3.5rem repeat-x,url(../img/road02.svg) left bottom 3.5rem repeat-x;
	background-color: var(--c_main);
	background-size: auto 1.6rem;
	padding: 14rem 0;
}
.bg-road._top {
	background-image: url(../img/road02.svg);
}
.secIllust {
	position: absolute;
	bottom: -14rem;
	z-index: 10;
	max-width: 23.7rem;
	pointer-events: none;
}
.recruitLink .secIllust {
	right: 0;
}
.recruitBnr {
	display: block;
	position: relative;
	z-index: 5;
	aspect-ratio: 3/1;
	box-shadow: 0 0 3rem 0 rgba(10, 48, 91, 0.30);
	border-radius: 20rem;
}
.recruitBnr .imgs {
	border-radius: 20rem;
	overflow: hidden;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(2, 1fr);
	grid-column-gap: 0px;
	grid-row-gap: 0px;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
}
.recruitBnr .imgs li {
	overflow: hidden;
}
.recruitBnr:hover .imgs li img {
	transition: .4s;
}
.recruitBnr .imgs li:nth-of-type(1) { grid-area: 1 / 2 / 2 / 3; }
.recruitBnr .imgs li:nth-of-type(2) { grid-area: 2 / 2 / 3 / 3; }
.recruitBnr .imgs li:nth-of-type(3) { grid-area: 1 / 1 / 3 / 2; }
.recruitBnr .imgs li:nth-of-type(4) { grid-area: 1 / 3 / 3 / 4; }
.recruitBnr img {
	opacity: 1!important;
}
.recruitBnr .imgs img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.recruitBnr h2 {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 1;
	max-width: 68.4rem;
}
.recruitBnr .eng {
	font-size: 8rem;
	color: #fff;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -4.9rem;
	z-index: 1;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	transition: .4s;
}
.recruitBnr .eng::after {
	content: "";
	display: block;
	background: url(../img/arw_wh.svg) center center no-repeat;
	background-size: contain;
	width: 2.7rem;
	aspect-ratio: 17/14;
	margin-top: -1.75rem;
	z-index: 1;
	animation: arw 1.2s ease infinite;
}
@keyframes arw {
	0% {
		opacity: 0;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}
	10% {
		opacity: 1;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}
	75% {
		opacity: 1;
		-webkit-transform: translate(1.5rem,0);
		transform: translate(1.5rem,0);
	}
	100% {
		opacity: 0;
		-webkit-transform: translate(1.5rem,0);
		transform: translate(1.5rem,0);
	}
}
.recruitBnr:hover .imgs li img {
	transform: scale(1.05);
}
.top-newsWrap {
	gap: 3rem;
}
.top-newsWrap .newsList {
	width: 70rem;
}
.newsList a {
	display: flex;
	flex-direction: column;
	gap: .5rem 2rem;
	position: relative;
	padding: 2rem 0;
	text-align: left;
	border-bottom: 1px solid #ddd;
	padding-right: 5rem;
}
.newsList a *{
	transition: .2s;
}
.newsList a::after {
	content: "";
	display: block;
	width: 4rem;
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--c_main) url(../img/arw_wh.svg) center center no-repeat;
	background-size: 34% auto;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	transition: .2s;
}
.date {
	color: var(--c_main);
	font-weight: 400;
	transition: .2s;
}
.newsList a:hover{
	color: var(--c_hover);
	border-color: var(--c_hover);
}
.newsList a:hover .date{
	color: var(--c_hover);
}
.newsList a:hover .cate{
	background-color: var(--c_hover);
}
.newsList a:hover::after{
	background-color:var(--c_hover);
}
.top-newsLft dt {
	background: url(../img/top/news_icon.png) left center no-repeat;
	background-size: 5.9rem auto;
	padding-left: 9rem;
	text-align: left;
}
.top-newsLft dt .eng {
	font-size: 8rem;
	color: var(--c_main);
}
.top-newsLft dt h2 {
	font-size: 1.8rem;
	color: #707070;
	font-weight: 500;
	margin-top: -0.5em;
}
#toppageBtm {
	padding-bottom: 0;
}
.toppageBtmWrap {
	gap: 2rem;
}
.toppageBtmWrap h2 {
	font-size: 3rem;
	text-align: left;
	letter-spacing: 0.2em;
	flex: 1;
}
.toppageBtmWrap .radImg {
	max-width: 78rem;
}


/*下層　共通
---------------------------------------------------------*/
.lower_mv{
  background: url("../img/lower_mv_bg.jpg") center no-repeat;
  background-size: cover;
  height: 40rem;
  overflow: hidden;
}
.lower_mv .container{
  position: relative;
  height: 100%;
}
.lower_mv h1 {
  font-size: 1.8rem;
  color: #707070;
  height: 100%;
  text-align: left;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding-top: 20rem;
}
.lower_mv h1 span {
  display: block;
  font-size: 7.5rem;
  color: var(--c_main);
}
.lower_mv .img{
  position: absolute;
  bottom: 0;
  right: 0;
  width: 59.7rem;
}
.pankz {
  padding: 1rem 0;
  background: linear-gradient(90deg, #0098DB 0%, #A3D0E9 68.75%);
  text-align:left;
  font-size: 1.4rem;
}
.pankz li {
  display: inline;
}
.pankz li a::after {
  content: "−";
  margin: 0 .5em;
}
.pankz li,
.pankz li a,
.pankz li a::after {
  color: #fff;
}

/* タイトル */
.c_enJaTtl {
  font-size: 1.8rem;
  margin-bottom: 3.2rem;
  color: #707070;
}
.c_enJaTtl span {
  display: block;
  font-size: 7rem;
  color: var(--c_main);
}
.c_enJaTtl._wh,
.c_enJaTtl._wh span{
  color: #fff;
}

/*service
---------------------------------------------------------*/
.p_service_lead{
	padding: 0;
  overflow: visible;
  overflow-x: clip;
}
.p_service_lead__area{
	padding: 10.6rem 0 7rem;
}
.p_service_lead__row {
  text-align: left;
  position: relative;
}
.p_service_lead__box {
  max-width: 55rem;
}
.p_service_lead__box h2 {
  font-size: 3.5rem;
  padding-bottom: 6rem;
  line-height: 1.9;
  font-feature-settings: "palt";
  letter-spacing: .13em;
}
.p_service_lead__box h3 {
  font-size: 5rem;
  margin-bottom: 3rem;
  font-weight: 700;
  padding-bottom: 2.4rem;
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 1rem .4rem;
  background-image: radial-gradient(circle, #fff .2rem, transparent .2rem);
  display: flex;
  align-items: center;
  letter-spacing: .2em;
}
.p_service_lead__box h3 span{
	display: inline-block;
}
.p_service_lead__box h3 .eng{
  font-size: 2rem;
  background-color: #fff;
  color: var(--c_main);
  border-radius: 3rem;
  padding: 1rem 1.2rem 0.6rem;
  margin-right: 1rem;
}
.p_service_lead__box h3 .num{
  font-size: 6.2rem;
  margin-right: 2.6rem;
  letter-spacing: .1em;
  margin-top: 1.5rem;
}
.p_service_lead__box .txt{
  line-height: 2;
}
.p_service_lead__row .img {
  max-width: clamp(50rem,41vw,55rem);
  position: absolute;
  top: 0;
  right: 0;
}
.p_service_lead__area:nth-of-type(2){
  padding: 31rem 0 11.5rem;
}
.p_service_lead__area:nth-of-type(2) h3{
  color: var(--c_main);
  background-image: radial-gradient(circle, var(--c_main) .2rem, transparent .2rem);
}
.p_service_lead__area:nth-of-type(2) h3 .eng{
  color: #fff;
  background-color: var(--c_main);
}
.p_service_lead__area:nth-of-type(2) .img{
  right: auto;
  left: 0;
  top: -21rem;
}
.p_service_future{
  padding: clamp(8rem, 10vw, 18rem) 0 10rem;
}
.p_service_future__row {
  text-align: left;
  gap: 4rem;
  align-items: flex-end;
  margin-bottom: 5.6rem;
}
.p_service_future__row h2{
  font-size: 8.5rem;
  margin-bottom: -1.5rem;
}
.p_service_future__box {
  flex: 1;
}
.p_service_future__box .illust{
  display: flex;
  gap: 4.6rem;
  margin-bottom: 5.4rem;
  justify-content: flex-end;
  align-items: flex-end;
}
.p_service_future__box .illust img{
  width: 20.5rem;
}
.p_service_future__box .illust img:nth-of-type(2){
  width: 10.5rem;
}
.p_service_future__box .txt {
  font-size: 1.8rem;
  line-height: 2;
}
.p_service_line{
	padding: 16rem 0 19rem;
}
.p_service_line__area{
	z-index: 1;
	position: relative;
	margin-top: clamp(10rem,9vw,15.3rem);
}
.p_service_line__row{
  position: relative;
  align-items: center;
}
.p_service_line__box {
  width: 50%;
  padding: 13.2rem 0 13.2rem 11rem;
  text-align: left;
}
.p_service_line__box h3 {
  font-size: 2.4rem;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  color: var(--c_main);
  letter-spacing: .15em;
  border-bottom: .1rem solid #B5DBEC;
}
.p_service_line__box .txt {
  font-size: 1.8rem;
  letter-spacing: .1em;
}
.p_service_line__row .img {
  flex: 1;
  width: 105rem;
  max-height: 63.4rem;
  margin-left: calc(-50vw + 50%);
  margin-top: -9rem;
}
.p_service_line__row .img img {
  min-width: 100%;
  min-height: 47rem;
  object-fit: cover;
  object-position: right;
}
.p_service_line__row:nth-of-type(2) .p_service_line__box{
  padding: clamp(8rem,10vw,20rem) 10rem 11.2rem 0;
}
.p_service_line__row:nth-of-type(2) .img{
  margin: 0 calc(-50vw + 50%) -5rem 0;
}
.p_service_line__row:nth-of-type(2) img {
  object-position: left;
}
.p_service_line__area .nwBgImg._01{
  top: 6%;
  bottom: auto;
}
.p_service_line__area .nwBgImg._02{
  top: 55%;
}
.c_future{
  padding-bottom: 0;
  margin-bottom: -2rem;
}
.c_future__row {
  gap: 3.2em;
  align-items: center;
}
.c_future__box {
  flex: 1;
  text-align: left;
  margin-top: -1.6rem;
}
.c_future__box .eng {
  font-size: 1.8rem;
  color: var(--c_main);
  margin-bottom: 1rem;
  font-weight: 500;
}
.c_future__box h2 {
  font-size: 2.2rem;
  letter-spacing: .2em;
}
.c_future__row .img {
  max-width: 39.6rem;
}


/*recruit 一覧
---------------------------------------------------------*/
.p_recruit_archive{
  padding: 0;
}
.p_recruit_archive .container{
  padding: 6rem 0 17.4rem;
  position: relative;
}
.p_recruit_archive .illust{
  position: absolute;
  bottom: 0;
  left: 8rem;
}
.p_recruit_archive__cont{
  background-color: #fff;
  padding: 6.6rem 6.4rem 6rem;
  border-radius: 6rem;
}
.p_recruit_archive__cont:nth-of-type(n+2){
	margin-top: 8rem;
}
.p_recruit_archive__row {
  gap: 4rem;
  margin-bottom: 3.5rem;
}
.p_recruit_archive__row .img {
  max-width: 40rem;
}
.p_recruit_archive__box {
  flex: 1;
  letter-spacing: .05em;
}
.p_recruit_archive__box_ttl{
  padding-bottom: 2rem;
  margin-bottom: 1.5rem;
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 1rem .4rem;
  background-image: radial-gradient(circle, #B5DBEC .2rem, transparent .2rem);
}
.p_recruit_archive__box h2 {
  font-size: 2.7rem;
  display: flex;
  gap: 1.8rem;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-inline: auto;
}
.p_recruit_archive__box h2 span.type{
  font-size: 1.8rem;
  color: #fff;
  background-color: var(--c_main);
  padding: 0.5rem 2.5rem;
  border-radius: 3rem;
  font-weight: 500;
}
.p_recruit_archive__box h2 span.ttl{
  flex: 1;
  text-align: left;
  line-height: 1.4;
}
.p_recruit_archive__box h3{
  font-size: 1.8rem;
  margin-bottom: 2.3rem;
  font-weight: 500;
}
.p_recruit_archive__box h4{
  color: var(--c_main);
  padding: 1rem;
  background-color: var(--c_sub1);
  border-top: .1rem solid #B5DBEC;
  border-bottom: .1rem solid #B5DBEC;
  font-weight: 500;
}
.p_recruit_archive__box .txt{
  padding: 2rem 3.6rem;
  text-align: left;
  border-bottom: 1px solid #E6E6E6;
}
.c_note{
  font-size: 1.3rem;
}


/*recruit 詳細
---------------------------------------------------------*/
.p_recruit_single{
  padding: 6rem 0 13rem;
}
.p_recruit_single__cont{
  padding: 8.5rem 15rem;
  border-radius: 6rem;
  background-color: #fff;
}
.p_recruit_single__cont_ttl{
  padding-bottom: 3rem;
  margin-bottom: 2.5rem;
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 1rem .4rem;
  background-image: radial-gradient(circle, #B5DBEC .2rem, transparent .2rem);
}
.p_recruit_single__cont h2 {
  font-size: 3rem;
  display: flex;
  gap: 1.8rem;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-inline: auto;
}
.p_recruit_single__cont h2 span.type{
  font-size: 2rem;
  color: #fff;
  background-color: var(--c_main);
  padding: 0.5rem 2.5rem;
  border-radius: 3rem;
  font-weight: 500;
}
.p_recruit_single__cont h2 span.ttl{
  flex: 1;
  text-align: left;
}
.p_recruit_single__cont h3{
  font-size: 2rem;
  margin-bottom: 5rem;
  font-weight: 500;
}
.c_profile {
  margin-top: 5rem;
}
.c_profile dt,
.c_profile dd {
  padding: 2rem 3.6rem;
  text-align: left;
  width: 71%;
  border-bottom: .1rem solid #E6E6E6;
  line-height: 1.8;
}
.c_profile dt:first-of-type,
.c_profile dd:first-of-type{
  border-top: .1rem solid #E6E6E6;
}
.c_profile dt {
  width: 29%;
  color: var(--c_main);
  background-color: var(--c_sub1);
  border-color: #B5DBEC!important;
  font-weight: 500;
  align-content: center;
  text-align: center;
  letter-spacing: 0.05em;
}

.p_recruit_contact{
	padding: 14rem 0 4rem;
}
.p_recruit_contact__ttl {
  position: relative;
  max-width: 54.7rem;
  margin-inline: auto;
}
.p_recruit_contact__ttl .c_enJaTtl{
  margin-bottom: 0;
  padding-bottom: 8.8rem;
}
.p_recruit_contact__ttl .illust{
  position: absolute;
  bottom: 0;
  left: 0;
}
.p_recruit_contact__ttl .illust._02{
  left: auto;
  right: 0;
}

/* 前後の記事 */
.pageset {
  margin: 8rem 0 5.7rem;
  gap: 10rem;
  max-width: 110rem;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.pageset_box{
  display: block;
  width: 49.7rem;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.pageset_box .arrow{
  color: var(--c_main);
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 2rem;
  gap: 2rem;
  display: flex;
  align-items: center;
}
.pageset_box._next .arrow{
  justify-content: flex-end;
}
.pageset_box._prev .arrow::before,
.pageset_box._next .arrow::after{
  content: "";
  width: 4rem;
  height: auto;
  aspect-ratio: 1;
  background: var(--c_main) url("../img/arw_wh.svg") center no-repeat;
  background-size: 40% auto;
  display: inline-block;
  border-radius: 50%;
}
.pageset_box._prev .arrow::before{
	transform: rotate(180deg);
}
.pageset_box .row {
  border: .2rem solid var(--c_main);
  border-radius: 2rem;
  overflow: hidden;
  flex: 1;
}
.pageset_box._prev .row {
  flex-direction: row-reverse;
}
.pageset_box .row .txt {
  font-size: 2rem;
  font-weight: 700;
  padding: 3rem;
  align-content: center;
  text-align: left;
  letter-spacing: .12em;
  font-feature-settings: "palt";
  height: 100%;
  flex: 1;
}
.pageset_box .row .img {
  max-width: 21.4rem;
}
.pageset_box .row .img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/*entry
---------------------------------------------------------*/
.formWrap{
  max-width: 110rem;
  margin: 0 auto;
  background-color: var(--c_sub1);
  border-radius: 6rem;
  padding: 11.3rem 15rem;
}
.formTxt {
  font-size: 2.2rem;
  font-weight: 600;
  margin-bottom: 4rem;
  color: var(--c_main);
}
.formBox dt,
.formBox dd {
	font-weight: 400;
	text-align: left;
	position: relative;
	margin-bottom: 2rem;
}
.formBox dt::before {
  content: "任意";
  font-size: 1.3rem;
  font-weight: 500;
  padding: 0.6rem 1.4rem;
  display: inline-block;
  background: #333333;
  color: #fff;
  line-height: 0.9;
  border-radius: 3rem;
}
.formBox dt.req::before {
  content: "必須";
  background: var(--c_main);
}
.formBox dt {
  display: flex;
  gap: 1.3rem;
  align-items: center;
}
.formBox dd {
  margin-bottom: 5rem;
}
.formBox input[type="text"],
.formBox input[type="tel"],
.formBox input[type="email"],
.formBox input[type="date"],
.formBox select,
.formBox textarea {
  width: 100%;
  padding: .575em;
  border: 1px solid #B5DBEC;
  color: #000;
  letter-spacing: .05em;
  line-height: 1.6;
  border-radius: .5rem;
}
.formBox input[type="text"],
.formBox input[type="tel"],
.formBox input[type="email"],
.formBox input[type="date"],
.formBox select,
.formBox textarea,
.formBox input[type="file"]{
  font-size: 1.6rem;
}
input::placeholder,
textarea::placeholder{
  color: #dcdcdc;
}
.formBox textarea {
  height: 19rem;
}
.formWrap .fileTxt{
  text-align: left;
  padding: 5rem 0;
  border-top: 1px solid #B5DBEC;
}

.formBox input[type="file"] {
  width: 35rem;
}
.formBox input[type="file"]::file-selector-button {
  background-color: rgba(181, 219, 236, 0.60);
  border: .1rem solid #B5DBEC;
  padding: 1rem 3rem;
  border-radius: .5rem;
  cursor: pointer;
  transition: .2s;
  margin-right: 2rem;
}
.formBox input[type="file"]::file-selector-button:hover {
  background-color: var(--c_main);
  color: #fff;
}

/* 日付、選択 */
.formBox input[type="date"],
.formBox select  {
  font-family: var(--fontJa);
  font-weight: 400;
  font-style: normal;
}
.formBox .selectRow{
  gap: 1rem;
}
.formBox select {
  width: auto;
  color: #000;
  min-width: 26rem;
  text-align: center;
  font-size: 1.6rem;
  background: #fff url("../img/select_arrow.svg") center right 1.4rem no-repeat;
  background-size: 1.4rem auto;
  padding-right: 4rem;
  padding-left: 1.8rem;
  text-align: left;
  white-space: normal;
}
.formBox option:first-of-type {
  background: var(--c_main);
  color: #fff;
}
.formArea label:hover {
  color: var(--color-main);
}

.privacyBox{
  border-top: 1px solid #B5DBEC;
  padding-top: 5rem;
}
.privacyTxt{
  overflow: auto;
  width: 100%;
  height: 19rem;
  white-space: normal;
  background-color: #fff;
  padding: 1rem 1.5rem;
  text-align: left;
  border-radius: .5rem;
  font-feature-settings: "palt";
  letter-spacing: 0.02em;
}
.privacyTxt h3,
.privacyTxt p{
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.8;
}
.privacyTxt p{
	margin: .4rem 0 1rem;
}

.privacyCheck {
  margin: 2rem 0 1rem;
}
.privacyCheck a {
  color: #0553dd;
  text-decoration: underline;
}
.formBtn {
  margin-top: 2rem;
}
.formArea input[type="submit"],
.formArea input[type="button"] {
  font-weight: 700;
  font-style: normal;
  color: #fff;
  font-size: 2rem;
  line-height: 1.2;
  letter-spacing: .075em;
  text-indent: .075em;
  background: var(--c_main);
  min-width: 22rem;
  display: block;
  margin: 1rem;
  border: none;
  border-radius: 10rem;
  transition: .2s;
  cursor: pointer;
  border: 2px solid #91CCD0;
  padding: 2.6rem 5rem;
}
.formArea input[type="submit"].btn_back{
  background: #d8d8d8;
  color: #333;
}
.formArea input[type="submit"]:hover,
.formArea input[type="button"]:hover{
  opacity: .7;
}

.onlyconf,button {
  display: none;
}
.mw_wp_form_confirm .onlyconf,
#confirm .onlyconf {
  display: block!important;
}
.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0!important;
}
.mw_wp_form_confirm .privacyBox,
.mw_wp_form_confirm .zipBtn,
.mw_wp_form_confirm .formName .txt span,
.mw_wp_form_confirm .policyTxt,
.mw_wp_form_confirm h2 {
  display: none!important;
}
.mw_wp_form_confirm .formName > .txt {
  width: auto;
}

.thxBoxWrap{
  padding-top: 10rem;
}
.thxBox {
  line-height: 1.8;
  padding: 4rem 1.5rem;
  border: 1px solid #999;
  background: #fff;
  color: #1a1a1a;
}
.thxBox .ttl{
  font-size: 2.2rem;
  margin-bottom: 2rem;
}
.thxBox .btn{
  margin-top: 3rem;
}


/*feature
---------------------------------------------------------*/
.p_feature_lead{
  background: url("../img/feature/lead_bg.jpg") center no-repeat;
  background-size: cover;
  text-align: left;
  height: 85rem;
  padding: 7rem 0;
}
.p_feature_lead h2 > span{
  background-color: #fff;
  color: var(--c_main);
  font-size: 2.5rem;
  padding: 0.4rem 1.3rem;
  display: block;
  width: fit-content;
}
.p_feature_lead h2 span.onlysp{
	display: none!important
}
.p_feature_lead h2 span + span{
  margin-top: 1rem;
}
/* フェードイン */
.p_feature_lead h2 > span{
  opacity: 0;
  transform: translateX(2rem);
  transition: 1s .1s linear;
}
.p_feature_lead h2 > span:nth-of-type(2){
  transition-delay: .7s;
}
.p_feature_lead h2 > span:nth-of-type(3){
  transition-delay: 1.3s;
}
.p_feature_lead h2 > span:nth-of-type(4){
  transition-delay: 1.9s;
}
.load .p_feature_lead h2 > span{
  transform: translateX(0);
  opacity: 1;
}
.p_feature_approach{
  position: relative;
  padding: 12rem 0 24rem;
}
.p_feature_approach .mainRoad{
  border-top: none;
  height: 6rem;
}
.p_feature_approach .mainTrack{
  bottom: 4rem;
}
.p_feature_approach::before{
  content: "";
  width: 100%;
  height: 40rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: var(--c_main) url(../img/road02.svg) left bottom 3.5rem repeat-x;
	background-size: auto 1.6rem;
}
.p_feature_approach .c_enJaTtl{
  margin-bottom: 8rem;
}
.p_feature_approach__row {
  grid-template-columns: repeat(2, 1fr);
  gap: 9rem 8rem;
}
.p_feature_approach__box h3 span{
  display: block;
  color: var(--c_main);
  font-size: 3rem;
  margin-bottom: 0.7rem;
}
.p_feature_approach__box h3 {
  font-size: 2.8rem;
  padding: 2.6rem 0 1.6rem;
  letter-spacing: .15em;
}
.p_feature_gallery{
  padding: 0;
}
.p_feature_gallery .container{
  position: relative;
  padding: 8rem 0 19rem;
}
.p_feature_gallery__rowWrap{
  grid-template-columns: repeat(2, 1fr);
}
.p_feature_gallery__rowWrap,
.p_feature_gallery__row{
  gap: 1.4rem;
}
.p_feature_gallery__row .img{
  border-radius: 4rem;
  overflow: hidden;
}
.p_feature_gallery__row .img._01{
  grid-column: 1 / 3;
  grid-row: 1 / 2;
}
.p_feature_gallery__row .img._04{
  grid-column: 1 / 3;
  grid-row: 3 / 4;
}
.p_feature_gallery__row .img._07{
  grid-column: 1 / 3;
  grid-row: 2 / 4;
}
.p_feature_gallery__row .img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.p_feature_gallery .illust{
  transform: scale(-1,1);
  position: absolute;
  bottom: 0;
  left: 5rem;
}


/*company
---------------------------------------------------------*/
.p_company_anchorLink{
  background: url("../img/company/anchorLink_bg.jpg") center no-repeat;
  background-size: cover;
  padding: 7.5rem 0;
  position: relative;
  z-index: 1;
}
.p_company_anchorLink ul{
  gap: 4rem;
}
.p_company_anchorLink .btn::after {
	transform: translateY(-50%) rotate(90deg);
}
.p_company_network .c_enJaTtl{
	margin-bottom: 7rem;
}
.p_company_network__rowWrap{
  background-color: #fff;
}
.p_company_network__row {
  gap: 5rem;
  padding: 4rem 5rem;
}
.p_company_network__row:nth-of-type(n+2) {
  border-top: 1px solid #E6E6E6;
}
.p_company_network__row .img {
  max-width: 24rem;
}
.p_company_network__box {
  flex: 1;
  text-align: left;
}
.p_company_network__item{
	padding-top: 1rem
}
.p_company_network__item:nth-of-type(n+2){
  margin-top: 3rem;
}
.p_company_network__item h3 {
  font-size: 1.8rem;
  padding-bottom: 1rem;
  color: var(--c_main);
  font-weight: 500;
  display: flex;
  gap: 1.5rem;
  letter-spacing: .05em;
  align-items: center;
}
.p_company_network__item h3 span{
  font-size: 1.4rem;
  display: inline-block;
  padding: 0.3rem 1rem;
  color: #fff;
  background-color: var(--c_main);
  font-weight: 500;
}
.p_company_network__item address {
  line-height: 1.8;
  margin-bottom: .4rem;
}

.p_company_group{
  padding-top: 0;
  background: url(../img/road.svg) left bottom 3.5rem repeat-x;
  background-size: auto 1.6rem;
  padding-bottom: 0;
  position: relative;
  z-index: 1;
}
.p_company_group .container{
  position: relative;
  padding-bottom: 34rem;
}
.p_company_group__img {
  flex: 1;
  max-width: 122.5rem;
  max-height: 75.6rem;
  margin-left: -69rem;
  position: relative;
}
.p_company_group__img ._01{
  width: 120rem;
  height: 60rem;
  border-radius: 30rem;
  overflow: hidden;
}
.p_company_group__img ._01 img{
	object-position: right;
}
.p_company_group__img ._02{
  position: absolute;
  bottom: -14rem;
  right: 0;
  width: 45.3rem;
}
.p_company_group__img ._01 img {
  min-width: 100%;
  height: 100%;
  object-fit: cover;
}
.p_company_group__box {
  width: 50%;
  padding: 3.6rem 0 0 clamp(4rem,5vw,9rem);
  text-align: left;
}
.p_company_group__box .txt{
  max-width: 36.2rem;
  margin-bottom: 6.8rem;
  line-height: 2;
}
.p_company_group .map{
  position: absolute;
  bottom: 15rem;
  right: -10rem;
  width: 60rem;
  z-index: -1;
}
.p_company_group .illust{
  display: flex;
  gap: 9.9rem;
  position: absolute;
  bottom: 6.6rem;
  right: -2rem;
  align-items: flex-end;
}
.p_company_group .illust img[src*="/track02.png"] {
	max-height: 8.5rem;
}
img[src*="/illust01.png"] {
	max-height: 10.4rem;
}
@media screen and (min-width: 1920px) {
  .p_company_group .map{
    right: -22rem;
  }
  .p_company_group .illust{
    right: -27rem;
  }
}

.p_company_about{
  padding: 13rem 0;
}

.p_company_access{
  background: url(../img/road.svg) left top 3.5rem repeat-x;
  background-size: auto 1.6rem;
  position: relative;
  z-index: 1;
  text-align: left;
  padding: 13rem 0 17rem;
}
.p_company_access__ttl{
  display: flex;
  justify-content: space-between;
  margin-bottom: 5.2rem;
  align-items: center;
}
.p_company_access__ttl .c_enJaTtl{
  margin-bottom: 0;
}
.p_company_access__ttl .illust{
  gap: 3rem;
  display: flex;
}
.gMap {
  width: 100%;
  height: auto;
  aspect-ratio: 120/46;
  margin-inline: auto;
}
.gMap iframe {
  width: 100%;
  height: 100%;
}
.p_company_access__box{
  margin-top: 4rem;
}
.p_company_access__item{
  align-items: center;
  gap: 1.5rem;
}
.p_company_access__item:nth-of-type(n+2){
  margin-top: 1.2rem;
}
.p_company_access__item h3{
  color: var(--c_main);
  font-weight: 500;
  font-size: 1.8rem;
  display: flex;
  align-items: center;
}
.p_company_access__item h3.eng{
  font-size: 2rem;
}
.p_company_access__item h3 span{
  font-size: 1.4rem;
  color: #fff;
  background-color: var(--c_main);
  padding: .4rem 1rem;
  display: inline-block;
  margin-right: 1.6rem;
}
.p_company_access__item address,
.p_company_access__item p{
  font-size: 1.8rem;
}
.p_company_philos{
  background: url("../img/company/philos_bg.jpg") center no-repeat;
  background-size: cover;
  padding: 14rem 0;
}
.p_company_philos .c_enJaTtl{
  margin-bottom: 10rem;
}
.p_company_philos__row {
  grid-template-columns: repeat(3, 1fr);
  gap: 6rem;
  color: #fff;
}
.p_company_philos__box .img{
  width: 28rem;
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  margin: 0 auto 2.4rem;
  overflow: hidden;
}
.p_company_philos__box .img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.p_company_philos__box .txt {
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: .05em;
}
.p_company_philos__box .txt span {
  font-size: 4rem;
  padding-bottom: 1.2rem;
  display: block;
}


/*news 一覧
---------------------------------------------------------*/
.p_news_archive{
  padding: 0;
}
.p_news_archive .container{
  position: relative;
  padding: 0;
  padding: 12rem 0 19rem;
}
.c_news__row{
  gap: 14rem;
}
.c_sidebar{
  min-width: 20rem;
}
.c_sidebar .ttl{
  color: #FFF;
  font-size: 1.9rem;
  font-weight: 600;
  background-color: var(--c_main);
  padding: 1.2rem 1rem 0.8rem;
  letter-spacing: 0.12em;
}
.c_sidebar li a{
  display: block;
  padding: 1.5rem;
  text-align: left;
  border-bottom: .1rem solid #E6E6E6;
}
.c_sidebar li._current a{
  color: var(--c_main);
}
.c_sidebar li a:hover{
	color: var(--c_hover);
    border-color: var(--c_hover);
}
.c_news__post{
  flex: 1;
}
.displayName{
  position: relative;
  color: var(--c_main);
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: .15em;
  background: url(../img/road.svg) left bottom 1.6rem repeat-x;
  background-size: auto 0.6rem;
  height: 15.5rem;
  display: grid;
  place-content: center;
  margin-bottom: 5rem;
}
.displayName .img{
  position: absolute;
  bottom: 2.4rem;
}
.displayName .img._01{
  left: 14rem;
}
img[src*="/illust07.png"] {
  max-height: 10.2rem;
}
.displayName .img._02{
  right: 6rem;
  width: 12.7rem;
}
.c_news__row .newsList li a{
  flex-direction: row;
  align-items: center;
  padding: 2.8rem 5rem 2.8rem 0;
}
.c_news__row .newsList a::after {
	background-color: var(--c_sub1);
	background-image: url(../img/arw_bl.svg);
}
.cate{
  font-size: 1.3rem;
  color: #FFF;
  background-color: var(--c_main);
  padding: 0.3rem 1.8rem;
  border-radius: 3rem;
  display: inline-block;
}
.c_news__row .newsList li a .ttl{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
  flex: 1;
}
.c_news__row .newsList a:hover::after{
	background-color:#cceff1;
}
/* ページャー */
.pager {
  width: 100%;
  text-align: center;
  margin-top: 4rem;
}
.pager span, .pager a {
  display: inline-block;
  padding: 0;
  margin: 0 0.8rem;
  transition: .2s;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  font-size: 1.8rem;
  line-height: 2.2;
  font-weight: 400;
  color: var(--c_main);
  justify-content: center;
  padding-top: 0.3rem;
}
.pager a.prev,
.pager a.next{
  background-color: var(--c_sub1);
  justify-content: center;
}
.pager a.prev{
	transform: rotate(180deg);
}
.pager a.prev img,
.pager a.next img{
  width: 30%;
  margin-bottom: .4rem;
}
.pager a.page-numbers:hover{
  background-color:#ceeeff;
}
.pager .next,.pager .prev {
  border: none;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.pager .current {
  background-color: var(--c_main);
  color: #fff;
}
.p_news_archive .illust{
  position: absolute;
  bottom: 0;
  left: 5rem;
}



/*news 詳細
---------------------------------------------------------*/
.p_news_single{
	padding:12rem 0 16rem;
}
.singleWrap {
  text-align: left;
}
.singleHeader {
  border-bottom: 1px solid #E6E6E6;
  padding-bottom: 3.6rem;
  margin-bottom: 4.5rem;
  align-items: center;
  gap: 2rem 1.5rem;
}
.singleHeader .date{
  font-size: 1.5rem;
}
.singleHeader .cate{
  font-size: 1.5rem;
}
.singleHeader .cate a{
  border:1px solid #4d4d4d;
  padding:.2rem 1rem;
  border-radius:10rem;
  line-height:1;
}
.singleHeader h2 {
  font-size: 2.4rem;
  width: 100%;
  letter-spacing: .1em;
}
.p_news_single .contWrap{
  max-width:95rem;
  margin:0 auto
}
.p_news_single .img{
  margin: 0 auto 3.5rem;
  text-align: center;
}
.p_news_single .img img{
  max-height: 50rem;
}
.p_news_single .cont h3,
.p_news_single .cont h4,
.p_news_single .cont h5,
.p_news_single .cont h6{
  font-size:1.8rem;
  padding: 2rem 0 0;
}
.p_news_single .cont h3{
  border-left: .4rem solid var(--c_main);
  padding: 0.2rem 0rem 0.2rem 1.8rem;
}
.p_news_single .cont p{
  line-height: 2;
  font-size: 1.6rem;
  padding-top: 1rem;
}
.newsSet {
  margin-top: 9rem;
  gap: 2.5rem;
}
.newsSet li,
.newsSet .pageSetDmmy{
	width: 33%;
}
.newsSet a {
  letter-spacing: .15em;
  min-width: auto;
  width: 100%;
}


/*entry
---------------------------------------------------------*/
.p_entry_contact{
  padding-bottom: 0;
}
.p_entry_contact__ttl{
  position: relative;
  padding-bottom: 7.7rem;
  max-width: 95rem;
  margin-inline: auto;
}
.p_entry_contact__ttl h2{
  color: #fff;
  background-color: var(--c_main);
  border-radius: 10rem;
  padding: 4rem;
  font-size: 2.2rem;
  max-width: 70rem;
  margin-inline: auto;
  position: relative;
  line-height: 1.8;
  letter-spacing: .07em;
}
.p_entry_contact__ttl h2::before,
.p_entry_contact__ttl h2::after{
  content: "";
  width: 3.5rem;
  aspect-ratio: 1;
  background: url("../img/speech.svg") center no-repeat;
  background-size: contain;
  display: inline-block;
  position: absolute;
  bottom: 3.5rem;
  left: -5.4rem;
}
.p_entry_contact__ttl h2::after{
  left: auto;
  right: -5.4rem;
  transform: scale(-1,1);
}
.p_entry_contact__ttl .illust{
  position: absolute;
  bottom: 0;
  left: 0;
}
.p_entry_contact__ttl .illust._02{
  left: auto;
  right: 0;
}






/*ieハック*/
@media screen\0  {
}

/*********************************/
/* タブレット用のスタイル記述 */
/*********************************/
@media screen and (max-width: 1250px) {
	html {
		font-size: .8vw;
	}
}

/*********************************/
/* スマートフォン用のスタイル記述 */
/*********************************/
@media screen and (max-width: 780px) {
/*全体レイアウト
---------------------------------------------------------*/
	html {
		font-size: 2.7777777vw;
	}
	body {
		font-size: 1.4rem;
		line-height: 1.5
	}
	body.active {
		overflow: hidden;
	}
	article > section {
		padding: 4rem 0;
	}
	.txt{
		line-height: 1.7;
	}
	/*header
	-------------------------------------------------------*/
	body.active {
		overflow: hidden;
	}
	/*header-------------------------------------*/
	.active #header {
		background: #fff;
	}
	.headerWrap {
		padding: .9rem 2rem!important;
		height: 5.7rem;
	}
	.hLogo img {
    max-height: 1.8rem!important;
	}
	.hLogo img[src*="/logo.svg"] {
		max-height: 1.6rem!important;
	}
	#nav {
		display: none;
	}
	.menuIcon {
		position: fixed;
		top: 1.75rem;
		right: 5%;
		width: 30px;
		height: 22px;
		z-index: 99999;
		cursor: pointer;
		display: block;
	}
	.menuIcon span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background:var(--c_main);
		z-index: 10;
		transition: .2s;
	}
	.menuIcon span:nth-of-type(1) {top: 0px;}
	.menuIcon span:nth-of-type(2) {top: 10px;	}
	.menuIcon span:nth-of-type(3) {bottom: 0px;	}
	.menuIcon.active span:nth-of-type(1) {
		-webkit-transform: translateY(10px) rotate(45deg);
		transform: translateY(10px) rotate(45deg);
	}
	.menuIcon.active span:nth-of-type(2) {
		opacity: 0;
	}
	.menuIcon.active span:nth-of-type(3) {
		-webkit-transform: translateY(-10px) rotate(-45deg);
		transform: translateY(-10px) rotate(-45deg);
	}
	#nav {
		position: fixed;
		top: 5.7rem;
		bottom: 0;
		right: 0;
		z-index: 10;
		width: 100%;
		height: 100%;
		transition: all 0.3s ease-in-out;
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
		display: block;
		padding: 2rem 5%;
		background: #fff;
		visibility: hidden;
		opacity: 0;
	}
	#nav.active {
		right: 0;
		opacity: 1;
		-moz-transform: translateX(0);
		-webkit-transform: translateX(0);
		transform: translateX(0);
		visibility: visible;
		z-index: 9990;
	}
	.nav {
		display: block;
	}
	.nav a {
		display: block;
		padding: 1rem;
		font-size: 1.6rem;
		border-bottom: 1px solid rgba(0,0,0,.1);
		position: relative;
	}
	.nav a::after {
		content: "";
		display: block;
		width: 2.2rem;
		aspect-ratio: 1;
		border-radius: 50%;
		background: var(--c_main) url(../img/arw_wh.svg) center center no-repeat;
		background-size: 34% auto;
		position: absolute;
		right: 1rem;
		top: 50%;
		transform: translateY(-50%);
		z-index: 1;
	}
	.entryBtn a {
		font-size: 1.8rem;
		height: 5rem;
	}
	#header .entryBtn a {
		margin-top: 2rem;
	}
	.spNav {
		display: block;
		margin-top: 2rem;
		border: 1px solid var(--c_main);
		background: var(--c_main);
		padding: 1.5rem;
		color: #fff;
		text-align: center;
	}
	.spNav .telnum a {
		color: var(--c_main);
	}
	.spNav .bnr {
		margin-top: 1.5rem;
	}


	/*footer
	-------------------------------------------------------*/
	.fTop {
		margin-top: 4rem;
	}
	.fTop figure {
    max-width: 11rem;
}
	.fTop .eng {
		font-size: 2rem;
		text-align: left;
		line-height: 1;
		margin-bottom: -0.25em;
	}
	.fTop .eng strong {
		font-size: 180%;
		display: block;
	}
	#footer {
		background-position: bottom right 10%;
		background-size: 70% auto;
		padding: 4rem 0 8.5rem;
	}
	.telnum a {
		font-size: 3rem;
	}
	.pagetop {
		width: 4rem;
		top: -2rem;
	}
	.footerArea {
		display: block;
	}
	.fLogo .glogo {
    max-width: 15rem;
	}
	.fLogo img[src*="/logo.svg"] {
    height: 2.5rem;
	}
	.fAdd .txt {
		font-size: 1.4rem;
	}
	.fNav {
		width: 100%;
		gap: 1rem 2rem;
	}
	.fNav a {
		padding: .7rem;
	}
	.fNav a .eng {
		width: auto;
	}
	.copyRiht {
		font-size: 1rem;
		margin-top: 3rem;
	}


  /*loader
  ---------------------------------------------------------*/
.loader-bg .logoWrap {
	margin-bottom: 1.4rem;
	gap: 1.4rem;
}
.loader-bg .track{
	max-width: 5rem;
}
.loader-bg .logo{
	max-width: 22rem;
}
  .loader-bg .logo_icon {
    width: 3.6rem;
  }


	/*toppage
	-------------------------------------------------------*/
	.mainArea {
		padding: 8rem 0 20.5rem;
		background-size: 95% auto,250% auto;
		background-position: bottom 8rem right 5%,top right;
	}
	.mainWrap {
		width: 90%;
		flex-direction: column-reverse;
		gap: 2rem;
	}
	.mainSliderArea {
		width: 80%;
	}
	.mainTtl {
		padding: 0;
		font-size: 1.4rem;
	}
	.mainTtl .eng {
    font-size: 290%;
		margin-bottom: 1rem;
	}
	.mainRoad {
		height: 8rem;
		border-top-width: 1rem;
		background-size: auto .6rem;
	}
	.mainTrack {
		bottom: 5rem;
	}
	.mainTrack .img {
		width: 7rem;
		min-width: 7rem;
		right: -12rem;
		animation-duration: 10s;
	}
	.mainTrack .img._02 {
    width: 12rem;
    min-width: 12rem;
	}
	.mainTrack .img._03 {
    -webkit-animation-delay: 7.5s;
    animation-delay: 7.5s;
	}
	.topServiceWrap h2 {
		font-size: 4rem;
		margin-left: 0;
		margin-bottom: 1rem;
	}
	.topServiceWrap h2 img {
		max-height: 7rem;
	}
	.topServiceWrap {
		display: block;
	}
	.topServiceWrap dt p {
		font-size: 1.6rem;
	}
	.btnbox {
		margin-top: 3rem;
	}
	.btn {
		font-size: 1.4rem;
		min-width: 20rem;
		height: 5rem;
		padding: 0 4.2rem 0 3.6rem;
	}
	.btn::after {
		width: 1.5rem;
		right: 1rem;
	}
	.topServiceWrap .img._01 {
		max-width: 13rem;
		margin-top: 3rem;
	}
	.topServiceWrap .img._01 figure {
	    max-width: 6rem;
	    position: absolute;
	    bottom: -3rem;
	    right: -1rem;
	}
	img[src*="/illust06.png"] {
		max-height: 7.5rem;
	}
	.topServiceWrap .img._02 {
		max-width: 17rem;
	}
	#top-service {
		padding-bottom: 8rem;
		background-size: auto .6rem;
	}
	.approachArea {
		display: block;
	}
	.approachTtl {
		padding-bottom: 0;
		margin-bottom: 3rem;
	}
	.approachTtl .eng {
		font-size: 3.4rem;
	}
	.approachTtl h2 {
		font-size: 1.4rem;
	}
	.approachTtl figure {
		right: 1rem;
		bottom: 0;
		width: 8rem;
	}
	.approachSliderArea {
		padding-right: 4.5rem;
		padding-bottom: 5rem;
		margin-left: calc(-60vw + 1%);
	}
	.approachSlideNav {
		top: 2rem;
	}
	.sliderArrow {
		width: 4rem;
	}
	.approachSliderArea .approachBox {
		margin: 0 1rem;
	}
	.approachSliderArea .approachBox:nth-of-type(even) {
		margin-top: 3rem;
	}
	.approachSliderArea .approachBox .num {
		font-size: 4rem;
	}
	.approachBox dt{
		margin-bottom: 1rem;
	}
	.approachBox h3 {
		font-size: 1.6rem;
		margin-bottom: 0.6rem;
	}
	.approachBox .txt {
		text-align: left;
		line-height: 1.5;
	}
	#sustainable {
		padding-top: 5rem;
		background-position: center bottom;
		background-size: cover;
		background-image: url(../img/top/sustainable_bg_sp.jpg);
	}
	.sustainableWrap {
		padding-top: 22rem;
	}
	.sustainableWrap figure {
		width: 19.4rem;
		max-width: none;
	}
	.sustainableWrap figure._01 {
		top: 7rem;
		left: -2rem;
	}
	.sustainableWrap figure._02 {
		top: -3.7rem;
		right: auto;
		left: 1rem;
		width: 14.5rem;
	}
	.sustainableWrap figure._03 {
	    top: 0rem;
	    right: -2rem;
	    width: 16rem;
	 }
	.sustainableWrap h2 {
		font-size: 1.8rem;
		margin-bottom: 2rem;
	}
	.sustainableWrap .eng {
		font-size: 3.4rem;
		margin-top: 6rem;
	}
	.sustainableWrap .txt {
		margin-bottom: 6rem;
	}
	#top-network {
		padding: 6rem 0 12rem;
	}
	.top-networkWrap dt .eng {
		font-size: 3.4rem;
	}
	.top-networkWrap dt h3 {
		font-size: 1.4rem;
	}
	.top-networkWrap .imgWrap {
		position: absolute;
		right: 0;
		bottom: 0;
		width: 60%;
		padding-bottom: 2rem;
		margin-bottom: -12rem;
	}
	.top-networkWrap .imgWrap::before {
		height: auto;
	}
	.btnbox + .btnbox {
		margin-top: 1.5rem;
	}
	.top-networkWrap .illust {
		right: auto;
		left: 0;
		bottom: -12rem;
	}
	img[src*="/illust02.png"] {
		max-height: 7.2rem;
	}
	img[src*="/illust03.png"] {
		max-height: 7rem;
	}
	.nwBgImg {
		bottom: 24%;
	}
	.nwBgImg p {
    min-width: 100rem;
	}
	.bg-road {
		background-size: auto .6rem;
		padding: 8rem 0;
		background-position: top 1.5rem left,bottom 1.5rem left;
	}
	.secIllust {
		max-width: 8rem;
		bottom: -8rem;
	}
	.recruitBnr .eng {
    font-size: 5rem;
		bottom: -3rem;
	}
	.recruitBnr .eng::after {
		width: 1.7rem;
		margin-top: -1.25rem;
	}
	.recruitBnr h2 {
		width: 22rem;
		top: 30%;
	}
	.recruitBnr {
		aspect-ratio: 4 / 4.5;
		border-radius: 4rem;
	}
.recruitBnr .imgs {
	border-radius: 4rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(3, 1fr);
	grid-column-gap: 0px;
	grid-row-gap: 0px;
}
.recruitBnr .imgs li:nth-of-type(1) { grid-area: 1 / 1 / 2 / 3; }
.recruitBnr .imgs li:nth-of-type(2) { grid-area: 3 / 1 / 4 / 3; }
.recruitBnr .imgs li:nth-of-type(3) { grid-area: 2 / 1 / 3 / 2; }
.recruitBnr .imgs li:nth-of-type(4) { grid-area: 2 / 2 / 3 / 3; }
.top-newsWrap {
	display: block;
}
.top-newsWrap dl {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 2rem;
}
.top-newsLft dt {
	background-size: auto 100%;
	padding: .5rem 0 0 4.5rem;
}
.top-newsWrap .btnbox {
	margin-top: 0;
	transform: scale(.9);
}
.top-newsWrap .btn {
	min-width: 15rem;
}
.top-newsLft dt .eng {
	font-size: 3.4rem;
}
.top-newsLft dt h2 {
	font-size: 1.4rem;
}
.top-newsWrap .newsList {
	width: 100%;
}
.newsList a::after {
	width: 2.5rem;
}
.newsList a {
	padding: 1.2rem 2.5rem 1.2rem 0;
}
.toppageBtmWrap {
	display: block;
}
.toppageBtmWrap h2 {
	font-size: 2rem;
	width: fit-content;
	margin: 0 auto 2rem;
}



/*下層　共通
---------------------------------------------------------*/
.lower_mv{
  height: 26rem;
}
.lower_mv h1 {
  font-size: 1.5rem;
  height: 100%;
  padding-top: 12.4rem;
}
.lower_mv h1 span {
  font-size: 3.4rem;
}
.lower_mv .img{
  width: 29.7rem;
}
.pankz {
  padding: 0.8rem 0;
  font-size: 1.3rem;
}
.pankz li a::after {
  margin: 0 .5em;
}
.c_enJaTtl {
  font-size: 1.5rem;
  margin-bottom: 2rem;
}
.c_enJaTtl span {
  font-size: 3.4rem;
  margin-bottom: 0;
}


/*service
---------------------------------------------------------*/
.p_service_lead__area{
	padding: 4rem 0!important;
}
.p_service_lead__row{
	flex-direction: column;
	gap: 3rem;
}
.p_service_lead__box {
  max-width: 55rem;
}
.p_service_lead__box h2 {
  font-size: 2rem;
  padding-bottom: 2rem;
}
.p_service_lead__box h3 {
  font-size: 3rem;
  margin-bottom: 1.4rem;
  padding-bottom: 1.4rem;
  background-size: 1rem .4rem;
}
.p_service_lead__box h3 span{
	display: inline-block;
}
.p_service_lead__box h3 .eng{
  font-size: 1.4rem;
  padding: 0.8rem 1.2rem 0.6rem;
  margin-top: .4rem;
}
.p_service_lead__box h3 .num{
  font-size: 3.5rem;
  margin-right: 1.2rem;
  margin-top: 1rem;
}
.p_service_lead__box .txt{
  line-height: 2;
}
.p_service_lead__row .img {
  max-width: 80%;
  position: static;
  margin-inline: auto;
}
.p_service_lead__area:nth-of-type(2) .img{
  right: auto;
  left: 0;
  top: -21rem;
}
.p_service_future{
  padding: 6rem 0 4rem;
}
.p_service_future__row {
  gap: 2.4rem;
  margin-bottom: 2rem;
  flex-direction: column;
  align-items: center;
}
.p_service_future__row h2{
  font-size: 4.2rem;
  margin-bottom: 0;
}
.p_service_future__box .illust{
  gap: 2.6rem;
  max-width: 40%;
  margin: 0 auto 1.3rem;
  justify-content: center;
  align-items: center;
}
.p_service_future__box .illust img{
  width: 12rem;
}
.p_service_future__box .illust img:nth-of-type(2){
  width: 7rem;
}
.p_service_future__box .txt {
  font-size: 1.4rem;
}
.p_service_line{
	padding: 6rem 0 6rem;
}
.p_service_line__area{
	margin-top: 0;
	padding: 4rem 0 0;
}
.p_service_line__row{
	flex-direction: column;
	gap: 2rem;
}
.p_service_line__box {
  width: 100%;
  padding: 0!important;
}
.p_service_line__box h3 {
  font-size: 2rem;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}
.p_service_line__box .txt {
  font-size: 1.4rem;
}
.p_service_line__row .img {
  width: 100%;
  margin-left: -12%;
  margin-top: 0;
}
.p_service_line__row .img img {
  height: auto;
  min-height: auto;
}
.p_service_line__row:nth-of-type(2){
  margin-top: 4rem;
}
.p_service_line__row:nth-of-type(2) .img{
  margin: 0 -12% -3rem 0;
}
.p_service_line__area .nwBgImg._01{
  top: 3%;
  bottom: auto;
}
.p_service_line__area .nwBgImg._02{
  top: 53%;
}
.c_future{
  padding-bottom: 0;
  margin-bottom: 0;
}
.c_future__row {
  gap: 1.4em;
  flex-direction: column;
}
.c_future__box {
  margin-top: 0;
}
.c_future__box .eng {
  font-size: 1.6rem;
  margin-bottom: 0.4rem;
}
.c_future__box h2 {
  font-size: 1.8rem;
  letter-spacing: 0.05em;
}
.c_future__row .img {
  max-width: 90%;
}


/*recruit
---------------------------------------------------------*/
.p_recruit_archive .container{
  padding: 3.2rem 0 9.5rem;
}
.p_recruit_archive .illust{
  left: 3rem;
}
.p_recruit_archive__cont{
  padding: 3rem 2.4rem;
  border-radius: 2rem;
}
.p_recruit_archive__cont:nth-of-type(n+2){
	margin-top: 2.4rem;
}
.p_recruit_archive__row {
  gap: 2.4rem;
  margin-bottom: 2.4rem;
  flex-direction: column;
}
.p_recruit_archive__box_ttl{
  padding-bottom: 1.3rem;
}
.p_recruit_archive__box h2 {
  gap: 0.8rem;
  flex-wrap: wrap;
  text-align: left;
  align-items: flex-start;
  font-size: 2rem;
}
.p_recruit_archive__box h2 span.type{
  font-size: 1.4rem;
  padding: 0.4rem 2rem;
  margin-right: auto;
}
.p_recruit_archive__box h2 span.ttl{
	flex: auto;
}
.p_recruit_archive__box h3{
  font-size: 1.6rem;
  margin-bottom: 2rem;
  text-align: left;
}
.p_recruit_archive__box h4{
  padding: 1rem;
}
.p_recruit_archive__box .txt{
  padding: 1.2rem 1.6rem;
}




/*recruit 詳細
---------------------------------------------------------*/
.p_recruit_single{
  padding: 3.2rem 0 5rem;
}
.p_recruit_single__cont{
  padding: 3rem 2rem;
  border-radius: 2rem;
}
.p_recruit_single__cont_ttl{
  padding-bottom: 1.6rem;
  margin-bottom: 1.6rem;
}
.p_recruit_single__cont h2 {
  font-size: 2rem;
  gap: 0.8rem;
  flex-wrap: wrap;
  align-items: flex-start;
  text-align: left;
}
.p_recruit_single__cont h2 span.type{
  font-size: 1.4rem;
  padding: 0.4rem 2.1rem;
  margin-right: auto;
}
.p_recruit_single__cont h2 span.ttl{
	flex: auto;
}
.p_recruit_single__cont h3{
  font-size: 1.6rem;
  margin-bottom: 2.4rem;
  text-align: left;
}
.c_profile {
  margin-top: 2rem;
}
.c_profile dt,
.c_profile dd {
  padding: 1.2rem 2rem;
  width: 100%;
  line-height: 1.6;
}
.c_profile dt{
  border-top: .1rem solid var(--c_sub1);
}
.c_profile dd {
  padding-bottom: 2.4rem;
  border: none!important;
}
.c_note{
  font-size: 1.2rem;
}
.p_recruit_contact{
	padding: 5rem 0 4rem;
}
.p_recruit_contact__ttl {
  max-width: 54.7rem;
}
.p_recruit_contact__ttl .c_enJaTtl{
  margin-bottom: 0;
  padding-bottom: 2rem;
}
.p_recruit_contact__ttl .illust{
  left: 4rem;
}
.p_recruit_contact__ttl .illust._02{
  left: auto;
  right: 2rem;
}
.pageset {
  margin: 3rem 0 2.4rem;
  gap: 2rem;
  max-width: 110rem;
}
.pageset_box{
  width: 100%;
}
.pageset_box .arrow{
  font-size: 1.8rem;
  margin-bottom: 1rem;
  gap: 1rem;
}
.pageset_box._prev .arrow::before,
.pageset_box._next .arrow::after{
  width: 2.1rem;
  margin-top: .2rem;
}
.pageset_box .row {
  flex-direction: column!important;
  border-radius: 1rem;
}
.pageset_box .row .txt {
  font-size: 1.4rem;
  padding: 0.8rem 1rem;
  line-height: 1.4;
  letter-spacing: .05em;
}
.pageset_box .row .img {
  max-width: 21.4rem;
}


/*entry
---------------------------------------------------------*/
.formWrap{
  padding: 3rem 2rem;
  border-radius: 2rem;
}
.formTxt {
  font-size: 1.6rem;
  margin-bottom: 2.5rem;
}
.formBox dt,
.formBox dd {
	margin-bottom: 1.2rem;
}
.formBox dt::before {
  font-size: 1.2rem;
  padding: 0.6rem 1.4rem;
  line-height: 0.9;
}
.formBox dt {
  gap: 1.2rem;
}
.formBox dd {
  margin-bottom: 3rem;
}
.formBox._file dd {
  margin-bottom: 2rem;
}
.formBox input[type="text"],
.formBox input[type="tel"],
.formBox input[type="email"],
.formBox input[type="date"],
.formBox select,
.formBox textarea {
  width: 100%;
  padding: .575em;
  line-height: 1.6;
}
.formBox input[type="text"],
.formBox input[type="tel"],
.formBox input[type="email"],
.formBox input[type="date"],
.formBox select,
.formBox textarea,
.formBox input[type="file"]{
  font-size: 1.4rem;
}
.formBox textarea {
  height: 19rem;
}
.formWrap .fileTxt{
  padding: 2.8rem 0;
}
.formBox input[type="file"] {
  width: 100%;
}
.formBox input[type="file"]::file-selector-button {
  padding: .6rem 2rem;
  margin-right: 1rem;
}
.formBox select{
	padding-right: 3rem;
}
.privacyBox{
  padding-top: 3rem;
}
.privacyTxt{
  width: 100%;
  height: 19rem;
  white-space: normal;
  padding: 1rem 1.5rem;
  font-feature-settings: "palt";
}
.privacyTxt h3,
.privacyTxt p{
  font-size: 1.4rem;
}
.privacyCheck {
  margin: 2rem 0 1rem;
}
.privacyBox .txt{
  text-align: left;
}
.formBtn {
  margin-top: 2rem;
  flex-direction: column-reverse;
}
.formArea input[type="submit"],
.formArea input[type="button"] {
  font-size: 1.6rem;
  margin: 0.8rem;
  padding: 1.8rem 4rem;
}
.thxBoxWrap {
    padding-top: 4rem;
}
.thxBox {
  line-height: 1.8;
  padding: 2.4rem 1.5rem;
}
.thxBox .ttl{
  font-size: 1.6rem;
  margin-bottom: 1rem;
}
.thxBox .txt{
text-align: left;
}
.thxBox .btn{
  margin-top: 2rem;
}


/*feature
---------------------------------------------------------*/
.p_feature_lead{
  height: 45rem;
  padding: 3rem 0;
}
.p_feature_lead h2 > span{
  font-size: 1.8rem;
  padding: 0.3rem 1.1rem;
}
.p_feature_lead h2 span.onlypc{
	display: none!important
}
.p_feature_lead h2 span.onlysp{
	display: block!important
}
.p_feature_lead h2 span + span{
  margin-top: 0.6rem;
}
.p_feature_approach{
  padding: 6rem 0 14rem;
}
.p_feature_approach .mainRoad{
  height: 6rem;
}
.p_feature_approach .mainTrack{
  bottom: 4rem;
}
.p_feature_approach::before{
  height: 22rem;
  background-size: auto .6rem;
  background-position: bottom 1.5rem left;
}
.p_feature_approach .c_enJaTtl{
  margin-bottom: 3rem;
}
.p_feature_approach__row {
  grid-template-columns: repeat(1, 1fr);
  gap: 3rem;
}
.p_feature_approach__box h3 span{
  font-size: 2.6rem;
  margin-bottom: 0;
}
.p_feature_approach__box h3 {
  font-size: 2rem;
  padding: 1.6rem 0 0.7rem;
  letter-spacing: .1em;
}
.p_feature_approach__box .txt{
	font-size: 1.3rem;
}
.p_feature_gallery .container{
  padding: 2rem 0 10rem;
}
.p_feature_gallery__rowWrap{
  grid-template-columns: repeat(1, 1fr);
}
.p_feature_gallery__rowWrap,
.p_feature_gallery__row{
  gap: 0.6rem;
}
.p_feature_gallery__row .img{
  border-radius: 1rem;
}
.p_feature_gallery .illust{
  left: 2rem;
}



/*company
---------------------------------------------------------*/
.p_company_anchorLink{
  padding: 2.8rem 0;
}
.p_company_anchorLink ul{
  gap: 1.6rem 1.6rem;
  justify-content: flex-start;
}
.p_company_anchorLink ul li{
  width: 47.2%;
}
.p_company_anchorLink ul .btn{
  min-width: 100%;
  height: 4.4rem;
}
.p_company_network .c_enJaTtl{
	margin-bottom: 2rem;
}
.p_company_network__row {
  gap: 2rem;
  padding: 2.6rem 2rem;
  flex-direction: column;
}
.p_company_network__row .img{
	max-width: 100%;
}
.p_company_network__item{
	padding-top: 0;
}
.p_company_network__item:nth-of-type(n+2){
  margin-top: 2rem;
}
.p_company_network__item h3 {
  font-size: 1.6rem;
  padding-bottom: 0.6rem;
  gap: 1rem;
}
.p_company_network__item h3 span{
  font-size: 1.2rem;
  padding: 0.2rem 0.7rem;
  font-weight: 500;
}
.p_company_network__item address {
  line-height: 1.6;
  margin-bottom: .4rem;
}
.p_company_group{
	background-size: auto .6rem;
	background-position: left bottom 2rem;
}
.p_company_group .container{
  padding-bottom: 29rem;
}
.p_company_group__row{
	flex-direction: column;
	gap: 5rem;
}
.p_company_group__img {
  margin-left: -6%;
}
.p_company_group__img ._01{
  width: 100%;
  height: 22rem;
  border-radius: 0 30rem 30rem 0;
}
.p_company_group__img ._02{
  bottom: -2rem;
  right: 0;
  width: 18.3rem;
}
.p_company_group__box {
  width: 100%;
  padding: 0;
}
.p_company_group__box .txt{
  margin-bottom: 2.4rem;
  line-height: 2;
}
.p_company_group .map{
  bottom: 8rem;
  right: -7rem;
  width: 32rem;
}
.p_company_group .illust{
  gap: 3rem;
  bottom: 3.2rem;
  right: auto;
  left: 0;
}
.p_company_group .illust img[src*="/track02.png"] {
	max-height: 4.9rem;
}
img[src*="/illust01.png"] {
	max-height: 5.8rem;
}
.p_company_about{
  padding: 5rem 0;
}
.p_company_access{
  padding: 7rem 0 5rem;
  background-size: auto .6rem;
  background-position: left top 2rem;
}
.p_company_access__ttl{
  margin-bottom: 2.2rem;
}
.p_company_access__ttl .c_enJaTtl{
  margin-bottom: 0;
}
.p_company_access__ttl .illust{
  gap: 1rem;
}
.gMap {
  aspect-ratio: 120/105;
}
.gMap iframe {
  width: 100%;
  height: 100%;
}
.p_company_access__box{
  margin-top: 2rem;
}
.p_company_access__item{
  gap: 0.6rem .5rem;
  flex-wrap: wrap;
}
.p_company_access__item:nth-of-type(n+2){
  margin-top: 1.4rem;
}
.p_company_access__item h3{
  font-size: 1.6rem;
}
.p_company_access__item h3.eng{
  font-size: 2rem;
}
.p_company_access__item h3 span{
  font-size: 1.2rem;
  padding: 0.2rem 0.7rem;
  margin-right: 1.2rem;
}
.p_company_access__item address,
.p_company_access__item p{
  font-size: 1.4rem;
}
.p_company_philos{
  padding: 5.6rem 0 5rem;
}
.p_company_philos .c_enJaTtl{
  margin-bottom: 3rem;
}
.p_company_philos__row {
  grid-template-columns: repeat(1, 1fr);
  gap: 3rem;
}
.p_company_philos__box .img{
  width: 20rem;
  margin: 0 auto 1.6rem;
}
.p_company_philos__box .txt {
  font-size: 1.4rem;
  line-height: 1.6;
}
.p_company_philos__box .txt span {
  font-size: 2.6rem;
  padding-bottom: 0.2rem;
}



/*news
---------------------------------------------------------*/
.p_news_archive .container{
  padding: 4rem 0 9rem;
}
.c_news__row{
  gap: 2rem;
  flex-direction: column;
}
.c_sidebar{
  width: 100%;
}
.c_sidebar .ttl{
  font-size: 1.7rem;
}
.c_sidebar li a{
  padding: 1.3rem;
}
.displayName{
  font-size: 1.8rem;
  background-position: left bottom 1.2rem;
  background-size: auto 0.4rem;
  height: 12.5rem;
  margin-bottom: 0.4rem;
}
.displayName .img{
  bottom: 1.9rem;
}
.displayName .img._01{
  left: 3rem;
}
img[src*="/illust07.png"] {
  max-height: 6.9rem;
}
.displayName .img._02{
  right: 1rem;
  width: 6.8rem;
}
.c_news__row .newsList li a{
  padding: 2rem 3rem 1.4rem 0;
  flex-wrap: wrap;
  gap: .5rem 0.6rem;
}
.cate{
  font-size: 1.2rem;
  padding: 0.2rem 1.3rem;
  margin-top: -0.5rem;
}
.c_news__row .newsList li a .ttl{
	width: 100%;
	flex: auto;
}
.p_news_archive .illust{
  left: 2rem;
}
.pager {
  margin-top: 4rem;
}
.pager span, .pager a {
  margin: 0 0.6rem;
  width: 3rem;
  height: 3rem;
  font-size: 1.6rem;
  line-height: 1.8;
}
.pager a.prev img,
.pager a.next img{
  margin-bottom: .3rem;
}
.p_news_archive .illust{
  left: 2rem;
}



/*news 詳細
---------------------------------------------------------*/
.p_news_single{
	padding: 4rem 0 5rem;
}
.singleHeader {
  padding: 3rem 0 1.6rem;
  margin-bottom: 2rem;
  gap: 0.8rem 1rem;
}
.singleHeader .date{
  font-size: 1.4rem;
}
.singleHeader .cate{
  font-size: 1.2rem;
}
.singleHeader .cate a{
  padding:.2rem 1rem;
  border-radius:10rem;
}
.singleHeader h2 {
  font-size: 1.8rem;
  letter-spacing: .05em;
}
.p_news_single .contWrap{
  max-width:95rem;
}
.p_news_single .img{
  margin: 0 auto 1rem;
}
.p_news_single .img img{
  max-height: 50rem;
}
.p_news_single .cont h3,
.p_news_single .cont h4,
.p_news_single .cont h5,
.p_news_single .cont h6{
  font-size: 1.6rem;
  padding: 2rem 0 0;
}
.p_news_single .cont h3{
  padding: 0.1rem 0rem 0.1rem 1.4rem;
  margin-top: 2rem;
}
.p_news_single .cont p{
  line-height: 1.7;
  font-size: 1.4rem;
  padding-top: 1rem;
}
.newsSet {
  margin-top: 3rem;
  gap: 1.5rem 2.4rem;
  flex-wrap: wrap;
}
.newsSet .btnBack{
	order: 3;
}
.newsSet li{
	width: 46%;
}
.newsSet li.btnBack a{
	padding: 0 2rem;
}
.newsSet .pageSetDmmy{
	display: none;
}


/*entry
---------------------------------------------------------*/
.p_entry_contact{
  padding-bottom: 0;
}
.p_entry_contact__ttl{
  padding-bottom: 8.7rem;
}
.p_entry_contact__ttl h2{
  padding: 1.4rem;
  font-size: 1.5rem;
  max-width: 96%;
  line-height: 1.5;
}
.p_entry_contact__ttl h2::before,
.p_entry_contact__ttl h2::after{
  width: 2.1rem;
  bottom: -2.6rem;
  left: 4rem;
}
.p_entry_contact__ttl h2::after{
  left: auto;
  right: 4.9rem;
}
.p_entry_contact__ttl .illust{
  left: 2rem;
}
.p_entry_contact__ttl .illust._02{
  left: auto;
  right: 2rem;
}



}


