/*==========================
一覧
==========================*/
/* カテゴリセレクト */
.entry_cat_select {
  margin-bottom: 0.30rem;
  background-color: #FFF;
  padding: 0.25rem;
  border-radius: 0.06rem;
  box-shadow: 0 2px 0.08rem rgba(0,0,0,0.06);
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}

@media screen and (max-width: 600px) {
  .entry_cat_select {
    padding: 0.20rem;
    display: block;
  }
}

.entry_cat_select .title {
  width: 2.00rem;
  font-size: 0.18rem;
  font-weight: 700;
}

@media screen and (max-width: 600px) {
  .entry_cat_select .title {
    width: 100%;
    font-size: 0.16rem;
    text-align: center;
    padding-bottom: 0.05rem;
  }
}

.entry_cat_select .list {
  width: calc(100% - 2.00rem);
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

@media screen and (max-width: 600px) {
  .entry_cat_select .list {
    width: 100%;
  }
}

.entry_cat_select .list .link {
  width: 100%;
  max-width: 2.20rem;
}

@media screen and (max-width: 600px) {
  .entry_cat_select .list .link {
    max-width: 48%;
    padding-top: 0.15rem;
  }
}

.entry_cat_select .list .link a {
  display: block;
  line-height: 0;
  padding: 0.22rem 0 0.24rem;
  border-radius: 0.30rem;
  text-align: center;
  font-size: 0.18rem;
  font-weight: 700;
  background-color: #FFF;
  color: #1A1A1A;
}

@media screen and (max-width: 600px) {
  .entry_cat_select .list .link a {
    display: block;
    line-height: 0;
    padding: 0.22rem 0 0.24rem;
    border-radius: 0.30rem;
    text-align: center;
    font-size: 0.15rem;
    font-weight: 700;
    background-color: #FFF;
    color: #1A1A1A;
  }
  .entry_cat_select .list .link a span {
    display: none;
  }
}

/* カテゴリ（すべて） */
.entry_cat_select .list .link.cat_all a {
  border: 2px solid #008C69;
}
.entry_cat_select .list .link.cat_all.active a,
.entry_cat_select .list .link.cat_all a:hover {
  border: 2px solid #008C69;
  background-color: #008C69;
  color: #FFF;
}

/* カテゴリ（お知らせ） */
.entry_cat_select .list .link.cat_news a {
  border: 2px solid #85B200;
}
.entry_cat_select .list .link.cat_news.active a,
.entry_cat_select .list .link.cat_news a:hover {
  border: 2px solid #85B200;
  background-color: #85B200;
  color: #FFF;
}

/* カテゴリ（イベント） */
.entry_cat_select .list .link.cat_event a {
  border: 2px solid #FF8000;
}
.entry_cat_select .list .link.cat_event.active a,
.entry_cat_select .list .link.cat_event a:hover {
  border: 2px solid #FF8000;
  background-color: #FF8000;
  color: #FFF;
}

/* カテゴリ（レポート） */
.entry_cat_select .list .link.cat_report a {
  border: 2px solid #09C;
}
.entry_cat_select .list .link.cat_report.active a,
.entry_cat_select .list .link.cat_report a:hover {
  border: 2px solid #09C;
  background-color: #09C;
  color: #FFF;
}

/* イベント一覧のタイトル */
#TopEventWrapper h3 {
  font-weight: 700;
  border-radius: 0.06rem;
  overflow: hidden;
  margin-bottom: 0.30rem;
}

/* 記事リスト */
.news_list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -0.15rem;
}

/* イベント予定がない場合 */
.news_list .no_entry {
  width: 100%;
  padding: 0.20rem 0 0.50rem;
  box-sizing: border-box;
  text-align: center;
}

.news_list .no_entry .text {
  font-size: 0.20rem;
}

@media screen and (max-width: 600px) {
  .news_list .no_entry .text {
    font-size: 0.14rem;
  }
}

/* 通常記事 */
.news_list .detail {
  width: 100%;
  max-width: 33.3%;
  padding-bottom: 0.30rem;
}

@media screen and (max-width: 600px) {
  .news_list .detail {
    max-width: 100%;
  }
}

.news_list .detail a {
  margin: 0 0.15rem;
  display: block;
  border-radius: 0.06rem;
  overflow: hidden;
  background-color: #FFF;
  color: #1A1A1A;
  box-shadow: 0 2px 0.08rem rgba(0,0,0,0.06);
}

.news_list .detail a .ph_wrap {
  width: 100%;
  height: 14vw;
  min-height: 2.50rem;
  max-height: 2.80rem;
  overflow: hidden;
}

@media screen and (max-width: 600px) {
  .news_list .detail a .ph_wrap {
    height: 60vw;
    min-height: auto;
  }
}

.news_list .detail a .ph_wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  transition: all 0.3s;
}

.news_list .detail a:hover .ph_wrap img {
  transform: scale(1.04);
}

.news_list .detail a .textbox {
  padding: 0.20rem;
}

.news_list .detail a .textbox .text_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* 日付 */
.news_list .detail a .textbox .text_header .entry_date {
  font-size: 0.14rem;
  font-weight: 400;
}

@media screen and (max-width: 600px) {
  .news_list .detail a .textbox .text_header .entry_date {
    font-size: 0.12rem;
  }
}

/* カテゴリ名 */
.news_list .detail a .textbox .text_header .cat_name {
  font-size: 0.13rem;
  font-weight: 500;
  padding: 0.12rem 0.10rem;
  line-height: 0;
  border-radius: 0.30rem;
  color: #FFF;
}

@media screen and (max-width: 600px) {
  .news_list .detail a .textbox .text_header .cat_name {
    font-size: 0.12rem;
    padding: 0.12rem 0.07rem;
  }
}

/* カテゴリ：お知らせ */
.news_list .detail a .textbox .text_header .cat_name.cat_news,
.news_list .detail a .textbox .text_header .cat_name.お知らせ {
  background-color: #85B200;
}

/* カテゴリ：イベント */
.news_list .detail a .textbox .text_header .cat_name.cat_event,
.news_list .detail a .textbox .text_header .cat_name.イベント・行事 {
  background-color: #FF8000;
}

/* カテゴリ：レポート */
.news_list .detail a .textbox .text_header .cat_name.cat_report,
.news_list .detail a .textbox .text_header .cat_name.レポート {
  background-color: #09C;
}

/* タイトル */
.news_list .detail a .textbox .entry_title {
  font-size: 0.18rem;
  font-weight: 700;
  padding: 0.10rem 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #1A1A1A;
}

@media screen and (max-width: 600px) {
  .news_list .detail a .textbox .entry_title {
    font-size: 0.18rem;
    line-height: 1.65;
    white-space:normal;
    text-overflow:inherit;
  }
}

.news_list .detail a .textbox .text {
  font-size: 0.15rem;
  line-height: 1.875;
  color: #1A1A1A;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

@media screen and (max-width: 600px) {
  .news_list .detail a .textbox .text {
    font-size: 0.14rem;
  }
}

.news_list .detail a .textbox .more_btn {
  padding: 0.10rem 0;
  text-align: right;
}

.news_list .detail a .textbox .more_btn span {
  font-size: 0.14rem;
  color: #008C8C;
}

.news_list .detail a .textbox .more_btn span::after {
  content: "";
  width: 0.22rem;
  height: 0.08rem;
  display: inline-block;
  background-image: url(../img/link_arrow_green.svg);
  background-position: right center;
  background-repeat: no-repeat;
  background-size: contain;
  position: relative;
  top: -0.01rem;
  right: 0;
  transition: all 0.3s;
}

.news_list .detail a:hover .textbox .entry_title .more_btn span::after {
  right: -0.03rem;
}


/*==========================
詳細
==========================*/
#EntryWrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-bottom: 0.35rem;
}

#EntryWrapper #EntryBox {
  width: 100%;
  max-width: 8.60rem;
  background-color: #FFF;
  box-shadow: 0 2px 0.08rem rgba(0,0,0,0.06);
  border-radius: 0.06rem;
  overflow: hidden;
}

#EntryWrapper #EntryBox .title_wrap {
  padding: 0.40rem;
  padding-bottom: 0;
  position: relative;
}

@media screen and (max-width: 600px) {
  #EntryWrapper #EntryBox .title_wrap {
    padding: 0.20rem;
    padding-bottom: 0;
  }
}

#EntryWrapper #EntryBox .title_wrap .cat_name {
  font-size: 0.14rem;
  font-weight: 500;
  padding: 0.13rem 0.15rem;
  line-height: 0;
  border-radius: 0.30rem;
  color: #FFF;
  position: absolute;
  right: 0.20rem;
  top: 0.20rem;
}

@media screen and (max-width: 600px) {
  #EntryWrapper #EntryBox .title_wrap .cat_name {
    font-size: 0.13rem;
    right: 0.12rem;
    top: 0.14rem;
  }
}

/* カテゴリ：お知らせ */
#EntryWrapper #EntryBox .title_wrap.cat02 .cat_name {
  background-color: #85B200;
}

/* カテゴリ：イベント */
#EntryWrapper #EntryBox .title_wrap.cat03 .cat_name {
  background-color: #FF8000;
}

/* カテゴリ：レポート */
#EntryWrapper #EntryBox .title_wrap.cat05 .cat_name {
  background-color: #09C;
}

#EntryWrapper #EntryBox .title_wrap .date {
  font-size: 0.15rem;
  display: block;
  padding-bottom: 0.10rem;
}

@media screen and (max-width: 600px) {
  #EntryWrapper #EntryBox .title_wrap .date {
    font-size: 0.13rem;
  }
}

#EntryWrapper #EntryBox .title_wrap .entry_title {
  font-size: 0.26rem;
  font-weight: 700;
  line-height: 1.65;
}

@media screen and (max-width: 600px) {
  #EntryWrapper #EntryBox .title_wrap .entry_title {
    font-size: 0.20rem;
  }
}

#EntryWrapper #EntryBox .title_wrap .sns_link_wrap {
	padding-top: 0.15rem;
}

@media screen and (max-width: 599px) {
  #EntryWrapper #EntryBox .title_wrap .sns_link_wrap {
    border-top: 1px solid #CCC;
    margin-top: 0.10rem;
  }
}

#EntryWrapper #EntryBox .title_wrap .sns_link_wrap .list {
	display: flex;
	align-items: center;
}

@media screen and (max-width: 599px) {
	#EntryWrapper #EntryBox .title_wrap .sns_link_wrap .list {
		flex-wrap: wrap;
	}
}

#EntryWrapper #EntryBox .title_wrap .sns_link_wrap .list .link {
	padding-right: 0.30rem;
}

@media screen and (max-width: 599px) {
	#EntryWrapper #EntryBox .title_wrap .sns_link_wrap .list .link {
		padding-right: 0;
		padding-bottom: 0.10rem;
		width: 100%;
	}
}

#EntryWrapper #EntryBox .title_wrap .sns_link_wrap .list .link a {
	font-size: 0.13rem;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0.05em;
	color: #333;
	text-decoration: none;
	cursor: pointer;
}

@media screen and (max-width: 599px) {
	#EntryWrapper #EntryBox .title_wrap .sns_link_wrap .list .link a {
		font-size: 0.12rem;
	}
}

#EntryWrapper #EntryBox .title_wrap .sns_link_wrap .list .link a:hover {
	opacity: 0.5;
}

#EntryWrapper #EntryBox .title_wrap .sns_link_wrap .list .link.fb a::before {
	content: "";
	width: 0.24rem;
	height: 0.16rem;
	display: inline-block;
	background-image: url(../common/img/icon_fb_black.svg);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: contain;
	position: relative;
	top: 0.03rem;
}

#EntryWrapper #EntryBox .title_wrap .sns_link_wrap .list .link.tw a::before {
	content: "";
	width: 0.24rem;
	height: 0.13rem;
	display: inline-block;
	background-image: url(../common/img/icon_x_black.svg);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: contain;
	position: relative;
	top: 0.03rem;
}

#EntryWrapper #EntryBox .title_wrap .sns_link_wrap .list .link.url a::before {
	content: "";
	width: 0.22rem;
	height: 0.13rem;
	display: inline-block;
	background-image: url(../common/img/icon_urllink.svg);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: contain;
	position: relative;
	top: 0.02rem;
}

/* リンクをコピーしましたの表示 */
.success-msg {
	display: none;
	position: fixed;
	width: 4.00rem;
	height: 0.40rem;
	line-height: 0.40rem;
	text-align: center;
	background-color: #008C8C;
	color: #fff;
	bottom: 0.50rem;
	left: 0;
	right: 0;
	margin: auto;
	text-align: center;
	border-radius: 0.20rem;
	font-size: 0.15rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	letter-spacing: 0.05em;
	z-index: 5;
}

@media screen and (max-width: 600px) {
  .success-msg {
    width: 3.00rem;
    font-size: 0.14rem;
  }
}


/* 本文 */
#EntryWrapper #EntryBox .EntryText {
  padding: 0.40rem;
  font-size: 0.16rem;
  line-height: 2;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 600px) {
  #EntryWrapper #EntryBox .EntryText {
    padding: 0.20rem;
    font-size: 0.15rem;
  }
}

#EntryWrapper #EntryBox .EntryText .EntryPhoto {
  padding-bottom: 0.40rem;
}

@media screen and (max-width: 600px) {
  #EntryWrapper #EntryBox .EntryText .EntryPhoto {
    padding-bottom: 0.20rem;
    margin: 0 -0.20rem;
  }
}

#EntryWrapper #EntryBox .EntryText .EntryPhoto img {
  display: block;
  box-shadow: 0 0.03rem 0.10rem rgba(0,0,0,0.1);
}

#EntryWrapper #EntryBox .EntryText p {
  font-size: 0.16rem;
  line-height: 2;
  letter-spacing: 0.05em;
  padding-bottom: 1em;
}

@media screen and (max-width: 600px) {
  #EntryWrapper #EntryBox .EntryText p {
    font-size: 0.15rem;
  }
}

#EntryWrapper #EntryBox .EntryText p a {
  color: #008C8C;
  font-weight: 500;
  text-decoration: underline;
  overflow-wrap:  break-word;
}

#EntryWrapper #EntryBox .EntryText p a:hover {
  text-decoration: none;
}

#EntryWrapper #EntryBox .EntryText p img {
  width: auto !important;
  height: auto !important;
}

/* YouTube */
#EntryWrapper #EntryBox .EntryText .youtube_box {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	margin-bottom: 30px;
}

#EntryWrapper #EntryBox .EntryText .youtube_box iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

/* 添付ファイル */
#EntryWrapper #EntryBox .EntryFiles {
  background-color: #F2F2F2;
  padding: 0.20rem;
  border-radius: 0.05rem;
  margin: 0 0.40rem;
}

@media screen and (max-width: 600px) {
  #EntryWrapper #EntryBox .EntryFiles {
    margin: 0 0.20rem;
  }
}

#EntryWrapper #EntryBox .EntryFiles .files_title {
  font-size: 0.18rem;
  font-weight: 700;
}

@media screen and (max-width: 600px) {
  #EntryWrapper #EntryBox .EntryFiles .files_title {
    font-size: 0.15rem;
  }
}

#EntryWrapper #EntryBox .EntryFiles a {
  font-size: 0.16rem;
  font-weight: 500;
  color: #008C8C;
  display: block;
  padding-top: 0.10rem;
  text-decoration: underline;
}

@media screen and (max-width: 600px) {
  #EntryWrapper #EntryBox .EntryFiles a {
    font-size: 0.15rem;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
}

#EntryWrapper #EntryBox .EntryFiles a:hover {
  text-decoration: none;
}

#EntryWrapper #EntryBox .event_url {
  width: 100%;
  max-width: 3.60rem;
  margin: 0.30rem auto 0;
  text-align: center;
}

#EntryWrapper #EntryBox .event_url p {
  font-weight: 700;
}

#EntryWrapper #EntryBox .event_url a {
  display: block;
  line-height: 0;
  background-color: #09C;
  padding: 0.25rem 0 0.27rem;
  font-size: 0.18rem;
  font-weight: 700;
  text-align: center;
  border-radius: 0.06rem;
  color: #FFF;
}

#EntryWrapper #EntryBox .event_url a:hover {
  background-color: #069;
}

/* ページ送り */
#EntryNavi {
	overflow: hidden;
  display: flex;
  justify-content: space-between;
  margin-top: 0.40rem;
  border-top: 1px solid #F2F2F2;
}

#EntryNavi .EntryNaviBox {
	width: 50%;
	overflow: hidden;
  box-sizing: border-box;
}

@media screen and (max-width: 600px) {
	#EntryNavi .EntryNaviBox {
		box-sizing: border-box;
		width: 100%;
	}
}

#EntryNavi .EntryNaviBox a {
	text-decoration: none;
  padding: 0.30rem;
  display: block;
  position: relative;
  color: #666;
}

#EntryNavi .EntryNaviBox a:hover {
  background-color: #F2F2F2;
}

#EntryNaviPrev {
	border-right: 1px solid #F2F2F2;
}

@media screen and (max-width: 600px) {
	#EntryNaviPrev {
		border-right: 0;
		border-bottom: 1px solid #F2F2F2;
	}
}

#EntryNaviNext a .EntryNaviText {
	padding-right: 0.40rem;
}

@media screen and (max-width: 600px) {
  #EntryNaviNext a .EntryNaviText {
    padding-right: 0.20rem;
    text-align: right;
  }
}

#EntryNaviNext a::before {
  content: "";
  width: 0.20rem;
  height: 0.20rem;
  background-image: url(../common/img/icon_right_bold_black.svg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 0.30rem;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s;
}

@media screen and (max-width: 600px) {
  #EntryNaviNext a::before {
    width: 0.14rem;
    height: 0.14rem;
    right: 0.20rem;
  }
}

#EntryNaviNext a:hover::before {
	right: 0.20rem;
}

#EntryNaviPrev a .EntryNaviText {
	padding-left: 0.40rem;
}

@media screen and (max-width: 600px) {
  #EntryNaviPrev a .EntryNaviText {
    padding-left: 0.20rem;
  }
}

#EntryNaviPrev a::before {
  content: "";
  width: 0.20rem;
  height: 0.20rem;
  background-image: url(../common/img/icon_right_bold_black_rev.svg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 0.30rem;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s;
}

@media screen and (max-width: 600px) {
  #EntryNaviPrev a::before {
    width: 0.14rem;
    height: 0.14rem;
    left: 0.20rem;
  }
}

#EntryNaviPrev a:hover::before {
	left: 0.20rem;
}

#EntryNavi .EntryNaviBox a .EntryNaviText .text {
  font-size: 0.14rem;
  padding-bottom: 0.10rem;
  opacity: 0.7;
}

@media screen and (max-width: 600px) {
  #EntryNavi .EntryNaviBox a .EntryNaviText .text {
    padding-bottom: 0;
    opacity: 1;
  }
}

#EntryNavi .EntryNaviBox a .EntryNaviText h3 {
	font-size: 0.15rem;
  font-weight: 700;
	line-height: 1.6;
  padding-bottom: 0.10rem;
}

@media screen and (max-width: 600px) {
  #EntryNavi .EntryNaviBox a .EntryNaviText h3 {
    display: none;
  }
}

#EntryNavi .EntryNaviBox a .EntryNaviText span {
	font-size: 0.13rem;
}

@media screen and (max-width: 600px) {
  #EntryNavi .EntryNaviBox a .EntryNaviText span {
    display: none;
  }
}

#EntryNavi .EntryNaviBox a:hover {
	color: #222;
}


/* サイドバー */
#EntryWrapper #SideBar {
  width: 100%;
  max-width: 3.00rem;
}

@media screen and (max-width: 600px) {
  #EntryWrapper #SideBar {
    padding-top: 0.35rem;
    max-width: 100%;
  }
}

#SideBar .SideBarCont {
	background: #FFF;
	margin-bottom: 0.35rem;
  box-shadow: 0 2px 0.08rem rgba(0,0,0,0.06);
  border-radius: 0.06rem;
  overflow: hidden;
}

#SideBar .SideBarCont h3 {
	padding: 0.15rem;
	font-size: 0.18rem;
  font-weight: 700;
	line-height: 1.3;
	color: #FFF;
}

#SideBar .SideBarCont .SideEntry a {
  color: #1A1A1A;
  padding: 0.15rem;
  display: block;
  border-bottom: 1px solid #CCC;
}

#SideBar .SideBarCont .SideEntry a:hover {
  background-color: #E5F3F3;
}

#SideBar .SideBarCont .SideEntry:last-child a {
  border-bottom: 0;
}

/* カテゴリ名 */
#SideBar .SideBarCont .SideEntry a strong {
  display: inline-block;
  font-size: 0.14rem;
}

#SideBar .SideBarCont .SideEntry a strong::after {
  content: "/";
  display: inline-block;
  padding: 0 0.04rem;
}

/* 日付 */
#SideBar .SideBarCont .SideEntry a span {
  display: inline-block;
  font-size: 0.14rem;
}

/* タイトル */
#SideBar .SideBarCont .SideEntry a h4 {
  font-size: 0.16rem;
  font-weight: 700;
  padding: 0.13rem 0 0.10rem;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #008C8C;
}

/* 本文 */
#SideBar .SideBarCont .SideEntry a p {
  font-size: 0.13rem;
  line-height: 1.65;
}


#SideBar .SideBarCont ul {
	padding: 0.15rem;
	padding-top: 0.20rem;
	border-top: 0;
	padding-bottom: 0.10rem;
}

#SideBar .SideBarCont form {
	padding: 0.15rem;
}

#SideBar .SideBarCont form select {
	width: 100%;
	box-sizing: border-box;
	font-size: 0.16rem;
}

#SideBar .SideBarCont li {
	padding-bottom: 0.10rem;
}

#SideBar .SideBarCont li a {
	line-height: 1.5;
	text-decoration: none;
	color: #444;
	font-size: 0.13rem;
	background: url(../img/list_arrow.png) no-repeat left 5px;
	padding-left: 14px;
	display: block;
	transition: all 0.2s ease;
}

@media screen and (max-width: 600px) {
	#SideBar .SideBarCont li a {
		font-size: 0.15rem;
	}
}

#SideBar .SideBarCont li a strong.Cat01 {
	color: #0087B4;
}

#SideBar .SideBarCont li a strong.Cat02 {
	color: #85B200;
}

#SideBar .SideBarCont li a strong.Cat03 {
	color: #FF8000;
}

#SideBar .SideBarCont li a strong.Cat04 {
	color: #8C6900;
}

#SideBar .SideBarCont li a strong.Cat05 {
	color: #09C;
}

#SideBar .SideBarCont li a:hover {
	background: url(../img/list_arrow.png) no-repeat 3px 5px;
	color: #222;
}

#SideBar #Latest h3 {
	background: #09C;
}

#SideBar #Monthly h3 {
	background: #008C8C;
}

/* video */
.video_wrap {
  width: 100%;
}

.video_wrap video {
  max-width: 100%;
}