/*
Theme Name:Art Fest 2024
Theme URI:http://art-fest-2024.hiroyukisakon.com
Description:
Version:1.0.0
Author:HiroyukiSakon
Author URI:http://hiroyukisakon-officialsite.com
*/
@charset "utf-8";
/* 全体 */
body{
  font-family: "Noto Serif";
  font-style: normal;
  font-weight: 400;
}
*{
  margin: 0;
  padding: 0;
}
.section{
  margin: 10em;
}
/* ローディング */
#loading {
  background: rgb(255,255,255);
  z-index: 10000;
}
/* ロゴマーク */
.header-logo.headerLogoScroll.-before {
  display : none;
}
.header-logo.-after {
  display : none;
}
.header-logo.headerLogoScroll.-after {
  display : block;
}
.navbar-brand img{
  width: 250px;
}
/* ハンバーガーメニュー */
.navbar-toggler{
  width: 24px;
  height: 24px;
  position: relative;
  z-index: 99;
}
.bi-dash-lg{
  display: block;
  background: #ffffff;
  width: 100%;
  height: 2px;
  transition: transform 0.3s;
  position: absolute;
}
#dash-lg-1,#dash-lg-2,#dash-lg-3{
  top: 0px;
  right: 0px;
}
#dash-lg-2{
  top: 10px;
}
#dash-lg-3{
  top: 20px;
}
#dash-lg-1.active{
  top: 10px;
  transform: rotate(45deg);
}
#dash-lg-2.active{
  transform: scaleX(0);
}
#dash-lg-3.active{
  top: 10px;
  transform: rotate(135deg);
}
.navbar-dark .navbar-toggler{
  color: transparent;
  border-color: transparent;
}
/* ナビゲーション */
.navbar{
  background:transparent;
}
.navbar.headerColorScroll{
  background: #000000;
}
#navbarNav{
  background:rgba(0,0,0,0.8);;
  display: none;
  height: 100%;
  position: fixed;
  width: 100%;
  z-index: 98;
  top: 0px;
}
.nav-group{
  align-items:center;
  display: flex;
  height: 100%;
  justify-content: center;
  position: absolute;
  width: 100%;
}
.nav-menu{
  list-style: none;
}
.nav-link{
  text-decoration: none;
  color: #ffffff;
}
.nav-link:hover{
  color: #ffffff;
}
/* ボタン */
.link{
  text-decoration: none;
  display: block;
  margin: auto;
  background-color:#000000
}
.link:hover{
  background-color:#e60033;
}
/* メイン画像 */
.top-image{
  position: relative;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
  background-position: 50% 50%;
  position: relative;
}
.top-title{
  width: 5%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
@media screen and (max-width:576px){
  .left-image,.right-image,.main-image,.profile-image{
   height: 50vh;
  }
}

/* サムネイル画像 */
.card{
  position: relative;
}
.card::before{
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.4);
}
.card p{
  position: absolute;
  top:50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.card a{
  overflow: hidden;
}
.card-img-top{
  object-fit: cover;
  transition:all 0.3s;
}
.card-img-top:hover{
  transform: scale(1.2);
}
/* フッター */
footer{
  background-color: #000000;
}
p.copyright{
  color: #ffffff;
  text-align: center;
}