@charset "Shift_JIS";
/**
 * default.css
 * updatedAt: 2016.03.23
 * createdAt: 2016.03.23
 */

/*----------------------------------------
  Reset
----------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;vertical-align:top;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align: baseline;}sub{vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{*font-size:100%;}legend{color:#000;}del,ins{text-decoration:none;}a{text-decoration:none;outline:none;}nav{display:block;}section{display:block}

/*----------------------------------------
  body
----------------------------------------*/
body {
  position: relative;
  margin: 0;
  padding: 0;
  font-family: YuGothic,"Yu Gothic",
    "\6E38\30B4\30B7\30C3\30AF",
    "\30D2\30E9\30AE\30CE\89D2\30B4\20\50\72\6F\20\57\33",
    "Hiragino Kaku Gothic Pro",
    "\30E1\30A4\30EA\30AA",Meiryo,
    "\FF2D\FF33\20\FF30\30B4\30B7\30C3\30AF",
    "Droid Sans",sans-serif;
  color: #fff;
  background-color: #000;
  border-top: 5px solid #c83b18;
  -webkit-text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
}
.ie-legacy body {
  min-width: 960px;
}

a.hover img,
a img.hover {
  transition: opacity 0.2s;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  -ms-transition: opacity 0.2s;
}
a.hover:hover img,
a:hover img.hover {
  opacity: 0.8;
}

@media(max-width:640px) {
  body {
    min-width: 320px;
    border-top: 4px solid #c83b18;
  }
}
@media screen and (max-width: 639px) {
  html {
    font-size: 100%;
    line-height: 1.6;
  }
}

/*----------------------------------------
  .container
----------------------------------------*/
.container {
  overflow: hidden;
}
.container a,
.container img {
  vertical-align: top;
}
.container .u640 {
  display: none;
}
.container br.b64,
.container br.b48 {
  display: none;
}

@media(max-width:640px) {
  .container .o640 {
    display: none;
  }
  .container .u640 {
    display: block;
  }
  .container img.u640 {
    display: inline;
  }
  .container br.b64 {
    display: block;
  }
  .container br.nb64 {
    display: none;
  }
}
@media(max-width:480px) {
  .container br.b48 {
    display: block;
  }
  .container br.nb64 {
    display: none;
  }
}
@media(max-width:320px) {
  .container br.nb32 {
    display: none;
  }
}


/*========================================

  header

========================================*/
header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  line-height: 0;
}
header a {
  display: block;
}
header .header-inner {
  margin: 0 auto;
  width: 93.75%;
  max-width: 1200px;
}
header .header-inner:after {
  clear: both;
  display: block;
  content: "";
}
header h1 {
  float: left;
  /*margin: 0 0 0 20px;
  padding: 29px 0;*/
  margin: 0 0 0 1.6667%;
  padding: 2.416667% 0;
  width: 111px;
}
header h1 img {
  width: 111px;
  height: auto;
}
header strong {
  float: right;
  display: block;
  /*margin: 0 20px 0 0;
  padding: 22px 0;*/
  margin: 0 1.6667% 0 0;
  padding: 1.83334% 0;
  width: 42px;
}
header strong img {
  width: 40px;
  height: auto;
}

@media(max-width:900px) {
  header {
    position: static;
  }
  header h1 {
    margin: 0 0 0 1.6667%;
    padding: 3% 0;
    width: 13.2142857%;
  }
  header h1 img {
    width: 100%;
  }
  header strong {
    margin: 0 1.6667% 0 0;
    padding: 2.12765% 0;
    width: 5%;
  }
  header strong img {
    width: 100%;
  }
}

@media(max-width:480px) {
  header h1 {
    margin: 0 0 0 10px;
    padding: 20px 0;
    width: 22%;
  }
  header strong {
    margin: 0 10px 0 0;
    padding: 16px 0 0;
    width: 8%;
  }
}


/*========================================

  .mvisual

========================================*/
.mvisual {
  background-image: url(../img/mvisual_bg.png);
  background-repeat: repeat-x;
  background-position: left bottom;
}
.mvisual img {
  width: 100%;
  height: auto;
}
.mvisual .mvisual-inner {
  position: relative;
  margin: 0 auto;
  width: 93.75%;
  max-width: 1200px;
}
.mvisual .mvisual-img {
  /*margin-left: -400px;*/
  /*width: 2000px;*/
  margin-left: -33.3334%;
  width: 166.6667%;
}
.mvisual .mvisual-txt {
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
  /*padding: 0 20px;*/
  /*width: 1160px;*/
  padding: 0 1.6667%;
  width: 100%;
  height: 100%;
}
.mvisual .mvisual-txt h1 {
  /*margin-top: 170px;*/
  /*width: 258px;*/
  margin-top: 14.6551724%;
  width: 22.2413793%;
  line-height: 0;
}
.mvisual .mvisual-txt h2 {
  /*margin: 42px 0 30px;*/
  /*width: 355px;*/
  margin: 3.6206896% 0 2.5862068%;
  width: 30.6034482%;
  line-height: 0;
}
.mvisual .mvisual-txt p {
  font-size: 100%;
  line-height: 1.6;
}

@media(max-width:900px) {
  .mvisual .mvisual-img {
    margin-left: -31%;
  }
  .mvisual .mvisual-txt h1 {
    margin-top: 12%;
  }
  .mvisual .mvisual-txt p {
    font-size: 112.5%;
    line-height: 1.8;
  }
}
@media(max-width:640px) {
  .mvisual .mvisual-inner {
    width: auto;
  }
  .mvisual .mvisual-txt {
    position: static;
    text-align: center;
  }
  .mvisual .mvisual-txt h1 {
    margin: 20px auto 0;
    width: 48%;
  }
  .mvisual .mvisual-txt h2 {
    margin: 20px auto;
    width: 50%;
  }
  .mvisual .mvisual-txt p {
    font-size: 93.8%;
  }
  .mvisual .mvisual-img-box {
    position: relative;
    padding-bottom: 58%;
    overflow: hidden;
  }
  .mvisual .mvisual-img {
    position: absolute;
    top: 0;
    left: 0;
    margin-left: -97%;
    width: 238%;
  }
}


/*========================================

  .menu

========================================*/
.menu {
  font-size: 0;
  line-height: 0;
  overflow: hidden;
}
.menu .menu-wrap {
  position: relative;
  background-color: #000;
  overflow: hidden;
}
.menu--floating .menu-wrap {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  box-shadow: 0 2px 4px 0 rgba(0,0,0,0.4);
}
.menu .menu-inner {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 1200px;
}
.menu .menu-inner:after {
  clear: both;
  display: block;
  content: "";
}
.menu li {
  display: inline-block;
  box-sizing: border-box;
  /*width: 200px;*/
  width: 16.667%;
  border-right: 1px solid #686b6e;
}
.menu li:first-child {
  border-left: 1px solid #686b6e;
}
.menu li a {
  position: relative;
  display: block;
  line-height: 0;
}
.menu li img {
  width: 100%;
  height: auto;
}
.menu li .ot {
  position: relative;
  z-index: 1;
  -webkit-transition: opacity 0.25s;
  -moz-transition: opacity 0.25s;
  transition: opacity 0.25s;
}
.menu li .on {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
}
.menu li:hover .ot,
.menu li.current .ot {
  opacity: 0;
}
.menu li span {
  display: none;
}

@media(max-width: 640px) {
  .menu--floating .menu-wrap {
    box-shadow: none;
  }
  .menu .menu-wrap {
    position: static !important;
	background-color: rgba(0,0,0,0.7);
  }
  .menu .menu-inner {
    border-bottom: 1px solid #444;
    border-left: 1px solid #444;
  }
  .menu li {
    width: 33.3334%;
    border-top: 1px solid #444;
    border-right: 1px solid #444;
  }
  .menu li:first-child {
    border-left: none;
  }
}

/*----------------------------------------
  .menu-clone
----------------------------------------*/
.menu-clone {
  display: none !important;
  font-size: 100%;
  line-height: 1.6;
  background-color: #333;
  box-shadow: 0 2px 4px 0 rgba(0,0,0,0.4);
  overflow: visible;
}
.menu-clone .menu-wrap {
  position: fixed !important;
  top: -60px;
  left: 0;
  right: 0;
  z-index: 50;
  /*background-color: #333;
  box-shadow: 0 2px 4px 0 rgba(0,0,0,0.4);*/
  overflow: visible;
  -webkit-transition: top 0.3s;
  -moz-transition: top 0.3s;
  transition: top 0.3s;
}
.menu-clone .backdrop {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  display: none;
}
.menu-clone.menu--floating {
  display: block;
}
.menu-clone.menu--floating .menu-wrap {
  top: 0;
}
.menu-clone .toggle-inner {
  padding: 10px 4%;
}
.menu-clone .toggle-inner:after {
  clear: both;
  display: block;
  content: "";
}
.menu-clone .toggle {
  float: right;
  margin: 0;
  padding: 8px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}
.menu-clone .toggle span {
  display: block;
  margin: 4px 0;
  width: 22px;
  height: 2px;
  background-color: #fff;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}
.menu--open .backdrop {
  position: fixed;
  display: block;
  z-index: 40;
}
.menu--open .toggle {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);

}
.menu--open .toggle .bar1 {
  -webkit-transform: rotate(0deg) translateY(6px);
  -moz-transform: rotate(0deg) translateY(6px);
  transform: rotate(0deg) translateY(6px);
}
.menu--open .toggle .bar2 {
  opacity: 0;
}
.menu--open .toggle .bar3 {
  -webkit-transform: rotate(-90deg) translateX(5.5px);
  -moz-transform: rotate(-90deg) translateX(5.5px);
  transform: rotate(-90deg) translateX(5.5px);
}
.menu-clone .menu-inner {
  position: absolute;
  top: 100%;
  right: 0;
  display: none;
  width: 100%;
  /*max-width: 300px;*/
  background-color: #333;
  border: none;
  box-shadow: 0 2px 4px 0 rgba(0,0,0,0.4);
  overflow: hidden;
}
.menu-clone li {
  display: block;
  width: auto;
}
.menu-clone li img {
  display: none;
}
.menu-clone li span {
  display: inline;
}
.menu-clone li a {
  padding: 0 25px;
  line-height: 45px;
  color: #fff;
  text-decoration: none;
}

@media(max-width: 640px) {
  .menu-clone {
    display: block !important;
  }
}


/*========================================

  section

========================================*/
section {
  margin-top: -64px;
  padding-top: 64px;
  padding-bottom: 100px;
}
section .img-box {
  line-height: 0;
}
section .img-box img {
  width: 100%;
  height: auto;
}
section .nindent {
  text-indent: -0.5em;
}

@media(max-width: 1024px) {
  section {
    font-size: 87.5%;
  }
}
@media(max-width: 800px) {
  section {
    font-size: 75%;
  }
}
@media(max-width: 640px) {
  section {
    padding-bottom: 80px;
    font-size: 81.3%;
  }
}

/*----------------------------------------
  .heading
----------------------------------------*/
section .heading {
  background-color: #161719;
}
section .heading-inner {
  position: relative;
}
section .heading-img {
  line-height: 0;
}
section .heading-img img {
  /*margin-left: -400px;*/
  /*width: 2000px;*/
  margin-left: -33.3334%;
  width: 166.6667%;
}
section .heading-txt {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
section .heading h3 {
  /*margin-left: 65px;*/
  /*padding-top: 67px;*/
  margin-left: 5.416667%;
  padding-top: 5.583334%;
  line-height: 0;
}
section .heading h3 img {
  width: 100%;
  height: auto;
}
section .heading p {
  /*padding-top: 15px;*/
  margin-left: 5.416667%;
  padding-top: 1.25%;
  font-size: 175%;
  line-height: 1.4;
  letter-spacing: -0.05em;
}
section .heading-inner {
  margin: 0 auto;
  width: 93.75%;
  max-width: 1200px;
}

@media(max-width:640px) {
  section .heading {
    background-color: #000;
  }
  section .heading-txt {
    position: relative;
    text-align: center;
  }
  section .heading h3 {
    margin: 0 auto !important;
    padding-top: 30px !important;
  }
  section .heading h3 img {
    margin-left: -50%;
    width: 200%;
  }
  section .heading p {
    margin: 0 auto !important;
    padding-top: 15px !important;
    font-size: 143.8%;
	font-weight: bold;
  }
}

/*----------------------------------------
  .content-inner
----------------------------------------*/
section .content-inner {
  margin: 70px auto 0;
  width: 93.75%;
  max-width: 1200px;
}
section .content-inner.no-margin {
  margin-top: 0;
}
section .content-inner:after {
  clear: both;
  display: block;
  content: "";
}
section .heading + .content-inner {
  margin-top: 80px;
}
section h4 {
  /*margin-bottom: 28px;*/
  /*width: 850px;*/
  margin-bottom: 2.3334%;
  width: 70.83334%;
  font-size: 150%;
  line-height: 1.4;
  color: #ddd;
}
section .right-txt h4 {
  float: right;
}
section .left-txt h4 {
  float: left;
}
section .txt-box {
  width: 70.83334%;  
}
section .txt-box p.txt {
  /*margin-top: 28px;*/
  margin-top: 3.2941176%;
  font-size: 100%;
  line-height: 2.0;
}
section .txt-box p.txt:first-child {
  margin-top: 0;
}
section .right-txt .txt-box {
  float: right;
}
section .person {
  /*width: 269px;*/
  margin-top: 5px;
  width: 22.416667%;
}
section .right-txt .person {
  float: left;
}
section .left-txt .person {
  float: right;
}
section .person p {
  margin-top: 8px;
  font-size: 137.5%;
  font-weight: bold;
  line-height: 1.2;
}
section .person p span {
  font-size: 63.6%;
  font-weight: normal;
}
section p.caption {
  margin-top: 10px;
  font-size: 75%;
  line-height: 1.4;
}
section p.caption.center {
  text-align: center;
}

@media(max-width:640px) {
  section .content-inner {
    margin: 60px auto 0;
    width: 90.625%;
  }
  section .heading + .content-inner {
    margin-top: 30px;
  }
  section h4 {
    float: none !important;
    margin-bottom: 20px;
    width: auto;
    font-size: 131.3%;
    text-align: center;
  }
  section h4:before {
    content: "u ";
  }
  section h4:after {
    content: " v";
  }
  section .person {
    float: none !important;
    margin: 30px auto;
    width: 200px;
  }
  section .txt-box {
    float: none !important;
    width: auto;
  }
  section .txt-box p.txt {
    margin-top: 20px;
  }
}

/*----------------------------------------
  #Concept
----------------------------------------*/
#Concept .heading h3 {
  width: 15.916667%;
}
#Concept .img-02 {
  margin-top: 75px;
}
#Concept .img-02 img {
  /*margin-left: -301px;
  width: 1802px;*/
  margin-left: -25.083334%;
  width: 150.16667%;
}

@media(max-width:640px) {
  #Concept .img-02 {
    margin: 40px 0;
  }
  #Concept .img-02 img {
    margin-left: -50%;
    width: 200%;
  }
}

/*----------------------------------------
  #AutoFocus
----------------------------------------*/
#AutoFocus .heading h3 {
  width: 22.416667%;
}
#AutoFocus .img-02 {
  margin-top: 50px;
}
#AutoFocus .img-03 {
  margin: 40px 0 35px;
}
#AutoFocus .movie-box {
  position: relative;
  /*padding-bottom: 478px;*/
  padding-bottom: 56.2352941%;
}
#AutoFocus .movie-box .poster {
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  -moz-transition: opacity 0.25s;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}
#AutoFocus .movie-box:hover .poster {
  opacity: 0.85;
}
#AutoFocus .video-container {
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.video-container iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  -moz-transition: opacity 0.3s 0.2s;
  -webkit-transition: opacity 0.3s 0.2s;
  transition: opacity 0.3s 0.2s;
  -webkit-transform: translate3d(0,0,0);
}
.video--isPlaying .video-container iframe {
  opacity: 1;
}
#AutoFocus .img-05 {
  margin-top: 40px;
}


@media(max-width:640px) {
  #AutoFocus .img-02,
  #AutoFocus .img-05 {
    margin-top: 30px;
  }
  #AutoFocus .img-03 {
    margin: 30px 0 60px;
  }
}

/*----------------------------------------
  #Operation
----------------------------------------*/
#Operation .heading {
  text-align: right;
}
#Operation .heading h3 {
  display: inline-block;
  /*margin-right: 215px;*/
  /*width: 264px;*/
  margin-right: 17.916667%;
  width: 22%;
}
#Operation .heading p {
  /*margin-right: 210px;*/
  margin-right: 16.3%;
}
#Operation .img-02 {
  clear: both;
  margin-top: 35px;
}
#Operation .img-02 .caption {
  margin-bottom: 10px;
}

@media(max-width:640px) {
  #Operation .img-02 {
    margin-top: 30px;
  }
}

/*----------------------------------------
  #ImageQuality
----------------------------------------*/
#ImageQuality .heading h3 {
  /*margin-left: -12px;
  padding-top: 51px;
  width: 358px;*/
  margin-left: -1%;
  padding-top: 4.25%;
  width: 29.83334%;
}
#ImageQuality .heading p {
  margin-left: 0;
  margin-top: 0;
  text-shadow: 0px 0px 15px #000,
    0px 0px 10px #000,
    0px 0px 5px #000,
    0px 0px 5px #000; 
}
#ImageQuality .img-02 {
  margin-top: 40px;
}
#ImageQuality .img-02:after {
  clear: both;
  display: block;
  content: "";
}
#ImageQuality .img-02a {
  float: left;
  /*width: 821px;*/
  width: 68.416667%;
}
#ImageQuality .img-02b {
  float: right;
  /*width: 364px;*/
  width: 30.3334%;
}

@media(max-width:640px) {
  #ImageQuality .img-02 {
    margin-top: 30px;
  }
}

/*----------------------------------------
  #Movie
----------------------------------------*/
#Movie .heading h3 {
  /*width: 221px;*/
  width: 18.416667%;
}
#Movie .img-02 {
  margin: 40px 0;
}

@media(max-width:640px) {
  #Movie .img-02 {
    margin: 30px 0;
  }
}

/*----------------------------------------
  #Design
----------------------------------------*/
#Design {
  padding-bottom: 0;
}
#Design .heading h3 {
  /*width: 160px;*/
  width: 13.33334%;
}
#Design .img-02 {
  margin: 0 0 40px;
}
#Design .img-02 .caption {
  margin-top: 35px;
}
#Design .img-04 {
  clear: both;
  padding: 50px 0 70px;
  text-align: center;
}
#Design .img-04 img {
  /*width: 1031px;*/
  width: 85.916667%;
}
#Design .img-04 .caption {
  margin-top: 25px;
}
#Design .img-06 {
  margin-top: 70px;
}
#Design .img-06:after {
  clear: both;
  display: block;
  content: "";
}
#Design .img-06a {
  float: left;
  /*width: 599px;*/
  width: 49.916667%;
}
#Design .img-06b {
  float: right;
  width: 49.916667%;
}

@media(max-width:640px) {
  #Design .img-02 {
    margin: 0 0 60px;
  }
  #Design .img-02 img {
    margin-left: -7%;
    width: 120%;
  }
  #Design .img-02 .caption {
    margin-top: 20px;
  }
  #Design .img-04 {
    padding: 40px 0;
  }
  #Design .img-04 img {
    width: 100%;
  }
  #Design .img-06 {
    margin-top: 30px;
  }
  #Design .img-06a {
    float: none;
    width: auto;
  }
  #Design .img-06b {
    float: none;
    margin-top: 2px;
    width: auto;
  }
}

/*----------------------------------------
  #Message
----------------------------------------*/
#Message {
  margin-top: 120px;
  padding-top: 0;
}
#Message .content-inner {
  position: relative;
  padding: 0 0 70px 0;
  color: #000;
  background-color: #9b9e9f;
}
#Message .camera {
  position: absolute;
  top: 0;
  left: 0;
  /*width: 337px;*/
  width: 28.0833334%;
  height: auto;
}
#Message .title {
  /*padding-top: 95px;*/
  padding-top: 7.916667%;
  text-align: center;
}
#Message .title h3 {
  margin: 0 auto;
  /*width: 469px;*/
  width: 39.083334%;
  line-height: 0;
}
#Message .title h3 img {
  width: 100%;
  height: auto;
}
#Message .title p {
  margin-top: 10px;
  font-size: 175%;
  line-height: 1.4;
  color: #333;
}
#Message .item {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  padding: 15px 0 0;
  width: 88.33334%;
  max-width: 1060px;
}
#Message .title + .item {
  /*padding-top: 85px;*/
  padding-top: 7.083334%;
}
#Message .item:after {
  clear: both;
  display: block;
  content: "";
}
#Message .item-img {
  float: right;
  /*width: 269px;*/
  width: 25.3773584%;
}
#Message .item p {
  float: left;
  /*width: 720px;*/
  width: 67.9245283%;
  font-size: 100%;
	line-height: 2.0;
}

@media(max-width:640px) {
  #Message {
    margin-top: 60px;
  }
  #Message .content-inner {
    /*padding: 0 0 60px 0;*/
    padding: 0 0 9.375% 0;
  }
  #Message .camera {
    display: none;
  }
  #Message .title {
    /*padding-top: 60px;*/
    padding-top: 10.3448275%;
  }
  #Message .title h3 {
    width: 80%;
  }
  #Message .title p {
    font-size: 137.5%;
  }
  #Message .item {
    padding: 40px 0 0;
  }
  #Message .item-img {
    float: none;
    margin: 0 auto;
    width: 200px;
  }
  #Message .item p {
    margin-top: 20px;
    float: none;
    width: auto;
  }
}


/*----------------------------------------
  .products
----------------------------------------*/
.products {
  margin: 0 auto;
  padding: 0 30px;
  max-width: 1240px;
  overflow: hidden;
}
.products img {
  width: 100%;
  height: auto;
}
.products .inner {
  margin: 0 auto 0;
  max-width: 960px;
  /*width: 77.4193548%;*/
}
.products .inner:after {
  clear: both;
  display: block;
  content: "";
}
.products h2 {
  max-width: 443px;
  width: 46.1458333%;
  line-height: 0;
}
.products h3 {
  margin-top: 42px;
  margin-top: 4.375%;
  max-width: 202px;
  width: 21.041666%;
  line-height: 0;
}
.products .btn {
  margin-top: 79px;
  margin-top: 8.2291666%;
  max-width: 265px;
  width: 27.6041666%;
  line-height: 0;
}
.products .img-box {
  float: right;
  margin-top: -65px;
  margin-top: -6.7708333%;
  max-width: 422px;
  width: 43.958333%;
  line-height: 0;
}
.products .img-box img {
  margin-left: -227px;
  margin-left: -53.7914691%;
  max-width: 886px;
  width: 209.9526066%;
}

@media(max-width:640px) {
  .products {
    padding: 0 6.25%;
  }
  .products h2 {
    width: 60%;
  }
  .products h3 {
    margin-top: 8%;
    width: 28%;
  }
  .products .btn {
    width: 34%;
  }
  .products .img-box {
    margin-top: 5%;
  }
  .products .img-box img {
    margin-left: -80%;
    width: 250%;
  }
}
@media(max-width:479px) {
  .products h2 {
    width: 80%;
  }
  .products h3 {
    margin-top: 10%;
    width: 32%;
  }
  .products .btn {
    width: 38%;
  }
}


/*========================================

  .s5-returnToTop__button

========================================*/
.s5-returnToTop__inner2 {
  width: 96.7741935%;
  max-width: 1240px;
}
.s5-returnToTop__button {
  background-image: url(../img/pagetop.png);
  background-size: 40px 32px !important;
}

@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (min--moz-device-pixel-ratio: 1.5),
only screen and (min-device-pixel-ratio: 1.5) {
  .s5-returnToTop__button {
    background-image: url(../img/pagetop@2x.png);
  }
}
@media(max-width:640px) {
  .s5-returnToTop__button {
    top: -62px !important;
    right: 50%;
    margin-right: -20px;
    width: 40px !important;
    height: 32px !important;
  }
}

/*----------------------------------------
  .banner
----------------------------------------*/
.banner {
  margin: 35px auto 0;
  padding: 0 30px;
  max-width: 1240px;
  padding-bottom: 100px;
}
.banner a {
  display: block;
}
.banner img {
  width: 100%;
  height: auto;
}

@media(max-width:640px) {
  .banner {
    margin: 30px auto 0;
    padding: 0 4.6875% 13% 4.6875%;
  }
}


/*========================================

  footer

========================================*/
footer {
  padding: 0 0 20px;
  width: 100%;
  line-height: 1.0;
  text-align: center;
  margin-top: -50px; 
}
footer small {
  display: block;
  font-size: 68.8%;
  letter-spacing: 0.01em;
  color: #fff;
}

@media(max-width:640px) {
  footer {
    padding: 0 0 10px;
  }
  footer small {
    display: block;
    margin: 0 auto;
    width: 90.625%;
    font-size: 62.5%;
    letter-spacing: 0;
  }
  .s5-returnToTop__inner1 {
	  left: 40%;
	  position: fixed !important;
  }
@media(max-width:360px) {
  footer small {
    font-size: 50%;
  }
}
