@charset "utf-8";
/*==============================================
    
  ニュース一覧・詳細共通

==============================================*/

@media screen and (min-width:768px) and (max-width:1499px) { /* for 幅狭PC＆TAB */
	.sub-main_inner{
		max-width: 96vw;
		margin-left: auto;
		margin-right: auto;
	}
}


/*==============================================
    
  ニュース一覧

==============================================*/
.news--parts{
	display: grid;
	grid-template-columns: auto auto 1fr 36px;
	grid-template-areas: 
		"time cat blank arrow"
		"txt txt txt arrow";
	gap: 16px 30px;
	width: 100%;
	padding: 31px 40px;
	margin-bottom: 16px;
	border: var(--border);
	border-radius: 10px;
	position: relative;
  color: var(--fontColor) !important;
  text-decoration: none !important;
}
.news--parts .pin{
	color: #000;
	position: absolute;
	top:  calc(50% - 6px);
	left: -15px;
}
.news--parts .pin svg{
	width: 20px;
	height: 14px;
}
.news--parts time{
	grid-area: time;
	font-weight: 500;
	font-size: 0.8125rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
	color: var(--fontColor-500);
}
.news--parts .cat{
	grid-area: cat;
	width: 8em;
	padding: 0.45em 0.5em;
	line-height: 1;
	font-weight: 400;
	font-size: 0.75rem;
	border-radius: 3px;
	letter-spacing: 0.05em;
	text-align: center;
	background: var(--bg-gray2);
}
.news--parts .txt{
	grid-area: txt;
	font-weight: 500;
	letter-spacing: 0.1em;
}
.news--parts .arrow{
	grid-area: arrow;
	align-self: center;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 36px;
	height: 20px;
	margin-bottom: 4px;
	color: #FFF;
	background: var(--btnColor2);
	border-radius: 25px;
}
.news--parts .arrow svg{
	width: 10px;
	height: 9px;
  fill: #FFF;
}
.nothing{
	display: block;
	text-align: center;
	padding: 50px 2vw;
	font-size: 0.875rem;
	color: var(--fontColor-500);
}
.news--tabs {
  margin-bottom: 1.5em;
  display: flex;
  flex-wrap: wrap;
  gap : 0.5em 0.875em;
}
.news--tabs li{
  text-align: center;
}
.news--tabs li a{
  display: inline-block;
  text-decoration: none;
  border: var(--border);
  color: var(--fontColor);
  border-radius: 100px;
}
.news--tabs li.active a{
  background-color: var(--btnColor2);
  border: var(--btnColor2) solid 1px;
  color: #fff;
}
@media (min-width:768px){ /* 768px以上全て */
	.news--parts{
		transition: background-color 0.3s ease;
	}
	.news--parts:hover{
		background-color: var(--bg-gray);
		transition: background-color 0.3s ease;
	}
	.news--parts:hover .cat{
		background-color: #FFF;
	}
	.news--parts:hover .arrow{
		background-color: var(--btnColor-crr);
		transition: background-color 0.3s ease;
	}
  .news--tabs li a {
    min-width: 9em;
    padding: 0.875em 1em;
    transition: all 0.3s ease;
  }
  .news--tabs li a:hover {
    background-color: var(--btnColor2);
    border: var(--btnColor2) solid 1px;
    color: #fff;
    text-decoration: none;
  }
}
@media screen and (min-width:768px) and (max-width:1499px) { /* for 幅狭PC＆TAB */
}
@media screen and (max-width: 767px) { /* for SP */
	.news--parts{
		grid-template-areas:
			"time cat blank arrow" 
			"txt  txt txt  txt";
		gap: 3vw;
		padding: 5vw;
		margin-bottom: 3vw;
	}
	.news--parts .cat{
		width: 9em;
		padding: 0.35em 0.5em;
	}
	.news--parts .txt{
		letter-spacing: 0.05em;
	}
  .news--tabs {
    gap : 0.75em 1em;
    margin-bottom: 1.25em
  }
  .news--tabs li {
    width: calc((100% - 1em) / 2)
  }
  .news--tabs li a {
    width: 100%;
    padding: 0.75em 1em;
  }
}


/*==============================================
    
  ニュース詳細

==============================================*/
.newsTitle{
	display: block;
	margin-bottom: 32px;
	padding: 24px;
	font-size: 1.375rem;
	font-weight: bold;
	background: var(--bg-gray);
}
.newsInfo {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2em;
  gap: 1em;
}
.newsInfo time {
  grid-area: time;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
  color: var(--fontColor-500);
}
.newsInfo .cat {
  grid-area: cat;
  width: 8em;
  padding: 0.45em 0.5em;
  line-height: 1;
  font-weight: 400;
  font-size: 0.75rem;
  border-radius: 3px;
  letter-spacing: 0.05em;
  text-align: center;
  background: var(--bg-gray2);
}
.newsDetail p {
  line-height: 1.8;
	margin-bottom: 1.2em;
}
.newsDetail a {
  color: var(--link);
  text-decoration: underline;
}
@media (min-width:768px){ /* 768px以上全て */
  .newsDetail a:hover {
    text-decoration: none;
  }
}
@media screen and (min-width:768px) and (max-width:1499px) { /* for 幅狭PC＆TAB */
}
@media screen and (max-width: 767px) { /* for SP */
	.news--parts{
		grid-template-areas:
			"time cat blank arrow" 
			"txt  txt txt  txt";
		gap: 3vw;
		padding: 5vw;
		margin-bottom: 3vw;
	}
	.news--parts .cat{
		width: 9em;
		padding: 0.35em 0.5em;
	}
	.news--parts .txt{
		letter-spacing: 0.05em;
	}
}


