@charset "UTF-8";
/*
主たるブレイクポイント
768px以下sp.tab
769px以上pc
1000px以上pc2
*/


/*===============
共通設定 & 汎用クラス
===============*/
html{
  font-size: 62.5%;
}


body{
  font-size: 1.6rem;
  font-family:"游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif;
  line-height: 2;
  color: #333;
}


a{
  text-decoration: none;
}

a:hover{
  opacity: 0.6;
}

.cf::after{
  content: "";
  display: block;
  clear:both;
}

.sp{
  display: block;
}

.pc{
  display: none;
}

.to_top{
  font-size:4rem;
  line-height: 50px;
  text-align: center;
  border-radius: 50px;
  background-color: #fff;
  width:50px;
  height:50px;
  position:fixed;
  bottom:10px;
  right:10px;
  cursor: pointer;
}

.inner{
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width:600px){
  .sp{
    display: none;
  }
  .pc{
    display: block;
  }
}

.title{
  text-align: center;
  font-size: 2.6rem;
  margin-bottom: 30px;
  line-height: 1;
}

.btn a{
  display: block;
  background-color: #3CAD5A;
  width:80%;
  max-width:270px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  color: #fff;
  line-height: 70px;
}

@media screen and (min-width:769px){
  .btn a{
    width:60%;
  }
}

.inner{
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

.break{
  display: inline-block;
}

.row{
  padding: 70px 5%;
}


@media screen and (min-width:769px){
  .row{
    padding-left: 0;
    padding-right: 0;
  }

}


/*===============
ヘッダー
===============*/

header{
  position:sticky;
  top:0;
  width:100%;
  height: 70px;
  background-color: rgba(255,255,255,0.8);
  z-index:1000;
}

header div{
  display: flex;
  justify-content: space-between;
  align-items:center;
  position: relative;

}
header h1{
  padding-top: 15px;
  padding-left: 15px;
  padding-bottom: 5px;
  max-width: 40%;
}


@media screen and (max-width:567px){
  header h1{
    max-width: 60%;
  }
}


/* メニュー */

.sp_nav{
  display: block;
}

.sp_nav > div{
  width:24px;
  height: 24px;
  position: fixed;
  top:20px;
  right: 15px;
  z-index: 100000;
}

.sp_nav div span{
  display: block;
  width:100%;
  background-color: #333;
  height: 2px;
  transition:0.4s;
  position: absolute;
}

.sp_nav div span:first-child{
  top:0;
}

.sp_nav div span:nth-child(2){
  top:11px;
}

.sp_nav div span:last-child{
  bottom:0;
}

.sp_nav.on span:nth-child(1){
  transform: translate(0px,11px)rotate(45deg);
}

.sp_nav.on span:nth-child(2){
  visibility: hidden;
}

.sp_nav.on span:nth-child(3){
  transform: translate(0px,-11px)rotate(-45deg);
}

.sp_nav nav > div{
  width:100%;
  height: 100vh;
  padding-top:64px;
  padding-left:32px;
  padding-right: 32px;
  background-color: #b6daa5;
  position: fixed;
  top: 0;
  transform: translateX(100%);
  transition: 0.3s;
  overflow-y: auto;
}

.sp_nav.on nav > div{
  transform: translateX(0%);
}

.sp_nav.on nav > div ul{
  margin-bottom: 20px;
}

.sp_nav nav > div ul li{
  font-size:2rem;
  line-height: 5rem;
}
.sp_nav nav > div ul ul li{
  padding-left: 20px;
  font-size:1.6rem;
}
.sp_nav nav > div ul li a{
  color: #707070;
  display: block;
  border-bottom: 1px solid #707070;
}

.sp_nav nav > div ul li > ul li a{
  border-bottom: 1px dotted #707070;
}




@media screen and (min-width:769px){
    header h1{
        margin-left: auto;
        margin-right: auto;
        padding-top: 15px;
        padding-left: 15px;

    }

}


/*=====================
キービジュアル
=====================*/
#key{
  width:100%;
  background-image: url(../img/key2.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position-y: top;
  background-position: top center;
}

#key div{
  display: table;
  height: 74vh;
}

#key p.sp{
  text-align: center;
  display: table-cell;
  vertical-align: middle;
  padding-left: 20px;
  padding-right: 20px;
}


/*=====================
ボタン
=====================*/

.button a {
  text-decoration: none;
  display: block;
  max-width: 250px;
  padding: 20px 0;
  border-radius: 6px;
  background-repeat: no-repeat;
  background-position: 100% 0;
  background-size: 200% auto;
  background-image: linear-gradient(
    to right,
    #a48c61 0%,
    #a48c61 50%,
    #000000 50%,
    #000000 100%
  );
  box-shadow: 0 3px 10px rgb(0 0 0 / 16%);
  transition: background-position ease 0.4s;
  text-align: center;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  font-size: 20px;
}

.button a:hover {
  background-position: 0 0;
}


@media screen and (max-width: 872px){
.button a{
  margin-top: 20px;
  margin-bottom: 50px;
  margin-left: auto;
  margin-right: auto;


}
}

/*=====================
ブルペンエッグ
=====================*/

.wrapper{
  width:100%;
}
.container{
  max-width:1000px;
  margin:0px auto;
  padding:30px 0px;
  text-align:center;
}



.content {
  padding:50px;
  text-align:center;
  line-height: 2.4rem;
}


 .heading{
  margin:0px 0px 40px 0px;
  font-size: 24px;
  font-weight: normal;
  text-align: center;
  border-bottom: #28B472 solid 2px;
  padding-bottom: 5px;
  display: inline-block;
}


.wrapper .content   .text-box{
  text-align: left;
  margin-top: 45px;
}



@media screen and (min-width:769px){

  .box {
    display: flex;
    padding:20px;

  }
  .box .img {
    margin: 0 20px 0 0;
  }
  .box:nth-child(even) {
    flex-direction: row-reverse;
  }
  .box:nth-child(even) .img {
    margin: 0 0 0 20px;
  }

  .text-box{
    width:calc(100% - 320px);
    text-align: left;
  }

  /* unrelated css */

  .img {
    width:300px;
    height:auto;
    display: flex;
    font-size:36px;
    color:#fff;
    align-items:center;
    justify-content:center;
  }



} */

/*=====================
ブルペンエッグ スライダー
=====================*/



#eggs {
  width: 100%;
  padding: 100px 0 50px 0;
}
#eggs .slick-area {
  font-size: 0;
}
#eggs .slick-area li {
  padding: 0 30px;
}

li {
  list-style: none;

}


#eggs {
  padding: 80px 0;
}
#eggs .slick-area li {
  padding: 0 20px;
}

@media screen and (max-width: 600px){
  #eggs {
    padding: 80px 0;
  }
  #eggs .slick-area li {
    padding: 0 20px;
  }
}


/*=====================
グローブ
=====================*/


.gloves {
  max-width: 1000px;
  padding: 100px 16px 50px 16px;
  margin: -50px auto 10px auto;
}
/*
グリッドレイアウト
要素の最小サイズは300pxで、画面の幅にあわせて要素の幅が自動で変化する
repeatで全ての要素に対して適用
「gap: 26px;」で行と列の隙間を設定
*/
.gloves .grid {
  display: grid;
  gap: 26px;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
.gloves .grid .item {
  transition: all  0.3s ease;
  box-shadow: 0 0 8px 4px #ccc;
}
.gloves .grid img {
  vertical-align: top;
}
.gloves .grid .item-content {
  padding: 30px;
}
.gloves .grid .item-cat {
  font-size: 0.75rem;
  margin-bottom: 20px;
}
.gloves .grid .item-text {
  font-weight: bold;
  margin-bottom: 20px;
}
.gloves .grid .item-date {
  font-size: 0.75rem;
  text-align: right;
}

/*=====================
バナー
=====================*/

.banner {
width: 50%;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  text-align: center;
  margin-left: auto;
  margin-right: auto;

}
@media screen and (max-width:  872px){

  .banner {
    width: 100%;


    }
}


.banner li {
  width: calc(100%/3);
  padding: 5px;
  box-sizing: border-box;
}

/*=====================
フッター
=====================*/



/* footer{
  background-color: #576128;
  margin-top: 150px;
}

footer{
  padding-top: 30px;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 20px;
}



footer .copy{
  color: #fff;
  text-align: center;
} */


