/* * * * * * * * * * * * * * * *
  INDEX
* * * * * * * * * * * * * * * */
/*
body {
  opacity: 0;
  transition: opacity linear 5s 2s;
  &.test {
    opacity: 1;
  }
}
*/
#mainvisual {
  padding: 200px 0 210px;
  background: url(../image/mainvisual_bg_pc.jpg) center center repeat-x;
  background-size: auto 100%;
  text-align: center; }
  #mainvisual .text {
    opacity: 0;
    position: relative;
    margin-left: auto;
    margin-right: auto; }
  #mainvisual .txt_01.show,
  #mainvisual .txt_02.show {
    opacity: 1;
    left: 0; }
  #mainvisual .txt_01.show {
    -webkit-transition: left 1.2s cubic-bezier(0.55, 0.055, 0.675, 0.19), opacity 2.5s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: left 1.2s cubic-bezier(0.55, 0.055, 0.675, 0.19), opacity 2.5s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  #mainvisual .txt_02.show {
    -webkit-transition: left 1s cubic-bezier(0.55, 0.055, 0.675, 0.19), opacity 1.5s ease-in;
    transition: left 1s cubic-bezier(0.55, 0.055, 0.675, 0.19), opacity 1.5s ease-in; }
  #mainvisual .txt_03.show {
    -webkit-transition: opacity 1.2s ease-in;
    transition: opacity 1.2s ease-in;
    opacity: 1; }
  #mainvisual .txt_02:after {
    -webkit-transition: right 0.8s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.6s;
    transition: right 0.8s cubic-bezier(0.55, 0.055, 0.675, 0.19) 0.6s; }
  #mainvisual .txt_01 {
    margin-bottom: 25px;
    max-width: 49.69388%;
    left: -60px; }
  #mainvisual .txt_02 {
    margin-bottom: 50px;
    max-width: 92.65306%;
    left: -60px; }
    #mainvisual .txt_02.show:after {
      right: -2.8%; }
    #mainvisual .txt_02:after {
      content: "";
      display: block;
      height: 1px;
      position: absolute;
      bottom: 0;
      left: -2.8%;
      right: 102.8%;
      background-color: #fff;
      background-color: rgba(255, 255, 255, 0.7); }
  #mainvisual .txt_03 {
    max-width: 76.63265%; }

#contents {
  text-align: center; }

@media all and (max-width: 767px) {
  #mainvisual {
    padding: 17.1875% 0 7.8125%;
    background: url(../image/mainvisual_bg_sp.jpg) center center no-repeat;
    background-size: cover; }
    #mainvisual .text {
      opacity: 0;
      position: relative;
      margin-left: auto;
      margin-right: auto; }
    #mainvisual .txt_01.show {
      -webkit-transition: left 1.2s cubic-bezier(0.55, 0.055, 0.675, 0.19), opacity 2s cubic-bezier(0.55, 0.055, 0.675, 0.19);
      transition: left 1.2s cubic-bezier(0.55, 0.055, 0.675, 0.19), opacity 2s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
    #mainvisual .txt_02.show {
      -webkit-transition: left 1s cubic-bezier(0.55, 0.055, 0.675, 0.19), opacity 1.5s ease-in;
      transition: left 1s cubic-bezier(0.55, 0.055, 0.675, 0.19), opacity 1.5s ease-in; }
    #mainvisual .txt_03.show {
      -webkit-transition: opacity 1.2s ease-in;
      transition: opacity 1.2s ease-in; }
    #mainvisual .txt_01 {
      margin-bottom: 3.125%;
      max-width: 57.8125%;
      left: -30px; }
    #mainvisual .txt_02 {
      margin-bottom: 9.375%;
      max-width: 87.5%;
      left: -30px; }
    #mainvisual .txt_03 {
      max-width: 87.5%;
      margin-left: auto;
      margin-right: auto; }


@media all and (max-width: 767px) {

}
@media all and (max-width: 450px) {

}
