@charset "utf-8";
/* CSS Document */

/*---------------------------------------------------------------------
	main_slide
---------------------------------------------------------------------*/
.main_slide {
    background: url(/image/top/bg_main_slide.jpg);
    padding: 0 0 20px;
    position: relative;
    background-size: cover;
}

.slide-arrow {
    position: absolute;
    top: 25%;
    z-index: 1;
}
.prev-arrow { left: 0; }
.next-arrow { right: 0; }

.slick-slide, .slick-slide::before, .caption {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.slick-slide::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main-slider {
  position: relative;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition: all 1.2s ease;
}
.main-slider.slick-initialized {
  opacity: 1;
  visibility: visible;
}
.slick-slide {
  position: relative;
    width: 100%;
    height: 150px;
    overflow: hidden;
    background: #fff;
}
.slick-slide::before {}
.slick-slide a {
    display: block;
  position: relative;
}
.slick-slide video {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.slick-slide iframe {
  position: relative;
  pointer-events: none;
      width: 100%;
}
.slick-slide figure {
  position: relative;
  height: 100%;
  margin: 0;
}
.slick-slide .slide-image {
  /*opacity: 0;*/
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: all .8s ease;
}
.slick-slide .slide-image.show {
  opacity: 1;
}
.slick-slide .image-entity {
  width: 100%;
  opacity: 0;
  visibility: hidden;
}
.slick-slide .loading {
  position: absolute;
  top: 44%;
  left: 0;
  width: 100%;
}
.slick-slide .slide-media {
  -webkit-animation: slideOut 0.4s cubic-bezier(0.4, 0.29, 0.01, 1);
  animation: slideOut 0.4s cubic-bezier(0.4, 0.29, 0.01, 1);
}
.slick-slide.slick-active {
  z-index: 1;
}
.slick-slide.slick-active .slide-media {
  -webkit-animation: slideIn 2.4s cubic-bezier(0.4, 0.29, 0.01, 1);
  animation: slideIn 2.4s cubic-bezier(0.4, 0.29, 0.01, 1);
}
.slick-slide.slick-active .caption {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  transition: all 0.7s cubic-bezier(0.32, 0.34, 0, 1.62) 0.6s;
}
.caption {
  position: absolute;
  bottom: 5%;
    right: 2%;
  text-align: center;
  padding: 10px;
  border: 3px solid;
  color: #fff;
  margin: 0;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: .02em;
  opacity: 0;
  z-index: 1;
  transition: all .3s ease;
  -webkit-transform: translateY(100px);
  transform: translateY(100px);
  background: rgba(0,0,0,.3);
}
.slick-dots {
  text-align: center;
  padding-top: 15px;
	display: none !important;
}
.slick-dots li {
  display: inline-block;
  vertical-align: top;
  margin: 0 8px;
}
.slick-dots li button {
  width: 16px;
  height: 16px;
  border: none;
  cursor: pointer;
  border-radius: 50%;
  vertical-align: middle;
  color: #fff;
  background-color: #fff;
  transition: all .3s ease;
  opacity: 1;
  text-indent: -99999px;
}
.slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover {
  opacity: .8;
}
.slick-dots li.slick-active button {
  background: rgb(54,35,135);
background: -moz-linear-gradient(top, rgba(54,35,135,1) 0%, rgba(13,115,190,1) 77%);
background: -webkit-linear-gradient(top, rgba(54,35,135,1) 0%,rgba(13,115,190,1) 77%);
background: linear-gradient(to bottom, rgba(54,35,135,1) 0%,rgba(13,115,190,1) 77%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#362387', endColorstr='#0d73be',GradientType=0 );
}

 @-webkit-keyframes slideIn {
   from {
   -webkit-filter: blur(15px);
   filter: blur(15px);
  }
   to {
   -webkit-filter: blur(0);
   filter: blur(0);
  }
}
 @keyframes slideIn {
   from {
   -webkit-filter: blur(15px);
   filter: blur(15px);
  }
   to {
   -webkit-filter: blur(0);
   filter: blur(0);
  }
}
@-webkit-keyframes slideOut {
   from {
   -webkit-filter: blur(0);
   filter: blur(0);
  }
   to {
   -webkit-filter: blur(15px);
   filter: blur(15px);
  }
}
@keyframes slideOut {
   from {
   -webkit-filter: blur(0);
   filter: blur(0);
  }
   to {
   -webkit-filter: blur(15px);
   filter: blur(15px);
  }
}

@media (min-width: 540px) {
	.slick-slide {
        height: 300px;
    }
}
/*---------------------------------------------------------------------
	top_links01
---------------------------------------------------------------------*/
.top_links01 {
    border-top: 1px solid #bbb;
    margin: 5px 0;
}

.top_links01 .top_list li {
    display: block;
	border-bottom: 1px solid #bbb;
}
.top_links01 .top_list li:first-child { border-left: none; }
.top_links01 .top_list li img { width: 100%; }

/* tablet */
@media (min-width: 768px) {
	.top_links01 {
        margin-bottom: 30px;
    }
    .top_links01 .top_list {
        display: table;
    }
    .top_links01 .top_list li {
        display: table-cell;
        box-sizing: border-box;
        border-left: 1px solid #bbb;
    }
    .top_links01 .top_list li:first-child { border-left: none; }
}
/*---------------------------------------------------------------------
	top_links02
---------------------------------------------------------------------*/
.top_links02 {
    background: url(/image/bg_05.jpg);
    padding: 20px 0;
}
.top_links02 .top_list li {
    margin: 6% 10%;
    border: 5px solid #fff;
    padding: 2%;
    border-radius: 17px;
    background: url(/image/bg_01.png);
}
.top_links02 .thumb {
    text-align: center;
}
.top_links02 .thumb img {
    max-width: 120px;
    height: auto;
}
.top_links02 a {
	text-decoration: none;
	color: #333;
	display: block;
}
.top_links02 a span {
	text-align: center;
	display: block;
}
.top_links02 .ttl {
    font-size: 140%;
    border-bottom: 1px solid #bbb;
    padding: 0 0 2%;
}
.top_links02 .en_ttl {
	font-size: 90%;
	color: #349645;
	padding-top: 3%;
}

/*新着情報*/
.top_news .top_ttl_01 {
    font-size: 140%;	
    font-weight: 500;
    text-align: center;
    border-bottom: 1px solid #bbb;
    background: url(/image/icon/icon_news.png) no-repeat center top;
    margin: 20px 0 0;
    padding: 45px 0 10px;
}
.top_news .en_ttl {
    font-size: 93.75%;
    color: #349645;
    margin: 5px 0 15px;
}
.top_news .bg_news {
    background: #cce6f7/*url(/image/bg_09.png) no-repeat left bottom*/;
    background-size: cover;
    padding: 50px 0;
    max-height: 600px;
	background-attachment: fixed;
}
.top_news .top_inner { background-color: rgba(255,255,255,.75); padding: 20px 10px; }
.top_news .top_inner .inner {
	max-width: 1000px;
	margin: 0 auto;
}

.top_news .top_inner .item {
  background: #fff;
  padding: 10px 10px 15px;
}
.top_news .item .list_news {	
	width: 100%;
	max-height: 400px;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
}
.top_news .item .list_news a { text-decoration: none; }
.top_news a.btn_01 {
	min-width: 208px !important;
	padding: 10px 30px 10px 20px;
	margin-top: 20px;
}
.top_news a.btn_01::before {
	background: url(/image/icon/icon_arrow.png) no-repeat;
    width: 8px;
    height: 8px;
    margin-top: -6px;
    border-right: none;
    border-bottom: none;
    transform: none;
}
.top_news a.btn_01:hover {
	background-color: #E8F7EA;
	border-color: #ccc;
	color: #333;
}
.bg_news p { margin: 15px 0 0 15px; }
/*top alpha*/
#alpha .top_news { margin-top: 40px; }
#alpha .top_news p { margin-bottom: 10px; }


/* tablet */
@media (min-width: 768px) {
	.top_links02 .top_list {
        font-size: 0;
    }
	.top_links02 .top_list li {
        display: inline-block;
        width: 30.6%;
        margin: 0 2% 0 0;
		font-size: 1.3rem;
    }
	.top_links02 .top_list li:first-child {
        margin-left: 2%;
    }
}

/*ボトムバナー*/
.banner_bottom {
    background: url(/image/bg_08.png);
    margin: 30px 0;	
	padding: 20px;
	text-align: center;
}
.banner_bottom li { margin-bottom: 10px; }
/* tablet */
@media (min-width: 768px) {
    .banner_bottom ul {
        font-size: 0;
        max-width: 768px;
        margin: 0 auto;
    }
    .banner_bottom li {
        display: inline-block;
        width: 31.08%;
        margin-left: 3.34%;	
    }
    .banner_bottom li:first-child { margin-left: 0; }
}

.banner01 {
    text-align: center;
    margin: 20px;
}
.banner02 {
    margin: 0 20px 30px;
	text-align: center;
}
.banner02 li { margin-bottom: 10px; }
/* tablet */
@media (min-width: 400px) {
    .banner02 ul {
        font-size: 0;
        max-width: 768px;
        margin: 0 auto;
    }
    .banner02 li {
        display: inline-block;
        width: 31.8%;
        margin-left: 0.5%;	
    }
    .banner02 li:first-child { margin-left: 0; }
}