/*
Theme Name: エルミン保育園
Theme URI: http://www.haddon-field.com/
Description: 社会福祉法人 聖育福祉会「エルミン保育園」公式ホームページテーマ
Version: 1.0
Author: はどんふぃーるどドットコム
Author URI: http://www.haddon-field.com/
Tags: hoikuen

	HF theme v1.0
	 http://www.haddon-field.com/

	This theme was designed and built by haddon-field,
	whose blog you will find at http://www.haddon-field.com/

	The CSS, XHTML and design is released under GPL:
	http://www.opensource.org/licenses/gpl-license.php

*/

/* =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: 12px/1.5 "Lucida Sans Unicode", "Lucida Grande", "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック",
    "MS PGothic", Sans-Serif;
  color: #333;
  -webkit-text-size-adjust: none;
  background: url(images/bg.png);
}

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

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

a img:hover {
  opacity: 0.8;
}

strong {
  font-size: 110%;
  font-weight: bold;
}

em {
  border-bottom: 1px solid #ff4000;
}

hr {
  clear: both;
  border-width: 1px 0px 0px 0px;
  border-style: dashed;
  border-color: #ffe599;
  height: 1px;
}

.clear {
  clear: both;
}

/**** Clearfix ****/
#wrapper:after,
nav#mainNav ul:after,
nav#mainNav .inner:after,
.newsTitle:after,
.post:after,
.inner:after,
ul.news:after {
  content: "";
  display: table;
  clear: both;
}
#wrapper,
nav#mainNav ul,
.newsTitle,
.post,
nav#mainNav .inner,
ul.news {
  zoom: 1;
}

/* フォーム
------------------------------------------------------------*/
input[type="text"],
textarea,
input[type="email"] {
  vertical-align: middle;
  max-width: 90%;
  line-height: 30px;
  height: 26px;
  padding: 1px 3px;
  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"],
p.readon a {
  vertical-align: top;
  padding: 0 10px;
  background: #ffb154;
  background: -moz-linear-gradient(top, #ffb154 0%, #db7d1f 100%);
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(0%, #ffb154),
    color-stop(100%, #db7d1f)
  );
  background: -webkit-linear-gradient(top, #ffb154 0%, #db7d1f 100%);
  background: -o-linear-gradient(top, #ffb154 0%, #db7d1f 100%);
  background: linear-gradient(to bottom, #ffb154 0%, #db7d1f 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffb154', endColorstr='#db7d1f',GradientType=0 );
  border: 0;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  line-height: 28px;
  height: 28px;
  font-size: 120%;
  color: #fff;
}

input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
p.readon a:hover {
  background: #db7d1f;
  background: -moz-linear-gradient(top, #db7d1f 0%, #ffb154 100%);
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(0%, #db7d1f),
    color-stop(100%, #ffb154)
  );
  background: -webkit-linear-gradient(top, #db7d1f 0%, #ffb154 100%);
  background: -o-linear-gradient(top, #db7d1f 0%, #ffb154 100%);
  background: linear-gradient(to bottom, #db7d1f 0%, #ffb154 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#db7d1f', endColorstr='#ffb154',GradientType=0 );
  cursor: pointer;
}
*:first-child + html input[type="submit"] {
  padding: 3px;
}

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

#wrapper {
  padding: 30px 10px 0;
  background: #fff;
  border-radius: 10px 10px 0 0;
  box-shadow: 0 0 3px #ccc;
  background: #fff;
}

#content {
  float: right;
  width: 690px;
  padding: 20px 0 50px;
}

#toppage #content {
  width: 100%;
}

#sidebar {
  float: left;
  width: 220px;
  padding: 10px 0 50px;
}

#footer {
  clear: both;
  padding: 0 10px;
  border-radius: 0 0 10px 10px;
  box-shadow: 0 0 3px #ccc;
  color: #fff;
  background: url(images/bgDark.png);
}

/* ヘッダー
*****************************************************/
.bg {
  background: url(images/bgDark.png);
}

/* サイト説明文
----------------------------------*/
#header h1 {
  padding: 5px 0;
  font-size: 100%;
  color: #fff;
  font-weight: normal;
}

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

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

.Slide {
  margin-top: 15px;
  margin-bottom: 5px;
}

.smart {
  display: none;
}

.post {
  margin: 0 0 20px 0;
}

.toppage h4 {
  margin: 0 0 10px;
  font-size: 16px;
  font-weight: normal;
  color: #333;
}

.frontTxt {
  width: 94%;
  padding-left: 20px;
}

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

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

.post .list p {
  padding: 0;
}

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

/* タイポグラフィ
*****************************************************/
.heading {
  clear: both;
  margin: 0 0 15px;
  background: url(images/headingBg.png) repeat-x;
}

h2.title {
  padding: 20px 10px;
  font-size: 130%;
  font-weight: bold;
  color: #666;
  background: url(images/headingBg.png) repeat-x 0 100%;
}

.dateLabel {
  text-align: right;
  font-family: Georgia, "Times New Roman", Times, serif;
}

.topSubtitle {
  clear: both;
  font-size: 110%;
  color: #00b200;
  padding-left: 15px;
  font-weight: bold;
}

.post p {
  padding-bottom: 15px;
  font-size: 120%;
}

.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;
  font-size: 120%;
}

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

.post ol li {
  list-style: decimal;
  font-size: 120%;
}

.post h1 {
  margin: 20px 0;
  padding: 5px 0 10px;
  font-size: 150%;
  background: url(images/headingBg.png) repeat-x 0 100%;
}

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

.post h3 {
  margin: 30px 0 10px 0;
  font-size: 130%;
  font-weight: bold;
  border-bottom: 1px solid #db7d1f;
}

.centerKI {
  text-align: center;
  font-weight: bold;
}

.post h4 {
  margin: 10px 0;
  font-size: 120%;
  font-weight: bold;
  border-bottom: 1px solid #db7d1f;
}

.post h5 {
  margin: 10px 0;
  font-size: 130%;
  font-weight: bold;
  color: #ff4000;
}

.post h6 {
  margin: 10px 0;
  font-size: 130%;
  color: #003366;
}

.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;
}

.table1 {
  width: 100%;
  font-size: 140%;
}

.table2 {
  width: 100%;
  font-size: 120%;
}

.table3 {
  width: 100%;
}

.table4 {
  width: 100%;
}

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

.table1 th {
  width: 20%;
  padding: 10px;
  color: #fff;
  border: 1px #db7d1f solid;
  border-width: 0 0 1px 1px;
  background: #eb983e;
}

.table1 td {
  padding: 10px;
  border: 1px #db7d1f solid;
  border-width: 0 0 1px 1px;
  background: #fff;
}

.table2 th {
  width: 18%;
  padding: 10px;
  color: #fff;
  border: 1px #db7d1f solid;
  border-width: 0 0 1px 1px;
  background: #eb983e;
}

.table2 td {
  padding: 10px;
  border: 1px #db7d1f solid;
  border-width: 0 0 1px 1px;
  background: #fff;
}

.table3 th {
  width: 26%;
  padding: 10px;
  background: #ffffff;
  font-size: 120%;
}

.table3 td {
  padding: 10px;
  background: #fff;
}

.table4 th {
  padding: 5px;
  color: #fff;
  border: 1px #db7d1f solid;
  border-width: 0 0 1px 0;
  background: #eb983e;
  font-size: 120%;
}

.table4 td {
  padding: 8px 10px 0;
  border: 1px #db7d1f solid;
  border-width: 0 0 0 0;
  background: #fff;
}

.table4 td img {
  vertical-align: middle;
  margin-right: 15px;
}

.table4 .lastd {
  padding-bottom: 10px;
}

/* Dリスト--------------------------------------------------------------------------------------*/

dl.dlset1 {
  overflow: hidden;
  zoom: 1;
  margin-bottom: 15px;
}
dl.dlset1 dt {
  margin-bottom: 5px;
  padding-bottom: 5px;
  width: 120px;
  float: left;
  clear: both;
}
dl.dlset1 dd {
  margin-bottom: 5px;
  padding: 0 0 5px 60px;
}

dl.dlset2 {
  overflow: hidden;
  zoom: 1;
}
dl.dlset2 dt {
  margin-bottom: 5px;
  padding-bottom: 5px;
  width: 100px;
  float: left;
  clear: both;
  font-size: 90%;
}
dl.dlset2 dd {
  margin-bottom: 5px;
  padding: 0 0 5px 60px;
  border-bottom: 1px dotted #999;
  font-size: 90%;
}

dl.dlset3 {
  overflow: hidden;
  zoom: 1;
  margin-top: 5px;
}
dl.dlset3 dt {
  margin-bottom: 5px;
  padding-bottom: 3px;
  font-weight: bold;
  clear: both;
  color: #006633;
}
dl.dlset3 dd {
  margin-bottom: 3px;
  padding: 0 0 5px 10px;
  border-bottom: 1px dotted #999;
}

.txtP {
  margin-left: -8px;
  font-size: 90%;
}

.txtP2 {
  margin-left: -8px;
  font-size: 85%;
}

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

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

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

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

.alignright {
  float: right;
}
.alignleft {
  float: left;
}

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

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

.telnum {
  font-size: 120%;
  font-weight: bold;
}

.enterTxt {
  margin-left: 20px;
}

.entable {
  padding-left: 15px;
}

#eventImg p img {
  margin-bottom: -7px;
  padding: 0px;
}

/* サイドバー　ウィジェット
*****************************************************/
.widgetWrap,
section.widget ul {
  margin: 10px 0 20px 0;
  padding: 10px 10px 0 10px;
}

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

#sidebar ul#banners {
  width: 220px;
  margin: 10px 0;
}

#sidebar ul#banners li {
  float: none;
  margin: 0 0 10px;
}

section.widget h3 {
  clear: both;
  margin: 0 0 -5px;
  padding: 5px 0 10px;
  font-size: 110%;
  background: url(images/border.png) repeat-x 0 100%;
}

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

section.widget li a:hover {
  background-position: 2px 12px;
}

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

#searchform input[type="text"] {
  width: 120px;
  line-height: 22px;
  height: 22px;
  margin-right: 3px;
}

#searchform {
  padding: 20px 0;
}

/* カレンダー */
#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) {
  color: #0034af;
}
#calendar_wrap table th:nth-child(7) {
  color: #950000;
}
#calendar_wrap a {
  color: #ffb154;
  font-weight: bold;
  font-weight: bold;
  border-bottom: 1px solid #fff;
}
#calendar_wrap table td#prev {
  text-align: left;
}
#calendar_wrap table td#next {
  text-align: right;
}
#calendar_wrap table td#prev a {
  text-align: left;
  border: 0;
}
#calendar_wrap table td#next a {
  text-align: right;
  border: 0;
}

/* お知らせ　
-------------*/
.newsTitle {
  clear: both;
  margin: 0;
  padding: 7px 10px 10px 0;
  font-size: 110%;
  background: url(images/border.png) repeat-x 0 100%;
}

#toppage .newsTitle {
  padding: 20px 10px;
  color: #666;
  background: url(images/headingBg.png) repeat-x 0 100%;
}

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

#toppage .newsTitle h3 {
  font-weight: bold;
}

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

#toppage .newsTitle p {
  padding: 5px 0 5px 10px;
  background-position: 0 50%;
}

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

.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: #ffb154;
}

/* トップページ */
#content .newsTitle h3 {
  font-size: 120%;
}

/* フッター
*****************************************************/
#footer a {
  color: #fff;
}

#footer .boxWrap {
  width: 980px;
  margin-right: -40px;
}

#footer .box {
  float: left;
  width: 450px;
  margin-right: 40px;
  padding: 20px 0;
}

.box .widgetWrap,
.box section.widget ul {
  padding: 0 0 0 7px;
  margin-top: 0;
  background: transparent;
  border: 0;
}

.box section.widget li a {
  background: url(images/arrowWhite.png) no-repeat 0 12px;
  border: 0;
}

.box section.widget li a:hover {
  background-position: 2px 12px;
}

#footer h3 {
  padding: 5px;
  margin-bottom: 10px;
  font-size: 120%;
  font-weight: bold;
  background: url(images/border2.png) repeat-x 0 100%;
}

.contact p {
  padding: 3px 0 3px 32px;
  margin-bottom: 3px;
  font-size: 110%;
  background: url(images/iconHome.png) no-repeat 4px 0;
}

.contact p.mail {
  background-image: url(images/iconMail.png);
}
.contact p.tel {
  background-image: url(images/iconTel.png);
}
.contact p.fax {
  background-image: url(images/iconFax.png);
}
.contact p.tw {
  background-image: url(images/iconTW.png);
}
.contact p.fb {
  background-image: url(images/iconFB.png);
}

#copyright {
  clear: both;
  padding: 10px 0;
  text-align: center;
  font-size: 90%;
}

/* 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#banners,
ul.post {
  width: 960px;
  margin-right: -20px;
  padding-bottom: 20px;
}

ul#banners li,
ul.post li {
  float: left;
  width: 220px;
  margin-right: 20px;
}

ul.post {
  padding: 0;
  background: transparent;
  border: 0;
}

ul.post img {
  max-width: 220px;
  height: auto;
}

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

p.readon a {
  padding: 3px 10px;
  font-size: 95%;
}

ul#banners:after {
  content: "";
  display: table;
  clear: both;
}
ul#banners {
  zoom: 1;
}

/* メインメニュー　PC用
------------------------------------------------------------*/
@media only screen and (min-width: 1025px) {
  div.panel {
    display: block !important;
  }

  a#menu {
    display: none;
  }

  nav#mainNav {
    margin: 0 -10px;
    width: 960px;
    background: url(images/bgDark.png);
  }

  nav#mainNav ul {
    clear: both;
    position: relative;
    z-index: 200;
  }

  nav#mainNav ul li {
    float: left;
    position: relative;
    background: url(images/sep.png) no-repeat 100% 50%;
  }

  nav#mainNav ul li:last-child {
    background: none;
  }

  nav#mainNav ul li a {
    display: block;
    text-align: center;
    _float: left;
    height: 48px;
    line-height: 48px;
    font-size: 130%;
    font-weight: bold;
    padding: 0 40px 0 25px;
    color: #fff;
    text-shadow: 1px 1px 1px #000;
  }

  nav#mainNav ul li.current-menu-item a,
  nav#mainNav ul li a:hover,
  nav#mainNav ul li.current-menu-parent a {
    text-shadow: 0 -1px 1px #4b4b4b;
  }

  nav#mainNav ul ul {
    width: 160px;
  }

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

  nav#mainNav ul li:hover ul {
    display: block;
    position: absolute;
    top: 48px;
    left: 0;
    z-index: 500;
    background: url(images/bgDark.png);
    border-radius: 0 0 6px 6px;
  }

  nav#mainNav ul li li {
    margin: 0;
    float: none;
    height: 35px;
    line-height: 35px;
    width: 160px;
    background: none;
  }

  nav#mainNav ul li li a,
  nav#mainNav ul li.current-menu-parent li a,
  nav#mainNav ul li.current-menu-item li a {
    width: 100%;
    padding: 0;
    height: 35px;
    line-height: 35px;
    font-size: 95%;
  }

  nav#mainNav ul li.current-menu-item li a,
  nav#mainNav ul li.current-menu-parent li a {
    color: #fff;
    text-shadow: 1px 1px 1px #000;
  }

  nav#mainNav ul li li.current-menu-item a,
  nav#mainNav ul li li a:hover {
    text-shadow: 0 -1px 1px #4b4b4b;
    background-position: 0 100%;
  }
  #mapBtn {
    display: none;
  }
}

/* メインメニュー iPadサイズ以下から
------------------------------------------------------------*/
@media only screen and (max-width: 1024px) {
  nav#mainNav {
    clear: both;
    width: 100%;
    margin: 0 0 20px;
    padding: 0;
  }

  nav#mainNav a.menu {
    width: 100%;
    display: block;
    height: 40px;
    line-height: 40px;
    font-weight: bold;
    text-align: left;
    color: #fff;
    border-radius: 6px;
    background: #db7d1f url(images/menuOpen.png) no-repeat 5px 8px;
    background: url(images/menuOpen.png) no-repeat 5px 8px,
      -moz-linear-gradient(top, #ffb154 0%, #db7d1f 100%);
    background: url(images/menuOpen.png) no-repeat 5px 8px,
      -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffb154), color-stop(100%, #db7d1f));
    background: url(images/menuOpen.png) no-repeat 5px 8px,
      -webkit-linear-gradient(top, #ffb154 0%, #db7d1f 100%);
    background: url(images/menuOpen.png) no-repeat 5px 8px,
      -o-linear-gradient(top, #ffb154 0%, #db7d1f 100%);
    background: url(images/menuOpen.png) no-repeat 5px 8px,
      -ms-linear-gradient(top, #ffb154 0%, #db7d1f 100%);
    background: url(images/menuOpen.png) no-repeat 5px 8px,
      linear-gradient(to bottom, #ffb154 0%, #db7d1f 100%);
  }

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

  nav#mainNav a.menuOpen {
    color: #fff;
    border-radius: 6px 6px 0 0;
    background: #db7d1f url(images/menuOpen.png) no-repeat 5px -34px;
    background: url(images/menuOpen.png) no-repeat 5px -34px,
      -moz-linear-gradient(top, #ffb154 0%, #db7d1f 100%);
    background: url(images/menuOpen.png) no-repeat 5px -34px,
      -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffb154), color-stop(100%, #db7d1f));
    background: url(images/menuOpen.png) no-repeat 5px -34px,
      -webkit-linear-gradient(top, #ffb154 0%, #db7d1f 100%);
    background: url(images/menuOpen.png) no-repeat 5px -34px,
      -o-linear-gradient(top, #ffb154 0%, #db7d1f 100%);
    background: url(images/menuOpen.png) no-repeat 5px -34px,
      -ms-linear-gradient(top, #ffb154 0%, #db7d1f 100%);
    background: url(images/menuOpen.png) no-repeat 5px -34px,
      linear-gradient(to bottom, #ffb154 0%, #db7d1f 100%);
  }

  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 0 20px;
    padding: 0;
  }
  nav#mainNav ul ul {
    margin: 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 solid #ccc;
  }

  nav#mainNav ul li.current-menu-item a,
  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:active,
  nav#mainNav ul li a:hover,
  nav#mainNav ul li.current-menu-item li a:hover {
    color: #fff;
    background: #db7d1f url(images/sep.png) no-repeat 97% 50%;
  }

  nav#mainNav li.current-menu-item li a,
  nav#mainNav li.current-menu-parent li a {
    color: #db7d1f;
    background: none;
  }

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

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

  nav#mainNav ul li li span a {
    padding-left: 25px;
    font-size: 90%;
  }

  nav div.panel {
    float: none;
  }

  #wrapper {
    padding-top: 20px;
  }

  #mainImg {
    margin-bottom: 20px;
  }

  #mapBtn {
    display: none;
  }
}

/* 959px以下から 1カラム表示
------------------------------------------------------------*/
@media only screen and (max-width: 959px) {
  .inner,
  #header .bg .inner {
    width: 100%;
  }
  #header .inner,
  #footer,
  #footer .boxWrap,
  #wrapper {
    width: 95%;
  }
  #header h1 {
    padding: 2px 0 2px 10px;
  }
  #wrapper {
    padding: 20px 1% 0;
  }

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

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

  ul.post,
  ul#banners,
  #sidebar ul#banners {
    width: 100%;
    display: table-row;
    margin: 0;
  }
  ul.post li,
  ul#banners li,
  #sidebar ul#banners li {
    float: left;
    width: 23%;
    margin: 0 1%;
    padding: 0 0 20px;
  }
  ul.post img,
  ul#banners li img,
  #sidebar ul#banners img {
    max-width: 98%;
    height: auto;
  }

  #calendar_wrap table {
    width: 260px;
    margin: 0;
  }

  #footer {
    margin-top: -20px;
    padding: 0 1%;
  }
  #footer .boxWrap {
    margin: 0;
    padding: 0;
  }
  #footer .box {
    float: none;
    width: 100%;
    margin: 10px 0;
  }

  #map_canvas {
    display: none;
  }

  #mapBtn {
    display: block;
  }
}

/* 幅939px以下から
------------------------------------------------------------*/
@media only screen and (max-width: 939px) {
  #wrapper,
  #footer,
  #content {
    width: 100%;
    padding: 0;
    border-radius: 0;
  }
  #header h2 {
    float: none;
    padding: 10px 0;
    text-align: center;
  }
  .sns {
    padding: 0 0 10px;
  }
  nav#mainNav a.menu {
    border-radius: 0;
  }
  .smart {
    display: block;
  }
  .pc {
    display: none;
  }
}

/* 幅620px以下から
------------------------------------------------------------*/
@media only screen and (max-width: 620px) {
  #wrapper,
  #footer,
  #content {
    width: 100%;
    padding: 0;
    border-radius: 0;
  }
  #header h2 {
    float: none;
    padding: 10px 0;
    text-align: center;
  }
  .sns {
    padding: 0 0 10px;
  }
  nav#mainNav a.menu {
    border-radius: 0;
  }
  .smart {
    display: block;
  }
  .pc {
    display: none;
  }
  /*#mainImg img{width:95%;height:auto;}*/
  .post {
    padding: 0 10px;
  }
  ul.post li,
  ul#banners li,
  #sidebar ul#banners li {
    width: 42%;
    margin: 0 0 0 6%;
  }
  ul.post li:nth-child(2n + 1) {
    clear: left;
  }
  .post img {
    max-width: 100%;
    height: auto;
  }
  img.alignright,
  img.alignleft {
    display: block;
    margin: 5px 2%;
    max-width: 96%;
    height: auto;
  }
  .alignright,
  .alignleft {
    float: none;
  }
  #footer .box {
    width: 95%;
    margin: 10px auto;
  }

  dl.dlset1 dt {
    float: none;
  }

  dl.dlset1 dd {
    padding: 0 0 5px 0;
  }

  #logo {
    max-width: 320px;
  }
}

/* 2025.07 追加 */
.recruit_cv {
  text-align: right;
}

@media only screen and (min-width: 621px) {
  .top_info_section {
    display: flex;
    justify-content: space-between;
  }
  .top_info_section > div {
    flex-basis: 48%;
  }
}
