[style/css/style.css]
html {
     overflow-x: hidden;
     }

body ol {
        padding: 0;
        }

/*パンくずリスト*/
.breadcrumb {
  margin: 0;
  padding-left: 10px;
  list-style: none;
  border-top: solid #efefef 1px;
}

.breadcrumb li {
  display: inline-block;/*横に並ぶように*/
  list-style: none;
  font-weight: bold;/*太字*/
  border: none;
  text-align: center;
  width: auto !important;
  margin: 30px 0px;
}

.breadcrumb li:after {
  /* ▶を表示*/
  content: '>';
  padding: 0 0.2em;
  color: #dcdcdc;
}

.breadcrumb li:last-child:after {
  color: transparent;
}

.breadcrumb li a {
  display: inline-block;
  padding: 0.4em 12px;
  border-radius: 2px;
  text-decoration: none;
  color: #222222;
  background: #ffffff;
  font-size: 18px;
}

.breadcrumb li a:hover {
                       background: #efefef;
                       cursor: pointer;
                       }

/* 480px以下に適用されるCSS（スマホ用） */
@media screen and (max-width: 480px) {
.breadcrumb li a {
                 font-size: 16px;
                 }

.breadcrumb {
            padding-left: 0;
            }
}

@media screen and (max-width: 414px) {
.breadcrumb {
            padding-left: 36px;
            }

.breadcrumb li a {
                  padding: 0;
                  }
}


/*挿絵カテゴリ*/
.categolira {
            position: relative;
            text-align: center;
            margin: 0 auto;
            padding: 0px 0px 80px;
            width: 70%;
            height: auto;
            }

.back img {
          width: 100%;
          height: auto;
          }

.tepu {
      position: absolute;
      top: 65px;
      left: 65px;
      }

.tepu {
      position: absolute;
      top: 65px;
      left: 65px;
      }

.ja {
    position: absolute;/*重ねたい子要素にabsolute*/
    text-align: left;
    -ms-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
    -webkit-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
    color: #FFFFFF;
    margin: 0!important;/*文字がずれている場合や*/
    padding: 0!important;/*文字が折り返される場合*/
    top: 115px;
    left: 165px;
    }

.ja h2{
      font-size: 40px;
      }

.en {
    position: absolute;/*重ねたい子要素にabsolute*/
    text-align: left;
    -ms-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
    -webkit-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
    color: #FFFFFF;
    margin: 0!important;/*文字がずれている場合や*/
    padding: 0!important;/*文字が折り返される場合*/
    top: 115px;
    left: 305px;
    }

.en h2 {
       font-family: "Herr Von Muellerhoff", cursive;
       font-weight: 400;
       font-style: normal;
       font-size: 40px;
       }

.container {
      display: flex;
      flex-wrap: wrap; /* flexアイテムを折り返す（複数行に配置する） */
      position: absolute;/*重ねたい子要素にabsolute*/
      top: 260px;
      left: 0;
      right: 0;
      width: 70%;
      height: auto;
      margin: 0 auto;
      justify-content: space-between;
      row-gap: 60px;
      }

.column {
      width: calc(100%/3 - 50px);
      height: auto;
      display: flex;
      flex-direction: column;
      border: 1px solid #transparent;
      box-sizing: border-box; /* ボックスモデルを維持するために必要なスタイル */
      }

.column-img img {
                width:100%;
                height:auto;
                }

.column-img:hover {
                  filter: brightness(0.9);
                  }

.column h3{
           background: #ffffff;
           line-height: 2;
           display: inline-block;
           padding: 0px 20px;
           }

.mark {
      text-align: left;
      }


/* 2560px以下に適用されるCSS（タブレット用） */
@media screen and (max-width: 2560px) {
.back img {
          height: 1400px;
          }
}

/* 1920px以下に適用されるCSS（タブレット用） */
@media screen and (max-width: 1920px) {
.back {
      height: 1140px;
      }

.back img {
          height: 100%;
          }
}

/* 1900px以下に適用されるCSS（タブレット用） */
@media screen and (max-width: 1900px) {
.back {
      height: auto;
      }

.back img {
          height: auto;
          }
}

/* 1600px以下に適用されるCSS（タブレット用） */
@media screen and (max-width: 1600px) {
.container {
           row-gap: 40px;
           top: 250px;
           }

.back img {
          height: 950px;
          }
}

/* 1440px以下に適用されるCSS（タブレット用） */
@media screen and (max-width: 1440px) {    
.back img {
          height: 920px;
          }
}

/* 1366px以下に適用されるCSS（タブレット用） */
@media screen and (max-width: 1366px) {    
.back img {
          height: 870px;
          }
}

/* 1284px以下に適用されるCSS（タブレット用） */
@media screen and (max-width: 1284px) {
.back img {
          height: 820px;
          }

.tepu img {
          width: 80%;
          height: auto;
          }

.tepu {
      top: 60px;
      left: 30px;
      }

.ja {
    top: 100px;
    left: 140px;
    }

.ja h2{
      font-size: 30px;
      }

.en {
    top: 102px;
    left: 260px;
    }

.title h2 {
          font-size: 26px;
          }

.title {
        top: 195px;
        left: 120px;
        }

.container {
           top: 200px;
           width: 73%;
           height: auto;
           }

.column {
      width: calc(100%/3 - 40px);
      }
}

/* 1242px以下に適用されるCSS（タブレット用） */
@media screen and (max-width: 1242px) {
.column h3{
           font-size: 16px;
           }

.back img {
          height: 800px;
          }

.container {
           top: 210px;
           }
}

/* 1080px以下に適用されるCSS（タブレット用） */
@media screen and (max-width: 1080px) {  
.back img {
          height: 750px;
          }
}

/* 834px以下に適用されるCSS（タブレット用） */
@media screen and (max-width: 834px) {
.categolira {
            width: 100%;
            height: auto;
            }

.back img {
          height: 800px;
          }
}

/* 768px以下に適用されるCSS（タブレット用） */
@media screen and (max-width: 768px) {
.column {
        width: calc(100%/3 - 30px);
        }
}

/* 640px以下に適用されるCSS（タブレット用） */
@media screen and (max-width: 640px) {
.back img {
          height: 700px;
          }

.container {
           top: 200px;
           }
}

/* 480px以下に適用されるCSS（スマホ用） */
@media screen and (max-width: 480px) {
.categolira {
            padding-top: 0;
            }

.back img {
          height: 650px;
          }
  
.column {
        width: calc(100%/3 - 10px);
        }

.column h3 {
           font-size: 15px;
           }

.container {
           row-gap: 20px;
           width: 85%;
           height: auto;
           top: 190px;
           }

.tepu {
      left: -5px;
      }

.ja {
    left: 105px;
    }

.en {
    left: 225px;
    }

.title {
        left: 72px;
        }

.long h3 {
         font-size: 14px;
         padding: 1px 20px;
         }
}

/* 440px以下に適用されるCSS（スマホ用） */
@media screen and (max-width: 440px) {
.column h3 {
           padding: 0 10px;
           }

.long h3 {
         padding: 1px 10px;
         }
}

/* 414px以下に適用されるCSS（スマホ用） */
@media screen and (max-width: 414px) {
.back img {
          height: 600px;
          }
}

/* 395px以下に適用されるCSS（スマホ用） */
@media screen and (max-width: 395px) {
.container {
           width: 90%;
           height: auto;
           }

.column h3{
           font-size: 14px;
           }
}

/* 375px以下に適用されるCSS（スマホ用） */
@media screen and (max-width: 375px) {
.back img {
          height: 580px;
          }

.long h3 {
         font-size: 13px;
         padding: 1px 10px;
         }
}


/*他のカテゴリ*/
.other {
       position: relative;
       text-align: center;
       margin: 0 auto;
       width: 70%;
       height: auto;
       padding-bottom: 80px;
       }

.otherback img {
               width: 100%;
               height: auto;
               text-align: center;
               }

.title {
        position: absolute;/*重ねたい子要素にabsolute*/
        text-align: left;
        -ms-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
        -webkit-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
        color: #ffffff;
        margin: 0!important;/*文字がずれている場合や*/
        padding: 0!important;/*文字が折り返される場合*/
        top: 95px;
        left: 190px;
        z-index: 2;
        }

.mark2 {
       position: absolute;
       top: 60px;
       left: 85px;
       height: 55px;
       width: auto;
       }

.slider {
        visibility: hidden;
        position: absolute;
        width: 70%;
        height: auto;
        margin: 0 auto;
        top: 30%;
        left: 0;
        right: 0;
        padding-bottom: 10px;
        }

.slider.slick-initialized {
                          visibility: visible;
                          }

.slider a img {
                 margin: 0 20px;
                 width: 80%;
                 height: 80%;
                 }

.slider a img:hover {
                  filter: brightness(0.9);
                  }

.slick-prev,.slick-next{
                       width: 40px;
                       height: 40px;
                       }

.slick-prev:before, .slick-next:before {
                                       opacity: 1;
                                       color: #ffc7a9;
                                       font-size: 40px;
                                       }

.slick-next{
           right:-40px;
           top: 140px;
           }

.slick-prev{
           left:-40px;
           top: 140px;
           }

.sky h3 {
        background: #ffffff;
        line-height: 2;
        display: inline-block;
        padding: 0px 20px;
        }

.to {
    text-align: left;
    margin: 0 20px;
    }


/* 1600px以下に適用されるCSS（タブレット用） */
@media screen and (max-width: 1600px) {
.slider {
        top: 180px;
        }

.otherback img {
               height: 530px;
               }

.slick-next{
            top: 100px;
            }
       
.slick-prev{
            top: 100px;
            }
}
      
/* 1284px以下に適用されるCSS（タブレット用） */
@media screen and (max-width: 1284px) {
.mark2 {
       top: 50px;
       left: 70px;
       }
      
.title {
      top: 85px;
      left: 170px;
      }
      
.title h2 {
          font-size: 26px;
          }
      
.slider {
        top: 160px;
        width: 73%;
        }
    
.otherback img {
               height: 520px;
               }
    
.slick-next {
            top: 120px;
            }
           
.slick-prev {
            top: 120px;
            }
}

@media screen and (max-width: 1170px) {
.to h3 {
       font-size: 16px;
       }
}

@media screen and (max-width: 1170px) {
.otherback img {
               height: 510px;
            }
 
.slick-next {
         top: 100px;
         }
        
.slick-prev {
         top: 100px;
         }
}

@media screen and (max-width: 1024px) {
.otherback img {
               height: 480px;
               }
}

/* 834px以下に適用されるCSS（タブレット用） */
 @media screen and (max-width: 834px) {
.other {
       width: 100%;
       height: auto;
       }
      
.otherback img {
               height: 510px;
               }

.mark2 {
      left: 60px;
      }
                 
.title {
      left: 160px;
      }
}

@media screen and (max-width: 640px) {
.otherback img {
               height: 480px;
               }
}
      
/* 480px以下に適用されるCSS（スマホ用） */
@media screen and (max-width: 480px) {
.other {
       padding: 0;
       }

.otherback img {
               height: 420px;
               }

.mark2 {
       left: 20px;
       }
      
.title {
       left: 120px;
       }

.to h3 {
       font-size: 15px;
       padding: 0 10px;
       }

.slider {
        width: 80%;
        }

.slick-prev,.slick-next{
            width: 30px;
            height: 30px;
            }

.slick-next {
            top: 70px;
            }
                 
.slick-prev {
            top: 70px;
            }

.slick-prev:before, .slick-next:before {
                            font-size: 30px;
                            }
}

@media screen and (max-width: 440px) {
.slider a img {
              width: 80%;
              height: 80%;
              }

.slider {
        width: 70%;
        }

.slick-next {
            top: 80px;
            }
                 
.slick-prev {
            top: 80px;
            }

.otherback img {
               height: 440px;
               }
}

@media screen and (max-width: 375px) {
.otherback img {
               height: 420px;
               }
}
