
/* 下層ページヘッダー */
.page-header {
  background: repeating-linear-gradient(
    45deg,
    #d7f0c2,
    #d7f0c2 8px,
    #c9e8a6 8px,
    #c9e8a6 16px
  );
/*  padding: 12em 1em 4em;*/
padding: 12.5em 1em 4em;
  text-align: center;
}
.page-header-inner {
  max-width: 1000px;
  margin: 0 auto;
}
.page-header h1 {
  font-size: 2.5em;
  font-weight: bold;
  color: #015e5a;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .page-header {
    padding: 8em 1em 2em;
  }
  .page-header h1 {
    font-size: 2em;
  }
}

/*------------ ページネーション --------------*/
#pagenavi {
  text-align: center;
  margin-top: 1.5em;
}
#pagenavi nav .text-center {
  text-align: center;
}
#pagenavi nav ul.page-numbers {
  border-radius: 3px;
  display: inline-block;
  margin: 7% 0 0;
  padding-left: 0;
  width: 100%;
}
#pagenavi nav ul.page-numbers > li {
  display: inline-block;
  width: auto;
  margin: 0 auto;
  background: none;
  float: none;
  margin: 0 0.5%;
}
#pagenavi nav ul.page-numbers > li:nth-child(odd) {
  margin: 0 0.5%;
}
#pagenavi nav ul.page-numbers > li > a,
#pagenavi nav ul.page-numbers > li > span {
  background-color: #fff;
  border: 1px solid #7abf3e;
  color: #7abf3e;
  float: left;
  line-height: 1.42857;
  margin-left: -1px;
  padding: 12px 20px;
  position: relative;
  text-decoration: none;
  font-weight: bold;
  font-size: 16px;
  font-size: 1rem;
}
#pagenavi nav ul.page-numbers > li:first-child > a {
  margin-left: 0;
}
#pagenavi nav ul.page-numbers > li > a:hover {
  background-color: #7abf3e;
  border-color: #7abf3e;
  color: #fff;
}
#pagenavi nav ul.page-numbers .current {
  background-color: #7abf3e;
  border-color: #7abf3e;
  color: #fff;
  cursor: default;
  z-index: 2;
}

/*------------ 次の記事、前の記事 --------------*/
#previous_next_post {
  margin: 50px 0 50px 0;
  overflow: hidden; }
#previous_next_post .prev_post {
  float: left;
  width: 49.625%;
}
#previous_next_post .next_post {
  float: right;
  width: 49.625%;
}
#previous_next_post a {
  display: block;
  padding: 35px;
  background: #EFFFF5;
  line-height: 1.3;
  height: 110px;
  color: #7abf3e;
  text-decoration: none;
  position: relative;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}
#previous_next_post a:before {
  font-family: 'design_plus';
  color: #7abf3e;
  font-size: 18px;
  display: block;
  margin: -0.6em 0 0 0;
  width: 20px;
  position: absolute;
  top: 50%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#previous_next_post .title {
  display: block;
  font-size: 14px;
  line-height: 1.8;
  width: calc(100% - 102px);
  max-height: 75px;
  overflow: hidden;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
#previous_next_post .prev_post a {
  padding-left: 65px;
}
#previous_next_post .prev_post a:before {
  content: '<';
  left: 20px;
  text-align: left;
}
#previous_next_post .next_post a {
  padding-right: 65px;
}
#previous_next_post .next_post a:before {
  content: '>';
  right: 20px;
  text-align: right;
}
#previous_next_post a:hover .title {
  color: #EFFFF5;
  text-decoration: underline;
}
#previous_next_post a:hover {
  background: #7abf3e;
}
#previous_next_post a:hover:before,
#previous_next_post a:hover:after {
  color: #EFFFF5;
}


@media screen and (max-width: 768px) {

  #pagenavi nav ul.page-numbers {
    margin: 5% 0 0;
  }
  #pagenavi nav ul.page-numbers > li > a,
  #pagenavi nav ul.page-numbers > li > span {
    padding: 3px 10px;
  }
  /*------------ 次の記事、前の記事 --------------*/
  #previous_next_post {
    margin: 0 auto 2%;
  }
  #previous_next_post a {
    padding: 15px 0;
    height: auto;
    text-align: center;
    background: transparent;
    background-color: #FFF;
  }
  #previous_next_post a .title {
    display: none;
  }
  #previous_next_post .prev_post,
  #previous_next_post .next_post {
    width: 50%;
    border: 1px solid #eee;
    box-sizing: border-box;
  }
  #previous_next_post .prev_post a {
    padding-left: 12%;
  }
  #previous_next_post .prev_post a:before {
    content: '<';
    left: 4%;
    text-align: left;
  }
  #previous_next_post .prev_post a:after {
    content: attr(data-mobile-title);
    font-size: 12px;
  }
  #previous_next_post .prev_post + .next_post {
    border-left: 0;
  }
  #previous_next_post .next_post a {
    padding-right: 12%;
  }
  #previous_next_post .next_post a:before {
    content: '>';
    right: 4%;
    text-align: right;
  }
  #previous_next_post .next_post a:after {
    content: attr(data-mobile-title);
    font-size: 12px;
  } 
}


/* 固定ページメインエリア */
#page-textarea{
  background-color: #eff9ea;
  border: 2px solid #8ccb6b;
  border-radius: 12px;
  padding: 2em;
  margin-bottom: 2em;
}
#page-textarea h3 {
  font-size: 1.6em;
  margin-bottom: 1em;
  position: relative;
  display: inline-block;
}
#page-textarea h3::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -0.3em;
  width: 100%;
  height: 6px;
  border-radius: 3px;
  background-color: #ffaa00;
}
@media screen and (max-width: 768px) {
  #page-textarea {
    padding: 2em 1em;
  }
  #page-textarea h3 {
    margin: 0 auto 0.25em;
  }
}


/* パンくず */
.bread {
  margin-top: 15px;
}
.bread ul {
  display: -ms-flexbox;
  display: flex;
}
.bread a {
  color: #7abf3e;
  transition: all ease 0.3s 0s;
}
.bread a:hover {
    opacity: 0.6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
  }
.bread li {
  color: #7abf3e;
  margin-right: 18px;
  font-size: 13px;
  font-weight: 600;
  list-style: none;
}
.bread-li {
  margin-right: 0;
}

@media (max-width: 768px) {
  .bread {
    padding-left: 20px;
    margin: 0 auto;
    padding-left: 5px;
  }
  .bread li {
    font-size: 10px;
  }
}


/* お知らせ */
#newslist {
  padding: 2em 1em;
  box-shadow: none;
}
.newslist-inner {
  display: flex;
  flex-direction: row;
  gap: 2em;
  align-items: center;
}
.newslist-entries {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1em;
  margin: 0.25em auto;
}
.newslist-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1em;
  border-bottom: 2px dotted #2e2e2e;
  padding-bottom: 0.8em;
}
.newslist-label {
  border: 1px solid #333;
  padding: 0.3em 0.8em;
  font-size: 0.8em;
}
.newslist-date {
  font-size: 0.9em;
  color: #666;
}
.newslist-title {
  font-weight: bold;
  color: #222;
  text-decoration: none;
}
.newslist-title:hover {
  text-decoration: underline;
  opacity: 0.7;
}

.newslist-link-area {
  text-align: right;
  margin-top: 2em;
}
.newslist-more {
  padding: 0.8em 2em;
  display: inline-block;
  text-decoration: none;
  color: #FFF;
  background-color: #7abf3e;
  font-size: 0.9em;
  border-radius: 10px;
}
.newslist-more:hover {
  opacity: 0.7;
}

@media (min-width: 769px) {
  .newslist-inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
  }
  .newslist-heading {
    text-align: left;
    padding: 3.5em 0;
  }
  .newslist-heading::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 4px;
    height: 100%;
    background-color: #7abf3e;
  }
  .newslist-link-area {
    text-align: right;
  }
}
@media (max-width: 768px) {
  .newslist-inner {
    flex-direction: column;
    align-items: center;
  }
  .newslist-heading {
    flex: auto;
    text-align: center;
    border-right: none;
    padding-right: 0;
    margin-bottom: 1em;
  }
  .newslist-heading::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -15px;
    left: 25%;
    width: 50%;
    height: 4px;
    background-color: #7abf3e;
    top: auto;
  }

  .newslist-title {
    text-decoration: underline;
  }
  .newslist-title:hover {
    text-decoration: none;
  }
  .newslist-link-area {
    text-align: center;
  }
  .newslist-entries{
    width: 100%;
  }
}




/* 質問 */
#faq {
  padding: 0;
  box-shadow: none;
}

.faq-inner {
  display: flex;
  flex-direction: row;
  gap: 2em;
  align-items: center;
}
.faq-entries {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1em;
  margin: 0.25em auto;
  max-width: 1000px;
  background: #FFF;
  border-radius: 10px;
  padding: 0.2em 0.8em;
  font-weight: bold;
  display: inline-block;
}
.faq-entries h2{}
.faq-entries li{
  list-style: none;
  background-color: #7abf3e;
  padding: 0.75em 0.5em;
  border-radius: 12px;
  margin: 1em auto;
}
@media (max-width: 768px) {
  .faq-entries{
    width: 100%;
  }  
}


  /*アコーディオン全体*/
.faqlist .accordion-area {
    list-style: none;
    width: calc((1000/ 2000)*100vw);
    /*margin: 3% auto 12% auto;*/
    margin: 0% auto 0% auto;
    padding-top: 1px;
  }
  .faqlist .accordion-area li {
    margin: 10px 0;
    background-color: white;
  }
  .faqlist .accordion-area section {
    border: solid 2px #fbe1ea;
    border-radius: 8px;
    margin-bottom: 3%;
  }
  /*アコーディオンタイトル*/
  .faqlist .title {
    position: relative; /*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-weight: bold;
    transition: all .5s ease;
    color: #FFF;
    padding: 0 3em 0 1em;
  }
  .faqlist .title span {
/*    font-size: calc((28 / 2000)*100vw);*/
    color: #FFF;
    padding: 0 1.5% 0 0;
  }
  /*アイコンの＋と×*/
  .faqlist .title::before,
  .faqlist .title::after {
    position: absolute;
    content: '';
    width: 22px;
    height: 3px;
    background-color: #FFF;
  }
  .faqlist .title::before {
    top: 48%;
    right: 2%;
    transform: rotate(0deg);
  }
  .faqlist .title::after {
    top: 48%;
    right: 2%;
    transform: rotate(90deg);
  }
  /*　closeというクラスがついたら形状変化　*/
  .faqlist .title.close::before {
    transform: rotate(0deg);
  }
  .faqlist .title.close::after {
    transform: rotate(0deg);
  }
  /*アコーディオンで現れるエリア*/
  .faqlist .box {
    display: none; /*はじめは非表示*/
    background: #fff;
    /*margin: 0 3% 0% 4%;*/
    margin: 0 3% 3% 4%;
    /*padding: 0.5% 3%;*/
    padding: 1.5% 3%;
    border-radius: 12px;
  }
  .faqlist .box p {
/*    font-size: calc((18 / 2000)*100vw);*/
  }
  @media (max-width: 768px) {
    .faqlist .accordion-area {
        width: 90%;
        margin: 0% auto 0% auto;
        padding-top: 10%;
    }
    .faqlist .accordion-area section {
      margin-bottom: 5%;
    }
    .faqlist .title,
    .faqlist .box p {
      font-size: 12px;
    }
    .faqlist .title span {
      font-size: 18px;
    }
    .faqlist .title::before,
    .faqlist .title::after {
      width: 15px;
      height: 2px;
      right: 3%;
    }
  }


/* サイトマップ */
.styled-sitemap {
  background-color: #eff9ea;
  border: 2px solid #8ccb6b;
  border-radius: 12px;
  padding: 2em;
  margin-bottom: 2em;
  box-shadow: none;

}
.styled-sitemap h3 {
  font-size: 1.6em;
  margin-bottom: 1em;
  position: relative;
  display: inline-block;
}
.styled-sitemap h3::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -0.3em;
  width: 100%;
  height: 6px;
  border-radius: 3px;
  background-color: #ffaa00;
}
.conditions-list {
  list-style: none;
  padding-left: 0;
  margin: 1em 0 1em;
}
.conditions-list li {
  margin-bottom: 1em;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.6em;
}
.styled-sitemap .bold {
  font-weight: bold;
}
.styled-sitemap .note {
  font-size: 0.95em;
  margin-top: 1em;
  color: #333;
}
.styled-sitemap .underline {
  text-decoration: underline;
}

@media (max-width: 768px) {
  .styled-sitemap {
    padding: 2em 1em;
  }
  .styled-sitemap h3{
    margin: 0 auto 0.25em;
  }
}


