@charset "UTF-8";
/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  border: 0;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}

:focus {
  outline: 0;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: separate;
  border-spacing: 0;
}

caption, th, td {
  font-weight: normal;
  text-align: left;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
}

blockquote, q {
  quotes: "" "";
}

a img {
  border: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  font: 14px/1.8 "メイリオ","Meiryo",arial,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
  color: #333;
  -webkit-text-size-adjust: none;
  background: #f9f9f9;
}

/* リンク設定
------------------------------------------------------------*/
a {
  margin: 0;
  padding: 0;
  text-decoration: none;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  font-size: 100%;
  color: #313131;
}

a:hover, a:active {
  outline: none;
  color: #6f6f6f;
}

/**** Clearfix ****/
nav .panel:after, nav#mainNav:after, .newsTitle:after, .bg:after, .post:after, ul.post li:after, nav#mainNav .inner:after {
  content: "";
  display: table;
  clear: both;
}

nav .panel, nav#mainNav, .newsTitle, .bg, .post, ul.post li, nav#mainNav .inner {
  zoom: 1;
}

/* フォーム
------------------------------------------------------------*/
input[type="text"], textarea {
  vertical-align: middle;
  max-width: 90%;
  line-height: 30px;
  height: 30px;
  padding: 1px 5px;
  border: 1px solid #d4d4d7;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  font-size: 100%;
  color: #555;
  background: #fcfcfc;
}

textarea {
  height: auto;
  line-height: 1.5;
}

input[type="submit"], input[type="reset"], input[type="button"] {
  padding: 3px 10px;
  background: #878787;
  background: -webkit-gradient(linear, left top, left bottom, from(#878787), to(#6f6f6f));
  background: linear-gradient(to bottom, #878787 0%, #6f6f6f 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#878787', endColorstr='#6f6f6f',GradientType=0 );
  border: 0;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  line-height: 1.5;
  font-size: 120%;
  color: #fff;
}

input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover {
  background: #878787;
  background: -webkit-gradient(linear, left top, left bottom, from(#6f6f6f), to(#878787));
  background: linear-gradient(to bottom, #6f6f6f 0%, #878787 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6f6f6f', endColorstr='#878787',GradientType=0 );
  cursor: pointer;
}

*:first-child + html input[type="submit"] {
  padding: 3px;
}

/* レイアウト
------------------------------------------------------------*/
#wrapper, .inner {
  margin: 0 auto;
  width: 880px;
}

#header {
  overflow: hidden;
}

#content {
  float: right;
  width: 627px;
  padding: 22px 0 50px;
}

#sidebar {
  float: left;
  width: 233px;
  padding: 22px 0 50px;
}

#footer {
  clear: both;
  background: #edf0f2;
}

/* ヘッダー
*****************************************************/
/* サイト説明文
----------------------------------*/
#header h1 {
  padding: 5px 0;
  font-size: 80%;
  font-weight: normal;
}

/* ロゴ (サイトタイトル)
----------------------------------*/
#header h2 {
  clear: both;
  float: left;
  padding: 20px 5px 15px;
  color: #515151;
  font-size: 160%;
  font-weight: bold;
}

#header h2 img {
  max-width: 349px;
  height: auto;
}

/* コンタクト
----------------------------------*/
.contact {
  float: right;
  padding: 10px 0 0;
  text-align: right;
  color: #000;
  font-size: 90%;
}

.contact .tel {
  margin-bottom: -3px;
  font-size: 26px;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: bold;
}

.contact .tel a {
  color: #1f2f54;
}

.contact .tel img {
  width: 20px;
  margin-right: 2px;
  margin-bottom: -1px;
}

/* トップページ　メイン画像
----------------------------------*/
#mainImg {
  clear: both;
  line-height: 0;
  text-align: center;
  z-index: 0;
  background: #f2f9ff;
  margin-top: 5px;
}

.post {
  margin: 0 0 20px 0;
  padding: 15px;
  border: 1px solid #d5d5d5;
  background: #fff;
}

.post h4 {
  margin: 5px 0;
  font-size: 100%;
  padding-left: 1em;
  font-weight: bold;
  color: #1b4477;
  position: relative;
}

.post h4:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 5px;
  height: 2px;
  background: #1b4477;
}

.toppage {
  padding: 15px;
}

/* 記事ループ
*****************************************************/
.list {
  padding: 10px 0;
  border-bottom: 1px dashed #dcdcdc;
}

.list:last-child {
  border: 0;
}

.post .list p {
  padding: 0;
}

.list span {
  padding-left: 10px;
}

/* タイポグラフィ
*****************************************************/
h2.title {
  clear: both;
  margin: 0;
  padding: 7px 10px 7px 15px;
  font-size: 120%;
  color: #fff;
  border: 1px solid #d5d5d5;
  border-bottom: 0;
  background: #1b4477;
}

.dateLabel {
  text-align: right;
  font-weight: bold;
  color: #858585;
}

.post p {
  padding-bottom: 15px;
}

.post ul {
  margin: 0 0 10px 10px;
}

.post ul li {
  margin-bottom: 5px;
  padding-left: 15px;
  background: url(../images/bullet.png) no-repeat 0 8px;
}

.post ol {
  margin: 0 0 10px 30px;
}

.post ol li {
  list-style: decimal;
}

.post h1 {
  margin: 20px 0;
  padding: 5px 0;
  font-size: 150%;
  color: #000;
  border-bottom: 3px solid #000;
}

.post h2 {
  margin: 10px 0;
  padding-bottom: 2px;
  font-size: 130%;
  font-weight: normal;
  color: #333;
  border-bottom: 2px solid #1b4477;
}

.post h3 {
  margin: 10px 0;
  font-size: 110%;
  font-weight: normal;
  color: #2e2c2c;
  border-bottom: 2px solid #1b4477;
}

.post blockquote {
  clear: both;
  padding: 10px 0 10px 15px;
  margin: 10px 0 25px 30px;
  border-left: 5px solid #ccc;
}

.post blockquote p {
  padding: 5px 0;
}

.post table {
  border: 1px #ccc solid;
  border-collapse: collapse;
  border-spacing: 0;
  margin: 10px 0 20px;
}

.post table th {
  padding: 10px;
  border: #ccc solid;
  border-width: 0 0 1px 1px;
  background: #edf0f2;
  width: 24%;
}

.post table td {
  padding: 10px;
  border: 1px #ccc solid;
  border-width: 0 0 1px 1px;
  background: #fff;
}

.post dt {
  font-weight: bold;
}

.post dd {
  padding-bottom: 10px;
}

.post img {
  max-width: 100%;
  height: auto;
}

img.aligncenter {
  display: block;
  margin: 5px auto;
}

img.alignright, img.alignleft {
  margin: 0 0 15px 15px;
  display: inline;
}

img.alignleft {
  margin: 0 15px 15px 0;
}

.alignright {
  float: right;
}

.alignleft {
  float: left;
}

#gallery-1 img {
  border: 1px solid #eaeaea !important;
  padding: 5px;
  background: #fff;
}

#gallery-1 img:hover {
  background: #fffaef;
}

/* サイドバー　ウィジェット
*****************************************************/
section.widget ul, .widget_search, #calendar_wrap, .textwidget {
  margin: 0 0 20px 0;
  padding: 10px 10px 10px 17px;
  border: 1px solid #d5d5d5;
  background: #fff;
}

section.widget ul ul {
  border: 0;
  margin: 0;
  padding: 0 0 0 10px;
}

p.banner {
  padding-bottom: 5px;
}

p.banner img {
  max-width: 233px;
  height: auto;
}

p.banner img:hover {
  cursor: pointer;
  opacity: .8;
}

section.widget h3 {
  clear: both;
  margin: 0;
  padding: 7px 10px 7px 10px;
  font-size: 110%;
  border: 1px solid #d5d5d5;
  border-bottom: 0;
  color: #000;
  background: #fff url(../images/headingBg.png) repeat-x 0 100%;
}

section.widget li a {
  display: block;
  padding: 7px 0 7px 12px;
  background: url(../images/arrow.gif) no-repeat 0 12px;
  border-bottom: 1px dashed #dcdcdc;
}

section.widget li:last-child a {
  border: 0;
}

#searchform input[type="text"] {
  line-height: 1.7;
  height: 24px;
  width: 90px;
  vertical-align: bottom;
}

/* カレンダー */
#calendar_wrap table {
  margin: 0 auto;
  width: 90%;
}

#calendar_wrap table caption {
  padding: 10px 0;
  text-align: center;
  font-weight: bold;
}

#calendar_wrap table th, #calendar_wrap table td {
  padding: 3px;
  text-align: center;
}

#calendar_wrap table th:nth-child(6), #calendar_wrap table td:nth-child(6) {
  color: #0034af;
}

#calendar_wrap table th:nth-child(7), #calendar_wrap table td:nth-child(7) {
  color: #950000;
}

#calendar_wrap table td#prev {
  text-align: left;
}

#calendar_wrap table td#next {
  text-align: right;
}

#calendar_wrap a {
  font-weight: bold;
}

/* お知らせ　
-------------*/
.newsTitle {
  clear: both;
  margin: 0;
  padding: 7px 10px 7px 10px;
  font-size: 120%;
  border: 1px solid #d5d5d5;
  border-bottom: 0;
  color: #000;
  background: #fff;
  /*background:#fff url(../images/headingBg.png) repeat-x 0 100%;*/
  border-bottom: 3px solid #1b4477;
}

.newsTitle h3 {
  float: left;
  font-weight: normal;
}

.newsTitle p {
  float: right;
  padding: 0 0 0 10px;
  font-size: 80%;
  background: url(../images/arrow.gif) no-repeat 0 8px;
}

.news p {
  clear: both;
  padding-bottom: 2px;
  border-bottom: 1px dashed #dcdcdc;
}

.news p:last-child {
  border: 0;
}

.news p a {
  display: block;
  padding: 5px 0;
  color: #333;
  /*font-style:italic;
  font:italic 110% "Palatino Linotype", "Book Antiqua", Palatino, serif;*/
}

.news a span {
  color: #515151;
  /*font:normal 90% Arial, 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;*/
}

.news span {
  padding-left: 10px;
}

.news a:hover span {
  color: #6f6f6f;
}

/* フッター
*****************************************************/
#footer ul {
  padding: 15px 0 25px;
  text-align: center;
}

#footer li {
  display: inline-block;
  padding: 5px 16px;
  border-left: 1px dotted #d5d5d5;
}

*:first-child + html #footer li {
  display: inline;
}

#footer li:first-child {
  border: 0;
}

#footer li a {
  text-decoration: none;
  color: #000;
}

#footer li a:hover {
  color: #999;
}

#footer ul ul {
  display: none;
}

#copyright {
  clear: both;
  padding: 10px 0;
  text-align: center;
  color: #fff;
  font-size: 10px;
  background: #1b4477;
}

/* page navigation
------------------------------------------------------------*/
.pagenav {
  clear: both;
  width: 100%;
  height: 30px;
  margin: 5px 0 20px;
}

.prev {
  float: left;
}

.next {
  float: right;
}

#pageLinks {
  clear: both;
  color: #4f4d4d;
  text-align: center;
}

/* トップページ 最新記事4件
------------------------------------------------------------*/
ul.post {
  padding: 0;
}

ul.post li {
  margin: 0 10px;
  padding: 20px 0 15px;
  border-bottom: 1px dashed #dcdcdc;
}

ul.post li:last-child {
  border: 0;
}

ul.post img {
  float: left;
  margin: 0 15px 5px 10px;
}

ul.post h3 {
  margin: 0 0 10px 10px;
  font-size: 14px;
  font-weight: normal;
  color: #333;
  border: 0;
}

/* メインメニュー　PC用
------------------------------------------------------------*/
@media only screen and (min-width: 1025px) {
  nav#mainNav {
    clear: both;
    position: relative;
    z-index: 200;
    width: 100%;
    background: #1b4477;
  }

  nav#mainNav .inner {
    padding-left: 1px;
    border-left: 1px solid #3167aa;
  }

  nav#mainNav ul li {
    /*float: left;*/
    position: relative;
    border-right: 1px solid #3167aa;
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
  }

  nav#mainNav ul li a {
    display: block;
    text-align: center;
    _float: left;
    color: #fff;
    height: 40px;
    line-height: 45px;
    font-size: 110%;
    margin-right: 1px;
    padding: 10px 10px 0;
  }

  nav#mainNav ul li a span, nav#mainNav ul li a strong {
    display: block;
    font-size: 90%;
    line-height: 1.4;
  }

  nav#mainNav ul li a span {
    font-size: 70%;
    color: #a5cbf9;
    font-weight: normal;
  }

  nav#mainNav ul li.current-menu-item a, nav#mainNav ul li a:hover span, nav#mainNav ul li a:hover, nav#mainNav ul li.current-menu-parent a {
    color: #a5cbf9;
  }

  nav#mainNav ul ul {
    width: 160px;
    border-top: 0;
  }

  nav#mainNav ul li ul {
    display: none;
  }

  nav#mainNav ul li:hover ul {
    display: block;
    position: absolute;
    top: 45px;
    left: -1px;
    z-index: 500;
  }

  nav#mainNav ul li li {
    margin: 0;
    float: none;
    height: 40px;
    line-height: 40px;
    width: 160px;
    background: #1b4477;
    border-bottom: 1px dotted #3167aa;
  }

  nav#mainNav ul li li:last-child {
    border: 0;
  }

  nav#mainNav ul li li a {
    width: 100%;
    height: 40px;
    padding: 0 0 0 10px;
    line-height: 40px;
    font-size: 95%;
    text-align: left;
  }

  nav#mainNav ul li li.current-menu-item a, nav#mainNav ul li li a:hover {
    color: #a5cbf9;
  }

  nav div.panel {
    display: block !important;
    /*float:left;
    width: 100%;*/
  }

  nav div.panel ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  a#menu {
    display: none;
  }
}
/* メインメニュー iPadサイズ以下から
------------------------------------------------------------*/
@media only screen and (max-width: 1024px) {
  nav#mainNav {
    clear: both;
    width: 880px;
    margin: 10px auto;
    background: #fbfaf9 url(../images/mainnavBg.png) repeat-x 0 -5px;
    border: 1px solid #e8e5e0;
    border-radius: 6px;
  }

  nav#mainNav a.menu {
    width: 100%;
    display: block;
    height: 37px;
    line-height: 37px;
    font-weight: bold;
    text-align: center;
    background: url(../images/menuOpen.png) no-repeat 5px 8px;
    color: #1b4477;
  }

  nav#mainNav a#menu span {
    padding-left: 0;
  }

  nav#mainNav a.menuOpen {
    border-radius: 6px 6px 0 0;
    background: url(../images/menuOpen.png) no-repeat 5px -34px;
  }

  nav#mainNav a#menu:hover {
    cursor: pointer;
  }

  nav .panel {
    display: none;
    width: 100%;
    position: relative;
    right: 0;
    top: 0;
    z-index: 1;
  }

  nav#mainNav ul {
    margin: 0;
    padding: 0;
  }

  nav#mainNav ul li {
    float: none;
    clear: both;
    width: 100%;
    height: auto;
    line-height: 1.2;
  }

  nav#mainNav ul li a, nav#mainNav ul li.current-menu-item li a {
    display: block;
    padding: 15px 10px;
    text-align: left;
    border-bottom: 1px dashed #e5e5e5;
    background: #f3f3f3;
  }

  nav#mainNav ul li:last-child a {
    border: 0;
    border-radius: 0 0 6px 6px;
  }

  nav#mainNav ul li li:last-child a {
    border: 0;
    border-radius: 0;
  }

  nav#mainNav ul li li:last-child a {
    border-bottom: 1px dashed #e5e5e5;
  }

  nav#mainNav ul li a span {
    display: none;
  }

  nav#mainNav ul li.current-menu-item a, nav#mainNav ul li a:hover, nav#mainNav ul li.current-menu-item a, nav#mainNav ul li a:active, nav#mainNav ul li li.current-menu-item a, nav#mainNav ul li.current-menu-item li a:hover, nav#mainNav ul li.current-menu-item li a:active {
    background: #fff;
  }

  nav#mainNav ul li.current-menu-item li a {
    color: #777;
  }

  nav#mainNav ul li li {
    float: left;
    border: 0;
  }

  nav#mainNav ul li li a, nav#mainNav ul li.current-menu-item li a, nav#mainNav ul li li.current-menu-item a {
    padding-left: 40px;
    background: #f3f3f3 url(../images/sub1.png) no-repeat 20px 18px;
  }

  nav#mainNav ul li li.current-menu-item a, nav#mainNav ul li li a:hover, nav#mainNav ul li.current-menu-item li a:hover {
    background: #fff url(../images/sub1.png) no-repeat 20px -62px;
  }

  nav#mainNav ul li li:last-child a {
    background: #f3f3f3 url(../images/subLast.png) no-repeat 20px 20px;
  }

  nav#mainNav ul li li:last-child.current-menu-item a, nav#mainNav ul li li:last-child a:hover, nav#mainNav ul li.current-menu-item li:last-child a:hover {
    background: #fff url(../images/subLast.png) no-repeat 20px -65px;
  }

  nav div.panel {
    float: none;
  }

  #mainImg {
    margin-bottom: 20px;
  }
}
/* 959px以下から 1カラム表示
------------------------------------------------------------*/
@media only screen and (max-width: 959px) {
  #wrapper, .inner {
    width: 100%;
  }

  #header {
    width: 96%;
    padding: 0 2%;
  }

  .contact {
    padding: 10px 0 10px;
  }

  nav#mainNav {
    width: 95%;
  }

  nav#mainNav ul {
    margin: 0 auto;
  }

  nav#mainNav ul ul {
    padding: 0;
  }

  nav div.panel {
    float: none;
  }

  #mainImg img {
    width: 98%;
    height: auto;
  }

  #content, #sidebar {
    clear: both;
    width: 95%;
    float: none;
    margin: 0 auto;
    padding: 10px 0;
  }

  .banner {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }

  p.banner img {
    width: 100%;
    height: auto;
  }

  section.widget_search {
    text-align: center;
  }

  #footer li {
    margin-bottom: 10px;
  }

  #header h2 {
    padding: 5px 5px 0px;
  }
}
/* 幅644px以下から ヘッダー等微調節
------------------------------------------------------------*/
@media only screen and (max-width: 644px) {
  body {
    background-position: 0 -25px;
  }

  #header h1 {
    color: #333;
  }

  #header h2 img {
    max-width: 60%;
  }

  nav#mainNav {
    width: 98%;
  }

  #header {
    text-align: center;
  }

  #header h2, .contact {
    float: none;
  }

  .contact {
    padding: 0 0 20px;
  }

  .contact p {
    text-align: center;
  }

  #headerInfo {
    width: 250px;
    margin: 0 auto;
  }

  img.alignright, img.alignleft {
    display: block;
    margin: 5px auto;
  }

  .alignright, .alignleft {
    float: none;
  }
  .post table th, .post table td {
    font-size: 85%;
  }
  .post table.time-table th, .post table.time-table td {
    padding:10px 0;
  }
}
/* 追記
------------------------------------------------------------*/
/* slick-----------------*/
.slick-slide img {
  width: auto !important;
  /*auto or コンテンツサイズを指定*/
  /* width: 100%!important;　画面いっぱいの場合は100%指定*/
  max-width: 100%;
}

/* googlemap-----------------*/
.googlemap {
  position: relative;
  width: 100%;
  padding-top: 30%;
  /*ここで高さ調整*/
  min-height: 300px;
}

.googlemap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* 汎用-----------------*/
figure {
  padding: 0;
  margin: auto;
}
figure > img {
  width: auto;
  max-width: 100%;
  max-height: 100%;
}
figcaption {
  line-height: 1.4;
}
a:focus, *:focus {
  outline: none;
}

.mb0 {
  margin-bottom: 0px !important;
}

.pd0 {
  padding: 0em !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.pd1 {
  padding: 1em !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.pd2 {
  padding: 2em !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.pd3 {
  padding: 3em !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.pd4 {
  padding: 4em !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.pd5 {
  padding: 5em !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.pd6 {
  padding: 6em !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.pd7 {
  padding: 7em !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.pd8 {
  padding: 8em !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.pd9 {
  padding: 9em !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.pd10 {
  padding: 10em !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.pd11 {
  padding: 11em !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.pd12 {
  padding: 12em !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.pd13 {
  padding: 13em !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.pd14 {
  padding: 14em !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.pd15 {
  padding: 15em !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.pd16 {
  padding: 16em !important;
}

.mb85 {
  margin-bottom: 85px !important;
}

.pd17 {
  padding: 17em !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.pd18 {
  padding: 18em !important;
}

.mb95 {
  margin-bottom: 95px !important;
}

.pd19 {
  padding: 19em !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.pd20 {
  padding: 20em !important;
}

.text-right {
  text-align: right;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-bold {
  font-weight: bold;
}

.text-large {
  font-size: 120% !important;
}

.text-xlarge {
  font-size: 150% !important;
}

.text-small {
  font-size: 80% !important;
}

.color01 {
  color: #1b4477 !important;
}

.color02 {
  color: #1b9028 !important;
}

.text-red {
  color: red !important;
}

.highlight {
  padding: 1.5% 0;
  background: rgba(27, 68, 119, 0.45);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.clearfix {
  overflow: hidden;
  zoom: 1;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

section {
  overflow: hidden;
  margin-bottom: 3%;
}

a:hover img {
  opacity: 0.7;
  -moz-opacity: 0.7;
  filter: alpha(opacity=70);
  cursor: pointer;
}

.post table {
  width: 100%;
}

.pc {
  display: block !important;
}

.sp {
  display: none !important;
}

@media only screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }

  .sp {
    display: block !important;
  }
}
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
    text-decoration: none;
  }
}
@media only screen and (min-width: 621px) {
  img.alignright, img.alignleft {
    width: 45%;
    max-width: 310px;
    height: auto;
  }
}
@media only screen and (max-width: 1024px) {
  a#menu {
    cursor: pointer;
  }

  #banners p img {
    width: auto;
    max-width: 100%;
  }
}
@media only screen and (max-width: 620px) {
  .post img, img.alignright, img.alignleft {
    width: auto;
    max-width: 100%;
    margin: 10px auto;
    display: block;
  }
}
/*==========================
	ブロック
==========================*/
/* 2列並び-----------------*/
.box2 {
  display: inline-block;
  margin: 0 2% 2% 0;
  width: 49%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: top;
  float: left;
}

.box2:nth-child(2n) {
  margin: 0 0 2% 0;
}

/* 3列並び-----------------*/
.box3 {
  display: inline-block;
  margin: 0 2% 2% 0;
  width: 32%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: top;
  float: left;
}

.box3:nth-child(3n) {
  margin: 0 0 2% 0;
}

/* 4列並び-----------------*/
.box4 {
  float: left;
  margin: 0 2% 2% 0;
  width: 23%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: top;
}

.box4:nth-child(4n) {
  margin: 0 0 2% 0;
}

/* 5列並び-----------------*/
.box5 {
  float: left;
  margin: 0 2% 2% 0;
  width: 18.4%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: top;
}

.box5:nth-child(5n) {
  margin: 0 0 2% 0;
}

@media only screen and (max-width: 620px) {
  .box2, .box3, .box4, .box5 {
    margin: 0 0 1%;
    width: 100%;
  }
}
/*ページ送り */
ul.pageNav {
  margin: 20px 0 10px;
  padding: 10px 10px 5px;
  text-align: center;
}

ul.pageNav li {
  display: inline;
  margin: 0 2px;
  padding: 0;
}

ul.pageNav li span,
ul.pageNav li a {
  display: inline-block;
  margin-bottom: 5px;
  padding: 5px 13px;
  background: #f2f3f5;
  text-decoration: none;
  vertical-align: middle;
  border: 1px solid #f2f3f5;
  color: #171c7b;
}

ul.pageNav li span {
  background: none;
  color: #1b4477;
}

ul.pageNav li a:hover {
  color: #fff;
  background: #1b4477;
  border-color: #1b4477;
}

/*pageTOP------------------------------*/
#pageTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
}

#pageTop a {
  display: block;
  z-index: 999;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  background-color: #1b4477;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  position: relative;
  border: 1px solid #fff;
}

#pageTop a::before {
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  content: "";
  display: block;
  height: 12px;
  width: 12px;
  position: absolute;
  right: 0;
  left: 0;
  top: 45%;
  margin: auto;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -ms-transform: rotate(45deg);
}

#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}

/* リンクボタン */
.link_btn {
  width: 100%;
  max-width: 260px;
  margin: 0 auto;
}

.link_btn a {
  line-height: 1.4;
  display: block;
  padding: 15px 20px 13px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  position: relative;
  color: #171c7b;
  border-bottom: 4px solid #1b4477;
  background: #f9e386;
  -webkit-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}

.link_btn a:before {
  border-top: 2px solid #171c7b;
  border-right: 2px solid #171c7b;
  content: "";
  display: block;
  height: 8px;
  margin-top: -4px;
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  width: 8px;
}

.link_btn a:hover {
  border-bottom: 4px solid #f9e386;
  background: #1b4477;
}

/* side_info */
.side_info {
  padding: 15px 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 13px;
  line-height: 1.8;
  border: 2px solid #1f2f54;
  background: #fff;
  color: #1f2f54;
  margin: 0 0 10px;
  position: relative;
  clear: both;
}

.side_info img {
  max-width: 100% !important;
  padding-bottom: 0 !important;
}

.side_info .p01 {
  text-align: center;
  font-size: 17px;
  font-weight: bold;
  margin: 0 0 10px;
  line-height: 1.4;
  color: #1f2f54;
}

.side_info .side_tel img {
  max-width: 24px !important;
  vertical-align: middle;
  margin-top: -7px;
}

.side_info .side_tel {
  font-size: 26px;
  font-weight: bold;
  font-family: Arial, Helvetica, sans-serif;
  margin: 0 auto;
  display: table;
  width: 100%;
  text-align: center;
}

.side_info .side_tel a {
  color: #1f2f54;
  /*pointer-events: auto;*/
  z-index: 10;
  position: relative;
  width: 100%;
  display: table;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 2px 0px;
  line-height: 1.2;
}

.side_info .side_tel a:hover {
  opacity: 0.7;
}

.side_info .side_tel a span {
  color: #1f2f54;
  background: url(../images/tel.png) no-repeat left 4px;
  background-size: 21px;
  padding-left: 25px;
}

.tel_box h3 {
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  margin: 0 auto 10px;
  position: relative;
  border: 0;
}

.tel_box h3 span {
  background: #fff;
  padding: 0 5px;
  position: relative;
}

.tel_box h3:before {
  position: absolute;
  content: "";
  background: #1f2f54;
  width: 100%;
  height: 1px;
  top: 50%;
  left: 0;
}

@media screen and (max-width: 1024px) {
  .side_info {
    padding: 25px 14px;
    text-align: center;
    margin: 20px 0 0;
  }

  .side_info.tel_box {
    /*padding:0;*/
  }
}
@media screen and (max-width: 644px) {
  .side_info.tel_box {
    margin-bottom: 30px;
  }

  .side_info .side_tel a {
    padding: 10px 0;
  }
}
/* time-table */
.post table.time-table thead th {
  background: #1b4477;
  color: #fff;
}

.post table.time-table th {
  width: auto;
  text-align: center;
  background: #ecf0f1;
  color: #1b4477;
}

.post table.time-table td {
  text-align: center;
  color: #1b4477;
}

.post table.time-table td span {
  color: #f55236;
}

/* contact_box */
.contact_box .post {
  padding: 20px 10px 10px;
}

.contact_box .post p {
  display: table;
  margin: 0 auto;
  font-weight: bold;
  text-align: center;
}

.contact_box img {
  max-width: 230px;
}

span.telNo {
  display: block;
  font-size: 26px;
  font-weight: bold;
  color: #1b4477;
  font-family: Arial, Helvetica, sans-serif;
}

span.telNo a {
  color: #1b4477;
}
span.telNo a img {
  vertical-align: middle;
  width: 20px;
  margin-bottom: 5px;
  margin-right: 3px;
  display: initial;
}

@media screen and (max-width: 644px) {
  .contact_box {
    text-align: center;
  }

  span.telNo {
    font-size: 160%;
    display: block;
    padding: 0;
  }
  span.telNo a img {
    vertical-align: top;
  }
}
.text-mincho {
  font-family: "游明朝体", YuMincho, "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", Georgia, Times, "Times New Roman", serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
