@charset "utf-8";
/*----------------------------------------------------------
 読み込み
---------------------------------------------------------- */
#wrap{
  /*opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all  0.5s ease;*/
  opacity: 1;
  visibility: visible;
}

/*#wrap.load{
  opacity: 1;
  visibility: visible;
}*/

#load{
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 9999999999;
  color: #ccc;
  font-family: 'Sawarabi Mincho', "sans-serif";
  text-align: center;
}

#load img{
  margin-bottom: 50px;
}

#load span{
  background-color: #000;
  display: block;
  height: 50vh;
  width: 100%;
  -webkit-transition: all 3.0s ease;
  -moz-transition: all 3.0s ease;
  -o-transition: all 3.0s ease;
  transition: all  3.0s ease;
  position: fixed;
}

#load span.top{
  top: 0;
}

#load span.bottom{
  bottom: 0;
}

#load .catch{
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all  0.5s ease;
  opacity: 1;
  visibility: visible;
  /* flex */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#load.hide .catch{
  opacity: 0;
  visibility: hidden;
}

/* 隠す */
#load.hide{
  visibility: hidden;
}

#load.hide span{
  height: 0;
}

#load .inner{
  width: 90%;
  max-width: 200px;
  min-width: auto;
}

#load .catch img{
  width: 100%;
}

/*----------------------------------------------------------
 view setting
---------------------------------------------------------- */

.contents{
  position: relative;
}

/* PC */
@media (min-width: 769px) {
  .contents::before{
    content: "";
    background-color: #2b2b2b;
    position: absolute;
    top: -1px;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all  0.5s ease;
    opacity: 1;
    visibility: visible;
    z-index: 3;
  }

  #wrap.view .contents::before,
  #wrap.view #scroll{
    opacity: 0;
    visibility: hidden;
  }
}


/* PC */
@media (min-width: 769px) {
  #scroll{
    width: 100px;
    position: absolute;
    display: block;
    margin: auto;
    z-index: 2;
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    visibility: visible;
    height: 55px;
  }

  #scroll::before{
    content: "scroll down";
    position: absolute;
    top: 0px;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 13px;
    color: #fff;
    text-align: center;
    line-height: 1;
  }

  #scroll i{
    display: block;
    -webkit-transform: scaleY(0.6);
    -ms-transform: scaleY(0.6);
    -o-transform: scaleY(0.6);
    transform: scaleY(0.6);
    position: absolute;
    top: 4px;
    left: 0;
    right: 0;
  }

  #scroll i::after{
    content: "";
    display: block;
    width: 40px;
    height: 40px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    transform: rotate(135deg);
    margin: auto;
  }
}

/* ----- view ----- */
/* PC */
@media (min-width: 769px) {
  .contents.view::before,
  .contents.view #scroll{
    opacity: 0;
    visibility: hidden;
  }
}

/* SP */
@media (max-width: 768px) {
  #scroll{
    display: none;
  }
}

/*----------------------------------------------------------
 top
---------------------------------------------------------- */

.slick-slide:focus {
  outline: none;
}

#mv{
  position: relative;
  background-color: #2b2b2b;
  max-height: 100vh;
}

#mv .mv_inner{
  max-height: 100vh;
  overflow: hidden;
}

/* ---- PC ---- */
@media (min-width: 769px) {
  #mv{
    overflow: hidden;
  }
  
  #mv_base{
    opacity: 0;
  }

  #mv ul{
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 100%;
    left: 0;
    right: 0;
  }
  
  #gNavi dd{
    display: none;
  }
}

/* SP */
@media (max-width: 768px) {
  #mv_base{
    display: none;
  }
}

/*----------------------------------------------------------
 message / リニューアル前記述
---------------------------------------------------------- */

/*#message .logo{
  max-width: 300px;
  margin: 50px auto;
}*/

/* ---- SP ---- */
/*@media (max-width: 768px) {
  #message .logo{
    max-width: none;
    width: 60%;
  }
}*/

/*----------------------------------------------------------
 グリッドメニュー
---------------------------------------------------------- */
#gridmenu{
  padding: 0;
  background-color: #efefef;
}

#gridmenu::after{
  content: "."; 
  display: block; 
  height: 0; 
  font-size:0;	
  clear: both; 
  visibility:hidden;
}

#gridmenu ul{
  display: grid;
  grid-template-columns: 1fr 1fr;
}

#gridmenu li:nth-child(odd){
  grid-column: 1 / 2;
  background-color: #ccc;
}

#gridmenu li:nth-child(even){
  grid-column: 2 / 3;
  background-color: #666;
}

#gridmenu li:nth-child(1){
  grid-row: 1 / 2;
}

#gridmenu li:nth-child(2){
  grid-row: 1 / 3;
}

#gridmenu li:nth-child(3){
  grid-row: 2 / 3;
}

/*#gridmenu li:nth-child(4){
  grid-row: 3 / 4;
}*/

#gridmenu li:nth-child(4){
  grid-row: 3 / 5;
}

#gridmenu li:nth-child(5){
  grid-row: 3 / 5;
}

/*#gridmenu li:nth-child(6){
  grid-row: 4 / 5;
}*/

#gridmenu li{
  position: relative;
}

#gridmenu li.nolink_hover,
#gridmenu li a{
  display: block;
  overflow: hidden;
}

#gridmenu li a:hover{
  opacity: 1;
  filter: alpha(opacity=100);
  -ms-filter: "alpha(opacity=100)";
}

#gridmenu li.nolink_hover::before,
#gridmenu li a::before{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(43,43,43,0.70);
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all  0.5s ease;
  visibility: hidden;
  opacity: 0;
  filter: alpha(opacity=0);
  -ms-filter: "alpha(opacity=0)";
  z-index: 1;
}

#gridmenu li.nolink_hover:hover::before,
#gridmenu li a:hover::before{
  visibility: visible;
  opacity: 1;
  filter: alpha(opacity=100);
  -ms-filter: "alpha(opacity=100)";
}

#gridmenu li p{
  position: absolute;
  top: auto;
  bottom: auto;
  left: auto;
  right: auto;
  color: #fff;
  z-index: 2;
  font-size: 1.4vw;
  font-family: 'Raleway', sans-serif;
  line-height: 1.2;
}

#gridmenu li p span{
  font-size: 60%;
}
#gridmenu li p.top{top: 5%;}
#gridmenu li p.bottom{bottom: 5%;}
#gridmenu li p.left{left: 5%;}
#gridmenu li p.right{right: 5%;}
#gridmenu li p.center_w{
  left: 0;
  right: 0;
  text-align: center;
}
#gridmenu li p.center_h{
  top: 50%;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
#gridmenu li p.bl{color: #2b2b2b;}

#gridmenu li.nolink_hover > img,
#gridmenu li a > img{
  width: 100%;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all  0.5s ease;
  -moz-transform: scale(1.0,1.0);
  -webkit-transform: scale(1.0,1.0);
  -o-transform: scale(1.0,1.0);
  -ms-transform: scale(1.0,1.0);
  transform: scale(1.0,1.0);
}

#gridmenu li.nolink_hover:hover > img,
#gridmenu li a:hover > img{
  -moz-transform: scale(1.2,1.2);
  -webkit-transform: scale(1.2,1.2);
  -o-transform: scale(1.2,1.2);
  -ms-transform: scale(1.2,1.2);
  transform: scale(1.2,1.2);
}

/* gallery logo */
#gridmenu li.gallery p img{
  max-width: 160px;
  display: inline;
  vertical-align: middle;
}

/* nolink_hover */
#gridmenu li.nolink_hover .hover_p{
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all  0.5s ease;
  font-size: 90%;
}
#gridmenu li.nolink_hover:hover .hover_p{
  visibility: visible;
  opacity: 1;
  filter: alpha(opacity=100);
  -ms-filter: "alpha(opacity=100)";
}

/* ---- PC ---- */
@media (min-width: 769px) {
    #gridmenu{
    padding-top: 70px;
    padding-bottom: 70px;
  }
  
  /* nolink_hover */
  #gridmenu li.nolink_hover .hover_p{
    visibility: hidden;
    opacity: 0;
    filter: alpha(opacity=0);
    -ms-filter: "alpha(opacity=0)";
  }
}

/* ---- SP ---- */
@media (max-width: 768px) {
  
  #gridmenu li p{
    font-size: 18px;
  }
  
  #gridmenu li p img{
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }

  /* gallery logo */
  #gridmenu li.gallery p{
    text-align: center;
    width: 100%;
    margin: auto;
    right: 0;
    padding: 5%;
    box-sizing: border-box;
    bottom: 0;
    background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.7) 55%, rgba(0, 0, 0, 0.8) 99%);
  }
  #gridmenu li.gallery p img{
    width: 100%;
  }
  
   /* nolink_hover */
  #gridmenu li.nolink_hover::before{
    visibility: visible;
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "alpha(opacity=100)";
  }
  
}