@charset "UTF-8";
.clfl:after {
  content: ".";
  display: block;
  clear: left;
  height: 0;
  visibility: hidden;
  overflow: hidden;
  font-size: 0.1em;
  line-height: 0;
}

.clfr:after {
  content: ".";
  display: block;
  clear: right;
  height: 0;
  visibility: hidden;
  overflow: hidden;
  font-size: 0.1em;
  line-height: 0;
}

.clf:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  overflow: hidden;
  font-size: 0.1em;
  line-height: 0;
}

.clf {
  min-height: 1px;
}

* html .clf {
  height: 1px;
  /*¥*/ /*/
height: auto;
overflow: hidden;
/**/
}

#carousel {
  position: relative;
}
#carousel > img {
  width: 100%;
  height: auto;
  opacity: 0;
  z-index: -10;
}
#carousel .carousel {
  z-index: 1;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.carousel-cell {
  width: 100%;
  height: auto;
}

.flickity-page-dots {
  bottom: 17px;
  right: 19px;
  width: auto;
}
@media only screen and (max-width: 1039px), (max-device-width: 1039px) {
  .flickity-page-dots {
    right: 8px;
    bottom: 10px;
  }
}
.flickity-page-dots .dot {
  background: transparent;
  border: 1px solid #fff;
  width: 7px;
  height: 7px;
  opacity: 1;
  margin: 0 0 0 8px;
}
@media only screen and (max-width: 1039px), (max-device-width: 1039px) {
  .flickity-page-dots .dot {
    width: 5px;
    height: 5px;
    margin-left: 7px;
  }
}
.flickity-page-dots .dot.is-selected {
  background-color: #fff;
}

.kakou {
  margin-top: 75px;
  margin-bottom: 75px;
}
@media only screen and (max-width: 1039px), (max-device-width: 1039px) {
  .kakou {
    margin-top: 35px;
  }
}

.prototype {
  margin-bottom: 50px;
}
@media only screen and (max-width: 1039px), (max-device-width: 1039px) {
  .prototype {
    margin-top: 44px;
  }
}

img.sagyofukei {
  margin: 50px 0 62px;
}
@media only screen and (max-width: 1039px), (max-device-width: 1039px) {
  img.sagyofukei {
    margin: 33px 0 43px;
  }
}

.col1_2 {
  width: 880px;
  margin: 0 auto;
  display: -webkit-flex;
  -webkit-align-items: center;
  display: flex;
  align-items: center;
}
.col1_2:not(:last-child) {
  margin-bottom: 50px;
}
@media only screen and (max-width: 1039px), (max-device-width: 1039px) {
  .col1_2 {
    width: 100%;
    display: block;
  }
}
.col1_2 > img {
  float: left;
  width: 330px;
  height: auto;
  margin-right: 40px;
}
@media only screen and (max-width: 1039px), (max-device-width: 1039px) {
  .col1_2 > img {
    width: 100%;
    float: none;
    margin-right: 0;
  }
}
.col1_2 > .txt {
  float: left;
  width: 480px;
}
@media only screen and (max-width: 1039px), (max-device-width: 1039px) {
  .col1_2 > .txt {
    width: 100%;
    float: none;
  }
}
.col1_2 > .txt h3 {
  font-weight: 400;
}
@media only screen and (max-width: 1039px), (max-device-width: 1039px) {
  .col1_2 > .txt h3 {
    font-size: 14px;
    margin: 18px 0 11px;
  }
}
.col1_2 > .txt li {
  text-indent: -1.5em;
  padding-left: 1.5em;
  line-height: 2.1;
  letter-spacing: 0.2em;
}
.col1_2 > .txt li:before {
  content: "◎";
}

.sample_photoes {
  margin-top: 50px;
}
@media only screen and (max-width: 1039px), (max-device-width: 1039px) {
  .sample_photoes {
    margin-top: 35px;
  }
}
.sample_photoes img {
  width: calc(33% - 18px);
  height: auto;
  margin-bottom: 30px;
}
@media only screen and (max-width: 1039px), (max-device-width: 1039px) {
  .sample_photoes img {
    width: 100% !important;
  }
}
.sample_photoes img:not(:nth-child(3n)) {
  margin-right: 30px;
}
@media only screen and (max-width: 1039px), (max-device-width: 1039px) {
  .sample_photoes img:not(:nth-child(3n)) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 1039px), (max-device-width: 1039px) {
  .sample_photoes img:last-child {
    margin-bottom: 0;
  }
}

#contents > .wrap #carousel {
  margin: 50px 0;
}
@media only screen and (max-width: 1039px), (max-device-width: 1039px) {
  #contents > .wrap #carousel {
    margin: 25px 0;
  }
}
#contents > .wrap h2 {
  margin-top: 0;
}
#contents > .wrap h2#jirei {
  margin-top: 88px;
}
@media only screen and (max-width: 1039px), (max-device-width: 1039px) {
  #contents > .wrap h2#jirei {
    margin-top: 8px;
  }
}
#contents > .wrap h2#jirei + section p {
  text-align: center;
}
#contents > .wrap h2#printing-processing {
  margin-top: 54px;
}
@media only screen and (max-width: 1039px), (max-device-width: 1039px) {
  #contents > .wrap h2#printing-processing {
    margin-top: 42px;
  }
}
#contents > .wrap .boxbtn {
  margin-top: 30px;
}
