@charset "utf-8";

/*-----------------------------------------------------------
一覧
-----------------------------------------------------------*/

.news-frame {
    max-width: 1560px;
    width: 100%;
    margin: auto;
}

.news-area {
    max-width: 1450px;
    width: 100%;
    margin: 0 0 0 auto;
}

.news-side-block {
    margin: 65px 0 0;
}

.news-list > section {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 50px 20px;
}

.news-item {
    overflow: hidden;
}

.news-link {
    display: block;
    color: inherit;
    position: relative;
}

.news-link:hover {
    color: inherit;
}

.news-link > .news-img {
    aspect-ratio: 35/22;
    overflow: hidden;
    transition: .3s;
    margin: 8px 0 0;
}

img + .no-img {
    display: none;
}

.news-link > .news-img > img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: .3s;
}

.news-link:hover > .news-img {
    filter: brightness(.5);
}

.news-meta {
    display: flex;
    align-items: center;
    align-items: center;
    gap: 20px;
}

.news-cate {
	max-width: max-content;
	display: block;
	align-items: center;
	color: var(--tertiary);
	font-size: 14px;
	letter-spacing: 0.05em;
	line-height: 1.5em;
	border-left: solid 5px var(--tertiary);
	word-break: keep-all;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	padding: 0 0 0 10px;
}

.news-date {
	display: block;
	font-size: 14px;
	letter-spacing: 0.05em;
	line-height: 1.5em;
	margin: 10px 0 0;
}

.news-link .news-meta {
    margin: 15px 0 0;
}

.news-link > .news-title {
	font-size: 14px;
	letter-spacing: 0.05em;
	line-height: 1.5em;
	margin: 10px 0 0;
}

/*-----------------------------------------------------------
詳細
-----------------------------------------------------------*/

.news-detail-area {
    max-width: 1340px;
    width: 100%;
    margin: 0 0 0 auto;
}

.news-detail {
    max-width: 892px;
    width: 100%;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 1.875em;
}

.news-meta > .news-date {
    flex-shrink: 0;
    margin: 0;
}

.news-detail .news-title {
    font-size: 22px;
    line-height: 1.46;
    border-bottom: solid 1px #707070;
    padding: 0 0 20px;
    margin: 15px 0 0;
}

.news-detail .news-img {
    text-align: center;
    margin: 20px 0 0;
}

.news-content {
    margin: 30px 0 0;
}

.news-content a {
    color: var(--primary);
    text-decoration: underline;
}

.news-content a:hover {
    text-decoration: none;
	opacity: 0.65;
}

.news-pdf-btn {
    background: var(--base-body-color);
    color: var(--white);
    margin: 40px auto 0;
    position: relative;
}

.news-pdf-btn:after {
    max-width: 18px;
    width: 100%;
    height: 19px;
    background: url(/system_panel/uploads/images/news_pdf_icon.svg) no-repeat center / contain;
}

.news-pdf-btn:hover {
    background: var(--tertiary);
    color: var(--white);
}

.news-back-btn {
    margin: 30px auto 0;
    position: relative;
}

.news-back-btn:after {
    max-width: 16px;
    width: 100%;
    height: 16px;
    background: url(/system_panel/uploads/images/news_back_arrow_icon.svg) no-repeat center / contain;
    right: auto;
    left: 20px;
}

.news-pdf-btn + .news-back-btn {
    margin: 20px auto 0;
}

/*-----------------------------------------------------------
カテゴリ
-----------------------------------------------------------*/

.category-list {
    margin: 20px 0 0;
}

.category-box {
    letter-spacing: 0.05em;
    line-height: 1.44em;
}

.category-box:not(:first-child) {
    margin: 50px 0 0;
}

.category-box > section {
    margin: 10px 0 0;
}

.category-title {
    font-size: 16px;
    letter-spacing: 0.05em;
    padding: 0 10px 20px;
    position: relative;
}

.category-title:after {
    content: "";
    display: block;
    width: 100%;
    height: 10px;
    background: url(/system_panel/uploads/images/news_side_title_deco.svg) repeat-x center;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.category-link {
    display: block;
    color: inherit;
    padding: 0 10px;
    font-size: 14px;
    letter-spacing: 0;
    line-height: 2.18em;
}

.category-link:hover {
    color: var(--secondary);
}

/*-----------------------------------------------------------
アーカイブ
-----------------------------------------------------------*/

.archive-block {
    font-size: 14px;
    letter-spacing: 0;
    line-height: 2.18em;
}

.archive-block:nth-of-type(n + 2) {
    margin: 0.4em 0 0;
}

.archive-box .webgene-item {
    display: none;
}

.archive-list {
    display: none;
}

.archive-year {
    display: flex;
    cursor: pointer;
    align-items: center;
    color: inherit;
    padding: 0 10px;
}

.archive-year:hover {
    color: var(--secondary);
    transition: .3s;
}

.archive-year .fa {
    margin: 0.1em 0 0;
    font-size: 1.2em;
    transition: .3s;
    transform-origin: center;
}

.archive-year.active .fa {
    transform: rotate(90deg);
    transform-origin: center;
    transition: .3s;
}

.archive-year > span {
    margin: 0 0 0 0.5em;
}

.archive-list {
    padding: 0 0 0 1.2em;
}

.archive-list > li {
    padding: 0;
    list-style: none;
}

.archive-list > li > a {
    display: block;
    color: inherit;
    padding: 0 10px;
}

.archive-list > li:nth-of-type(n + 2) {
    margin: 0.2em 0 0;
}

.archive-list > li > a:hover {
    color: var(--secondary);
}

/*-----------------------------------------------------------
ページャー
-----------------------------------------------------------*/

.webgene-pagination {
	width: 100%;
	grid-column: 1/3;
	font-size: 14px;
	font-family: var(--font-family01);
	line-height: 1em;
	margin: 50px auto 0;
}

.webgene-pagination > ul{
	padding: 0;
	display: flex;
	justify-content: center;
	gap: 25px;
}

.webgene-pagination > ul > li{
	display: flex;
}

.webgene-pagination > ul > li{
	width:100%;
	max-width: 20px;
	list-style: none;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	margin: 0;
}

.webgene-pagination > ul > li.selected > a{
	color: var(--base-body-color);
	cursor: inherit;
}

.webgene-pagination > ul > li > a{
	width: 20px;
	color: var(--secondary);
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 0 10px;
	border-bottom: solid 2px;
}

.webgene-pagination > ul > li > a:hover{
	color: var(--base-body-color);
}

.webgene-pagination > ul > li.selected > a:hover{
	/* color: var(--base-body-color); */
}

.webgene-pagination>ul>.prev>a,
.webgene-pagination>ul>.next>a {
	width: 7px;
	height: 14px;
	position: relative;
	border: 0;
}

.webgene-pagination>ul>.prev>a::before,
.webgene-pagination>ul>.next>a::before {
	content: "";
	display: block;
	transition: all .3s;
}

.webgene-pagination>ul>.prev>a::before {
	content: "";
	width: 14px;
	height: 14px;
	display: block;
	border-bottom: solid 2px var(--base-body-color);
	border-left: solid 2px var(--base-body-color);
	transform: translateY(-50%) rotate(45deg);
	position: absolute;
	left: 0;
	top: 50%;
}

.webgene-pagination>ul>.prev>a:hover:before {
	border-bottom: solid 2px var(--secondary);
	border-left: solid 2px var(--secondary);
}

.webgene-pagination>ul>.next>a::before {
	content: "";
	width: 14px;
	height: 14px;
	display: block;
	border-top: solid 2px var(--base-body-color);
	border-right: solid 2px var(--base-body-color);
	transform: translateY(-50%) rotate(45deg);
	position: absolute;
	right: 0;
	top: 50%;
}

.webgene-pagination>ul>.next>a:hover:before {
	border-top: solid 2px var(--secondary);
	border-right: solid 2px var(--secondary);
}

.dtlPager {
	display: flex;
	justify-content: space-between;
	margin: 40px auto 0;
}

.webgene-item-aroundPageLink {
	color: var(--base-body-color);
	font-size: 14px;
}



/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width:768px) {
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

/*-----------------------------------------------------------
一覧
-----------------------------------------------------------*/

.news-area {
    display: flex;
    justify-content: space-between;
}
  
.news-main-block {
    max-width: 1130px;
    width: 78%;
}

.news-side-block {
    max-width: 220px;
    width: 18%;
    margin: 0;
}

.news-cate {
	font-size: 15px;
}

.news-date {
	font-size: 15px;
}

/*-----------------------------------------------------------
詳細
-----------------------------------------------------------*/
  
.news-detail {
    font-size: 15px;
}
  
.news-detail .news-title {
    font-size: 26px;
}
  
/*-----------------------------------------------------------
カテゴリ
-----------------------------------------------------------*/

.category-link {
    font-size: 15px;
}
	
/*-----------------------------------------------------------
アーカイブ
-----------------------------------------------------------*/

.archive-block {
    font-size: 15px;
}
    
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
}/* min-width: 768px ここまで */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
@media screen and (min-width:1024px) {
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
  
/*-----------------------------------------------------------
一覧
-----------------------------------------------------------*/

.news-list > section {
	grid-template-columns: repeat(3,1fr);
	gap: 90px 40px;
}

.news-meta {
    gap: 40px;
}
	
.news-cate {
	font-size: 16px;
}
	
.news-date {
	font-size: 16px;
}

.news-link > .news-title {
	font-size: 16px;
}
	
/*-----------------------------------------------------------
カテゴリ
-----------------------------------------------------------*/

.category-box:not(:first-child) {
    margin: 95px 0 0;
}

.category-title {
    font-size: 18px;
}

.category-link {
    font-size: 16px;
}

/*-----------------------------------------------------------
アーカイブ
-----------------------------------------------------------*/

.archive-block {
    font-size: 16px;
}

/*-----------------------------------------------------------
詳細
-----------------------------------------------------------*/
  
.news-detail {
    font-size: 16px;
}

.news-detail .news-title {
    font-size: 30px;
    padding: 0 0 30px;
    margin: 20px 0 0;
}

.news-detail .news-img {
    margin: 30px 0 0;
}
    
.news-content {
    margin: 50px 0 0;
}

.news-pdf-btn {
    margin: 60px auto 0;
}
    
.news-back-btn {
    margin: 60px auto 0;
}

.news-pdf-btn + .news-back-btn {
    margin: 30px auto 0;
}
	
/*-----------------------------------------------------------
ページャー
-----------------------------------------------------------*/

.webgene-pagination {
    grid-column: 1/4;
    font-size: 16px;
	margin: 80px auto 0;
}

.dtlPager {
	margin: 80px auto 0;
}

.webgene-item-aroundPageLink {
	font-size: 16px;
}
	
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
}/* min-width: 1024px ここまで */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */