@charset "UTF-8";
/*=======================================================
　SLIDER
=======================================================*/
.bl_sliderList {
  overflow: hidden;
}
.bl_slider_dots {
  margin-top: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.bl_slider_dots li {
  width: 10px;
  height: auto;
  line-height: 1;
}
.bl_slider_dots li button {
  position: relative;
  text-indent: -9999px;
}
.bl_slider_dots li button:first-of-type::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 10px;
  height: 10px;
  background: #bebebe;
  border-radius: 50%;
}
.bl_slider_dots li button:nth-of-type(2) {
  display: none;
}
.bl_slider_dots li.slick-active button:first-of-type:before {
  background: #777777;
}
.bl_slider_arrow {
  position: absolute;
  width: 56px;
  height: 56px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  cursor: pointer;
}
.bl_slider_arrow.prev {
  left: calc(100% - 1024px - (100% - 1024px) / 2 - 28px);
}
.bl_slider_arrow.next {
  right: calc(100% - 1024px - (100% - 1024px) / 2 - 28px);
}
.slick-slide {
  max-width: 1024px;
  width: 100%;
}
.slick-current {
  position: relative;
}
.slick-current::before, .slick-current::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  top: 0;
}
.slick-current::before {
  left: -1024px;
}
.slick-current::after {
  right: -1024px;
}
.slick-dotted.slick-slider {
  margin-bottom: 0;
}
@media screen and (min-width: 751px) and (max-width: 1154px) {
  .bl_slider_arrow {
    width: calc(56 / 1154 * 100vw);
    height: calc(56 / 1154 * 100vw);
  }
  .bl_slider_arrow.prev {
    left: calc(100% - calc(1024 / 1154 * 100vw) - ((100% - (1024 / 1154 * 100vw)) / 2) - calc(28 / 1154 * 100vw));
  }
  .bl_slider_arrow.next {
    right: calc(100% - calc(1024 / 1154 * 100vw) - ((100% - (1024 / 1154 * 100vw)) / 2) - calc(28 / 1154 * 100vw));
  }
  .slick-slide {
    max-width: calc(1024 / 1154 * 100vw);
    width: calc(1024 / 1154 * 100vw);
  }
  .slick-current::before {
    left: calc(-1024 / 1154 * 100vw);
  }
  .slick-current::after {
    right: calc(-1024 / 1154 * 100vw);
  }
}
@media screen and (max-width: 750px) {
  .bl_slider_arrow {
    display: none;
  }
  .bl_slider_dots {
    margin-top: 20px;
    gap: 16px;
  }
  .bl_slider_dots li {
    width: 16px;
  }
  .bl_slider_dots li button:first-of-type::before {
    width: 16px;
    height: 16px;
  }
  .slick-slide {
    max-width: 750px;
  }
  .slick-current::before {
    display: none;
  }
  .slick-current::after {
    display: none;
  }
}
/*=======================================================
　WELCOME
=======================================================*/
.bl_welcome {
  padding: 76px 0 64px;
  margin-top: -35px;
  overflow: hidden;
}
.bl_welcome .ly_cont_inner::before {
  position: absolute;
  content: "";
  width: 202px;
  height: 368px;
  background: url(/images/top/welcome_rail_l.svg) top center/contain no-repeat;
  top: -76px;
  left: -488px;
}
.bl_welcome .ly_cont_inner::after {
  position: absolute;
  content: "";
  width: 418px;
  height: 628px;
  background: url(/images/top/welcome_rail_r.svg) top center/contain no-repeat;
  bottom: -64px;
  right: -488px;
}
.bl_welcome .el_sec_mainTtl {
  width: 724px;
  height: 64px;
  margin: 0 auto 32px;
}
.bl_welcome_intro {
  text-align: center;
  margin-bottom: 32px;
  font-size: 20px;
  font-weight: 700;
}
@media screen and (min-width: 751px) and (max-width: 1154px) {
  .bl_welcome {
    padding: calc(41 / 1154 * 100vw) 0 calc(64 / 1154 * 100vw);
    margin-top: 0;
  }
  .bl_welcome .ly_cont_inner::before {
    width: calc(202 / 1154 * 100vw);
    height: calc(368 / 1154 * 100vw);
    top: calc(-76 / 1154 * 100vw);
    left: calc(-488 / 1154 * 100vw);
  }
  .bl_welcome .ly_cont_inner::after {
    width: calc(418 / 1154 * 100vw);
    height: calc(628 / 1154 * 100vw);
    bottom: calc(-64 / 1154 * 100vw);
    right: calc(-488 / 1154 * 100vw);
  }
  .bl_welcome .el_sec_mainTtl {
    width: calc(724 / 1154 * 100vw);
    height: calc(64 / 1154 * 100vw);
    margin: 0 auto calc(32 / 1154 * 100vw);
  }
  .bl_welcome_intro {
    margin-bottom: calc(32 / 1154 * 100vw);
    font-size: calc(20 / 1154 * 100vw);
  }
}
@media screen and (max-width: 750px) {
  .bl_welcome {
    padding: 40px 0 80px;
    margin-top: 0;
  }
  .bl_welcome .ly_cont_inner::before {
    display: none;
  }
  .bl_welcome .ly_cont_inner::after {
    display: none;
  }
  .bl_welcome .el_sec_mainTtl {
    width: 690px;
    height: 70px;
    margin: 0 auto 40px;
  }
  .bl_welcome_intro {
    margin-bottom: 40px;
    font-size: 28px;
  }
}
/*=======================================================
　ABOUT
=======================================================*/
.bl_about {
  padding: 64px 0;
  background: url(/images/top/about_bg.jpg) top center/cover no-repeat;
}
.bl_about .el_sec_mainTtl {
  width: 486px;
  margin: 0 auto 40px;
  text-align: center;
  display: flex;
  flex-direction: column;
}
.bl_about .el_sec_mainTtl img {
  margin-bottom: 12px;
}
.bl_about .el_sec_mainTtl span {
  font-size: 17px;
  font-weight: 700;
  color: #ffffff;
  line-height: 1;
}
.bl_about .bl_media_body {
  color: #ffffff;
}
@media screen and (min-width: 751px) and (max-width: 1154px) {
  .bl_about {
    padding: calc(64 / 1154 * 100vw) 0;
  }
  .bl_about .el_sec_mainTtl {
    width: calc(486 / 1154 * 100vw);
    margin: 0 auto calc(40 / 1154 * 100vw);
  }
  .bl_about .el_sec_mainTtl img {
    margin-bottom: calc(12 / 1154 * 100vw);
  }
  .bl_about .el_sec_mainTtl span {
    font-size: calc(17 / 1154 * 100vw);
  }
}
@media screen and (max-width: 750px) {
  .bl_about {
    padding: 80px 0;
    background: url(/images/top/about_bg_sp.jpg) top center/cover no-repeat;
  }
  .bl_about .el_sec_mainTtl {
    width: 648px;
  }
  .bl_about .el_sec_mainTtl img {
    margin-bottom: 16px;
  }
  .bl_about .el_sec_mainTtl span {
    font-size: 28px;
  }
}
/*=======================================================
　TOPBNR
=======================================================*/
.bl_topBnr {
  padding: 64px 0;
  background: url(/images/top/topbnr_bg.jpg) top center/cover no-repeat;
}
.bl_topBnr .bl_bnr {
  width: 496px;
}
.bl_topBnr .bl_bnrList {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
}
.bl_topBnr .bl_bnrLeft {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
}
.bl_topBnr .bl_bnr .bl_right_ttl {
  background: linear-gradient(180deg, #116c3b 0%, #013519 100%);
  padding: 0 16px 3px;
  font-size: 20px;
  font-weight: 700;
  color: #ffffff;
  height: 44px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 17px;
}
.bl_topBnr .bl_bnr .bl_right_ttl a {
  font-size: 17px;
  font-weight: 400;
  text-decoration: underline;
}
.bl_topBnr .bl_bnr .bl_right_movie {
  display: flex;
}
@media screen and (min-width: 751px) and (max-width: 1154px) {
  .bl_topBnr {
    padding: calc(64 / 1154 * 100vw) 0;
  }
  .bl_topBnr .bl_bnr {
    width: calc(496 / 1154 * 100vw);
  }
  .bl_topBnr .bl_bnrList {
    gap: calc(32 / 1154 * 100vw);
    justify-content: center;
  }
  .bl_topBnr .bl_bnrLeft {
    gap: calc(32 / 1154 * 100vw);
  }
  .bl_topBnr .bl_bnr .bl_right_ttl {
    padding: 0 calc(16 / 1154 * 100vw) calc(3 / 1154 * 100vw);
    font-size: calc(20 / 1154 * 100vw);
    height: calc(44 / 1154 * 100vw);
    margin-bottom: calc(17 / 1154 * 100vw);
  }
  .bl_topBnr .bl_bnr .bl_right_ttl a {
    font-size: calc(17 / 1154 * 100vw);
  }
  .bl_topBnr .bl_bnr .bl_right_movie iframe {
    width: calc(496 / 1154 * 100vw);
    height: calc(300 / 1154 * 100vw);
  }
}
@media screen and (max-width: 750px) {
  .bl_topBnr {
    padding: 80px 0;
    background: #DDDDDD;
  }
  .bl_topBnr .bl_bnr {
    width: 100%;
  }
  .bl_topBnr .bl_bnrList {
    gap: 40px;
  }
  .bl_topBnr .bl_bnrLeft {
    gap: 32px;
  }
  .bl_topBnr .bl_bnr .bl_right_ttl {
    background: linear-gradient(180deg, #116c3b 0%, #013519 100%);
    padding: 0 24px 4px;
    font-size: 28px;
    height: 64px;
    margin-bottom: 24px;
  }
  .bl_topBnr .bl_bnr .bl_right_ttl a {
    font-size: 28px;
  }
  .bl_topBnr .bl_bnr .bl_right_movie {
    margin-bottom: 40px;
  }
  .bl_topBnr .bl_bnr .bl_right_movie iframe {
    width: 100%;
    height: 417px;
  }
}
/*=======================================================
　TOPNEWS
=======================================================*/
.bl_topNews {
  padding: 64px 0;
  overflow: hidden;
}
.bl_topNews .ly_cont_inner::before, .bl_topNews .ly_cont_inner::after {
  position: absolute;
  content: "";
  z-index: -1;
}
.bl_topNews .ly_cont_inner::before {
  width: 375px;
  height: 362px;
  background: url(/images/top/news_rail_l.svg) top center/contain no-repeat;
  bottom: -16px;
  left: -487px;
}
.bl_topNews .ly_cont_inner::after {
  width: 420px;
  height: 368px;
  background: url(/images/top/news_rail_r.svg) top center/contain no-repeat;
  bottom: -64px;
  right: -488px;
}
.bl_topNews .el_sec_mainTtl {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  width: 384px;
  margin: 0 auto 32px;
  text-align: center;
}
.bl_topNews .el_sec_mainTtl span {
  font-size: 17px;
  font-weight: 700;
}
.bl_topNews .el_btn {
  margin: 32px auto 0;
}
@media screen and (min-width: 751px) and (max-width: 1154px) {
  .bl_topNews {
    padding: calc(64 / 1154 * 100vw) 0;
  }
  .bl_topNews .el_sec_mainTtl {
    gap: calc(12 / 1154 * 100vw);
    width: calc(384 / 1154 * 100vw);
    margin: 0 auto calc(32 / 1154 * 100vw);
  }
  .bl_topNews .el_sec_mainTtl span {
    font-size: calc(17 / 1154 * 100vw);
  }
  .bl_topNews .el_btn {
    margin: calc(32 / 1154 * 100vw) auto 0;
  }
}
@media screen and (max-width: 750px) {
  .bl_topNews {
    padding: 80px 0;
  }
  .bl_topNews .ly_cont_inner::before {
    width: 236px;
    height: 202px;
    background: url(/images/top/news_rail_l_sp.svg) top center/contain no-repeat;
    top: -80px;
    bottom: auto;
    left: -30px;
  }
  .bl_topNews .ly_cont_inner::after {
    width: 98px;
    height: 342px;
    background: url(/images/top/news_rail_r_sp.svg) top center/contain no-repeat;
    bottom: -80px;
    right: -30px;
  }
  .bl_topNews .el_sec_mainTtl {
    gap: 16px;
    width: 512px;
    margin: 0 auto 56px;
  }
  .bl_topNews .el_sec_mainTtl span {
    font-size: 28px;
  }
  .bl_topNews .el_btn {
    margin: 56px auto 0;
  }
}
