.header-contents.page {
  background: rgb(255 255 255 / .62)!important;
}
.page .before {
  display: none!important;
}
.page .after {
  display: block!important;
}
.page .gloval-nav li a {
  color: #292929;
}
main {
  margin-top: 110px;
}
.page-top {
  background: url(../img/dress/fv.jpg) center;
  width: 100%;
  background-size: cover;
  height: 315px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 18px;
}
.page-top h1 {
  font: 500 61px futura-pt, sans-serif;
  text-align: center;
  line-height: .5;
  color: #FFF;
}
.page-top h1 span {
  font-weight: nomal;
  font-size: 18px;
}
/* intro */
.intro {
  margin-bottom: 113px;
}
.intro h2,.flow h2 {
  font: 500 38px futura-pt, sans-serif;
  text-align: center;
  position: relative;
  line-height: .8;
  margin-bottom: 48px;
}
.intro h2 span,.flow h2 span {
  font-size: 13px;
  color: #333;
}
.intro h2:after,.flow h2:after {
  content: "";
  position: absolute;
  background: #009898;
  height: 4px;
  width: 80px;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
}
.intro-p {
  text-align: center;
  line-height: 1.94;
  margin-bottom: 62px;
}
.video-wrap {
  max-width: 935px;
  margin: 0 auto 127px;
  position: relative;
  width: 100%;
}
.video-wrap video {
  width: 100%;
}
.video-btn {
  display: block;
  width: 250px;
  height: 45px;
  line-height: 45px;
  text-align: center;
  text-decoration: none;
  background: #191919;
  color: #FFF;
  position: absolute;
  bottom: 50px;
  left: 50%;
  transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transition: .4s;
}
.video-btn:hover {
  opacity: .7;
}
.video-btn.tb {
  display: none;
}
/* dress-lists */
.dress-lists_wrap h2 {
  margin-bottom: 63px;
}
.dress-lists {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.dress-lists li {
  width: 30%;
}
.dress-list {
  position: relative;
  max-width: 297px;
  height: auto;
  background: #000;
  overflow: hidden;
  margin: 0 auto 22px;
}
.dress-list img{
  width: 100%;
  cursor: pointer;
  transition-duration: 0.3s;
}
.dress-list:hover img{
  opacity: 0.4;
  transition-duration: 0.3s;
}
.dress-list:hover h3 {
  color: #FFF;
}
.dress-list h3 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  color: #292929;
  font: 400 22px futura-pt, sans-serif;
  text-align: center;
  line-height: 1;
}
.dress-lists li p {
  font: 400 15px futura-pt, sans-serif;
  text-align: center;
}
/* flow */
.flow {
  margin-bottom: 100px;
}
.flow .bg {
  background: #F6F3F1;
  padding: 65px 0 95px;
  position: relative;
}
.flow h2 {
  margin-bottom: 55px;
}
.intro-txt {
  text-align: center;
  margin-bottom: 75px;
}
.flow-lists {
  display: flex;
  justify-content: space-between;
}
.flow-lists figcaption,.flow-pic {
  width: 48%;
}
.step {
  width: 50px;
  margin: 0 auto;
}
.flow-lists h3 {
  font: 400 25px futura-pt, sans-serif;
  text-align: center;
  font-weight: 400;
}
.flow-lists p {
  text-align: center;
  font-family: futura-pt, sans-serif;
}
.flow-btn {
  font-family: futura-pt, sans-serif;
  display: block;
  text-decoration: none;
  outline: 1px solid #FFF;
  outline-offset: -5px;
  width: 265px;
  height: 75px;
  line-height: 75px;
  text-align: center;
  background: #000000;
  color: #FFF;
  margin: 0 auto;
  transition: .4s;
}
.flow-btn:hover {
  opacity: .7;
}
.flow-lists figcaption {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.flow .bg:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -30px;
  transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  display: inline-block;
  border-style: solid;
  border-width: 30px 34px 0 34px;
  border-color: #F6F3F1 transparent transparent transparent;
}
.flow .no_bg {
  padding: 65px 0;
  position: relative;
}
.flow .no_bg:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -30px;
  transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  display: inline-block;
  border-style: solid;
  border-width: 30px 34px 0 34px;
  border-color: #FFF transparent transparent transparent;
}
.bg_last {
  background: #F6F3F1;
  padding: 85px 0 65px;
}
/* ----------
  1024px
  ---------- */
@media (max-width: 1024px) {
  main {
    margin-top: 55px;
  }
  /* dress-lists */
  .dress-lists {
    flex-direction: column;
  }
  .dress-lists li {
    width: 100%;
    margin-bottom: 45px;
  }
  .dress-lists li:last-child {
    margin-bottom: 0;
  }
  /* flow */
  .flow-lists {
    flex-direction: column;
  }
  .flow-lists figcaption,.flow-pic {
    width: 100%;
    max-width: 550px;
    margin: 0 auto;
  }
  .flow-lists figcaption {
    order: 2;
  }
  .flow-pic {
    order: 1;
    margin-bottom: 40px;
  }
  .step {
    margin-bottom: 25px;
  }
  .flow-lists h3 {
    margin-bottom: 20px;
  }
  .mb {
    margin-bottom: 30px;
  }
}
/* ----------
  768px
  ---------- */
@media (max-width: 768px) {
  .breadcrumb {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
  }
  .page-top {
    height: 200px;
    margin-bottom: 42px;
  }
  .page-top h1 {
    font-size: 22px;
    line-height: 1;
  }
  .page-top h1 span {
    font-size: 9px;
  }
  /* plan */
  .intro h2 {
    margin-bottom: 30px;
    font-size: 22px;
    line-height: 1;
  }
  .dress-lists_wrap h2 {
    margin-bottom: 42px;
  }
  .intro h2 span,.flow h2 span {
    font-size: 10px;
  }
  .intro h2:after,.flow h2:after {
    bottom: -13px;
  }
  .intro-p {
    font-size: 15px;
    margin-bottom: 50px;
  }
  .video-btn.pc {
    display: none;
  }
  .video-btn.tb {
    display: block;
    position: unset;
    left: 0;
    bottom: 0;
    transform: unset;
    margin: 0 auto 75px;
  }
  .video-wrap {
    margin: 0 auto 15px;
  }
  /* flow */
  .flow .bg {
    padding: 33px 0 55px;
  }
  .flow h2 {
    margin-bottom: 42px;
    font-size: 22px;
    line-height: 1;
  }
  .intro-txt {
    margin-bottom: 34px;
  }
  .step {
    width: 37px;
  }
  .flow .no_bg {
    padding: 70px 0 47px;
  }
  .bg_last {
    padding: 80px 0 105px;
  }
  .flow {
    margin-bottom: 80px;
  }
}
/* ----------
  480px
  ---------- */
@media (max-width: 480px) {
  .page-top {
    height: 92px;
    margin-bottom: 42px;
    background: url(../img/dress/fv_sp.jpg) center;
    background-size: cover;
  }
}
