@charset "utf-8";
/* -----------------------------------------------------------
    about
-------------------------------------------------------------- */

.no-wrap{
    white-space: nowrap;
}

#wrapper {
    overflow: clip;
}

/* -----------------------------
	about-area
-------------------------------- */
.about-area{
	margin: 100px 0 0;
	position: relative;
	
}

.about-area > .inner{
	display: flex;
	align-items: flex-start;
	flex-direction: row-reverse;
}
.about-area .catch-m {
	line-height: 1.6;
	margin: 30px 0 0;
}

.about-area .basic-txt{
	padding: 20px 0 0;
}
.about-area > .inner img{
	width: 500px;
	margin: 0 0 0 30px;
}
@media screen and (max-width: 768px){
	.about-area{
		margin: 50px 0 0;
		position: relative;
	}
	.about-area > .inner{
		display: block;
	}
	.about-area .catch-m{
	 text-shadow    : 
       1px  1px 0px #ffffff,
      -1px  1px 0px #ffffff,
       1px -1px 0px #ffffff,
      -1px -1px 0px #ffffff,
       1px  0px 0px #ffffff,
       0px  1px 0px #ffffff,
      -1px  0px 0px #ffffff,
       0px -1px 0px #ffffff; 
		margin: 10px 0 0;
}
	.about-area .catch-s .s{
		width: 62%;
	}
	.about-area .basic-txt{
		padding: 10px 0 0;
	}
	.about-area > .inner img{
		width: 200px;
		margin: 0;
		position: absolute;
        right: -40px;
        top: -30px;
	}
}
/* -----------------------------
	business-area
-------------------------------- */
.business-area{
	margin: 50px 0 0;
	position: relative;
	background: url("../img/top-recruit-bg.jpg") no-repeat top center / cover;
	padding: 250px 0 280px;
}

.business-area::before{
	content: '';
	position: absolute;
	width: 101%;
	height: 235px;
	top: -1px;
	left: 0;
	background: url("../img/top-recruit-wave01.png") no-repeat bottom center / cover;
}
.business-area::after{
	content: '';
	position: absolute;
	width: 101%;
	height: 235px;
	bottom: -1px;
	left: 0;
	background: url("../img/top-recruit-wave02.png") no-repeat top center / cover;
}

.business-area .txt-area .catch-m{
	margin: 30px 0 0;
}
.business-area .txt-area .basic-txt{
	margin: 30px 0 0;
}

.business-area .block{
	margin: 30px 0 0;
	
}
.business-area .block::before{
content: '';
    position: absolute;
    width: 483px;
    height: 373px;
    top: -100px;
    right: -300px;
    background: url(../img/top-recruit-grade02.png) no-repeat top center / contain;
	}
.business-area .block:nth-child(3)::before{
	left: -300px;
	right: auto;
	top: 150px;
}
.business-area .block:nth-child(4)::before{
	top: -50px;
}
.business-area .block img{
	border-radius: 10px;
	width: 500px;
	height: 500px;
	margin: 0 50px 0 0;
	border-radius: 50%;
	position: relative;
}
.business-area .block:nth-child(2) img,
.business-area .block:nth-child(4) img{
	margin: 0 0 0 50px;
	right: -50px;
}
.business-area .block:nth-child(3) img{
	left: -50px;
}
.business-area .block .txt-box{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.business-area .block:nth-child(2) .txt-box,
.business-area .block:nth-child(4) .txt-box{
	flex-direction: row-reverse;	
}

.business-area .block .ttl-m .jp{
	color: var(--blue);
}
.business-area .block .catch-m{
	margin: 20px 0 0;
}
.business-area .block .basic-txt{
	margin: 10px 0 0;
}

@media screen and (max-width: 768px){
	.business-area{
		margin: 30px 0;
		padding: 100px 0 90px;
	}
	.business-area::before{
		background-size: contain;
		background-position: top center;
	}
	.business-area::after{
		background-size: contain;
		background-position: bottom;
	}
	.business-area .txt-area .catch-m{
		margin: 10px 0 0;
	}
	.business-area .txt-area .basic-txt{
		margin: 10px 0 0;
	}

	.business-area .block{
		margin: 20px 0 0;
	}
	.business-area .block::before{
		width: 300px;
		height: 250px;
		right: -50px;
		top: -20px;
	}
	.business-area .block:nth-child(4)::before{
		top: 200px;
		top: 100px;
	}
	.business-area .block:nth-child(3)::before{
		left: -50px;
		top: 100px;
	}
	.business-area .block .txt-box{
		display: block;
		position: relative;
	}
	.business-area .block .ttl-m{
		margin: 10px 0 0;
	}
	.business-area .block .ttl-m .jp{
		font-size: 2rem;
	}
	.business-area .block .catch-s{
		margin: 10px 0 0;
	}
	.business-area .block img{
		margin: 0;
		width: 250px;
		height: 250px;
	}
	.business-area .block:nth-child(2) img,
	.business-area .block:nth-child(4) img{
		right: 0;
		margin: 0;
	}
	.business-area .block:nth-child(3) img{
		left: auto;
		margin: 0 0 0 auto;
		display: block;
	}

	.business-area .block .basic-txt{
	}
}

.recruit-stats {

}
.main-title {
  font-size: 2.3rem;
	font-weight: bold;
	margin: 40px 0 0;

}

/* グリッド設定 */
.stats-grid {

}

/* カード基本スタイル */
.stat-card {
	padding: 40px 20px;
	color: #fff;
	border-radius: 30px;
	position: relative;
	display: flex; /* アイコンとテキストを縦並びにするため */
	flex-direction: column;
	align-items: center; /* 中央寄せ */
	text-align: center;
	justify-content: center;
}

.stat-card.dark { 
	background:var(--bluegrade); 
}
.stat-card.gold { 
  background: var(--bluegrade); 
  color: #fff; 
}
.stat-card img{
	width: 100%;
	border-radius: 15px;
	margin: 20px 0 0;
}


/* 数字の装飾 */
.label {
	display: block;
	margin-bottom: 15px;
	font-size: 2rem;
	letter-spacing: .1em;
	font-weight: bold;
	color: #fff;
}

.number {
	font-size: 4rem;
	font-weight: bold;
	letter-spacing: -1px;
	font-family: var(--en);
	letter-spacing: .05em;
}
.number p{
	line-height: 1;
}

.unit {
  font-size: 16px;
  margin-left: 5px;
}

.desc {
  margin-top: 15px;
	line-height: 2;
}

.parent {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(3, 1fr);
	grid-column-gap: 30px;
	grid-row-gap: 30px;
		margin: 20px 0 0;
}

.div1 { grid-area: 1 / 1 / 2 / 2; }
.div2 { grid-area: 1 / 2 / 3 / 3; }
.div3 { grid-area: 1 / 3 / 2 / 4; }
.div4 { grid-area: 2 / 1 / 4 / 2; }
.div5 { grid-area: 3 / 2 / 4 / 3; }
.div6 { grid-area: 2 / 3 / 4 / 4; }

/* --- レスポンシブ (スマホ) --- */
/*@media screen and (max-width: 900px) {
  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .stats-grid .stat-card:nth-child(even) {
    margin-top: 20px;
  }
}

@media screen and (max-width: 480px) {
  .stats-grid {
    grid-template-columns: 1fr; 
    gap: 15px;
  }
  .stats-grid .stat-card:nth-child(even) {
    margin-top: 0; 
  }
}*/

@media screen and (max-width: 768px){
	.stats-grid{
		display: block;
		
	}
	.stat-card{
		border-radius: 10px;
		padding: 15px;
	}
	.stat-card:nth-child(n + 2){
		margin: 10px 0 0;
	}
}

/* -----------------------------
	history-area
-------------------------------- */
.history-area {
  padding: 100px 0;
  overflow: hidden;
}

.history-container {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
}


/* 中央の点線 */
.history-line {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  border-left: 2px dashed #666;
  transform: translateX(-50%);
}

.history-item {
  width: 50%;
  margin-bottom: 60px;
  position: relative;
}

/* 左側のアイテム */
.history-item.left {
  margin-right: auto;
  padding-right: 50px;
  text-align: right;
margin: -200px 0 0;
}

/* 右側のアイテム */
.history-item.right {
  margin-left: auto;
  padding-left: 50px;
}

/* 横線の装飾 */
.history-item::after {
  content: "";
  position: absolute;
  top: 20px;
  width: 40px;
  height: 2px;
  background: #666;
}

.history-item.left::after { right: 0; }
.history-item.right::after { left: 0; }

.history-content > div{
	background: var(--lightblue);
	padding: 30px;
	border-radius: 15px;
	margin: 20px 0 0;
}

.year { 
	font-size: 3.5rem; 
	font-weight: bold;
	font-family: var(--en);
	
}
.history-area .title{
	font-size: 2rem;
	line-height: 1.5;
	margin: 0 0 0;
	font-weight: bold;
	color: var(--blue);
	text-align: left;
}
.history-area ul{
	margin: 10px 0 0 ;
	text-align: left;
}
.history-area ul li{
	line-height: 2;
}

@media screen and (max-width: 768px){
	.history-area{
		margin: 50px 0;
		padding: 0;
	}
	.history-container {
		margin: 30px 0 0;
		padding: 0 20px;
	}


	/* 中央の点線 */
	.history-line {
		left: 20px;
	}

	.history-item {
		width: 100%;
	}

	/* 左側のアイテム */
	.history-item.left {
		margin: 0;
		text-align: left;
		padding: 0 0 0 30px;
	}

	/* 右側のアイテム */
	.history-item.right {
		margin: 0;
		padding-left: 30px;
	}

	/* 横線の装飾 */
	.history-item::after {
    width: 20px;
	}

	.history-item.left::after {
		right: auto;
		left: 0;
	}
	.history-item.right::after {  }

	.history-content > div{
		margin: 5px 0 0;
		border-radius: 5px;
		padding: 10px;
	}

	.year { 
		font-size: 3rem;
		margin: 20px 0 0;
	}
	.history-area .title{
		font-size: 1.8rem;
		line-height: 1.5;
	}
	.history-area ul{
		margin: 0;
	}
	.history-area ul li{
	}

}
