@charset "utf-8";
/* CSS Document */

.top-main-visual{
	width:100%;
}
.top-main-visual h1{
	margin:0;
}
.top-main-visual img{
	width:100%;
	height:auto;
	display:block;
}
/*セクションごとの見出し*/
.section-content h2{
	font-size:40px;
	font-weight:normal;
	margin:0;
	line-height:35px;
}
.section-content h2 span{
	color:#417E13;
	display:block;
	font-size:25px;
	margin:0 0 10px 0;
}
/*会社を知る*/
.top-about {
	
}
.top-about .section-content{
	padding:100px 0;
	position:relative;
}
.top-about-content1{
	position:absolute;
	top:80px;
	left:50px;
	width:80%;
	max-width:600px
}
.top-about-img {
    width: 55%;
    height: 400px;
	background-image: url(../images/6.jpg);
	background-size:cover;
	background-position:center;
	border-radius:20px 0 0 20px;
	margin:0 0 0 auto;
}
.top-about-content1 ul{
	padding-left:0;
	list-style:none;
} 
.top-about-content1 ul li{
	margin:5px 0;
	
} 
.top-about-content1 ul li a{
	text-decoration:none;
	color:#000;
} 

.top-about-btn {
	margin-top:30px;
}
.top-about-btn li{
}
.top-about-btn li::before{
}

/*ボタン*/
.button {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: #333; 
  font-weight: 500;
  position: relative;
  width: fit-content;
  gap: 1em;
}

.circle_btn {
  position: relative;
  background: #0D519E; 
  color: #fff; 
  padding: 0.1rem;
  border-radius: 100vh;
  width: 2rem; 
  height: 2rem; 
  text-align: center;
  transition: 0.3s;
}

.circle_btn:after {
  content: '';
  width: 5px;
  height: 5px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: calc(50% - 2px);
  right: calc(50% - 0px);
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

.button:hover .circle_btn {
  transform: scale(1.15); 
  background: #333;
}

.button:hover .circle_btn:after {
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
}
@media(max-width:640px){
.top-about-img {
    width: 92%;
    height: 250px;
	background-image: url(../images/6.jpg);
	background-size:cover;
	background-position:center;
	border-radius:20px 0 0 20px;
	margin:430px 0 0 auto;
}	
}
/*仕事を知る*/
.top-works {
	background-color:#EDF8FB;
	padding:50px 0;
}

.top-works-content1 {
	
}
.top-works-content1 h2{
	background-color:rgba(255, 255, 255, 1);
	padding:10px 50px 20px 50px;
	display:inline-block;
}
.top-works-content1 ul{
	list-style:none;
	display:flex;
	justify-content:space-between;
	width:90%;
	max-width:960px;
	margin:50px auto;
	padding-left:0;
	
}
.top-works-content1 ul li{
    width: 31%;
	background-image: url(../images/4.jpg);
	background-size: cover;
	background-position: 10% center;
	height:450px;
	position:relative;
	border-radius:10px;
}
.top-works-content1 ul .work1{
	background-image: url(../images/4.jpg);
	background-position: 10% center;
}
.top-works-content1 ul .work2{
    background-image: url(../images/4.jpg);
	background-position: 10% center;
}
.top-works-content1 ul .work3{
    background-image: url(../images/4.jpg);
	background-position: 10% center;
}
.top-works-content1 ul li a p{
	background-color:rgba(255, 255, 255, 0.7);
	margin:0;
	width:100%;
	text-align:center;
	padding:15px 0;
	font-size:25px;
	color:#000;
	position:absolute;
	bottom:0;
	left:0;
}
.top-works-content1 ul li a{
	display:block;
	width:100%;
	height:100%;
}
.top-works-content1 ul li a:hover{
	opacity:0.7;
}
.top-works-content1 ul li a img{
	width:100%;
	
}
@media(max-width:960px){
.top-works-content1 ul li{
    width: 31%;
	height:400px;
}	
}
@media(max-width:640px){
.top-works-content1 ul{
	display:flex;
	justify-content:space-between;
	width:90%;
	max-width:960px;
	margin:50px 0 auto auto;
	padding-left:0;
	flex-direction:column;
}
.top-works-content1 ul li{
    width: 100%;
	height:300px;
	margin-bottom:30px;
	border-radius:10px 0 0 10px;
}	
}
@media(max-width:480px){
.top-works-content1 ul{
	margin:30px 0 auto auto;
}
.top-works-content1 ul li{
	height:200px;
	margin-bottom:20px;
}	
}

/*人を知る*/
/*矢印*/
.arrow1 {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 4px;
  margin: 18.4px 0;
  border-radius: 9999px;
  background-color: #fff;
}

.arrow1::before,
.arrow1::after {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  width: 15px;
  height: 4px;
  border-radius: 9999px;
  background-color: #fff;
  transform-origin: calc(100% - 2px) 50%;
}

.arrow1::before {
  transform: rotate(45deg);
}

.arrow1::after {
  transform: rotate(-45deg);
}
/*矢印パターン2*/
.arrow2 {
  position: relative;
  display: inline-block;
  width: 30px;
  height: 2px;
  margin: 18.4px 0;
  border-radius: 9999px;
  background-color: #fff;
}

.arrow2::before,
.arrow2::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
  width: 10px;
  height: 2px;
  border-radius: 9999px;
  background-color: #fff;
  transform-origin: calc(100% - 1px) 50%;
}

.arrow2::before {
  transform: rotate(45deg);
}

.arrow2::after {
  transform: rotate(-45deg);
}
.top-people {
	padding-top:50px;
	padding-bottom:70px;
}
.top-people h2{
	margin-left:50px;
}

.top-people-content1 {
	
}
.top-people-content1 ul{
	padding-left:0;
	list-style:none;
	display:flex;
	flex-wrap:wrap;
	gap:20px;
	width:90%;
	max-width:1200px;
	margin:50px auto;
}
.top-people-content1 ul li{
	width:22%;
	margin:auto;
}
.top-people-content1 ul li a{
	display:block;
	width:100%;
	position:relative;
}
.people-img{
	width:100%;
}
.people-img img{
	width:100%;
	display:block;
}
.top-people-content1 ul li a p{
	position:absolute;
	bottom:0;
	right:0;
	background-color:#417E13;
	margin:0;
	display:flex;
	align-items:center;
	padding:0 20px;
	color:#fff;
	font-size:20px;
	font-weight:bold;
}
.top-people-content1 ul li a p .arrow1{
	margin-left:10px;
}
/* aタグにhoverしたとき、pの背景と文字色を反転 */
.top-people-content1 ul li a:hover p {
  background-color: #fff;
  color: #417E13;
  transition: background-color 0.3s, color 0.3s;
}

/* aタグにhoverしたとき、矢印の色も変更 */
.top-people-content1 ul li a:hover .arrow1,
.top-people-content1 ul li a:hover .arrow1::before,
.top-people-content1 ul li a:hover .arrow1::after {
  background-color: #417E13;
  transition: background-color 0.3s;
}
@media(max-width:768px){
.top-people-content1 ul li{
	width:45%;
}	
}
@media(max-width:480px){
.top-people-content1 ul li{
	width:80%;
}	
}
/*インタビュー一覧はこちら*/
.poeple-btn {
	width:80%;
	max-width:500px;
	margin:auto;
}
.poeple-btn a {
 position: relative;
 display: flex;
 justify-content: center;
 align-items: center;
 border-radius: 5px;
 background: #183153;
 font-family: "Montserrat", sans-serif;
 box-shadow: 0px 6px 24px 0px rgba(0, 0, 0, 0.2);
 overflow: hidden;
 border: none;
 text-decoration:none;
 padding:10px;
}

.poeple-btn a:after {
 content: " ";
 width: 0%;
 height: 100%;
 background: #FFD401;
 position: absolute;
 transition: all 0.4s ease-in-out;
 right: 0;
}

.poeple-btn a:hover::after {
 right: auto;
 left: 0;
 width: 100%;
}

.poeple-btn a .btn-text {
 text-align: center;
 text-decoration: none;
 width: 100%;
 color: #fff;
 font-size: 1.125em;
 font-weight: 700;
 letter-spacing: 0.3em;
 z-index: 20;
 transition: all 0.3s ease-in-out;
}

.poeple-btn a:hover .btn-text {
 color: #183153;
 animation: scaleUp 0.3s ease-in-out;
}

@keyframes scaleUp {
 0% {
  transform: scale(1);
 }

 50% {
  transform: scale(0.95);
 }

 100% {
  transform: scale(1);
 }
}


/*環境を知る*/
.top-environment {
	background-color:#EDF8FB;
	padding:50px 0;
}
.top-environment-content1 {
	
}
.top-environment-content1 h2{
	background-color:rgba(255, 255, 255, 1);
	padding:10px 50px 20px 50px;
	display:inline-block;
}
.top-environment-content2 {
	width:90%;
	margin:20px auto;
	
}
/*採用情報*/
.top-recruit {
	padding:50px  0;
}
.top-recruit h2{
	margin-left:50px;
}
.top-recruit-content1 ul{
	list-style:none;
	display:flex;
	gap:10px;
	width:90%;
	max-width:960px;
	margin:auto;
}
.top-recruit-content1 ul li{
	width:30%;
}
.top-recruit-content1 ul li a{
	width:100%;
}
.top-recruit-content1 ul li h3{
	text-align:center;
	color:#000;
	font-size:20px;
}
.top-recruit-img{
	width:100%;
}
.top-recruit-img img{
	width:100%;
	display:block;
}
