@charset "UTF-8";

* {
box-sizing: border-box;
/* topのmp4によって色を変更する。 通常は#555*/
color:#fff;
cursor:default;
font-family: 'Oswald','Noto Sans JP', sans-serif;
}

body {
  margin: 0 auto;
  animation: fadeIn 2s ease 0s 1 normal;
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
 }
 @keyframes fadeIn {0% {opacity: 0}100% {opacity: 1}}
 @-webkit-keyframes fadeIn {0% {opacity: 0}100% {opacity: 1}} 

/*SPのみ表示*/
.sp-only{
	display: block;
}
.pc-only{
	display: none
}
/*PCのみ表示768px以上のみ表示させる*/
@media screen and (min-width:960px){
	.sp-only{
		display: none;
	}
	.pc-only{
		display: block;
	}
}

/* *************************************************
メインビジュアル用画面切替スタイル  スマホのみ500pxで切替える
**************************************************** */

/* 横長pc用mv */
.big-mv{
  display: block;
}
.small-mv{
  display: none;
}

/* 縦長sp用mv */
@media screen and (max-width:500px){
	.big-mv{
		display: none;
	}
	.small-mv{
		display: block;
	}
}


/*leftナビゲーションのスタイル*/
#header{ 
	position: fixed;
	width: 300px;
	font-weight: 600;
	padding-left: 30px;
	z-index: 300;
}

#header h1{
  padding-top: 50px;
  text-align: left;
  font-size: 1.9rem;
  letter-spacing: 0.01rem;
}

#header .header-nav{
  padding-top: 50px;
  padding-bottom: 150px;
  text-align: left;
}

#header .header-nav li{
  margin-top: 30px;
  font-size: 1.1rem;
  font-weight: 600;
}

#header .header-nav li:nth-last-of-type(2){
  margin-top: 80px;
}
#header .header-nav a:hover{
  color: #999;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

 /* SP用ハンバーガーのスタイル */
 @media screen and (max-width: 960px){
  .header-button{
    position: fixed;
    left: 30px;
    top:30px;
    width: 35px;
    height: 35px;
    display: block;
  }
  .header-button img{
    width: 35px;
  }

  body.open.header-button{
    z-index: 50;
  }
  .header-nav{
    position: fixed;
    left: 0;
    top:0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255,.8);
    transform: translateX(-100%);
    transition: .7s ease;
  }
  body.open .header-nav{
    transform: translateX(0);
  }
  .header-nav .header-nav-item{
    font-size: 15px;
    margin-top: 25px;
    margin-left: 25px;
  }
  .header-nav-item a{
    color: #555;
  }
 }

/**leftナビゲーション**/
.leftnavi {
  position: fixed;
  width: 180px;
  font-weight: 600;
  padding-left: 0;
  margin-left: 30px;
  mix-blend-mode: multiply;
  z-index: 300;
}

.leftnavi h1 {
  padding-top: 50px;
  text-align: left;
  font-size: 1.9rem;
  font-weight: 600;
  letter-spacing: 0.01rem;
}

.header-nav {
  padding-top: 50px;
  padding-bottom: 150px;
  text-align: left;
}

.header-nav li {
  margin-top: 30px;
  font-size: 1.1rem;
  font-weight: 600;
}

.header-nav li:last-of-type {
  margin-top: 100px;
}
.header-nav a:hover{
color: #aaaaaa;
-moz-transition:all 0.3s ease;
-o-transition: all 0.3s ease;
-ms-transition:all 0.3s ease;
transition:all 0.3s ease;
}


@media screen and (max-width:960px) {

  /*ハンバーガーメニューbuttonのスタイル*/

  .leftnavi {
      mix-blend-mode: normal;
  }

  .header-button {
      position: fixed;
      left: 30px;
      top: 30px;
      width: 35px;
      height: 35px;
      border: none;
      background-color: transparent;
      display: block; 
  }
 .pc-only{
     display: none;
  }

  .header-button img {
      width: 35px;
  }
}

body.open .header-button {
  z-index: 50;
}

/*ナビゲーションのスタイル*/
@media screen and (max-width:960px) {
  .header-nav {
      list-style: none;
      flex-direction: none;
      position: fixed;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(299, 299, 299, .8);
      transform: translateX(-100%);
      transition: .7s ease;	
  }

  body.open .header-nav {
      transform: translateX(0);
  }
  .header-nav .header-nav-item {
      font-size: 15px;
      margin-top: 25px;
      margin-left: 25px;
  }
.header-nav .header-nav-item:first-child{
  padding-top: 50px;
}
}
	

 メインビジュアル 
 /* 
#mainvisual {
  height: 100vh;
  background-image: url("../../img/top-img/mv-donuts.jpg");
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  margin-bottom: 10px;
}
 */


#mainvisual{
  max-width: 100%;
}

#mainvisual video {
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center top;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  margin-bottom: 10px;
}

@media screen and (max-width: 768px){
  #mainvisual img{
    width: 100%;
  }
}
 
/*スクロールダウン全体の場所*/
.scrolldown{
  position:absolute;
  left:4%;
  bottom:10%;
    /*全体の高さ*/
  height:50px;
}
/*Scrollテキストの描写*/
.scrolldown span{
    /*描画位置*/
  position: absolute;
  left:-15px;
  top: -15px;
    /*テキストの形状*/
  color: #555;
  font-size: 0.8rem;
  letter-spacing: 0.05em;
}

/* 線の描写 */
.scrolldown::after{
  content: "";
    /*描画位置*/
  position: absolute;
  top: 0;
    /*線の形状*/
  width: 1px;
  height: 30px;
  background: #eee;
    /*線の動き1.4秒かけて動く。永遠にループ*/
  animation: pathmove 1.4s ease-in-out infinite;
  opacity:0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
  0%{
    height:0;
    top:0;
    opacity: 0;
  }
  30%{
    height:30px;
    opacity: 1;
  }
  100%{
    height:0;
    top:50px;
    opacity: 0;
  }
}

@media screen and (max-width:414px){
    .scrolldown{
        bottom: 2%;

    }

    .scrolldown span{
        font-size: 0.3rem;
        left: -10px;
        
    }
}

main{
  background-color: #D2D3D3;
}

/* カテゴリー別のギャラリーはmargin-topを入れる */
.category-gallry{
  padding-top: 30px;
  background-color:#D2D3D3;
}

.grid {
  position: relative;/*並び替えの基準点を指定*/
  margin-left: 200px;
}

/*各画像の横幅などの設定*/
.item {
  display: block;
  position: absolute;
  width: 24.8%;/*横並びで3つ表示*/
  padding-bottom:15px;/*画像に余白をつける*/
  padding-right: 15px;
  z-index: 1;
}

/*内側のボックスの高さが崩れないように維持*/
.item-content {
  position: relative;
  width: 100%;
  height: 100%;
}

/*画像の横幅を100%にしてレスポンシブ化*/
.grid img{
	width:100%;
	height:auto;
	vertical-align: bottom;/*画像の下にできる余白を削除*/
}

/*横幅が768px以下になった際の指定*/
@media only screen and (max-width: 1024px){
  .grid{
    margin-left: 8px;
  }
  .item{
    width: 33%;
  }
}

@media only screen and (max-width: 768px) {
  .grid{
    margin-left: 0;
  }
.item {
  width: 49.5%;/*横並びで2つ表示*/
  padding: 0 0px 5px 5px;
}
}


/* ホバーで文字を出す */
    .hover-parent{
      width: 100%;
      height: auto;
      overflow: hidden;
      position: relative;
    }

    .hover-parent .caption{
      font-size: 100%;
      text-align: center;
      color: #fff;
      display: flex;
      justify-content: center;
      align-items: center;
      height: 100%;
    }
    .hover-parent .mask{
      width: 100%;
      height: 100%;
      position: absolute;
      top:0;
      left: 0;
      opacity: 0;
      background-color: rgba(0,0,0,.5);
      transition: all 0.7s ease;
    }

    .hover-parent:hover .mask{
      opacity: 1;
    }
   /***************************

    site-attentionのスタイル

   *****************************/


    .index-site__attention {
      color: #333;
      padding:50px 50px 50px 200px;
      font-size: 0.75rem;
      font-weight: bold;   
    }

    .index-site__attention_title{
      margin-bottom: 10px;
    }
    .index-site__attention_deteil{
      font-size: 0.5rem;
      line-height: 1.5;
      font-weight: normal;
    }


    @media only screen and (max-width: 960px) {
      .index-site__attention {
        padding: 50px 10px ;
      }
    }

    /**********************

    footerのスタイル

   ************************/
.footer{
	margin: 0 auto;
    text-align: center;
	background-color: #999;
	height: 20px;
}
.footer small{
	color: #fff;
	font-size: 0.8rem;
}

    /* リストをふわっと表示 */
       
    .animation {
      margin: 1;
      }
      
 /*アニメーション要素のスタイル*/
.animation {
	opacity : 0;
	visibility: hidden;
	transition: 1s;
	transform: translateY(50px);
}
/*アニメーション要素までスクロールした時のスタイル*/
.active{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/*ツイッターをXに変更するコード*/
.fa-twitter:before {
  content: '𝕏';
  font-family: unset;
  font-weight: bold;
}
/*SNSのスタイル*/
.snsbtn {
  padding: 0;
  margin: 0;
  display: flex;
  gap: 20px;
}

@media only screen and (max-width: 960px){
  .snsbtn{
    padding-left: 20px;
  }
}
