/*!
 * index.css
 * updatedAt: 2015.11.19
 * createdAt: 2015.06.22
 */

/*--------------------------------------------------
  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:text-top;}sub{vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}legend{color:#000;}del,ins{text-decoration:none;}a{text-decoration:none;outline:none;}

/*--------------------------------------------------
  html
--------------------------------------------------*/
html {
  height: 100%;
  font-size: 100%;
  font-family: "\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;
  line-height: 1.6;
  -ms-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}
.serif {
  font-family: YuMincho,"Yu Mincho","游明朝",
    "Hiragino Mincho Pro",
    "\30E1\30A4\30EA\30AA",Meiryo,
    "\FF2D\FF33\20\FF30\30B4\30B7\30C3\30AF",
    "Droid Sans",serif;
}

/*--------------------------------------------------
  body
--------------------------------------------------*/
body {
  margin: 0 auto;
  padding: 0;
  color: #fff;
  background: #000;
}
body.gradient {
  background: #130614;
}
.ie-legacy body {
  min-width: 940px;
}

/*--------------------------------------------------
  classes
--------------------------------------------------*/
a.hover {
  transition: opacity 0.2s;
  -ms-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  -webkit-transition: opacity 0.2s;
}
a.hover:hover {
  opacity: 0.7;
}
.ie-legacy a.hover:hover {
  filter: alpha(opacity=70);
}
.clearfix:after {
  clear: both;
  display: block;
  content: "";
}

@media screen and (max-width: 640px) {
  a.hover {
    transition: none;
    -ms-transition: none;
    -moz-transition: none;
    -webkit-transition: none;
  }
  a.hover:hover {
    opacity: 1.0;
  }
}
@media screen and (max-width: 479px) {
  .mq-clearfix:after {
    clear: both;
    display: block;
    content: "";
  }
}

/*--------------------------------------------------
  header
--------------------------------------------------*/
header {
  position: relative;
  z-index: 10;
  display: block;
  background: #000;
  font-size: 0;
}
header .header-inner {
  margin: 0 auto;
  max-width: 1224px;
}
header .header-inner.full {
  max-width: 100%;
}
header .header-inner:after {
  clear: both;
  display: block;
  content: "";
}
header a {
  display: block;
}
header img {
  width: 100%;
  height: auto;
}
header h1 {
  float: left;
  padding: 19px 0 20px 30px;
  width: 90px;
}
header .btn-close {
  float: right;
  margin: 5px 30px 0 0;
  background-image: url(../img/btn_close_bg.png);
  background-repeat: repeat-x;
  background-position: 50% 50%;
}
header .btn-close a {
  padding: 12px 24px 12px 32px;
  font-size: 11px;
  color: #ccc;
  border: 1px solid #444;
  border-radius: 2px;
  background-image: url(../img/btn_close.png);
  background-repeat: no-repeat;
  background-position: 16px 50%;
}

@media screen and (max-width: 940px) {
  header h1 {
    width: 9.574468%;
  }
  header strong {
    width: 12.9787234%;
  }
  header em {
    width: 14.3617021%;
  }
}
@media screen and (max-width: 640px) {
  header h1 {
    padding: 4.6875% 0 3.90625% 4.6875%;
    width: 12%;
    min-width: 65px;
  }
  header .btn-close {
    margin: 7px 4.6875% 0 0;
  }
  header .btn-close a {
    padding: 8px 22px 8px 30px;
  }
}

/*--------------------------------------------------
  nav
--------------------------------------------------*/
nav {
  z-index: 9;
  line-height: 0;
  font-size: 0;
  text-align: center;
  background: #2d2d2d;
}
nav .nav-inner {
  position: relative;
  z-index: 100;
  width: 100%;
  background: #2d2d2d;
}
nav .nav-inner.floating {
  position: fixed;
  top: 0;
  left: 0;
  box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 6px 2px;
  -webkit-box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 6px 2px;
  -moz-box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 6px 2px;
}
nav ul {
  display: inline-block;
  margin: 0 auto;
  padding: 0 1px;
  max-width: 1224px;
  background: #000;
}
nav ul:after {
  clear: both;
  display: block;
  content: "";
}
nav li {
  float: left;
  width: 159px;
  width: 12.990196%;
  background: #2d2d2d;
  box-sizing: border-box;
  overflow: hidden;
}
nav a {
  position: relative;
  display: block;
}
nav img {
  width: 100%;
  height: auto;
}
nav li:first-child {
  width: 111px;
  width: 9.0686274%;
}
nav li:first-child img {
  margin-left: -22.2727272%;
  width: 144.545454%;
}
nav li .underline {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: url(../img/nav_under.png) no-repeat 0 0;
  opacity: 0;
  transition: opacity 0.2s;
  -ms-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  -webkit-transition: opacity 0.2s;
}
nav li:first-child .underline {
  background-position: -1px 0;
}
nav li.current .underline,
nav li:hover .underline {
  opacity: 1;
}
.ie-legacy nav li .underline {
  filter: alpha(opacity=0);
}
.ie-legacy nav li.current .underline,
.ie-legacy nav li:hover .underline {
  filter: alpha(opacity=100);
}

@media screen and (max-width: 1224px) {
  nav ul {
    padding: 0;
  }
}
@media screen and (max-width: 940px) {
  nav a {
    padding: 4px 0;
    background: url(../img/nav_bg.png) repeat-y 0 0;
    background-size: 100% auto;
  }
  nav li:first-child a {
    background: #2d2d2d;
  }
}
@media screen and (max-width: 640px) {
  nav a {
    padding: 7px 0;
  }
}
@media screen and (max-width: 479px) {
  nav .nav-inner.floating {
    position: relative !important;
    box-shadow: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
  }
  nav li {
    margin-bottom: 1px;
    width: 25% !important;
  }
  nav img {
    margin: 0  !important;
    width: 100% !important;
  }
  nav a {
    padding: 4px 0;
  }
}

/*--------------------------------------------------
  main
--------------------------------------------------*/
main {
  position: relative;
  z-index: 0;
  display: block;
  margin: 0 auto;
  height: 100%;
  overflow: hidden;
}
main.has-aside {
  display: table;
  box-sizing: border-box;
  width: 100%;
  padding: 40px 39px;
  max-width: 1224px;
}

@media screen and (max-width: 940px) {
  main.has-aside {
    padding: 30px 15px;
  }
}
@media screen and (max-width: 478px) {
  main.has-aside {
    padding: 4.6875% 0;
  }
}

/*--------------------------------------------------
  article
--------------------------------------------------*/
article {
  position: relative;
  margin: 0 auto;
  max-width: 1224px;
  box-sizing: border-box;
}
.has-aside article {
  margin-left: 5.5023923%; /*46/836*/
  width: 94.4976076%; /*790/836*/
  color: #000;
  background: #fff;
  overflow: hidden;
}
.has-aside article .article-inner {
  padding: 30px;
  padding: 3.7974684%;
}

@media screen and (max-width: 940px) {
  .has-aside article {
    margin-left: 15px;
    width: auto;
  }
  main:not(.has-aside) article {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media screen and (max-width: 640px) {
  .has-aside article {
    margin-left: 0;
    width: auto;
  }
  .has-aside article .article-inner {
    padding: 6.25% 4.6875%;
  }
}
@media screen and (max-width: 479px) {
  main:not(.has-aside) article {
    padding-left: 4.6875%;
    padding-right: 4.6875%
  }
}

/*--------------------------------------------------
  aside
--------------------------------------------------*/
aside {
  display: table-cell;
  width: 310px;
  width: 27.0506108%;
  background: #212121;
  vertical-align: top;
}

aside .menu li {
  padding-bottom: 3px;
  background: #130614;
}
aside .menu a {
  position: relative;
  display: block;
  background-color: #212121;
  transition: background-color 0.2s;
  -ms-transition: background-color 0.2s;
  -moz-transition: background-color 0.2s;
  -webkit-transition: background-color 0.2s;
}
aside .menu a:hover,
aside .menu .current a {
  background-color: #ee0000;
}
aside .menu a:after {
  content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  display: none;
  margin-top: -8px;
  padding-bottom: 16px;
  width: 8px;
  background: url(/cyber-shot/rx/assets/img/menu_arrow.png) no-repeat 0 0;
}
aside .menu a:hover:after,
aside .menu .current a:after {
  display: block;
}
aside .menu img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 940px) {
  aside .menu a:after {
    right: 4.8387096%;
    margin-top: -2.5806451%;
    padding-bottom: 5.1612903%;
    width: 2.5806451%;
    background-image: url(/cyber-shot/rx/assets/img/menu_arrow@2x.png);
    background-size: 100% auto;
  }
}
@media screen and (max-width: 640px) {
  main aside {
    display: none;
  }
}

/*--------------------------------------------------
  footer
--------------------------------------------------*/
footer {
  position: relative;
  z-index: 10;
  background: #2a2a2a;
}
footer .footer-inner {
  margin: 0 auto;
  max-width: 1224px;
}
footer .footer-inner.full {
  max-width: 100%;
}
footer .footer-inner:after {
  clear: both;
  display: block;
  content: "";
}
footer .sns {
  float: right;
  padding: 6px 5px 6px 0;
  font-size: 0;
}
footer .sns:after {
  clear: both;
  display: block;
  content: "";
}
footer .sns li {
  float: left;
  margin-left: 5px;
  width: 20px;
}
footer .sns li:first-child {
  margin-left: 0;
}
footer .sns a {
  display: block;
}
footer .sns img {
  width: 100%;
  height: auto;
}
footer p {
  float: left;
  padding: 11px 0 11px 12px;
  font-size: 10px;
  line-height: 10px;
}

@media screen and (max-width: 479px) {
  footer .footer-inner {
    padding: 4.68975% 0;
    text-align: center;
  }
  footer .sns {
    float: none;
    display: inline-block;
    padding: 0;
  }
  footer .sns li {
    margin-left: 8px;
    width: 25px;
  }
  footer p {
    float: none;
    margin-top: 10px;
    padding: 0;
  }
}

/*--------------------------------------------------
  #Loader
--------------------------------------------------*/
#Loader {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1000;
  width: 100%;
  height: 100%;
  background: url("../img/loading@2x.gif") no-repeat center center;
  background-size: 24px 24px;
  background-color: #000;
}
.ie-legacy #Loader {
  background-image: url("../img/loading.gif");
}
#Loader.complete {
  opacity: 0;
  transition: opacity 0.4s ease-in 0.4s;
  -ms-transition: opacity: 0.4s ease-in 0.4s;
  -moz-transition: opacity: 0.4s ease-in 0.4s;
  -webkit-transition: opacity: 0.4s ease-in 0.4s;
}
#Loader.remove {
  z-index: -1;
  visibility: hidden;
}
