body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {padding: 0;margin: 0;}
a{text-decoration:none; outline:none!important;}
table {border-spacing: 0;}
fieldset,img {border: 0;}
html,body,div,article,section,nav,header,footer,input,textarea {-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
address,caption,cite,code,dfn,em,strong,th,var {font-weight: normal;font-style: normal;}
div,article,section{display:block; overflow:hidden;}
strong{font-weight: bold;}
ol,ul {list-style: none;margin:0;padding:0;}
caption,th {text-align: left;}
h1,h2,h3,h4,h5,h6 {font-weight: normal;font-size: 100%;margin:0;padding:0;}
q:before,q:after {content:'';}
abbr,acronym { border: 0;}

html{
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-size: 62.5%;
}
html,body{
	position:relative;
	height:100%;
	min-height:100%;
}
body{
	color:#555;
	font-size:1.6rem;
  font-style: normal;
	position:relative;
}
a{color:#b2b2b2; text-decoration:none;}
img{max-width:100%; vertical-align:bottom;}

#fv{
  position: relative;
  width: 100%;
  height: 380px;
}
#fv .static-img {
  display: none;
}
#fv video{
 position: absolute;
 left: 0;
 top: 0;
 min-width: 100%;
 min-height: 100%;
 width: auto;
 height: 380px;
 z-index: -100;
 background: url('../images/callanmv.jpg') no-repeat;
 background-size: cover;
}
#fv .over{
 position: relative;
 z-index: 2;
 background: url('../images/fv_cover.png') left top repeat;
 text-align: center;
 width: 100%;
 height: 100%;
}
#fv picture{
  display: none;
}
#fv a{
  position: absolute;
  display: block;
  top: 20px;
  left: 20px;
}
#fv a img{
  height: 30px;
  width: auto;
}

#concept{
  padding:  25px 0;
  text-align: center;
  background: url(../images/bg_concept.png) left top repeat;
}

.content{
  width: 100%;
  text-align: center;
  padding: 45px 0 20px;
}
.content picture{
  display: block;
}
.content img{
  height: auto;
  margin-bottom: 30px;
}

#content1{
  background: url(../images/bg_content1.png) left top repeat;
  padding-top: 20px;
}
#content2{
  background: url(../images/bg_content2.png) left top repeat;
}
#content3{
  background: url(../images/bg_content3.png) left top repeat;
}
#content4{
  background: url(../images/bg_content4.jpg) center center no-repeat;
  background-size: cover;
}
#content5{
  background: url(../images/bg_bnr.png) center center repeat;
  padding-bottom: 0;
}
#content5 img {
    margin-bottom: 10px;
}
#content6{
  background: url(../images/bg_content6.png) left top repeat;
}
#content7{
  background: url(../images/bg_content7.png) left top repeat;
}
.bnr{
  width: 100%;
  background-image: url(../images/bnr.png), url(../images/bg_bnr.png);
  background-position: center center, center center;
  background-repeat: no-repeat, repeat;
  text-align: center;
  height: 250px;
}
.bnr a{
  display: block;
  width: 341px;
  height: 82px;
  margin: 120px auto auto;
}
footer{
  background: #ddd;
  text-align: center;
  padding: 10px 0;
}
#copy{
  font-size:1.2rem;
  line-height: 30px;
}

/* ---------------------------------------------------------------------------------------- */
@media screen and (max-width: 767px) {
  #fv .static-img {
    display: block;
    position: absolute;
    z-index: -1;
  }
  #fv video {
    display: none;
  }
}

@media screen and (min-width: 750px){
  a:hover{ opacity: .8; }
  #fv,
  #fv video{
    width: 100%;
    height: 56.4vw;
  }
  #fv .over{
   z-index: 2;
   background: url(../images/fv_cover.png) left top repeat;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
   width: 100%;
   height: 100%;
  }
  #fv picture{
    display: block;
  }
  #fv a img{
    height: 50px;
    width: auto;
  }
  #concept{
    display: none;
  }
  .content img{
    height: auto;
    max-width: 95vw;
  }
  .bnr{
    background-image: url(../images/bnr-pc.png), url(../images/bg_bnr.png);
    background-position: center center, center center;
    background-repeat: no-repeat, repeat;
  }
  .bnr a{
    width: 331px;
    margin: 100px auto auto calc(50vw - 25px);
  }
  #content4{
    background: url(../images/bg_content4-pc.jpg) left top no-repeat;
    background-size: cover;
  }
  #content7{
    background: url(../images/bg_content7-pc.jpg) left top no-repeat;
    background-size: cover;
  }
}