@charset "UTF-8";
@import url("global.css");
/* ------------------------------
 Archive-page
------------------------------ */
.newslist {
  border-bottom: #DDDDDD solid 1px;
  margin-bottom: 80px;
}
.newslist li {
  border-top: #DDDDDD solid 1px;
}
.newslist li .inner {
  display: flex;
  width: 100%;
  padding: 35px 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.newslist li .inner .ph {
  width: 100%;
  padding-right: 50px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.newslist li .inner .ph figure {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  position: relative;
  overflow: hidden;
}
.newslist li .inner .ph figure img {
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  -webkit-transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.newslist li .inner .text {
  flex-shrink: 0;
  width: 50%;
}
.newslist li .inner .text .postinfo {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.newslist li .inner .text .postinfo .cat {
  text-align: center;
  padding: 3px 15px;
  -webkit-border-radius: 99px;
  border-radius: 99px;
  width: fit-content;
  background-color: #E07600;
  color: #FFF;
  font-size: .8125em;
}
.newslist li .inner .text .postinfo .cat.cat-event {
  background-color: #2F984E;
}
.newslist li .inner .text .postinfo .date {
  font-family: "Lexend", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "游ゴシック Medium", "Yu Gothic Medium", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Meiryo", "メイリオ", Helvetica, sans-serif;
  color: #828282;
}
.newslist li .inner .text .posttitle {
  text-align: justify;
  margin-bottom: 10px;
  font-weight: 700;
  font-size: clamp(18px, 2.2vw, 26px);
  transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  -webkit-transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.newslist li .inner .text table.postdata {
  margin-bottom: 20px;
  font-size: .94em;
  border-spacing: 0 6px;
}
.newslist li .inner .text table.postdata th {
  border: #DDDDDD solid 1px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  color: #828282;
  white-space: nowrap;
  font-size: 14px;
  padding: 2px 12px;
}
.newslist li .inner .text table.postdata td {
  padding-left: 10px;
}
.newslist li .inner .text .excerpt {
  font-size: .94em;
  color: #828282;
}
@media (any-hover: hover) {
  .newslist li a.inner:hover .ph figure img {
    filter: blur(3px);
    transform: scale(1.03);
  }
  .newslist li a.inner:hover .text .posttitle {
    color: #2F984E;
  }
}

/* ------------------------------
 Entry-page
------------------------------ */
.entry #toparea:has(.mv) .topbg {
  height: auto;
  padding-bottom: 150px;
}
.entry #toparea .topbg .wrapper {
  display: block;
  height: auto;
}
.entry #toparea .post_info {
  display: flex;
  align-items: center;
  margin: 20px 0 15px;
}
.entry #toparea .post_info .cat {
  margin-right: 10px;
  text-align: center;
  padding: 3px 15px;
  -webkit-border-radius: 99px;
  border-radius: 99px;
  width: fit-content;
  background-color: #E07600;
  color: #FFF;
  font-size: .8125em;
}
.entry #toparea .post_info .cat.cat-event {
  background-color: #2F984E;
}
.entry #toparea .post_info .date {
  font-family: "Lexend", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "游ゴシック Medium", "Yu Gothic Medium", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Meiryo", "メイリオ", Helvetica, sans-serif;
  color: #828282;
}
.entry #toparea .post_title {
  font-weight: 700;
  font-size: clamp(24px, 3.2vw, 36px);
  line-height: 1.5;
}
.entry #toparea .mv {
  margin-top: -110px;
  width: 100%;
  position: relative;
}
.entry #toparea .mv figure {
  width: 100%;
}
.entry #toparea .mv figure img {
  max-height: 600px;
}
.entry #bodyarea table.postdata {
  margin: 50px auto;
  width: 100%;
  border-top: #DDDDDD solid 1px;
  border-bottom: #DDDDDD solid 1px;
  padding: 20px 1em;
}
.entry #bodyarea table.postdata th, .entry #bodyarea table.postdata td {
  padding: 5px 15px;
}
.entry #bodyarea table.postdata th {
  white-space: nowrap;
  font-weight: 700;
  color: #828282;
}
.entry #bodyarea table.postdata td {
  width: 43%;
}
.entry #bodyarea #postbody .postbody iframe {
  margin: 2em auto;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}
.entry #sec_form {
  margin: 120px 0 0;
}
.entry #sec_form .sec_title {
  text-align: center;
}
.entry #sec_form .sec_title span {
  display: block;
}
.entry #sec_form .sec_title .en {
  font-size: clamp(14px, 1.6vw, 18px);
  color: #2F984E;
}
.entry #sec_form .sec_title .ja {
  font-weight: 700;
  font-size: clamp(21px, 3.2vw, 42px);
  margin-bottom: 20px;
}
.entry .indexlink {
  padding: 70px 0;
}
.entry .indexlink .plan_view a {
  text-align: center;
  margin: 0 auto;
}

/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-1 ( 1600px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 1600px) {
  .entry #toparea .topbg .wrapper {
    padding-right: 180px;
  }
}
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-2 ( 1300px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 1300px) {
  /* ------------------------------
   Archive-page
  ------------------------------ */
  .newslist li .inner {
    padding: 30px 0;
  }
  .newslist li .inner .ph {
    padding-right: 30px;
  }
  .newslist li .inner .text .postinfo .cat {
    padding: 2px 10px;
  }
  .newslist li .inner .text table.postdata {
    margin-bottom: 0;
  }
  .newslist li .inner .text .excerpt {
    display: none;
  }

  /* ------------------------------
   Entry-page
  ------------------------------ */
  .entry #toparea .post_info {
    margin-bottom: 10px;
  }
  .entry #bodyarea table.postdata th, .entry #bodyarea table.postdata td {
    padding: 5px 10px;
  }
  .entry #bodyarea table.postdata th {
    width: 8%;
  }
  .entry #bodyarea table.postdata td {
    width: 42%;
  }
  .entry #sec_form {
    margin: 100px 0 0;
  }
}
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-3 ( 959px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 959px) {
  /* ------------------------------
   Archive-page
  ------------------------------ */
  .newslist li .inner .ph {
    padding-right: 20px;
  }
  .newslist li .inner .text .postinfo {
    margin-bottom: 5px;
  }
  .newslist li .inner .text .postinfo .cat {
    padding: 3px 12px 2px;
  }
  .newslist li .inner .text .posttitle {
    line-height: 1.6;
  }
  .newslist li .inner .text table.postdata {
    border-spacing: 0 4px;
  }
  .newslist li .inner .text table.postdata th {
    padding: 1px 10px;
  }

  /* ------------------------------
   Entry-page
  ------------------------------ */
  .entry #toparea .topbg .wrapper {
    padding-right: 6vw;
  }
  .entry #toparea .post_info {
    margin: 40px 0 15px;
  }
  .entry #toparea .post_info .cat {
    padding: 2px 12px;
  }
  .entry #bodyarea table.postdata {
    margin: 40px auto;
    padding: 15px;
  }
  .entry #bodyarea table.postdata th, .entry #bodyarea table.postdata td {
    padding: 4px 5px;
  }
  .entry #bodyarea table.postdata th {
    width: 10%;
  }
  .entry #bodyarea table.postdata td {
    width: 40%;
  }
  .entry #sec_form {
    margin: 70px 0 0;
  }
  .entry .indexlink {
    padding: 50px 0;
  }
}
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-4 ( 644px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 644px) {
  /* ------------------------------
   Archive-page
  ------------------------------ */
  .newslist li .inner {
    padding: 20px 15px;
    display: block;
  }
  .newslist li .inner .ph {
    width: 100%;
    padding: 0 0 20px;
  }
  .newslist li .inner .ph figure {
    height: auto;
    position: static;
    padding-top: 0;
  }
  .newslist li .inner .ph figure img {
    position: static;
  }
  .newslist li .inner .text {
    width: 100%;
  }
  .newslist li .inner .text .postinfo .cat {
    padding: 1px 7px;
    letter-spacing: 0;
  }
  .newslist li .inner .text .posttitle {
    line-height: 1.3;
  }

  /* ------------------------------
   Entry-page
  ------------------------------ */
  .entry #toparea .topbg .wrapper {
    padding-right: 5vw;
  }
  .entry #toparea .topbg.low {
    padding-bottom: 35px;
    height: auto;
  }
  .entry #toparea .post_info {
    margin: 20px 0 15px;
  }
  .entry #toparea .post_info .cat {
    margin-right: 7px;
  }
  .entry #toparea .mv {
    height: auto;
    padding-top: 0;
    position: relative;
  }
  .entry #toparea .mv figure {
    position: static;
    height: auto;
  }
  .entry #bodyarea table.postdata {
    margin: 40px auto 25px;
    padding: 15px 5px;
  }
  .entry #bodyarea table.postdata th, .entry #bodyarea table.postdata td {
    display: inline-block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 3px 0;
  }
  .entry #bodyarea table.postdata th {
    width: 15%;
    white-space: nowrap;
  }
  .entry #bodyarea table.postdata td {
    width: 85%;
  }
  .entry #sec_form {
    margin: 60px 0 0;
  }
}
