@charset "UTF-8";

.tit_bg {
  background-color: #7ec801;
}

h1 {
  background-color: #7ec801;
}

h2.kaiin_top {
  padding: 1rem 1rem 1.2rem 1rem;
}

h2.kaiin_top {
  position: relative;
  text-align: center;
  padding: 0 55px;
  }
  h2.kaiin_top:before {
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
    width: 100%;
    height: 5px;
    content: '';
    background: #ccc;
  }
  
  h2.kaiin_top span {
    position: relative;
    padding: 0 1.5rem;
    background: #fff;
  }

/* === 標準ボタン =============== */

/* 詳細へボタン */
.more_btn a {
  position: relative;
  display: inline-block;
  padding: 1.2rem 2.3rem;
  color: #fff;
  line-height: 1;
  background-color: #59a101;
  border-radius: 0;
  text-decoration: none;
  text-align: center;
  border-radius: 50px;
}

/* カーソルが当たったとき */
.more_btn a:hover {
  background-color: #7ec801;
}


    /* パンくずリスト */

    .breadcrumbs a {
      color: #fff5c8 !important;
    }

/* フォーム */

input {
  margin: 3px 0;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="number"],
input[type="date"],
input[type="password"],
textarea {
  padding: 15px;
  width: 100%;
  font-size: 1rem;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 5px;
}

button[type="submit"],
input[type="submit"] {
  height: 100%;
  color: #fff;
  background-color: #0b72b5;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  box-shadow: #ccc;
  line-height: 1.2;
  min-height: 40px;
  border: 0 solid;
  padding: 1rem 2rem;
  border-radius: 50px;
  font-size: 1.2rem;
}

button[type="submit"]:hover,
input[type="submit"]:hover {
  background-color: #0063a3;
}

input[type="radio"] {
  position: relative;
  width: 16px;
  height: 16px;
  border: 1px solid #000;
  border-radius: 50%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
          margin: 5px 5px 2px 5px;
          vertical-align: bottom;
}

input[type="radio"]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #990000;
  content: '';
}

.checkbox_item {
  display: flex;
  align-items: center;
  column-gap: 4px;
  width: fit-content;
  line-height: 1;
  cursor: pointer;
}

.checkbox_item:not(:last-of-type) {
  margin-bottom: 16px;
}

.checkbox {
  appearance: none;
  position: relative;
  width: 20px;
  height: 20px;
  border: 1px solid #59a101;
  border-radius: 2px;
  cursor: pointer;
  top: 6px;
  background-color: #fff;
}

.checkbox:checked {
  background-color: #59a101;
}

.checkbox:checked::after {
  content: "";
  position: absolute;
  top: 5px;
  left: 3px;
  width: 12px;
  height: 6px;
  border-bottom: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  transform: rotate(-45deg);
}

/* カテゴリメニュー */

.cat_menu {
  display: flex;
  font-size: 0.8rem;
  margin: -2rem 0 0 0;
}

.cat_menu div {
  flex: 1;
  box-sizing: border-box;
  text-align: center;
  padding: 1rem 0;
  background-color: #fff;
}
.cat_menu div:first-child {
  border-left: 1px solid #fff;
}
.cat_menu div a {
  background-color: #59a101;
  display: block;
  text-decoration: none;
  padding: 1rem 0;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  color: #fff;
  margin: -1rem 0;
  transition: all .3s;
}
.cat_menu div a:hover {
  background-color: #7ec801;
}

.cat_menu div a.active:hover {
  background-color: #fff;
  color: #59a101;
}

@media (min-width:600px) {

  .cat_menu {
    font-size: 1rem;
  }
}

/* 会員専用 */

.kaiin_enter .more_btn {
  font-size: 1.4rem;
  margin: 3rem 0;
}

.kaiin dl.membernews_list {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #ccc;
 }
 .kaiin dl.membernews_list dt {
   margin: 0;
   padding: 0.6rem 0.6rem 0 0.6rem;
   border-top: 1px solid #ccc;
  }
 .kaiin dl.membernews_list dd {
  margin: 0 0 0 0;
  padding: 0.2rem 0.6rem 0.6rem 0.6rem;
 }
 dl.membernews_list dd a {
   display: block;
   color: #333;
   position: relative;
 }

 dl.membernews_list dd a::after {
  content: '';
  /*絶対配置で矢印の位置を決める*/
  position: absolute;
  top: 0.2rem;
  right: 10px;
  /*矢印の形状*/   
  width: 10px;
  height: 10px;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  transform: rotate(45deg);
  transition: all .3s;
}

@media (min-width:600px) {


  dl.membernews_list dd a::after {
    top: 0.6rem;
    right: 15px;
  }
  /*hover時に矢印が移動*/   
  dl.membernews_list dd a:hover::after {
  right:10px;
  }

}
 dl.membernews_list dd a:hover {
   color: #59a101;
 }

 .kaiin .kaiin_menu.bunkatsu {
  display: flex;
  flex-wrap: wrap;
}

.kaiin .kaiin_menu .bun02_item {
  flex-basis: 50%;
}

.kaiin .kaiin_menu .bun02_item.more_btn {
  margin: 3rem 0;
}

.kaiin .kaiin_menu .bun02_item.more_btn a {
  display: block;
  padding: 1.6rem 1rem;
}

.kaiin .kaiin_search input[type="text"] {
  width: 75%;
  margin-right: -3px;
}
.kaiin .kaiin_search .more_btn {
  padding: 0 0 0 0.2rem;
}
.kaiin .kaiin_search .more_btn a {
  padding: 1rem;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  margin-top: 2px;
  margin-bottom: 3px;
}

.kaiin .kaiin_search input[type="text"] {
  padding: 15px 15px;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.bunsyo_kakomi {
  background-color: #fffbe8;
  border-radius: 0.6rem;
  padding: 1.5rem;
}

.bunsyo_kakomi h3 {
  border: 0 solid;
  padding: 0;
  margin-top: 0;
}

@media (min-width:1024px) {

  .kaiin .kaiin_search.bunkatsu {
   display: flex;
   flex-wrap: wrap;
 }

  .kaiin .kaiin_search .bun02_item:nth-of-type(odd) {
    flex-basis: 20%;
  }
  .kaiin .kaiin_search .bun02_item:nth-of-type(even) {
    flex-basis: 80%;
  }
  .kaiin .kaiin_search .bun02_item {
    display: flex;
    flex-wrap: wrap;
  }

  .kaiin .kaiin_search .bun02_item div {
    width: 20%;
  }

  .kaiin .kaiin_search input[type="text"] {
    width: 90%;
  }
}
@media (min-width:1024px) {

  dl.membernews_list {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #ccc;
   }
   
   dl.membernews_list dt {
    width: 110px !important;
    padding: 0.8rem 0.6rem 0.8rem 0.6rem !important;
    border-top: 1px solid #ccc;
   }
   dl.membernews_list dd {
    width: 88% !important;
    margin: 0 0 0 0;
    padding: 0.8rem 0.6rem 0.8rem 0.6rem !important;
    border-top: 1px solid #ccc;
   }
}

/* 会報 */

.bunkatsu.kaihou_list a.bun03_item:hover h3 {
  color: #59a101;
  transition: all .3s;
}

/* メニューリスト */

.menu_list a:hover {
  color: #59a101;
}