@charset "UTF-8";

@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
a {
  text-decoration: none;
  color: #38beef;
}

a img {
  -webkit-transition: opacity 0.1s linear;
  -moz-transition: opacity 0.1s linear;
  -o-transition: opacity 0.1s linear;
  transition: opacity 0.1s linear;
}

a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

body {
  background: #fff none;
  font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-size: 18px;
  line-height: 1.6;
  word-wrap: break-word;
  color: #000;
  font-weight: 300;
}

header {
  background: #FFF;
}

header .sns-list {
  width: 1001px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-end;
  padding: 17px 0 10px;
}

header .sns-list li {
  padding-left: 13px;
}

.fixed {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 10;
}

nav {
  background: #000;
  margin-bottom: 40px;
  line-height: 0;
  border-top: #CCC 1px solid;
}

nav .nav-inner {
  width: 1001px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

nav .nav-inner .logo {
  margin-right: auto;
}

nav .nav-btn {
  display: flex;
  align-items: center;
}

nav .nav-btn li {
  border-left: 2px solid #fff;
}

nav .nav-btn li:last-child {
  border-right: 2px solid #fff;
}

nav .nav-btn li a {
  background: url(/web2018/images/nav.png) no-repeat;
  height: 116px;
  display: block;
  text-indent: -9999px;
}

nav .nav-btn .btn01 a {
  width: 116px;
  background-position: 0 -4px;
}

nav .nav-btn .btn01 a:hover {
  background-position: 0 -128px;
}

nav .nav-btn .btn02 a {
  width: 116px;
  background-position: -116px -4px;
}

nav .nav-btn .btn02 a:hover {
  background-position: -116px -128px;
}

nav .nav-btn .btn03 a {
  width: 116px;
  background-position: -232px -4px;
}

nav .nav-btn .btn03 a:hover {
  background-position: -232px -128px;
}

#gnav {
  z-index:100;
  position: absolute;
  top: 0;
  right: -527px;
  width: 527px;
  height: auto;
}

.menu {
  background: #FFF;
  /*display: none;*/
  overflow: auto;
  overflow-x: hidden;
  padding: 24px 0 30px 0;
  height: 100vh;
  width: 527px;
  position: fixed;
}

.menu li {
  padding-bottom: 50px;
}
.close {
  text-align: right;
  padding-right: 18px;
}

.overlay {
  content: '';
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0);
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
  z-index: 3;
}
.overlay::after {
  content: "";
  visibility: hidden;
  position: fixed;
  top: 40%;
  left: 0;
  display: block;
  width: 100%;
  height: 50px;
  color: rgba(255,255,255,0);
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
}
.side-open .overlay {
  visibility: visible;
  cursor: pointer;
  background: rgba(0,0,0,.7);
}
.side-open .overlay::after {
  visibility: visible;
  color: rgba(255,255,255,.8);
}

.contents-wrapper {
  background: #FFF url(/web2018/images/bg.png);
  -webkit-background-size: contain;
       -o-background-size: contain;
          background-size: contain;
  padding-bottom: 125px;
}

.contents-inner {
  width: 1001px;
  margin: 0 auto;
}

.mainvisual {
  margin-bottom: 14px;
}

.contentsbox {
  border: 8px solid #000;
  margin-bottom: 20px;
  background: #FFF;
}

.contentsbox .box-ttl {
  border-bottom: 2px solid #000;
  display: flex;
  align-items: stretch;
}

.contentsbox .box-ttl .ttl-img {
  border-right: 2px solid #000;
  padding: 20px;
  line-height: 0;
}

.contentsbox .box-ttl .ttl-txt {
  padding: 0 30px;
  font-size: 30px;
  line-height: 1.3;
  align-self: center;
}

.contentsbox .box-ttl .ttl-txt span {
  font-size: 22px;
  display: block;
}

.box-movie {
  margin: 50px;
  text-align: center;
}

.contentsbox .box-detail {
 padding: 0px 50px 15px; 
}

.contentsbox .box-detail h3 {
  font-weight: bold;
  font-size: 24px;
  margin: 32px 0 28px;
}

.contentsbox .box-detail h4 {
  font-weight: bold;
  font-size: 20px;
  border-bottom: 1px solid #000;
  padding-bottom: 17px;
  margin-bottom: 20px;
}

.contentsbox .box-detail p {
  margin-bottom: 35px;
}

.box-detail .box-01 {
  display: inline-block;
  vertical-align: top;
  margin-top: 25px;
}

.box-detail .box-01.txt {
  width: 600px;
  padding-left: 15px;
}

.creator-list li {
  border-bottom: 2px solid #000;
  padding: 40px 50px;
}

.creator-list li .creator-detail {
  display: flex;
}

.creator-list li .creator-name {
  display: flex;
  margin-bottom: 30px;
}

.creator-list li .creator-name .c-name {
  margin-right: auto;
  font-size: 24px;
  font-weight: bold;
}

.creator-list li .creator-name .c-category {
  background: #FFF100;
  font-weight: bold;
  padding: 2px 6px;
  font-weight: bold;
  font-size: 16px;
  align-self: center;
}

.creator-list li .creator-detail .c-img {
  padding-right: 26px;
}

.contentsbox .andmore {
  text-align: center;
  padding: 50px;
  line-height: 0;
}

.contentsbox .archive-list {
  display: flex;
  flex-wrap: wrap;
  padding: 50px 50px 30px;
}

.archive-list li {
  border: 2px solid #000;
  text-align: center;
  margin-right: 20px;
  margin-bottom: 20px;
}
.archive-list li:nth-child(5n) {
  margin-right: 0;
}

.archive-list li .list-in .photo {
  width: 156px;
  height: 156px;
  overflow: hidden;
}
.archive-list li .list-in .photo .photo-in {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}
.archive-list li .list-in .photo .photo-in img {
  -webkit-transition: -webkit-transform 0.8s ease;
  -moz-transition: -moz-transform 0.8s ease;
  -o-transition: -o-transform 0.8s ease;
  transition: transform 0.8s ease;
}
.archive-list li .list-in .photo .photo-in .cover {
  position: absolute;
  padding: 51px 0 0;
  top: 0;
  left: 0;
  width: 156px;
  height: 128px;
  background: rgba(35, 24, 21, 0.8);
  -webkit-transition-duration: 0.7s;
  transition-duration: 0.7s;
  opacity: 0;
}
.archive-list li .list-in .photo .photo-in:hover .cover {
  opacity: 1;
}
.archive-list li .archive-year {
  border-top: 2px solid #000;
  background: #33B371;
  padding: 10px 0 5px;
}

footer {
  background: #000;
  text-align: center;
  padding: 55px 20px 50px;
}

#pagetop {
  position: fixed;
  bottom: 58px;
  right: 25px;
}

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*\*/
     /*/
height: auto;
overflow: hidden;
/**/
}
