@charset "UTF-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","游ゴシック","YuGothic","ＭＳ ゴシック",sans-serif;
  line-height: 1.5; }

html,body{
  width: 100%;
  -webkit-text-size-adjust: 100%;
  height: 100%;
}

* {max-height:1000000px;}

body {
  position: relative;
  font-size: 14px;
  color: #3a3a39;
  background-color: #fff; }
  
a {
  color: #000;
  text-decoration: none;
  -webkit-font-smoothing: subpixel-antialiased; 
  -webkit-transition: .3s;
  transition: .3s;
}
a:hover {
  color: #555;}
  
a img:hover{
  opacity: 0.8; }

address {
  font-style: normal; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

/* remember to define focus styles! */
:focus {
  outline: 0; }

/* remember to highlight inserts somehow! */
ins {
  text-decoration: none; }

del {
  text-decoration: line-through; }

/* tables still need 'cellspacing=&quot;0&quot;' in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0; }

.cf:before, .cf:after {
  content: " ";
  display: table; }

.cf:after {
  clear: both; }

.cf {
  *zoom: 1; }
 
 
/* header */
header{
  position: relative;
  width: 100%;
}
header #mv{
  position: relative;
  width: 100%;
  height: 870px;
  background: url(../images/mv_bg.jpg) no-repeat center top;
  background-size: cover;
  text-align: center;
}
header #mv h2{
  padding-top: 115px;
}
header #mv .img {
  margin: 35px auto 20px ;
}
header #mv .shinobi_logo{
  position: absolute;
  top: 35px;
  left: 45px;
}
header #mv .buy{
  position: absolute;
  bottom: 60px;
  right: 40px;
  z-index: 100;
}
header #mv .copyright{
  position: absolute;
  bottom: 55px;
  left: 50%;
  margin-left: -315px;
}


main{
}

.cv_btn{
  display: none;
  position: fixed;
  bottom: 60px;
  right: 40px;
  z-index: 100;
}

#sec01{
  position: relative;
  background: #fff url("../images/sec_bg.png") repeat;
  background-size: 510px;
  padding: 115px 0 125px;
  text-align: center;
}
#sec01 .img{
  margin-bottom: 40px;
}
#sec01 .txt{
  width: 650px;
  margin: 0 auto 60px;
}
#sec01 .txt p{
  font-size: 18px;
  text-align: left;
  line-height: 1.8;
}
#sec01 .movie{
  max-width: 800px;
  margin: 30px auto 0;
  background: #000;
}
#sec01 .movie video{
  width: 100%;
}

#sec02{
  position: relative;
  background: #e5b900 url("../images/sec_bg.png") repeat;
  background-size: 510px;
  padding: 125px 0 125px;
  text-align: center;
}
#sec02 ul{
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  padding-top: 60px;
}
#sec02 ul li{
  position: relative;
  width: 312px;
  height: 200px;
  padding: 30px 40px 0;
  margin: 20px 30px 55px 0;
  background: rgba(255,255,255,0.8);
  box-sizing: border-box;
}
#sec02 ul li::before,#sec02 ul li::after{
  position: absolute;
  content: "";
  width: 100%;
  height: 19px;
  background: url("../images/sec02_bg_waku.png") no-repeat;
  background-size: cover;
  left: 0;
  bottom: 100%;
}
#sec02 ul li::after{
  bottom: auto;
  top: 100%;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
#sec02 ul li:nth-child(3n){
  margin-right: 0;
}
#sec02 ul li h3{
  margin-bottom: 30px;
}
#sec02 ul li p{
  text-align: left;
}

#lineup{
  position: relative;
  padding: 240px 0 90px;
  background: url("../images/lineup_bg.jpg") no-repeat center top;
  background-size: cover;
  text-align: center;
}
#lineup h2{
  margin-bottom: 35px;
}
#lineup ul{
  max-width: 910px;
  margin: 0 auto 80px;
  display: flex;
  justify-content: space-between;
  color: #fff;
}
#lineup .price{
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
#lineup .price h3{
  padding-left: 35px;
}
#lineup .price p{
  padding-bottom: 20px;
}
#lineup dl{
  max-width: 575px;
  margin: 80px auto 0;
  background: #333;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  color: #fff;
  font-size: 16px;
}
#lineup dl dt{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 18%;
  border-right: 1px solid #000;
  box-sizing: border-box;
  line-height: 2em;
}
#lineup dl dt:first-of-type{
  border-bottom: 1px solid #000;
}
#lineup dl dd{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 82%;
  line-height: 2em;
}
#lineup dl dd:first-of-type{
  border-bottom: 1px solid #000;
}
#lineup .copyright{
  position: absolute;
  bottom: 45px;
  right: 30px;
}

#cg{
  position: relative;
  background: url("../images/cg_bg.jpg") no-repeat center center;
  background-size: cover;
  height: 500px;
  text-align: center;
  padding-right: 75px;
}
#cg a{
  display: block;
  width: 100%;
  height: 100%;
}
#cg a img{
  opacity: 1;
}
#cg .img{
  position: absolute;
  left: 0;
  bottom: 0;
  line-height: 0;
}
#cg h2{
  padding-top: 95px;
  margin-bottom: 40px;
}
#cg .prod{
  position: absolute;
  top: 130px;
  left: 50%;
  margin-left: 206px;
}
#cg .btn{
  position: absolute;
  bottom: 30px;
  right: 130px;
  transition: .3s;
}
#cg a:hover .btn{
  opacity: .7;
}


/* footer */
footer{
  width: 100%;
  padding: 80px 0 30px;
  background: url("../images/footer_bg.png") no-repeat;
  background-size: cover;
  text-align: center;
}
footer h2{
  display: table;
  margin: 0 auto 30px;
  padding: 0 .5em .6em;
  font-size: 20px;
  color: #000;
  letter-spacing: .15em;
  border-bottom: 2px solid #000;
}
footer ul{
  margin-bottom: 80px;
}
footer ul li{
  margin-bottom: 15px;
}
footer ul li a{
  display: inline-block;
  line-height: 1;
}
footer h3{
  font-size: 22px;
  color: #000;
  margin-bottom: .4em;
}

@media screen and (min-width: 768px){
  body{
    font-size: 14px;
  }
  .sp{
    display: none !important;
  }
  body,html{
    min-width: 1100px;
  }
  img{
    height: auto;
  }
	.spnav{
		display: block !important;
		overflow: hidden;
	}
}

@media screen and (max-width: 767px){
  .pc{
    display: none !important;
  }
  img{
    width: 100%;
    max-width: 100%;
    height: auto;
  }
  *{
    box-sizing: border-box;
  }
  
  /* header */
  header #mv{
    height: auto;
    background: url(../images/mv_bg_sp.jpg) no-repeat center top;
    background-size: cover;
    padding-bottom: 1.5em;
  }
  header #mv h2{
    width: 70%;
    margin: 0 auto;
    padding-top: 3em;
  }
  header #mv .img {
    margin: 1em auto 0;
  }
  header #mv h1{
    width: 94%;
    margin: 0 auto;
  }
  header #mv .buy{
    width: 30%;
    position: static;
    margin: 0 3% 0 auto;
  }
  header #mv .copyright{
    width: 45%;
    bottom: 1em;
    right: auto;
    left: 3%;
    margin-left: 0;
  }
  
  .cv_btn{
    width: 30%;
    bottom: 6%;
    right: 3%;
  }

  #sec01{
    background-size: 100vw;
    padding: 4em 0 6em;
    text-align: center;
  }
  #sec01 .img{
    width: 88%;
    margin: 1em auto 2em;
  }
  #sec01 .txt{
    width: 88%;
    margin: 0 auto 3em;
  }
  #sec01 .txt p{
    font-size: 3.5vw;
    line-height: 1.8;
  }
  #sec01 h3{
    width: 90%;
    margin: 0 auto;
  }
  #sec01 .movie{
    width: 90%;
    margin: 1em auto;
  }

  #sec02{
    background-size: 100vw;
    padding: 5em 0 3em;
  }
  #sec02 ul{
    width: 88%;
    display: block;
    padding-top: 2em;
  }
  #sec02 ul li{
    position: relative;
    width: 100%;
    height: auto;
    padding: .5em 2em;
    margin: 0 0 60px;
  }
  #sec02 ul li::before,#sec02 ul li::after{
  }
  #sec02 ul li::after{
  }
  #sec02 ul li h3{
    margin-bottom: .5em;
  }
  #sec02 ul li p{
    font-size: 3.4vw;
  }

  #lineup{
    padding: 3em 0 5em;
    background: url("../images/lineup_bg_sp.jpg") no-repeat center top;
    background-size: cover;
  }
  #lineup h2{
    width: 70%;
    margin: 0 auto 1em;
  }
  #lineup .img{
    width: 100%;
    margin-bottom: 1em;
  }
  #lineup .price{
    width: 94%;
    margin: 0 auto;
    display: block;
  }
  #lineup .price h3{
    padding-left: 0;
    margin-bottom: 1em;
  }
  #lineup .price p{
    width: 58%;
    padding-bottom: 0;
    margin: 0 3% 0 auto;
  }
  #lineup dl{
    width: 94%;
    margin: 2em auto 0;
    font-size: 2.7vw;
  }
  #lineup dl dt{
    width: 15%;
  }
  #lineup dl dd{
    width: 85%;
  }
  #lineup .copyright{
    width: 45%;
    bottom: 1em;
    right: auto;
    left: 3%;
  }
  
  #cg{
    position: relative;
    background: url("../images/cg_bg.jpg") no-repeat center center;
    background-size: cover;
    height: auto;
    text-align: center;
    padding-right: 0;
  }
  #cg .img{
    width: 45%;
    left: -2em;
    z-index: 0;
    opacity: .75;
  }
  #cg h2{
    width: 80%;
    padding-top: 3em;
    margin: 0 auto 1em;
  }
  #cg .prod{
    width: 70%;
    position: static;
    margin: 0 auto 1em;
  }
  #cg h3{
    position: relative;
    width: 70%;
    margin: 0 auto 1em;
    z-index: 5;
  }
  #cg .btn{
    position: static;
    width: 32%;
    margin: 1em 5% 0 auto;
    padding-bottom: 1em;
  }

  /* footer */
  footer{
    width: 100%;
    padding: 5em 0 10em;
  }
  footer h2{
    margin: 0 auto 1.5em;
    font-size: 3.8vw;
  }
  footer ul{
    width: 76%;
    margin: 0 auto 3em;
  }
  footer ul li{
    margin-bottom: .5em;
  }
  footer ul li a{
    display: inline-block;
    line-height: 1;
  }
  footer h3{
    font-size: 5.5vw;
  }
  footer .url{
    font-size: 3.8vw;
  }

  
}
