@charset "UTF-8";
@import url(reset.css);
@font-face {
  font-family: "LINESeedJP_OTF_Rg";
  src: url("../css/LINESeedJP_OTF_Rg.woff") format('truetype');
}
@font-face {
  font-family: "LINESeedJP_OTF_Bd";
  src: url("../css/LINESeedJP_OTF_Bd.woff") format('truetype');
}

* html body {
	background: url(null) fixed;
}
html, body {
	font-size: 10px;
	width: 100%;
}
body {
	position: relative;
	margin: 0;
	padding: 0;
	color: #0F2D61;
	font-size: clamp(1.4rem, 1.362rem + 0.16vw, 1.6rem);
	background-color: #FFF;
	font-family: "LINESeedJP_OTF_Rg";
	letter-spacing: .1em;
	font-feature-settings: "palt";
}
a {
	color: #0F2D61;
	text-decoration: none;
	transition: all .4s;
}
a:hover {
	color: #0F2D61;
	text-decoration: none;
}
*:focus {
	outline: none;
}
img {
	-webkit-backface-visibility: hidden;
}
input[type="submit"], input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="submit"]::focus, input[type="button"]::focus {
	outline-offset: -2px;
}
input[type="text"], textarea, select {
	-webkit-appearance: none;
	border-radius: 0;
}
select {
  -webkit-appearance: none;
  appearance: none;
	color: #303030;
  box-shadow: none;
  background: #FFF url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 10px top 55%;
  background-size: 16px 16px;
  cursor: pointer;
}
br.cancel {
	display: block;
}
@media screen and (max-width: 896px) {
	br.cancel {
		display: none;
	}
}
.inview-text--up {
	-webkit-transition: 1s .2s cubic-bezier(.16, .43, .45, 1);
	transition: 1s .2s cubic-bezier(.16, .43, .45, 1);
	-webkit-transform: translate3d(0, 40px, 0);
	transform: translate3d(0, 40px, 0);
	opacity: 0
}
.inview-text--up.inview {
	-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1
}

/*!------------------------------------------------------------------
[ヘッダー]
*/
header.home {
	position: relative;
	top: 0;
	z-index: +1;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: auto;
	width: 90%;
	height: 140px;
}
header.chil {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: auto;
	width: 90%;
	height: 140px;
}
header.recruit {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
	margin: auto;
	width: 90%;
	height: 140px;
}
header h1 {
	width: 200px;
}
header h1 img {
	width: 100%;
	height: auto;
	transition: .2s;
}
header.recruit h1 {
	flex-grow: 1;
	display: flex;
	align-items: flex-end;
	font-size: clamp(1.8rem, 1.648rem + 0.62vw, 2.6rem);
}
header.recruit h1 img {
	width: 160px;
}
header.recruit h1 span {
	margin-left: 20px;
}
header ul {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex-grow: 1;
	gap: 2%;
}
header.home ul li a {
	color: #FFF;
}
header.chil ul li a {
	color: #103C89;
}
header ul li a {
	padding: 5px 15px;
	letter-spacing: .1em;
	background-image: linear-gradient(to right, transparent 50%, #103C89 50%);
	background-position: 0 0;
	background-size: 200% auto;
	border-radius: 3px;
	transition: .2s;
}
header ul li a:hover {
	color: #FFF;
	background-position: -100% 0;
	transition: .2s;
}
header .recruit_entry__btt a {
	display: block;
	padding: 3px 20px 1px;
	color: #103C89;
	text-align: center;
	background-image: linear-gradient(to right, #FFF 50%, #103C89 50%);
	background-position: 0 0;
	background-size: 200% auto;
	border: 2px solid #103C89;
	box-sizing: border-box;
	transition: .2s;
}
header .recruit_entry__btt a:hover {
	color: #FFF;
	background-position: -100% 0;
	border: 2px solid #103C89;
	transition: .2s;
}
@media screen and (max-width: 896px) {
	header.home {
		height: 100px;
	}
	header.chil {
		height: 100px;
	}
	header.recruit {
		gap: 20px;
		height: 100px;
	}
	header h1 {
		width: 150px;
	}
	header.recruit h1 img {
		width: 100px;
	}
	header ul {
		display: none;
	}
	header.recruit h1 span {
		display: none;
	}
/*
header .recruit_entry__btt a {
	display: block;
	padding: 3px 20px 1px;
	color: #103C89;
	text-align: center;
	background-image: linear-gradient(to right, #FFF 50%, #103C89 50%);
	background-position: 0 0;
	background-size: 200% auto;
	border: 2px solid #103C89;
	box-sizing: border-box;
	transition: .2s;
}
header .recruit_entry__btt a:hover {
	color: #FFF;
	background-position: -100% 0;
	border: 2px solid #103C89;
	transition: .2s;
}
*/
}

#globalMenu {
  position: fixed;
  top: 0;
  left: 0;
  z-index: +1;
  overflow: hidden;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 40px;
	padding: 0 5%;
	width: 100%;
  height: 0;
	color: #103C89;
	box-sizing: border-box;
  transition: .6s;
}
#globalMenu.fixed {
  height: 100px;
  background-color: rgba(255,255,255,.9);
}
#globalMenu .logo {
	margin-right: auto;
}
#globalMenu .fixhead_phone span {
	font-size: clamp(1.6rem, 1.486rem + 0.47vw, 2.2rem);
	letter-spacing: 0; 
}
@media screen and (max-width: 896px) {
	#globalMenu {
		gap: 20px;
	}
	#globalMenu.fixed {
		height: 70px;
	}
	#globalMenu .logo {
		width: 120px;
	}
	#globalMenu .logo img {
		width: 100%;
	}
	#globalMenu .fixhead_phone {
		display: none;
	}
}

/*!------------------------------------------------------------------
[フッター]
*/
footer {
	padding: 100px 0 50px;
	color: #FFF;
	background-color: #103C89;
}
footer a {
	color: #FFF;
}
footer .inner {
	display: flex;
	justify-content: space-between;
	margin: auto;
	width: 90%;
}
.footer_inner__address {
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.footer_inner__address h3 {
	margin-bottom: 20px;
	margin-left: -20px;
	font-size: clamp(8rem, 6.098rem + 7.8vw, 18rem);
	letter-spacing: .3em;
}
.footer_inner__address h3 a {
	color: #FFF;
}
.footer_inner__address p {
	font-size: clamp(1.6rem, 1.486rem + 0.47vw, 2.2rem);
}
.footer_inner__address p span {
	font-size: clamp(2rem, 1.848rem + 0.62vw, 2.8rem);
}
.footer_inner__address h4 {
	margin: 20px 0 40px;
	line-height: 2;
}
.footer_inner__address small {
	font-size: 12px;
	font-family: "LINESeedJP_OTF_Rg";
}
.footer_inner__nav {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 60px;
	padding-top: 20px;
	font-size: clamp(1.6rem, 1.524rem + 0.31vw, 2rem);
}
.footer_inner__nav .contact_btt a {
	display: block;
	padding: 0 20px;
	height: 50px;
	color: #103C89;
	line-height: 50px;
	text-align: center;
	background-image: linear-gradient(to right, #FFF 50%, #303030 50%);
	background-position: 0 0;
	background-size: 200% auto;
	box-sizing: border-box;
	transition: .2s;
}
.footer_inner__nav .contact_btt a:hover {
	color: #FFF;
	background-position: -100% 0;
	border-left: 1px solid #103C89;
	transition: .2s;
}
.footer_inner__nav .contact_btt span {
	font-size: clamp(1.6rem, 1.486rem + 0.47vw, 2.2rem);
	letter-spacing: 0;
}
.footer_inner__nav ul {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 30px;
}
.footer_inner__nav ul li a {
	padding: 3px 5px 1px 10px;
	letter-spacing: 0.2;
	background-image: linear-gradient(to right, #103C89 50%, #FFFFFF 50%);
	background-position: 0 0;
	background-size: 200% auto;
	transition: .2s;
}
.footer_inner__nav ul li a:hover {
	color: #103C89;
	background-position: -100% 0;
	transition: .2s;
}
@media screen and (max-width: 896px) {
	footer {
		padding: 50px 0 20px;
	}
	footer .inner {
		align-items: center;
		flex-direction: column;
	}
	.footer_inner__address {
		gap: 20px;
		text-align: center;
	}
	.footer_inner__address h3 {
		margin-bottom: 20px;
		margin-left: 0;
		font-size: 6rem;
		letter-spacing: .2em;
	}
	.footer_inner__address h4 {
		margin: 0 0 40px;
		line-height: 2;
	}
	footer .footer_inner__nav {
		display: none;
	}
}

/*!------------------------------------------------------------------
[メインビジュアル]
*/
.mainvisual {
	position: relative;
	margin-bottom: 80px;
	color: #FFF;
	width: 100%;
	height: 100vh;
}
#mainvisual_vegas {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.mainvisual .mainvisual__ttl {
	position: absolute;
	z-index: +1;
	top: 50%;
	left: 5%;
	transform: translateY(-50%);
	font-size: clamp(1.6rem, 1.486rem + 0.47vw, 2.2rem);
}
.mainvisual .mainvisual__ttl h2 {
	margin-bottom: 20px;
	font-size: clamp(4rem, 3.429rem + 2.34vw, 7rem);
	line-height: 1.6;
	letter-spacing: .1em;
}
.text-animate span,
.text-animate-en span {
  display: inline-block;
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 0.6s ease forwards;
}
.text-animate,
.text-animate-en {
  opacity: 0;
}
@media screen and (max-width: 896px) {
	.mainvisual {
		margin-bottom: 40px;
	}
	.mainvisual .mainvisual__ttl {
		top: auto;
		bottom: 200px;
		transform: translateY(0%);
	/*	font-size: clamp(1.6rem, 1.486rem + 0.47vw, 2.2rem);*/
	}
}
@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/*!------------------------------------------------------------------
[共通項目]
*/
.bdfont {
	font-family: "LINESeedJP_OTF_Bd"!important;
}

.fix_contact_box {
	position: fixed;
	z-index: 1;
	bottom: 10%;
	right: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
	color: #FFF;
	letter-spacing: .2em;
}
.fix_contact__btt a {
	display: block;
	width: 260px;
	height: 50px;
	color: #FFF;
	font-size: 1.3rem;
	line-height: 50px;
	text-align: center;
	background-image: linear-gradient(to right, #103C89 50%, #303030 50%);
	background-position: 0 0;
	background-size: 200% auto;
	transition: .2s;
}
.fix_contact__btt a:hover {
	color: #FFF;
	background-position: -100% 0;
	transition: .2s;
}
.fixed-tel span {
	font-size: clamp(1.6rem, 1.486rem + 0.47vw, 2.2rem);
	letter-spacing: 0; 
}
.fixed-tel {
  transition: color 0.3s, text-shadow 0.3s;
}
.fixed-tel.dark {
  color: #FFF;
}
.fixed-tel.light {
  color: #103C89;
}
@media screen and (max-width: 896px) {
	.fix_contact_box {
		bottom: 0;
		align-items: stretch;
		gap: 0;
		width: 100%;
		letter-spacing: .1em;
	}
	.fix_contact__btt a {
		display: block;
		width: 100%;
		height: 50px;
		line-height: 50px;
		text-align: center;
		background-color: #103C89;
		background-image: none;
	}
	.fixed-tel {
		display: none;
	}
}
.content_main__ttl {
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: clamp(4rem, 3.62rem + 1.56vw, 6rem);
}
.content_main__ttl span.ttl_jp {
	font-size: clamp(1.6rem, 1.524rem + 0.31vw, 2rem);
}
section {
	text-align: justify;
	text-justify: inter-ideograph;
}
section img {
	width: 100%;
	height: auto;
	object-fit: cover;
}
.category__navi {
	margin: 0 auto 120px;
	width: 70%;
}
.category__navi ul {
	display: flex;
	gap: 40px;
	padding-bottom: 5px;
}
.category__navi ul li a {
	position: relative;
	display: block;
	padding-bottom: 15px;
	min-width: 200px;
	font-size: clamp(1.4rem, 1.286rem + 0.47vw, 2rem);
	border-bottom: 2px solid #103C89;
}
.category__navi ul li a::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: -5px;
	width: 0;
	height: 5px;
	background-color: #103C89;
	transition: all 0.4s ease;
}
.category__navi ul li a:hover::before {
	width: 100%;
}
.category__navi ul li.current a::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: -5px;
	width: 100%;
	height: 5px;
	background-color: #103C89;
	transition: all 0.4s ease;
}
@media screen and (max-width: 896px) {
	.category__navi {
		margin-bottom: 40px;
		width: 90%;
	}
	.category__navi ul {
		flex-flow: wrap;
		gap: 20px;
	}
	.category__navi ul li {
		width: calc(100%/2 - 10px);
		text-align: center;
	}
	.category__navi ul li a {
		min-width: auto;
	}
}

/*!------------------------------------------------------------------
[共通アニメーション]
*/
.anim-line {
  display: inline-block;
  position: relative;
  overflow: hidden;
  margin-bottom: 15px;
	width: fit-content;
}
.anim-line::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #103C89;
  transform: translateY(100%);
  z-index: 0;
}
.service_box__lead h4 .anim-line::after {
  background: #FFF;
}
.anim-line.active::after {
  animation: bgSlideIn 0.5s ease forwards;
}
.service_box__lead h4 .anim-line.active::after {
  animation: bgSlideAndFade 1.4s ease forwards;
}
.lead_animate .anim-line.active::after {
	animation: bgSlideAndFade 1.4s ease forwards;
}
.anim-line span {
  display: inline-block;
  position: relative;
  z-index: 1;
	padding: 8px 15px 5px;
  color: #FFF;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.service_box__lead h4 .anim-line span {
	padding: 0;
	line-height: 1.4;
}
.lead_animate .anim-line span {
	padding: 0;
  color: #103C89;
	line-height: 1.4;
}
.anim-line.show-text span {
  opacity: 1;
  transform: translateY(0);
}
@keyframes bgSlideIn {
  0% { transform: translateY(100%); }
  100% { transform: translateY(0); }
}
@keyframes bgSlideAndFade {
  0% {
    transform: translateY(100%);
    opacity: 1;
  }
  50% {
    transform: translateY(0);
    opacity: 1;
  }
  100% {
    transform: translateY(-105%);
  }
}

.title-span {
	color: transparent;
	display: block;
	overflow: hidden;
	position: relative;
	transition: color 0ms 0.5s;
	width: max-content;
	line-height: 1.3;
}
.title-span::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
	left: -1px;
  transform: translateX(-100%);
  width: 100%;
  height: 100%;
  background-color: #103C89;
}
.title-span.active {
  color: #103C89;
}
.title-span.active::after {
  animation: lineAnime 1s;
}
@keyframes lineAnime {
  0% {
    transform: translateX(-100%)
  }
  50% {
    transform: translateX(0)
  }
  100% {
    transform: translateX(100%)
  }
}

.fix_contact_box {
  transition: opacity 0.3s ease;
  opacity: 1;
  pointer-events: auto;
}
.fix_contact_box.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.text__link {
	overflow: hidden;
	display: flex;
	justify-content: flex-end;
}
.text__link .linktext {
  color: transparent;
  text-shadow: 0 -1.5em 0 #103C89, 0 0 0 #103C89;
  transition: text-shadow 0.3s;
}
.text__link .linktext:hover {
  text-shadow: 0 0 0 #103C89, 0 1.5em 0 #103C89;
}
.text__link a {
  position: relative;
  padding-right: 70px;
}
.text__link a .linkarrow {
	overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 45px;
  margin: auto 0;
  line-height: 1;
}
.text__link a .linkarrow:before,
.text__link a .linkarrow:after {
	content: url(../img/arrow_link.svg);
  position: absolute;
  top: 0;
  right: 0;
  animation-fill-mode: forwards;
  animation-duration: 0.2s;
}
.text__link a .linkarrow:after {
  transform: translateX(-100%);
}
.text__link a:hover .linkarrow:before {
  animation-name: transformRightLeft;
  animation-delay: 0s;
}
.text__link a:hover .linkarrow:after {
  animation-name: transformLeftRight;
  animation-delay: 0.4s;
}
@keyframes transformLeftRight {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes transformRightLeft {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }
}

.listback_link {
	overflow: hidden;
	display: flex;
}
.listback_link a {
	position: relative;
  padding-left: 50px;
  color: transparent;
  text-shadow: 0 -1.5em 0 #103C89, 0 0 0 #103C89;
  transition: text-shadow 0.3s;
}
.listback_link a:hover {
  text-shadow: 0 0 0 #103C89, 0 1.5em 0 #103C89;
}
.listback_link a .linkarrow {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 30px;
  height: 1em;
  margin: auto;
  line-height: 1;
}
.listback_link a .linkarrow:before,
.listback_link a .linkarrow:after {
  content: url(../img/arrow_link_l.svg);
  position: absolute;
  top: 0;
  left: 0;
  animation-fill-mode: forwards;
  animation-duration: 0.2s;
  transform: translateX(0);
  opacity: 1;
}
.listback_link a .linkarrow:after {
  transform: translateX(100%);
}
.listback_link a:hover .linkarrow:before {
  animation-name: transformLeftOut;
  animation-delay: 0s;
}
.listback_link a:hover .linkarrow:after {
  animation-name: transformRightIn;
  animation-delay: 0.2s;
}
@keyframes transformLeftOut {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes transformRightIn {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0);
  }
}

.heading-animate div {
  position: relative;
  display: inline-block;
  overflow: hidden;
  margin-top: 10px;
  padding: 10px 0;
  line-height: 1;
  vertical-align: middle;
}
.heading-animate span {
  display: inline-block;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.4s ease, transform 0.4s ease;
  position: relative;
  z-index: 2;
  will-change: transform, opacity;
}
.heading-animate div::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 105%;
  background: #FFF;
  transform: translateY(100%);
  z-index: 1;
  pointer-events: none;
  will-change: transform;
  animation: none;
}
.heading-animate.active div::before {
  width: 100%;
  animation: bgInOut 1s ease forwards;
}
.heading-animate.active span {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.6s;
}
@keyframes bgInOut {
  0%   { transform: translateY(100%); }
  50%  { transform: translateY(0); }
  100% { transform: translateY(-100%); }
}

/*!------------------------------------------------------------------
[ミクロからお知らせ]
*/
.pickup_box_home {
	display: flex;
	align-items: center;
	margin: auto;
	width: 90%;
	line-height: 1.6;
}
.pickup_box_home h3 {
	position: relative;
	padding-right: 150px;
	color: #103C89;
}
.pickup_box_home h3::after {
	content: "";
	position: absolute;
	top: 8px;
	right: 30px;
	display: block;
	width: 100px;
	height: 1px;
	background: #303030;
}
.pickup_box_home ul {
	flex-grow: 1;
}
.pickup_box_home ul li {
	display: flex;
	align-items: center;
	gap: 20px;
}
.pickup_box_home ul li a {
	padding: 0 5px;
	background-image: linear-gradient(to right, #FFF 50%, #103C89 50%);
	background-position: 0 0;
	background-size: 200% auto;
	transition: .2s;
}
.pickup_box_home ul li a:hover {
	color: #FFF;
	background-position: -100% 0;
	transition: .2s;
}
@media screen and (max-width: 699px) {
	.pickup_box_home {
		flex-direction: column;
		align-items: stretch;
	}
	.pickup_box_home h3 {
		position: relative;
		padding-right: 0;
		color: #103C89;
	}
	.pickup_box_home h3::after {
		right: 0;
		width: 180px;
	}
	.pickup_box_home ul {
		flex-grow: 1;
		padding: 20px 0 0;
	}
	.pickup_box_home ul li {
		align-items: flex-start;
	}
	.pickup_box_home ul li a {
		padding: 0 5px;
		background-image: none;
		font-family: "LINESeedJP_OTF_Bd";
	}
	.pickup_box_home ul li a:hover {
		color: #103C89;
	}
}

/*!------------------------------------------------------------------
[私たちの想い]
*/
.mission_box_home {
	padding: 160px 0;
}
.mission_box_home .inner {
	margin: auto;
	width: 90%;
}
.mission_box_home h3 {
	margin-bottom: 60px;
	color: #103C89;
}
.mission_box_home .mission_box__item {
	position: relative;
	display: flex;
}
.mission_box_home .mission_box__item .item_photo {
	width: 55%;
}
.mission_box_home .mission_box__item .item_text {
	position: relative;
	z-index: +1;
	display: flex;
	flex-direction: column;
	margin: 5% 0 0 -10%;
	width: 55%;
}
.mission_box_home .mission_box__item .item_text .item_text__ttl {
	display: flex;
	flex-direction: column;
	font-size: clamp(4rem, 3.62rem + 1.56vw, 6rem);
}
.mission_box_home .mission_box__item .item_text .item_text__text {
	padding: 10% 10% 0 35%;
	box-sizing: border-box;
}
.mission_box_home .mission_box__item .item_text .item_text__text p {
	margin-bottom: 60px;
	line-height: 3;
}
@media screen and (max-width: 896px) {
	.mission_box_home {
		padding: 60px 0;
	}
	.mission_box_home h3 {
		margin-bottom: 40px;
	}
	.mission_box_home .mission_box__item {
		flex-direction: column;
	}
	.mission_box_home .mission_box__item .item_photo {
		width: 100%;
	}
	.mission_box_home .mission_box__item .item_text {
		top: -90px;
		margin: 0 0 -90px;
		width: 100%;
	}
	.mission_box_home .mission_box__item .item_text .item_text__ttl {
		position: relative;
		left: -5.5%;
		font-size: 3.6rem;
	}
	.mission_box_home .mission_box__item .item_text .item_text__text {
		padding: 0 0 0 0;
	}
	.mission_box_home .mission_box__item .item_text .item_text__text p {
		margin-bottom: 40px;
		line-height: 2;
	}
}

.mission_box_chil__ttl {
	padding-top: 100px;
}
.mission_box_chil__ttl h2 {
	margin: 0 auto 50px;
	width: 90%;
}
.mission_box_chil__ttl .mission_box_chil__text {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin: auto;
	width: 90%;
}
.mission_box_chil__ttl .mission_box_chil__text .text__ttl {
	display: flex;
	flex-direction: column;
	width: 50%;
	font-size: clamp(4rem, 3.62rem + 1.56vw, 6rem);
}
.mission_box_chil__ttl .mission_box_chil__text .text__text {
	width: 50%;
	line-height: 1.8;
}
.mission_box_chil__ttl .photo__img {
	background: linear-gradient(180deg, #FFF 0%, #FFF 50%, #103C89 50%, #103C89 100%);
}
.mission_box_chil__ttl .photo__img .inner {
	display: flex;
	gap: 4%;
	margin: auto;
	padding: 100px 0;
	width: 90%;
}
.mission_box_chil__ttl .photo__img p {
	flex: 1;
}
@media screen and (max-width: 896px) {
	.mission_box_chil__ttl {
		padding-top: 60px;
	}
	.mission_box_chil__ttl h2 {
		margin-bottom: 40px;
	}
	.mission_box_chil__ttl .mission_box_chil__text {
		flex-direction: column;
		align-items: flex-start;
	}
	.mission_box_chil__ttl .mission_box_chil__text .text__ttl {
		margin-bottom: 20px;
		width: 100%;
		font-size: 3.6rem;
	}
	.mission_box_chil__ttl .mission_box_chil__text .text__text {
		width: 100%;
	}
	.mission_box_chil__ttl .photo__img .inner {
		gap: 10px;
		padding: 20px 0 40px;
	}
}
.mission_box_chil__contet {
	margin: auto;
	padding: 120px 0 80px;
	width: 90%;
}
.mission_box_chil__contet h3 {
	margin-bottom: 50px;
	font-size: clamp(1.6rem, 1.524rem + 0.31vw, 2rem);
}
.mission_box_chil__contet .inner {
	display: flex;
	flex-direction: column;
}
.mission_box_chil__contet h4 {
	display: flex;
	align-items: center;
	margin-bottom: 60px;
	font-size: clamp(4rem, 3.62rem + 1.56vw, 6rem);
}
.mission_box_chil__contet h4 span {
	display: block;
	width: 8%;
	font-size: clamp(3rem, 2.772rem + 0.94vw, 4.2rem);
}
.mission_box_chil__contet p {
	margin: 0 0 80px 8%;
	width: 60%;
	line-height: 1.8;
}
.mission_box_chil__link {
	margin: auto;
	padding: 20px 0 200px;
	width: 90%;
}
.mission_box_chil__link .text__link {
	justify-content: flex-start;
	gap: 60px;
	margin-left: 8%;
	width: 92%;
}
@media screen and (max-width: 896px) {
	.mission_box_chil__contet {
		padding: 60px 0 0;
	}
	.mission_box_chil__contet h3 {
		margin-bottom: 40px;
	}
	.mission_box_chil__contet .inner {
		display: flex;
		flex-direction: column;
	}
	.mission_box_chil__contet h4 {
		margin-bottom: 20px;
		font-size: 2.5rem
	}
	.mission_box_chil__contet h4 span {
		width: 40px;
		font-size: 1.8rem;
	}
	.mission_box_chil__contet p {
		margin: 0 0 20px 40px;
		width: auto;
	}
	.mission_box_chil__contet img {
		margin-left: 0;
		width: 100%;
		height: 250px;
		object-fit: cover;
	}
	.mission_box_chil__link {
		margin: auto;
		padding: 40px 0 0;
		width: 90%;
	}
	.mission_box_chil__link .text__link {
		justify-content: flex-end;
		padding-bottom: 60px;
		gap: 30px;
	}
	.mission_box_chil__link .text__link a {
		padding-right: 35px;
	}
	.mission_box_chil__link .text__link a .linkarrow {
		width: 25px;
	}
}

.slides {
  position: relative;
  overflow: hidden;
	margin-left: 8%;
	width: 92%;
	min-height: 500px;
}
.slide {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.image-container {
  width: 100%;
  height: 100%;
}
.image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 896px) {
.slides {
	margin-left: 0;
	width: 100%;
	min-height: 200px;
}
}

/*!------------------------------------------------------------------
[事業・設備紹介]
*/
.service_box_home {
	padding: 160px 0;
	color: #FFF;
	background-color: #103C89;
}
.service_box_home .inner {
	margin: auto;
	width: 90%;
}
.service_box_home .title-span::after {
  background-color: #FFF;
}
.service_box_home .title-span.active {
  color: #FFF;
}
.service_box_home h3 {
	margin-bottom: 50px;
}
.service_box_home .service_box__lead {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 60px;
}
.service_box_home .service_box__lead h4 {
	display: flex;
	flex-direction: column;
	font-size: clamp(3.6rem, 3.143rem + 1.87vw, 6rem);
}
.service_box_home .text__link {
	margin-bottom: 20px;
}
.service_box_home .text__link .linktext {
  text-shadow: 0 -1.5em 0 #FFF, 0 0 0 #FFF;
}
.service_box_home .text__link .linktext:hover {
  text-shadow: 0 0 0 #FFF, 0 1.5em 0 #FFF;
}
.service_box_home .text__link a .linkarrow:before,
.service_box_home .text__link a .linkarrow:after {
	content: url(../img/arrow_link_w.svg);
}
.service_box__link {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.service_box__link > div {
	position: relative;
	width: 48%;
  height: 65vh;
}
.service_box__link a {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
  padding: 10%;
	width: 100%;
  height: 100%;
	box-sizing: border-box;
}
.service_box__link h4 {
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: +1;
	color: #FFF;
	font-size: clamp(3rem, 2.81rem + 0.78vw, 4rem);
	line-height: 1.4;
}
.service_box__link h4 span {
	display: block;
	font-size: clamp(1.4rem, 1.286rem + 0.47vw, 2rem);
}
.service_box__link .photolink_01 a::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url(../img/service_photo_01.webp) center center / cover no-repeat;
  transform: scale(1);
  filter: brightness(1);
  transition: transform .6s ease, filter .5s ease;
  z-index: 0;
}
.service_box__link .photolink_02 a::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url(../img/service_photo_02.webp) center center / cover no-repeat;
  transform: scale(1);
  filter: brightness(1);
  transition: transform .6s ease, filter .5s ease;
  z-index: 0;
}
.service_box__link .photolink_01 a:hover::before, .service_box__link .photolink_02 a:hover::before {
  transform: scale(1.1);
	filter: brightness(1.5);
}
@media screen and (max-width: 896px) {
	.service_box_home {
		padding: 60px 0 0;
	}
	.service_box_home h3 {
		margin-bottom: 40px;
	}
	.service_box_home .service_box__lead {
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: 40px;
	}
	.service_box_home .service_box__lead h4 {
		margin-bottom: 40px;
	}
	.service_box_home .text__link {
		margin: 0 0 0 auto;
	}
	.service_box__link {
		flex-direction: column;
		width: 100%;
	}
	.service_box__link > div {
		width: 100%;
		height: 280px;
	}
	.service_box__link h4 span {
		margin-top: 20px;
	}
}

.service_box_chil__ttl {
	padding-top: 100px;
}
.service_box_chil__ttl h2 {
	margin: 0 auto 50px;
	width: 90%;
}
.service_box_chil__ttl .service_box_chil__text {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: auto;
	padding: 120px 0 0;
	width: 90%;
}
.service_box_chil__ttl .service_box_chil__text .text__ttl {
	display: flex;
	flex-direction: column;
	width: 50%;
	font-size: clamp(4rem, 3.62rem + 1.56vw, 6rem);
}
.service_box_chil__ttl .service_box_chil__text .text__text {
	width: 50%;
	line-height: 1.8;
}
.service_box_chil__contet {
	display: flex;
	flex-flow: wrap;
	align-items: flex-end;
	gap: 10%;
	margin: auto;
	padding: 120px 0 0;
	width: 90%;
}
.text__explanation {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding-bottom: 20px;
}
.text__explanation .lead_animate {
	display: flex;
	flex-direction: column;
	margin: 60px 0;
	font-size: clamp(3rem, 2.81rem + 0.78vw, 4rem);
}
.text__explanation .text_item {
	margin-bottom: 60px;
	line-height: 2;
}
.text__explanation .text__link {
	display: flex;
	gap: 60px;
}
.text__explanation .text__link a {
  position: relative;
  padding-right: 50px;
}
.text__explanation .text__link a .linkarrow {
	overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 30px;
  margin: auto 0;
  line-height: 1;
}
.photo__explanation {
	flex: 1;
}
.slider-service {
	margin-top: 120px;
	padding-bottom: 160px;
	width: 100%;
}
.slider-service .slick-slide {
  margin: 0 25px;
}
.service__equipment {
	margin: auto;
	padding: 0 0 160px;
	width: 90%;
}
.service__equipment .service__equipment_ttl {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 30px;
}
.service__equipment .service__equipment_ttl h4 {
	font-size: clamp(1.6rem, 1.524rem + 0.31vw, 2rem);
}
.service__equipment .service__equipment_ttl a {
	position: relative;
	display: block;
	padding-right: 45px;
	line-height: 45px;
	background: url(../img/icon_pdf.svg) center right no-repeat;
	background-size: 30px;
}
.service__equipment .service__equipment_ttl a::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 2px;
	background-color: #103C89;
	transition: all 0.4s ease;
}
.service__equipment .service__equipment_ttl a:hover::before {
	width: 100%;
}
.service__equipment dl {
	display: flex;
	flex-flow: wrap;
}
.service__equipment dl dt {
	padding: 25px 0 0;
	width: 35%;
	border-bottom: 1px solid #979BA3;
}
.service__equipment dl dd {
	display: flex;
	justify-content: flex-end;
	flex-flow: wrap;
	width: 65%;
	border-bottom: 1px solid #979BA3;
}
.service__equipment dl dd div {
	display: flex;
	align-items: center;
	padding: 25px 0;
	width: 100%;
	border-bottom: 1px solid #979BA3;
}
.service__equipment dl dd div:last-child {
	border-bottom: none;
}
.service__equipment dl dd div span:nth-child(1) {
	flex: 1;
}
.service__equipment dl dd div span:nth-child(2) {
	flex: 1;
}
.service__equipment dl dd div span:nth-child(3) {
	width: 10%;
	text-align: center;
}
/*
.more-section {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: opacity 0.6s ease, max-height 0.6s ease;
}
.more-section.show {
  opacity: 1;
  max-height: 1000px;
}
*/
.more-toggle {
  text-align: center;
  margin-top: 40px;
}
.more-toggle button {
  background: transparent;
  border: none;
  cursor: pointer;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
	color: #103C89;
	font-size: 1.6rem;
  transition: opacity 0.3s ease;
}
.more-toggle button:hover {
  opacity: 0.8;
}
.more-toggle .arrow {
  width: 16px;
  height: auto;
  transition: transform 0.1s ease;
}
.more-toggle.open .arrow {
  transform: rotate(180deg);
}
.service__equipment ul {
	display: flex;
	margin-bottom: 100px;
}
.service__equipment ul li {
	display: grid;
  flex: 1 1 0;
	padding: 0 4%;
	line-height: 1.6;
}
.service__equipment ul li+ li {
	border-left: 1px solid #103C89;
}
.service__equipment ul li span {
	font-size: clamp(6rem, 5.62rem + 1.56vw, 8rem);
	line-height: 1;
}
.service__equipment ul li h4 {
	display: flex;
	align-items: center;
	min-height: 120px;
  font-size: clamp(1.8rem, 1.686rem + 0.47vw, 2.4rem);
	line-height: 1.4;
}
.service__equipment ul li p {
	margin: 0;
  line-height: 1.8;
}
.service__equipment .text__link {
	display: flex;
	gap: 60px;
}
@media screen and (max-width: 896px) {
	.service_box_chil__ttl {
		padding-top: 60px;
	}
	.service_box_chil__ttl h2 {
		margin-bottom: 40px;
	}
	.service_box_chil__ttl .photo__img img {
		width: 100%;
		height: 250px;
		object-fit: cover;
	}
	.service_box_chil__ttl .service_box_chil__text {
		flex-direction: column;
		margin: auto;
		padding: 50px 0 0;
	}
	.service_box_chil__ttl .service_box_chil__text .text__ttl {
		display: flex;
		flex-direction: column;
		margin-bottom: 20px;
		width: 100%;
		font-size: 3.6rem;
	}
	.service_box_chil__ttl .service_box_chil__text .text__text {
		width: 100%;
		line-height: 1.8;
	}
	.service_box_chil__contet {
		display: flex;
		flex-flow: wrap;
		align-items: flex-start;
		flex-direction: column-reverse;
		gap: 0;
		margin: auto;
		padding: 60px 0 0;
	}
	.text__explanation {
		flex: initial;
		display: flex;
		flex-direction: column;
		padding: 40px 0;
	}
	.text__explanation .lead_animate {
		margin: 40px 0 0;
		line-height: 1;
	}
	.text__explanation .text_item {
		margin-bottom: 40px;
		line-height: 2;
	}
	.text__explanation .text__link {
		gap: 30px;
	}
	.text__explanation .text__link a {
		padding-right: 35px;
	}
	.text__explanation .text__link a .linkarrow {
		width: 25px;
	}
	.slider-service {
		margin-top: 0;
		padding-bottom: 60px;
	}
	.slider-service .slick-slide {
		margin: 0 5px;
	}
	.service__equipment {
		padding: 0;
	}
	.service__equipment .service__equipment_ttl {
		margin-bottom: 30px;
	}
	.service__equipment .service__equipment_ttl a {
		padding-right: 30px;
		font-size: 1.4rem;
		line-height: 30px;
		background-size: 20px;
	}
	.xscroll {
		width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		white-space: nowrap;
		overflow-scrolling: touch;
		-webkit-overflow-scrolling: touch;
	}
	.service__equipment dl {
		display: flex;
		flex-flow: wrap;
		width: 600px;
	}
	.service__equipment dl dt {
		padding: 15px 0 0;
		width: 30%;
	}
	.service__equipment dl dd {
		width: 70%;
	}
	.service__equipment dl dd div {
		padding: 15px 0;
	}
	.more-toggle {
		margin-top: 20px;
	}
	.more-toggle button {
		font-size: 1.3rem;
	}
	.more-toggle button:hover {
		opacity: 0.8;
	}
	.more-toggle .arrow {
		width: 10px;
	}
	.service__equipment ul {
		display: flex;
		flex-direction: column;
		margin-bottom: 40px;
	}
	.service__equipment ul li {
		display: flex;
		flex-flow: wrap;
		flex: 1;
		margin-bottom: 20px;
		padding: 0 0 0 10px;
		border-left: 1px solid #103C89;
	}
	.service__equipment ul li span {
		width: 60px;
	}
	.service__equipment ul li h4 {
		display: flex;
		align-items: center;
		min-height: 30px;
	}
	.service__equipment ul li h4 br {
		display: none;
	}
	.service__equipment ul li p {
		padding-left: 60px;
		width: 100%;
		box-sizing: border-box;
	}
	.service__equipment .text__link {
		gap: 30px;
	}
	.service__equipment .text__link a {
		padding-right: 35px;
	}
	.service__equipment .text__link a .linkarrow {
		width: 25px;
	}
}

/*!------------------------------------------------------------------
[事例紹介]
*/
.casestudy_box_home {
	padding: 160px 0;
}
.casestudy_box_home .inner {
	display: flex;
	align-items: center;
	margin: 0 auto 80px;
	width: 90%;
}
.casestudy_box_home h3 {
	flex-grow: 1;
	color: #103C89;
}
.casestudy_box__slide .slick-slide {
  margin: 0 15px;
}
.slider-case {
	overflow: hidden;
	margin-bottom: 30px;
	width: 100%;
}
.slider-case .item,
.slider-case_rv .item {
  overflow: hidden;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
.slider-case .item a img,
.slider-case_rv .item a img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.6s ease, filter 0.5s ease;
}
.slider-case .item a:hover img,
.slider-case_rv .item a:hover img {
  transform: scale(1.1);
  filter: brightness(1.5);
}
.casestudy_box__slide .item h4 {
	position: absolute;
	z-index: +1;
	bottom: 20px;
	left: 20px;
	color: #FFF;
	text-shadow: 0px 0px 3px #808080;
}
@media screen and (max-width: 896px) {
	.casestudy_box_home {
		padding: 60px 0 10px;
	}
	.casestudy_box_home .inner {
		flex-direction: column;
		align-items: flex-start;
		margin: 0 auto 50px;
	}
	.casestudy_box_home h3 {
		margin-bottom: 40px;
	}
	.casestudy_box_home .text__link {
		margin-left: auto;
	}
	.casestudy_box__slide .slick-slide {
		margin: 0 5px;
	}
	.slider-case {
		margin-bottom: 10px;
	}
}

.casestudy_box_chil__ttl {
	padding-top: 100px;
}
.casestudy_box_chil__ttl h2 {
	margin: 0 auto 50px;
	width: 90%;
}
.casestudy_box_chil__ttl .category__navi {
	margin: 0 auto 60px;
	width: 90%;
}
.casestudy_box_chil__ttl .tag__navi {
	margin: 0 auto 120px;
	width: 90%;
}
.casestudy_box_chil__ttl .tag__navi ul {
	display: flex;
	flex-flow: wrap;
	gap: 30px;
}
.casestudy_box_chil__ttl .tag__navi ul a {
	padding: 3px 5px 1px 10px;
	letter-spacing: 0.2;
	background-image: linear-gradient(to right, #FFF 50%, #103C89 50%);
	background-position: 0 0;
	background-size: 200% auto;
	transition: .2s;
}
.casestudy_box_chil__ttl .tag__navi ul a:hover {
	color: #FFF;
	background-position: -100% 0;
	transition: .2s;
}
.casestudy_box_chil__contet {
	margin: auto;
	padding: 0 0 160px;
	width: 90%;
}
.casestudy_box_chil__contet ul {
	display: flex;
	flex-flow: wrap;
	gap: 60px;
}
.casestudy_box_chil__contet ul li {
	width: calc(100%/2 - 30px);
}
.casestudy_box_chil__contet ul li a {
	position: relative;
	display: flex;
	flex-direction: column;
	padding-left: 10px;
	box-sizing: border-box;
}
.casestudy_box_chil__contet .casestudy_post {
	position: relative;
	display: flex;
	flex-direction: column;
	padding-left: 20px;
	margin: 0 auto 100px;
	padding-bottom: 100px;
	width: 80%;
	border-bottom: 1px solid #CBCED2;
	box-sizing: border-box;
}
.casestudy_box_chil__contet ul li h4 {
	position: relative;
	top: -17px;
	left: -10px;
	padding-left: 10px;
	color: #FFF;
	width: 160px;
	height: 34px;
	line-height: 34px;
	background-color: #103C89;
}
.casestudy_box_chil__contet .casestudy_post h3 {
	position: relative;
	top: -17px;
	left: -20px;
	padding-left: 10px;
	color: #FFF;
	width: 160px;
	height: 34px;
	line-height: 34px;
	background-color: #103C89;
}
.casestudy_box_chil__contet ul li .casestudy_list__photo {
  overflow: hidden;
}
.casestudy_box_chil__contet ul li a .casestudy_list__photo img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.6s ease, filter 0.5s ease;
}
.casestudy_box_chil__contet ul li a:hover .casestudy_list__photo img {
  transform: scale(1.1);
  filter: brightness(1.5);
}
.casestudy_box_chil__contet .casestudy_post__text {
	position: relative;
	left: -20px;
	display: flex;
	justify-content: space-between;
	padding-top: 20px;
}
.casestudy_box_chil__contet ul li > div, .casestudy_box_chil__contet .taglist__post {
	display: flex;
	justify-content: flex-start;
	flex-flow: wrap;
	gap: 30px;
}
.casestudy_box_chil__contet ul li span a, .casestudy_box_chil__contet .taglist__post a {
	padding: 3px 5px 1px 10px;
	letter-spacing: 0.2;
	background-image: linear-gradient(to right, #FFF 50%, #103C89 50%);
	background-position: 0 0;
	background-size: 200% auto;
	transition: .2s;
}
.casestudy_box_chil__contet ul li span a:hover, .casestudy_box_chil__contet .taglist__post a:hover {
	color: #FFF;
	background-position: -100% 0;
	transition: .2s;
}
.casestudy_post__text .entry__post {
	width: 40%;
	line-height: 1.8;
}
.casestudy_post__text .entry__post h4 {
	margin-bottom: 20px;
  font-size: clamp(1.6rem, 1.486rem + 0.47vw, 2.2rem);
	line-height: 1.4;
	font-family: "LINESeedJP_OTF_Bd";
}
.casestudy_post__text .entry__post h5 {
	margin-bottom: 20px;
  font-size: clamp(1.4rem, 1.324rem + 0.31vw, 1.8rem);
	line-height: 1.4;
	font-family: "LINESeedJP_OTF_Bd";
}
.casestudy_post__text .entry__post img {
	margin-bottom: 60px;
}
.casestudy_post__text .entry__post p {
	margin-bottom: 40px;
	line-height: 1.8;
}
.casestudy_post__text .entry__post blockquote {
	padding: 5% 5% 10px;
	background-color: #EEF3F7;
}
.casestudy_post__text .entry__post strong, .casestudy_post__text .entry__post b {
	font-family: "LINESeedJP_OTF_Bd";
}
.casestudy_post__text .entry__post ul,
.casestudy_post__text .entry__post ol {
	margin: 0 0 40px 20px;
	line-height: 1.8;
}
.casestudy_post__text .entry__post ul {
	list-style: disc;
}
.casestudy_post__text .entry__post ol {
	list-style: decimal;
}
.casestudy_post__text .entry__post li > ul,
.casestudy_post__text .entry__post li > ol {
	margin: 0 0 0 30px;
}
.slick-dotted.slick-slider {
	margin: 0!important;
}
.slide-items {
	position: relative;
}
.slide-items .slick-dots {
	z-index: +1;
	position: absolute;
	right: 30px;
	bottom: 30px;
	display: flex;
	justify-content: flex-end;
	gap: 20px;
}
.slide-items .slick-dots li {
  display: inline-block;
  margin: 0;
	width: 8px;
  height: 8px;
}
.slide-items .slick-dots button {
	display: block;
  padding: 0;
  color: transparent;
  width: 10px;
  height: 10px;
	background-color: #FFF;
	border-radius: 5px;
	outline: none;
  cursor: pointer;
}
.slick-dots .slick-active button {
	background-color: #103C89;
}
.casestudy_box_chil__contet .listback_link {
	margin: auto;
	width: 80%;
}
@media screen and (max-width: 896px) {
	.casestudy_box_chil__ttl {
		padding-top: 60px;
	}
	.casestudy_box_chil__ttl h2 {
		margin-bottom: 40px;
	}
	.casestudy_box_chil__ttl .category__navi {
		margin-bottom: 20px;
	}
	.casestudy_box_chil__ttl .tag__navi {
		margin-bottom: 80px;
	}
	.casestudy_box_chil__ttl .tag__navi ul {
		gap: 20px;
	}
	.casestudy_box_chil__contet {
		padding: 0 0 60px;
	}
	.casestudy_box_chil__contet ul {
		gap: 40px;
	}
	.casestudy_box_chil__contet ul li {
		width: 100%;
	}
	.casestudy_box_chil__contet ul li > div, .casestudy_box_chil__contet .taglist__post {
		gap: 20px;
		padding: 0;
	}	
	.casestudy_box_chil__contet .casestudy_post {
		padding-left: 0;
		margin-bottom: 30px;
		padding-bottom: 30px;
		width: 100%;
	}
	.casestudy_box_chil__contet .casestudy_post__text {
		left: 0;
		flex-direction: column;
		padding-top: 0;
	}
	.casestudy_post__text .entry__post {
		padding: 30px 10px 0;
		width: 100%;
		box-sizing: border-box;
	}
	.slide-items .slick-dots {
		right: 20px;
		bottom: 20px;
	}
	.casestudy_box_chil__contet .listback_link {
		width: 100%;
	}
}

/*!------------------------------------------------------------------
[会社紹介]
*/
.company_box_home {
	padding: 160px 0;
	background-color: #232323;
}
.company_box_home .inner {
	margin: auto;
	width: 90%;
}
.company_box_home h3 {
	margin-bottom: 60px;
	color: #FFF;
}
.company_box_home .title-span::after {
  background-color: #FFF;
}
.company_box_home .title-span.active {
  color: #FFF;
}
.company_box__link {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.company_box__link > div {
	position: relative;
	width: calc(100%/3);
  height: 50vh;
}
.company_box__link a {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
  padding: 10%;
	width: 100%;
  height: 100%;
	box-sizing: border-box;
	transition: all .6s;
}
.company_box__link h4 {
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: +1;
	color: #FFF;
	font-size: clamp(3rem, 2.81rem + 0.78vw, 4rem);
	line-height: 1.4;
}
.company_box__link h4 span {
	display: block;
	font-size: clamp(1.4rem, 1.286rem + 0.47vw, 2rem);
}
.company_box__link .photolink_01 a::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url(../img/company_photo_01.webp) center center / cover no-repeat;
  transform: scale(1);
  filter: brightness(1);
  transition: transform .6s ease, filter .5s ease;
  z-index: 0;
}
.company_box__link .photolink_02 a::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url(../img/company_photo_02.webp) center center / cover no-repeat;
  transform: scale(1);
  filter: brightness(1);
  transition: transform .6s ease, filter .5s ease;
  z-index: 0;
}
.company_box__link .photolink_03 a::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("../img/company_photo_03.webp") center center / cover no-repeat;
  transform: scale(1);
  filter: brightness(1);
  transition: transform .6s ease, filter .5s ease;
  z-index: 0;
}
.company_box__link .photolink_01 a:hover::before, .company_box__link .photolink_02 a:hover::before, .company_box__link .photolink_03 a:hover::before {
  transform: scale(1.1);
	filter: brightness(1.5);
}
.company_box__link a:hover {
	margin-top: -20px;
}
@media screen and (max-width: 896px) {
	.company_box_home {
		padding: 60px 0;
	}
	.company_box_home h3 {
		margin-bottom: 40px;
	}
	.company_box__link {
		flex-direction: column;
		gap: 10px;
	}
	.company_box__link > div {
		width: 100%;
		height: 250px;
	}
}

.company_box_chil__ttl {
	padding-top: 100px;
}
.company_box_chil__ttl h2 {
	margin: 0 auto 50px;
	width: 90%;
}
.company_box_chil__contet {
	padding: 160px 0 0;
}
.company_box_chil__contet .content_main__ttl {
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: clamp(4rem, 3.81rem + 0.78vw, 5rem);
}
.company_box_chil__contet .content_main__ttl span.ttl_jp {
	font-size: clamp(1.4rem, 1.324rem + 0.31vw, 1.8rem);
}
.company_box_chil__contet .inner {
	margin: auto;
	width: 90%;
}
.company_box_chil__contet  h3 {
	margin-bottom: 80px;
}
.company_box_chil__contet .message_box {
	display: flex;
	gap: 10%;
	margin-left: 5%;
	width: 95%;
}
.company_box_chil__contet .message_box .item__text {
	flex: 1;
}
.company_box_chil__contet .message_box .item__text p {
	line-height: 1.8
}
.company_box_chil__contet .message_box .item__text p b {
	display: block;
	margin-top: 40px;
	text-align: right;
}
.company_box_chil__contet .message_box .item__photo {
	position: relative;
	padding: 0 5% 5% 0;
	width: 45%;
}
.company_box_chil__contet .message_box .item__photo::before {
	content: '';
  position: absolute;
  top: auto;
	right: 0;
	bottom: 0;
  width: 70%;
  height: 80%;
  background-color: #103C89;
}
.company_box_chil__contet .message_box .item__photo img {
  position: relative;
	z-index: +1;
}
.company_box_chil__contet ul.management_text {
	display: flex;
	flex-direction: column;
	gap: 80px;
	font-size: clamp(3rem, 2.81rem + 0.78vw, 4rem);
}
.company_box_chil__contet dl {
	display: flex;
	justify-content: space-between;
	flex-flow: wrap;
}
.company_box_chil__contet dl dt {
	padding: 25px 0;
	width: 20%;
	border-bottom: 1px solid #979BA3;
}
.company_box_chil__contet dl dd {
	padding: 25px 0;
	width: 80%;
	line-height: 1.6;
	border-bottom: 1px solid #979BA3;
}
.company_box_chil__contet .access_box {
	display: flex;
	gap: 50px;
}
.company_box_chil__contet .access_box__item {
	display: flex;
	flex-direction: column;
	gap: 30px;
	flex: 1;
}
.company_box_chil__contet .access_box__item h5 {
	font-size: clamp(1.8rem, 1.686rem + 0.47vw, 2.4rem);
}
.company_box_chil__contet .access_box__item p {
	line-height: 1.8;
}
.company_box_chil__contet .access_box__item iframe {
	width: 100%;
	height: 280px;
}
.company_box_chil__contet .contribution_box p {
	margin-right: auto;
	margin-bottom: 40px;
	width: 60%;
	line-height: 1.8;
}
.company_box_chil__contet ul.contribution_box__photo {
	display: flex;
	justify-content: space-between;
	flex-flow: wrap;
	gap: 50px;
	margin-bottom: 200px;
}
.company_box_chil__contet ul.contribution_box__photo li {
	flex: 1 1 calc((100% - 100px) / 3);
	transition: .5s ease;
  box-sizing: border-box;
}
.company_box_chil__contet ul.contribution_box__photo li:hover {
	filter: brightness(1.5);
}
@media screen and (max-width: 896px) {
	.company_box_chil__ttl {
		padding-top: 60px;
	}
	.company_box_chil__ttl h2 {
		margin-bottom: 40px;
	}
	.company_box_chil__ttl .photo__img img {
		width: 100%;
		height: 250px;
		object-fit: cover;
	}
	.company_box_chil__contet {
		padding: 80px 0 0;
	}
	.company_box_chil__contet .content_main__ttl {
		font-size: 2.8rem;
		letter-spacing: 0;
	}
	.company_box_chil__contet .content_main__ttl span.ttl_jp {
		font-size: 1.2rem;
	}
	.company_box_chil__contet .inner {
		margin: auto;
		width: 90%;
	}
	.company_box_chil__contet  h3 {
		margin-bottom: 30px;
	}
	.company_box_chil__contet .message_box {
		flex-direction: column;
		align-items: flex-end;
		gap: 20px;
	}
	.company_box_chil__contet .message_box .item__text {
		margin-right: 5%;
	}
	.company_box_chil__contet .message_box .item__text p b {
		margin-top: 20px;
	}
	.company_box_chil__contet .message_box .item__photo {
		width: 95%;
	}
	.company_box_chil__contet ul.management_text {
		gap: 30px;
		font-size: 1.8rem
	}
	.company_box_chil__contet dl dt {
		padding: 20px 0;
	}
	.company_box_chil__contet dl dd {
		padding: 20px 0;
	}
	.company_box_chil__contet .access_box {
		flex-direction: column;
		gap: 50px;
	}
	.company_box_chil__contet .access_box__item {
		gap: 20px;
	}
	.company_box_chil__contet .access_box__item iframe {
		height: 200px;
	}
	.company_box_chil__contet .contribution_box p {
		margin-bottom: 20px;
		width: 100%;
	}
	.company_box_chil__contet ul.contribution_box__photo {
		gap: 20px;
		margin-bottom: 80px;
	}
	.company_box_chil__contet ul.contribution_box__photo li {
		flex: 1 1 calc((100% - 100px) / 2);
	}
}

/*!------------------------------------------------------------------
[お知らせ]
*/
.news_box_home {
	padding: 160px 0;
}
.news_box_home .inner {
	display: flex;
	align-items: center;
	margin: auto;
	width: 90%;
}
.news_box_home h3 {
	flex-grow: 1;
	margin-bottom: 20px;
	color: #103C89;
}
.newspost_list {
	margin-left: auto;
	margin-right: 5%;
	width: 80%;
}
.newspost_list li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 60px;
	padding: 50px;
	border-bottom: 1px solid #CBCED2;
}
.newspost_list li:last-child {
	border-bottom: none;
}
.newspost_list li h5 {
	padding: 5px 20px 3px;
	border: 1px solid #103C89;
	border-radius: 100vh;
}
.newspost_list li h4 {
	flex-grow: 1;
	position: relative;
}
.newspost_list li h4 b {
	padding: 0 5px;
	background-image: linear-gradient(to right, #FFF 50%, #103C89 50%);
	background-position: 0 0;
	background-size: 200% auto;
	transition: .2s;
}
.newspost_list li h4 b:hover {
	color: #FFF;
	background-position: -100% 0;
	transition: .2s;
}
.newspost_list li a {
  position: relative;
	display: block;
}
.newspost_list li a .linkarrow {
	overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 25px;
  line-height: 1;
}
.newspost_list li a .linkarrow:before,
.newspost_list li a .linkarrow:after {
	content: url(../img/arrow_link.svg);
  position: absolute;
  top: 0;
  right: 0;
  animation-fill-mode: forwards;
  animation-duration: 0.2s;
}
.newspost_list li a .linkarrow:after {
  transform: translateX(-100%);
}
.newspost_list li a:hover .linkarrow:before {
  animation-name: transformRightLeft;
  animation-delay: 0s;
}
.newspost_list li a:hover .linkarrow:after {
  animation-name: transformLeftRight;
  animation-delay: 0.4s;
}
@media screen and (max-width: 896px) {
	.news_box_home {
		padding: 60px 0 40px;
	}
	.news_box_home .inner {
		align-items: flex-start;
		flex-direction: column;
		margin-bottom: 40px;
	}
	.news_box_home h3 {
		margin-bottom: 40px;
	}
	.news_box_home .text__link {
		margin-left: auto;
	}
	.newspost_list {
		margin: auto;
		width: 90%;
	}
	.newspost_list li {
		justify-content: flex-start;
		flex-flow: wrap;
		gap: 20px;
		padding: 25px 0;
	}
	.newspost_list li:last-child {
		border-bottom: none;
	}
	.newspost_list li h5 {
		flex: initial;
	}
	.newspost_list li h4 {
		flex-grow: 1;
		position: relative;
		width: 100%;
		box-sizing: border-box;
	}
	.newspost_list li h4 b {
		display: block;
		padding: 0 35px 0 0;
		line-height: 1.6;
		background-image: none;
	}
	.newspost_list li h4 b:hover {
		color: #103C89;
	}
	.newspost_list li a .linkarrow {
		top: 50%;
		transform: translateY(-50%);
	}
}

.news_box_chil__ttl {
	padding-top: 100px;
}
.news_box_chil__ttl h2 {
	margin: 0 auto 50px;
	width: 90%;
}
.news_box_chil__contet .newspost_list {
	margin: auto;
	padding: 0 0 160px;
	width: 70%;
}
.news_box_chil__post {
	margin: auto;
	padding: 60px 0 160px;
	width: 70%;
}
.news_box_chil__post h3 {
	margin-bottom: 30px;
  font-size: clamp(1.8rem, 1.686rem + 0.47vw, 2.4rem);
	line-height: 1.4;
}
.news_box_chil__post h4 {
	margin-bottom: 20px;
  font-size: clamp(1.6rem, 1.486rem + 0.47vw, 2.2rem);
	line-height: 1.4;
	font-family: "LINESeedJP_OTF_Bd";
}
.news_box_chil__post h5 {
	margin-bottom: 20px;
  font-size: clamp(1.4rem, 1.324rem + 0.31vw, 1.8rem);
	line-height: 1.4;
	font-family: "LINESeedJP_OTF_Bd";
}
.news_box_chil__post .post_tag__name {
	display: flex;
	align-items: center;
	gap: 30px;
	margin-bottom: 40px;
}
.news_box_chil__post .post_tag__name .time {
	padding: 5px 20px 3px;
	border: 1px solid #103C89;
	border-radius: 100vh;
}
.news_box_chil__post img {
	margin-bottom: 60px;
}
.news_box_chil__post p {
	margin-bottom: 40px;
	line-height: 1.8;
}
.news_box_chil__post blockquote {
	padding: 5% 5% 10px;
	background-color: #EEF3F7;
}
.news_box_chil__post strong, .news_box_chil__post b {
	font-family: "LINESeedJP_OTF_Bd";
}
.news_box_chil__post ul,
.news_box_chil__post ol {
	margin: 0 0 40px 20px;
	line-height: 1.8;
}
.news_box_chil__post ul {
	list-style: disc;
}
.news_box_chil__post ol {
	list-style: decimal;
}
.news_box_chil__post li > ul,
.news_box_chil__post li > ol {
	margin: 0 0 0 30px;
}
.news_box_chil__post .entry__post {
	margin-bottom: 120px;
}
@media screen and (max-width: 896px) {
	.news_box_chil__ttl {
		padding-top: 60px;
	}
	.news_box_chil__ttl h2 {
		margin-bottom: 40px;
	}
	.news_box_chil__contet .newspost_list {
		margin: auto;
		padding: 0 0 80px;
		width: 90%;
	}
	.news_box_chil__post {
		margin: auto;
		padding: 20px 0 80px;
		width: 90%;
	}
	.news_box_chil__post h3 {
		margin-bottom: 20px;
	}
	.news_box_chil__post h4 {
		margin-bottom: 10px;
	}
	.news_box_chil__post h5 {
		margin-bottom: 10px;
	}
	.news_box_chil__post .post_tag__name {
		gap: 20px;
		margin-bottom: 30px;
	}
	.news_box_chil__post img {
		margin-bottom: 30px;
	}
	.news_box_chil__post p {
		margin-bottom: 30px;
	}
	.news_box_chil__post blockquote {
		padding: 5%;
	}
	.news_box_chil__post ul,
	.news_box_chil__post ol {
		margin: 0 0 30px 20px;
	}
	.news_box_chil__post .entry__post {
		margin-bottom: 40px;
	}
}

/*!------------------------------------------------------------------
[リクルート]
*/
.recruit_box_home {
	padding: 160px 0;
	background-color: #EEF3F7;
}
.recruit_box_home .inner {
	position: relative;
	margin: auto;
  width: 80%;
	min-height: 500px;
}
.recruit_box_home a {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
  padding: 5%;
	width: 100%;
  min-height: 500px;
	box-sizing: border-box;
}
.recruit_box_home a::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url(../img/recruit_photo_01.webp) center center / cover no-repeat;
  transform: scale(1);
  filter: brightness(1);
  transition: transform .6s ease, filter .5s ease;
  z-index: 0;
}
.recruit_box_home a:hover::before {
  transform: scale(1.1);
	filter: brightness(1.5);
}
.recruit_box_home .recruit_box__ttl {
	position: absolute;
	bottom: -10%;
	right: -10%;
	z-index: +1;
	display: flex;
	flex-direction: column;
	font-size: clamp(4rem, 3.62rem + 1.56vw, 6rem);
}
.recruit_box_home .title-span::after {
  background-color: #EEF3F7;
}
.recruit_box_home .title-span.active {
  color: #FFF;
}
@media screen and (max-width: 896px) {
	.recruit_box_home {
		padding: 0;
	}
	.recruit_box_home .inner {
		width: 100%;
		min-height: 600px;
	}
	.recruit_box_home a {
		display: flex;
		align-items: stretch;
		padding: 30px 5%;
		width: 100%;
		min-height: 600px;
	}
	.recruit_box_home .recruit_box__ttl {
		bottom: 30px;
		left: 5%;
		right: 0;
		font-size: 3.6rem;
	}
	.recruit_box_home .title-span::after {
		background-color: #EEF3F7;
	}
	.recruit_box_home .title-span.active {
		color: #FFF;
	}
}

.recruit_box_chil__ttl {
	position: relative;
}
.recruit_box_chil__ttl .ttl_photo {
	position: relative;
	z-index: 0;
	display: flex;
}
.recruit_box_chil__ttl .ttl_photo div {
	flex: 1;
}
.recruit_box_chil__ttl h2 {
	overflow: hidden;
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: center;
	top: -100px;
	margin-bottom: 60px;
}
.recruit_box_chil__ttl h2 span {
	position: relative;
	font-size: 15vw;
	white-space: nowrap;
	color: transparent;
  -webkit-text-stroke: 1px #0F2D61;
  text-stroke: 1px #0F2D61;
}
.scroll-wrapper {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  width: 100%;
}
.scroll-track {
  display: inline-block;
  white-space: nowrap;
  animation: scrollLoop 180s linear infinite;
  will-change: transform;
}
@keyframes scrollLoop {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); } /* or -100% if you're sure text spans that length */
}


.recruit_box_chil__ttl .recruit_lead_box {
	display: flex;
	justify-content: space-between;
	margin: auto;
	width: 90%;
}
.recruit_box_chil__ttl .text_item {
	width: 50%;
}
.recruit_box_chil__ttl .text_item .text_item__ttl {
	display: flex;
	flex-direction: column;
	margin-bottom: 80px;
	font-size: clamp(4rem, 3.62rem + 1.56vw, 6rem);
}
.recruit_box_chil__ttl .text_item .text_item__text {
	line-height: 1.8;
}
.recruit_box_chil__ttl .recruit_lead_box .lead_animate {
	position: relative;
	width: 40%;
}
.recruit_box_chil__ttl .recruit_lead_box .lead_animate p:first-child {
	margin-left: 15%;
	width: 85%;
}
.recruit_box_chil__ttl .recruit_lead_box .lead_animate p:last-child {
	position: relative;
	top: -100px;
	margin-bottom: -100px;
	width: 45%;
}
@media screen and (max-width: 896px) {
	.recruit_box_chil__ttl {
	}
	.recruit_box_chil__ttl .ttl_photo {
	}
	.recruit_box_chil__ttl .ttl_photo div {
		flex: 1;
	}
	.recruit_box_chil__ttl h2 {
		top: -30px;
		margin-bottom: 10px;
	}
	.recruit_box_chil__ttl .recruit_lead_box {
		flex-direction: column;
	}
	.recruit_box_chil__ttl .text_item {
		width: 100%;
	}
	.recruit_box_chil__ttl .text_item .text_item__ttl {
		margin-bottom: 20px;
		font-size: 3.6rem;
	}
	.recruit_box_chil__ttl .text_item .text_item__text {
		margin-bottom: 30px;
	}
	.recruit_box_chil__ttl .recruit_lead_box .lead_animate {
		width: 100%;
	}
}

.recruit_box_chil__content {
	padding: 160px 0 0;
}
.recruit_box_chil__content .content_main__ttl {
	margin: 0 auto 80px;
	width: 90%;
}
@media screen and (max-width: 896px) {
	.recruit_box_chil__content {
		padding: 80px 0 0;
	}
	.recruit_box_chil__content .content_main__ttl {
		margin-bottom: 40px;
	}
}

.recruit__content__item {
	margin-bottom: 120px;
}
.recruit__content__item .staff_photo {
	position: relative;
}
.recruit__content__item .staff_photo h4 {
	position: absolute;
	z-index: 1;
	left: 5%;
	top: 50%;
	transform: translateY(-50%);
	color: #FFF;
	font-size: clamp(3.2rem, 2.896rem + 1.25vw, 4.8rem);
	line-height: 1.6;
}
.recruit__content__item .staff_photo img {
	position: relative;
	z-index: 0;
}
.recruit__content__item .staff_name {
	display: flex;
	margin: auto;
	padding: 45px 0;
	width: 90%;
}
.recruit__content__item .staff_name h5 {
	font-size: clamp(1.4rem, 1.279rem + 0.5vw, 1.8rem);
}
.recruit__content__item .staff_name span {
	margin-left: 20px;
	padding-left: 20px;
	border-left: 1px solid #0F2D61;
}
.recruit__content__item .staff_interview {
	display: flex;
	align-items: center;
	gap: 5%;
	margin: 0 auto 60px;
	width: 90%;
}
.recruit__content__item .staff_interview.second {
	flex-flow: row-reverse;
}
.recruit__content__item .staff_interview .staff_interview__photo {
	width: 55%;
}
.recruit__content__item .staff_interview .staff_interview__text {
	flex: 1;
	line-height: 1.8;
}
.recruit__content__item .staff_interview .staff_interview__text h5 {
	margin-bottom: 40px;
	font-size: clamp(2.4rem, 2.248rem + 0.62vw, 3.2rem);
}
.recruit__content__item .staff_message {
	display: flex;
	align-items: stretch;
	margin: auto;
	width: 80%;
	border: 1px solid #103C89;
}
.recruit__content__item .staff_message h5 {
	display: flex;
	align-items: center;
	padding: 0 1.5em;
	color: #FFF;
	line-height: 40px;
	font-size: clamp(1.6rem, 1.524rem + 0.31vw, 2rem);
	background-color: #103C89;
}
.recruit__content__item .staff_message p {
	display: flex;
	align-items: center;
	padding: 0 1em;
	line-height: 1.8;
}
@media screen and (max-width: 896px) {
	.recruit__content__item {
		margin-bottom: 80px;
	}
	.recruit__content__item .staff_photo h4 {
		top: auto;
		bottom: 10%;
		transform: translateY(0%);
		font-size: 2.4rem;
	}
	.recruit__content__item .staff_photo img {
		width: 100%;
		height: 250px;
		object-fit: cover;
	}
	.recruit__content__item .staff_name {
		flex-direction: column;
		padding: 30px 0 40px;
	}
	.recruit__content__item .staff_name h5 {
		font-size: 1.6rem;
	}
	.recruit__content__item .staff_name span {
		margin: 15px 0 0;
		padding: 15px 0 0;
		border-left: none;
		border-top: 1px solid #0F2D61;
	}
	.recruit__content__item .staff_interview {
		flex-direction: column-reverse;
		gap: 30px;
		margin-bottom: 40px;
	}
	.recruit__content__item .staff_interview.second {
		flex-flow: wrap-reverse;
	}
	.recruit__content__item .staff_interview .staff_interview__photo {
		margin-bottom: 0;
		width: 100%;
	}
	.recruit__content__item .staff_interview .staff_interview__text h5 {
		margin-bottom: 10px;
	}
	.recruit__content__item .staff_message {
		flex-direction: column;
		width: 90%;
		border: 1px solid #103C89;
	}
	.recruit__content__item .staff_message h5 {
		justify-content: center;
		text-align: center;
	}
	.recruit__content__item .staff_message p {
		padding: 15px;
	}
}

.recruit_box_chil__requirements {
	padding-bottom: 200px;
}
.recruit_box_chil__requirements .lead_animate {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 80px;
	font-size: clamp(4rem, 3.81rem + 0.78vw, 5rem);
}
.recruit_box_chil__requirements .lead_animate .ttl_jp {
	display: block;
	padding: 3px 5px;
	font-size: clamp(1.4rem, 1.324rem + 0.31vw, 1.8rem);
	line-height: 1;
}
@media screen and (max-width: 896px) {
	.recruit_box_chil__requirements {
		padding-bottom: 80px;
	}
	.recruit_box_chil__requirements .lead_animate {
		gap: 0;
		margin-bottom: 20px;
		font-size: 3.2rem;
		letter-spacing: 0;
	}
}
.accordion-buttons {
  display: flex;
	justify-content: center;
	gap: 80px;
	margin: 0 auto 60px;
	width: 80%;
}
.accordion-title {
  all: unset;
  cursor: pointer;
	flex: 1;
	color: #FFF;
	height: 80px;
	line-height: 80px;
	font-size: clamp(2rem, 1.848rem + 0.62vw, 2.8rem);
	text-align: center;
  background-image: linear-gradient(to right, #103C89 50%, #303030 50%);
	background-position: 0 0;
	background-size: 200% auto;
	transform: translateX(0);
  border: none;
	transition: .2s;
}
.accordion-title.mid {
	background-image: linear-gradient(to right, #0F2D61 50%, #303030 50%);
}
.accordion-title:hover {
	background-position: -100% 0;
	transition: .2s;
}
.accordion-title.active {
  background: #303030;
}
.accordion-content {
  display: none;
  opacity: 0;
  overflow: hidden;
  transform: translateY(-10px);
  transition: height 0.4s ease, opacity 0.4s ease, transform 0.4s ease;
	margin: auto;
	padding: 100px;
	width: 80%;
	height: 0;
	background-color: #EEF3F7;
	box-sizing: border-box;
}
.accordion-content.showing {
  opacity: 1;
  transform: translateY(0);
}
.accordion-content.hiding {
  opacity: 0;
  transform: translateY(-10px);
}
.accordion-close-x {
	cursor: pointer;
  position: absolute;
  top: 30px;
  right: 30px;
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	width: 50px;
	height: 50px;
	color: #103C89;
  border: none;
  background: none;
  transition: transform 0.4s ease;
}
.accordion-close-x span {
	width: 50px;
	height: 1px;
	background-color: #103C89;
	transition: transform 0.4s ease, opacity 0.3s ease;
}
.accordion-close-x span:nth-child(1) {
	transform: translateY(1px) rotate(-315deg);
}
.accordion-close-x span:nth-child(2) {
	transform: translateY(-1px) rotate(315deg);
}
.accordion-close-x:hover span:nth-child(1) {
	transform: translateY(0px) rotate(90deg);
}
.accordion-close-x:hover span:nth-child(2) {
	position: relative;
	left: 7px;
	width: 20px;
	transform: translateY(-20px) rotate(-135deg);
}
.accordion-close-text {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: column;
  gap: 10px;
  margin: auto;
  background: none;
  border: none;
}
.accordion-close-text img {
  display: block;
  width: auto;
  height: 30px;
  transform: rotate(180deg);
  transition: transform 0.4s ease;
}
.accordion-close-text:hover img {
  transform: translateY(-10px) rotate(180deg);
}
@media screen and (max-width: 896px) {
	.accordion-buttons {
		gap: 20px;
		margin-bottom: 40px;
		width: 90%;
	}
	.accordion-title {
		height: 60px;
		line-height: 60px;
	}
	.accordion-content {
		padding: 80px 30px 60px;
		width: 100%;
		height: 0;
	}
}

.essential_point h5 {
	margin-bottom: 40px;
	font-size: clamp(1.8rem, 1.686rem + 0.47vw, 2.4rem);
}
.essential_point h6 {
	margin-bottom: 60px;
	font-size: clamp(2.2rem, 2.048rem + 0.62vw, 3rem);
}
.essential_point dl {
	display: flex;
	align-items: stretch;
	flex-flow: wrap;
	margin-bottom: 120px;
	text-align: left;
	font-size: clamp(1.4rem, 1.324rem + 0.31vw, 1.8rem);
}
.essential_point dl dt {
	display: flex;
	align-items: center;
	padding: 25px 0;
	width: 20%;
	border-bottom: 1px solid #979BA3;
}
.essential_point dl dd {
	display: flex;
	align-items: center;
	padding: 25px 0;
	width: 80%;
	line-height: 1.6;
	border-bottom: 1px solid #979BA3;
}
.essential_point .calculate_person {
	padding-bottom: 60px;
}
.essential_point ul {
	padding-bottom: 80px;
}
.essential_point ul li {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 40px;
	padding: 25px;
	font-size: clamp(1.4rem, 1.324rem + 0.31vw, 1.8rem);
	background-color: #FFF;
	box-sizing: border-box;
}
.essential_point ul li:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #FFF;
}
.essential_point ul li:last-child::before {
  border-top: none;
}
@media screen and (max-width: 896px) {
	.essential_point h5 {
		margin-bottom: 30px;
	}
	.essential_point h6 {
		margin-bottom: 30px;
		font-size: 1.8rem;
	}
	.essential_point dl {
		margin-bottom: 60px;
	}
	.essential_point dl dt {
		padding: 20px 0;
		width: 32%;
	}
	.essential_point dl dd {
		display: flex;
		align-items: center;
		padding: 20px 0;
		width: 68%;
		border-bottom: 1px solid #979BA3;
	}
	.essential_point .calculate_person {
		padding-bottom: 30px;
	}
	.essential_point ul {
		padding-bottom: 0;
	}
	.essential_point ul li {
		margin-bottom: 30px;
		padding: 20px;
	}
}

.requirements_apply {
	display: block;
	margin: 80px auto 0;
	width: 80%;
	font-size: clamp(2rem, 1.848rem + 0.62vw, 2.8rem);
	text-align: center;
}
.requirements_apply a {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	width: 100%;
	height: 80px;
	background-image: linear-gradient(to right, #FFF 50%, #103C89 50%);
	background-position: 0 0;
	background-size: 200% auto;
	border: 2px solid #103C89;
	transform: translateX(0);
	box-sizing: border-box;
	transition: .2s;
}
.requirements_apply a:hover {
	color: #FFF;
	background-position: -100% 0;
	border: 2px solid #103C89;
	transition: .2s;
}
.requirements_apply a img {
	width: 20px;
	height: 20px;
}
@media screen and (max-width: 896px) {
	.requirements_apply {
		margin-top: 40px;
		width: 90%;
	}
	.requirements_apply a {
		height: 60px;
	}
	.requirements_apply a img {
		width: 15px;
		height: 15px;
	}
}

/*!------------------------------------------------------------------
[お問い合わせ]
*/
.company_box_chil__text {
	margin: auto;
	padding-bottom: 120px;
  width: 90%;
	line-height: 1.8;
}
.contact_box_chil__contet {
	margin: auto;
	padding-bottom: 160px;
  width: 90%;
}
.contact_box_chil__contact_phone {
	display: flex;
	justify-content: center;
	gap: 15%;
	margin-top: 60px;
	padding: 5%;
	background-color: #EEF3F7;
}
.contact_box_chil__contact_phone p {
	margin-bottom: 20px;
	font-size: clamp(2.8rem, 2.648rem + 0.62vw, 3.6rem);
}
.contact_box_chil__contact_form {
	padding-top: 80px;
}
.contact_box_chil__contact_form aside {
	margin-bottom: 60px;
}
.contact_box_chil__contact_form dl {
	display: flex;
	align-items: center;
	flex-flow: wrap;
	margin-bottom: 60px;
	text-align: left;
}
.contact_box_chil__contact_form dl dt {
	position: relative;
	display: flex;
	width: 20%;
	font-family: "LINESeedJP_OTF_Bd";
}
.contact_box_chil__contact_form dl dt.required::after {
	content: "*";
	margin-left: 5px;
}
.contact_box_chil__contact_form dl dd {
	width: 80%;
}
@media screen and (max-width: 896px) {
	.company_box_chil__text {
		padding-bottom: 60px;
	}
	.contact_box_chil__contet {
		padding-bottom: 60px;
	}
	.contact_box_chil__contet h3 {
		font-size: 3rem;
	}
	.contact_box_chil__contact_phone {
		flex-direction: column;
		align-items: center;
		gap: 40px;
		margin-top: 30px;
		padding: 40px 20px;
		text-align: center;
		box-sizing: border-box;
	}
	.contact_box_chil__contact_phone p {
		margin-bottom: 10px;
		font-size: 2.4rem;
	}
	.contact_box_chil__contact_form {
		padding-top: 30px;
	}
	.contact_box_chil__contact_form aside {
		margin-bottom: 40px;
		line-height: 1.6;
	}
	.contact_box_chil__contact_form dl {
		flex-direction: column;
		align-items: flex-start;
		text-align: left;
		margin-bottom: 20px;
	}
	.contact_box_chil__contact_form dl dt {
		padding-bottom: 0;
		width: 100%;
	}
	.contact_box_chil__contact_form dl dd {
		margin-bottom: 20px;
		padding-bottom: 0;
		width: 100%;
	}
	.contact_box_chil__contact_form dl dd:last-child {
		padding-bottom: 10px;
	}
}

::placeholder {
  color: #c7c7c7;
	font-size: 12px;
	line-height: 1.6;
}
.wpcf7-form-control {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.contact_box_chil__contact_form .wpcf7-list-item {
	margin: 0!important;
}
.contact_box_chil__contact_form .wpcf7-list-item label {
	display: flex;
	justify-content: center;
	align-items: center;
}
.contact_box_chil__contact_form input, .contact_box_chil__contact_form select, .contact_box_chil__contact_form textarea {
	border: none;
}
.contact_box_chil__contact_form input[type="text"] {
	padding: 25px 25px 25px 0;
	width: 100%;
	font-size: clamp(1.4rem, 1.279rem + 0.5vw, 1.8rem);
	box-shadow: none;
	border-bottom: 1px solid #A6A6A6;
	background-color: #FFF;
	box-sizing: border-box;
}
.contact_box_chil__contact_form input[type="email"] {
	padding: 25px 25px 25px 0;
	width: 100%;
	font-size: clamp(1.4rem, 1.279rem + 0.5vw, 1.8rem);
	box-shadow: none;
	border-bottom: 1px solid #A6A6A6;
	background-color: #FFF;
	box-sizing: border-box;
}
.contact_box_chil__contact_form select {
	padding: 25px 25px 25px 0;
	width: 100%;
	font-size: clamp(1.4rem, 1.279rem + 0.5vw, 1.8rem);
	box-shadow: none;
	border-bottom: 1px solid #A6A6A6;
	background-color: #FFF;
	box-sizing: border-box;
}
.contact_box_chil__contact_form textarea {
	padding: 25px 25px 25px 0;
	width: 100%;
	font-size: clamp(1.4rem, 1.279rem + 0.5vw, 1.8rem);
	box-shadow: none;
	border-bottom: 1px solid #A6A6A6;
	background-color: #FFF;
	box-sizing: border-box;
}
/*
.contact_box_chil__contact_form button.submit {
	display: block;
	position: relative;
	cursor: pointer;
	margin: 60px auto 0;
	width: 350px;
	line-height: 60px;
	color: #FFF;
	border: none;
	font-size: 18px;
	text-align: center;
	letter-spacing: 0.1em;
	background-color: #81B023;
	border-radius: 3px;
	transition: all .4s;
}
.contact_box_chil__contact_form button.submit:hover {
	background-color: #323232;
}
*/
.recruitentry_item {
	margin-bottom: 60px;
	margin-left: 20%;
	padding: 40px;
	background-color: #EEEEEE;
	box-sizing: border-box;
}
.recruitentry_item input[type="text"] {
	background-color: #EEEEEE;
}
.recruitentry_item textarea {
	height: 120px;
	background-color: #EEEEEE;
}
.recruitentry_item label {
	justify-content: flex-start!important;
	justify-content: center;
	align-items: center;
	padding: 25px 25px 25px 0;
}
.wpcf7-form-control {
	flex-direction: row;
	align-items: center;
}
.wpcf7-acceptance {
	flex-direction: column;
	text-align: center;
}
.submit {
  cursor: pointer;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 40px auto 0;
  border: none;
	background: none;
}
.submit-text {
	position: relative;
	display: flex;
	align-items: center;
	padding: 0 80px 0 60px;
	color: #0f2b63;
  font-size: 18px;
	font-family: "LINESeedJP_OTF_Bd";
  transition: background-position 0.3s ease;
}
.submit .linkarrow {
	overflow: hidden;
  position: absolute;
  top: 4px;
  right: 30px;
  bottom: 0;
  width: 30px;
  margin: auto ;
  line-height: 1;
}
.submit .linkarrow:before,
.submit .linkarrow:after {
	content: url(../img/arrow_link.svg);
  position: absolute;
  top: 0;
  right: 0;
  animation-fill-mode: forwards;
  animation-duration: 0.2s;
}
.submit .linkarrow:after {
  transform: translateX(-100%);
}
.submit:hover .linkarrow:before {
  animation-name: transformRightLeft;
  animation-delay: 0s;
}
.submit:hover .linkarrow:after {
  animation-name: transformLeftRight;
  animation-delay: 0.4s;
}
.submit::after {
  content: "";
  display: block;
	position: relative;
  width: 100%;
  height: 2px;
  background-color: #0f2b63;
  transition: transform 0.3s ease;
}
.submit::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 5px;
	background-color: #103C89;
	transition: all 0.4s ease;
}
.submit:hover::before {
	width: 100%;
}
@media screen and (max-width: 896px) {
	.contact_box_chil__contact_form dd input[type="text"] {
		padding: 15px 15px 15px 0;
	}
	.contact_box_chil__contact_form dd input[type="email"] {
		padding: 15px 15px 15px 0;
	}
	.contact_box_chil__contact_form dd select {
		padding: 15px 15px 15px 0;
	}
	.contact_box_chil__contact_form dd textarea {
		padding: 15px 15px 15px 0;
		height: 150px;
	}
.recruitentry_item {
	margin-bottom: 50px;
	margin-left: 0;
	padding: 30px 20px;
}
.recruitentry_item input[type="text"] , .recruitentry_item textarea{
	background-color: #EEEEEE;
}
.recruitentry_item label {
	padding: 0;
}
	.submit {
		margin: 0 auto;
	}
}

/* デフォルトメッセージなど */
.wpcf7-mail-sent-ok, .wpcf7-mail-sent-ng, .wpcf7-spam-blocked, .wpcf7-validation-errors {
	margin: 0 auto 20px;
	width: 100%;
	max-width: 900px;
	line-height: 30px;
	text-align: center;
}
.wpcf7-response-output {
	margin: 40px auto 0!important;
	padding: 10px!important;
	width: 100%;
	max-width: 900px;
	color: #711d26;
	text-align: center;
	border: none!important;
	background: #f7d7da;
}
span.wpcf7-not-valid-tip, .wpcf7-response-output.wpcf7-validation-errors {
	margin-top: 5px;
	font-size: 12px;
}
/* プライバシーポリシー */
.contact_box_chil__contact_form .more__content {
	overflow-y: scroll;
	margin-bottom: 80px;
	margin-left: 20%;
	padding: 30px 30px 0;
	width: 60%;
	height: 220px;
	text-align: left;
	border: 1px solid #A6A6A6;
	background-color: #FFF;
	box-sizing: border-box;
}
.contact_box_chil__contact_form .more__content h5 {
	margin-bottom: 10px;
	font-size: clamp(1.4rem, 1.279rem + 0.5vw, 1.8rem);
	text-align: center;
}
.contact_box_chil__contact_form .more__content h6 {
	margin-bottom: 10px;
	font-size: clamp(1rem, 0.849rem + 0.62vw, 1.5rem);
	font-family: "LINESeedJP_OTF_Bd";
}
.contact_box_chil__contact_form .more__content p {
	margin-bottom: 30px;
	font-size: clamp(1rem, 0.849rem + 0.62vw, 1.5rem);
	line-height: 1.8em;
}
@media screen and (max-width: 896px) {
	/* プライバシーポリシー */
	.contact_box_chil__contact_form .more__content {
		overflow-y: scroll;
		margin-bottom: 40px;
		margin-left: 0;
		padding: 20px 20px 0;
		width: 100%;
		height: 150px;
	}
}

/*!------------------------------------------------------------------
[オープニングスプラッシュ]
*/
 body.loaded #splash {
 	pointer-events: none;
 }
 #splash {
 	position: fixed;
 	top: 0;
 	left: 0;
 	right: 0;
 	bottom: 0;
 	background: #103C89;
 	z-index: 9999;
 	display: flex;
 	align-items: center;
 	justify-content: center;
 	overflow: hidden;
 }
 #splash-logo {
 	opacity: 0;
 	transform: translateY(-30px);
 	animation: logoSlideIn 1s ease forwards 0.8s;
 }
 #splash-logo img {
 	width: 240px;
 }
 @keyframes logoSlideIn {
 	to {
 		opacity: 1;
 		transform: translateX(0);
 	}
 }
 .curtain-wrapper {
 	position: absolute;
 	top: 0;
 	left: 0;
 	width: 100%;
 	height: 100%;
 	z-index: 1;
 }
 .curtain {
 	position: absolute;
 	width: 100%;
 	height: 20%;
 	background: #fff;
 	transform: translateX(-100%);
 	opacity: 0;
 }
 .curtain:nth-child(1) {
 	top: 0%;
 }
 .curtain:nth-child(2) {
 	top: 20%;
 }
 .curtain:nth-child(3) {
 	top: 40%;
 }
 .curtain:nth-child(4) {
 	top: 60%;
 }
 .curtain:nth-child(5) {
 	top: 80%;
 }
 .loaded .curtain {
 	animation: curtainSlideIn 0.5s ease-out forwards;
 }
 .loaded .curtain:nth-child(1) {
 	animation-delay: 0.0s;
 }
 .loaded .curtain:nth-child(2) {
 	animation-delay: 0.2s;
 }
 .loaded .curtain:nth-child(3) {
 	animation-delay: 0.4s;
 }
 .loaded .curtain:nth-child(4) {
 	animation-delay: 0.6s;
 }
 .loaded .curtain:nth-child(5) {
 	animation-delay: 0.8s;
 }
 @keyframes curtainSlideIn {
 	to {
 		transform: translateX(0);
 		opacity: 1;
 	}
 }
 .loaded #splash {
 	animation: splashFadeOut 1s ease forwards 1.6s;
 }
 @keyframes splashFadeOut {
 	to {
 		opacity: 0;
 		visibility: hidden;
 	}
 }

/*!------------------------------------------------------------------
[ハンバーガー周辺]
*/
body.active {
	overflow: hidden;
}
#h_btn {
	cursor: pointer;
	position: relative;
	z-index: +5;
	display: block;
	width: 50px;
	height: 50px;
	pointer-events: auto;
	transition: .6s;
	box-sizing: border-box;
}
#h_btn .h_bar,
#h_btn .h_bar span {
	display: block;
	transition: all .4s;
	box-sizing: border-box;
}
#h_btn .h_bar {
	display: flex;
	align-items: center;
	flex-flow: column;
	justify-content: center;
	color: #103C89;
	width: 50px;
	height: 50px;
}
#h_btn .h_bar span {
	margin-bottom: 12px;
	width: 50px;
	height: 2px;
	background-color: #103C89;
}
#h_btn .h_bar span:nth-child(2) {
	margin: 0 0 0 10px;
	width: 40px;
}
#h_btn.active .h_bar span {
	width: 50px;
}
#h_btn.active .h_bar span:nth-child(1) {
	width: 80px;
	transform: translateY(7px) rotate(-315deg);
}
#h_btn.active .h_bar span:nth-child(2) {
	margin: 0;
	width: 80px;
	transform: translateY(-7px) rotate(315deg);
}

#h_content {
	display: block;
	position: fixed;
	visibility: hidden;
	overflow: auto;
	z-index: +3;
	opacity: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	color: #FFF;
	list-style: none;
	pointer-events: auto;
	background-color: rgba(255,255,255,.9);
	backdrop-filter: blur(10px);
	transition: all 0.6s;
}
.active #h_content {
	visibility: visible;
	opacity: 1;
	transition: all 0.2s;
}
#h_content .inner {
	position: fixed;
	z-index: +4;
	display: flex;
	justify-content: center;
	align-items: center;
	opacity: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	color: #103C89;
	transition: all 0.6s;
	box-sizing: border-box;
}
#h_content.active .inner {
	overflow-y: scroll;
	transform: translateX(0px);
	transition: all 0.8s;
	opacity: 1;
}
#h_content .inner li a {
	color: #FFF;
}
#h_content .inner li a:hover {
	color: #103C89;
}
#h_content .inner .contact_btt a {
	color: #FFF;
	background-image: linear-gradient(to right, #103C89 50%, #303030 50%);
}
@media screen and (max-width: 1060px) {
	header ul {
		display: none;
	}
}
@media screen and (max-width: 896px) {
	#h_content .inner {
		flex-direction: column-reverse;
		padding-top: 60px;
	}
	#h_content .footer_inner__address {
		gap: 20px;
		text-align: center;
	}
	#h_content .footer_inner__address h3 {
		display: none;
	}
	#h_content .footer_inner__address h4 {
		margin: 0 0 40px;
		line-height: 2;
	}
	#h_content .footer_inner__nav {
		gap: 20px;
		margin-bottom: 40px;
		width: 80%;
	}
	#h_content .footer_inner__nav ul {
		flex-flow: wrap;
		gap: 20px;
	}
	#h_content .footer_inner__nav ul li {
		width: calc(100%/2 - 10px);
	}
	#h_content .footer_inner__nav ul li a {
		display: block;
		padding: 0;
		width: 100%;
		line-height: 50px;
		text-align: center;
		letter-spacing: 0.2;
		background-color: #103C89;
		background-image: none;
	}
	.footer_inner__nav ul li a:hover {
		color: #FFF;
	}
	#h_content .footer_inner__nav ul li:first-child {
		width: 100%;
	}
	.footer_inner__nav .contact_btt {
		width: 100%;
	}
	.footer_inner__nav .contact_btt a {
		display: block;
		color: #FFF;
		width: 100%;
		background-color: #103C89;
		background-image: none;
		transition: .2s;
	}
}