@charset "UTF-8";

/* ================================================== *
 *
 *      top.css
 *
 * ================================================== */

body {
    min-width: 1140px;
    width: expression(document.body.clientWidth > 1142? "1140px" : "auto");
}

button {
    border: none;
    background: none;
    outline: none;
    padding: 0;
    display: block;
    cursor: pointer;
}

button:disabled { cursor: default }

button span {
    display: block;
    width: 0;
    height: 0;
    overflow: hidden;
}

/* ------------------------------------------------- *
 *        Base
 * ------------------------------------------------- */

.header { position: relative }

/* ------------------------------------------------- *
 *        Base
 * ------------------------------------------------- */

#main { }

/* ------------------------------------------------- *
 *        Message
 * ------------------------------------------------- */

#message {
    display: block;
    width: 100%;
    padding-top: 17.5%;
    background-color: #000;
    position: relative;
    border-bottom: 2px solid #fff;
    overflow: hidden;
    background: #000;
}

html.csstransitions #message {
    -webkit-transition: padding 1s cubic-bezier(0.23, 1, 0.32, 1);
    -moz-transition: padding 1s cubic-bezier(0.23, 1, 0.32, 1);
    -o-transition: padding 1s cubic-bezier(0.23, 1, 0.32, 1);
    -ms-transition: padding 1s cubic-bezier(0.23, 1, 0.32, 1);
    transition: padding 1s cubic-bezier(0.23, 1, 0.32, 1);
}
html.csstransitions #message.playMovie {
    padding-top: 56.25%;
}


#message h1 {
    display: block;
    width: 10%;
    height: auto;
    max-width: 160px;
    position: absolute;
    left: 3.75%;
    top: 21.428%;
    z-index: 2;
}
#message h1 img {
    display: block;
    width: 100%;
    height: auto;
}

html.csstransitions #message h1 {
    -webkit-transition: opacity 0.2s linear;
    -moz-transition: opacity 0.2s linear;
    -o-transition: opacity 0.2s linear;
    -ms-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
}
html.csstransitions #message.playMovie h1 {
    opacity: 0;
}
    
    

#message a.playBtn {
    display: block;
    width: 16.25%;
    height: 100%;
    max-width: 260px;
    text-align: center;
    cursor: pointer;
    margin: 0 auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
}
#message a.playBtn img {
    display: block;
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
#message a.playBtn img.text {
    margin: auto;
}
#message a.playBtn img.arrow {
    margin: auto auto 10px;
}



html.csstransitions #message a.playBtn {
    transition: opacity 0.4s linear;
}
html.csstransitions #message.playMovie a.playBtn {
    opacity: 0;
}

html.csstransitions #message a.playBtn img.arrow {
    -webkit-transition: all 1s cubic-bezier(0.77,0,0.175,1);
    -moz-transition: all 1s cubic-bezier(0.77,0,0.175,1);
    -o-transition: all 1s cubic-bezier(0.77,0,0.175,1);
    -ms-transition: all 1s cubic-bezier(0.77,0,0.175,1);
    transition: all !s cubic-bezier(0.77,0,0.175,1);
}
html.csstransitions #message a.playBtn:hover img.arrow {
}






#message #messageMovie {
    display: none;
    width: 100%;
    height: 100%;
    opacity: 0;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 3;
}
#message.playMovie #messageMovie {
    display: block;
}

html.csstransitions #message #messageMovie {
    -webkit-transition: opacity 0.6s linear;
    -moz-transition: opacity 0.6s linear;
    -o-transition: opacity 0.6s linear;
    -ms-transition: opacity 0.6s linear;
    transition: opacity 0.6s linear;
}
html.csstransitions #message #messageMovie.active {
    opacity: 1;
}


#message #messageMovie video,
#message #messageMovie embed {
    width: 100%;
    height: 100%;
}
#message #messageMovie #player {
    background-color: #000;
}

#message #messageMovie a.closeBtn {
    display: none;
    width: 4.4%;
    height: auto;
    max-width: 44px;
    cursor: pointer;
    position: absolute;
    right: 30px;
    top: 30px;
    z-index: 1;
}
#message.playMovie #messageMovie a.closeBtn {
    display: block;
}
#message #messageMovie a.closeBtn img {
    width: 100%;
    height: auto;
}








#message div.visual {
    width: 100%;
    height: 100%;
    background: url(/challenge_en/top/img/message_visual.jpg) center center no-repeat;
    background-size: cover;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
    opacity: 0.7;
}
#message div.visual img {
    display: none;
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}
#message div.visual:after {
    content: "";
    display: none;
    width: 100%;
    height: 100%;
    background: url(/challenge_en/top/img/message_bg_pattern.gif) 0 0 repeat;
    opacity: 0.5;
    position: absolute;
    left: 0;
    top: 0;
}

html.csstransitions #message div.visual {
    -webkit-transition: opacity 0.4s linear;
    -moz-transition: opacity 0.4s linear;
    -o-transition: opacity 0.4s linear;
    -ms-transition: opacity 0.4s linear;
    transition: opacity 0.4s linear;
}
html.csstransitions #message:hover div.visual {
    opacity: 0.85;
}

html.no-opacity #message div.visual {
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
    -khtml-opacity: .7;
    -moz-opacity: .7;
}

html.no-backgroundsize #message div.visual {
    background: none;
}
html.no-backgroundsize #message div.visual img {
    display: block;
}


/* ------------------------------------------------- *
 *        Contents
 * ------------------------------------------------- */
#contents {
    width: 100%;
}

#contents li {
    display: table;
    width: 50%;
    float: left;
    background: #000;
    position: relative;
}
#contents li.new {
    width: 100%;
    float: none;
    background: #222;
}

#contents li a {
    display: table-cell;
    width: 100%;
    cursor: pointer;
    padding: 0;
}
#contents li h2 {
    display: block;
    width: 20%;
    max-width: 158px;
    height: 53.33%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto 7.5% auto auto;
    z-index: 1;
}
#contents li.new h2 {
    width: 13.75%;
    max-width: 220px;
    height: 42.307%;
    margin: auto 3.75% auto auto;
}
#contents li h2 img {
    width: 100%;
    height: auto;
}


#contents li div.visual {
    display: block;
    width: 100%;
    height: auto;
    opacity: 0.8;
}
#contents li.new div.visual {
    opacity: 1;
}
#contents li div.visual img {
    width: 100%;
    height: auto;
}
html.csstransitions #contents li a div.visual {
    -webkit-transition: opacity 0.4s linear;
    -moz-transition: opacity 0.4s linear;
    -o-transition: opacity 0.4s linear;
    -ms-transition: opacity 0.4s linear;
    transition: opacity 0.4s linear;
}
html.csstransitions #contents li a:hover div.visual {
    opacity: 1;
}
html.csstransitions #contents li.new a:hover div.visual {
    opacity: 0.8;
}

html.no-opacity #contents li div.visual {
    filter: alpha(opacity=80);
    -ms-filter: "alpha(opacity=80)";
    -khtml-opacity: .8;
    -moz-opacity: .8;
}
html.no-opacity #contents li.new div.visual {
    filter: alpha(opacity=100);
    -ms-filter: "alpha(opacity=100)";
    -khtml-opacity:1;
    -moz-opacity: 1;
}


/* ------------------------------------------------- *
 *        Footer
 * ------------------------------------------------- */
.footer {
    clear: both;
    padding-bottom: 10px;
}
body.is--en .footer__nav {
  position: absolute;
  top: 31px;
  left: 20px;
  background: url(http://sharp-world.com/common/img/footer/bg_fnavi.gif) no-repeat right center;
  vertical-align: top;
}
body.is--en .footer__nav li {
  display: inline-block;
  margin-right: 7px;
  margin-left: 0;
  padding-left: 9px;
  line-height: 1em;
  background: url(http://sharp-world.com/common/img/footer/bg_fnavi.gif) left center no-repeat;
}
body.is--en * html .footer__nav li {
  display: inline;
  zoom: 1;
  line-height: 1.2em;
}
body.is--en *:first-child + html .footer__nav {
  display: inline;
  zoom: 1;
  line-height: 1.2em;
}
body.is--en .footer__nav a {
  color: #000099;
}

/* ------------------------------------------------- *
 *        preview
 * ------------------------------------------------- */
html.pre-legacy {
  * {
    transition:none !important;
    transform:none !important;
    animation:none !important;
  }
}