.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent
}
.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0
}
.slick-list:focus {
  outline: none
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand
}
.slick-slider .slick-track, .slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}
.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table
}
.slick-track:after {
  clear: both
}
.slick-loading .slick-track {
  visibility: hidden
}
.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none
}
[dir="rtl"] .slick-slide {
  float: right
}
.slick-slide img {
  display: block
}
.slick-slide.slick-loading img {
  display: none
}
.slick-slide.dragging img {
  pointer-events: none
}
.slick-initialized .slick-slide {
  display: block
}
.slick-loading .slick-slide {
  visibility: hidden
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent
}
.slick-arrow.slick-hidden {
  display: none
}
* {
  box-sizing: border-box
}
img {
  vertical-align: bottom;
  border: 0
}
.txt01 {
  font-size: 1.4rem;
  line-height: 1.5;
  color: #000000
}
.wrap_main01 {
  max-width: 1120px;
  margin: 0 auto !important;
  display: block
}
.kv-sec {
  width: 100%;
  position: relative;
  padding-top: 66.66%
}
.kv-sec .kv-slide {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  opacity: 0;
}
.kv-sec .kv-slide.slick-initialized {
  opacity: 1;
  transition: opacity 1.5s linear
}
.kv-sec .kv-slide .slick-slide:nth-of-type(4n+1) img {
  animation: kvZoom01 24s linear 0s infinite alternate
}
@keyframes kvZoom01 {
  0% {
    transform: scale(1);
    transform-origin: 0 0
  }
  100% {
    transform: scale(1.15);
    transform-origin: left -20px top -20px
  }
}
.kv-sec .kv-slide .slick-slide:nth-of-type(4n+2) img {
  animation: kvZoom02 24s linear 0s infinite alternate
}
@keyframes kvZoom02 {
  0% {
    transform: scale(1.2);
    transform-origin: left -20px top -20px
  }
  100% {
    transform: scale(1);
    transform-origin: 0 0
  }
}
.kv-sec .kv-slide .slick-slide:nth-of-type(4n+3) img {
  animation: kvZoom03 24s linear 0s infinite alternate
}
@keyframes kvZoom03 {
  0% {
    transform: scale(1);
    transform-origin: 0 0
  }
  100% {
    transform: scale(1.15);
    transform-origin: left -30px top -10px
  }
}
.kv-sec .kv-slide .slick-slide:nth-of-type(4n+4) img {
  animation: kvZoom04 24s linear 0s infinite alternate
}
@keyframes kvZoom04 {
  0% {
    transform: scale(1.2);
    transform-origin: left -10px top -30px
  }
  100% {
    transform: scale(1);
    transform-origin: 0 0
  }
}
.kv-sec .kv-slide .slide-item {
  z-index: 1
}
.kv-sec h1 {
  width: 61.2%;
  position: absolute;
  right: 0px;
  top: 0;
  padding-top: 35.06%;
  z-index: 10;
    margin: 0;
  animation: fadeIn01 1.5s ease-out 1.75s both
}
.kv-sec .txt01 {
  padding: 0 5px 0;
  padding-top: 10px;
  /*margin-bottom: 25px;*/
  margin-bottom: 5px;
}
@keyframes fadeIn01 {
  0% {
    opacity: 0;
    transform: translate(10px, 0px)
  }
  100% {
    opacity: 1;
    transform: translate(0px, 0px)
  }
}
@keyframes fadeIn02 {
  0% {
    opacity: 0;
    transform: translate(10px, 0px)
  }
  100% {
    opacity: 1;
    transform: translate(0px, 0px)
  }
}
.tocrs-btn {
  width: 100%;
  /*font-family: "Noto Serif JP", serif;*/
  font-size: 2rem;
  position: fixed;
  right: 0;
  left: 0;
  bottom: -85px;
  background: rgba(0, 0, 0, 0.6);
  text-align: center;
  transition: .5s bottom ease-out;
  z-index: 100;
  display: flex;
  justify-content: space-around;
  padding: 10px 0;
  align-items: center;
}
.tocrs-btn p {
  width: 45%;
}
.tocrs-btn_a {
  display: flex;
  justify-content: center;
  flex-flow: column;
  width: 100%;
  background-color: #2594a1;
  border: 2px solid #2594a1;
  padding: 8px 0;
  color: #ffffff!important;
  font-weight: bold;
}
.tocrs-btn .c_link,
.tocrs-btn .o_link {
  position: relative;
  line-height: 1.3;
}
.tocrs-btn .c_link::after,
.tocrs-btn .o_link::after {
  position: absolute;
	content: '';
	top: 35%;
	right: 28%;
	width: 12px;
	height: 12px;
	border-right: 3px solid #fff;
	border-bottom: 3px solid #fff;
	transform: translateY(-35%);
}
.tocrs-btn .c_link::after {
  transform: rotate(45deg);
}
.tocrs-btn .o_link::after {
  /*margin-bottom: 0.5rem;*/
  transform: rotate(-45deg);
}
.tocrs-btn .o_link span {
  font-size: 1.4rem;
}
.tocrs-btn.active {
  bottom: 0;
  transition: .5s bottom ease-out
}
@media screen and (min-width: 768px) {
  .tocrs-btn .c_link:hover,
  .tocrs-btn .o_link:hover {
    background-color: #fff;
    color: #2594a1!important;
  }
  .tocrs-btn .c_link:hover::after {
    border-right: 3px solid #2594a1;
    border-bottom: 3px solid #2594a1;
  }
  .tocrs-btn .o_link:hover::after {
    border-right: 3px solid #2594a1;
    border-bottom: 3px solid #2594a1;
  }
  .kv-sec {
    padding-top: 40.178%;
    padding-bottom: 10px;
    /*border-bottom: 10px solid #ddca7e;*/
  }
  .kv-sec h1 {
    width: 59.73%;
    padding-top: 5.7%
  }
  .kv-sec .txt01 {
    line-height: 1.8;
    padding: 10px 5px 0;
    margin-bottom: 25px;
    width: 55.284%;
    right: 3%;
    top: 0;
    font-size: 1.25vw;
    padding-top: 22%;
    font-family: "Noto Serif JP", serif;
    position: absolute;
    z-index: 10;
    text-shadow: #fff 1px 1px 3px, #fff -1px 1px 3px, #fff 1px -1px 3px, #fff -1px -1px 3px, #fff 1px 1px 3px, #fff -1px 1px 3px, #fff 1px -1px 3px, #fff -1px -1px 3px;
    animation: fadeIn02 1.5s ease-out 2s both;
  }
  .imgAnnotation_main {
    position: absolute;
    bottom: 4%;
    right: 1%;
    font-size: 1.2rem;
    z-index: 10;
    text-shadow: #fff 1px 1px 3px, #fff -1px 1px 3px, #fff 1px -1px 3px, #fff -1px -1px 3px, #fff 1px 1px 3px, #fff -1px 1px 3px, #fff 1px -1px 3px, #fff -1px -1px 3px;
    animation: fadeIn02 1.5s ease-out 2s both;
  }
}

/*.imgAnnotation_main {
  padding: 5px 0;
  font-size: 1.2rem;
  text-align: right;
  background-color: #ddca7e;
}*/
@media screen and (max-width: 767px) {
  /*.imgAnnotation_main {
    background-color: transparent;
  }*/
   .tab-cnt .thumb-slide {
  display: none
}
  .tocrs-btn_a {
    font-size: 1.3rem;
    padding: 8px 0;
  }
  .tocrs-btn .c_link::after,
  .tocrs-btn .o_link::after {
    top: 38%;
    right: 2.5%;
    width: 10px;
    height: 10px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
  }
  .tocrs-btn .o_link span {
    font-size: 1.0rem;
  }
}
@media screen and (min-width: 1120px) {
  .kv-sec .txt01 {
    font-size: 1.4rem
  }
}
