@charset "UTF-8";
/* ======================================================================== */
/* お知らせ：一覧ページ
/* ======================================================================== */
#news_listArea {
  position: relative;
  z-index: 1;
}
#news_listArea .section_basic {
  position: relative;
  z-index: 1;
}
#news_listArea .section_basic:before {
  content: "";
  position: absolute;
  top: 15rem;
  left: 0;
  width: 100%;
  height: calc(100% - 15rem);
  background: url("../img/common/bg.png") repeat;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  #news_listArea .section_basic:before {
    width: 100vw;
    top: 10rem;
    height: calc(100% - 10rem);
    left: calc(50% - 50vw);
  }
}
#news_listArea #section_headlinePhoto {
  margin-bottom: 4rem;
}

/* OBJECT
/* ------------------------------------------------------------- */
#news_listArea ul.object_list {
  top: 0;
  left: 50%;
  width: 110%;
  -webkit-transform: translate(-50%, 0%);
          transform: translate(-50%, 0%);
}
#news_listArea ul.object_list li {
  width: 20%;
}
@media screen and (max-width: 768px) {
  #news_listArea ul.object_list li {
    width: 24%;
  }
}
#news_listArea ul.object_list li.icon_left {
  left: 0%;
  top: 46%;
}
@media screen and (max-width: 768px) {
  #news_listArea ul.object_list li.icon_left {
    left: -6%;
    top: 27%;
  }
}
#news_listArea ul.object_list li.icon_right {
  right: -2%;
  top: 70%;
}
@media screen and (max-width: 768px) {
  #news_listArea ul.object_list li.icon_right {
    right: -3%;
    top: 24%;
    width: 24%;
  }
}

/* NEWS LIST
/* ------------------------------------------------------------- */
ul#newsList {
  list-style-type: none;
  width: 70%;
  max-width: 900px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  ul#newsList {
    width: 100%;
  }
}
ul#newsList li {
  width: 100%;
  height: auto;
  margin: 0 auto;
  border-bottom: 1px solid #ccc;
}
ul#newsList li a {
  color: #333;
  text-decoration: none;
  display: block;
  position: relative;
  z-index: 1;
  padding: 1.5rem 3rem 1.5rem 1rem;
}
ul#newsList li a:hover {
  color: #fff;
  background: #5E7E2A;
}
ul#newsList li a:hover:after {
  border-top-color: #fff;
  border-right-color: #fff;
}
ul#newsList li a:after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 0.4rem;
  height: 0.4rem;
  border-top: 1px solid #333333;
  border-right: 1px solid #333333;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  -webkit-transition: 0.2s all;
  transition: 0.2s all;
}
ul#newsList li .list_article_update,
ul#newsList li .list_article_title {
  -webkit-transition: 0.1s all;
  transition: 0.1s all;
  line-height: 160%;
}
ul#newsList li .list_article_update {
  margin-bottom: 0.5rem !important;
  font-size: 1rem;
}
@media screen and (max-width: 1024px) {
  ul#newsList li .list_article_update {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 768px) {
  ul#newsList li .list_article_update {
    font-size: clamp(14px, 2.083vw, 16px);
  }
}
@media screen and (max-width: 480px) {
  ul#newsList li .list_article_update {
    font-size: clamp(13px, 4vw, 14px);
  }
}
ul#newsList li .list_article_title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-right: 1rem;
  position: relative;
  z-index: 1;
  font-weight: 600;
  font-size: clamp(14px, 1rem + 0.2vw, 18px);
}
@media screen and (max-width: 768px) {
  ul#newsList li .list_article_title {
    font-size: clamp(15px, 4vw, 18px);
  }
}
@media screen and (max-width: 480px) {
  ul#newsList li .list_article_title {
    font-size: clamp(14px, 4.5vw, 15px);
  }
}

/* ------------------------------------------------------------- */
.list_article_update {
  margin-bottom: 0;
}

/* ======================================================================== */
/* イベント：一覧ページ
/* ======================================================================== */
ul#eventList {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 3%;
}
@media screen and (max-width: 768px) {
  ul#eventList {
    width: 100%;
  }
}
@media screen and (max-width: 480px) {
  ul#eventList {
    display: block;
    gap: initial;
  }
}
ul#eventList li {
  width: 31.3333333333%;
  height: auto;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  ul#eventList li {
    width: 48.5%;
    margin-bottom: 9%;
  }
}
@media screen and (max-width: 480px) {
  ul#eventList li {
    width: 100%;
    margin: 0 auto 4rem;
  }
  ul#eventList li:last-of-type {
    margin-bottom: 0;
  }
}

/* ------------------------------------------------------------- */
dl.event_listbody {
  width: 100%;
  height: auto;
}
dl.event_listbody dt, dl.event_listbody dd {
  width: 100%;
  height: auto;
  margin: 0 auto;
}
dl.event_listbody dt {
  margin-bottom: 1rem;
}
dl.event_listbody dd .list_article_update {
  margin-bottom: 0 !important;
  font-size: clamp(10px, 0.8rem + 0.2vw, 14px);
}
@media screen and (max-width: 480px) {
  dl.event_listbody dd .list_article_update {
    font-size: clamp(11px, 3.8vw, 12px);
  }
}
dl.event_listbody dd .list_article_title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  padding-right: 1rem;
  position: relative;
  z-index: 1;
  font-weight: 600;
  font-size: 1rem;
}
@media screen and (max-width: 1024px) {
  dl.event_listbody dd .list_article_title {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 768px) {
  dl.event_listbody dd .list_article_title {
    font-size: clamp(14px, 2.083vw, 16px);
  }
}
@media screen and (max-width: 480px) {
  dl.event_listbody dd .list_article_title {
    font-size: clamp(13px, 4vw, 14px);
  }
}
dl.event_listbody dd .list_article_title a {
  color: #333;
  text-decoration: none;
}
dl.event_listbody dd .list_article_title a:hover {
  color: #5E7E2A;
}

.event_thumb {
  width: 100%;
  height: auto;
  display: block;
  padding: 0;
  margin: initial;
  border: 1px solid #ccc;
}
.event_thumb a, .event_thumb img {
  width: 100%;
  height: 100%;
  display: block;
  -webkit-transition: 0.2s all;
  transition: 0.2s all;
}
.event_thumb img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1/1;
}
.event_thumb a:hover {
  opacity: 0.75;
}

/* ======================================================================== */
/* お知らせ：詳細ページ
/* ======================================================================== */
#firstView.single {
  overflow: hidden;
}
#firstView.single img {
  aspect-ratio: 4/1;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
}
@media screen and (max-width: 768px) {
  #firstView.single img {
    aspect-ratio: 15/8;
  }
}

#news_articleArea {
  position: relative;
  z-index: 1;
  margin: 4rem auto;
  max-width: 1200px;
  width: 80%;
}
@media screen and (max-width: 768px) {
  #news_articleArea {
    margin-top: 3rem;
  }
}
#news_articleArea:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../img/common/bg.png") repeat;
  z-index: 1;
}
#news_articleArea .section_basic {
  position: relative;
  z-index: 1;
  padding: 4rem 0;
  width: 90%;
  margin: 0 auto;
}

#articleColumn {
  line-height: 200%;
  font-size: 1rem;
}
@media screen and (max-width: 1024px) {
  #articleColumn {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 768px) {
  #articleColumn {
    font-size: clamp(14px, 2.083vw, 16px);
  }
}
@media screen and (max-width: 480px) {
  #articleColumn {
    font-size: clamp(13px, 4vw, 14px);
  }
}
#articleColumn p {
  line-height: 200%;
  font-size: 1rem;
}
@media screen and (max-width: 1024px) {
  #articleColumn p {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 768px) {
  #articleColumn p {
    font-size: clamp(14px, 2.083vw, 16px);
  }
}
@media screen and (max-width: 480px) {
  #articleColumn p {
    font-size: clamp(13px, 4vw, 14px);
  }
}
#articleColumn p {
  margin-top: 2.5rem;
}
#articleColumn p:first-of-type {
  margin-top: 0;
}
#articleColumn a {
  color: #ef8200;
  text-decoration: underline;
}
#articleColumn a:hover {
  text-decoration: none;
  color: #00aa84;
}
#articleColumn ul {
  list-style: inside;
  width: 100%;
  height: auto;
}
#articleColumn ul li {
  font-size: 1rem;
}
@media screen and (max-width: 1024px) {
  #articleColumn ul li {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 768px) {
  #articleColumn ul li {
    font-size: clamp(14px, 2.083vw, 16px);
  }
}
@media screen and (max-width: 480px) {
  #articleColumn ul li {
    font-size: clamp(13px, 4vw, 14px);
  }
}
#articleColumn ul li {
  margin-bottom: 1rem;
  list-style-type: decimal;
  line-height: 160%;
  padding-left: 2rem;
  text-indent: -2rem;
}
#articleColumn ul li:last-of-type {
  margin-bottom: 0;
}
#articleColumn h1, #articleColumn h2, #articleColumn h3, #articleColumn h4, #articleColumn h5, #articleColumn h6 {
  margin-bottom: 1.5rem;
}
#articleColumn h1 {
  font-weight: 700;
  font-size: clamp(28px, 2.4vw, 36px);
}
@media screen and (max-width: 768px) {
  #articleColumn h1 {
    font-size: clamp(24px, 6.5vw, 30px);
  }
}
@media screen and (max-width: 480px) {
  #articleColumn h1 {
    font-size: clamp(22px, 5.8vw, 28px);
  }
}
#articleColumn h2 {
  font-weight: 700;
  font-size: clamp(26px, 2.2vw, 30px);
}
@media screen and (max-width: 768px) {
  #articleColumn h2 {
    font-size: clamp(22px, 5.5vw, 26px);
  }
}
@media screen and (max-width: 480px) {
  #articleColumn h2 {
    font-size: clamp(22px, 6vw, 24px);
  }
}
#articleColumn h3 {
  font-size: clamp(24px, 2vw, 26px);
}
@media screen and (max-width: 768px) {
  #articleColumn h3 {
    font-size: clamp(20px, 5vw, 24px);
  }
}
@media screen and (max-width: 480px) {
  #articleColumn h3 {
    font-size: clamp(20px, 5.5vw, 22px);
  }
}
#articleColumn h3 {
  font-weight: 700;
}
#articleColumn h4 {
  font-size: clamp(22px, 1.8vw, 24px);
}
@media screen and (max-width: 768px) {
  #articleColumn h4 {
    font-size: clamp(19px, 5vw, 22px);
  }
}
@media screen and (max-width: 480px) {
  #articleColumn h4 {
    font-size: clamp(18px, 5vw, 20px);
  }
}
#articleColumn h4 {
  font-weight: 700;
}
#articleColumn h5 {
  font-size: clamp(20px, 1.6vw, 22px);
}
@media screen and (max-width: 768px) {
  #articleColumn h5 {
    font-size: clamp(18px, 4.5vw, 20px);
  }
}
@media screen and (max-width: 480px) {
  #articleColumn h5 {
    font-size: clamp(17px, 4.5vw, 18px);
  }
}
#articleColumn h5 {
  font-weight: 700;
}
#articleColumn h6 {
  font-size: clamp(16px, 1rem + 0.2vw, 20px);
}
@media screen and (max-width: 768px) {
  #articleColumn h6 {
    font-size: clamp(17px, 4.5vw, 20px);
  }
}
@media screen and (max-width: 480px) {
  #articleColumn h6 {
    font-size: clamp(15px, 4.2vw, 17px);
  }
}
#articleColumn iframe {
  width: 100%;
  height: 100%;
  max-width: 640px;
  min-height: 400px;
  display: block;
  margin-top: 3rem;
  border: 1px solid #ccc;
  border-radius: 16px;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 768px) {
  #articleColumn iframe {
    min-height: 200px;
  }
}
#articleColumn figure, #articleColumn img {
  width: 100%;
  height: 100%;
  max-width: 800px;
  display: block;
  -webkit-transition: 0.2s all;
  transition: 0.2s all;
  margin-bottom: 0.5rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  #articleColumn figure, #articleColumn img {
    display: block;
    width: 100%;
    margin: 0 0 1rem;
  }
  #articleColumn figure:last-of-type, #articleColumn img:last-of-type {
    margin-bottom: 0.5rem;
  }
}
#articleColumn figure img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
#articleColumn.width_border {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #ccc;
}
#articleColumn a {
  text-decoration: underline;
  color: #333;
}
#articleColumn a:hover {
  color: #5E7E2A;
  text-decoration: none;
}
#articleColumn a img:hover {
  opacity: 0.75;
}

/*--------------------------------------------------------------------------- */
#article_titleBox {
  margin-bottom: 3.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #2C2E2F;
}

#articleTitle {
  line-height: 160%;
  font-size: clamp(22px, 1.8vw, 24px);
}
@media screen and (max-width: 768px) {
  #articleTitle {
    font-size: clamp(19px, 5vw, 22px);
  }
}
@media screen and (max-width: 480px) {
  #articleTitle {
    font-size: clamp(18px, 5vw, 20px);
  }
}
#articleTitle {
  font-weight: 700;
}

#article_upDate {
  font-size: 1rem;
}
@media screen and (max-width: 1024px) {
  #article_upDate {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 768px) {
  #article_upDate {
    font-size: clamp(14px, 2.083vw, 16px);
  }
}
@media screen and (max-width: 480px) {
  #article_upDate {
    font-size: clamp(13px, 4vw, 14px);
  }
}
#article_upDate {
  line-height: 120%;
  margin-bottom: 0.5rem;
}

/*--------------------------------------------------------------------------- */
#photoArea {
  width: 100%;
  height: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
}
#photoArea a, #photoArea img {
  width: 100%;
  height: auto;
  display: block;
  -webkit-transition: 0.2s all;
  transition: 0.2s all;
}
#photoArea a:hover {
  opacity: 0.75;
}

/*--------------------------------------------------------------------------- */
#btn_more {
  margin-top: 6rem;
}

/* OBJECT
/* ------------------------------------------------------------- */
#news_articleArea ul.object_list {
  top: 0;
  left: 50%;
  width: 110%;
  -webkit-transform: translate(-50%, 0%);
          transform: translate(-50%, 0%);
}
#news_articleArea ul.object_list li {
  width: 20%;
}
@media screen and (max-width: 768px) {
  #news_articleArea ul.object_list li {
    width: 24%;
  }
}
#news_articleArea ul.object_list li.icon_left {
  left: -5%;
  top: 94%;
}
@media screen and (max-width: 768px) {
  #news_articleArea ul.object_list li.icon_left {
    left: -6%;
    top: 90%;
  }
}
#news_articleArea ul.object_list li.icon_right {
  right: -4%;
  top: -5%;
}
@media screen and (max-width: 768px) {
  #news_articleArea ul.object_list li.icon_right {
    right: -3%;
    top: -4%;
    width: 24%;
  }
}