@charset "utf-8";
/*---kv--------------------*/
.topmain_pc {
  display: none;
}
.topmainimg {
  margin: 0 auto 15px;
  width: 100%;
  position: relative;
  overflow: hidden;
  z-index: 88;
  max-height: 100vh;
}
.topmainimg ul:after {
  content: ".";
  height: 0;
  clear: both;
  display: block;
  visibility: hidden;
}
.topmainimg ul {
  width: 100%;
  position: relative;
  display: inline-block;
  overflow: hidden;
}
.topmainimg ul li {
  top: 0;
  left: 0;
  width: 100%;
  position: absolute;
}
.topmainimg ul li img {
  width: 100%;
  margin-top: -2px;
}

/*---main--------------------*/
.home #primary {
  margin: 0 auto;
}
.home .div_news {
  max-width: 1000px;
  padding: 0;
  margin: 0 15px 15px;
  position: relative;
}
.home .div_news a {
  color: var(--text);
  transition: all 0.3s ease;
}
.home .div_news a:hover {
  color: #808080;
  text-decoration: none;
}
.home .div_news .newstitle {
  display: block;
  text-align: center;
  border: 1px solid;
  padding: 8px 0;
  margin-bottom: 3px;
  color: var(--text);
}
.home .div_news ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-flow: wrap;
  width: 100%;
  height: 140px;
  padding: 0 5px;
  overflow-y: scroll;
}
.home .div_news ul .new_label, .home .div_news ul li {
  line-height: 1.5;
}
.home .div_news ul .new_label {
  width: 40px;
  height: 20px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  background-color: #f03;
  margin-right: 5px;
}
.home .div_news ul li {
  width: 100%;
  margin-bottom: 3px;
}
.home .div_news ul li:first-of-type {
  width: calc(100% - 45px);
}
.home .div_news ul li span.date {
  float: left;
  font-size: 12px;
  margin-top: 3px;
}
.home .div_news ul li span.text {
  display: block;
  margin-left: 70px;
}
.home .div_news ul li:last-of-type, .div_event ul li:last-of-type {
  margin-bottom: 0 !important;
}
.home .div_news .newslist {
  width: 100%;
  text-align: center;
  border-top: 1px solid;
  border-bottom: 1px solid;
  margin-top: 3px;
}
.home .div_news .newslist a {
  display: block;
  padding: 10px 0;
}
.home .div_view {
  max-width: 1000px;
  text-align: center;
  margin: 0 15px 15px;
}
.home .div_view div {
  display: inline-block;
  margin-bottom: 10px;
}
.home .div_view div:last-of-type {
  margin-bottom: 0;
}
.home .div_view img {
  width: 100%;
}
h1.top_h1 {
  margin: 0 15px -7px;
}
h1.top_h1 img.im_event {
  width: 50%;
  max-width: 537px;
  min-width: 270px;
}
.div_event {
  position: relative;
}
.div_event .eventback {
  background: url(../images/common/topevent.jpg) no-repeat center bottom /100%;
  margin: 0 auto;
  height: 305px;
  position: relative;
  min-width: 1500px;
}
.div_event div {
  display: block;
  text-align: center;
  font-size: 16px;
  color: #fff;
  margin: auto 15px;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
}
.div_event div a {
  color: #fff;
  transition: all 0.3s ease;
}
.div_event div a:hover {
  color: #808080;
  text-decoration: none;
}
.div_event div p.title {
  display: inline-block;
  width: 100%;
  max-width: 400px;
  letter-spacing: 5px;
  border-bottom: 1px solid;
  margin-bottom: 5px;
  padding: 10px 0;
  text-align: center;
}
.div_event ul {
  display: block;
  width: 100%;
  max-width: 700px;
  height: 130px;
  overflow: auto;
  font-size: 14px;
  text-align: left;
  margin: auto !important;
  padding: 0 5px;
}
.div_event ul .event_non {
  font-size: 14px;
}
.div_event ul li {
  font-size: 14px;
  margin-bottom: 10px;
}
.div_event ul li span.date {
  float: left;
  font-size: 12px;
  font-weight: bold;
}
.div_event ul li span.title, .div_event ul li p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: bold;
  margin-left: 75px;
}
.div_event div .eventlist {
  display: block;
  width: 100%;
  max-width: 400px;
  letter-spacing: 5px;
  border: 1px solid #fff;
  margin: 20px auto 0;
  text-align: center;
}
.div_event div .eventlist a {
  display: block;
  width: 100%;
  overflow: hidden;
  outline: none;
  padding: 5px 0 5px 30px;
  position: relative;
  z-index: 2;
}
.div_event div .eventlist a:hover {
  color: var(--text);
}
.div_event div .eventlist a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: '';
  background: #fff;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}
.div_event div .eventlist a::before {
  transform-origin: right top;
}
.div_event div .eventlist a:hover::before {
  transform: scale(1, 1);
  transform-origin: left top;
  color: #fff;
}
.div_banner {
  margin-top: 20px;
  margin-bottom: 20px;
}
.div_banner .br_inner {
  margin: 0 auto;
}
.div_banner .br_large, .div_banner .br_small {
  max-width: 470px;
  margin: auto;
  padding: 0 15px;
}
.div_banner .im_banner_pc {
  display: none;
}
.div_banner .br_small div, .div_banner .br_large div {
  margin-bottom: 10px;
}
.div_banner .br_inner div:last-of-type div:last-of-type {
  margin-bottom: 0;
}
.div_banner img {
  width: 100%;
  border: 1px solid;
}

@media (min-width: 38.75em) {
  @media screen and (min-width: 64.5em) {
    /*---kv--------------------*/
    .topmainimg {
      margin: 0 auto 25px;
    }
    .topmain_pc {
      display: block;
    }
    .topmain_sp {
      display: none;
    }

    /*---main--------------------*/
    .home .div_news, .home .div_news .newstitle, .home .div_news .newslist, .home .div_news .newslist a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
    }
    .home .div_news {
      flex-flow: wrap;
      font-size: 14px;
      border: 1px solid;
      padding: 5px;
      margin: 0 auto 10px;
    }
    .home .div_news .newstitle {
      align-items: center;
      justify-content: center;
      width: 85px;
      height: 85px;
      margin-right: 10px;
    }
    .home .div_news ul {
      width: 78%;
      height: auto;
      padding: 5px 0;
      border-right: 1px solid;
      overflow-y: visible;
    }
    .home .div_news ul li span.date {
      font-size: 14px;
      margin-top: 0;
    }
    .home .div_news ul li span.text {
      margin-left: 85px;
    }
    .home .div_news .newslist {
      justify-content: center;
      align-items: center;
      width: calc(22% - 95px);
      border: none;
    }
    .home .div_news .newslist a {
      justify-content: center;
      align-items: center;
      width: 100%;
      height: 100%;
      padding-left: 5px;
    }
    .home .div_view {
      margin: 0 auto 25px;
    }
    .home .div_view div {
      margin-bottom: 0;
    }
    .home .div_view div:nth-of-type(2n) {
      margin-right: 0;
      margin-bottom: 15px;
    }
    .home .div_view div:last-of-type {
      margin-bottom: 0;
    }
    .home .div_view div {
      margin-right: 60px;
    }
    h1.top_h1 {
      max-width: 1000px;
      margin: 0 auto -15px;
    }
    h1.top_h1 img.im_event {
      width: auto;
    }
    .div_event .eventback {
      height: 328px;
    }
    .div_event div {
      width: 1000px;
      margin: auto;
      font-size: 18px;
      top: 30px;
    }
    .div_event div p.title {
      margin-bottom: 15px;
      letter-spacing: 7px;
    }
    .div_event ul {
      width: 80%;
      max-width: none;
      font-size: 16px;
    }
    .div_event ul li {
      font-size: 15px;
    }
    .div_event ul li span.date {
      font-size: 14px;
    }
    .div_event ul .event_non {
      font-size: 16px;
      text-align: center;
    }
    .div_event div ul li a:hover {
      background: #fff;
    }
    .div_event div .eventlist a {
      padding: 8px 0 8px 33px;
    }
    .div_event ul li span.title, .div_event ul li p {
      margin-left: 85px;
    }
    .div_banner {
      margin-bottom: 0;
    }
    .div_banner .br_inner {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      flex-flow: wrap;
      justify-content: space-between;
      max-width: 950px;
    }
    .div_banner .br_large {
      width: 100%;
      max-width: 970px;
      margin: auto;
      padding: 0;
    }
    .div_banner .im_banner_pc {
      display: block;
    }
    .div_banner .im_banner_sp {
      display: none;
    }
    .div_banner .br_small {
      width: 50%;
      margin: 0;
      padding: 0;
    }
    .div_banner .br_inner > div {
      margin-bottom: 20px;
    }
    .div_banner .br_inner > div:last-of-type, .div_banner .br_small div, .div_banner .br_large div {
      margin-bottom: 0;
    }
  }
}