@charset "UTF-8";
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  src: local("Noto Sans CJK JP Regular"), url(/font/NotoSansJP-Regular.otf) format("opentype"); }

@font-face {
  font-family: 'Noto Sans JP';
  font-style: bold;
  font-weight: 700;
  src: local("Noto Sans CJK JP Bold"), url(/font/NotoSansJP-Bold.otf) format("opentype"); }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("../../img/common/ic_loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("../../font/slick.eot");
  src: url("../../font/slick.eot?#iefix") format("embedded-opentype"), url("../../font/slick.woff") format("woff"), url("../../font/slick.ttf") format("truetype"), url("../../font/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: 25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: 25px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: 25px; }
  [dir="rtl"] .slick-next {
    left: 25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 0px; }
  .slick-dotted.slick-slider a {
    outline: none; }
    .slick-dotted.slick-slider a:hover {
      opacity: 1; }

.slick-dots {
  position: absolute;
  bottom: 10px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: '';
        width: 10px;
        height: 10px;
        font-family: "slick";
        font-size: 6px;
        line-height: 10px;
        text-align: center;
        color: black;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        background: #fff;
        border: 1px solid #ccc;
        border-radius: 10px;
        overflow: hidden; }
    .slick-dots li.slick-active button:before {
      border: 1px solid #ccc;
      background: #ccc; }

.gallery-top ul {
  width: 100%;
  margin: 0 auto 10px; }

.gallery-top ul li {
  cursor: pointer;
  display: none;
  /*width: 426px;*/
  height: 426px;
  background: #fafafa;
  outline: none;
  position: relative; }
  .gallery-top ul li.slick-initialized {
    display: block;
    /*slick-initializedが付与されたら表示*/ }
  @media screen and (max-width: 1180px) {
    .gallery-top ul li {
      /*width: 413px;*/
      height: 413px; } }
  @media screen and (max-width: 800px) {
    .gallery-top ul li {
      /*width: calc( ( 100vw ) - 40px ) !important;*/
      height: calc( ( 100vw ) - 40px) !important; } }
  .gallery-top ul li img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%; }

.gallery-thumbs {
  margin-left: -5px; }

.gallery-thumbs ul {
  width: 100%;
  /*margin: 0 auto;*/
  /*display: flex;
	justify-content: center;
	flex-wrap:wrap;*/ }

.gallery-thumbs ul li {
  cursor: pointer;
  /*flex: 0 1 20%;*/
  margin-bottom: 5px;
  margin-left: 5px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  /*width: calc( ( 100% / 5 ) - 5px ) !important;*/
  width: calc( ( 100%  / 5 ) - 5px) !important;
  height: calc( ( 426px / 5 ) - 5px) !important;
  vertical-align: top;
  display: inline-block;
  line-height: 1;
  position: relative;
  outline: none;
  background: #fafafa;
  /*&:nth-of-type(5n + 1) {
		margin-left: 0px;
	}*/ }
  @media screen and (max-width: 1180px) {
    .gallery-thumbs ul li {
      /*width: calc( ( 100% / 5 ) - 5px ) !important;*/
      height: calc( ( 413px / 5 ) - 5px) !important; } }
  @media screen and (max-width: 800px) {
    .gallery-thumbs ul li {
      /*width: calc( ( (100vw - 40px ) / 5 ) - 5px ) !important;*/
      height: calc( ( (100vw - 40px ) / 5 ) - 5px) !important; } }
  .gallery-thumbs ul li img {
    line-height: 1;
    opacity: 0.5;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%; }
  .gallery-thumbs ul li.thumbnail-current img {
    opacity: 1; }

/*.slick-slide {
	width: 100%;
}
.slick-slide img.sw_pc {
	display: block !important;
	@media screen and (max-width: 644px){
		display: none !important;
	}
}
.slick-slide img.sw_sp {
	display: none !important;
	@media screen and (max-width: 644px){
		display: block !important;
		width: 100%;
	}
}*/
