@charset "utf-8";

/*==========================================
 font
===========================================*/
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@font-face
{
font-family: はんなり明朝;
src: url('../font/hannari_web.woff2')
     format("woff2");
}
body {
  font-family: 'Noto Sans Japanese', sans-serif;
  font-size: 15px;
  font-weight: 300;
  color: #333;
  word-break: break-all;
}
h2 {
  margin: 0 0 3px;
  font-weight:400;
  font-size: 26px;
  color: #fff;
  letter-spacing: 5px;
}
h3 {
  margin: 0 0 55px;
  font-family: はんなり明朝;
  font-size: 32px;
  text-align: center;
  letter-spacing: -3px;
}
h3.mb_20 {
  margin: 0 0 20px;
}
h4 {
  margin: 70px 0 15px;
  padding: 0 0 10px;
  font-weight:500;
  font-size: 22px;
  background-image: url(../img/h4_bk.png);
  background-repeat: no-repeat;
  background-position: left bottom;
}
h4:nth-child(1),
h4:nth-child(2) {
  margin: 40px 0 15px;
}
h5 {
  margin: 30px 0 10px;
  padding: 11px 10px;
  font-weight:300;
  font-size: 20px;
  background-color: #f7f7f7;
  border-left: 6px solid #248c51;
}
h5:first-child {
  margin: 0 0 10px;
}
h5:first-child.mt50 {
  margin: 50px 0 10px;
}
h5.pullDown {
  position: relative;
  margin: 30px 0 40px;
  padding: 16px 10px 16px 50px;
  font-weight:300;
  font-size: 20px;
  color: #fff;
  background-color: #248c51;
  border-left: none;
  cursor: pointer;
}
h5.pullDown:hover {
  opacity: 0.8;
}
h5.pullDown:before {
  position: absolute;
  left: 15px;
  top: 50%;
  width: 23px;
  height: 23px;
  margin: -11px 0 0;
  content: url("../img/icon_plus.svg");
}
h6 {
  margin: 25px 0 10px 10px;
  font-weight: 700;
  font-size: 20px;
  color: #248c51;
}
p {
  padding: 0 0 10px 10px;
  font-weight:300;
  font-size: 15px;
  line-height: 1.6;
}
p.top {
  width: 880px;
  margin: 15px auto 15px;
  line-height: 1.8;
}
p.center {
  padding: 0 0 0 10px;
  font-weight:300;
  font-size: 15px;
  line-height: 1.6;
  text-align: center;
}
p.ty2 {
  color: #333;
  font-size: 12px;
}
p.pb20 { padding-bottom: 20px; }
p.pb30 { padding-bottom: 30px; }

p span {
  font-size: 13px;
  line-height: 1.4;
}
p span.green {
  color: #248c51;
  font-size: 13px;
}
p span.red {
  color: #ff0000;
  font-size: 13px;
}
p span.tel {
  display: block;
  color: #248c51;
  font-weight: 600;
  font-size: 30px;
}
p span.strong {
  display: block;
  color: #333;
  font-weight: 600;
  font-size: 15px;
}
/* スマホ用 */
@media only screen and (max-width: 767px) {
  h3 {
    margin: 0 0 25px;
    font-size: 24px;
  }
  h4 {
    margin: 70px 0 15px;
    font-size: 16px;
  }
  h4:nth-child(1),
  h4:nth-child(2) {
    margin: 0 0 15px;
    line-height: 1.4;
  }
  h5 {
    padding: 8px 10px;
    font-weight: 500;
    font-size: 14px;
  }
  h5.pullDown {
    margin: 30px 0 20px;
    padding: 10px 10px 11px 40px;
    font-size: 16px;
  }
  h5.pullDown:hover {
    opacity: 1;
  }
  h5.pullDown:before {
    width: 15px;
    height: 15px;
    margin: -7px 0 0;
  }
  h6 {
    margin: 25px 0 10px;
    font-size: 14px;
  }
  p {
    padding: 0 0 10px 0;
    font-size: 12px;
  }
  p.top {
    width: 94%;
    margin: 0 3%;
    padding: 0 0 20px;
  }
  p.ty2 {
    padding: 0 0 10px 0;
    font-size: 11px;
  }
  p span {
    font-size: 11px;
  }
  p span.green {
    font-size: 11px;
  }
  p span.red {
    font-size: 11px;
  }
  p span.tel {
    font-size: 24px;
  }
  p span.strong {
    font-size: 14px;
  }
}
.noto100 {font-weight:100;}
.noto300 {font-weight:300;}
.noto400 {font-weight:400;}
.noto500 {font-weight:500;}
.noto700 {font-weight:700;}
.noto900 {font-weight:900;}

.bold { font-weight: bold; }
.error { font-weight: bold; color: #FF0000; }

a { outline: none; text-decoration: none; }
a:link    { color: #248c51; text-decoration: underline; }
a:visited { color: #248c51; text-decoration: underline; }
a:hover   { color: #248c51; text-decoration: none; }
a:active  { color: #248c51; text-decoration: underline; }


/*リンクアイコン*/
a.link01 {
  position: relative;
  display: block;
  margin: 0 0 20px 5px;
  padding: 0 0 0 28px;
  color: #333;
}
a.link01:hover {
  color: #248c51;
}
a.link01:before {
  position: absolute;
  left: 0;
  top: 50%;
  width: 21px;
  height: 26px;
  margin: -13px 0 0;
  content: url("../img/link_icon01.svg");
}

a.link02 {
  position: relative;
  display: block;
  margin: 0 0 20px 5px;
  padding: 0 0 0 28px;
  color: #333;
}
a.link02.ty01 {
  margin: 15px 0 0;
  padding: 0 0 0 20px;
}
a.link02:hover {
  color: #248c51;
}
a.link02:before {
  position: absolute;
  display: block;
  left: 5px;
  top: 50%;
  width: 8px;
  height: 8px;
  margin: -5px 0 0;
  content: "";
  border-top: 2px solid #248c51;
  border-right: 2px solid #248c51;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
a.link02.ty01:before {
  left: 0;
}

/* スマホ用 */
@media only screen and (max-width: 767px) {
  a.link02 {
    font-size: 13px;
  }
  a.link02:before {
    width: 6px;
    height: 6px;
    margin: -3px 0 0;
  }
}

/*画像配置*/
p.img01,
p.topImg {
  margin: 0 auto;
  text-align: center;
}
p.img01 img {
  margin: 40px 0;
}
p.topImg img {
  margin: 40px 0 0;
}
p.imgSet img {
  float: left;
  padding: 5px 10px 5px 0;
}
/*リスト*/
ol.ty01 {
  margin: 0 0 0 30px;
}
ol.ty01 li {
  padding: 0 0 20px;
  line-height: 1.6;
}
ul.ty01 {
  margin: 20px 0 0 30px;
}
ul.ty01 li {
  padding: 0 0 15px;
  line-height: 1.6;
}

/* スマホ用 */
@media only screen and (max-width: 767px) {
  p.img01 {
    padding: 0;
  }
  p.topImg {
    width: 100%;
    padding: 0;
  }
  p.img01 img {
    width: 100%;
    margin: 20px 0 10px;
    height: auto;
  }
  p.topImg img {
    width: 100%;
    margin: 0;
    height: auto;
  }
  p.imgSet img {
    float: left;
    padding: 5px 10px 5px 0;
  }
  /*リスト*/
  ol.ty01 {
    margin: 0 0 0 20px;
  }
  ol.ty01 li {
    padding: 0 0 15px;
    font-size: 12px;
    line-height: 1.6;
  }
  ul.ty01 {
    margin: 0 0 0 20px;
  }
  ul.ty01 li {
    padding: 0 0 15px;
    font-size: 12px;
    line-height: 1.6;
  }
}

/*==========================================
 body
===========================================*/
html {
  background: #fff;
}
body {
  -webkit-text-size-adjust: 100%;
}

.Fleft { float: left; }
.Fright { float: right; }
.Tright { text-align: right !important; }
.Tcenter { text-align: center !important; }

.columnBlock01 { float: left; }
.columnBlock02 { float: right; }



/* overlay */
#overlay {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 11000;
  display: none;
  background: rgba(0,0,0,0.8);
}

/* link */
a:hover img {
  opacity: 0.8;
  filter: alpha(opacity=80);
}

/* clearfix */
.clearfix {
	zoom: 1;
}
.clearfix:before, .clearfix:after {
	content: "";
	display: table;
}
.clearfix:after {
	clear: both;
}
/*==========================================
 画像切替
===========================================*/
/* PC、スマートフォン表示分岐 */
.pcView {
  display: block;
}
.spView {
  display: none;
}
@media only screen and (max-width: 767px) {
  .pcView {
    display: none;
  }
  .spView {
    display: block;
  }
}

/*==========================================
 ヘッダーのスタイル
===========================================*/
header {
  width: 100%;
  height: 257px;
}
header #header {
  position: relative;
  width: 980px;
  height: 128px;
  margin: 0 auto;
  padding: 30px 0 0;
  box-sizing: border-box;
}
header #headerLogoArea h1 img {
  width: 234px;
  height: auto;
}

header #headerContact  {
  position: absolute;
  right: 0;
  top: 30px;
  text-align: right;
}
header #headerContact h2  {
  font-size: 15px;
  color: #1A1A1A;
  letter-spacing: 0;
}
header #headerContact h2 a  {
  text-decoration: underline;
}
header #headerContact h2 a:hover  {
  opacity: 0.7;
}
header #headerContact p {
  padding: 0;
  line-height: 1.4;
  color: #248c51;
}
header #headerContact p#headerTEL a {
  position: relative;
  padding: 0;
  font-weight: 600;
  font-size: 30px;
  color: #248c51;
  text-decoration: none;
}
header #headerContact p#headerTEL a:hover {
  text-decoration: none;
}
header #headerContact p#headerTEL a:before {
  position: absolute;
  left: -23px;
  top: 3px;
  width: 18px;
  height: 29px;
  margin: 0;
  content: url("../img/icon_phone.svg");
}

/* スマホ用 */
@media only screen and (max-width: 767px) {
  header {
    height: 160px;
  }
  header #header {
    width: 94%;
    height: 80px;
    margin: 0 3%;
    padding: 15px 0 0;
  }
  header #headerLogoArea h1 img {
    width: 140px;
    height: auto;
  }

  header #headerContact  {
    top: 15px;
  }
  header #headerContact h2  {
    font-size: 11px;
  }
  header #headerContact p {
    line-height: 1.2;
  }
  header #headerContact p#headerTEL a {
    font-size: 18px;
  }
  header #headerContact p#headerTEL a:before {
    left: -11px;
    top: 3px;
    width: 9px;
    height: 14px;
  }
}


/*グローバルナビゲーション ////////////////////////////////// */
header #headerGlobalArea {
  width: 100%;
  height: 124px;
  background-color: #F4F4F4;
  border-top: 5px solid #248C51;
}
header #headerGlobalArea .headerNavi {
  width: 100%;
  height: 62px;
  margin: 0 auto;
  box-sizing: border-box;
}
header #headerGlobalArea .headerNavi:first-child {
  border-bottom: 1px solid #B3B3B3;
}
header #headerGlobalArea .headerNavi ul {
  display: table;
  table-layout: fixed;
  width: 980px;
  height: 62px;
  margin: 0 auto;
}
header #headerGlobalArea .headerNavi ul li {
  display: table-cell;
  text-align: center;
  vertical-align: top;
  border-left: 1px solid #B3B3B3;
}
header #headerGlobalArea .headerNavi ul li:first-child {
  border-left: none;
}
header #headerGlobalArea .headerNavi ul li a {
  display: block;
  width: 100%;
  height: 62px;
  padding: 18px 0 0;
  box-sizing: border-box;
  font-size: 16px;
  font-weight:500;
  color: #333333;
  text-decoration: none;
  line-height: 1.4;
}
header #headerGlobalArea .headerNavi:first-child ul li:first-child a {
  padding: 8px 0 0;
}
header #headerGlobalArea .headerNavi ul li a:hover {
  color: #FFF;
  background-color: #00A63C;
}
/* スマホ用 */
@media only screen and (max-width: 767px) {
  header #headerGlobalArea {
    height: 80px;
    border-top: 3px solid #248C51;
  }
  header #headerGlobalArea .headerNavi {
    height: 40px;
  }
  header #headerGlobalArea .headerNavi ul {
    width: 100%;
    height: 40px;
  }
  header #headerGlobalArea .headerNavi ul li a {
    padding: 14px 0 0;
    height: 40px;
    font-size: 10px;
    line-height: 1.3;
  }
  header #headerGlobalArea .headerNavi:first-child ul li:first-child a,
  header #headerGlobalArea .headerNavi:first-child ul li:nth-child(4) a,
  header #headerGlobalArea .headerNavi:first-child ul li:nth-child(5) a {
    padding: 8px 0 0;
  }
  header #headerGlobalArea .headerNavi ul li a:hover {
    color: #333333;
    background-color: #F4F4F4;
  }
}




/*==========================================
 コンテンツのスタイル 共通
===========================================*/
#contentsWrapper {
  width: 100%;
  margin: 0 0 70px;
}
#mainTitleArea {
  width: 100%;
  height: 91px;
  padding: 29px 0 0;
  background-repeat: no-repeat;
  background-size: cover;
}
body#information #mainTitleArea {
  background-image: url(../img/mainTitle_bk01.jpg);
}
body#facility #mainTitleArea {
  background-image: url(../img/mainTitle_bk02.jpg);
}
body#program #mainTitleArea {
  background-image: url(../img/mainTitle_bk03.jpg);
}
body#event #mainTitleArea {
  background-image: url(../img/mainTitle_bk04.jpg);
}
body#blog #mainTitleArea {
  background-image: url(../img/mainTitle_bk05.jpg);
}
body#news #mainTitleArea {
  background-image: url(../img/mainTitle_bk06.jpg);
}
body#movie #mainTitleArea {
  background-image: url(../img/mainTitle_bk07.jpg);
}
body#recruit #mainTitleArea {
  background-image: url(../img/mainTitle_bk08.jpg);
}
#mainTitle {
  width: 340px;
  margin: 0 auto;
  padding: 14px 0 5px;
  background-color: #248c51;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  text-align: center;
}
#mainTitle p {
  padding: 0;
  font-size: 13px;
  color: #fff;
}

 /*タブナビゲーション*/
#tabNavi {
  width: 980px;
  height: 55px;
  margin: 55px auto 0;
  border-bottom: 3px solid #248c51;
}
#tabNavi  ul {
  width: 100%;
  height: 55px;
  display: flex;
  justify-content: space-between;
}
#tabNavi ul li {
  height: 55px;
  background-color: #f7f7f7;
  text-align: center;
}
#tabNavi.tN2 ul li { width: 490px; }
#tabNavi.tN3 ul li { width: 326px; }
#tabNavi.tN4 ul li { width: 245px; }
#tabNavi.tN7 ul li { width: 140px; }
#tabNavi ul li.Active {
  background-color: #248c51;
}
#tabNavi ul li:hover {
  background-color: #248c51;
}
#tabNavi ul li a {
  display: block;
  padding: 19px 0;
  font-size: 16px;
  color: #333;
  text-decoration: none;
}
#tabNavi ul li.Active a {
  font-weight: 500;
  color: #fff;
}
#tabNavi ul li a:hover {
  font-weight: 500;
  color: #fff;
}

/*サブ タブナビゲーション*/
#subTabNavi {
 width: 880px;
 height: 55px;
 margin: 55px auto 0;
 border-bottom: 3px solid #248c51;
}
#subTabNavi ul li {
 float: left;
 width: 293px;
 height: 55px;
 background-color: #f7f7f7;
 text-align: center;
}
#subTabNavi ul li.Active {
 background-color: #248c51;
}
#subTabNavi ul li:hover {
 background-color: #248c51;
}
#subTabNavi ul li a {
 display: block;
 padding: 19px 0;
 font-size: 16px;
 color: #333;
 text-decoration: none;
}
#subTabNavi ul li.Active a {
 font-weight: 500;
 color: #fff;
}
#subTabNavi ul li a:hover {
 font-weight: 500;
 color: #fff;
}

 /*メインコンテンツ*/
#mainContentsArea {
  width: 100%;
  margin: 55px 0;
}
#mainContentsArea article.mb100 {
  margin: 0 0 100px;
}
#mainContents,
#mainContents_ty02 {
  width: 880px;
  margin: 50px auto 0;
  z-index: 0;
}
#mainContents section {
  margin: 0 0 0 10px;
}

/*ページ内リンク*/
#pageLinkNavi {
  width: 840px;
  margin: 0 auto;
  padding: 0 20px 22px;
  background-color: #fff;
  box-shadow:0 0 5px #fff, 0 0 5px #ccc, 0 0 1px #aaa;
  -webkit-box-shadow:0 0 5px #fff, 0 0 5px #ccc, 0 0 1px #aaa;
  -moz-box-shadow:0 0 5px #fff, 0 0 5px #ccc, 0 0 1px #aaa;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
}
#pageLinkNavi ul {
  margin: 0 0 0 -30px;
}
#pageLinkNavi ul li {
  float: left;
  margin: 0 0 0 28px;
  padding: 22px 0 0;
}
#pageLinkNavi ul li a {
  position: relative;
  padding: 0 0 0 20px;
  font-size: 16px;
  color: #333;
  text-decoration: none;
}
#pageLinkNavi ul li a:hover {
  text-decoration: underline;
}
#pageLinkNavi ul li a:before {
  position: absolute;
  left: 0px;
  top: 50%;
  width: 15px;
  height: 15px;
  margin: -7px 0 0;
  content: url("../img/icon_link03.svg");
  -moz-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
}

/*リンクリスト*/
#linkList {
 width: 840px;
 margin: 55px auto 0;
 padding: 0 20px 22px;
 background-color: #e9f3ed;
 border: 1px solid #b3b3b3;
 border-radius: 3px;
 -webkit-border-radius: 3px;
 -moz-border-radius: 3px;
}
#linkList ul {
  margin: 0 0 0 -30px;
}
#linkList ul li {
  float: left;
  margin: 0 0 0 30px;
  padding: 22px 0 0;
}
#linkList ul li a {
  position: relative;
  padding: 0 0 0 20px;
  font-size: 16px;
  color: #333;
  text-decoration: none;
}
#linkList ul li a:hover {
  text-decoration: underline;
}
#linkList ul li a:before {
  position: absolute;
  left: 0px;
  top: 50%;
  width: 15px;
  height: 15px;
  margin: -7px 0 0;
  content: url("../img/icon_link03.svg");
}

/*年度ナビ*/
#yearList {
  position: relative;
  width: 880px;
  height: 60px;
  margin: 0 auto;
  z-index: 100;
}
#yearList ul {
  float: right;
  width: 150px;
  padding: 0 20px 20px 10px;
  background-color: #fff;
  box-shadow:0 0 5px #fff, 0 0 5px #ccc, 0 0 1px #aaa;
  -webkit-box-shadow:0 0 5px #fff, 0 0 5px #ccc, 0 0 1px #aaa;
  -moz-box-shadow:0 0 5px #fff, 0 0 5px #ccc, 0 0 1px #aaa;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
}
#yearList ul li {
  display: none;
  padding: 20px 0 0;
}
#yearList ul li:first-child {
  display: block;
}
#yearList ul li a {
  position: relative;
  padding: 0 0 0 30px;
  font-size: 16px;
  color: #333;
  text-decoration: none;
}
#yearList ul li a:hover {
  text-decoration: underline;
}
#yearList ul li a:before {
  position: absolute;
  left: 10px;
  top: 50%;
  width: 15px;
  height: 15px;
  margin: -7px 0 0;
  content: url("../img/icon_link03.svg");
}
#yearList ul li:first-child a:before {
  -moz-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
}

/*表組み*/
.tableSet_ty01,
.tableSet_ty02,
.tableSet_ty03 {
  margin: 0 10px;
  padding: 15px 0;
}
.tableSet_ty04 {
  margin: 0;
  padding: 15px 0;
}
.tableSet_ty01 table,
.tableSet_ty02 table,
.tableSet_ty03 table,
.tableSet_ty04 table {
  width: 98%;
  border-top: 1px solid #b3b3b3;
  border-right: 1px solid #b3b3b3;
  background-color: #fff;
}
.tableSet_ty01 table tr,
.tableSet_ty02 table tr,
.tableSet_ty03 table tr,
.tableSet_ty04 table tr {
  border-left: 1px solid #b3b3b3;
  border-bottom: 1px solid #b3b3b3;
}
.tableSet_ty01 table th,
.tableSet_ty02 table th,
.tableSet_ty03 table th,
.tableSet_ty04 table th {
  padding: 15px;
  text-align: left;
  font-size: 15px;
  color: #333;
  background-color: #e9f3ed;
  border-right: 1px solid #b3b3b3;
}
.tableSet_ty01 table td,
.tableSet_ty02 table td,
.tableSet_ty03 table td,
.tableSet_ty04 table td {
  padding: 15px;
  font-size: 15px;
  color: #333;
  line-height: 1.4;
  border-left: 1px solid #b3b3b3;
  word-wrap: break-word;
  overflow-wrap : break-word;
}

.tableSet_ty01 table th { width: 15%; }
.tableSet_ty01 table td { width: 85%; }

.tableSet_ty02 table th { width: auto; }
.tableSet_ty02 table td { width: auto; }

.tableSet_ty03 table th { width: 20%; }
.tableSet_ty03 table td { width: 80%; }

.tableSet_ty04 table th { width: auto; }
.tableSet_ty04 table td { width: auto; }

table th.w10 { width: 10%; }
table th.w20 { width: 20%; }
table th.w30 { width: 30%; }
table th.w40 { width: 40%; }
table th.w50 { width: 50%; }
table th.w60 { width: 60%; }

table td.w10 { width: 10%; }
table td.w20 { width: 20%; }
table td.w30 { width: 30%; }
table td.w40 { width: 40%; }
table td.w50 { width: 50%; }
table td.w60 { width: 60%; }

/*リンクボタン*/
.botLink {
  width: 230px;
  margin: 20px auto 40px;
}
.botLink a {
  position: relative;
  display: block;
  width: 228px;
  padding: 15px 0;
  font-weight: 300;
  font-size: 17px;
  color: #248c51;
  text-decoration: none;
  letter-spacing: 3px;
  background-color: #fff;
  border: 1px solid #248c51;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  text-align: center;
}
.botLink a:before {
  position: absolute;
  left: 15px;
  top: 50%;
  width: 15px;
  height: 15px;
  margin: -8px 0 0;
  content: url("../img/icon_link03.svg");
}
.botLink a:hover {
  text-decoration: none;
  opacity: 0.8;
  filter: alpha(opacity=80);
}

.botLink_ty02 {
  width: 230px;
  margin: 20px auto 40px;
}
.botLink_ty02 a {
  position: relative;
  display: block;
  width: 218px;
  padding: 15px 0 15px 10px;
  font-weight: 300;
  font-size: 17px;
  color: #fff;
  text-decoration: none;
  letter-spacing: 3px;
  background-color: #248c51;
  border: 1px solid #248c51;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  text-align: center;
}
.botLink_ty02 a:before {
  position: absolute;
  left: 15px;
  top: 50%;
  width: 15px;
  height: 15px;
  margin: -8px 0 0;
  content: url("../img/icon_link01.svg");
}
.botLink_ty02 a:hover {
  text-decoration: none;
  opacity: 0.8;
  filter: alpha(opacity=80);
}

.imgLink {
  display: none;
  width: 880px;
  margin: 30px 0 0 -13px;
  padding: 0 0 0 10px;
}
.imgLink.open {
  display: block;
}
.imgLink .imgLinkBox {
  float: left;
  width: 200px;
  margin: 0 0 0 13px;
}
.imgLink .imgLinkBox img {
  width: 200px;
}
.imgLink .imgLinkBox p {
  margin: 0 0 20px;
  padding: 0;
  font-size: 14px;
  color: #333;
}


.imgLink_ty01 {
  /*display: none;*/
  width: 885px;
  margin: 30px 0 0 -27px;
  padding: 0 0 0 10px;
}
.imgLink_ty01 a.05 + .07 + .14 {
}
.imgLink_ty01 .imgLinkBox {
  float: left;
  width: 150px;
  height: auto;
  margin: 0 0 30px 27px;
}
.imgLink_ty01 .imgLinkBox img {
  width: 150px;
}
.imgLink_ty01 .imgLinkBox p {
  margin: 0 0 20px;
  padding: 0;
  font-size: 14px;
  color: #248c51;
  text-decoration: underline;
}
.imgLink_ty01 .imgLinkBox:hover p {
  text-decoration: none;
}

.imgLink_ty01 .imgLinkBox .iconArea {
  width: 100%;
  padding: 5px 0;
}
.imgLink_ty01 .imgLinkBox .iconArea ul {
  list-style-type: none;
}
.imgLink_ty01 .imgLinkBox .iconArea ul li {
  float: left;
  padding: 0 5px 0 0;
}
.imgLink_ty01 .imgLinkBox .iconArea ul li img {
  width: auto;
  height: 24px;
}
/* スマホ用 */
@media only screen and (max-width: 767px) {
  /*タブナビゲーション*/
  #listScroll {
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
  }
  #tabNavi {
   height: 35px;
   margin: 20px auto 0;
  }
  #tabNavi.tN2 { width: 100%; }
  #tabNavi.tN3 { width: 600px; }
  #tabNavi.tN4 { width: 640px; }
  #tabNavi.tN7 { width: 770px; }
  #tabNavi ul li {
   height: 35px;
  }
  #tabNavi.tN2 ul li { width: 50%; }
  #tabNavi.tN3 ul li { width: 160px; }
  #tabNavi.tN4 ul li { width: 160px; }
  #tabNavi.tN7 ul li { width: 110px  }
  #tabNavi ul li a {
   padding: 10px 0;
   font-size: 14px;
  }

  #SublistScroll {
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
  }
  #subTabNavi {
   height: 35px;
   width: 100%;
   margin: 0 auto 20px;
  }
  #subTabNavi ul li {
    width: 33.33333%;
    height: 35px;
  }
  #subTabNavi ul li a {
    padding: 10px 0;
    font-size: 14px;
  }

  /*メインコンテンツ*/
  #mainTitleArea {
    display: none;
  }
  #mainContentsArea {
    width: 100%;
    margin: 20px 0;
  }
  #mainContentsArea article.mb100 {
    margin: 0 0 50px;
  }
  #mainContents,
  #mainContents_ty02 {
    width: 94%;
    margin: 20px 3%;
  }
  #mainContents section {
    margin: 0;
  }
  /*ページ内リンク*/
  #pageLinkNavi {
   width: 85%;
   margin: 25px auto;
   padding: 0 15px 15px;
  }
  #pageLinkNavi ul {
    margin: 0 0 0 -20px;
  }
  #pageLinkNavi ul li {
    margin: 0 0 0 20px;
    padding: 15px 0 0;
  }
  #pageLinkNavi ul li a {
    font-size: 14px;
  }
  #pageLinkNavi ul li a:hover {
    text-decoration: underline;
  }

  /*リンクリスト*/
  #linkList {
   width: 93%;
   margin: 25px auto;
   padding: 0 3% 15px;
  }
  #linkList ul {
    margin: 0 0 0 -20px;
  }
  #linkList ul li {
    margin: 0 0 0 20px;
    padding: 15px 0 0;
  }
  #linkList ul li a {
    font-size: 14px;
  }
  #linkList ul li a:hover {
    text-decoration: underline;
  }

  /*年度ナビ*/
  #yearList {
    position: relative;
    width: 94%;
    height: 50px;
    margin: 0 3%;
  }
  #yearList ul {
    float: none;
    width: 100%;
    padding: 0 0 15px 0;
  }
  #yearList ul li {
    padding: 15px 0 0;
  }
  #yearList ul li a {
    font-size: 14px;
  }

  /*表組み*/
  .tableSet_ty01,
  .tableSet_ty02,
  .tableSet_ty03,
  .tableSet_ty04 {
    margin: 0;
    padding: 10px 0;
  }
  .tableSet_ty01 table th,
  .tableSet_ty02 table th,
  .tableSet_ty03 table th,
  .tableSet_ty04 table th {
    padding: 10px;
    font-size: 12px;
    line-height: 1.4;
  }
  .tableSet_ty01 table td,
  .tableSet_ty02 table td,
  .tableSet_ty03 table td,
  .tableSet_ty04 table td {
    padding: 10px;
    font-size: 12px;
    line-height: 1.4;
  }
  .tableSet_ty01 table th { width: 25%; }
  .tableSet_ty01 table td { width: 75%; }

  .tableSet_ty03 table th { width: 30%; }
  .tableSet_ty03 table td { width: 70%; }


  /*リンクボタン*/
  .botLink {
    width: 200px;
    margin: 15px auto 30px;
  }
  .botLink a {
    width: 188px;
    padding: 13px 0 13px 10px;
    font-size: 14px;
  }
  .botLink a:before {
    left: 10px;
    margin: -7px 0 0;
  }
  .botLink_ty02 {
    width: 200px;
    margin: 15px auto 30px;
  }
  .botLink_ty02 a {
    width: 188px;
    padding: 13px 0 13px 10px;
    font-size: 14px;
  }
  .botLink_ty02 a:before {
    left: 10px;
    margin: -7px 0 0;
  }


  .imgLink {
    width: 100%;
    margin: 20px 0 0 -4%;
    padding: 0 0 0 10px;
  }
  .imgLink .imgLinkBox {
    width: 45%;
    margin: 0 0 5px 4%;
  }
  .imgLink .imgLinkBox img {
    width: 100%;
  }
  .imgLink .imgLinkBox p {
    margin: 0 0 10px;
    font-size: 12px;
  }

  .imgLink_ty01 {
    width: 100%;
    margin: 20px 0 30px -4%;
    padding: 0 0 0 10px;
  }
  .imgLink_ty01 .imgLinkBox {
    width: 45%;
    margin: 0 0 5px 4%;
  }
  .imgLink_ty01 .imgLinkBox img {
    width: 100%;
  }
  .imgLink_ty01 .imgLinkBox p {
    display: block;
    height: 40px;
    margin: 0 0 10px;
    font-size: 12px;
  }
}

/*==========================================
 ページネーションのスタイル
===========================================*/
nav#pagination {
  padding: 50px 0 0;
}
nav#pagination ul {
  text-align: center;
}
nav#pagination ul li {
  width: 40px;
  height: 40px;
  margin: 0 2px;
  vertical-align: middle;
  display: inline-block;
}
nav#pagination ul li a {
  width: 40px;
  height: 31px;
  padding: 7px 0 3px 0;
  font-size: 24px;
  text-align: center;
  display: block;
  text-decoration: none;
  color: #FFF;
  background: #CCC;
  position: relative;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
}
nav#pagination ul li a:hover,
nav#pagination ul li.Active a {
  background: #248c51;
}
nav#pagination ul li.prev a:before {
  content: '';
  height: 16px;
  width: 16px;
  display: block;
  border: 2px solid #FFF;
  border-left-width: 0;
  border-top-width: 0;
  position: absolute;
  top: 50%;
  left: 15px;
  margin: -8px 0 0 0;
  transform: rotate(-225deg);
  -webkit-transform: rotate(-225deg);
  -moz-transform: rotate(-225deg);
  -o-transform: rotate(-225deg);
  -ms-transform: rotate(-225deg);
}
nav#pagination ul li.next a:after {
  content: '';
  height: 16px;
  width: 16px;
  display: block;
  border: 2px solid #FFF;
  border-left-width: 0;
  border-top-width: 0;
  position: absolute;
  top: 50%;
  left: 6px;
  margin: -8px 0 0 0;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
}

/* スマホ用 */
@media only screen and (max-width: 767px) {
  nav#pagination {
    padding: 30px 0 0;
  }
  nav#pagination ul li {
    width: 30px;
    height: 30px;
  }
  nav#pagination ul li a {
    width: 30px;
    height: 21px;
    padding: 5px 0 5px 0;
    font-size: 20px;
  }
  nav#pagination ul li.prev a:before {
    height: 12px;
    width: 12px;
    left: 12px;
    margin: -7px 0 0 0;
  }
  nav#pagination ul li.next a:after {
    height: 12px;
    width: 12px;
    left: 5px;
    margin: -7px 0 0 0;
  }
}

/*==========================================
 フッターのスタイル
===========================================*/
footer {
  width: 100%;
  border-top: 1px solid #c4c4c4;
  background-color: #f5f5f5;
}
footer #footer {
  margin: 27px auto 0;
  text-align: center;
}
footer #footer img#footerLogo {
  width: 258px;
  height: auto;
}
footer #footer #footerLinkArea {
  width: 700px;
  margin: 0 auto;
}
footer #footer #footerLink {
  width: 760px;
  margin: 27px 0 0 -60px;
}
footer #footer #footerLink a {
  position: relative;
  display: block;
  float: left;
  width: 320px;
  margin: 0 0 0 60px;
  padding: 22px 0;
  font-weight: 300;
  font-size: 22px;
  color: #fff;
  text-decoration: none;
  letter-spacing: 3px;
  background-color: #248c51;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  text-align: center;
}
footer #footer #footerLink a:before {
  position: absolute;
  left: 75px;
  top: 50%;
  width: 15px;
  height: 15px;
  margin: -11px 0 0;
  content: url("../img/icon_link01.svg");
}
footer #footer #footerLink a:hover {
  text-decoration: none;
  opacity: 0.8;
  filter: alpha(opacity=80);
}
footer #footerInfo {
  margin: 30px 0 0;
}
footer #footerInfo p#footerText {
  padding: 0;
  font-weight: 500;
  font-size: 22px
}
footer #footerInfo p#footerTEL a {
  position: relative;
  padding: 0;
  font-weight: 600;
  font-size: 30px;
  color: #248c51;
  text-decoration: none;
}
footer #footerInfo p#footerTEL a:hover {
  text-decoration: none;
}
footer #footerInfo p#footerTEL a:before {
  position: absolute;
  left: -23px;
  top: 3px;
  width: 18px;
  height: 29px;
  margin: 0;
  content: url("../img/icon_phone.svg");
}
footer #footerInfo p#footerAdd {
}
footer #footerBottom {
  padding: 40px 0;
  background-color: #1a1a1a;
}
footer #footerBottom #footerBotLink {
  width: 880px;
  margin: 0 auto 20px;
  text-align: center;
}
footer #footerBottom #footerBotLink a {
  display: inline-block;
  margin: 0 15px 20px;
  font-size: 13px;
  color: #fff;
  text-decoration: none;
}
footer #footerBottom small {
  font-size: 12px;
  color: #fff;
}
/* スマホ用 */
@media only screen and (max-width: 767px) {
  footer #footer {
    margin: 20px auto 0;
  }
  footer #footer img#footerLogo {
    display: none;
  }
  footer #footer #footerLinkArea {
    width: 100%;
    margin: 0;
  }
  footer #footer #footerLink {
    width: 100%;
    margin: 0;
  }
  footer #footer #footerLink a {
    float: none;
    width: 300px;
    margin: 0 auto 15px;
    font-size: 18px;
  }
  footer #footer #footerLink a:before {
    margin: -9px 0 0;
  }
  footer #footerInfo {
    margin: 0;
  }
  footer #footerInfo p#footerText {
    font-size: 18px
  }
  footer #footerInfo p#footerTEL a {
    font-size: 26px;
  }
  footer #footerBottom {
    padding: 20px 0;
  }
  footer #footerBottom #footerBotLink {
    width: 94%;
    margin: 0 3% 15px;
  }
  footer #footerBottom #footerBotLink a {
    display: inline-block;
    margin: 0 10px 15px;
    font-size: 11px;
  }
  footer #footerBottom small {
    font-size: 9px;
  }
}

footer #footerSns {
  width: 160px;
  margin: 30px auto 50px;
}
footer #footerSns ul {
  list-style-type: none;
  display: flex;
  justify-content: space-between;
}
footer #footerSns ul li {
  width: 60px;
}
footer #footerSns ul li img {
  width: 60px;
  height: 60px;
}
@media only screen and (max-width: 767px) {

}

/*==========================================
 ページアップ
===========================================*/
#pageup {
  position : fixed;
  bottom : 20px;
  right : 20px;
}
#pageup a {
  display: block;
  overflow: hidden;
  text-indent: 101%;
  white-space: nowrap;
  width: 40px;
  height: 40px;
  background: url(../img/pagetop.png) left top no-repeat;
}
#pageup a {
  display: block;
  overflow: hidden;
  text-indent: 101%;
  white-space: nowrap;
  width: 40px;
  height: 40px;
  background: url(../img/pagetop.png) left top no-repeat;
}
/* スマホ用 */
@media only screen and (max-width: 767px) {
  #pageup {
    display: none;
  }
}
