#contents_block {
  overflow: hidden;
}

.sec-letter {
  background-image: url(../img/message/letter_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  height: 2119px;
  position: relative;
}

.sec-letter_inner {
  position: relative;
  top: 91px;
}

.sec-letter_inner h2 {
  margin: 0;
}

.sec-letter_inner .main > div {
  position: relative;
}

.sec-letter_inner .main_txt {
  left: 50%;
  text-align: center;
  transform: translateX(-50%);
  position: absolute;
}

.sec-letter_inner .main_txt img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 67px;
}

.sec-letter_inner .main_txt .main_lead {
  margin: 105px 0 80px 13px;
}

.sec-letter_inner .main_txt .txt-06 {
  margin-bottom: 0;
}

.sec-letter_inner .main_txt .main_logo {
  margin-bottom: 0;
  margin-top: 95px;
}

.sec-letter_inner .main_illust {
  position: absolute;
}
.sec-letter_inner .main_illust.-pocky1 {
  left: 142px;
  top: 247px;
}
.sec-letter_inner .main_illust.-guitar {
  right: 137px;
  top: 412px;
}
.sec-letter_inner .main_illust.-bag {
  left: 109px;
  top: 581px;
}
.sec-letter_inner .main_illust.-lunch {
  right: 75px;
  top: 900px;
}
.sec-letter_inner .main_illust.-pocky2 {
  left: 98px;
  top: 1038px;
}

.sec-letter_inner .main_bg {
  margin-left: 9px;
}

.sec-letter_inner .bottom_txt {
  margin: 0;
  margin-top: 59px;
}

.sec-gallery {
  background-image: url(../img/message/gallery_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  padding: 81px 0 150px;
}

.sec-gallery-desc {
  color: #444444;
  line-height: 2.4;
  letter-spacing: 0.1em;
}

.sec-gallery .sec-gallery__thumb {
  margin-left: auto;
  margin-right: auto;
  width: 980px;
}

.sec-gallery .sec-gallery__thumb .gallery__thumb-large {
  margin-top: 50px;
}

.sec-gallery .sec-gallery__thumb .gallery__thumb-small {
  display: flex;
  margin-top: 46px;
  justify-content: space-between;
}

.sec-gallery .sec-gallery__thumb .gallery__thumb-small .gallery__thumb__box {
  height: 212px;
  position: relative;
  width: 300px;
}

.sec-gallery .sec-gallery__thumb .gallery__thumb-small .gallery__thumb__box.box-7 {
  height: 310px;
  margin: 0 40px;
  width: 220px;
}

.sec-gallery .sec-gallery__thumb .gallery__thumb__box {
  cursor: pointer;
  position: relative;
}

.sec-gallery .sec-gallery__thumb .gallery__thumb__box:hover {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
  opacity: 0.6;
  -webkit-transition: opacity 0.3s ease 0s;
  transition: opacity 0.3s ease 0s;
}

.sec-gallery .sec-gallery__thumb .gallery__thumb__box figure {
  margin: 0;
}

.sec-gallery .sec-gallery__thumb .gallery__thumb__box .open {
  background-color: #471e0d;
  border-radius: 100px;
  bottom: -10px;
  height: 38px;
  position: absolute;
  right: -10px;
  width: 38px;
}

.sec-gallery .sec-gallery__thumb .gallery__thumb__box .open span {
  background-color: #fff;
  display: inline-block;
  height: 2px;
  position: absolute;
  left: 50%;
  transform: translate(-50%,-50%);
  top: 50%;
  width: 14px;
}

.sec-gallery .sec-gallery__thumb .gallery__thumb__box .open span:first-child {
  height: 14px;
  position: absolute;
  width: 2px;
}

@media screen and (max-width: 639px) {
  .sec-letter {
    background-image: url(../img/message/letter_bg_sp.png);
    height: 1728px;
    background-position-y: top;
  }

  .sec-letter_inner {
    top: 70px;
  }

  .sec-letter_inner .main_txt img {
    margin-bottom: 47px;
  }

  .sec-letter_inner .main_txt .main_lead {
    margin: 50px 0 47px 8px;
  }

  .sec-letter_inner .main_txt .txt-05 {
    margin-bottom: 49px;
  }

  .sec-letter_inner .main_txt .main_logo {
    margin-top: 50px;
  }

  .sec-letter_inner .main_illust.-pocky1 {
    left: 1px;
    top: 176px;
  }
  .sec-letter_inner .main_illust.-guitar {
    right: 0px;
    top: 283px;
  }
  .sec-letter_inner .main_illust.-bag {
    left: 0px;
    top: 511px;
  }
  .sec-letter_inner .main_illust.-lunch {
    right: 1px;
    top: 793px;
  }
  .sec-letter_inner .main_illust.-pocky2 {
    left: 21px;
    top: 921px;
  }

  .sec-letter_inner .main_bg {
    margin-left: 0;
  }

  .sec-letter_inner .bottom_txt {
    margin-top: 36px;
  }

  .sec-gallery {
    padding: 32px 0 60px;
  }

  .sec-gallery-desc {
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 0.08em;
  }

  .sec-gallery .sec-gallery__thumb {
    min-width: 325px;
    width: 80%;
  }

  .sec-gallery .sec-gallery__thumb .gallery__thumb-large {
    margin-top: 26px;
  }

  .sec-gallery .sec-gallery__thumb .gallery__thumb-small {
    margin-top: 15px;
  }

  .sec-gallery .sec-gallery__thumb .gallery__thumb-small .gallery__thumb__box {
    height: 72px;
    min-width: 99px;
    width: 31%;
  }

  .sec-gallery .sec-gallery__thumb .gallery__thumb-small .gallery__thumb__box.box-7 {
    height: 115px;
    min-width: auto;
    margin: 0 3%;
    width: 25%;
  }

  .sec-gallery .sec-gallery__thumb .gallery__thumb__box figure img {
    height: auto;
    width: 100%;
  }

  .sec-gallery .sec-gallery__thumb .gallery__thumb__box .open {
    height: 21px;
    width: 21px;
  }

  .sec-gallery .sec-gallery__thumb .gallery__thumb__box .open span {
    height: 1px;
    width: 8px;
  }

  .sec-gallery .sec-gallery__thumb .gallery__thumb__box .open span:first-child {
    height: 8px;
    width: 1px;
  }
}



.modal {
	display: none;
	height: 100vh;
	position: fixed;
	top: 0;
	width: 100%;
  z-index: 1000;
}

.modal .modal__bg {
  background: rgba(221,212,188,0.95);
  height: 100%;
  position: absolute;
  width: 100%;
}

.modal .modal__content {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%,-50%);
  height: auto;
  max-width: 980px;
  width: 90%;
}

#gallery-07.modal .modal__content {
  max-width: 544px;
}

.modal .btn {
  height: 58px;
  position: absolute;
  right: -8px;
  top: -68px;
  width: 58px;
}

.modal .btn span {
  margin-top: 0;
  width: 100%;
  height: 1px;
  background-color: #c92824;
  position: absolute;
  transform: rotate(45deg) translateZ(0);
  left: 0;
  top: 50%;
}

.modal .btn span:last-child {
  bottom: 0;
  display: inline-block;
  transform: rotate(-45deg) translateZ(0);
}

.modal .modal__content figure {
  margin: 0;
}

@media screen and (max-width: 639px) {
  .modal {
    height: 100%;
    overflow: scroll;
  }

  .modal .modal__bg {
    position: fixed;
  }

  .modal .modal__content {
    left: 0;
    padding: 0 5%;
    transform: translate(0%,-50%);
    width: 140%;
  }

  #gallery-01.modal .modal__content {
    width: 270%;
  }

  #gallery-07.modal .modal__content {
    margin: 25px 8% 0;
    padding: 0;
    width: 84%;
  }

  .modal .btn {
    height: 45px;
    right: 20px;
    top: 20px;
    position: fixed;
    width: 45px;
  }

  .modal .modal__content figure img {
    height: auto;
    width: 100%;
  }
}


@media screen and (min-width: 640px) {
  .sec-letter_inner .main .is-pc,
  .sec-letter_inner .bottom_txt .is-pc,
  .sec-gallery__inner h2 .is-pc,
  .sec-gallery-desc.is-pc {
    display: inline-block;
  }
  .sec-letter_inner .main .is-sp,
  .sec-letter_inner .bottom_txt .is-sp,
  .sec-gallery__inner h2 .is-sp,
  .sec-gallery-desc.is-sp {
    display: none;
  }

  .modal .btn.is-pc {
    display: inline-block;
  }
  .modal .btn.is-sp {
    display: none;
  }
}

@media screen and (max-width: 639px) {
  .sec-letter_inner .main .is-pc,
  .sec-letter_inner .bottom_txt .is-pc,
  .sec-gallery__inner h2 .is-pc,
  .sec-gallery-desc.is-pc {
    display: none;
  }
  .sec-letter_inner .main .is-sp,
  .sec-letter_inner .bottom_txt .is-sp,
  .sec-gallery__inner h2 .is-sp,
  .sec-gallery-desc.is-sp {
    display: inline-block;
  }

  .modal .btn.is-pc {
    display: none;
  }
  .modal .btn.is-sp {
    display: inline-block;
  }
}


.fadein {
	opacity: 0;
	/* transform : translate(0, 50px); */
	transition : all 1.3s ease-out;
}
.main_txt .fadein {
  transition-delay: 0.4s;
}
.main_lead.fadein {
  transition-delay: 0.1s;
}
.main_illust.fadein {
	transition-delay: 0.8s;
}

.fadein.scrollin{
	opacity: 1;
	/* transform: translate(0, 0); */
}