/*!
 * default.css
 * updatedAt: 2016.04.04
 * createdAt: 2016.04.04
 */

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

  Reset

==================================================*/
dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,p{margin:0;}
em{font-style:normal;}

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

  html & body

==================================================*/
html {
  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",
    Verdana,"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 {
  min-width: 1000px;
}
a:hover {
  text-decoration: none;
}
a.hover {
  transition: opacity 0.25s;
  -ms-transition: opacity 0.25s;
  -moz-transition: opacity 0.25s;
  -webkit-transition: opacity 0.25s;
}
a.hover:hover {
  opacity: 0.85;
}
.clearfix:after {
  clear: both;
  display: block;
  content: "";
}
.img-box {
  position: relative;
  line-height: 0;
}
.img-box img {
  width: 100%;
  height: auto;
}

.u640 { display: none; }
br.b102, br.b76, br.b64, br.b48, br.b32 { display: none; }

@media screen and (max-width: 1024px) {
br.b102 {display:block; }
br.nb102 { display: none; }
}
@media screen and (max-width: 800px) {
  a.hover {
    transition: none;
    -ms-transition: none;
    -moz-transition: none;
    -webkit-transition: none;
  }
  a.hover:hover {
    opacity: 1.0;
  }
}
@media(max-width:768px) {
  br.b76 { display: block; }
}
@media(max-width:640px) {
  html {
    font-size: 100% !important;
    line-height: 1.6 !important;
    border-width: 4px;
  }
  .o640 { display: none; }
  .u640 { display: block; }
  img.u640 { display: inline; }
  br.b64 { display: block; }
  br.nb64 { display: none; }
}
@media(max-width:480px) {
  br.b48 { display: block; }
}
@media(max-width:320px) {
  br.nb32 { display: none; }
  br.b32 { display: block; }
}

.sp {
	display:none;
}
@media(max-width:640px) {
.sp {
	display:block;
}
.pc {
	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 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 {
  position: relative;
  overflow: hidden;
  z-index: 0;
  /*background-image: url(../img/mvisual_bg.png);
  background-repeat: repeat-x;
  background-position: 0 0;
  background-size: auto 100%;*/
  background-color: #000;
}
.mvisual img {
  width: 100%;
  height: auto;
}
.mvisual .mvisual-inner {
  position: relative;
  margin: 0 auto;
  width: 93.75%;
  max-width: 1200px;
}
.mvisual .mvisual-imgbox {
  position: relative;
  /*padding-top: 855px;*/
  padding-top: 71.25%;
  line-height: 0;
}
.mvisual .mvisual-img {
  position: absolute;
  top: 0;
  left: 0;
  /*margin-left: -360px;*/
  /*width: 1920px;*/
  margin-left: -30%;
  width: 160%;
}
.mvisual .mvisual-content {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.mvisual .mvisual-ttlbox {
  /*padding: 265px 0 12px;*/
  padding: 22.083334% 0 1.0%;
  font-size: 0;
  text-align: center;
  border-bottom: 1px solid #c83b18;
}
.mvisual .mvisual-ttlbox h1 {
  display: inline-block;
  vertical-align: top;
  /*margin-right: 40px;*/
  /*width: 286px;*/
  margin-right: 3.33334%;
  width: 23.833334%;
  line-height: 0;
}
.mvisual .mvisual-ttlbox h2 {
  display: inline-block;
  vertical-align: top;
  /*width: 357px;*/
  width: 29.75%;
  line-height: 0;
}
.mvisual .mvisual-txtbox {
  /*padding-top: 25px;*/
  padding-top: 2.083334%;
  text-align: center;
}
.mvisual .mvisual-txtbox strong {
  display: inline-block;
  /*width: 298px;*/
  width: 24.83334%;
  line-height: 0;
}
.mvisual .mvisual-txtbox p {
  /*padding-top: 10px;*/
  padding-top: 0.83334%;
  font-size: 150%;
  font-weight: bold;
  line-height: 1.4;
  font-style: italic;
}

@media(max-width:640px) {
  .mvisual .mvisual-imgbox {
    padding-top: 97%;
  }
  .mvisual .mvisual-img {
    margin-left: -52%;
    width: 220%;
  }
  .mvisual .mvisual-ttlbox {
    padding: 32% 0 2%;
  }
  .mvisual .mvisual-ttlbox h1 {
    width: 38.833334%;
  }
  .mvisual .mvisual-ttlbox h2 {
    width: 44.75%;
  }
  .mvisual .mvisual-txtbox {
    padding-top: 15px;
  }
  .mvisual .mvisual-txtbox strong {
    width: 55%;
  }
  .mvisual .mvisual-txtbox p {
    padding-top: 20px;
    font-size: 200%;
    line-height: 1.6;
    letter-spacing: 0.06em;
    text-shadow: 0 0 21px rgba(0, 0, 0, 0.8),
      0 0 13px rgba(0, 0, 0, 0.8),
      0 0 5px rgba(0, 0, 0, 0.8);
  }
}

/*----------------------------------------
  .profile
----------------------------------------*/
.mvisual .profile {
  position: absolute;
  bottom: 0;
  z-index: 2;
  /*padding-bottom: 60px;*/
  padding-bottom: 5%;
  width: 100%;
}
.mvisual .profile-inner {
  margin: 0 auto;
  width: 100%;
}
.mvisual .profile-inner:after {
  clear: both;
  display: block;
  content: "";
}
.mvisual .profile p {
  float: left;
  /*width: 590px;
  width: 66.2921348%;*/
  width: 66%;
  font-size: 110%;
  text-align: right;
}
.mvisual .profile-name-box {
  float: right;
  box-sizing: border-box;
  /*padding-left: 30px;*/
  /*width: 290px;*/
  padding-left: 3.3707865%;
  width: 31.5842696%;
  border-left: 1px solid #fff;
}
.mvisual .profile em {
  display: block;
  padding-bottom: 3px;
  font-size: 90%;
  line-height: 1.2;
}
.mvisual .profile strong {
  display: inline-block;
  vertical-align: middle;
  font-size: 181.3%;
  font-weight: normal;
  line-height: 1.2;
}
.mvisual .profile a {
  /*246*/
  display: inline-block;
  box-sizing: border-box;
  vertical-align: middle;
  margin-left: 3px;
  /*padding: 0 10px;*/
  padding: 0 4.0%;
  font-size: 87.5%;
  line-height: 24px;
  border: 1px solid #fff;
}
.mvisual .profile a span {
  -moz-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
  display: inline-block;
  height: 17px;
  width: 0px;
  margin-left: 7px;
  margin-right: 7px;
}
.mvisual .profile a:hover {
  color: #fff;
}

@media(max-width:900px) {
  .mvisual .profile-inner {
  }
}
@media(max-width:640px) {
  .mvisual .profile {
    position: relative;
    margin-left: -3.125%;
    padding: 0;
    width: 106.66667%;
    font-size: 125%;
    background: #000;
  }
  .mvisual .profile-inner {
    margin: 0 auto;
    padding: 25px 0 30px;
    width: 95%;
  }
  .mvisual .profile p {
    float: none;
    width: auto;
	text-align: left;
  }
  .mvisual .profile-name-box {
    float: none;
    padding: 15px 0 0;
    width: auto;
    border: none;
    text-align: center;
  }
  .mvisual .profile em {
    padding-bottom: 8px;
  }
  .mvisual .profile a {
    margin-left: 10px;
    
    line-height: 20px;
  }
  .mvisual .profile a span {
  width: 0px;
  margin-right: 7px;
  }
}

/*----------------------------------------
  .profile-frame
----------------------------------------*/
.profile2 {
  background: #373b41;
  width:100%;
  padding-top: 65px;
}
.profile-frame {
  padding: 30px 30px 30px 30px;
  max-width:1200px;
  margin:0 auto;
  overflow: hidden;
}
.profile-frame .clearfix {
  float: left;
  width: 30%;
}
.profile-frame .txt {
  float: left;
  margin-top: 20%;
}
.profile-frame .txt span.act {
  display: block;
  font-size: 77.5%;
  line-height: 1.1;
}
.profile-frame .txt span.name {
  display: block;
  margin-top: 5px;
  font-size: 150%;
  line-height: 1.1;
}
.profile-frame .txt span.romaji {
  display: block;
  margin-top: 3px;
  font-size: 87.5%;
  line-height: 1.1;
}
.profile-frame .img-box {
  float: left;
  width: 36.8%;
  margin-right:7%;
}
.profile-frame p {
  line-height: 1.5;
  width: 63%;
  float: right;
  margin-left: 3%;
  padding-left: 3%;
  border-left: 1px solid #fff;
}
.profile-frame p span {
	font-style:italic;
}
@media(max-width:1046px) {
  .profile-frame p {
	min-height: 295px;
  }
}
@media(max-width:640px) {
  .profile-frame {
  padding: 15px;
  }
  .profile-frame .clearfix {
  float: none;
  padding-bottom: 5%;
  border-bottom: 1px solid #fff;
  width: 100%;
  }
  .profile-frame .img-box {
  float: right;
  margin-right:0%;
  }
  .profile-frame .txt {
  float: left;
  margin-top: 13%;
  }
  .profile-frame p {
  line-height: 1.5;
  width: 100%;
  float: none;
  margin-top:5%;
  margin-left: 0%;
  padding-left: 0%;
  border-left: none;
  }
}
@media(max-width:480px) {
  .profile-frame .txt {
  margin-top: 23%;
  }
}


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

  .menu

========================================*/
.menu {
  margin-bottom: 100px;
  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 {
  display: table;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 0;
  max-width: 1200px;
  width: 100%;
  list-style: none;
  border-bottom: 1px solid #c83b18;
}
.menu .menu-inner:after {
  clear: both;
  display: block;
  content: "";
}
.menu li {
  display: table-cell;
  vertical-align: middle;
  box-sizing: border-box;
  /*width: 240px;*/
  width: 20%;
  border-left: 1px solid #535353;
}
.menu li:first-child {
  border-left: none;
}
.menu li a {
  position: relative;
  display: block;
  font-size: 87.5%;
  text-align: center;
  line-height: 1.25;
  color: #808080;
  background-color: #000;
  -webkit-transition: color 0.25s;
  -moz-transition: color 0.25s;
  transition: color 0.25s;
}
.menu li a:after {
  clear: both;
  display: block;
  content: "";
}
.menu li em {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  top: 0.05em;
  margin-right: 10px;
  font-size: 285.7%;
  line-height: 64px;
}
.menu li span {
  display: inline-block;
  vertical-align: middle;
  line-height: 1.25;
  text-align: left;
}
.menu li.gallery a {
  font-size: 125%;
  line-height: 64px;
}

.menu li:hover a,
.menu li.current a {
  color: #fff;
}

@media(max-width:900px) {
  .menu {
    font-size: 87.5%;
  }
  .menu li em,
  .menu li.gallery a {
    line-height: 60px;
  }
}
@media(max-width:768px) {
  .menu {
    font-size: 81.3%;
  }
}
@media(max-width:767px) {
  .menu {
    font-size: 75%;
  }
}
@media(max-width:640px) {
  .menu {
    font-size: 93.8%;
    margin-bottom: 0px;
  }
  .menu .menu-wrap {
    position: static !important;
  }
  .menu .menu-inner {
    display: block;
    border-top: 1px solid #535353;
    border-bottom: 1px solid #c83b18;
  }
  .menu li {
    float: left;
    display: block;
    width: 50%;
    border-bottom: 1px solid #535353;
    border-left: none;
  }
  .menu li:nth-child(odd) {
    border-right: 1px solid #535353;
  }
  .menu li.gallery {
    border-bottom: none;
  }
  .menu li a {
    line-height: 42px;
    text-align: left;
    padding-left:10%;
  }
  .menu li em {
    font-size: 250%;
  }
  .menu li em,
  .menu li.gallery a {
    line-height: 50px;
  }
  .menu li span {
    top: 0;
  }
  .menu li.gallery a {
    font-size: 137.5%;
  }
}
@media(max-width:580px) {
  .menu li br {
    display: block !important;
  }
}
@media(max-width:320px) {
  .menu {
    font-size: 81.3%;
  }
}

/*----------------------------------------
  .menu-clone
----------------------------------------*/
.menu-clone {
  display: none !important;
  margin-bottom: 60px;
  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: rgba(0, 0, 0, 0.7);
  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%;
  background-color: #333;
  box-shadow: 0 2px 4px 0 rgba(0,0,0,0.4);
  overflow: hidden;
}
.menu-clone li {
  float: none;
  display: block;
  width: auto;
  border: none !important;
  border-top: 1px solid #a5adb4 !important;
}

.menu-clone li a {
  padding: 0 25px;
  font-size: 100%;
  line-height: 48px;
  color: #aaa;
  text-align: left;
  text-decoration: none;
}
.menu-clone li em {
  font-size: 200%;
  line-height: inherit;
}
.menu-clone li br {
  display: none !important;
}

@media(max-width: 640px) {
  .menu-clone {
    display: block !important;
  }
}
@media(max-width: 480px) {
  .menu-clone li a {
    font-size: 87.5%;
  }
}


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

  article

========================================*/
article {
  /*margin-top: -64px;
  padding-top: 64px;*/
  padding-bottom: 135px;
  overflow: hidden;
}
article .comment {
  display: block;
  /*margin: 90px auto 0;*/
  margin: 7.5% auto 0;
  font-size: 168.8%;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  color: #fff;
  font-style: italic;
}
article .intro-img {
  /*margin: 100px auto 0;*/
  margin: 8.3334% auto 0;
  max-width: 950px;
  width: 79.16667%;
}

article .nindent {
  text-indent: -0.5em;
}
article p.caption {
  margin-top: 10px;
  font-size: 87.5%;
  line-height: 1.4;
}
article p.caption.center {
  text-align: center;
}
article p.caption.right {
  text-align: right;
}

@media(max-width: 1024px) {
  article {
    font-size: 87.5%;
  }
  article .intro-img {
    width: 100%;
  }
}
@media(max-width: 800px) {
  article {
    font-size: 75%;
  }
}
@media(max-width: 640px) {
  article {
    padding-bottom: 80px;
    font-size: 81.3%;
  }
  article .comment {
    margin: 60px auto 0;
  }
  article .intro-img {
    margin: 40px auto 0;
    width: 100%;
  }
  article .artwork {
    float: none !important;
    margin: 30px auto 30px !important;
    width: 100% !important;
    max-width: 360px;
  }
  /*#Sec02 div.img-02.artwork.img-box,
  #Sec03 div.img-02.artwork.img-box,
  #Sec03 div.img-03.artwork.img-box,
  #Sec04 div.img-02.artwork.img-box,
  #Sec04 div.img-03.artwork.img-box {
    width: 85% !important;
    max-width: 640px;
  }*/
  article p.caption.right {
    text-align: left;
  }
  article p.caption.center {
    text-align: left;
    margin-left: 7%;
  }
}
@media(max-width: 480px) {
  article .comment {
    font-size: 156.3%;
  }
}

/*----------------------------------------
  .heading
----------------------------------------*/
article .heading {
  position: relative;
  display: table;
  margin: 0 auto;
  width: 93.75%;
  max-width: 1200px;
}
article .heading .drop-cap {
  display: table-cell;
  vertical-align: middle;
  width: 108px;
  font-size: 375%;
  line-height: 110px;
  color: #000;
  text-align: center;
  background-color: #c83b18;
}
article .heading .drop-cap em {
  position: relative;
  /*top: 0.05em;*/
}
article#Sec01 .heading .drop-cap em {
	letter-spacing: -0.1em;
}
article#Sec02 .heading .drop-cap em {
	letter-spacing: -0.03em;
}
article#Sec03 .heading .drop-cap em {
	letter-spacing: -0.05em;
}
article#Sec03 .heading .drop-cap em {
	letter-spacing: 0em;
}
article .heading .heading-txt {
  display: table-cell;
  vertical-align: middle;
  box-sizing: border-box;
  padding-left: 35px;
  border: 3px solid #444;
  border-left: none;
  background-color: #151515;
}
article .heading .heading-txt h3 {
  padding: 7px 15px 7px 0;
  font-size: 177.5%;
  font-weight: bold;
  line-height: 1.2;
  color:#999;
}

@media(max-width:1024px) {
  article .heading .drop-cap {
    line-height: 100px;
  }
  article .heading .heading-txt {
    border-width: 5px;
  }
}
@media(max-width:800px) {
  article .heading .drop-cap {
    width: 100px;
    line-height: 90px;
  }
  article .heading .heading-txt {
    padding-left: 30px;
    border-width: 4px;
  }
}
@media(max-width:640px) {
  article .heading .drop-cap {
    width: 90px;
    line-height: 80px;
  }
  article .heading .heading-txt {
    padding-left: 25px;
    border-width: 3px;
  }
}
@media(max-width:480px) {
  article .heading {
    font-size: 75%;
  }
  article .heading .drop-cap {
    width: 75px;
    line-height: 70px;
  }
  article .heading .heading-txt {
    padding-left: 20px;
  }
}

/*----------------------------------------
  section
----------------------------------------*/
section {
  margin: 90px auto 0;
  width: 93.75%;
  max-width: 1200px;
}
.content-inner {
  margin: 0 auto 0;
  width: 93.75%;
  max-width: 1200px;
}
section.no-margin {
  margin-top: 0;
}
section:after,
.content-inner:after {
  clear: both;
  display: block;
  content: "";
}
article .heading + section {
  margin-top: 80px;
}

section h4 {
  position: relative;
  margin-top: 60px;
  padding-left: 20px;
  font-size: 112.5%;
  line-height: 1.77;
  text-align: left;
  letter-spacing: -0.04em;
  color: #969696;
}
section h4:before {
  content: "";
  position: absolute;
  top: 7%;
  left: 0;
  display: block;
  width: 3px;
  height: 85%;
  background-color: #c83b18;
}
section .txt-box h4:first-child {
  margin-top: 0;
}
article#Sec03 section .txt-box h4:first-child {
	letter-spacing:-0.06em;
}
section .txt-box {
  overflow: hidden;
}
section p.txt {
  margin-top: 24px;
  font-size: 100%;
  line-height: 1.875;
  letter-spacing: -0.05em;
}
@media(max-width:1024px) {
  article#Sec01 section .txt-box:nth-child(2) {
    overflow: visible;
  }
  article#Sec01 section > *:first-child + * {
	overflow: visible;
  }
}
@media(max-width:640px) {
  section {
    margin: 60px auto 0;
    width: 90.625%;
  }
  .content-inner {
    width: 90.625%;
  }
  
  article .heading + section {
    margin-top: 30px;
  }
  section h4 {
    margin-top: 40px;
  }
  section .txt-box {
    float: none !important;
    width: auto;
  }
  section .txt-box p.txt {
    margin-top: 20px;
  }
}

/*----------------------------------------
  #Sec01
----------------------------------------*/
#Sec01 .img-02 {
  float: right;
  /*margin: 5px 0 0 100px;*/
  /*width: 475px;*/
  margin: 5px 0 5% 4.1%;
  width: 39.583334%;
}
#Sec01 .img-03 {
  float: left;
  /*margin: 5px 50px 0 0;*/
  /*width: 475px;*/
  margin: 5px 4.16667% 0 0;
  width: 39.583334%;
}
#Sec01 section .txt-box:nth-child(4) {
  margin-top: 60px;
  float: right;
  width: 56.3%;
}
#Sec01 section > *:first-child + * + * + * {
  margin-top: 60px;
  float: right;
  width: 56.3%;
}
@media(max-width:1024px) {
  #Sec01 section .txt-box:nth-child(4) {
    width: 100%;
  }
}

@media(max-width:640px) {
  #Sec01 .img-02 {
    margin: 30px 0;
	width: 68.9655172% !important;
    max-width: 300px;
  }
  #Sec01 .img-03 {
    width: 68.9655172% !important;
    max-width: 300px;
  }
}

/*----------------------------------------
  #Sec02
----------------------------------------*/
#Sec02 .img-01 {
  float: left;
  /*margin: 5px 50px 0 0;*/
  /*width: 575px;*/
  margin: 5px 4.16667% 0 0;
  width: 47.916667%;
}
#Sec02 .img-02 {
  float: right;
  /*margin: 5px 0 0 50px;*/
  /*width: 475px;*/
  margin: 5px 0 0 3.16667%;
  width: 53.083334%;
}
/*----------------------------------------
  #Sec03
----------------------------------------*/
#Sec03 .txt-box:first-child {
  float: left;
  width: 48.7%;
}
#Sec03 .img-02 {
  float: right;
  /*margin: 5px 0 0 50px;*/
  /*width: 575px;*/
  margin: 5px 0 0 0%;
  width: 47.916667%;
}
#Sec03 .img-02 .caption {
  position: absolute;
  /*left: 390px;*/
  bottom: 0;
  left: 67.8260869%;
}
#Sec03 .img-03 {
  float: left;
  /*margin: 5px 50px 0 0;*/
  /*width: 500px;*/
  margin: 5px 4.16667% 0 0;
  width: 41.6667%;
}

@media(max-width:640px) {
  #Sec03 .txt-box:first-child {
    float: none;
    width: auto;
  }
  #Sec03 .img-02 .caption {
    position: static;
  }
}

/*----------------------------------------
  #Sec04
----------------------------------------*/
#Sec04 .txt-box:first-child {
  float: left;
  width: 48.5%;
}
#Sec04 .img-02 {
  float: right;
  /*margin: 5px 0 0 50px;*/
  /*width: 573px;*/
  margin: 5px 0 0 0%;
  width: 47.75%;
}
#Sec04 .img-02a {
  float: left;
  /*width: 282px;*/
  width: 49.2146596%;
}
#Sec04 .img-02b {
  float: right;
  /*width: 282px;*/
  width: 49.2146596%;
}
#Sec04 .img-03 {
  float: left;
  /*margin: 5px 50px 0 0;*/
  /*width: 500px;*/
  margin: 5px 4.16667% 0 0;
  width: 41.6667%;
}
#Sec04 .img-04 {
  float: right;
  /*margin: 5px 0 0 50px;*/
  /*width: 400px;*/
  margin: 5px 0 0 3.9%;
  width: 37.5%;
}

@media(max-width:640px) {
  #Sec04 .txt-box:first-child {
    float: none;
    width: auto;
  }
  #Sec04 .img-04 {
    width: 68.9655172% !important;
    max-width: 300px;
  }
  /*#Sec04 .img-02a {
    float: none;
    width: auto;
  }
  #Sec04 .img-02b {
    float: none;
    margin-top: 20px;
    width: auto;
  }*/
}


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

  #Gallery

========================================*/
#Gallery {
  
}
#Gallery .gallery-wrap {
  padding: 60px 0;
  background: #191919;
}
#Gallery .gallery-inner {
  margin: 0 auto;
  width: 93.75%;
  max-width: 1200px;
}
#Gallery h3 {
  margin: 0 auto;
  padding: 0 0 30px;
  /*width: 358px;*/
  width: 29.83334%;
}

@media(max-width:640px) {
  #Gallery .gallery-wrap {
    padding: 50px 0;
  }
  #Gallery h3 {
    width: 50%;
  }
}
@media(max-width:480px) {
  #Gallery h3 {
    padding: 0 0 20px;
    width: 65%;
  }
}

/*----------------------------------------
  .carousel-panel
----------------------------------------*/
#Gallery .carousel-panel {
  margin: 0 auto;
  max-width: 1200px;
  user-select: none;
  -ms-user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
}
#Gallery .carousel-inner {
  position: relative;
}
#Gallery .carousel-viewport {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  max-width: 800px;
  width: 66.66667%;
  overflow: hidden;
}
#Gallery .carousel-item-box {
  position: relative;
  margin: 0;
  padding: 0;
  width: 50000px;
  list-style: none;
}
#Gallery .carousel-item-box:after {
  clear: both;
  display: block;
  content: "";
}
#Gallery .carousel-item {
  float: left;
  margin-right: 30px;
  /*display: table-cell;*/
  line-height: 0;
  transform: translateZ(0);
  -ms-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -webkit-transform: translateZ(0);
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  overflow: hidden;
}
#Gallery .carousel-item a {
  position: relative;
  display: block;
  background-color: #000;
  background-image: url(../img/loading.gif);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 24px 24px;
  text-align: center;
  vertical-align: middle;
  transition: opacity 0.2s;
  -ms-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  -webkit-transition: opacity 0.2s;
}
#Gallery .carousel-item a:hover {
  opacity: 0.8;
}
#Gallery .carousel-item a:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: block;
  width: 15px;
  height: 15px;
  background-image: url(../img/icn_zoom.png);
  background-repeat: no-repeat;
  background-size: 15px 15px;
}
#Gallery .carousel-item a.active {
  background-image: none;
}
#Gallery .carousel-item span {
  display: block;
  margin: 10px 0 0;
  font-size: 81.3%;
  line-height: 1.2;
  color: #fff;
  text-align: center;
}

@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) {
  #Gallery .carousel-item a {
    background-image: url(../img/loading@2x.gif);
  }
  #Gallery .carousel-item a:after {
    background-image: url(../img/icn_zoom@2x.png);
  }
}

@media(max-width:640px) {
  #Gallery .carousel-viewport {
    width: 94%;
  }
}
@media(max-width:480px) {
  #Gallery .carousel-viewport {
    width: 100%;
  }
  #Gallery .carousel-item span {
    font-size: 68.8%;
  }
}

/*----------------------------------------
  .carousel-paddle
----------------------------------------*/
#Gallery .carousel-paddle {
  position: absolute;
  top: 0;
  width: 16.6667%;
  height: 100%;
}
#Gallery .carousel-paddle em {
  position: absolute;
  top: 50%;
  /*margin-top: -25px;*/
  /*padding-bottom: 50px;*/
  /*width: 28px;*/
  margin-top: -12.5%;
  padding-bottom: 25%;
  width: 14%;
  background-repeat: no-repeat;
  background-size: 100% auto;
  opacity: 0.4;
  -webkit-transition: opacity 0.25s;
  -moz-transition: opacity 0.25s;
  transition: opacity 0.25s;
}
#Gallery .carousel-paddle.active em {
  opacity: 1.0;
  cursor: pointer;
}
#Gallery .carousel-paddle.active em:hover {
  opacity: 0.8;
}
#Gallery .carousel-prev {
  left: 0;
}
#Gallery .carousel-prev em {
  /*left: 40px;*/
  left: 20%;
  background-image: url(../img/carousel_prev.png);
}
#Gallery .carousel-next {
  right: 0;
}
#Gallery .carousel-next em {
  /*right: 40px;*/
  right: 20%;
  background-image: url(../img/carousel_next.png);
}

@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) {
  #Gallery .carousel-prev em {
    background-image: url(../img/carousel_prev@2x.png);
  }
  #Gallery .carousel-next em {
    background-image: url(../img/carousel_next@2x.png);
  }
}

@media(max-width:640px) {
  #Gallery .carousel-paddle {
    display: none;
  }
}

/*----------------------------------------
  .carousel-thumbnail
----------------------------------------*/
#Gallery .carousel-thumbnail {
  margin: 40px auto 0;
}
#Gallery .carousel-thumbnail ul {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0;
  line-height: 0;
  text-align: center;
}
#Gallery .carousel-thumbnail ul:after {
  clear: both;
  display: block;
  content: "";
}
#Gallery .carousel-thumbnail li {
  display: inline-block;
  position: relative;
  margin: 0 3px;
  max-width: 80px;
  width: 6.6667%;
  background-color: #000;
  cursor: pointer;
}
#Gallery .carousel-thumbnail li img {
  width: 100%;
  height: auto;
}
#Gallery .carousel-thumbnail li span {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  border: 3px solid transparent;
  box-sizing: border-box;
  transition: border-color 0.2s;
  -ms-transition: border-color 0.2s;
  -moz-transition: border-color 0.2s;
  -webkit-transition: border-color 0.2s;
}
#Gallery .carousel-thumbnail li:hover span,
#Gallery .carousel-thumbnail li.current span {
  border-color: #ccc !important;
}

@media(max-width:480px) {
  #Gallery .carousel-thumbnail li {
    width: 11%;
  }
  #Gallery .carousel-thumbnail li span {
    border-width: 2px;
  }
}

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

  .products

========================================*/
.products {
  margin: 0 auto;
  overflow: hidden;
}
.products img {
  width: 100%;
  height: auto;
}
.products .inner {
  margin: 100px auto 55px auto;
  max-width: 960px;
  width: 80%;
}
.products .inner:after {
  clear: both;
  display: block;
  content: "";
}
.products h2 {
  position: relative;
  z-index: 1;
  max-width: 442px;
  width: 46.0416667%;
}
.products h3 {
  margin-top: 42px;
  margin-top: 4.375%;
  max-width: 202px;
  width: 21.041666%;
}
.products .btn {
  margin-top: 79px;
  margin-top: 8.2291666%;
  max-width: 265px;
  width: 27.6041666%;
}
.products .a6300 {
  float: right;
  margin-top: -65px;
  margin-top: -6.7708333;
  max-width: 422px;
  width: 43.958333%;
  line-height: 0;
}
.products .a6300 img {
  margin-left: -227px;
  margin-left: -53.7914691%;
  max-width: 886px;
  width: 209.9526066%;
}

@media(max-width:640px) {
  .products {
    width: 90.625%;
  }
  .products .inner {
    margin: 50px auto 30px;
  }
  .products h2 {
    width: 60%;
  }
  .products h3 {
    margin-top: 8%;
    width: 28%;
  }
  .products .btn {
    width: 34%;
  }
  .products .a6300 {
    margin-top: 0;
  }
  .products .a6300 img {
    margin-left: -80%;
    width: 250%;
  }
}
@media(max-width:480px) {
  .products .inner {
    width: 90%;
  }
  .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: 0 auto;
  padding: 0 30px;
  max-width: 1240px;
  padding-bottom: 100px;
}
.banner a {
  display: block;
}
.banner img {
  width: 100%;
  height: auto;
}

@media(max-width:640px) {
  .banner {
    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%;
  }
}
