@charset "utf-8";

/* =====================================================
  kv
===================================================== */
.kv_scroll{
	position: absolute;
	bottom: 0;
	left: 1.875rem;
}
.scroll_down {
  position: relative;
  width: 100%;
  height: 100vh;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}
.scroll_down:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80%;
  background: linear-gradient(180deg,rgba(#143369, 0) 0, rgba(#143369, .8) 80%, rgba(#143369, .8) 100%);
}
.scroll_down span {
  display: inline-block;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: 2.375rem;
  padding: 0 0 5.25rem;
  color: #143369;
  font-size: 0.875rem;
  line-height: 1;
	letter-spacing: 0;
  transition: .2s;
  overflow: hidden;
  margin: auto;
}
.scroll_down span:before {
  content: '';
  position: absolute;
	top: 1.6rem;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 6.25rem;
  background: #ddd;
}
.scroll_down span:after {
  content: '';
  position: absolute;
	top: 1.6rem;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 6.25rem;
  background: #143369;
}
.scroll_down span:hover {
  opacity: .5;
}
.scroll_down span:after {
  animation: sdl01 2.5s cubic-bezier(1, 0, 0, 1) infinite;
}
/* kv news */
.kv_news{
	border-radius:5px 0 0 0;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 1000;
	background: #FFF;
	width: 21.875rem;
	padding: 1.875rem;
}
.kv_newshead{
	display: flex;
	align-items: center;
	font-size: 0.75rem;
}
.kv_newshead .cat{
	border-radius: 30px;
	color: #FFF;
	background: #143369;
	display: inline-block;
	line-height: 1;
	margin-right: 0.625rem;
	padding: 0.1875rem 0.9375rem;
}
.kv_newshead .date{
	color: #143369;
	letter-spacing: 0.03em;
}
.kv_news a{
	color: #143369;
	font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
	.kv_scroll{
		display: none;
	}
	.kv_news{
		position: relative;
		width: calc(100% - 1.125rem);
		margin: 0 auto;
		padding: 0.625rem;
	}
	.kv_newshead{
		font-size: 0.375rem;
	}
	.kv_newshead .cat {
		margin-right: 0.3125rem;
		padding: 0.09375rem 0.4375rem;
	}
	.kv_news a {
		color: #143369;
		font-size: 0.375rem;
	}
}

/* =====================================================
  message
===================================================== */
#message{
  position:relative;
  padding:3.75rem 0 4.625rem;
	margin-bottom: 15.6rem;
}
.message_contents{
  position:relative;
  margin:0 auto;
}
.message_bg_gradient{
  position:absolute;
	width: 91.25rem;
	height: calc(100% + 4.625rem);
  inset:0;
  z-index:2;
	margin: 0 auto;
	transform: rotate(15deg);
}
.message_bg_gradient .message_bg_gradientimg{
	position: absolute;
	top: 4rem;
	left: -3.2rem;
	background:url("../images/bg_gradation_r.webp") no-repeat;
	background-size: auto 100%;
	width: 100%;
	height: 100%;
	clip-path: polygon(5.5% 6.4%, 91% 0.5%, 89.2% 82.6%, 13.4% 78%);
}
.message_bg_white{
  position:absolute;
	background:#FFF;
	background-size: 100% auto;
	max-width: 75rem;
	height: 100%;
	clip-path: polygon(0% 0%, 100% 3.8%, 92.3% 92.5%, 5.4% 100%);
	inset:0;
  z-index:3;
	margin: 4.625rem auto 0;
}
.message_shape_inner{
	position:absolute;
	max-width: 85.125rem;
	inset:0;
	margin: 0 auto;
}
.message_inner{
  position:relative;
	color: #143369;
  z-index:10;
	width: 49.375rem;
	margin: 0 auto;
	padding: 12rem 0 3.75rem;
}
.message_inner p{
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 2.2;
	margin-bottom: 1.6875rem;
}
.message_inner p:last-child{
	margin-bottom: 0;
}
.message_copy{
	width: 26.25rem;
	margin: 4.0rem 0 4.375rem;
}
.message_logo{
	width: 10rem;
}
.message_inner .message_sign p{
	font-size: 0.875rem;
	margin-bottom: 0;
}
.message_shape_diamond{
  position:absolute;
  right:-1.25rem;
  top:26.625rem;
  width: 52.8125rem;
  z-index:1;
}
.message_shape_circle{
  position:absolute;
  right:3.3rem;
  top:56.25rem;
  width: 11.875rem;
  z-index:4;
	mix-blend-mode: multiply;
}
.message_shape_diamond img,
.message_shape_circle img{
  display:block;
  width:100%;
  height:auto;
}
.message_hide {
  display: none;
}

@media screen and (max-width: 767px) {
	#message {
		position: relative;
		padding: 9.625rem 0 0;
		margin-bottom: 0;
	}
	.message_container{
		overflow: hidden;
	}
	.message_bg_gradient {
		position:absolute;
		background:url("../images/bg_gradation.webp") no-repeat;
		background-size: cover;
		max-width: 85.125rem;
		inset:0;
		z-index:2;
		margin: 0 auto;
    clip-path: polygon(16% 0%, 116% 4.9%, 94.7% 31.7%, 7.4% 24%);
		height: 39.6875rem;
    margin-top: 0.75rem;
		max-width: 100%;
  }
	.message_bg_gradient .message_bg_gradientimg{
		display: none;
	}
	.message_bg_white {
		clip-path: polygon(-93% 14.6%, 87.7% 0%, 118% 94.3%, 5.3% 100%);
		height: 39.6875rem;
		margin-top:0;
  }
	.message_inner {
		width: auto;
		padding: 3.75rem 0 0;
	}
	.message_text,.message_footer {
		margin-left:0.5625rem;
		margin-right:0.5625rem;
	}
	.message_footer{
		margin-bottom: 8rem;
	}	
	.message_body {
    position: relative;
    max-height: 6rem;
    overflow: hidden;
    /*transition: max-height .6s ease;*/
  }
  .message_body::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2rem;
    background: linear-gradient(to bottom,rgba(242,243,245,0),rgba(242,243,245,1));
    pointer-events: none;
    transition: opacity .3s ease;
  }
  .message_hide {
		background: #F2F3F5;
    display: block;
    text-align: center;
    height: 4.875rem;
		padding-top: 0.5rem;
    cursor: pointer;
  }
	.message_inner .message_hide p,.message_inner .message_close p{
		font-size: 0.4375rem;
		font-weight: 600;
		letter-spacing: 0em;
		margin-bottom: 0;
	}
	.message_hide .plusicon{
		text-align: center;
		margin-top: -0.325rem;
	}
	.message_hide .plusicon img{
		display: inline-block;
		width: 1.25rem;
	}
  .message_inner.is-open .message_body {
    max-height: 200rem;
  }
  .message_inner.is-open .message_body::after {
    opacity: 0;
  }
  .message_inner.is-open .message_hide {
    display: none;
  }
	.message_close{
		display: block;
    text-align: center;
    cursor: pointer;
		margin-top: -2rem;
	}
	.message_close .plusicon{
		text-align: center;
		margin-top: -0.325rem;
	}
	.message_close .plusicon img{
		display: inline-block;
		width: 1.25rem;
		transform: rotate(45deg);
	}
	.message_inner p {
		font-size: 0.4375rem;
		margin-bottom: 0.9375rem;
	}
	.message_copy {
		width: 100%;
		margin: 1.875rem 0 1.25rem;
	}
	.message_copy img{
		width: 8.875rem;
	}
	.message_logo {
		width: 100%;
	}
	.message_logo img{
		width: 3.84375rem
	}
	.message_inner .message_sign p {
		font-size: 0.335938rem;
	}
	.message_shape_diamond,.message_shape_circle{
		opacity: 0 !important;
		transition: .3s;
	}
	.message_shape_diamond.on,.message_shape_circle.on{
		opacity: 1 !important;
	}
	.message_shape_diamond {
		top: auto;
		right: 0;
		bottom: 3rem;
		width: 8.4375rem;
	}
	.message_shape_circle {
		right: -1.2rem;
		top: auto;
		bottom: 4rem;
		width: 4.0625rem;
	}
}

/* =====================================================
  about us
===================================================== */
.about_container{
	position: relative;
	width: 100rem;
	margin: 0 auto;
}
#about .inner{
	position: relative;
}
.aboutintro_image,
.about_shape_circle,
.about_shape_triangle {
  will-change: transform, opacity, clip-path;
}
.aboutintro{
	position: absolute;
	top:-5.125rem;
	right: 0;
	width: 52.625rem;
	height: 51.25rem;
}
.aboutintro_image{
	position: absolute;
	top: 0;
	right: 9.375rem;
	width: 40.75rem;
	height: 39.375rem;
	clip-path: polygon(1.2% 47.5%, 70.5% 0%, 99% 57.5%, 73.4% 100%);
	z-index: 2;
}
.about_shape_circle{
	position: absolute;
	top: 6.75rem;
	right: 0;
	width: 37.625rem;
	height: 37.625rem;
	z-index: 1;
}
.about_shape_triangle{
	position: absolute;
	top: 31.375rem;
	right: 26.1875rem;
	width: 15.75rem;
	z-index: 2;
	mix-blend-mode: multiply;
}
.about_container .contents_title{
	margin-bottom: 17.825rem;
}
.about_container .contents_lead p{
	max-width: 25rem;	
}
.about_container .about_bg_white{
	position: absolute;
	background: #FFF;
	clip-path: polygon(11.5% 0%, 99.5% 19.9%, 86% 76%, 0.5% 99%);
	content: "";
	display: block;
	width: 114.375rem;
	height: 88.75rem;
	top: 14.375rem;
	left: -6.25rem;
	z-index: -1;
}
.about_container .contents_main{
	margin-bottom: 2.5rem;
	padding-left: 3.75rem;
}
.about_container .center_contents{
	margin-top: 3.125rem;
}

@media screen and (max-width: 767px) {
	#about{
		position: relative;
		background: #F2F3F5;
		/*padding-top: 3.125rem;*/
		padding-top: 1.125rem;		
		z-index: 2;
	}
	#about .inner .message_text,.message_footer {
		margin-left:0.5625rem;
		margin-right:0.5625rem;
	}
	.about_container {
		position: relative;
		padding-bottom: 4rem;
		width: 100%;
	}
	.about_container .contents_title {
		margin-bottom: 0;
	}
	.about_container .about_bg_white {
		position: absolute;
		background: #FFF;
		clip-path: polygon(21.8% 0%, 100% 24%, 82.5% 65.5%, 0% 100%);
		content: "";
		display: block;
		width: 35.8125rem;
		min-height: 21.4375rem;
		height: 100%;
		top: 5.2rem;
		left: -5.96875rem;
		right: auto;
		margin: 0;
		z-index: -1;
	}
	.aboutintro {
		position: relative;
		top: 0;
		right: 0;
		width: 14.25rem;
		height: 12.5rem;
		margin-bottom: 0.565rem;
	}
	.about_shape_circle {
		position: absolute;
		top: 1.6875rem;
		right: 0.1375rem;
		width: 10.125rem;;
		height: 10.125rem;;
	}
	.aboutintro_image {
		top: 0;
		right: 1.45rem;
		width: 10.9375rem;
		height: auto;
	}
	.about_shape_triangle {
		position: absolute;
		top: 9rem;
		right: 7.25rem;
		width: 3.6875rem;
		z-index: 2;
		mix-blend-mode: multiply;
	}
	.about_container .center_contents {
		margin-top: 1.3625rem;
	}
	.about_container .contents_main{
		padding-left: 0;
	}
}

/* =====================================================
  ourfields
===================================================== */

#ourfields{
	padding-bottom: 10rem;
}
.ourfields_container{
	position: relative;
	width: 100rem;
	margin: 0 auto;
}
.outfields_wrap{
	position: relative;
	width: 100%;
	height: 61.25rem;
}
.ourfields_bg {
  position: absolute;
  top: 0.5rem;
  left: -5.625rem;
  clip-path: polygon(21.8% 14%, 99.8% 2px, 96.5% 100%, 0 81.5%);
  width: 112.8125rem;
  height: 61.25rem;
  overflow: hidden;
}
.ourfields_bg_image {
  position: absolute;
  inset:-10rem 0;
  background: url("../images/top/ourfields_main.webp") no-repeat;
  background-position: top 60% center;
  background-size: cover;
  will-change: transform;
}
.ourfields_shape_diamond{
	position: absolute;
	top: 4.25rem;
  left: 13.75rem;
	width: 11.375rem;
	mix-blend-mode: multiply;
}
.ourfields_shape_circle{
	position: absolute;
	bottom: 1rem;
	right: 35.875rem;
	width: 4.5625rem;
	mix-blend-mode: multiply;
}
.ourfields_flex{
	display: flex;
	justify-content: space-between;
	margin-top: 3.5rem;
}
.ourfields_flex .ourfieldsheader{
	flex: 1;
	margin-right: 2.5rem;
}
.ourfields_flex .ourfields_flexright{
	margin-top: -1.25rem;
	width: 33.5rem;
}
.ourfields_flex .ourfields_flexright .contents_lead{
	margin-bottom: 3.125rem;
}

@media screen and (max-width: 767px) {
	#ourfields{
		position: relative;
		padding-bottom: 3.125rem;
		z-index: 5;
	}
	.outfields_wrap {
		height: 8.875rem;
		margin-top: -5rem;
	}
	.ourfields_container{
		width: 100%;
	}
	.ourfields_bg {
		clip-path: polygon(21.8% 14%, 99.8% 2px, 96.5% 100%, 0 81.5%);
		width: 21.375rem;
		height: 10.875rem;
		left: -1rem;
	}
	.ourfields_bg_image{
		inset:-4rem;
	}
	.ourfields_shape_diamond {
		top: 0.65rem;
    left: 2.75rem;
    width: 2.65625rem;
	}
	.ourfields_shape_circle {
		top: 9rem;
		bottom: auto;
		right: 4rem;
		width: 0.9375rem;
	}
	.ourfields_flex {
		display: block;
		margin-top: 2.75rem;
	}
	.ourfields_flex .ourfields_flexright {
		margin-top: 1.5rem;
		width: 100%;
	}
	.ourfields_flex .ourfields_flexright .contents_lead {
		margin-bottom: 1.25rem;
	}
}

/* =====================================================
  cases
===================================================== */

#cases{
	background: #B89E7E;
	padding: 5.625rem 0 7.5rem;
}
.cases_header{
	max-width: 80rem;
	margin: 0 auto 2.5rem;
}
.cases_header h2{
	color: #FFF;
	font-size: 3.125rem;
	font-family:"antonia-variable", sans-serif;
	font-variation-settings:"opsz" 48, "wght" 385;
	line-height: 0.6;
}
.cases_header h2 span{
	font-size: 1.125rem;
	font-family: "Noto Serif JP", serif;
	font-weight: 600;
	letter-spacing: 0.03em;
	margin-left: 1.25rem;
}
.cases_slide{
	border-radius: 5px;
	background: #FFF;
	width: 68.125rem;
	margin: 0 0.9375rem;
}
.cases_slide a{
	display: block;
	padding: 1.875rem;
}
.cases_slideflex{
	display: flex;
	justify-content: space-between;
}
.cases_flexleft{
	position: relative;
	color: #143369;
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex: 1;
	margin-right: 1.125rem;
	padding: 2.1875rem 1.125rem 0 1.125rem;
}
.cases_categoys{
	position: absolute;
	width: 100%;
	top: 0.9375rem;
}
.cases_flexleft h3{
	font-size: 1.625rem;
	line-height: 1.5;
	letter-spacing: 0.03em;
	margin-bottom: 1.25rem;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}
.cases_flexleft p{
	font-size: 1rem;
	line-height: 2;
	letter-spacing: 0.1em;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
	overflow: hidden;
}
.cases_flexright{
	background: #B89E7E;
	position: relative;
	border-radius: 5px;
	width: 35.4375rem;
	overflow: hidden;
}
.cases_slide a .cases_flexright img{
  object-fit: cover;
	height: 100%;
  transition: .6s ease;
}
.cases_slide a:hover .cases_flexright img {
  transform: scale(1.2);
	opacity: 0.6;
}
.cases_flexright .linkicon_arw{
	position: absolute;
	border: 1px solid #FFF;
	border-radius: 0.75rem;	
	width: 2.5rem;
	height: 1.5rem;
	right: 1.21875rem;
	bottom: 1.21875rem;
	overflow: hidden;
}
.cases_flexright .linkicon_arw::after{
	position: absolute;
	background: url("../images/link_arw_b.svg") no-repeat center center;
	content: "";
	inset: 0;
	width: 100%;
	height: 100%;
  transition: .2s;
	z-index: 2;
}
.cases_flexright .linkicon_arw::before{
	position: absolute;
  inset: 0;
  background: #FFF;
  content: "";
  transform: translateY(0%);
  transition: .2s;
	z-index: 1;
}
.cases_slide a:hover .cases_flexright .linkicon_arw::before {
  transform: translateY(-100%);
}
.cases_slide a:hover .cases_flexright .linkicon_arw::after{
	background: url("../images/link_arw_w.svg") no-repeat center center;
}
.caseslider_bottom{
	max-width: 80rem;
	margin: 3.75rem auto 0;
}
.casesbottom_flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
@media screen and (max-width: 767px) {
	#cases {
		padding: 1.7625rem 0 1.4375rem;
	}
	.cases_header h2{
		font-size: 1.5625rem;
		display: flex;
    align-items: center;
	}
	.cases_header h2 span {
		font-size: 0.5rem;
		margin-left: 0.75rem;
	}
	.cases_header {
		max-width: 100%;
		margin: 0 0.5625rem 1.5rem;
	}
	.cases_slider .slick-track{
		display: flex;
	}
	.cases_slider .slick-slide{
		height: auto;
	}
	.cases_slide {
		border-radius: 5px;
		background: #FFF;
		width: 8.75rem;
		margin: 0 0.234375rem;
	}
	.cases_slide a {
		display: block;
		padding: 0.515625rem;
	}
	.cases_slideflex{
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}
	.cases_flexright {
		width: 100%;
	}
	.cases_flexright .linkicon_arw {
		display: none;
	}
	.cases_flexleft {
		position: relative;
		color: #143369;
		display: flex;
		flex-direction: column;
		justify-content: center;
		flex: 1;
		margin-right: 0;
		padding:0 0 0.515625rem;
	}
	.cases_categoys {
		position: relative;
		top: 0;
		line-height: 1.2;
	}
	.cases_flexleft h3 {
		font-size: 0.5625rem;
		line-height: 1.5;
		letter-spacing: 0.03em;
		margin-bottom: 0.3125rem;
		display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
	}
	.cases_flexleft p {
		font-size: 0.4375rem;;
		line-height: 1.9;
		display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
	}
	.caseslider_bottom{
		max-width: 100%;
		margin: 1.25rem 0.5625rem 0;
	}
	.casesbottom_flex {
		display: block;
	}
	.casesbottom_flexright{
		text-align: center;
		margin-top: 1.4375rem;
	}
}

/* =====================================================
  people
===================================================== */
#people{
	
}
.people_container{
	position: relative;
	width: 100rem;
	margin: 0 auto;
}
.people_wrap{
	position: relative;
	width: 120rem;
	margin: 0 auto;
}
.people_bg {
  position: absolute;
  top: 4.375rem;
  left: -6.875rem;
	background: #FFF;
  clip-path: polygon(0% 16%, 100% 0.5%, 62.5% 81.5%, 13% 100%);
  width: 140.4375rem;
  height: 83.1875rem;;
  overflow: hidden;
}
.people_shape_circle{
	position: absolute;
	top: 10.25rem;
	left: 15.5rem;
	width: 11.9375rem;
	mix-blend-mode: multiply;
}
#people .inner{
	padding-top: 25.5rem;
}
.people_image{
	position: absolute;
	background: url("../images/top/people_main.webp") no-repeat;
	background-size: cover;
	clip-path: polygon(19% 1%,87.3% 42.3%,56.5% 99%,0% 88%,0% 72%);
	width: 69.625rem;
	height: 46.4375rem;
	top: 8.75rem;
	left: -8.75rem;
}
.people_flex{
	display: flex;
	justify-content: flex-end;
}
.people_flex .people_flexright{
	width: 31.25rem;
}
.people_flex .peopleheader{
	margin-bottom: 3.3rem;
}
.people_flex .contents_lead{
	margin-bottom: 3.125rem;
}
.people_slider_section{
	margin-top: 11.25rem;
}
/* slider section */
.people_slider_section{
	overflow: hidden;
}
.people_slider_inner{
	max-width: 81.25rem;
	margin: 0 auto;
}
.people_slider_contents{
	margin-right: calc(50% - 50vw);
	overflow: hidden;
}
.people_slider .people_slide{
	width: 30.8125rem;
	margin-right: 1.875rem;
}
.people_slide_shape_diamond{
	position:absolute;
	top:7.8rem;
	right:1.29rem;
	width:6.0625rem;
	height:6.0625rem;
	opacity:0;
	transform:rotate(-90deg) scale(.8);
	transform-origin:center center;
	transition:.5s ease;
}
.people_slide_shape_circle01{
	position:absolute;
	bottom:2.5rem;
	left:6.25rem;
	z-index:3;
	width:2.1875rem;
	height:2.1875rem;
	opacity:0;
	transform:translate(1rem,-1rem);
	transition:.45s ease .08s;
}
.people_slide_shape_circle02{
	position: absolute;
	top: 0;
  left: 2.65rem;
	z-index: 1;
	width: 7.5rem;
	height: 7.5rem;
	opacity:0;
	transform:translate(1.5rem,1.5rem);
	transition:.45s ease;
}
.people_slidemain{
	position: relative;
	margin-bottom: 1.125rem;
}
.people_slide .people_slidemain .people_slideimg {
	border-radius: 5px;
	overflow: hidden;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  transform: matrix3d(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1);
  transform-origin: center center;
  transition: clip-path 0.45s ease,transform 0.45s ease;
  will-change: clip-path, transform;
}
.people_slide:hover .people_slide_shape_diamond{
	opacity:1;
	transform:rotate(0deg) scale(1);
}
.people_slide:hover .people_slide_shape_circle01{
	opacity:1;
	transform:translate(0,0);
}
.people_slide:hover .people_slide_shape_circle02{
	opacity:1;
	transform:translate(0,0);
}
.people_slide:hover .people_slidemain .people_slideimg {
  clip-path: polygon(22% 11%, 83% 1%, 85% 93%, 15% 83%);
  transform: matrix3d(1,0,0,-0.0001,0,1,0,-0.0001,0,0,1,0,0,0,0,1);
}
.peopleslide_progress-bar{
	position:relative;
	height:1px;
	background:#ccd2de;
}
.peopleslide_progress-current{
	position:absolute;
	top:0;
	left:0;
	width:0;
	height:100%;
	background:#143369;
}
.people_slider .slick-list{
  overflow: visible;
}
.people_slide h4{
	color: #143369;
	font-size: 1.625rem;
	line-height: 1.5;
	letter-spacing: 0.03em;
	margin-bottom: 0.625rem;
}
.people_slide .people_name{
	margin-bottom: 0.625rem;
}
.people_slide .people_name h5{
	display: flex;
	align-items: center;
	color: #143369;
	font-size: 0.875rem;
}
.people_slide .people_name h5 .name{
	font-size: 1.25rem;
	margin-right: 0.625rem;
}
.peopleslide_progress-bar{
	margin-bottom: 1.25rem;
}
.people_slide .people_name p{
	color: #B89E7E;
}
.peopleslider_bottom{
	margin-top: 3.775rem;
}
@media screen and (max-width: 767px) {
	#people .inner {
		padding-top: 12.6125rem;
	}
	.people_wrap,.people_container {
		width: 100%;
	}
	.people_bg {
		top: 4rem;
		left: -6.875rem;
		clip-path: polygon(0% 16%, 100% 0.5%, 62.5% 81.5%, 13% 100%);
		width: 44.53125rem;
		height: 26.5625rem;
	}
	.people_image {
		clip-path: polygon(19% 1%,87.3% 42.3%,56.5% 99%,0% 88%,0% 72%);
		width: 14.75rem;
		height: 9.84375rem;
		top: 1.875rem;
		left: -1.75rem;
	}
	.people_shape_circle {
		top: 1.875rem;
		left: 3.3125rem;
		width: 2.53125rem;
	}
	.people_flex .peopleheader {
		margin-bottom: 1rem;
	}
	.people_flex .contents_lead {
		margin-bottom: 1.34rem;
	}
	.people_slider_section {
		margin-top: 2.5rem;
	}
	.people_slider_inner {
		margin-left: 0.5625rem;
	}
	.people_slider .people_slide {
		width: 8.75rem;;
		margin-right: 0.46875rem;
	}
	.people_slide_shape_circle02,.people_slide_shape_circle01,.people_slide_shape_diamond{
		display: none !important;
	}
	.people_slide:hover .people_slidemain .people_slideimg{
		clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
		transform: matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);
	}
	.people_slide h4 {
		font-size: 0.5625rem;
	}
	.people_slide .people_name {
		margin-bottom: 0.3125rem;
	}
	.people_slide .people_name h5 .name {
		font-size: 0.5rem;
		margin-right: 0.3125rem;
	}
	.people_slide .people_name h5 {
		font-size: 0.375rem;
	}
	.people_slide .people_name p {
		font-size: 0.375rem;
	}
	.peopleslide_progress-bar {
		margin-bottom: 0.375rem;
	}
	.people_slide .categoys{
		display: flex;
		flex-wrap: wrap;
	}
	.peopleslider_bottom {
		margin-top: 0.725rem;
	}
}

/* =====================================================
  recruit
===================================================== */
#recruit{
	margin-top: 7.5rem;
	padding-bottom: 16.875rem;
}
.recruit_bg{
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 110.875rem;
	height: 76.3125rem;
	z-index: 1;
}
.recruit_bg_img{
	position: absolute;
	inset: 0;
	margin-left: -6.6875rem;
	background:#B89E7E;
	clip-path: polygon(5.7% 0%, 90.7% 7.5%, 100% 89.6%, 10.6% 100%);
	z-index: 1;
}
.recruit_shape_circle{
	position: absolute;
	left: 9.1875rem;
	bottom: -3.9375rem;
	width: 9.6875rem;
	height: 9.6875rem;
	mix-blend-mode: multiply;
	z-index: 4;
}
.recruit_shape_triangle{
	position: absolute;
	left: -7rem;
  bottom: -7.437rem;
	width: 30.75rem;
	height: 26.0625rem;
	mix-blend-mode: multiply;
	z-index: 3;
}
#recruit .inner{
	position: relative;
	max-width: 80rem;
	z-index: 5;
}
.recruitheader{
	color: #FFF;
	display: flex;
	padding-top: 13.125rem;
	margin-bottom: 6.85rem;
}
.recruitheader h2{
  font-family: "antonia-variable",sans-serif;
  font-variation-settings: 'wght' 500, 'opsz' 48;
	font-size: 1.25rem;
	letter-spacing: 0.05em;
	width: 32.5rem;
}
.recruitheader .leadtext{
	flex: 1;
}
.recruitheader .leadtext p{
	font-size: 2.375rem;
	line-height: 1.6;
	letter-spacing: 0;
}

/* links */
.recruit_links{}
.recruit_links .recruit_link{
}
.recruit_links .recruit_link a{
	position: relative;
	display: block;
	padding-left: 0;
	color: #FFF;
	transition: .5s;
}
.recruit_links .recruit_link a .linkicon::before{
	position: absolute;
	top: 50%;
	left: 0;
	content: "";
	border-radius: 0.3125rem;
	background: #143369;
	width: 0.625rem;
	height: 0.625rem;
	opacity: 0;
	transition: .5s;
}
.recruit_links .recruit_link a .link{
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	height: 8.125rem;
	margin-bottom: -1px;
	transition: .5s;
}
.recruit_links .recruit_link a::before,.recruit_links .recruit_link a::after{
	position: absolute;
	left: 0;
	background: #143369;
	content: "";
	display: block;
	width: 0%;
	height: 1px;
	z-index: 3;
	transition: .5s;
}
.recruit_links .recruit_link a .link::before,.recruit_links .recruit_link a .link::after{
	position: absolute;
	left: 0;
	background: #FFF;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	z-index: 1;
}
.recruit_links .recruit_link a .link::before{
	top: 0;
}
.recruit_links .recruit_link a .link::after{
	bottom: 0;
}
.recruit_links .recruit_link a .link strong{
	font-size: 3.75rem;
  font-family: "antonia-variable",sans-serif;
  font-variation-settings: 'wght' 385, 'opsz' 48;
	letter-spacing: 0;
	margin-right: 1.875rem;
}
.recruit_links .recruit_link a .link .inflex{
	display: flex;
	align-items: center;
}
.recruit_links .recruit_link a:hover{
	color: #143369;
}
.recruit_links .recruit_link a:hover .link{
	padding-left: 1.875rem;
}
.recruit_links .recruit_link a:hover .linkicon::before{
	opacity: 1;
}
.recruit_links .recruit_link a:hover::before,.recruit_links .recruit_link a:hover::after{
	width: 100%;
	z-index: 4;
}
.recruit_links .recruit_link a span.arw_repeaticon{
	position: absolute;
	right: 0;
	top: calc(50% - 0.75rem);
	background: #FFF;
	border-radius: 0.75rem;
	border: 1px solid #FFF;
	display: inline-flex;
	width: 2.5rem;
	height: 1.5rem;
	overflow: hidden;
}
.recruit_links .recruit_link a:hover span.arw_repeaticon{
	background: none;
	border: 1px solid #143369;
}
.recruit_links .recruit_link a .arw_repeaticon::after {
	background: url("../images/link_arw_b.svg") no-repeat center right;
	position: absolute;
	right: 0;
	left: 0;
  margin: 0 auto;
	top: calc(50% - 0.625rem);
	content: "";
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	transition: .3s;
}
.recruit_links .recruit_link a:hover .arw_repeaticon::after {
  animation: arrowAnime .3s;
}
.recruit_hover_image{
	position:fixed;
	top:0;
	left:0;
	width:13.875rem;
	height:16.125rem;
	pointer-events:none;
	z-index:999;
	opacity:0;
	transform:translate(-50%, -50%);
	z-index: 1;
}
.recruit_hover_image_inner{
	width:100%;
	height:100%;
	overflow:hidden;
	clip-path:polygon(50% 50%,50% 50%,50% 50%,50% 50%);
}
.recruit_hover_image img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
@media screen and (max-width: 767px) {
	#recruit {
		margin-top: 2.5rem;
		padding-bottom: 3.5rem;
	}
	.recruit_bg {
		position: absolute;
		left: 0;
		right: 0;
		margin: 0;
		width: 19.25rem;
		height: 30.5rem;
	}
	.recruit_bg_img {
		position: absolute;
		inset: 0;
		margin-left: -6.6875rem;
		background: #B89E7E;
		clip-path: polygon(11.36% 1%, 70.2% 4.15%, 95% 96%, 11.36% 100%);
		z-index: 1;
	}
	.recruitheader {
		display: block;
		padding-top: 2.96875rem;
		margin-bottom: 2rem;
	}
	.recruitheader h2 {
		font-size: 0.5rem;
		width: 100%;
		margin-bottom: 1.125rem;
	}
	.recruitheader .leadtext p {
		font-size: 0.875rem;
	}
	.recruit_links .recruit_link a .link {
		display: flex;
		align-items: center;
    height: 4.0625rem;
    flex-wrap: wrap;
	}
	.recruit_links .recruit_link a:hover .link{
		padding-left: 0;
	}
	.recruit_links .recruit_link a .link strong {
		font-size: 1rem;
		line-height: 1;
		margin-right: 0;
		margin-bottom: 0.15rem;
	}
	.recruit_links .recruit_link a .link span{
		font-size: 0.4375rem;
	}
	.recruit_links .recruit_link a .link strong,.recruit_links .recruit_link a .link span{
		display: block;
		width: 100%;
	}
	.recruit_links .recruit_link a:hover .linkicon::before{
		display: none !important;
	}
	.recruit_links .recruit_link a span.arw_repeaticon {
		top: calc(50% - 0.325rem);
		border-radius: 1.25rem;
		width: 1.25rem;
		height: 0.75rem;
	}
	.recruit_links .recruit_link a .arw_repeaticon::after {
		background: url("../images/link_arw_b.svg") no-repeat center right;
		background-size: 0.75rem;
		top: calc(50% - 0.3125rem);
		width: 0.625rem;
		height: 0.625rem;
	}
	.recruit_links .recruit_link a .link .inflex{
		display: block;
	}
	.recruit_shape_triangle {
		left: -2.2rem;
    bottom: -1.2rem;
    width: 7.563rem;
    height: 5.5625rem;
	}
	.recruit_shape_circle {
		left: 2rem;
    bottom: -0.937rem;
    width: 2.0625rem;
    height: 2.0625rem;
	}
}

/* =====================================================
  news
===================================================== */
#news{
	padding-top: 13.75rem;
	margin-bottom: 11.25rem;
}
.news_flex{
	display: flex;
	justify-content: center;
	column-gap: 1.875rem;
}
.news_flex .news_flexleft{
	width: 30.625rem;
	margin-top: 0.5rem;
}
.news_flex .news_flexright{
	flex: 1;
}
.newslist{
	margin-bottom: 3.75rem;
}
.newslist a{
	position: relative;
	display: block;
	padding-left: 0;
	color: #143369;
	transition: .5s;
}
.newslist a .link{
	position: relative;
	display: flex;
	align-items: flex-start;
	width: 100%;
	padding: 1.875rem 6.25rem 1.875rem 0;
	margin-bottom: -1px;
	transition: .5s;
}
.newslist a::before,.newslist a::after{
	position: absolute;
	left: 0;
	background: #143369;
	content: "";
	display: block;
	width: 0%;
	height: 1px;
	z-index: 3;
	transition: .5s;
}
.newslist a .link::before,.newslist a .link::after{
	position: absolute;
	left: 0;
	background: #ccd2de;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	z-index: 1;
}
.newslist a .link::before{
	top: 0;
}
.newslist a .link::after{
	bottom: 0;
}
.newslist a:hover{
	color: #143369;
}
.newslist a:hover .entryttl{
	color: #B89E7E;
}
.newslist a:hover .linkicon::before{
	opacity: 1;
}
.newslist a:hover::before,.newslist a:hover::after{
	width: 100%;
	z-index: 4;
}
.newslist a .date{
	width: 6.25rem;
	font-size: 0.875rem;
  font-family: "antonia-variable",sans-serif;
  font-variation-settings: 'wght' 500, 'opsz' 48;
	line-height: 2;
	margin-right: 0.625rem;
}
.newslist a .category{
	width: 6.25rem;
}
.newslist a .entryttl{
	flex: 1;
	margin-left: 2.375rem;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	transition: .5s;
}
.newslist a span.arw_repeaticon{
	position: absolute;
	right: 0;
	top: calc(50% - 0.75rem);
	background: none;
	border-radius: 0.75rem;
	border: 1px solid #143369;
	display: inline-flex;
	width: 2.5rem;
	height: 1.5rem;
	overflow: hidden;
}
.newslist a:hover span.arw_repeaticon{
	background: #143369;
	border: 1px solid #143369;
}
.newslist a .arw_repeaticon::after {
	background: url("../images/link_arw_b.svg") no-repeat center right;
	position: absolute;
	right: 0;
	left: 0;
  margin: 0 auto;
	top: calc(50% - 0.625rem);
	content: "";
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	transition: .3s;
}
.newslist a:hover .arw_repeaticon::after {
	filter: brightness(0) saturate(100%) invert(94%) sepia(2%) saturate(1530%) hue-rotate(187deg) brightness(91%) contrast(89%);
  animation: arrowAnime .3s;
}
@media screen and (max-width: 767px) {
	#news {
		padding-top: 2.8rem;
		margin-bottom: 4.65rem;
	}
	.news_flex {
		display: block;
		column-gap: 0;
	}
	.news_flex .news_flexleft{
		margin-bottom: 1.565rem;
	}
	.newslist {
		margin-bottom: 1.40625rem;
	}
	.newslist a .link {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		padding: 0.9375rem 2.5rem 0.9375rem 0;
	}
	.newslist a .date {
		width: 2.5rem;
		font-size: 0.4375rem;
		margin-right: 0.3125rem;;
	}
	.newslist a .category {
		width: 3.125rem;
	}
	.newslist a .entryttl {
		flex: none;
		font-size: 0.4375rem;
		width: 100%;
		margin-left: 0;
	}
	.newslist a span.arw_repeaticon{
		top: calc(50% - 0.325rem);
		border-radius: 1.25rem;
		width: 1.25rem;
		height: 0.75rem;
	}
	.newslist a .arw_repeaticon::after {
		top: calc(50% - 0.3125rem);
		width: 0.625rem;
    height: 0.625rem;
	}
}

/* =====================================================
  アニメーション
===================================================== */
@keyframes sdl01 {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}