.home.fixed {
  overflow: hidden;
}
#intro {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 9999;
}
#intro > div{
  opacity: 0;
  transition: all 800ms ease-in 300ms;
}
#intro.active > div{
  opacity: 1;
}
#intro.active.finished{
  display: none;
}

.sub #content > section#home-contact{
  padding-top: 0;
  background: #EFEFEF;
}

.sub #content > section#home-contact > .content h2{
  border: none;
}

.btn.contact{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 232px;
  margin: 100px auto;
  background: #000;
  line-height: 1.4;
}
.btn.contact > span{
  margin: 0;
  font-size: 1.9rem;
  font-weight: 500;
}
.btn.contact > span:nth-of-type(1) > span{
  display: inline;
  color: #E50012;
  font-size: 1.9rem;
  font-weight: 500;
}
.btn.contact > span:nth-of-type(2){
  font-size: .9rem;
  font-weight: 400;
}

.sub #content > section.page#production .list > div{
  display: flex;
  justify-content: space-between;
  width: 900px;
  margin: 50px auto 0;
}
.sub #content > section.page#production .list > div > div:nth-of-type(1){
  width: 570px;
}
.sub #content > section.page#production .list > div > div:nth-of-type(2){
  width: 270px;
}
.sub #content > section.page#production .list > div > div > p{
  height: 50px;
  margin: 0 0 40px;
  background: #E50012;
  color: #fff;
  font-size: 2.0rem;
  font-weight: 700;
  line-height: 50px;
  text-align: center;
}
.sub #content > section.page#production .list > div > div:nth-of-type(2) > p{
  background: #000;
}
.sub #content > section.page#production .list ul{
  width: auto;
}
.sub #content > section.page#production .list ul li{
  width: 270px;
  margin: 30px 0 0;
}

.sub #content > section.page#production .list ul li a{
  display: block;
  border: solid 1px #707070;
  line-height: 0;
}
.sub #content > section.page#production .list ul li h4{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  height: 68px;
  padding: 0 30px;
}
.sub #content > section.page#production .list ul li h4 span:nth-of-type(2){
  margin: -10px 0 0;
  padding: 3px 10px;
  border: solid 1px #000;
  font-size: 1.1rem;
  line-height: 1;
}

@media only screen and (min-width: 815px) {
  #header #nav{
    flex-shrink: 0;
  }
  #header #nav > ul{
    position: relative;
  }
  #header #nav > ul::before{
    content: '';
    position: absolute;
    left: 20px;
    top: 15px;
    z-index: 1;
    width: 0;
    height: 1px;
    background: #707070;
    transition: all 500ms ease-in 300ms;
  }
  #header #nav > ul > li.cat{
    position: relative;
    background-color: #fff;
  }
  #header #nav > ul > li.cat > a::before{
    content: url(../img/nav-icon.png);
    display: inline-block;
    margin-right: 2px;
  }
  #header #nav > ul > li.cat::before{
    content: url(../img/nav-cat.png);
    position: absolute;
    right: 10px;
    top: -6px;
    z-index: -1;
    transform: translate(0, 20px);
    transition: all 100ms ease-in 1000ms;
  }
  #header #nav.active > ul::before{
    width: calc(100% - 40px);
  }
  #header #nav.active > ul > li.cat::before{
    z-index: 1;
    transform: none;
  }
}

@media only screen and (max-width: 814px) {
  #intro > div{
    max-width: 50%;
  }

  #header #nav > ul{
    border-top: solid 1px #000;
    background-color: #fff;
  }
  #header #nav > ul > li > a{
    color: #000;
  }
  #header #nav > ul > li.cat > a::before{
    content: url(../img/nav-icon.png);
    display: inline-block;
    margin-right: 2px;
  }
  #header #nav > ul::after{
    content: url(../img/sp-nav-cat.png);
    position: absolute;
    right: 0;
    top: 47.5%;
    transform: translate(30px, 0);
    transition: all 100ms ease-in 500ms;
  }
  #header #nav > ul.active::after{
    transform: none;
  }

  .btn.contact{
    width: 192px;
    margin: 60px auto;
    background: #000;
    line-height: 1.4;
  }
  .btn.contact > span{
    font-size: 1.5rem;
  }
  .btn.contact > span:nth-of-type(1) > span{
    font-size: 1.5rem;
  }
  .btn.contact > span:nth-of-type(2){
    font-size: .7rem;
  }

  .sub #content > section.page#production .list h3 {
    margin: 0 0 20px 0;
    font-size: 2.0rem;
  }
  .sub #content > section.page#production .list > div{
    display: block;
    justify-content: space-between;
    width: auto;
    margin: 30px 0 0;
  }
  .sub #content > section.page#production .list > div > div:nth-of-type(1){
    width: auto;
  }
  .sub #content > section.page#production .list > div > div:nth-of-type(2){
    width: auto;
  }
  .sub #content > section.page#production .list > div > div > p{
    height: 28px;
    margin: 0 0 40px;
    font-size: 1.6rem;
    line-height: 28px;
  }
  .sub #content > section.page#production .list > div > div:nth-of-type(2) > p{
    width: 48%;
    margin-top: 10px;
  }
  .sub #content > section.page#production .list ul li{
    width: 48%;
    margin: 4% 0 0;
  }

  .sub #content > section.page#production .list ul li h4{
    height: 40px;
    padding: 0 10px;
  }
  .sub #content > section.page#production .list ul li h4 span:nth-of-type(1){
    margin-left: 10px;
    font-size: .7rem;
    transform: none;
  }
  .sub #content > section.page#production .list ul li h4 span:nth-of-type(2){
    margin-top: 0;
  }

}