@charset "UTF-8";

/* =======================================================
 *   ページ全体
 * ======================================================= */

img { border: 0; }

body, nav, section, header, main, footer, h1, h2, p, ul, li, dl, dt, dd, div {
  margin: 0;
  padding: 0;
}

body {
  color: #000;
  background: #ffffff;
}

/* =======================================================
 *   ヘッダー
 * ======================================================= */

header #logo {
  margin: 50px 0 40px;
  text-align: center;
}

header #logo img {
  vertical-align: bottom;
}

header nav li {
  display: block;
}

header nav li {
  margin: 0 0 1.3em;
  text-align: center;
}

header nav li a {
  text-decoration: none;
  font-size: 15px;
  color: black;
}

header nav li.current a {
  font-weight: bold;
  color: #568fcc;
}

header nav + p,
header nav + h1 {
  margin: 50px 0 1.5rem;
}

header nav + p img {
  width: 100%;
}

header nav + h1 {
  padding: 1rem 0;
  text-align: center;
  font-size: 1.5rem;
  color: white;
  background: #568fcc;
}

/* =======================================================
 *   メインコンテンツ
 * ======================================================= */

main {
  margin: 0 25px;
}

main p,
main dl {
  margin: 1rem 0;
  font-size: 1rem;
}

main h2 {
  margin-top: 1.5rem;
  padding: 0 0 0 15px;
  font-size: 1.32rem;
  border-width: 0 0 0 4px;
  border-style: solid;
  border-color: #568fcc;
}

main h3 {
  margin-top: 1.5rem;
  padding: 0 0 0 0px;
  font-size: 1.32rem;
}

 #home main section:nth-child(n+2) {
   margin-top: 2rem;
   border-top: 1px solid #568fcc;
 }

 #home main #news a {
   text-decoration: none;
   color: #568fcc;
 }

 #home main #news dt {
   clear: left;
   float: left;
   width: 11.5em;
 }

#about main img {
   width: 100%;
 }

#about main section:nth-child(n+2) {
  margin-top: 2rem;
  border-top: 1px solid #568fcc;
}

 #about #table-about th {
  width: 20%;
  padding: 1em;
  text-align: left;
}

#about #table-about td {
  width: 70%;
  padding: 1em;
  text-align: left;
  border-bottom: 1px solid #ccc;
}

#about #table-enkaku th {
  width: 20%;
  padding: 1em;
  text-align: left;
}

#about #table-enkaku td {
  width: 70%;
  padding: 1em;
  text-align: left;
  border-bottom: 1px solid #ccc;
}

 #services main #division li {
   width: 48%;
 }

 #services main #division li:nth-child(1) {
   float: left;
 }
 
 #services main #division li:nth-child(2) {
  float: right;
}

#services main #division li img {
  width: 100%;
}

#services main #division li a {
  margin-top: 0.6em;
  padding: 0.6em;
  border: 2px solid #568fcc;
  border-radius: 1.6em;
  line-height: 1.0;
  text-decoration: none;
  font-size: 0.9em;
  color: #568fcc;
}

#recruit table th {
  width: 20%;
  padding: 1em;
  text-align: left;
}

#recruit table td {
  width: 70%;
  padding: 1em;
  text-align: left;
  border-bottom: 1px solid #ccc;
}

#access main  {
  margin-top: 2rem;
}

#access main iframe {
  width: 100%;
  /*margin-bottom: 2rem;*/
}

#contact main address {
  margin-top: 50px;
  text-align: left;
  font-style: normal;
}
/*
#contact main address img {
  width: 100%;
  max-width: 430px;
}

#contact main form {
  margin-top: 2rem;
}

#contact main form * {
  font-size: 1rem;
}

#contact main form input[type="text"],
#contact main form textarea {
  border: 1px solid #999;
  box-shadow: inset 3px 3px 10px rgba(0,0,0,0.2);
  width: 100%;
  max-width: 620px;
}

#contact main form input[type="text"] {
  height: 1.6rem;
  max-width: 310px;
}

#contact main form input[type="submit"] {
  border: 2px solid #568fcc;
  border-radius: 8px;
  width: 8rem;
  height: 2.6rem;
  font-weight: bold;
  color: #ffffff;
  background: #568fcc;
}

#contact main form p:last-child {
  text-align: center;
}
*/
/* =======================================================
 *   フッター
 * ======================================================= */

footer { 
  text-align: center;
 }

footer p {
  margin: 40px 0;
}

footer #back2top {
  padding: 0.6rem 0;
  text-transform: uppercase;
  font-size: 1rem;
  color: white;
  background: #568fcc;
}

footer #back2top a {
  text-decoration: none;
  color: white;
}

/* =======================================================
 *   スペシャル
 * ======================================================= */

#services main #division::after {
  content: "";
  display: block;
  clear: both;
}