/*
 * photo
 */
/* ==========================================================================
 reset
 ========================================================================== */
#wrapper {
  padding: 0 0 110px !important;
  position: relative; }

/* ==========================================================================
 wrapper
 ========================================================================== */
#wrapper {
  opacity: 0;
  -webkit-transition-duration: .5s;
          transition-duration: .5s; }
  #wrapper.show {
    opacity: 1; }

.bottomSct {
  background: #fff;
  width: 100%;
  height: 110px;
  position: absolute;
  bottom: 0;
  left: 0; }

.bottomSct__inner {
  position: relative;
  padding: 10px; }
  .bottomSct__inner:after {
    content: '';
    display: block;
    clear: both; }

/* ==========================================================================
 slider
 ========================================================================== */
#slider {
  max-height: calc(100vh - 110px); }

.slider__item {
  cursor: -webkit-grab;
  cursor: grab;
  position: relative; }
  .slider__item:active {
    cursor: -webkit-grabbing;
    cursor: grabbing; }
  .slider__item span {
    display: block; }
    .slider__item span img {
      width: 100%;
      height: calc(100vh - 110px);
      -o-object-fit: cover;
         object-fit: cover;
      -o-object-position: center;
         object-position: center;
      font-family: 'object-fit: cover; object-position: center;'; }

.slider__item__cont {
  position: absolute;
  left: 20px;
  top: 20px;
  width: 300px;
  height: auto;
  background: #fff;
  padding: 30px;
  display: none; }
  .slider__item__cont.show {
    display: block; }
  @media screen and (max-width: 767px) {
    .slider__item__cont {
      width: 200px;
      left: 10px;
      top: 10px;
      padding: 15px; } }

.slider__item__cont__ttl {
  font-weight: bold;
  font-size: 16px;
  font-size: 1.6rem; }
  @media screen and (max-width: 767px) {
    .slider__item__cont__ttl {
      margin-bottom: 5px;
      font-size: 13px;
      font-size: 1.3rem; } }

@media screen and (max-width: 767px) {
  .slider__item__cont__txt {
    font-size: 11px;
    font-size: 1.1rem; } }

/* ==========================================================================
 thumbnail
 ========================================================================== */
#thumbnail {
  width: 700px;
  height: 90px;
  float: right;
  margin-right: 30px; }
  @media screen and (max-width: 767px) {
    #thumbnail {
      width: 100%;
      height: 60px;
      float: none;
      margin-right: 0; } }

.thumbnail__item {
  cursor: pointer;
  width: 120px;
  height: 60px;
  margin-right: 5px;
  position: relative; }
  .thumbnail__item:before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-transition-duration: .5s;
            transition-duration: .5s;
    border: 2px solid transparent; }
  .thumbnail__item.slick-current:before {
    border-color: #000; }
  .thumbnail__item:active {
    cursor: -webkit-grabbing;
    cursor: grabbing; }
  .thumbnail__item:last-child {
    margin-right: 0; }
  .thumbnail__item span {
    display: block; }
    .thumbnail__item span img {
      width: 100%;
      height: 90px;
      -o-object-fit: cover;
         object-fit: cover;
      -o-object-position: center;
         object-position: center;
      font-family: 'object-fit: cover; object-position: center;'; }
  @media screen and (min-width: 768px) {
    .thumbnail__item {
      -webkit-transition-duration: .25s;
              transition-duration: .25s; }
      .thumbnail__item:not(.slick-current):hover {
        opacity: .7; } }
  @media screen and (max-width: 767px) {
    .thumbnail__item {
      width: auto;
      height: 60px; }
      .thumbnail__item span img {
        width: 100%;
        height: 60px; } }

/* ==========================================================================
 logo
 ========================================================================== */
.logo {
  color: #fff;
  position: absolute;
  left: 30px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 21px;
  font-size: 2.1rem; }
  @media screen and (max-width: 767px) {
    .logo {
      position: relative;
      width: 160px;
      left: auto;
      top: auto;
      margin: 8px auto 0;
      -webkit-transform: translateY(0);
              transform: translateY(0);
      font-size: 14px;
      font-size: 1.4rem; } }

/* ==========================================================================
 slick
 ========================================================================== */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  display: block;
  margin: 0;
  padding: 0; }
  @media screen and (min-width: 768px) {
    .slick-list {
      overflow: hidden; } }
  .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);
          transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block; }
  .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; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-initialized .slick-slide {
    display: block; }

.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  line-height: 0;
  font-size: 0;
  cursor: pointer;
  background: transparent;
  color: transparent;
  padding: 0;
  border: none;
  outline: none;
  background: #272727;
  z-index: 99; }
  @media screen and (min-width: 768px) {
    .slick-prev,
    .slick-next {
      bottom: 0;
      height: 100%;
      width: 25px; } }
  @media screen and (max-width: 767px) {
    .slick-prev,
    .slick-next {
      bottom: -42px;
      height: 41px;
      width: 41px; } }
  .slick-prev.slick-disabled,
  .slick-next.slick-disabled {
    opacity: .3 !important; }
  .slick-prev:before,
  .slick-next:before {
    content: '';
    margin: auto;
    position: absolute;
    bottom: 0; }
    @media screen and (min-width: 768px) {
      .slick-prev:before,
      .slick-next:before {
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
        top: 0;
        width: 10px;
        height: 10px; } }
    @media screen and (max-width: 767px) {
      .slick-prev:before,
      .slick-next:before {
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        width: 8px;
        height: 8px;
        top: 1px; } }

.slick-prev {
  left: -30px; }
  .slick-prev:before {
    -webkit-transform: rotate(-135deg);
            transform: rotate(-135deg);
    left: 45%; }

@media screen and (min-width: 768px) {
  .slick-next {
    right: -30px; } }

@media screen and (max-width: 767px) {
  .slick-next {
    left: 42px; } }

.slick-next:before {
  right: 45%;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }
