@charset "UTF-8";

/* 
	サイトUI CSS

	ヘッダやフッタ、メニューなどサイトUIを定義しています。
	CSSを変更することにより、サイトデザインをカスタマイズことができます。

	※このCSSで定義したクラスは、CMS管理画面でのページ編集においては利用できません。

 */
 

/* ! ---------- アイコンフォント ---------- ---------- ---------- ---------- */

@import url('//netdna.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css');

/* ------------------------------------------------------------------------
  全体のレイアウト用定義
--------------------------------------------------------------------------- */
body { padding: 0; margin: 0; }
.body_area { display: table; width: 100%; }
.center_area, .left_area {
  display: table-cell;
  padding: 1rem;
}
.left_area { vertical-align: top; width: 25%; }

/* スマホ用メニュー */
.sp_header { display: none; }
.sp_header_title { padding: 1rem 1rem 0 1rem; }

/* ----- レスポンシブ設定 ------------------------------------------------  */
/* タブレット */
@media screen and (max-width:960px) {
  .left_area { display: none; }
  .sp_header { display: block; }
}
/* スマホ */
@media screen and (max-width: 760px) {
}

/* ------------------------------------------------------------------------
  全体の色やフォント設定
--------------------------------------------------------------------------- */
.body_area, .sp_header { font-family: UD デジタル 教科書体 NK-R, sans-serif; color: #333; font-size: 1rem; }
.left_area { background-color: #2e8b57; color: #fff; }
.left_area .site_title a { text-decoration: none; color: #fff; }
.sp_header_title a { text-decoration: none; color: #00552e; }

/* ----- H1タイトル設定 ---------------------------------- */
.body_area h1 {
  background: linear-gradient(90deg, #00552e 0%, #00552e 10%, #2e8b57 10%, #2e8b57 100%);
  color: #fff;
  padding-left: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.3rem;
  font-size: 1.3rem !important;
}
.body_area h1:first-letter { font-size: 2rem; }

/* ----- H2タイトル設定 ---------------------------------- */
.body_area h2 {
  border-bottom: solid 0.2rem #2e8b57;
  position: relative;
  font-size: 1.3rem !important;
  padding-left: 1rem;
  margin-top: 3rem
}
.body_area h2:first-letter {
  font-size: 2rem;
  color: #2e8b57;
}
.body_area h2:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 0.2rem #00552e;
  width: 10%;
  left: 0;
}
/*
.body_area h2 {
  font-size: 1.3rem !important;
  color: #00552e;
  padding: 0.2em 1rem;
  border-top: solid 0.3rem #2e8b57;
  border-bottom: solid 0.3rem #00552e;
  margin-top: 2rem
}
.body_area h2:first-letter {
  font-size: 1.8rem;
  color: #2e8b57;
}
*/
/*
.body_area h2 {
  font-size: 1.3rem !important;
  padding: 0.3rem 1rem 0rem 1rem;
  color: #fff;
  background: #2e8b57;
  border-bottom: solid 0.3rem #00552e;
}
.body_area h2:first-letter {
  font-size: 1.8rem;
}
*/

/* ----- H3タイトル設定 --------------------------------------- */
/*
.body_area h3 {
  position: relative;
  display: inline-block;
  padding: 0 7rem;
  font-size: 1.2rem;
  margin-top: 3rem
}
.body_area h3:first-letter {
  font-size: 1.8rem;
  color: #2e8b57;
}
.body_area h3:before,  .body_area h3:after {
  content: '';
  position: absolute;
  top: 43%;
  display: inline-block;
  width: 5rem;
  height: 0.2rem;
  background-color: #2e8b57;
}
.body_area h3:before { left: 0; }
.body_area h3:after { right: 0; }
*/
/*
.body_area h3 {
  border-bottom: solid 0.2rem #2e8b57;
  position: relative;
  font-size: 1.2rem;
  padding-left: 1rem;
}
.body_area h3:first-letter {
  font-size: 1.8rem;
  color: #2e8b57;
}
.body_area h3:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 0.2rem #00552e;
  width: 10%;
  left: 0;
}
*/
/*
.body_area h3 {
  font-size: 1.2rem;
  position: relative;
  display: inline-block;
  margin-bottom: 1em;
}
.body_area h3:before {
  content: '';
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 60px;
  height: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
  border-radius: 2px;
}
.body_area h3:first-letter {
  font-size: 1.8rem;
  color: #2e8b57;
}
*/
.body_area h3 {
  font-size: 1.2rem;
  position: relative;
  line-height: 1.4;
  padding:0.3em 2em;
  display: inline-block;
}
.body_area h3:before, .body_area h3:after { 
  content:'';
  width: 20px;
  height: 30px;
  position: absolute;
  display: inline-block;
}
.body_area h3:before {
  border-left: solid 0.1rem #2e8b57;
  border-top: solid 0.1rem #2e8b57;
  top:0;
  left: 0;
}
.body_area h3:after {
  border-right: solid 0.1rem #2e8b57;
  border-bottom: solid 0.1rem #2e8b57;
  bottom:0;
  right: 0;
}
.body_area h3:first-letter {
  font-size: 1.8rem;
  color: #2e8b57;
}

/* ----- H4タイトル設定 --------------------------------------- */
.body_area h4 {
  border-left: solid 10px #2e8b57;
  padding-left: 0.7rem;
}
.body_area h4:first-letter {
  font-size: 1.2rem;
  color: #2e8b57;
}

/* ----- リンクカラー ---------------------------------------------------- */
a { color: #5b4999; }

/* ----- 左エリアメニューデザイン --------------------------------------- */
.left_area ul {
  list-style: none;
  padding-left: 0;
}
.left_area li {
  text-align: center;
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
  border-top: 0.1rem solid #ccc;
}
.left_area li._current {
  background-color: #00552e;
}

.left_area li a {
  color: #fff;
  display: block;
  text-decoration: none;
  font-weight: bold;
}

.left_area li > p {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 0 !important;
}

/* スマホ用メニューデザイン */
.sp_menu_list {
  background-color: #2e8b57;
}
.sp_menu_list .cms-navi {}
.sp_menu_list ul._level-1 {
  list-style: none;
  padding-left: 0;
  column-count: 2;
}
.sp_menu_list li {
  text-align: center;
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}
.sp_menu_list li._current {
  background-color: #00552e;
}
.sp_menu_list li a {
  color: #fff;
  display: block;
  text-decoration: none;
  font-weight: bold;
}
.sp_menu_list li > p {
  margin: 0 1rem 0 0!important;
  padding: 0 !important;
  border-bottom: 0 !important;
  color: #fff;
}
.sp_menu_list ul._level-2 {
  list-style: none;
  padding-left: 0;
}
.sp_menu_list ul._level-2 li {}

/* ----- レスポンシブ設定 ------------------------------------------------  */
/* タブレット */
@media screen and (max-width:960px) {}
/* スマホ */
@media screen and (max-width: 760px) {
  .body_area { font-size: 0.9rem; }
  .body_area h1 { font-size: 1rem !important; }
  .body_area h1:first-letter { font-size: 1.5rem; }
  .body_area h2 { font-size: 1rem !important; }
  .body_area h2:first-letter { font-size: 1.5rem; }
  .body_area h3 { font-size: 1rem !important; }
  .body_area h3:first-letter { font-size: 1.5rem; }
  .body_area h4 { font-size: 1rem !important; }
  .body_area h4:first-letter { font-size: 1.5rem; }
}

/* ハンバーガーメニューテスト */
#sp_menu { display: none; }
.sp_menu_button { 
  text-align: center;
  position: absolute;
  top: 1rem;
  right: 2.5rem;
}
.sp_menu_list {
    height: 0;
    opacity: 0;
    transition: .4s;
    visibility: hidden;
}
.sp_menu_button span {
  display: inline-block;
  transition: all .4s;/*アニメーションの設定*/
  position: absolute;
}
.sp_menu_button span:nth-of-type(1), 
.sp_menu_button span:nth-of-type(3) {
  display: block;
  background-color: #2e8b57;
  width: 2rem;
  height: 0.2rem;
} 
.sp_menu_button span:nth-of-type(2) {
  font-size: 0.6rem;
  color: #2e8b57;
} 

/* 位置 */
.sp_menu_button span:nth-of-type(1) { top: 0;}
.sp_menu_button span:nth-of-type(2) { top: 0.4rem; left: 0.1rem; }
.sp_menu_button span:nth-of-type(3) { top: 1.3rem; }

/* ハンバーガーメニューの動き */
#sp_menu:checked ~ .sp_menu_list {
    height: 100%;
    opacity: 1;
    visibility: visible;
}
#sp_menu:checked ~ .sp_menu_button span:nth-of-type(1) { transform: rotate(-45deg); top: 0.3rem; }
#sp_menu:checked ~ .sp_menu_button span:nth-of-type(2) { opacity: 0; }
#sp_menu:checked ~ .sp_menu_button span:nth-of-type(3) { transform: rotate(45deg); top: 0.3rem; }

/* ----- TOPへ戻るボタン ------------------------------------------------ */
.cms-pagetop {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    height: 3rem;
    text-decoration: none;
    font-weight: bold;
    transform: rotate(90deg);
    font-size: 90%;
    line-height: 1.5rem;
    color: #737373;
    padding: 0 0 0 1.2rem;
    border-top: solid 0.2rem #2e8b57;
}
.cms-pagetop::before {
    content: "";
    display: block;
    position: absolute;
    top: -0.2rem;
    left: 0rem;
    width: 1rem;
    border-top: solid 0.2rem #2e8b57;
    transform: rotate(35deg);
    transform-origin: left top;
}

/* ----- マークダウン中リスト -------------------------------------------- */
.cms-markdown.default ul {
  margin-left: 1rem !important;
}

/* ----- イメージリスト　レイアウト ------------------------------------- */
.image-list  {
  text-align: center;
  list-style: none;
  padding-left: 0;
}
.image-list  li{
  display: inline-block;
}
.image-list  li img{
  width: 200px;
  height: 200px;
  object-fit: contain;
  background-color: #cccccc;
}

/* ----- ページ内リンクリスト -------------------------------------------- */
.page-link-list .cms-pagelink {
 margin-left: 0;
}
.page-link-list .cms-pagelink  ul {
  list-style: none;
}
.page-link-list .cms-pagelink  li {}