@charset "UTF-8";
/* CSS Document */

/*
	お知らせ一覧
-----------------------------------------------------------------------------------------------*/
#newsWrapper{
	display: flex;
	flex-direction: column;
	gap: max(60px, calc(60 / var(--baseWidth) * 100vw));
	margin-bottom: max(100px, calc(100 / var(--baseWidth) * 100vw));
}

/* 絞り込みボタン
============================== */
.cmnListFilterBtn{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: max(10px, calc(10 / var(--baseWidth) * 100vw));
}
.cmnListFilterBtn .btn{
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: max(150px, calc(150 / var(--baseWidth) * 100vw));
	min-height: max(40px, calc(40 / var(--baseWidth) * 100vw));
	padding: max(10px, calc(10 / var(--baseWidth) * 100vw)) max(10px, calc(10 / var(--baseWidth) * 100vw)) max(12px, calc(12 / var(--baseWidth) * 100vw));
	font-size: max(1.3rem, calc(13 / var(--baseWidth) * 100vw));
	color: #000;
	line-height: 1.0;
	border: 1px solid var(--colorGrey500);
	transition: var(--transitionBase);
}
/* active */
.cmnListFilterBtn .btn.isActive{
	color: #fff;
	background-color: var(--colorBlue);
	border: 1px solid var(--colorBlue);
}
@media (any-hover: hover){
	.cmnListFilterBtn .btn:hover {
		color: #fff;
		background-color: var(--colorBlue);
		border: 1px solid var(--colorBlue);
	}
}

/* pager
============================== */
.cmnPager{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: max(12px, calc(12 / var(--baseWidth) * 100vw));
}
.cmnPager .prev,
.cmnPager .next,
.cmnPager .num{
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1/1;
	border-radius: 50%;
	transition: var(--transitionBase);
}
/* 矢印 */
.cmnPager .prev,
.cmnPager .next{
	width: var(--btnBase);
	border: 1px solid var(--colorGrey100);
	position: relative;
}
.cmnPager .prev{
	margin-right: max(10px, calc(10 / var(--baseWidth) * 100vw));
}
.cmnPager .next{
	margin-left: max(10px, calc(10 / var(--baseWidth) * 100vw));
}
.cmnPager .prev::before,
.cmnPager .next::before,
.cmnPager .prev::after,
.cmnPager .next::after{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transition: var(--transitionBase);
}
.cmnPager .prev::before,
.cmnPager .next::before{
	width: calc(var(--btnBase) * 0.32);
	height: 1px;
	background-color: #000;
	transform: translate(-50%, -50%);
}
.cmnPager .prev::after,
.cmnPager .next::after{
	width: calc(var(--btnBase) * 0.16);
	aspect-ratio: 1/1;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
}
.cmnPager .next::after{
	transform: translate(calc(-50% + var(--btnBase) * 0.07), -50%) rotate(45deg);
}
.cmnPager .prev::after{
	transform: translate(calc(-50% - var(--btnBase) * 0.07), -50%) rotate(-135deg);
}
/* number */
.cmnPager .num{
	width: max(30px, calc(30 / var(--baseWidth) * 100vw));
	background-color: var(--colorGrey50);
	font-family: var(--ffEn);
	font-size: max(1.4rem, calc(14 / var(--baseWidth) * 100vw));
	line-height: 1.0;
	letter-spacing: 0;
}
/* active */
.cmnPager .num.isCurrent{
	color: #fff;
	background-color: var(--colorBlue);
	pointer-events: none;
}
@media (any-hover: hover){
	.cmnPager .prev:hover,
	.cmnPager .next:hover,
	.cmnPager .num:hover{
		color: #fff;
		background-color: var(--colorBlue);
		border-color: var(--colorBlue);
	}
	.cmnPager .prev:hover::before,
	.cmnPager .next:hover::before{
		background-color: #fff;
	}
	.cmnPager .prev:hover::after,
	.cmnPager .next:hover::after{
		border-color: #fff;
	}
	.cmnPager .next:hover::before{
		transform: translate(calc(-50% + 5px), -50%);
	}
	.cmnPager .next:hover::after{
		transform: translate(calc(-50% + var(--btnBase) * 0.07 + 5px), -50%) rotate(45deg);
	}
	.cmnPager .prev:hover::before{
		transform: translate(calc(-50% - 5px), -50%);
	}
	.cmnPager .prev:hover::after{
		transform: translate(calc(-50% - var(--btnBase) * 0.07 - 5px), -50%) rotate(-135deg);
	}
}


/*
	お知らせ詳細
-----------------------------------------------------------------------------------------------*/
/* 記事タイトル
============================== */
.newsDetailHead{
	background-color: var(--bgBlue);
}
.newsDetailHeadInner{
	width: var(--width1000);
	margin: 0 auto max(50px, calc(50 / var(--baseWidth) * 100vw));
	padding-block: max(50px, calc(50 / var(--baseWidth) * 100vw));
}
.newsDetailHead .newsMeta{
	display: flex;
	align-items: center;
	gap: max(20px, calc(20 / var(--baseWidth) * 100vw));
	margin-bottom: max(10px, calc(10 / var(--baseWidth) * 100vw));
}
.newsDetailHead .date{
	font-family: var(--ffEn);
	font-size: max(1.6rem, calc(16 / var(--baseWidth) * 100vw));
	white-space: nowrap;
}
.newsDetailHead .category{
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: max(130px, calc(130 / var(--baseWidth) * 100vw));
	min-height: max(25px, calc(25 / var(--baseWidth) * 100vw));
	color: var(--colorGrey500);
	font-size: max(1.3rem, calc(13 / var(--baseWidth) * 100vw));
	border: 1px solid var(--colorGrey500);
}
.newsDetailHead .tit{
	color: var(--colorBlue);
	font-size: max(3.2rem, calc(32 / var(--baseWidth) * 100vw));
	font-weight: var(--fwBold);
}

/* 記事
============================== */
.newsDetailCts{
	max-width: var(--width1000);
	margin: 0 auto max(60px, calc(60 / var(--baseWidth) * 100vw));
}
/* 本文 */
.newsDetailCts p{
	margin-bottom: max(30px, calc(30 / var(--baseWidth) * 100vw));
}
.newsDetailCts p:has(+ a){
	margin-bottom: max(10px, calc(10 / var(--baseWidth) * 100vw));
}
/* 本文中テキストリンク */
.newsDetailCts p a{
	display: inline-block;
	padding-inline: max(2px, calc(2 / var(--baseWidth) * 100vw));
	text-decoration: underline;
	text-underline-offset: 0.15em;
	word-break: break-all;
}
/* 単独テキストリンク */
.newsDetailCts > a{
	display: inline-flex;
	align-items: center;
	gap: max(10px, calc(10 / var(--baseWidth) * 100vw));
	text-decoration: underline;
	position: relative;
}
.newsDetailCts > a::before{
	content: "";
	flex-shrink: 0;
	width: var(--btnListArrow);
	aspect-ratio: 1/1;
	background-color: var(--bgBlue);
	border-radius: 50%;
	transition: var(--transitionBase);
}
.newsDetailCts > a::after{
	content: "";
	width: calc(var(--btnListArrow) * 0.2);
	aspect-ratio: 1/1;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	position: absolute;
	top: 50%;
	left: calc(var(--btnListArrow) * 0.384);
	transform: translateY(-50%) rotate(45deg);
	transition: var(--transitionBase);
}
.newsDetailCts > a[target="_blank"]{
	background: url("/images/ico_window_bk.svg") no-repeat right center / auto max(12px, calc(12 / var(--baseWidth) * 100vw));
	padding-right: max(18px, calc(18 / var(--baseWidth) * 100vw));
	transition: var(--transitionBase);
}
@media (any-hover: hover){
	.newsDetailCts > a:hover::before{
		background-color: var(--colorBlue);
	}
	.newsDetailCts > a:hover::after{
		border-color: #fff;
	}
	.newsDetailCts > a[target="_blank"]:hover{
		background: url("/images/ico_window_bl.svg") no-repeat right center / auto max(12px, calc(12 / var(--baseWidth) * 100vw));
	}
}
/* 画像・キャプション */
.newsDetailCts figure{
	margin: max(30px, calc(30 / var(--baseWidth) * 100vw)) 0;
}
.newsDetailCts figcaption{
	margin-top: max(10px, calc(10 / var(--baseWidth) * 100vw));
	font-size: max(1.2rem, calc(12 / var(--baseWidth) * 100vw));
}
/* 画像 */
.newsDetailCts a:has(img){
	display: block;
}
.newsDetailCts img{
	display: block;
	width: 100%;
	padding-inline: max(100px, calc(100 / var(--baseWidth) * 100vw));
}
/* 見出し1 */
.newsDetailCts h1{
	margin: max(80px, calc(80 / var(--baseWidth) * 100vw)) 0 max(20px, calc(20 / var(--baseWidth) * 100vw));
	padding-block: max(10px, calc(10 / var(--baseWidth) * 100vw));
	padding-left: max(30px, calc(30 / var(--baseWidth) * 100vw));
	font-size: max(2.8rem, calc(28 / var(--baseWidth) * 100vw));
	font-weight: var(--fwBold);
	position: relative;
}
.newsDetailCts h1::before{
	content: "";
	width: 4px;
	height: 100%;
	background: var(--gdCmn);
	border-radius: 999px;
	position: absolute;
	inset: 0;
}
/* 見出し2 */
.newsDetailCts h2{
	margin: max(60px, calc(60 / var(--baseWidth) * 100vw)) 0 max(20px, calc(20 / var(--baseWidth) * 100vw));
	padding-bottom: max(10px, calc(10 / var(--baseWidth) * 100vw));
	font-size: max(2.4rem, calc(24 / var(--baseWidth) * 100vw));
	font-weight: var(--fwBold);
	border-bottom: 1px solid var(--colorBlue);
}
/* 見出し3 */
.newsDetailCts h3{
	margin: max(40px, calc(40 / var(--baseWidth) * 100vw)) 0 max(20px, calc(20 / var(--baseWidth) * 100vw));
	padding: max(10px, calc(10 / var(--baseWidth) * 100vw)) max(15px, calc(15 / var(--baseWidth) * 100vw));
	color: #fff;
	font-size: max(1.7rem, calc(17 / var(--baseWidth) * 100vw));
	font-weight: var(--fwBold);
	background-color: var(--colorBlue);
}
/* 見出し4 */
.newsDetailCts h4{
	margin: max(35px, calc(35 / var(--baseWidth) * 100vw)) 0 max(15px, calc(15 / var(--baseWidth) * 100vw));
	color: var(--colorBlue);
	font-size: max(2.0rem, calc(20 / var(--baseWidth) * 100vw));
	font-weight: var(--fwBold);
}
/* 見出し5 */
.newsDetailCts h5{
	margin: max(30px, calc(30 / var(--baseWidth) * 100vw)) 0 max(15px, calc(15 / var(--baseWidth) * 100vw));
	font-size: max(1.8rem, calc(18 / var(--baseWidth) * 100vw));
	font-weight: var(--fwBold);
}
/* 見出し6 */
.newsDetailCts h6{
	margin: max(20px, calc(20 / var(--baseWidth) * 100vw)) 0 max(10px, calc(10 / var(--baseWidth) * 100vw));
	font-size: max(1.6rem, calc(16 / var(--baseWidth) * 100vw));
	font-weight: var(--fwBold);
}
/* リスト */
.newsDetailCts ul{
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 0 max(30px, calc(30 / var(--baseWidth) * 100vw));
}
.newsDetailCts ul > li{
	padding-left: max(22px, calc(22 / var(--baseWidth) * 100vw));
	position: relative;
}
.newsDetailCts ul > li::before{
	content: "";
	width: max(14px, calc(14 / var(--baseWidth) * 100vw));
	aspect-ratio: 1/1;
	border-radius: 50%;
	background-color: #B2C7E7;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

/* pager
============================== */
.newsDetailPager{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: max(20px, calc(20 / var(--baseWidth) * 100vw));
}
/* 矢印 */
.newsDetailPager .prev,
.newsDetailPager .next{
	display: inline-flex;
	align-items: center;
	gap: max(10px, calc(10 / var(--baseWidth) * 100vw));
	font-size: max(1.4rem, calc(14 / var(--baseWidth) * 100vw));
}
.newsDetailPager .next{
	flex-direction: row-reverse;
}
.newsDetailPager .ico{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: var(--btnBase);
	aspect-ratio: 1/1;
	border: 1px solid var(--colorGrey100);
	border-radius: 50%;
	position: relative;
	transition: var(--transitionBase);
}
.newsDetailPager .ico::before{
	content: "";
	width: calc(var(--btnBase) * 0.32);
	height: 1px;
	background-color: #000;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: var(--transitionBase);
}
.newsDetailPager .ico::after{
	content: "";
	width: calc(var(--btnBase) * 0.16);
	aspect-ratio: 1/1;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	position: absolute;
	top: 50%;
	transform: translate(calc(-50% + var(--btnBase) * 0.13), -50%) rotate(45deg);
	transition: var(--transitionBase);
}
.newsDetailPager .prev .ico{
	transform: scale(-1, 1);
}
@media (any-hover: hover){
	.newsDetailPager a:hover .ico{
		background-color: var(--colorBlue);
		border-color: var(--colorBlue);
	}
	.newsDetailPager a:hover .ico::before{
		background-color: #fff;
		transform: translate(calc(-50% + 5px), -50%);
	}
	.newsDetailPager a:hover .ico::after{
		border-color: #fff;
		transform: translate(calc(-50% + var(--btnBase) * 0.13 + 5px), -50%) rotate(45deg);
	}
}
/* 一覧へ戻る */
.newsDetailPager .back{
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: max(270px, calc(270 / var(--baseWidth) * 100vw));
	height: max(70px, calc(70 / var(--baseWidth) * 100vw));
	padding: max(20px, calc(20 / var(--baseWidth) * 100vw));
	font-size: max(1.8rem, calc(18 / var(--baseWidth) * 100vw));
	font-weight: var(--fwBold);
	border: 1px solid #000;
	border-radius: 999px;
	transition: var(--transitionBase);
}
@media (any-hover: hover){
	.newsDetailPager .back:hover{
		color: #fff;
		background-color: var(--colorBlue);
		border-color: var(--colorBlue);
	}
}

@media screen and (width <= 812px){
	/*
		お知らせ一覧
	-----------------------------------------------------------------------------------------------*/
	#newsWrapper{
		gap: 30px;
		margin-bottom: 50px;
	}

	/* 絞り込みボタン
	============================= */
	.cmnListFilterBtn{
		gap: 6px;
	}

	.cmnListFilterBtn .btn{
		min-width: 100px;
		min-height: 30px;
		padding: 5px 5px 6px;
		font-size: 1.1rem;
	}

	/* pager
	============================== */
	.cmnPager{
		gap: 10px;
	}
	.cmnPager .prev{
		margin-right: 5px;
	}
	.cmnPager .next{
		margin-left: 5px;
	}
	/* number */
	.cmnPager .num{
		width: 30px;
		font-size: 1.2rem;
	}


	/*
		お知らせ詳細
	-----------------------------------------------------------------------------------------------*/
	/* 記事タイトル
	============================== */
	.newsDetailHeadInner{
		max-width: 500px;
		margin: 0 auto 30px;
		padding: 25px;
	}
	.newsDetailHead .newsMeta{
		gap:10px;
		margin-bottom: 10px;
	}
	.newsDetailHead .date{
		font-size: 1.4rem;
	}
	.newsDetailHead .category{
		min-width: 90px;
		min-height: 20px;
		font-size: 1.1rem;
	}
	.newsDetailHead .tit{
		font-size: 2.0rem;
		line-height: 1.3;
	}

	/* 記事
	============================== */
	.newsDetailCts{
		max-width: 500px;
		margin: 0 auto;
		padding-inline: 25px;
	}
	/* 本文 */
	.newsDetailCts p{
		margin-bottom: 20px;
	}
	.newsDetailCts p:has(+ a){
		margin-bottom: 5%;
	}
	/* 本文中テキストリンク */
	.newsDetailCts p a{
		padding-inline: 2px;
	}
	/* 単独テキストリンク */
	.newsDetailCts > a{
		gap: 8px;
	}
	.newsDetailCts > a[target="_blank"]{
		background-size: auto 10px;
		padding-right: 16px;
	}
	/* 画像・キャプション */
	.newsDetailCts figure{
		margin: 25px 0;
	}
	.newsDetailCts figcaption{
		margin-top: 5px;
		font-size: 1.1rem;
	}
	/* 画像 */
	.newsDetailCts img{
		padding-inline: 0;
	}
	/* 見出し1 */
	.newsDetailCts h1{
		margin: 50px 0 20px;
		padding-block: 10px;
		padding-left: 20px;
		font-size: 2.0rem;
	}
	/* 見出し2 */
	.newsDetailCts h2{
		margin: 40px 0 15px;
		padding-bottom: 5px;
		font-size: 1.8rem;
	}
	/* 見出し3 */
	.newsDetailCts h3{
		margin: 30px 0 15px;
		padding: 8px 12px;
		font-size: 1.6rem;
	}
	/* 見出し4 */
	.newsDetailCts h4{
		margin: 25px 0 10px;
		font-size: 1.7rem;
	}
	/* 見出し5 */
	.newsDetailCts h5{
		margin: 20px 0 10px;
		font-size: 1.5rem;
	}
	/* 見出し6 */
	.newsDetailCts h6{
		margin: 15px 0 8px;
		font-size: 1.4rem;
	}
	/* リスト */
	.newsDetailCts ul{
		gap: 5px;
		margin-bottom: 20px;
	}
	.newsDetailCts ul > li{
		padding-left: 16px;
	}
	.newsDetailCts ul > li::before{
		width: 10px;
	}

	/* pager
	============================== */
	.newsDetailPager{
		gap: 8px;
		margin-top: 30px;
		padding-inline: 10px;
	}
	.newsDetailPager .prev,
	.newsDetailPager .next{
		gap: 5px;
		font-size: 1.0rem;
		letter-spacing: 0.1;
	}
	.newsDetailPager .ico{
		width: 35px;
	}
	.newsDetailPager .back{
		min-width: 120px;
		height: 45px;
		padding: 10px;
		font-size: 1.2rem;
	}
}