@charset "utf-8";
/* CSS Document */

/*------------------------------------------------------------
サブページ　ギャラリートップページ（タブ絞り込み）　レスポンシブ
------------------------------------------------------------*/

.g_container {
　width: 1120px;
  max-width: 1120px;
  margin: 0 auto;
}

input[type="radio"] {
  position: absolute;
  left: -9999px;
}


.filters {
    display: flex;
    gap: 10px;
    justify-content: center;
    padding: 0px;
    margin: 0px;
}

.filters * {
  display: inline-block;
}
.filters label {
    width: 132px;
    padding: 18px 0px;
    color: #fff;
    background: #222;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease 0s;
}
.filters label:hover {
    background-color: #fff;
    color: #222;
}

 
[value="All"]:checked ~ .filters [for="All"],
[value="cat-1"]:checked ~ .filters [for="cat-1"],
[value="cat-2"]:checked ~ .filters [for="cat-2"], 
[value="cat-3"]:checked ~ .filters [for="cat-3"], 
[value="cat-4"]:checked ~ .filters [for="cat-4"], 
[value="cat-5"]:checked ~ .filters [for="cat-5"], 
[value="cat-6"]:checked ~ .filters [for="cat-6"],
[value="cat-7"]:checked ~ .filters [for="cat-7"]{
  background: #fff;
  color: #222;
}

/* アニメーションは JavaScript で head 内の style 要素に出力 */

/* ここからギャラリーボックス */


.targets {
  display: grid;
  grid-gap: 20px 20px;
  grid-template-columns: repeat(4, 1fr);
    margin: 30px 0px 0px 0px;
    padding: 0px;
}

.targets .target {
  background: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);

}

.cat_txt_1,
.cat_txt_2,
.cat_txt_3,
.cat_txt_4,
.cat_txt_5,
.cat_txt_6,
.cat_txt_7{
    width: 1120px;
    max-width: 1120px;
    margin: 60px 0px 0px 0px;
    color: #fff;
    font-size: 110%;
    font-weight: bold;
}



[value="cat-2"]:checked ~ .cat_txt_2{
    margin: 30px 0px 0px 0px;
}

[value="cat-3"]:checked ~ .cat_txt_3{
    margin: 0px 0px 0px 0px;
}

[value="cat-4"]:checked ~ .cat_txt_4{
    margin: -30px 0px 0px 0px;
}

[value="cat-5"]:checked ~ .cat_txt_5{
    margin: -60px 0px 0px 0px;
}

[value="cat-6"]:checked ~ .cat_txt_6{
    margin: -90px 0px 0px 0px;
}

[value="cat-7"]:checked ~ .cat_txt_7{
    margin: -120px 0px 0px 0px;
}


.gallery_box {
    width: 240px;
    max-width: 240px;
    position:relative;
    float: left;
    margin: 0px 10px 20px 0px;
    padding: 0px;
    border: 0px solid #ccc;
    text-align: center;
    background-color: #fff;
    /*box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);*/
    box-shadow: 0 32px 30px -25px rgba(0,0,0,0.2);
    overflow: hidden; /* これを記述することではみ出た部分を非表示にします。*/
}

.gallery_box:hover{
  opacity: 1;
  box-shadow: 0 0 20px rgba(255,255,255,0.7);
/*-webkit-animation: flash 0.3s;
  animation: flash 0.3s;*/
}

.gallery_box a:hover,
.gallery_box a:focus,
.gallery_box a:active {
    text-decoration:none;
}

.gallery_box img{
    width: 240px;
    max-width: 240px;
    height: auto;
    margin: 0 auto;
    opacity: 1; 
}

.gallery_box img:hover{
  transform:scale(1.03,1.03);
  transition:0.5s all;
-webkit-animation: flash 0.8s;
  animation: flash 0.8s;
}


p.gallery_txt01 {
    margin: 0px 0px 5px 10px;
    font-size: 90%;
    text-align: justify;
    color: #333;
    font-weight: bold;
}


p.gallery_txt01:after{
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	font-family: "Font Awesome 5 Free"; 
	font-weight: 900;
	content: '\f138';
    margin: 0 0 0 5px;
}



@-webkit-keyframes flash {
  0% {
    opacity: .7;
  }
  100% {
    opacity: 1;
  }
}
@keyframes flash {
  0% {
    opacity: .7;
  }
  100% {
    opacity: 1;
  }
}





/* -- responsive ---------スマホ用--ここから-------------- */

/* 1120変更pixel start */
@media screen and ( max-width: 1120px ) {
    
.g_container {
　width: 100%;
  margin: 0 auto;
}
    
.cat_txt_1,
.cat_txt_2,
.cat_txt_3,
.cat_txt_4,
.cat_txt_5,
.cat_txt_6,
.cat_txt_7{
    width: 100%;
    max-width: 300px;
    margin: 60px 0px 0px 20px;
}
    
    
[value="cat-2"]:checked ~ .cat_txt_2{
    margin: 50px 0px 0px 20px;
}

[value="cat-3"]:checked ~ .cat_txt_3{
    margin: 40px 0px 0px 20px;
}

[value="cat-4"]:checked ~ .cat_txt_4{
    margin: 30px 0px 0px 20px;
}

[value="cat-5"]:checked ~ .cat_txt_5{
    margin: 20px 0px 0px 20px;
}

[value="cat-6"]:checked ~ .cat_txt_6{
    margin: 10px 0px 0px 20px;
}

[value="cat-7"]:checked ~ .cat_txt_7{
    margin: 0px 0px 0px 20px;
}


.filters {
    display: grid;
    gap: 14px;
 grid-template-columns: repeat(auto-fill, 22%);
justify-content: center;

}    

.filters label {
    display: flex; 
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 15px 0px;
}
    

.targets {
    width: 92%;
    font-size: 4vw;
    color: #fff;
    text-align: justify;
    margin: 10px auto 0px auto;
    padding: 0 10px;
    line-height: 1.4;
}   
    
.gallery_box {
    width: 100%;
    position:relative;
    float: left;
    margin: 20px 10px 0px 0px;
    padding: 0px;
    border: 0px solid #ccc;
    text-align: center;
    background-color: #fff;
    /*box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);*/
    box-shadow: 0 32px 30px -25px rgba(0,0,0,0.2);
    overflow: hidden; /* これを記述することではみ出た部分を非表示にします。*/
}
    
     
.gallery_box img{
    width: 100%;
    max-width: 240px;
    height: auto;
    margin: 0 auto;
    opacity: 1; 
}


}


/* 1120pixel end */
/* -- responsive ---------スマホ用ここまで----------------- */

/* メディアクエリ */
@media screen and (max-width: 900px) {
  .targets {
    grid-template-columns: repeat(3, 1fr);
  }
}
 
@media screen and (max-width: 650px) {
  .targets {
    grid-template-columns: repeat(2, 1fr);
  }
}
 















