@charset "utf-8";
/* CSS Document */
/*ルールページ固有*/

.pages_title img{
    width: 35%;
}
.page_header_sp_pnly{
    display:none;
}
.page_header_pc_only{
    display:block;
}

 .grandprix_logo{
	width: 45%;
	position: absolute;
	top: 10px;
	left: calc(50% - 300px);
}




#contents .page_title{
    position: relative;
    width: 100%;
    display: flex;
    /*padding: 30px 0;*/
    margin: 80px 0;
}
#contents .page_title img{
    display: block;
    width: 100%;
    max-width: 313px;
    margin: 0 auto;
}
@media screen and (max-width: 767px){
#contents .page_title img {
    display: block;
    width: 90%;
    max-width: 413px;
    margin: 0 auto;
}
}
#contents .sections {
    width: 100%;
    margin: 0 auto;
    height: auto;
    background-color: transparent;
}


#section1 ul{
	list-style: none;
}
#section1 li{
	font-size: 22px;
	line-height: 1.2em;
}


/* カテゴリフィルタ */
.category-filter {
    width: 85%;
    margin: 0 auto;
  margin-bottom: 24px;
}
.category-filter button {
  border: 1px solid #C9A86A;
  background: #000;
  color: #fff;
  padding: 6px 14px;
  border-radius: 4px;
  margin-right: 12px;
  cursor: pointer;
}
.category-filter button.active {
  background: #111;
  border-bottom: 2px solid #D40000;
}
.category-filter button:hover {
  background: #222;
}

.movie_contents{
padding:40px;
background:url(../images/bg_img.png);
background-size:cover;
background-repeat:no-repeat;
background-position:center top;
background-size:cover;
padding: 1% 10%;
}

/* ギャラリー */
.movie-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.movie-grid0 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.movie-grid1 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

@media screen and (max-width: 767px){
.movie-grid0{
grid-template-columns: repeat(1, 1fr);
gap:12px;
}
.movie-grid1{
grid-template-columns: repeat(2, 1fr);
gap:12px;
} 
}


.movie_type_title{
    display: block;
    /* margin-bottom: 12px;
    padding-bottom: 4px; */
    /* border-bottom: 1px solid #C9A86A; */
    font-size: 20px;
    font-weight: 600;
    text-align: left;
    letter-spacing: 0.05em;
    width: 100%;
    height: 2rem;
    margin: 0.5rem 0;}

/* カード */
.movie-card {
  position: relative;
  border: 1px solid #C9A86A;
  background: #0000005e;
  box-shadow: 0 0 8px rgba(0,0,0,0.4);
  padding: 8px;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.movie-card:hover {
  opacity: 1.05;
  transform: translateY(-2px);
}

/* カテゴリラベル */
.category-label {
  position: absolute;
  top: 8px;
  left: 8px;
  background: #111;
  border: 1px solid #C9A86A;
  border-radius: 4px;
  font-size: 11px;
  padding: 2px 6px;
}
.category-label_1 {
  top: 4px;
  left: 4px;
  background: #111;
  border: 1px solid #C9A86A;
  border-radius: 4px;
  font-size: 11px;
  padding: 2px 6px;
}


/* サムネ */
.movie-card img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.movie-card0 img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.movie-card1 img {
  width: 100%;
  aspect-ratio:9/16;
  object-fit: cover;
}
.comingsoon{
    width: 100%;
    background-color: #ccc;
    color: black;
    aspect-ratio: 16 / 9;
    /*text-align: center;*/
    display:flex;
    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 767px){
.movie-card1 img {
aspect-ratio: 3 / 5;
}
}

/* タイトル */
.movie-title {
  margin-top: 8px;
  font-size: 14px;
  font-weight:bold;
}
.movie-detail {
  margin-top: 8px;
  font-size: 14px;
}

.modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.8);
}

.modal-content {
  position: relative;
  width: 80%;
  max-width: 900px;
  margin: 60px auto;
  background: #000;
  border: 1px solid #C9A86A;
  padding: 20px;
}

.modal-content iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.close {
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 28px;
  cursor: pointer;
  color: #C9A86A;
}


ul{ list-style: none; }

/* list */
.list{
  display: flex;
  flex-wrap: wrap; /* アイテムは幅指定するため、wrapに変更 */
  align-items: stretch; /* 省略可。アイテムの高さをそろえる */
  width: 100%;
  margin: auto;
}
.list li{
  width: 46%;
  margin-top: 40px;
  margin: 0 2%;
  background-color: #ddd;
}
/* 上段のmagin-topを0に */
.list li:nth-of-type(-n+2){ margin-top: 0; }
/* 2の倍数の列のmargin-rightを0に */
/*.list li:nth-of-type(2n){ margin-right: 0; }*/

/*.list h2{
  background-image: url("../images/icn_movie64.png");
  background-size: 60px 60px;  画像サイズ 
  background-repeat: no-repeat;  繰り返し表示オフ 
  padding: 0px 0px 0px 80px;  画像と重ならないように文字列を右に移動 
}*/
.list h2 {
    justify-content: flex-start;
    font-size:1.2rem;
    padding: 0 4px;
}
.list h2:before {
  content: url("../images/icn_movie64.png");
      padding:  4px;
}
.list a{
    display:block;width:100%;
        padding: 6px 6px 0 6px;
}
.list img{
    width:100%;
}
.list a:hover img{
    opacity: 0.5;
}
@media only screen and (max-device-width: 480px){
    .list li{
        width: 98%;
        margin-top: 30px;
        margin-right: 0%;
        background-color: #ddd;
    }
    .list li:nth-of-type(-n+2){ margin-top: 30px; }
    .list li:nth-of-type(-n+1){ margin-top: 0; }
    #section1 li h2 {
        height: 50px;
    }
    #section1 li{
        font-size: 20px;
	line-height: 1em;
    }
}