/* ===================================================================
CSS information

 file name  : home.css
 author     : UCI
 style info : home
 =================================================================== */
/*Animate */
/*Vertical text */
#contents {
  /* -----------------------------------------------------------
  	.con_main
  ----------------------------------------------------------- */
  /* -----------------------------------------------------------
  	.con_intro
  ----------------------------------------------------------- */
  /* -----------------------------------------------------------
  	.con_write
  ----------------------------------------------------------- */
  /* -----------------------------------------------------------
  	.con_boy
  ----------------------------------------------------------- */
  /* -----------------------------------------------------------
  	.con_watch
  ----------------------------------------------------------- */
  /* -----------------------------------------------------------
  	.con_profile
  ----------------------------------------------------------- */
}
#contents .con_main {
  position: relative;
}
@media only screen and (max-width: 767px) {
  #contents .con_main {
    margin-bottom: 25px;
    padding-top: 30px;
  }
}
#contents .con_main .box_photo {
  line-height: 0;
  /*height: 620px;*/
  /*background-position: top center !important;*/
}
@media only screen and (max-width: 767px) {
  #contents .con_main .box_photo {
    /*height: auto;*/
  }
}
#contents .con_main .box_photo img {
  /*display: none;*/
  max-width: none;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  #contents .con_main .box_photo img {
    /*display: block;*/
  }
}
#contents .con_main h2 {
  position: absolute;
  right: 50px;
  top: -40px;
  font-weight: normal;
  font-size: 100%;
  line-height: 1;
}
@media only screen and (max-width: 1024px) {
  #contents .con_main h2 {
    right: 40px;
    top: -40px;
  }
}
@media only screen and (max-width: 767px) {
  #contents .con_main h2 {
    right: 2em;
    top: 10px;
  }
}
#contents .con_main h2 span {
  writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -o-writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -webkit-text-orientation: upright;
  -moz-text-orientation: upright;
  -ms-text-orientation: upright;
  text-orientation: upright;
  text-align: left;
  display: inline-block;
}
#contents .con_main h2 span em {
  padding: 10px;
  font-style: normal;
  display: inline-block;
  background: #000;
  color: #fff;
  font-size: 70px;
}
@media only screen and (max-width: 1024px) {
  #contents .con_main h2 span em {
    font-size: 50px;
    padding: 8px;
  }
}
@media only screen and (max-width: 767px) {
  #contents .con_main h2 span em {
    font-size: 35px;
    padding: 5px;
  }
}
#contents .con_main h2 span em.txt2 {
  margin-top: 1em;
}
#contents .con_main h2 img.pc {
  max-width: 174px;
}
#contents .con_main h2 img.sp {
  max-width: 87px;
}
#contents .con_main .box_txt {
  max-width: 960px;
  margin: -180px auto 0;
}
@media only screen and (max-width: 1024px) {
  #contents .con_main .box_txt {
    padding: 0 15px;
    /*margin: -140px auto 0;*/
  }
}
@media only screen and (max-width: 767px) {
  #contents .con_main .box_txt {
    margin: -75px auto 0;
  }
}
@media only screen and (max-width: 767px) {
  #contents .con_main .box_txt {
    margin: -60px auto 0;
  }
}

#contents .con_main .box_txt .caption {
  margin: 0 0 35px;
  padding-left: 100px;
}
@media only screen and (max-width: 1024px) {
  #contents .con_main .box_txt .caption {
    margin: 0 0 25px;
    padding-left: 50px;
  }
}
@media only screen and (max-width: 767px) {
  #contents .con_main .box_txt .caption {
    margin: 0 0 5px;
    padding-left: 20px;
  }
}
#contents .con_main .box_txt .caption span {
  text-align: center;
  display: inline-block;
}
#contents .con_main .box_txt .caption span em {
  display: inline-block;
  color: #fff;
  line-height: 1;
  text-shadow: 0 0 6px #000;
}
#contents .con_main .box_txt .caption span em.en {
  font-size: 19px;
  margin: 0 0 15px;
}
@media only screen and (max-width: 767px) {
  #contents .con_main .box_txt .caption span em.en {
    font-size: 12px;
    margin: 0 0 5px;
    padding: 0 0 3px;
  }
}
#contents .con_main .box_txt .caption span em.jp {
  font-size: 35px;
}
@media not all and (min-resolution:.001dpcm) {/* Safari only style */
  @supports (-webkit-appearance:none) {
    #contents .con_main .box_txt .caption span em.jp {
      white-space: nowrap;
    }
  }
}
@media only screen and (max-width: 767px) {
  #contents .con_main .box_txt .caption span em.jp {
    font-size: 20px;
    /*background: rgb(249, 146, 147);*/
  }
}
@media only screen and (max-width: 374px) {
  #contents .con_main .box_txt .caption span em.jp {
    margin-left: -25px;
  }
}
#contents .con_main .box_txt h3 {
  font-weight: normal;
  line-height: 1;
  font-size: 100%;
}
#contents .con_main .box_txt h3 span {
  display: inline-block;
}
#contents .con_main .box_txt h3 span em {
  display: inline-block;
  background: #45b292;
  color: #fff;
  font-size: 60px;
  padding: 10px;
}
_:-moz-read-write, :root #contents .con_main .box_txt h3 span em {/* firefox用の記述 */
  border: 1px solid #45b292;
  margin: -1px;
}
@media all and (-ms-high-contrast: none) {/* IE用の記述 */
  #contents .con_main .box_txt h3 span em {
    border: 1px solid #45b292;
    margin: -1px;
  }
}
@media only screen and (max-width: 1024px) {
  #contents .con_main .box_txt h3 span em {
    font-size: 40px;
    padding: 5px;
  }
}
@media only screen and (max-width: 767px) {
  #contents .con_main .box_txt h3 span em {
    font-size: 22px;
    padding: 3px;
  }
}
@media only screen and (max-width: 374px) {
  #contents .con_main .box_txt h3 span em {
    font-size: 20px;
  }
}
#contents .con_main .box_txt h3 span em.txt2 {
  margin-left: 1em;
}
@media only screen and (max-width: 767px) {
  #contents .con_main .box_txt h3 span em.txt2 {
    position: relative;
  }
}
@media only screen and (max-width: 767px) {
  #contents .con_main .box_txt h3 span em.txt2:after {
    content: '';
    position: absolute;
    width: 55px;
    height: 56px;
    background: transparent url(../images/home/img_line_sp_1.png) no-repeat center top;
    background-size: contain;
    margin-left: 10px;
    margin-top: 10px;
  }
}
#contents .con_intro {
  max-width: 710px;
  margin: 0 auto;
  padding: 60px 0;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  #contents .con_intro {
    padding: 40px 0;
  }
}
@media only screen and (max-width: 767px) {
  #contents .con_intro {
    padding: 25px 0;
  }
}
@media only screen and (max-width: 767px) {
  #contents .con_intro {
    max-width: 95%;
  }
}
#contents .con_intro h2 {
  font-weight: normal;
  text-align: center;
  font-size: 30px;
  padding-bottom: 40px;
  position: relative;
  z-index: 100;
  background: #fff;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  #contents .con_intro h2 {
    padding-bottom: 30px;
  }
}
@media only screen and (max-width: 767px) {
  #contents .con_intro h2 {
    padding-bottom: 15px;
  }
}
@media only screen and (max-width: 767px) {
  #contents .con_intro h2 {
    padding: 10px 0;
    font-size: 15px;
    /*background: rgb(249, 196, 197);*/
  }
}
#contents .con_intro h2 span {
  font-size: 80%;
}
#contents .con_intro .txt {
  font-size: 15px;
  line-height: 2;
  background: #fff;
  position: relative;
  z-index: 100;
}
@media only screen and (max-width: 767px) {
  #contents .con_intro .txt {
    font-size: 13px;
    line-height: 1.8;
  }
}
#contents .con_intro .photo {
  text-align: center;
  position: relative;
}
#contents .con_intro .photo span.icon {
  max-width: 189px;
  display: inline-block;
  line-height: 0;
}
#contents .con_intro .photo span.line {
  position: absolute;
  display: inline-block;
  width: 317px;
  bottom: 40px;
  margin-left: -90px;
  line-height: 0;
}
@media only screen and (max-width: 1024px) {
  #contents .con_intro .photo span.line {
    max-width: 290px;
  }
}
#contents .con_write {
  max-width: 850px;
  margin: 0 auto;
  padding-bottom: 80px;
}
@media only screen and (max-width: 767px) {
  #contents .con_write {
    max-width: 95%;
    padding-bottom: 30px;
  }
}
#contents .con_write .box_write {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#contents .con_write .box_write .photo {
  width: 440px;
  line-height: 0;
  padding-top: 25px;
  position: relative;
}
@media only screen and (max-width: 1023px) {
  #contents .con_write .box_write .photo {
    width: 380px;
  }
}
@media only screen and (max-width: 767px) {
  #contents .con_write .box_write .photo {
    padding: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 767px) {
  #contents .con_write .box_write .photo .write {
    width: calc(100% - 120px);
  }
}
#contents .con_write .box_write .photo .line {
  width: 100px;
  position: relative;
  margin-top: -25px;
}
#contents .con_write .box_write .photo .picture {
  position: absolute;
  left: 50%;
}
#contents .con_write .box_write .photo .picture img {
  max-width: 404px;
}
#contents .con_write .box_write .info {
  width: calc(100% - 460px);
  position: relative;
  z-index: 100;
}
@media only screen and (max-width: 1023px) {
  #contents .con_write .box_write .info {
    width: calc(100% - 390px);
  }
}
@media only screen and (max-width: 767px) {
  #contents .con_write .box_write .info {
    width: 100%;
  }
}
#contents .con_write .box_write .info h2 {
  font-weight: normal;
  font-size: 30px;
  line-height: 1.8;
  margin: 0 0 25px;
}
@media only screen and (max-width: 1023px) {
  #contents .con_write .box_write .info h2 {
    font-size: 25px;
  }
}
@media only screen and (max-width: 767px) {
  #contents .con_write .box_write .info h2 {
    font-size: 20px;
    text-align: right;
    margin-top: -20px;
    margin-bottom: 15px;
  }
}
@media only screen and (max-width: 320px) {
  #contents .con_write .box_write .info h2 {
    font-size: 17px;
  }
}
#contents .con_write .box_write .info h2 span {
  display: inline-block;
}
#contents .con_write .box_write .info h2 span em {
  color: #fff;
  background: #45b292;
  padding: 5px;
}
@media only screen and (max-width: 767px) {
  #contents .con_write .box_write .info h2 span em.line1 {
    margin-right: 90px;
  }
}
#contents .con_write .box_write .info h2 span.line1 {
  margin-bottom: 15px;
  position: relative;
  margin-left: -80px;
}
#contents .con_write .box_write .info h2 span.line1 em.txt2 {
  position: relative;
  margin-left: 100px;
}
@media not all and (min-resolution:.001dpcm) {/* Safari only style */
  @supports (-webkit-appearance:none) {
    #contents .con_write .box_write .info h2 span.line1 em.txt2 {
      white-space: nowrap;
    }
  }
}
@media only screen and (max-width: 1023px) {
  #contents .con_write .box_write .info h2 span.line1 em.txt2 {
    margin-left: 50px;
  }
}
#contents .con_write .box_write .info h2 span.line2 em.txt2 {
  margin-left: 55px;
}
@media not all and (min-resolution:.001dpcm) {/* Safari only style */
  @supports (-webkit-appearance:none) {
    #contents .con_write .box_write .info h2.view_sp span em.line3 {
      white-space: nowrap;
    }
  }
}
#contents .con_write .box_write .info .txt {
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 40px;
}
@media only screen and (max-width: 1024px) {
  #contents .con_write .box_write .info .txt {
    padding-right: 10px;
  }
}
@media only screen and (max-width: 1023px) {
  #contents .con_write .box_write .info .txt {
    line-height: 1.7;
  }
}
@media only screen and (max-width: 767px) {
  #contents .con_write .box_write .info .txt {
    line-height: 1.8;
    font-size: 13px;
    padding: 0;
    margin-bottom: 0;
  }
}
#contents .con_write .box_write .info .picture {
  position: relative;
}
#contents .con_write .box_write .info .picture span {
  display: inline-block;
  line-height: 0;
}
#contents .con_write .box_write .info .picture span.line {
  position: absolute;
  width: 300px;
  bottom: 30px;
  left: -240px;
}
#contents .con_write .box_write .info .picture span.icon {
  max-width: 103px;
  margin-left: 80px;
}
#contents .con_boy {
  max-width: 850px;
  margin: 0 auto;
  padding-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  #contents .con_boy {
    max-width: 95%;
  }
}
#contents .con_boy .box_boy {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#contents .con_boy .box_boy .photos {
  width: 440px;
  line-height: 0;
  padding-top: 25px;
}
@media only screen and (max-width: 767px) {
  #contents .con_boy .box_boy .photos {
    width: 100%;
  }
}
#contents .con_boy .box_boy .photos .pic {
  max-width: 340px;
  margin: 0 auto;
  position: relative;
  /*margin-top: -50px;*/
}
#contents .con_boy .box_boy .info {
  width: calc(100% - 460px);
}
@media only screen and (max-width: 767px) {
  #contents .con_boy .box_boy .info {
    width: 100%;
  }
}
#contents .con_boy .box_boy .info .icon {
  max-width: 114px;
  margin: 0 auto 10px;
}
#contents .con_boy .box_boy .info .icon img {
  margin-left: -30px;
}
@media only screen and (max-width: 320px) {
  #contents .con_boy .box_boy .info .icon img {
    margin-left: -20px;
  }
}
#contents .con_boy .box_boy .info h2 {
  font-weight: normal;
  font-size: 30px;
  line-height: 1.8;
  margin: 0 0 25px;
}
@media only screen and (max-width: 1023px) {
  #contents .con_boy .box_boy .info h2 {
    font-size: 25px;
  }
}
@media only screen and (max-width: 767px) {
  #contents .con_boy .box_boy .info h2 {
    font-size: 20px;
    text-align: left;
    margin-top: 0;
    margin-bottom: -15px;
  }
}
@media only screen and (max-width: 320px) {
  #contents .con_boy .box_boy .info h2 {
    font-size: 17px;
  }
}
#contents .con_boy .box_boy .info h2 span {
  display: inline-block;
}
#contents .con_boy .box_boy .info h2 span em {
  color: #fff;
  background: #45b292;
  padding: 5px;
}
@media not all and (min-resolution:.001dpcm) {/* Safari only style */
  @supports (-webkit-appearance:none) {
    #contents .con_boy .box_boy .info h2 span em.txt1 {
      white-space: nowrap;
    }
  }
}
#contents .con_boy .box_boy .info h2 span.line1 {
  position: relative;
  margin-right: -150px;
  margin-bottom: 25px;
}
@media only screen and (max-width: 767px) {
  #contents .con_boy .box_boy .info h2 span.line1 {
    margin: 0;
  }
}
#contents .con_boy .box_boy .info h2 span.line2 {
  position: relative;
  margin-left: 60px;
  margin-right: -150px;
}
@media only screen and (max-width: 767px) {
  #contents .con_boy .box_boy .info h2 span.line2 {
    margin: 0;
  }
}
#contents .con_boy .box_boy .info h2 span.line2 em.txt1 {
  margin-left: 30px;
}
@media only screen and (max-width: 767px) {
  #contents .con_boy .box_boy .info h2 span.line2 em.txt1 {
    margin-left: 30px;
  }
}
#contents .con_boy .box_boy .info h2 span.line2 em.txt2 {
  margin-left: 30px;
}
@media not all and (min-resolution:.001dpcm) {/* Safari only style */
  @supports (-webkit-appearance:none) {
    #contents .con_boy .box_boy .info h2 span.line2 em.txt2 {
      white-space: nowrap;
    }
  }
}
@media only screen and (max-width: 767px) {
  #contents .con_boy .box_boy .info h2 span.line2 em.txt2 {
    margin-left: 60px;
  }
}
#contents .con_boy .box_boy .info .photo2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#contents .con_boy .box_boy .info .photo2 .pic1 {
  width: 100px;
  text-align: center;
}
#contents .con_boy .box_boy .info .photo2 .pic1 img {
  max-width: 10px;
}
#contents .con_boy .box_boy .info .photo2 .pic2 {
  width: calc(100% - 120px);
}
#contents .con_boy .box_boy .info .txt {
  font-size: 15px;
  line-height: 2;
}
@media only screen and (max-width: 1024px) {
  #contents .con_boy .box_boy .info .txt {
    padding-left: 10px;
  }
}
@media only screen and (max-width: 767px) {
  #contents .con_boy .box_boy .info .txt {
    font-size: 13px;
    padding: 0;
  }
}
#contents .con_watch {
  max-width: 850px;
  margin: 0 auto;
  padding-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  #contents .con_watch {
    max-width: 95%;
  }
}
#contents .con_watch .box_watch {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#contents .con_watch .photos {
  width: 440px;
  padding-top: 25px;
}
@media only screen and (max-width: 767px) {
  #contents .con_watch .photos {
    width: 100%;
  }
}
#contents .con_watch .photos .pic {
  position: relative;
  max-width: 290px;
  margin: 0 auto;
  /*margin-top: -70px;*/
}
#contents .con_watch .info {
  width: calc(100% - 460px);
}
@media only screen and (max-width: 767px) {
  #contents .con_watch .info {
    width: 100%;
  }
}
#contents .con_watch .info .icon {
  max-width: 112px;
  margin: 0 auto 10px;
}
@media only screen and (max-width: 320px) {
  #contents .con_watch .info .icon img {
    margin-left: 35px;
  }
}
#contents .con_watch .info h2 {
  font-weight: normal;
  font-size: 30px;
  line-height: 1.8;
  margin: 0 0 25px;
  position: relative;
}
@media only screen and (max-width: 1023px) {
  #contents .con_watch .info h2 {
    font-size: 25px;
  }
}
@media only screen and (max-width: 767px) {
  #contents .con_watch .info h2 {
    font-size: 20px;
    text-align: right;
    margin-top: 0;
    margin-bottom: -50px;
  }
}
@media only screen and (max-width: 320px) {
  #contents .con_watch .info h2 {
    font-size: 17px;
  }
}
#contents .con_watch .info h2 span {
  display: inline-block;
}
#contents .con_watch .info h2 span em {
  color: #fff;
  background: #45b292;
  padding: 5px;
}
@media only screen and (max-width: 767px) {
  #contents .con_watch .info h2 span em.line1 {
    margin-right: 90px;
  }
}
#contents .con_watch .info h2 span.line1 {
  margin-bottom: 15px;
  position: relative;
  margin-left: -80px;
}
@media only screen and (max-width: 767px) {
  #contents .con_watch .info h2 span.line1 {
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 767px) {
  #contents .con_watch .info h2 span.line1 em.txt1 {
    margin-right: 30px;
  }
}
#contents .con_watch .info h2 span.line1 em.txt2 {
  position: relative;
  margin-left: 50px;
}
@media not all and (min-resolution:.001dpcm) {/* Safari only style */
  @supports (-webkit-appearance:none) {
    #contents .con_watch .info h2 span.line1 em.txt2 {
      white-space: nowrap;
    }
  }
}
@media only screen and (max-width: 767px) {
  #contents .con_watch .info h2 span.line2 em.txt1 {
    margin-right: 130px;
  }
}
#contents .con_watch .info h2 span.line2 em.txt2 {
  margin-left: -55px;
}
@media not all and (min-resolution:.001dpcm) {/* Safari only style */
  @supports (-webkit-appearance:none) {
    #contents .con_watch .info h2 span.line2 em.txt2 {
      white-space: nowrap;
    }
  }
}
#contents .con_watch .info .photo2 {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
#contents .con_watch .info .photo2 .pic2 {
  width: 100px;
  text-align: center;
}
#contents .con_watch .info .photo2 .pic2 img {
  max-width: 25px;
}
#contents .con_watch .info .photo2 .pic1 {
  width: calc(100% - 120px);
}
#contents .con_watch .info .txt {
  font-size: 15px;
  line-height: 2;
  margin-bottom: 40px;
}
@media only screen and (max-width: 1024px) {
  #contents .con_watch .info .txt {
    padding-right: 10px;
  }
}
@media only screen and (max-width: 767px) {
  #contents .con_watch .info .txt {
    font-size: 13px;
    padding: 0;
    margin-bottom: 0;
  }
}
#contents .con_watch .info .pic3 {
  max-width: 60%;
  margin: 0 auto;
  text-align: center;
  position: relative;
  margin-top: -20px;
}
#contents .con_profile {
  max-width: 850px;
  margin: 0 auto 58px;
  padding-bottom: 30px;
  background: #dbefe9;
  padding: 15px 25px;
}
@media only screen and (max-width: 767px) {
  #contents .con_profile {
    max-width: 95%;
    padding: 10px;
    margin-bottom: 20px;
  }
}
#contents .con_profile .box_profile {
  display: flex;
  justify-content: space-between;
}
#contents .con_profile .box_profile .photo {
  width: 100px;
}
@media only screen and (max-width: 767px) {
  #contents .con_profile .box_profile .photo {
    width: 85px;
  }
}
#contents .con_profile .box_profile .info {
  width: calc(100% - 120px);
}
@media only screen and (max-width: 767px) {
  #contents .con_profile .box_profile .info {
    width: calc(100% - 100px);
  }
}
#contents .con_profile .box_profile .info h3 {
  font-weight: normal;
  font-size: 15px;
}
@media only screen and (max-width: 767px) {
  #contents .con_profile .box_profile .info h3 {
    font-size: 13px;
  }
}
#contents .con_profile .box_profile .info .txt {
  font-size: 15px;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  #contents .con_profile .box_profile .info .txt {
    font-size: 13px;
  }
}
