.content-width{
    max-inline-size:60rem;
    margin-inline:auto;
    display:flex;
    flex-direction:column-reverse;
}
.search_box{
	width:100%;
	max-width:580px;
	margin:0 auto;
    position:relative;
    padding-right:6rem;
}
.search_word_input{
	display:flex;
	justify-content:space-between;
}
#search_input{
	width:100%;
	height:48px;
	font-size:1rem;
	padding:.5rem;
	border:solid 1px black;
}
#search_button{
	width:7.5rem;
	background:#919EB3;
	color:white;
	text-align:center;
	display:flex;
	flex-direction:row;
	align-items:center;
	justify-content:center;
	font-size:1.125rem;
	border:solid black 1px;
gap:6px;
	cursor:pointer;
	height:100%;
    margin-inline:auto;
    padding:.5rem;
    inline-size:100%;
    max-inline-size:20rem;
    margin-top:2rem;
    
}
#search_button > img{
		width:1.25rem;
	height:1.25rem;
}
.search_tabs{
    margin-block-start:1rem;
    display:flex;
    justify-content: center;
    inline-size:calc(100% + 1rem);
    cursor:pointer;
	margin-inline: -0.5rem;
	padding-bottom:2rem;
}
.tab{
  border:solid 1px black;
 background-color:#f0f2f6;
  
  inline-size:20rem;
  margin-inline:.5rem;
  text-align:center;
  font-size:1.125rem;
  color:white;
  padding-block:.25rem;

 position:relative;
 display:flex;
	gap:8px;
	justify-content:center;
	block-size:3.5rem;
	align-items:center;
	padding-inline-end:2rem;
	color:black;
	box-sizing:border-box;
}
.tab:after{
	position:absolute;
	content:"";

	width:0.5rem;
	height:0.5rem;
	right:1rem;
	transform-origin:center;
	transform:rotate(45deg);
	border-right:1px black solid;
	border-top:1px black solid;
}
.tab_active,.tab:hover{
    background-color:#919EB3;
    color:black;
	border:none;
		color:white;
}
.tab_active:after,.tab:hover:after{
	border-right:1px white solid;
	border-top:1px white solid;
}
.tab_active > .tab_figure,.tab:hover > .tab_figure{
filter:invert();

}
.tab_figure{
block-size:1.5rem;
	inline-size:auto;
}



.companies{
    inline-size:100%;
    background:white;
    min-block-size:1000px;
}
.category_box{
background:#C7D1DB;
padding:2rem;
    padding-block-start:0;
    position:relative;
}
.search_list{
    margin-block-start:1rem;
    margin-inline:auto;
    inline-size:57rem;
    max-inline-size:57rem;
    text-align:left;
	padding-block-start:2rem;
	padding-block-end:3rem;
	background:#d8dee4;
	
}
.place_panel .search_list{
	padding-block-start:.5rem;
	padding-block-end:1rem;
}
.place_panel{
	padding-block-end:2rem;
}
#industry_panel,#type_panel,#place_panel{
	border:solid 1px black;
    box-sizing:content-box;
	background:#d8dee4;
    margin-inline:auto;
    inline-size:57rem;
    padding:1.5rem;
    position:relative;
	
}
.search_list li{
    inline-size:13rem;
    block-size:2rem;
    display:inline-block;
    line-height:1.95rem;
    margin-block-end:.25rem;
    margin-inline:.125rem;
	background:white;
	font-size:0.9rem;
	padding-inline-start:0.25rem;
	background:white;
}
.search_list li:first-letter{
    opacity:0;
}
input{
    accent-color:black;
}
.search_list li:hover{
    background:#FFF57F;
}
.search_list li:has(input:checked){
    background:#FFF57F;
}
#type_panel li:nth-child(1):after{
	content:"キャリア教育";
	font-size:.75rem;
	display:block;
	padding-inline-start:1.25rem;
	
}
#type_panel li{
	margin-block-end:1.5rem;
}
#type_panel li:after{
	line-height:1;
	padding-block-end:.5rem;
}
#type_panel li:nth-child(2){
	width:fit-content;
}
#type_panel li:nth-child(2):after{
	content:"汎用的能力・専門活用型インターンシップ";
	font-size:.75rem;
	display:block;
	padding-inline-start:1.25rem;

	
}

/*
button{
    display:block;
    margin-inline:auto;
    inline-size:16rem;
    block-size:2.5rem;
    background:white;
    border-radius:0;
    border:solid black 1px;
    font-size:1.25rem;
    box-shadow:4px 4px 0 black;
    cursor:pointer;
    
}*/
button{
	height: 3rem;
    padding: 0;
    display: block;
    padding-top: 0;
    padding-bottom: 0;
	border:none;
}

.location_group{
    inline-size:57rem;
    margin-block-start:1rem;
	margin-inline:auto;
}
.location_group strong{
    display:inline-block;
    margin-inline-start:.5rem;
    margin-block-start:1rem;
    margin-block-end:-0.5rem;
}
.location_group .search_list{
    margin-block-start:0;
}
.place_panel{
    margin-inline:auto;
}
form{
    inline-size:fit-content;
    margin-inline:auto;
}

.result_count{
    margin-block-start:3rem;
    position:relative;
    margin-inline:.25rem;

}
.result_count div{
    inline-size:calc(100% - 10rem);
    border:solid 1px black;
    font-size:1.5rem;
    padding-inline-start:1.25rem;

}
.result_count img{
    position:absolute;
    right:3.5rem;
    bottom:-3.5rem;
    block-size:12rem;
	
}


.panel{
	
	background:#d8dee4;
	border-block-start:1
}


.type_explain{
    display:flex;
    align-items:flex-end;
    font-size:.875rem;
    padding-block-start:.75rem;
    padding-block-end:.125rem;
}
.type_explain>div{
    margin-inline-start:.25rem;
    margin-inline-end:.75rem;
}
.type_explain>a{
    display:block;
    text-decoration:underline;
    margin-inline-start:1.5rem;
}
.type_explain img{
    block-size:2.5rem;
    inline-size:2.5rem;
}
.explain_type{
    display:flex;
}
.companies_list{
display:flex;
flex-wrap:wrap;

}
.companies_list li{
  min-block-size:10rem;
  inline-size:calc(50% - 1rem);
  border:solid 1px black;
  margin-block:1rem;
  display:flex;
  flex-direction:column;
  justify-content: space-between;
  block-size:fit-content;
}
.companies_list li:nth-child(odd){
    margin-inline-end:1rem;
 
 }
.companies_list li:nth-child(even){
    margin-inline-start:1rem;
 
 }
 .company{
    padding:1rem;
 }
 .company>img{
    inline-size:calc(100% - 2rem);
    margin-inline:auto;
    block-size:15rem;
    object-fit: cover;
    object-position:center;
    background:white;
    display:block;
    margin-block:.75rem;
 }
 iframe{
    inline-size:100%;
    block-size:240px;
    margin-inline:auto;
    padding:.5rem;
    align-self:center;
    box-sizing:border-box;
 }
 .intern_info{
    display:flex;
    justify-content: space-between;
    align-items: center;
}
 .intern_info img{
    display:block;
    inline-size:2.25rem;
    block-size:2.25rem;
    aspect-ratio:initial;
 }

 .company_detail{
    border-block-start:1px black solid;
 }
 .type_box{
    display:flex;
 }
 .type_box img{
    margin:.25rem;
 }

 .table_line{
    display:flex;
    align-items:center;
 }
 .table_title{
    border-inline-end:1px black solid;
    padding-inline:.75rem;
    padding-block:.5rem;
    text-align-last: justify;
    inline-size:5.75rem;
    align-self:stretch;
 }
 .table_line:nth-child(n+2){
    border-block-start:black 1px solid;
 }
 .business .table_title{
    border-inline-end:1px black solid;
    padding-block:.75rem;
    text-align-last: justify;

 }
 .table_content{
    padding:.5rem;
    inline-size:calc(100% - 5.75rem);
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
	 overflow-y:hidden;
	 position:relative;
 }
.table_content:after{
	content:"";
	position:absolute;
	inline-size:100%;
	block-size:0.5rem;
	bottom:0;
	left:0;
	background:white;
	
}

 .detail_link_wrapper{
    display:flex;
    justify-content:flex-end;
    background:#C7D1DB;
    padding:.75rem;
 }
 .detail_link{
    background:white;
    border:solid 1px black;
    padding:.5rem;
    display:block;
    inline-size:10rem;
    position:relative;

 }
 .detail_link:after{
    content:">";
    position:absolute;
    right:.5rem;
    transform:scaleX(0.7);
 }

.kirakira{
	inline-size:40px !important;
	block-size:40px !important;
	right:3.5rem !important;
	bottom:9rem !important;
	animation:kirakira 2s infinite;
    position:absolute;
}
@keyframes kirakira{
	0%{opacity:0}
	50%{opacity:1}
	100%{opacity:0;}
}
.loupe_human{

position:absolute;
    right:0;
    block-size:11rem;
    inline-size:auto;
    bottom:0.5rem;

    
}

.wb_category{
position:absolute;
    width:20px;
    height:20px;
    border-right:1px black solid;
    border-top:1px black solid;
    background:#d8dee4;
    bottom:calc(100% - 19px);
    transform-origin:center;
    transform:translateY(-50%) rotate(-45deg) ;
}
.wb_industry{
   left:calc(50% - 230px);
}
.wb_place{
   left:calc(50% - 60px);
}
.wb_type{
   left:calc(50% + 110px);
}