@charset "utf-8";

@media only screen and (min-width: 768px) {
  .faq_page_ttl {
    min-width: 200px;
  }
}
@media only screen and (min-width: 1025px) {
  .faq_page_ttl {
    min-width: 450px;
  }
}
/*------------------------------
search
-----------------------------*/
.search_wrap {
  display: flex;
  flex-direction: column;
  background: #c0d85c;;
  color: #fff;
  margin: 20px auto 0;
  padding: 20px;
}
.search_wrap * {
  -webkit-appearance: none;
}
.search_wrap::after{
  content: normal;
}
.search_ttl {
  font-weight: bold;
  font-size: 14px;
}
.searchform {
  margin: 5px 0 0;
  position: relative;
}
.search-form__input {
  font-size: 14px;
  /* font-weight: bold; */
  width: 100%;
  display: block;
  padding: 5px 10px;
  border: 0;
  height: 35px;
}
.search-form__button {
  border: 0;
  cursor: pointer;
  outline: none;
  appearance: none;
  display: block;
  position: absolute;
  padding: 5px;
  background:#F2F3F3;
  width: 35px;
  height: 35px;
  top: 0;
  right: 0;
}
.link_btn_area a{
  text-align: center;
}
@media screen and (min-width: 768px) {	
  .search_wrap {
    width: 90%;
    padding: 30px;
  }
  .search_ttl {
    font-size: clamp(14px, 0.17vw, 28px);
  }
  .searchform {
    margin: 10px 0 0;
  }
  .search-form__input {
    font-size: clamp(14px, 0.17vw, 28px);
    height: 50px;
  }
  .search-form__button {
    width: 50px;
    height: 50px;
  }
}
@media screen and (min-width: 1025px) {
  .search_wrap {
    width: 82%;
  }
  .search_ttl {
    font-size: 18px;
  }
  .search-form__input {
    font-size: 18px;
  }
}
/*------------------------------
page_link
-----------------------------*/
.page_link {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  margin: 30px 0 50px;
  gap: 10px;
}
.page_link_item {
  width: 100%;
}
.page_link_item a {
  line-height: 1.25;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 10px 1em;
  border: 1px solid #000;
  font-weight: bold;
  font-size: 14px;
  text-align: center;
  height: 100%;
  background: #fff;
}
.page_link_item a span {
  display: inline-block;
}
.page_link_item a:hover {
  background-color: #000;
  color: #fff;
}
@media only screen and (min-width: 641px) {
.page_link_item {
  width: 45%;
}
.page_link_item a {
    font-size: clamp(14px, 0.17vw, 28px);
  }
}
@media only screen and (min-width: 1025px) {
.page_link_item {
  width: 20%;
}
.page_link_item a {
    font-size: 18px;
    padding: 31px 1em 26px;
  }
}

/* よくあるご質問 */
.faq_list_area {
  padding: 50px 0 0;
}
.faq_list_area:first-child {
  padding: 0;
}
.bgcl_gy {
  background: #f8f8f8;
}

.faq_list {
  margin: 12px 0 0;
}

.tg_btn {
  display: flex;
}

.faq_item {
  border-top: 1px solid #000;
  background: #fff;
}

.faq_item:last-of-type {
  border-bottom: 1px solid #000;
}

.faq_mark {
  color: #C0D85C;
  display: block;
  width: 35px;
  font-size: 13px;
  line-height: 20px;
}

.faq_question {
  display: block;
  width: calc(100% - 35px);
  font-size: 14px;
  line-height: 20px;
}

.faq_txtbox {
  padding: 0 22px;
}

.faq_txt {
  display: block;
  width: 100%;
  font-size: 14px;
  line-height: 25px;
}
.tg_area {
  display: none;
}
@media only screen and (min-width: 769px) {
  .faq_list_area {
    padding: 100px 0 0;
  }
  .bgcl_gy {
    background: #f8f8f8;
  }
  .faq_list {
    margin: 30px 0 0;
  }
  .tg_btn {
    display: flex;
  }
  .faq_txtitem {
    display: flex;
    flex-flow: row;
  }
  .faq_item {
    border-top: 1px solid #000;
    background: #fff;
  }
  .faq_item:last-of-type {
    border-bottom: 1px solid #000;
  }
  .faq_mark {
    display: block;
    width: 74px;
    font-size: 20px;
    line-height: 36px;
  }
  .faq_question {
    display: block;
    width: calc(100% - 74px);
    font-size: 18px;
    line-height: 36px;
  }
  .faq_txtbox {
    padding: 0 0 0 72px;
  }
  .faq_txt {
    display: block;
    width: calc(100% - 124px);
    font-size: 18px;
    line-height: 36px;
  }
  .tg_area {
    display: none;
  }
  .faq_answer {
    background: url("../images/common/border_c.svg") repeat-x left top/6px 1px;
  }
}

/**************************************************
/*ここからトグルボタン
/**************************************************/

h2.tg_off {
  background: #f8f8f8;
}

h2.tg_off:hover {
  background: #fff;
}
.tg_list {
  position: relative;
  cursor: pointer;
  transition: all 0.5s ease-out;
  padding: 25px 42px 25px 0;
}
.tg_list .tg_list_on {
  position: absolute;
  top: 45%;
  right: 14px;
  display: block;
  width: 20px;
  height: 20px;
  margin: -10px 0 0;
}
.tg_list .tg_list_on:before {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  background: #000;
	position: absolute;
	top: 10px;
}
.tg_list .tg_list_on:after {
  content: "";
  position: absolute;
  top: 1px;
  right: 9px;
  display: block;
  width: 2px;
  height: 20px;
  background: #000;
  opacity: 1;
  animation: tg_list_hover01 1s linear 0s;
}
.tg_list.tg_list_hover > .tg_list_on:after {
  opacity: 0;
  top: 20px;
  animation: tg_list_hover02 0.5s linear 0s;
}
@keyframes tg_list_hover01 {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes tg_list_hover02 {
  from {
    opacity: 1;
    top: 0;
  }
  to {
    opacity: 0;
    top: 20px;
  }
}

.tg_list_inner .tg_form {
  display: none;
}

.tg_form {
  padding: 0px 0;
}

@media only screen and (min-width: 769px) {
	.tg_list {
		padding: 32px 0;
	}
	.tg_list .tg_list_on {
		width: 30px;
		height: 30px;
	}
  .tg_list .tg_list_on:before {
    width: 30px;
		top: 14px;
  }
  .tg_list .tg_list_on:after {
    top: 0;
    right: 14px;
    height: 30px;
  }
  .tg_list.tg_list_hover > .tg_list_on:after {
    opacity: 0;
    top: 30px;
    animation: tg_list_hover02 0.5s linear 0s;
  }
  @keyframes tg_list_hover01 {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  @keyframes tg_list_hover02 {
    from {
      opacity: 1;
      top: 0;
    }
    to {
      opacity: 0;
      top: 30px;
    }
  }
  .tg_list .tg_list_on {
    right: 10px;
  }
  .tg_form {
    padding: 20px 0 30px;
  }
}

/* トグルしないものをこのクラスで打ち消す */
.tg_none_cl {
  cursor: default;
  background-color: #ccc;
}


/**************************************************
/* 検索結果ページ
/**************************************************/
.search_result_form_inner {
  padding: 40px 0;
}
.search_result_txt {
  font-size: 1.5em;
}
.search_result_keyword {
  font-weight: bold;
}
.search_result_btn_area {
  margin: 40px;
  display: flex;
  justify-content: center;
}
a.search_result_backbtn {
  width: 196px;
  position: relative;
  display: block;
  padding: 6px 28px;
  background-color: #000;
  color: #fff;
  font-weight: bold;
  font-size: 12px;
  text-align: center;
  border: 1px solid #000;
}
a.search_result_backbtn::before {
  position: absolute;
  content: "";
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  top: 9px;
  left: 10%;
  width: 4px;
  height: 4px;
  transform: translate(-3px, 5px) rotate(-135deg);
}
@media only screen and (min-width: 768px) {
  .search_result_form_inner {
    padding: 80px 0;
  }
  .search_result_btn_area {
    margin: 80px;
  }
  a.search_result_backbtn {
    width: 280px;
    font-size: 18px;
  }
  a.search_result_backbtn::before {
    top: 9px;
    left: 10%;
    width: 8px;
    height: 8px;
  }
  a.search_result_backbtn:hover {
    background: #fff;
    color: #000;
  }
  a.search_result_backbtn:hover::before {
    border-top: 1px solid #000;
    border-right: 1px solid #000;
  }
}