/**************************************************
  CSS Reset
**************************************************/

html, body, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  list-style:none;
  font-weight:normal;
  font-style:normal;
}

body {
  font-family:"ヒラギノ角ゴシック W3","メイリオ","MSゴシック",sans-serif;
  font-size:14px;
  color:#4b4b4b;
}

h1, h2, h3, h4, h5, h6 {
  font-weight:bold;
}

a {
  text-decoration:none;
}

a:hover {
  text-decoration:none;
}

img {
  max-width:100% !important;
}

sup {
  font-size:9px;
}


/**************************************************
  Common Class
**************************************************/

.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
  overflow:hidden;
}
* html .clearfix { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */

.btns {
  color: #FFF;
  border-radius: 4px;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-box-shadow: 1px 1px 1px rgba(000,000,000,0.3),inset 0px 0px 3px rgba(255,255,255,0.5);
  -webkit-box-shadow: 1px 1px 1px rgba(000,000,000,0.3),inset 0px 0px 3px rgba(255,255,255,0.5);
  text-shadow: 0px 0px 3px rgba(0,0,0,0.5);
  width: 50%;
  padding: 10px 10px;
  display:inline-block;
  font-size:120%;
}

/**************************************************
  Animation Reset
**************************************************/

#home #charactor,
#home #site-title,
#home #lead-text,
#home #media-box,
#home #profile,
#home #site-footer,
#home #profile_btn {
  display:none;
}


/**************************************************
  Frame Settings
**************************************************/

body {
  background: url(../images/sp_bg.png) repeat-x;
  background: url(../images/sp_bg.png) repeat-x,url(../images/sp_bg_bottom.png) repeat-x bottom;
}

#site-wrap {
  margin:0;
  position:relative;
}

#background {
display:none;
}

#charactor {
  width:100%;
  max-width:100%;
}

#charactor #charactor-fade li img{
  width:100%;
}

#charactor-fade .last-child {
  display:none;
}

#site-contents {
  padding-bottom:0px;
}

#second-page #site-contents {
  width:90%;
}

#second-page #text-area {
  width:100%;
}

/**************************************************
  Header
**************************************************/

#site-title {
  padding:10px 0 0 0;
  text-align:center;
}

/**************************************************
  TOP Right Contents
**************************************************/

#right-contents {
  position:relative;
}

#profile li {

}

#profile_btn {
  width:100%;
  text-align:center;
}

#profile_btn li {
  display:inline-block;
  width: 40%;
  margin:4px;
}

#profile_btn .btns {
  width: 90%;
  padding: 4px 6px;
  font-size:100%;
}

#profile_btn .btns.btn_profile_anon {
  border: 1px solid #F17C00;
  background:#FF8800;
  background: -moz-linear-gradient(top,#FFCC19,#FF8800 50%,#CC7300 50%,#F18C00);
  background: -webkit-gradient(linear, left top, left bottom, from(#FFCC19), color-stop(0.5,#FF8800), color-stop(0.5,#CC7300), to(#F18C00));
}

#profile_btn .btns.btn_profile_kanon {
  border: 1px solid #CC40FF;
  background:#FF6FFF;
  background: -moz-linear-gradient(top,#FFB3FF,#FF6FFF 50%,#FF5AFF 50%,#FF73FF);
  background: -webkit-gradient(linear, left top, left bottom, from(#FFB3FF), color-stop(0.5,#FF6FFF), color-stop(0.5,#FF5AFF), to(#FF73FF));
}


/**************************************************
  TOP Left Contents
**************************************************/

/* Lead Text */
#lead-text {
  padding:10px;
  margin-bottom:10px;
}

#lead-text p {
  margin-bottom:20px;
}

/* APIs */
#media-box {
  position:relative;
  padding-bottom:30px;
}

#media-box div {
  text-align:center;
}

#twitter-box {
  width:90%;
  margin:0 auto 40px;
}

#youtube-box {
  width:90%;
  margin:0 auto;
}

.youtube-list {
  text-align:center;
  display:block;
}

.youtube-list li {
  display:inline-block;
  margin:4px;
}

#twitter-box .btns {
  border: 1px solid #0099CC;
  background: #3D95B7;
  background: -moz-linear-gradient(top,#BFD9E5,#3D95B7 50%,#0080B3 50%,#0099CC);
  background: -webkit-gradient(linear, left top, left bottom, from(#BFD9E5), color-stop(0.5,#3D95B7), color-stop(0.5,#0080B3), to(#0099CC));
}

#twitter-box .btns:hover {
  background: #4FA7C9;
  background: -moz-linear-gradient(top,#D1EBF7,#4FA7C9 50%,#1292C5 50%,#12ABDE);
  background: -webkit-gradient(linear, left top, left bottom, from(#D1EBF7), color-stop(0.5,#4FA7C9), color-stop(0.5,#1292C5), to(#12ABDE));
}

#youtube-box .btns {
  border: 1px solid #C06464;
  background: #EB4E3D;
  background: -moz-linear-gradient(top,#FF926B,#EB4E3D 50%,#AE3939 50%,#AE5252);
  background: -webkit-gradient(linear, left top, left bottom, from(#FF926B), color-stop(0.5,#EB4E3D), color-stop(0.5,#AE3939), to(#AE5252));
}

#youtube-box .btns:hover {
  background: #FD604F;
  background: -moz-linear-gradient(top,#FFA47D,#FD604F 50%,#C04B4B 50%,#C06464);
  background: -webkit-gradient(linear, left top, left bottom, from(#FFA47D), color-stop(0.5,#FD604F), color-stop(0.5,#C04B4B), to(#C06464));
}

.banner-area {
  margin-top:10px;
  text-align:center;
}

.banner-area img {
  max-width:518px !important;
  height: auto;
}

/**************************************************
  2nd Page Style
**************************************************/

#text-area {
  padding:0 10px 10px;
}

#text-area h2 {
  font-size:140%;
  text-align:center;
  margin-bottom:20px;
}

#text-area .section {
  margin:2em 0;
}

#text-area h3 {
  font-size:110%;
}

#text-area .cluster {
  padding:10px 10px;
}

#text-area sup {
  font-size:10px;
}


/**************************************************
  Footer
**************************************************/

#site-footer {
  background: #3a3a3a;
  background:rgba(58,58,58,0.9);
  width:100%;
  color:#d8d8d8;
  border-top:1px solid #444;
}

#site-footer a {
  color:#d8d8d8;
  text-decoration:none;
}

#site-footer a:hover {
  color:#f0f0f0;
  text-decoration:underline;
}

.submenu {

}

.submenu li {

}

.submenu li a {
  display:block;
  padding:10px 10px;
  border-top:1px solid #666;
  border-bottom:1px solid #333;
  position:relative;
}

.submenu li a:after {
  display:block;
  height:0;
  width:0;
  content:'';
  border-style:solid;
  border-color:transparent transparent transparent #d8d8d8;
  border-width:8px 0 8px 8px;
  position:absolute;
  top:30%;
  right:10px;
}

.submenu li.last-child {
  width:100%;
}

.contact {
  padding:10px;
  text-align:center;
}

.contact address {
  background:#444;
  padding:4px;
  border-radius:4px;
}

.social-buttons {
  text-align:center;
  padding:10px 0;
  border-top:1px solid #666;
  border-bottom:1px solid #333;
}

.social-buttons li {
  display:inline;
  margin-left:14px;
}

.copyright {
  text-align:center;
  font-size:10px;
  padding:10px;
}

/**************************************************
  Modal Window
**************************************************/

.modal{
  display:none;
}

.modalBody {
  position: fixed;
  z-index:1000;
  width:100%;
  left:0%;
  top:10%;
  padding:10px 0;
  text-align:center;
}

.modalBK {
  position:fixed;
  top:0;
  left:0;
  z-index:999;
  height:100%;
  width:100%;
  background:rgba(0,0,0,0.5);
}

.close_btn{
  cursor: pointer;
  color:#d8d8d8;
  position:absolute;
  top:4px;
  right:4px;
}

body.noscroll {
  position: fixed;
  overflow-y: scroll;
}

/**************************************************
  Media Query Upper 981px (PC)
**************************************************/

@media only screen and (min-width: 768px) {
  #site-title {
    text-align:left;
  }

  #lead-text {
    width:;
    padding:10px 20px;
    margin-top:40px;
  }

  #right-contents {
    width:100%;
    position:relative;
    margin-top:-180px;
  }

  #charactor {
    position:relative;
    z-index:-998;
    width:100%;
    height:auto;
    max-width:100%;
    overflow:hidden;
  }

  #charactor-fade {
    position:relative;
    margin-left:80px;
    height: 100%;
    z-index: 10000;
    zoom: 1;
  }

  #charactor-fade li {
    margin-left:120px;
    z-index: 100000 !important;
    float: none !important;
  }

  #charactor-fade .last-child {
    display:none;
  }

  #profile {
    position:absolute;
    top:180px;
	z-index:100;
  }

  #profile li {
    margin-left:10px;
    margin-top:-20px;
  }

  #site-contents {
    padding-bottom:50px;
  }

  #media-box {
    padding:10px 20px;
  }

  #media-box #twitter-box {
    float:left;
    width:60%;
	margin-bottom:0;
  }

  #media-box #youtube-box {
    float:right;
    width:40%;
  }

.btns {
  width: 100px;
  padding: 2px 10px;
}

.submenu li {
  width:50%;
  float:left;
}

.submenu li a {
  display:block;
  padding:10px 10px;
  border-top:1px solid #666;
  border-bottom:1px solid #333;
  border-right:1px solid #333;
  position:relative;
}

.submenu li a:after {
  right:20px;
}

.contact address {
  display:inline;
}

/**************************************************
  2nd Page Style
**************************************************/

#text-area {
  padding:0 60px 10px;
}

#text-area h2 {
  font-size:140%;
  text-align:center;
  margin-bottom:20px;
}

#text-area .section {
  margin:2em;
}

#text-area h3 {
  font-size:110%;
}

#text-area .cluster {
  padding:10px 20px;
}

#text-area p.ex {
  margin-left:1.5em;
  text-indent:-1.5em;
}

#text-area ul.number_ul {
  margin-left:3em;
  text-indent:-3em;
}

#text-area ul.number_ul_en {
  margin-left:2em;
  text-indent:-2em;
}

#text-area ol.number_ol > li {
  list-style:decimal;
  margin-left:3em;
}

#text-area sup {
  font-size:10px;
}

}

@media only screen and (min-width: 1070px) {
  body {
    background:none;
  }

  #background {
    display:block;
    z-index: -999;
    position:fixed;
    width:100%;
    height:100%;
    overflow:hidden;
  }

  #media-box #twitter-box {
    width:50%;
    margin-bottom:20px;
  }

  #media-box #youtube-box {
    width:50%;
  }

  #lead-text {
    text-shadow: 0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
  }

.submenu li.last-child {
  width:auto;
}

}

/*
@media only screen and (max-width: 1378px) {
#media-box #twitter-box {
  width:480px;
}
}*/

@media only screen and (min-width: 1071px) {

  img {
    max-width:200% !important;
  }


/**************************************************
  Frame Settings
**************************************************/

#charactor {
  position:fixed;
  top:0;
  right:0px;
  z-index:-998;
  width:1034px;
  height:auto;
  max-width:100%;
  overflow:hidden;
}

#charactor-fade .last-child {
  display:none;
}

#charactor #charactor-fade li img {
  width:1034px;
  margin-left:-80px;
}

#site-contents {
  padding-bottom:100px;
  width:240px;
}

/**************************************************
  TOP Right Contents
**************************************************/

#right-contents {
  width:752px;
  position:relative;
  float:right;
}

#profile {
  position:fixed;
  bottom:70px;
  right:20px;
  top: inherit;
}

#profile li {
  float:left;
  margin-left:10px;
}

/**************************************************
  TOP Left Contents
**************************************************/

/* Title */
#site-title {
  padding:50px 0 0 40px;
}

/* Lead Text */
#lead-text {
  padding-left:60px;
  margin-bottom:10px;
  position:relative;
  z-index:1;
  text-shadow:0 0 2px #fff,0 0 2px #fff,0 0 2px #fff;
}

#lead-text p {
  margin-bottom:20px;
}

/* APIs */
#media-box {
  padding-left:60px;
  position:relative;
  z-index:1;
  width:240px;
}

#media-box #twitter-box {
  width:240px;
  margin-right:24px;
  float:left;
  text-align:right;
}

#media-box #youtube-box {
  width:240px;
  float:left;
  text-align:right;
}

#youtube-box .youtube-list li {
  display:block;
  width:240px;
}

.btns {
  width: auto;
}

.banner-area {
  text-align:left;
}


/**************************************************
  Footer
**************************************************/

#site-footer {
  background: #3a3a3a;
  background:rgba(58,58,58,0.9);
  width:100%;
  height:90px;
  position:fixed;
  bottom:0;
  left:0;
  z-index:100;
  color:#d8d8d8;
}

#site-footer a {
  color:#d8d8d8;
  text-decoration:none;
}

#site-footer a:hover {
  color:#f0f0f0;
  text-decoration:underline;
}

.submenu {
  padding:64px 0 0 60px;
  float:left;
}

.submenu li {
  display:inline;
  margin-right:20px;
  width: auto;
}

.submenu li a {
  border:none;
  display:inline;
}

.submenu li a:after {
  display:none;
}

.footer-right {
    float:right;
}

.contact {
  padding:0px 60px 0 0;
}

.contact address {
  display:inline;
}

.social-buttons {
  margin-top:0px;
  text-align:right;
  padding-right:60px;
  border:none;
}

.social-buttons li {
  display:inline;
  margin-left:14px;
}

.copyright {
  text-align:right;
  margin-right:54px;
  padding-top:0px;
}

}


@media only screen and (min-width: 1350px) {

  #media-box {
    width:auto;
  }

  #charactor #charactor-fade li img {
    margin-left:-150px;
  }

}



/* -----------------------
smart phone
----------------------- */
@media only screen and (max-width: 768px) {
  .banner-area img {
    width: 100%;
    height: auto;
  }

  #charactor-fade li {
    /*z-index: 100000 !important;*/
    float: none !important;
  }
}

.youtube-list iframe{height:200px!important;}




/* -----------------------
mmd banners
----------------------- */
.mmd-banners {
  display: inline-block;
  overflow: hidden;
  max-width: 518px;
  margin-right: auto;
}

.mmd-banners a {
  display: block;
  width: 50%;
}

.mmd-banners a img {
  width: 100%;
  height: auto;
  max-width: 259px !important;
}

.mmd-banners .item-left {
  float: left;
}

.mmd-banners .item-right {
  float: right;
  text-align: right;
}

.mmd-banners-text {
  max-width: 518px;
  text-align: left;
}