@charset "utf-8";

/* ****************************************************************************

　目次

-------------------------------------------------------------------------------

　01. モジュール

******************************************************************************* */
/* ==

　01. モジュール

=============================================================================== */
#vocie_anchor ul{
	margin-top:30px;
	background:#efefef;
	border-radius: 9999px;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
#vocie_anchor ul li:first-child{
	border-right:1px solid #ccc;
}
#vocie_anchor ul a{
	display:block;
	padding:15px 10px; 
	text-align:center;
	color:#333;
}
#vocie_anchor ul a:hover{
	opacity: 0.6;
}
#vocie_anchor ul a span{
	display:inline-block;	
	position: relative;
	padding-right:15px;
}
#vocie_anchor ul a span:after{
	position: absolute;
	content: " ";
	top: 50%;
	right: 0;
	width: 4px;
	height: 4px;
	margin-top: -2px;
	border-top: 1px solid #004a80;
	border-right: 1px solid #004a80;
	transform: rotate(135deg);
}
#intro{
	margin-bottom:80px;
}
#voice{
  scroll-margin-top: 80px;
	position: relative;
	background:#eaf1f5;
	padding-bottom:80px;
}
#voice .bg_txt{
	position: absolute;
	top:0;
	width:100%;
	color:#fff;
	opacity: 0.5;
	font-size: 18vw;
	font-weight:700;
	line-height:0.633;
}
#voice .voice_col {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 40px;
	align-items: center;
	margin-bottom:50px;
}
#voice .voice_item_img img {
  width: 100%;
  height: auto;
  display: block;
}
#voice .voice_txt dt{
	position: relative;
	margin:40px 0 15px;
	z-index:0;
}
#voice .voice_txt dt:first-child{
	margin-top:0;
}
#voice .voice_txt dt::before{
	content: " ";
	position: absolute;
	top:50%;
	width:100%;
	height:1px;
	background:#fff;
	z-index:-1;
}
#voice .voice_txt dt span{
	display:inline-block;
	background:#fff;
	font-size: 1.25rem;
	padding:5px 10px;
}
#voice .timetable {
  position: relative;
  display: flex; 
  gap: 50px; 
  margin-inline: 40px;
  text-align: left;
	align-items: flex-start;	
}
#voice .timetable_group {
	position: relative;
	display: grid;
	row-gap: 28px;
  flex: 1; 
}
#voice .timetable_group::before {
    position: absolute;
    inset: calc(.8em - 4px) auto 0 7px;
    display: block;
    width: 2px;
    margin: auto;
    content: "";
    background-color: #ddd;
}
#voice .timetable_item {
	position: relative;
	display: grid;
	align-items: start;
	font-size: 1.5rem;
	grid-template-columns: 3em 1fr;
	padding-left: 40px;		
}
#voice .timetable_item::after {
	position: absolute;
	inset: calc(.8em - 10px) auto auto 0;
	display: block;
	width: 16px;
	height: 16px;
	aspect-ratio: 1;
	margin: auto;
	overflow: hidden;
	content: "";
	background-color:#2f456b;
	border-radius: 9999px;
}
#voice .timetable .timetable_time {
	font-weight: 600;
	line-height: 1.6;
	color:#2f456b;
	font-size: 1.25rem;	
}
#voice .timetable .timetable_title {
	margin-top: .1em;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.6;
	color:#333;		
}
#voice .timetable .timetable_text {
	margin-top: 4px;
	font-size: 0.875rem;
	grid-column: 2 / span 1;	
	line-height:1.8;
}
@media screen and (max-width: 768px) {
	#vocie_anchor ul a span{
		font-size:0.875rem;
	}
  #voice .voice_col {
    grid-template-columns: 1fr;
  }
	#voice .voice_item_img img {
		max-width:200px;
		margin:0 auto;
	}	
	#voice .voice_txt dt span{
		font-size: 1rem;
		margin-right:20px;
	}	
	#voice .timetable {
    position: relative;
		grid-template-columns: 100%;
		row-gap: 30px;
		margin-inline: 20px;
		display: block;
	}
  #voice .timetable::before {
    content: "";
    position: absolute;
    top: calc(.8em - 4px);
    bottom: 0;
    left: 7px;
    width: 2px;
    background: #ddd;
  }
  #voice .timetable_group::before {
    display: none;
  }
	#voice .timetable_item {
		display: block;
	}	
	#voice .timetable .timetable_title {
		font-size: 1rem;
	}
}

/* tab */
.tabs__list {
  display: flex;
}
.tabs__item {
  flex: 1;
  border: none;
  cursor: pointer;
	background-color: inherit;
	border: 0;
}
.recruit .index_set .tabs__item h2.cg_font {
  font-size: 1.6rem;
	opacity: 0.6;	
}
.recruit .index_set .tabs__item.is-active h2.cg_font{
	opacity: 1;
}
.recruit .index_set .tabs__item.is-active h2.cg_font::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 21px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 10px solid #354458;
}
.tabs__item.is-active {
  position: relative;
}
.tabs__content {
  display: none;
  padding: 2rem 0;
}
.tabs__content.is-active {
  display: block;
}


@media screen and (max-width: 768px) {
	.recruit .index_set .tabs__item h2.cg_font{
		margin-top:50px;
		font-size: 1.3rem;
	}
}
.parallax_cover.act_3 .parallax_act_area{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:1px;
}