@charset "UTF-8";
/* media quary */
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, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

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

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

q, blockquote {
  quotes: none;
}

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

a img {
  border: none;
}

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

.tal {
  text-align: center;
}

.tar {
  text-align: right;
}

.clearfix:before, .clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
}

.clear {
  clear: both;
}

/* show only  SP/PC
-------------------------------*/
.sp-only {
  display: block !important;
}
@media screen and (min-width: 668px) {
  .sp-only {
    display: none !important;
  }
}

.pc-only {
  display: none !important;
}
@media screen and (min-width: 668px) {
  .pc-only {
    display: block !important;
  }
}
.pc-only-2 {
  display: none !important;
}
@media screen and (min-width: 668px) {
  .pc-only-2 {
    display: inline-block !important;
  }
}

/* font
-------------------------------*/
.bold {
  font-weight: bold;
}

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

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

/* padding
-------------------------------*/
/* base
---------------*/
/* base
---------------*/
body {
  font-family: Verdana, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-size: 12px;
  color: #000;
}

a {
  color: #242883;
  text-decoration: none;
}

a.line {
  text-decoration: underline;
}

a.line:hover {
  text-decoration: none;
}

#main i {
  margin-left: 0.5em;
  margin-right: 0.5em;
}

.topNav {
  display: none;
}

/* header
---------------*/
header {
  background: #FFFFFF;
  z-index: 10000;
  padding: 10px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 36px;
}

header .logo {
  width: 120px;
  margin: 0 0 0 0;
}

header .logo img {
  max-width: 100%;
}

#gNav {
  padding: 0 0;
}

#gNav .wrap {
  overflow: hidden;
  *zoom: 1;
}

#gNav li {
  float: left;
  width: 100%;
}
#gNav li:first-child {
  border-top: 1px solid #999999;
}
#gNav li a {
  position: relative;
  display: block;
  font-size: 16px;
  height: 24px;
  line-height: 24px;
  margin: 0;
  padding: 7px 20px;
  color: #000000;
  border-bottom: 1px solid #999999;
  background: url(../img/icn_link.png) no-repeat right 18px center;
  background-size: 6px 12px;
}

#topicPath {
  background: #f5f7f8;
  line-height: 1.5;
}

#topicPath .wrap {
  padding: 10px;
  font-size: 14px;
}


/* mv
---------------*/
#mvHome {
  display: none;
}

#mvHomeSp img {
  max-width: 100%;
  display: block;
  margin: 0 auto;
}

#mv {
  margin-bottom: 25px;
}

#mv img {
  display: block;
  max-width: 100%;
}

/* common
---------------*/
#body {
  padding: 20px 10px;
}

#main {
  margin-bottom: 45px;
}

#side {
  display: none;
}

.pageTtl {
  font-size: 28px;
  color: #242883;
  margin-bottom: 25px;
  line-height: 1.4;
  font-weight: bold;
}

.catch {
  margin-bottom: 25px;
}

.catch p {
  font-size: 16px;
  line-height: 1.75;
}

.pageContent {
  line-height: 1.7;
}

.pageContent img {
  width: 100%;
  height: auto;
}

.pageContent h2 {
  font-size: 20px;
  background: #f5f7f8;
  color: #242883;
  border-top: 1px solid lightgrey;
  padding: 15px 10px;
  margin-bottom: 15px;
  line-height: 1;
}

.pageContent h2 .btn {
  display: none;
}

.pageContent h3 {
  font-size: 16px;
  background: #e6eaf5;
  color: #242883;
  padding: 8px 10px;
  margin-bottom: 15px;
  line-height: 1.3;
}

.pageContent h4 {
  font-size: 14px;
  font-weight: bold;
  color: #242883;
  margin-bottom: 10px;
  padding: 10px 10px;
  background: #f5f7f8;
  line-height: 1;
}

.pageContent .imgCenter {
  margin-bottom: 30px;
  text-align: center;
}

.pageContent .imgCenter img {
  display: block;
  width: 50%;
  margin: 0 auto;
}

.pageContent section, .pageContent .section {
  overflow: hidden;
  *zoom: 1;
  margin-bottom: 30px;
  /* coder追記ここから */
  /* :: coder追記ここまで */
}

.pageContent section.mb0, .pageContent .section.mb0 {
  margin-bottom: 0;
}

.pageContent section strong, .pageContent .section strong {
  font-weight: bold;
}

.pageContent section img, .pageContent .section img {
  margin-bottom: 15px;
}

.pageContent section p, .pageContent .section p {
  margin-bottom: 1em;
  font-size: 14px;
}

.pageContent section p.caption, .pageContent .section p.caption {
  margin-top: -15px;
  font-size: 12px;
  text-align: center;
}

.pageContent section p.mb0, .pageContent .section p.mb0 {
  margin-bottom: 0;
}

.pageContent section ul, .pageContent .section ul {
  margin-bottom: 1em;
}

.pageContent section ul li, .pageContent .section ul li {
  margin-bottom: 0.25em;
  font-size: 14px;
}

.pageContent section ul li i, .pageContent .section ul li i {
  color: #242883;
}

.pageContent section dl, .pageContent .section dl {
  margin-bottom: 1em;
}

.pageContent section dl dt, .pageContent .section dl dt {
  font-weight: bold;
  color: #242883;
}

.pageContent section dl dd, .pageContent .section dl dd {
  margin-bottom: 0.25em;
}

.pageContent section .dlStyle1, .pageContent .section .dlStyle1 {
  overflow: hidden;
  *zoom: 1;
}

.pageContent section .dlStyle1 dt, .pageContent .section .dlStyle1 dt {
  float: left;
  width: 10em;
  clear: both;
}

.pageContent section .dlStyle1 dd, .pageContent .section .dlStyle1 dd {
  padding-left: 12em;
}

.pageContent section .btns, .pageContent .section .btns {
  overflow: hidden;
  *zoom: 1;
  margin-bottom: 0;
}

.pageContent section .btns li, .pageContent .section .btns li {
  float: left;
  margin-right: 20px;
  border: 1px solid lightgrey;
  margin-bottom: 1em;
}

.pageContent section .btns li a, .pageContent .section .btns li a {
  display: block;
  background: #f5f7f8;
  padding: 10px;
  border: 1px solid #fff;
  text-decoration: none;
}

.pageContent section .btns li a i, .pageContent .section .btns li a i {
  margin-left: 0.5em;
}

.pageContent section .btns li a:hover, .pageContent .section .btns li a:hover {
  background: #fff;
}

.pageContent section ol.listDecimal, .pageContent .section ol.listDecimal {
  list-style: decimal outside;
  padding: 0 0 0 2.4em;
}

.pageContent section .mt10, .pageContent .section .mt10 {
  margin-top: 10px;
}

.pageContent section .mBottom1, .pageContent .section .mBottom1 {
  margin-bottom: 1em;
}

.pageContent section .bdrLeft, .pageContent .section .bdrLeft {
  padding-left: 15px;
  font-size: 14px;
  font-weight: bold;
  color: #242883;
  border-left: 5px #242883 solid;
}

.pageContent section .qaList .iconQ, .pageContent section .qaList .iconA, .pageContent .section .qaList .iconQ, .pageContent .section .qaList .iconA {
  display: block;
  width: 20px;
  height: 20px;
  padding: 10px;
  line-height: 1.3;
  color: #fff;
  font-weight: normal;
  text-align: center;
  margin-bottom: 5px;
  font-style: normal;
  float: left;
}

.pageContent section .qaList .iconQ, .pageContent .section .qaList .iconQ {
  background: #AEBEDF;
  float: left;
}

.pageContent section .qaList .iconA, .pageContent .section .qaList .iconA {
  background: #E1B8B8;
  margin-right: 1em !important;
}

.pageContent section .qaList .questionBox p, .pageContent section .qaList .answerBox p, .pageContent .section .qaList .questionBox p, .pageContent .section .qaList .answerBox p {
  margin-bottom: 0;
  padding-top: 0px;
}

.pageContent section .qaList .questionBox, .pageContent .section .qaList .questionBox {
  overflow: hidden;
  margin-bottom: 20px;
  line-height: 1.5;
  color: #242883;
  font-weight: bold;
}

#main .pageContent section .qaList .questionBox i {
  margin-right: 1em;
}

.pageContent section .qaList .answerBox, .pageContent .section .qaList .answerBox {
  overflow: hidden;
  margin-bottom: 40px;
}

.pageContent section .textCenter, .pageContent .section .textCenter {
  text-align: center;
}

.pageContent section .fBold, .pageContent .section .fBold {
  font-weight: bold;
}

.pageContent section .cNavy, .pageContent .section .cNavy {
  color: #242883;
}

.pageContent section .cRed, .pageContent .section .cRed {
  color: #cc0000;
}

.pageContent section .widthHalf, .pageContent .section .widthHalf {
  width: 50%;
}

.pageContent section .imgBtn a:hover, .pageContent .section .imgBtn a:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

.pageContent section .pdL1, .pageContent .section .pdL1 {
  padding-left: 1em;
}

.pageContent section .txtR, .pageContent .section .txtR {
  text-align: right;
}

.pageContent .tblStyle1 {
  width: 100%;
  margin-right: -1px;
  overflow: hidden;
}

.pageContent .tblStyle1 th {
  background: #e6eaf5;
  color: #242883;
  font-weight: bold;
  padding: 10px;
  text-align: center;
  font-size: 12px;
}

.pageContent .tblStyle1 td {
  padding: 10px;
  line-height: 1.4;
  border-right: 1px solid lightgrey;
  font-size: 12px;
}

.pageContent .tblStyle1 .odd {
  background: #f5f7f8;
}

.pageContent .tblStyle1 .odd th {
  background: #e0e5f3;
}

.pageContent .tblStyle1 .heading th {
  background: #d5dbed;
  border-right: 1px solid lightgrey;
}

.pageContent .tblStyle2 {
  table-layout: fixed;
  width: 100%;
  margin-right: -1px;
  margin-bottom: 30px;
  overflow: hidden;
}

.pageContent .tblStyle2 .day {
  background: #e6eaf5;
  padding: 10px;
  text-align: center;
  font-size: 12px;
}

.pageContent .tblStyle2 th {
  color: #242883;
  font-weight: bold;
  padding: 10px;
  line-height: 1.4;
  font-size: 12px;
}

.pageContent .tblStyle2 .am td, .pageContent .tblStyle2 .pm td {
  padding: 10px;
  line-height: 1.4;
  font-size: 12px;
}

.pageContent .tblStyle2 .am td strong, .pageContent .tblStyle2 .pm td strong {
  font-weight: bold;
  color: #242883;
}

.pageContent .tblStyle2 .am th, .pageContent .tblStyle2 .am td, .pageContent .tblStyle2 .pm th, .pageContent .tblStyle2 .pm td {
  border-right: 1px solid lightgrey;
  border-bottom: 1px solid lightgrey;
  vertical-align: top;
}

.pageContent .tblStyle2 .pm th, .pageContent .tblStyle2 .pm td {
  background: #f5f7f8;
}

.pageContent .yokadocTbl td, .pageContent .yokadocTbl th {
  font-size: 14px;
}

.pageContent .yokadocTbl strong {
  color: #242883;
}

.pageContent .tblStyle3, .pageContent .tblForm {
  border: lightgrey 1px solid;
  width: 100%;
}

.pageContent .tblStyle3 td, .pageContent .tblStyle3 th, .pageContent .tblForm td, .pageContent .tblForm th {
  border: lightgrey 1px solid;
}

.pageContent .tblStyle3--top {
  margin-bottom: 30px;
}

.pageContent .tblStyle3--top td {
  vertical-align: top;
}

.pageContent .tblStyle3 th, .pageContent .tblForm th {
  background: #f5f7f8;
}

.pageContent .tblStyle3 th .must, .pageContent .tblForm th .must {
  font-size: 11px;
  font-weight: normal;
  background: #fff;
  color: #f00;
  border: 1px solid #f00;
  display: block;
  float: right;
  padding: 0px 3px;
}

.pageContent .tblStyle3--center th, .pageContent .tblStyle3--center td {
  text-align: center;
}

.pageContent .tblStyle4 {
  border: lightgrey 1px solid;
  width: 100%;
  margin-bottom: 30px;
}

.pageContent .tblStyle4 th {
  background: #f5f7f8;
  width: 28%;
}

.pageContent .tblStyle4 th, .pageContent .tblStyle4 td {
  border: lightgrey 1px solid;
}

.pageContent .tblStyle5 {
  border: lightgrey 1px solid;
  width: 100%;
  margin-bottom: 20px;
}
.pageContent .tblStyle5 thead th, .pageContent .tblStyle5 thead td {
  background: #f0f0f0;
}
.pageContent .tblStyle5 th, .pageContent .tblStyle5 td {
  border: lightgrey 1px solid;
}
.pageContent .tblStyle5 th {
  background: #f5f7f8;
}
.pageContent .tblStyle5 td {
  width: 16%;
  text-align: center;
}
.pageContent .tblStyle5 td span {
  font-size: 10px;
}
.pageContent .sendBtn {
  margin: 30px 0 0;
}

.pageContent .sendBtn img {
  width: auto;
  margin: 0 auto;
}

.pageContent .sendBtn .wpcf7-submit {
  padding: 10px 30px;
  font-size: 15px;
  background-color: #242883;
  color: #fff;
  border-style: none;
  display: block;
  margin: 0 auto;
  cursor: pointer;
}

.pageContent .tblForm th, .pageContent .tblForm td {
  display: block;
  font-size: 14px;
}

.pageContent .tblForm th {
  vertical-align: top;
  border-bottom: none;
  border-top: none;
}

.pageContent .tblForm .wpcf7-text, .pageContent .tblForm .wpcf7-number, .pageContent .tblForm .wpcf7-textarea {
  border: 1px solid lightgrey;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
  font-size: 16px;
  line-height: 1.6;
  width: 60%;
}

.pageContent .tblForm .wpcf7-textarea {
  width: 90%;
}

.pageContent .tblForm .wpcf7-textarea {
  height: 100px;
}

.pageContent .tblForm .wpcf7-date {
  border: 1px solid lightgrey;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
  line-height: 1.6;
}

.pageContent .tblForm .row {
  margin-bottom: 10px;
}

.pageContent .wpcf7-radio, .pageContent .wpcf7-checkbox {
  display: block;
  overflow: hidden;
  *zoom: 1;
}

.pageContent .wpcf7-radio .wpcf7-list-item, .pageContent .wpcf7-checkbox .wpcf7-list-item {
  display: block;
  float: left;
  margin-right: 15px;
}

.pageContent .checkup .wpcf7-radio .wpcf7-list-item, .pageContent .checkup .wpcf7-checkbox .wpcf7-list-item, .pageContent .yoka .wpcf7-radio .wpcf7-list-item, .pageContent .yoka .wpcf7-checkbox .wpcf7-list-item {
  float: none;
}

.pageContent .name1 input, .pageContent .kana1 input {
  margin-bottom: 10px;
}

.pageContent .zip1 input, .pageContent .zip2 input, .pageContent .year input, .pageContent .month input, .pageContent .year input {
  width: 20% !important;
}

.pageContent table .birth .col {
  width: 85px;
  margin-bottom: 10px;
}

.pageContent table .birth .col input {
  width: 60px !important;
}

.pageContent table .bg1 {
  background: white !important;
}

.pageContent table .bg2 {
  background: #e8c7b7 !important;
  color: #000;
}

.pageContent table .bg3 {
  background: #c0dedc !important;
  color: #000;
}

.pageContent .bg {
  background: #e6eaf5;
  padding: 20px;
}

.pageContent .bg .heading {
  padding: 0;
  margin: 0 0 15px;
  background: none;
  font-size: 14px;
  font-weight: bold;
}

.pageContent .border {
  border: 3px solid #e6eaf5;
  padding: 20px 20px 10px;
}

.pageContent .postDate {
  position: relative;
  height: 25px;
}

.pageContent .postDate p {
  position: absolute;
  width: 100%;
  top: -5px;
  text-align: right;
}

.the_content {
  margin-bottom: 60px;
}

.the_content img {
  width: auto;
}

.smallNav {
  margin-bottom: 30px;
}

.smallNav li {
  margin-bottom: 10px;
}

.smallNav a {
  display: block;
  background: #e6eaf5;
  position: relative;
  padding-left: 15px;
  line-height: 40px;
}

.smallNav span {
  display: block;
  width: 32px;
  height: 40px;
  text-align: center;
  background: #5877ba;
  position: absolute;
  top: 0;
  right: 0;
}

.smallNav span i {
  color: #fff;
}

.call {
  margin-top: 40px;
}

.call .heading {
  background: #242883;
  color: #fff;
  font-size: 16px;
  text-align: center;
  padding: 5px;
}

.call .cont {
  background: #f5f7f8;
  padding: 10px;
}

.call .hour {
  background: #fff;
  padding: 10px;
  margin-bottom: 10px;
  text-align: center;
}

.call .number {
  text-align: center;
  font-size: 30px;
  margin-bottom: 10px;
}

.call .number i {
  font-size: 66%;
  margin-right: 5px;
  position: relative;
  top: -4px;
  color: #c4c6c6;
}

.call .note {
  text-align: center;
  line-height: 1.4;
}

.call img {
  display: none;
}

.call a {
  text-decoration: none;
}

.spBtn {
  margin: 10px 50px 0;
}

.spBtn a {
  display: block;
  color: #fff;
  padding: 5px;
  text-align: center;
  background: #242883;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
}

.spBtn a i {
  margin-right: 5px;
}

#footerNav {
  background: #f5f7f8;
  border-top: 1px solid lightgrey;
}

#footerNav .wrap {
  width: auto;
  padding: 30px 10px 15px;
}

#footerNav li {
  margin-bottom: 15px;
}

#footerNav .pagetop {
  display: none;
}

footer .wrap {
  padding: 20px 0;
}

footer .logo {
  width: 120px;
  margin: 10px auto;
}

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

footer p {
  text-align: center;
  font-size: 12px;
  line-height: 1.6;
}

footer p span {
  display: block;
}

.articles h2 {
  margin-bottom: 5px;
}

.articles article a, .articles .article a {
  display: block;
  border-bottom: 1px dotted lightgrey;
  padding: 10px 0;
  color: #000;
  overflow: hidden;
  *zoom: 1;
}

.articles article a:hover, .articles .article a:hover {
  background: #f5f7f8;
}

.articles article a i, .articles .article a i {
  color: #666;
}

.articles article .img, .articles .article .img {
  width: 60px;
  float: left;
}

.articles article .img img, .articles .article .img img {
  margin-bottom: 0;
  height: auto;
}

.articles article .txt, .articles .article .txt {
  padding: 0 0 0 70px;
}

.articles article h3, .articles .article h3 {
  background: none;
  padding: 0;
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.4;
  color: #000;
}

.articles article h3 i, .articles .article h3 i {
  margin-left: 5px;
}

.articles article p, .articles .article p {
  line-height: 1.4;
  display: none;
  line-height: 1.4;
}

.articles article p.date, .articles .article p.date {
  color: #242883;
  display: block;
}

.articles article p.date2, .articles .article p.date2 {
  color: #242883;
  display: block;
  margin-bottom: 0;
}

.articles article p.ttl, .articles .article p.ttl {
  display: block;
  margin-bottom: 0;
}

.articles article .date, .articles .article .date {
  margin-bottom: 5px;
}

/* parent page
-------------------------*/
.parentCatch {
  font-size: 16px;
  margin-bottom: 30px;
}

#childIndex, #childIndex2 {
  margin-bottom: 40px;
}

#childIndex li, #childIndex2 li {
  margin-bottom: 20px;
}

#childIndex a .abst, #childIndex2 a .abst {
  margin-top: 5px;
  color: #000;
}

#childIndex .ttl, #childIndex2 .ttl {
  font-size: 16px;
  padding: 5px 35px 5px 10px;
  background: url("../img/bg_child_index.png") no-repeat right center #e6eaf5;
  line-height: 1.4;
}

/* home
---------------*/
#topInfo {
  background: #f5f7f8;
  border-top: 1px solid lightgrey;
  padding: 10px 10px 1px;
}

#topInfo section {
  margin-bottom: 10px;
}

#topInfo h2 {
  background: #5877ba;
  color: #fff;
  padding: 10px 5px;
  margin-bottom: 5px;
  font-size: 15px;
  position: relative;
  padding-left: 10px;
}

#topInfo h2 i {
  position: absolute;
  right: 10px;
  top: 10px;
}

#topInfo .data {
  display: none;
}

#topInfo p {
  line-height: 1.4;
}

#topInfo strong {
  font-weight: bold;
  color: #cc0000;
}

#topInfo .hour {
  font-size: 12px;
}

#topInfo .sec1 span {
  display: block;
}

#topInfo .sec1 .txt1 {
  clear: both;
  margin-bottom: 5px;
}

#topInfo .sec2 .phone {
  padding-top: 5px;
  overflow: hidden;
  *zoom: 1;
  clear: both;
}

#topInfo .sec2 .phone dt {
  float: left;
  width: 9em;
  clear: both;
}

#topInfo .sec2 .phone dd {
  font-size: 16px;
  padding-bottom: 5px;
}

#serviceNav {
  padding: 0 10px;
}

#serviceNav a {
  color: #000;
}

#serviceNav a:hover {
  background: #f5f7f8;
}

#serviceNav dl {
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px dotted lightgrey;
}

#serviceNav dl dt {
  font-size: 16px;
  font-weight: bold;
  color: #242883;
  margin-bottom: 10px;
}

#serviceNav dl dd {
  line-height: 1.4;
}

#serviceNav i {
  color: #000;
  margin-left: 5px;
}

#unitNav {
  margin-top: 20px;
  margin-bottom: 30px;
}

#unitNav dl {
  margin-bottom: 15px;
}

#unitNav dt {
  font-size: 16px;
  font-weight: bold;
}

#unitNav dt a {
  display: block;
  color: #fff;
  padding: 17px 20px;
  position: relative;
}

#unitNav dt a i {
  display: block;
  width: 30px;
  height: 30px;
  color: #000;
  background: #fff;
  font-size: 75%;
  position: absolute;
  top: 0;
  right: 0;
}

#unitNav dt a i:before {
  position: relative;
  top: 9px;
  left: 11px;
}

#unitNav .unit01 dt a {
  background: #00a0c9;
}

#unitNav .unit02 dt a {
  background: #35aba3;
}

#unitNav .unit03 dt a {
  background: #5877ba;
}

#unitNav .unit04 dt a {
  background: #5db7e8;
}

#unitNav .unit01 dt a:hover {
  background: #0188ab;
}

#unitNav .unit02 dt a:hover {
  background: #2d928a;
}

#unitNav .unit03 dt a:hover {
  background: #4b659e;
}

#unitNav .unit04 dt a:hover {
  background: #509bc5;
}

#unitNav .img {
  display: none;
}

#unitNav .txt {
  background: #f5f7f8;
  padding: 10px;
  line-height: 1.4;
}

#sideUnitNav {
  margin-bottom: 20px;
}

#sideUnitNav li {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 1px;
}

#sideUnitNav li a {
  display: block;
  color: #fff;
  padding: 17px 20px;
  position: relative;
}

#sideUnitNav li a i {
  display: block;
  width: 30px;
  height: 30px;
  color: #000;
  background: #fff;
  font-size: 75%;
  position: absolute;
  top: 0;
  right: 0;
}

#sideUnitNav li a i:before {
  position: relative;
  top: 9px;
  left: 11px;
}

#sideUnitNav .unit01 a {
  background: #00a0c9;
}

#sideUnitNav .unit02 a {
  background: #35aba3;
}

#sideUnitNav .unit03 a {
  background: #5877ba;
}

#sideUnitNav .unit04 a {
  background: #5db7e8;
}

#sideUnitNav .unit01 a:hover {
  background: #0188ab;
}

#sideUnitNav .unit02 a:hover {
  background: #2d928a;
}

#sideUnitNav .unit03 a:hover {
  background: #4b659e;
}

#sideUnitNav .unit04 a:hover {
  background: #509bc5;
}

#googlemap {
	position: relative;
	overflow-y: hidden;
  height: 350px;
}

#googlemap iframe {
	position: absolute;
	top: -150px;
	left: 0;
	width: 100%;
	height: calc(100% + 150px * 2);
}

#voice .flipsnap {
  overflow: hidden;
  *zoom: 1;
}

#voice .flipsnap li {
  width: 150px;
  margin-right: 10px;
  float: left;
}

#voice .subGrp ul {
  overflow: hidden;
  *zoom: 1;
}

#voice .subGrp li {
  float: left;
  width: 235px;
  border-left: 5px solid #e6eaf5;
  padding: 3px 0 3px 8px;
  margin-bottom: 5px;
  margin-right: 0;
  font-size: 14px;
  font-weight: bold;
}

#voice .subGrp li a {
  color: #242883;
}

#voice .subGrp li a:hover {
  text-decoration: underline;
}

#voice .subGrp li .ttl2 {
  font-size: 11px;
  font-weight: normal;
  color: #000;
}

#voice ul a {
  overflow: hidden;
  *zoom: 1;
  display: block;
  color: #000;
}

#voice ul a .img {
  width: 60px;
  float: left;
  margin-right: 20px;
}

#voice ul a .ttl {
  display: block;
  padding-top: 15px;
  font-size: 11px;
}

.topBanner {
  display: none;
}

.topBannerSp {
  display: block;
  margin-bottom: 10px;
}

.topBannerSp img {
  width: 100%;
}

/* contact page
---------------
.parent-pageid-266 #gNav, .parent-pageid-266 #topInfo {
  display: none;
}
*/

/* briefletter
---------------*/
#blBackNumber {
  overflow: hidden;
  *zoom: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

#blBackNumber li {
  /*float: left;*/
  width: 27%;
  padding: 0 3%;
  margin-bottom: 40px;
  /*height: 280px;*/
}

#blBackNumber li img {
  border: 1px solid #ccc;
}

/* utility
---------------*/
.cl {
  clear: both;
}

.cf {
  overflow: hidden;
  *zoom: 1;
}

#sidePr {
  border-top: 1px solid lightgrey;
  background: #f5f7f8;
  margin-bottom: 25px;
}

#sidePr li {
  border-bottom: 1px solid lightgrey;
  line-height: 1.4;
}

#sidePr li a {
  color: #000;
  display: block;
}

#sidePr .pr1, #sidePr .pr4 {
  background: url("../img/sidepr_01.png") no-repeat 10px center;
}

#sidePr .pr1 a, #sidePr .pr4 a {
  overflow: hidden;
  *zoom: 1;
}

#sidePr .pr1 .txt, #sidePr .pr4 .txt {
  display: block;
  padding: 20px 0 20px 65px;
  width: 140px;
  float: left;
  border-right: 1px dotted lightgrey;
}

#sidePr .pr1 .icn, #sidePr .pr4 .icn {
  display: block;
  margin-top: 30px;
  padding-left: 214px;
}

#sidePr .pr1 .icn i, #sidePr .pr4 .icn i {
  color: #242883;
}

#sidePr .pr1 {
  background: url("../img/sidepr_01.png") no-repeat 10px center;
}

#sidePr .pr4 {
  background: url("../img/sidepr_04.png") no-repeat 10px center;
}

#sidePr .pr2 {
  padding: 20px 0 20px 65px;
  background: url("../img/sidepr_02.png") no-repeat 10px center;
}

#sidePr .pr3 {
  padding: 20px 0 20px 65px;
  background: url("../img/sidepr_03.png") no-repeat 10px center;
}

#sidePr .pr5 {
  padding: 20px 0 20px 65px;
  background: url("../img/sidepr_05.png") no-repeat 10px center;
}

.recruiteEntryBtn img {
  width: auto;
}

/*2021_06_02 トップアコーディオン追加*/
.accordionBtn{
  outline: none;
  border: none;
  background: none;
  padding: 20px 45px 20px 20px;
  line-height: 1.5;
  color: #f00;
  font-size: 20px;
  text-align: left;
  font-weight: bold;
  position: relative;
  width: 100%;
  cursor: pointer;
}
.accordionBtn::before{
  content: "";
  width: 0;
  height: 0;
  display: block;
  border-top: 15px solid #f00;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  position: absolute;
  top: 40%;
  right: 20px;
  transition: 0.5s;
}
.accordionBtn.is-opened::before{
  transform: rotate(180deg);
}
.accordionContent{
  display: none;
  padding: 0 20px 20px;
}
.accordionBtn--green{
  color: #1abf1a;
}
.accordionBtn--green.accordionBtn::before{
  border-top-color: #1abf1a;
}

/*2021_06_02 トップ赤枠レイアウト追加*/
.topNews__item a{
  text-decoration: underline;
  word-break: break-all;
}

@media screen and (min-width: 668px) {
  body {
    font-size: 14px;
    min-width: 1020px;
  }

  .wrap {
    width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }

  header {
    position: relative;
    width: 1000px;
    margin: 0 auto;
    height: 78px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0 25px;
  }

  header .logo {
    /* position: absolute; */
    /* width: 190px; */
		width: 19%;
    /* top: 16px; */
    margin: 0;
  }

	header .logo a {
		display: block;
	}

  header .topNav {
    display: block;
    /* position: absolute;
    right: 0;
    top: 30px; */
		flex-shrink: 0;
  }

  header .topNav li {
    float: left;
    border-left: 1px dotted #999;
    /* width: 120px; */
		padding: 0 20px;
    text-align: center;
  }

  header .topNav li a {
    display: block;
    padding: 12px 0;
    color: #000;
  }

  header .topNav li a:hover {
    background: #f5f7f8;
  }

  header .topNav li a i {
    margin-right: 8px;
  }

  header .topNav li.map {
    background: #f5f7f8;
  }

  header .topNav li.map a:hover {
    background: #fff;
  }

  header .topNav li.parking {
    background: #f5f7f8;
    margin-right: 20px;
  }

  header .topNav li.parking a:hover {
    background: #fff;
  }

  header .topNav li.english {
    /* width: 104px; */
  }

  .pc-topInfo{
    /* position: absolute; */
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    /* width: 442px; */
    /* top: 28px;
    left: 215px; */
		flex-shrink: 0;
		gap: 10px;
  }

  .pc-topInfo .phone{
    /* width: 160px; */
    font-weight: bold;
    color: #242883;
    font-size: 12px;
    line-height: 1.5;
		white-space: nowrap;
  }

  .pc-consultationHour {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    /* width: 270px; */
  }
  .pc-consultationHour .heading{
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 45px;
    height: 45px;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    border-radius: 50%;
    background: #25297e;
		margin-right: 10px;
  }

  .pc-consultationHour .data p{
    font-size: 12px;
    line-height: 1.4;
		white-space: nowrap;
  }
  .pc-consultationHour .data p span{
    margin: 0 .5em;
    font-weight: bold;
    color: #cc0000;
  }

  #topInfo {
    padding: 20px 0 5px;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 10000000;
  }

  #topInfo h2 {
    font-size: 12px;
    float: left;
    display: block;
    background: #242883;
    margin-bottom: 5px;
    margin-right: 10px;
    padding: 5px;
  }

  #topInfo h2 i {
    display: none;
  }

  #topInfo .wrap {
    overflow: hidden;
    *zoom: 1;
  }

  #topInfo .data {
    display: block;
  }

  #topInfo .hour {
    clear: both;
    position: relative;
  }

  #topInfo .hour span {
    position: absolute;
    top: -6px;
  }

  #topInfo .sec1 {
    width: 575px;
    float: left;
  }

  #topInfo .sec1 span {
    display: inline;
  }

  #topInfo .sec1 .txt1 {
    clear: none;
  }

  #topInfo .sec1 .txt2 {
    clear: both;
  }

  #topInfo .sec2 {
    width: 415px;
    float: right;
  }

  #topInfo .sec2 .cont1 {
    width: 140px;
    float: left;
  }

  #topInfo .sec2 .cont1 h2 {
    float: none;
  }

  #topInfo .sec2 .cont1 .txt1 {
    font-size: 12px;
  }

  #topInfo .sec2 .phone {
    width: 260px;
    float: right;
    clear: none;
    padding-top: 5px;
  }

  #topInfo .sec2 .phone dt {
    color: #242883;
    margin-right: 10px;
    font-size: 14px;
    width: 60px;
    line-height: 2;
  }

  #topInfo .sec2 .phone dd {
    font-size: 25px;
  }

  #gNav {
    display: block;
    background: #5877ba;
  }

  #gNav .wrap {
    overflow: hidden;
    *zoom: 1;
  }

  #gNav .wrap li {
    width: 166px;
    float: left;
    border-left: 1px solid #fff;
    margin: 0;
  }
  #gNav .wrap li:first-child {
    border-top: none;
  }

  #gNav .wrap li.spo {
    display: none;
  }

  #gNav .wrap li.home {
    border-left: none;
    width: 164px;
  }

  #gNav .wrap li a {
    display: block;
    padding: 20px 0;
    text-align: center;
    color: #fff;
    font-weight: bold;
    height: auto;
    font-size: 13px;
    margin: 0;
    line-height: 1.1;
    background: none;
    border-bottom: none;
  }

  #gNav .wrap li a:hover {
    background: #242883;
  }

  #gNav .wrap li i {
    margin-right: 8px;
  }

  #topicPath {
    display: block;
    background: #f5f7f8;
    margin-top: 0;
  }

  #topicPath .wrap {
    padding: 10px 0;
    font-size: 12px;
  }

  #body {
    overflow: hidden;
    *zoom: 1;
    padding-top: 40px;
    padding-bottom: 80px;
  }

  #footerNav .wrap {
    width: 660px;
    padding: 30px 0;
    margin: 0 auto;
    position: relative;
  }

  #footerNav ul {
    overflow: hidden;
    *zoom: 1;
  }

  #footerNav li {
    float: left;
    margin-right: 15px;
    margin-bottom: 10px;
  }

  #footerNav .pagetop {
    display: inline;
    position: absolute;
    right: -90px;
    top: -45px;
  }

  .footer .wrap {
    padding-bottom: 110px;
  }

  /* home
  -------------------------*/
  #mvHome {
    display: block;
    max-width: 1500px;
    margin: 0 auto;
  }

  #mvHome img {
    max-width: 100%;
  }

  #mvHomeSp {
    display: none;
  }

  #serviceNav {
    overflow: hidden;
    *zoom: 1;
    border-top: 1px solid lightgrey;
    border-bottom: 1px solid lightgrey;
    padding: 0 20px;
    margin: 30px 0 30px;
  }

  #serviceNav .sec {
    display: block;
    float: left;
  }

  #serviceNav .sec1 {
    border-left: 1px lightgrey dotted;
  }

  #serviceNav .sec1 dl {
    width: 278px;
  }

  #serviceNav dl {
    border-color: lightgrey;
    border-width: 0 1px 0 0;
    border-style: dotted;
    padding: 20px;
    width: 279px;
    margin-bottom: 0;
  }

  body.home #gNav {
    /* display: none; */
  }

  body.home.blog #gNav {
    display: block;
  }

  #body.home {
    padding-top: 0;
  }

  #unitNav {
    overflow: hidden;
    *zoom: 1;
    margin-right: -20px;
    width: 1020px;
    margin-top: 30px;
    margin-bottom: 20px;
  }

  #unitNav dl {
    float: left;
    width: 235px;
    margin-right: 20px;
  }

  #unitNav .img {
    display: block;
  }

  #unitNav .img img {
    display: block;
  }

  #unitNav .txt {
    font-size: 12px;
    line-height: 1.67;
  }

  .topBanner {
    display: block;
    text-align: center;
    margin-top: 15px;
  }

  .topBannerSp {
    display: none;
  }

  /*2021_06_02 トップ赤枠レイアウト追加*/
  .topNews{
    display: flex;
  }
  .topNews__item{
    width: 50%;
  }
  .topNews__item a:hover{
    text-decoration: none;
  }
  /*2021_06_02 トップアコーディオン追加*/
  .accordionBtn{
    padding: 20px;
  }

  /* parent page
  -------------------------*/
  #childIndex, #childIndex2 {
    overflow: hidden;
    *zoom: 1;
    margin-right: -20px;
    width: 765px;
  }

  #childIndex li, #childIndex2 li {
    width: 235px;
    float: left;
    margin: 0 20px 20px 0;
  }

  #childIndex li .ttl, #childIndex2 li .ttl {
    width: 230px;
    display: table-cell;
    vertical-align: middle;
  }

  /* side
  -------------------------*/
  #side {
    display: block;
  }

  .sideArchive {
    margin-bottom: 30px;
  }

  .sideArchive .hd {
    overflow: hidden;
    *zoom: 1;
    display: block;
    background: #f5f7f8;
    border-top: 1px solid lightgray;
    border-bottom: 1px solid lightgray;
  }

  .sideArchive li {
    background: url("../img/bg_side_archive.png") no-repeat left center;
    padding: 10px 10px 10px 30px;
    line-height: 1.3;
    border-bottom: 1px solid lightgray;
  }

  .sideArchive li a {
    color: #000;
  }

  .sideArchive h2 {
    display: block;
    padding: 10px 0 10px 0px;
    width: 205px;
    float: left;
    text-align: center;
    font-size: 16px;
    border-right: 1px dotted lightgrey;
  }

  .sideArchive .icn {
    padding: 10px 0 10px 0px;
    display: block;
    text-align: center;
  }

  .sideArchive .briefletter {
    display: block;
    border-width: 0 1px 1px;
    border-color: lightgrey;
    border-style: solid;
    color: #000;
  }

  .sideArchive .briefletter .thumb {
    width: 128px;
    margin: 0 auto 15px;
    padding-top: 15px;
  }

  .sideArchive .briefletter img {
    border: 1px solid lightgrey;
    display: block;
    margin: 0px auto 10px;
  }

  .sideArchive .briefletter p {
    font-size: 12px;
    line-height: 1.4;
    padding: 0 15px 10px;
  }

  .sideOutLink a {
    color: #000;
  }

  .sideOutLink li {
    padding-left: 10px;
    border-top: 1px solid lightgray;
    overflow: hidden;
    *zoom: 1;
  }

  .sideOutLink li a {
    display: block;
    padding: 10px 0 10px 0px;
    width: 195px;
    float: left;
    border-right: 1px dotted lightgrey;
  }

  .sideOutLink li a:hover {
    background: #f5f7f8;
  }

  .sideOutLink li a i {
    font-size: 22px;
  }

  .sideOutLink li .icn {
    padding: 10px 0 10px 0px;
    display: block;
    text-align: center;
  }

  .sideOutLink li .ext {
    display: block;
    float: right;
    line-height: 43px;
    margin-right: 5px;
  }

  .sideOutLink .fb a i {
    color: #3b589e;
  }

  .sideOutLink .keiko a i {
    color: #d1906f;
  }

  .sideOutLink .staff a i {
    color: #a5d0cd;
  }

  /* main
  -------------------------*/
  #main {
    width: 745px;
    float: left;
  }

  .pageContent {
    /* column
    ---------------*/
    /* img
    ---------------*/
    /* coder追記ここから */
    /* :: coder追記ここまで */
  }

  .pageContent .cols {
    overflow: hidden;
    *zoom: 1;
    width: 765px;
    margin-right: -20px;
  }

  .pageContent .cols .leftCol {
    width: 405px;
    margin-right: 20px;
    float: left;
  }

  .pageContent .cols .leftCol-w-auto {
    width: auto;
    float: left;
  }

  .pageContent .cols .leftColLg {
    width: 490px;
    margin-right: 20px;
    float: left;
  }

  .pageContent .cols .rightCol {
    width: 320px;
    margin-right: 20px;
    float: left;
  }

  .pageContent .rightCol_flow-right {
    width: 320px;
    margin-left: 20px;
    float: right;
  }

  .pageContent .cols .leftColEq {
    width: 362px;
    margin-right: 21px;
    float: left;
  }

  .pageContent .cols .rightColEq {
    width: 362px;
    margin-right: 20px;
    float: left;
  }

  .pageContent .cols .col {
    width: 235px;
    margin-right: 20px;
    float: left;
  }

  .pageContent .cols .col .bg {
    padding: 10px;
  }

  .pageContent .alighright {
    width: 320px;
    margin: 0 0 20px 20px;
    float: right;
  }

  .pageContent .alighleft {
    width: 320px;
    margin: 0 20px 20px 00px;
    float: left;
  }

  .pageContent section .qaList .iconQ, .pageContent section .qaList .iconA, .pageContent .section .qaList .iconQ, .pageContent .section .qaList .iconA {
    float: left;
    margin-bottom: 0;
  }

  .pageContent section .qaList .questionBox p, .pageContent section .qaList .answerBox p, .pageContent .section .qaList .questionBox p, .pageContent .section .qaList .answerBox p {
    float: right;
    width: 680px;
    padding-top: 0;
  }

  .pageContent section .qaList .questionBox p, .pageContent .section .qaList .questionBox p {
    padding-top: 0px;
  }

  .pageContent .articles .img {
    width: 80px;
  }

  .pageContent .articles .txt {
    padding: 5px 0 0 90px;
  }

  .pageContent .articles .txt p {
    display: block;
  }

  .pageContent .articles .date2 {
    display: block;
    float: left;
    color: #242883;
    width: 150px;
    margin-left: 20px;
  }

	.articles article p.ttl, .articles .article p.ttl {
		padding-left: 170px;
	}

  .pageContent h2 .btn {
    display: block;
    background: #242883;
    color: #fff;
    float: right;
    font-size: 12px;
    padding: 5px 10px;
  }

  .pageContent h2 .btn:hover {
    background: #5877ba;
  }

  .pageContent h2 .btn i {
    font-size: 75%;
    margin-right: 5px;
  }

  .pageContent h3 {
    padding: 10px 10px;
    line-height: 1;
  }

  .smallNav {
    width: 765px;
    margin-right: -20px;
    margin-bottom: 30px;
    overflow: hidden;
    *zoom: 1;
  }

  .smallNav li {
    float: left;
    width: 235px;
    margin-right: 20px;
  }

  #voice {
    margin-bottom: 0px;
    overflow: hidden;
    *zoom: 1;
  }

  #voice .flipsnap {
    width: 765px;
    margin-right: -20px;
    margin-bottom: 0;
  }

  #voice .flipsnap li {
    float: left;
    width: 235px;
    margin-right: 20px;
  }

  #voice .flipsnap li .img {
    width: 85px;
  }

  #voice .flipsnap li .ttl {
    margin-top: 20px;
  }

  #voice .flipsnap li .name {
    font-weight: bold;
  }

  #googlemap {
    margin-right: 0px;
  }

  /* call
  ---------------*/
  .call {
    position: relative;
  }

  .call .heading {
    font-size: 20px;
    padding: 5px;
    width: 565px;
  }

  .call .cont {
    width: 555px;
    padding: 10px 10px 0 10px;
    height: 60px;
    overflow: hidden;
    *zoom: 1;
  }

  .call .inner {
    width: 415px;
    float: left;
  }

  .call .hour {
    line-height: 1.4;
    margin-bottom: 10px;
    text-align: left;
    width: 100px;
    float: left;
    padding: 5px;
  }

  .call .hour span {
    display: block;
  }

  .call .number {
    font-size: 34px;
    width: 295px;
    float: right;
    padding-top: 0px;
    /* 20160405追記 */
    margin-bottom: 4px;
    /* 20160405追記 */
  }

  .call .note2 {
    /* 20160405追記 */
    text-align: right;
    font-size: 12px;
    width: 295px;
    float: right;
  }

  .call .note {
    width: 140px;
    float: right;
    text-align: left;
    padding-top: 4px;
    /* 20160405追記 */
    font-size: 12px;
  }

  .call .note span {
    display: block;
  }

  .call img {
    display: block;
    position: absolute;
    right: 0;
    top: -10px;
  }

  /* form table
  ---------------*/
  .pageContent .tblForm th, .pageContent .tblForm td {
    display: table-cell;
  }

  .pageContent .tblForm th {
    border-bottom: 1px solid lightgrey;
    border-top: 1px solid lightgrey;
    width: 190px;
  }

  .pageContent .tblForm .col {
    float: left;
    margin-right: 20px;
  }

  .pageContent .tblForm .name1 {
    margin-bottom: 10px;
  }

  .pageContent .tblForm .name1 input, .pageContent .tblForm .kana1 input {
    width: 160px;
  }

  .pageContent .tblForm .name1 input, .pageContent .tblForm .name2 input, .pageContent .tblForm .kana1 input, .pageContent .tblForm .kana2 input {
    width: 160px;
    margin-bottom: 0 !important;
  }

  .pageContent .tblForm .age input, .pageContent .tblForm .year input, .pageContent .tblForm .month input, .pageContent .tblForm .day input {
    width: 60px;
  }

  .pageContent .tblForm .free textarea {
    width: 95%;
  }

  .pageContent .tblForm .zip1 input {
    width: 60px;
  }

  .pageContent .tblForm .zip2 input {
    width: 80px;
  }

  /* side
  -------------------------*/
  #side {
    width: 235px;
    float: right;
  }

  /* footer
  -------------------------*/
  footer .logo {
    width: 190px;
    margin-bottom: 25px;
  }

  footer p {
    margin-bottom: 10px;
  }

  footer p span {
    display: inline;
  }

  .spBtn {
    display: none;
  }

  /* contact page
  ---------------*/
  .parent-pageid-266 #gNav, .parent-pageid-266 #topInfo {
    display: block;
  }

  /* briefletter
  ---------------*/
  #blBackNumber {
    overflow: hidden;
    *zoom: 1;
  }

  #blBackNumber li {
    /*float: left;*/
    width: 19%;
    padding: 0 3%;
    /*height: 340px;*/
    line-height: 1.3;
  }

  #blBackNumber li small {
    font-size: 11px;
  }
}
/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  overflow: hidden;
}

#cboxWrapper {
  max-width: none;
}

#cboxOverlay {
  position: fixed;
  width: 100%;
  height: 100%;
}

#cboxMiddleLeft, #cboxBottomLeft {
  clear: left;
}

#cboxContent {
  position: relative;
}

#cboxLoadedContent {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

#cboxTitle {
  margin: 0;
}

#cboxLoadingOverlay, #cboxLoadingGraphic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow {
  cursor: pointer;
}

.cboxPhoto {
  float: left;
  margin: auto;
  border: 0;
  display: block;
  max-width: none;
  -ms-interpolation-mode: bicubic;
}

.cboxIframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
}

#colorbox, #cboxContent, #cboxLoadedContent {
  box-sizing: content-box;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
}

/*
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay {
  background: #fff;
}

#colorbox {
  outline: 0;
}

#cboxTopLeft {
  width: 25px;
  height: 25px;
  background: url("../img/border1.png") no-repeat 0 0;
}

#cboxTopCenter {
  height: 25px;
  background: url("../img/border1.png") repeat-x 0 -50px;
}

#cboxTopRight {
  width: 25px;
  height: 25px;
  background: url("../img/border1.png") no-repeat -25px 0;
}

#cboxBottomLeft {
  width: 25px;
  height: 25px;
  background: url("../img/border1.png") no-repeat 0 -25px;
}

#cboxBottomCenter {
  height: 25px;
  background: url("../img/border1.png") repeat-x 0 -75px;
}

#cboxBottomRight {
  width: 25px;
  height: 25px;
  background: url("../img/border1.png") no-repeat -25px -25px;
}

#cboxMiddleLeft {
  width: 25px;
  background: url("../img/border2.png") repeat-y 0 0;
}

#cboxMiddleRight {
  width: 25px;
  background: url("../img/border2.png") repeat-y -25px 0;
}

#cboxContent {
  background: #fff;
  overflow: hidden;
}

.cboxIframe {
  background: #fff;
}

#cboxError {
  padding: 50px;
  border: 1px solid #ccc;
}

#cboxLoadedContent {
  margin-bottom: 20px;
}

#cboxTitle {
  position: absolute;
  bottom: 0px;
  left: 0;
  text-align: center;
  width: 100%;
  color: #999;
}

#cboxCurrent {
  position: absolute;
  bottom: 0px;
  left: 100px;
  color: #999;
}

#cboxLoadingOverlay {
  background: white url("../img/loading.gif") no-repeat 5px 5px;
}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {
  border: 0;
  padding: 0;
  margin: 0;
  overflow: visible;
  width: auto;
  background: none;
}

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {
  outline: 0;
}

#cboxSlideshow {
  position: absolute;
  bottom: 0px;
  right: 42px;
  color: #444;
}

#cboxPrevious {
  position: absolute;
  bottom: 0px;
  left: 0;
  color: #444;
}

#cboxNext {
  position: absolute;
  bottom: 0px;
  left: 63px;
  color: #444;
}

#cboxClose {
  position: absolute;
  bottom: 0;
  right: 0;
  display: block;
  color: #444;
}

/*
  The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill
  when an alpha filter (opacity change) is set on the element or ancestor element.  This style is not applied to or needed in IE9.
  See: http://jacklmoore.com/notes/ie-transparency-problems/
*/
.cboxIE #cboxTopLeft,
.cboxIE #cboxTopCenter,
.cboxIE #cboxTopRight,
.cboxIE #cboxBottomLeft,
.cboxIE #cboxBottomCenter,
.cboxIE #cboxBottomRight,
.cboxIE #cboxMiddleLeft,
.cboxIE #cboxMiddleRight {
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);
}

/* Foundation v2.1.4 http://foundation.zurb.com */
/* Artfully masterminded by ZURB  */
/* --------------------------------------------------
   Table of Contents
-----------------------------------------------------
:: Shared Styles
:: Page Name 1
:: Page Name 2
*/
/* -----------------------------------------
   Shared Styles
----------------------------------------- */
table th {
  font-weight: bold;
}

table td, table th {
  padding: 9px 10px;
  text-align: left;
}

/* 追記 PC */
.mb20 {
  margin-bottom: 20px;
}

.empty-area {
  display: inline-block;
  width: 75px;
}

.cols-3 {
  float: left;
  width: 30%;
  margin-right: 3%;
}

.cols-3:last-child {
  margin-right: 0;
}

/* Mobile */
@media only screen and (max-width: 767px) {
  table.responsive {
    margin-bottom: 0;
  }

  .pinned {
    position: absolute;
    left: 0;
    top: 0;
    background: #fff;
    width: 35%;
    overflow: hidden;
    overflow-x: scroll;
    border-right: 1px solid #ccc;
    border-left: 1px solid #ccc;
  }

  .pinned table {
    border-right: none;
    border-left: none;
    width: 100%;
  }

  .pinned table th, .pinned table td {
    white-space: nowrap;
  }

  .pinned td:last-child {
    border-bottom: 0;
  }

  div.table-wrapper {
    position: relative;
    margin-bottom: 20px;
    overflow: hidden;
    border-right: 1px solid #ccc;
  }

  div.table-wrapper div.scrollable {
    margin-left: 35%;
  }

  div.table-wrapper div.scrollable {
    overflow: scroll;
    overflow-y: hidden;
  }

  table.responsive td, table.responsive th {
    position: relative;
    white-space: nowrap;
    overflow: hidden;
  }

  table.responsive th:first-child, table.responsive td:first-child, table.responsive td:first-child, table.responsive.pinned td {
    display: none;
  }

  /* 20160527追記 */
  #voice ul a .ttl-2line {
    padding-top: 0;
  }

  .empty-area {
    display: none !important;
  }

  .cols-3 {
    float: none;
    width: 100%;
    margin-right: 0%;
  }
}
/*
/*  sp nav
/* ---------------------------- */
.map-link{
  display: none;
}
@media screen and (max-width: 667px){
  .map-link{
  display: block;
  position: absolute;
  top:  10px;
  right: 60px;
  background-color: #242883;
  color: #fff;
  width: 75px;
  height: 38px;
  border-radius: 4px;
  text-align: center;
  line-height: 38px;
 }
 .map-link a{
  color: #fff;
 }
}
.tel-link{
  display: none;
}
@media screen and (max-width: 667px){
  .tel-link{
    display: block;
    position: absolute;
    top: 10px;
    right: 143px;
    background-color: #242883;
    width: 38px;
    height: 38px;
    border-radius: 4px;
  }
  .tel-link a{
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;

    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 6px;
  }
  .tel-link img{
    width: 100%;
    display: block;
    max-width: 40px;
  }
}

#mvHomeSp {
  padding-top: 0;
}
@media screen and (min-width: 668px) {
  #mvHomeSp {
    padding-top: 0;
  }
}

.navi-btn {
  border: 1px solid #242883;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
  position: fixed;
  right: 10px;
  top: 10px;
  width: 40px;
  height: 36px;
  cursor: pointer;
  z-index: 10000000;
}
@media screen and (min-width: 668px) {
  .navi-btn {
    display: none;
  }
}
.navi-btn div {
  position: relative;
}
.navi-btn span {
  display: block;
  position: absolute;
  height: 4px;
  width: 24px;
  background: #242883;
  left: 8px;
  transition: 0.8s;
}
.navi-btn span:nth-child(1) {
  top: 7px;
}
.navi-btn span:nth-child(2) {
  top: 16px;
}
.navi-btn span:nth-child(3) {
  top: 25px;
}
.navi-btn--open span:nth-child(1) {
  top: 16px;
  transform: rotate(315deg);
  right: 6px;
}
.navi-btn--open span:nth-child(2) {
  width: 0;
  left: 50%;
}
.navi-btn--open span:nth-child(3) {
  top: 16px;
  transform: rotate(-315deg);
  right: 6px;
}

@media screen and (min-width: 668px) {
  .home .sp-hidden {
    /* height: 0; */
  }
}
@media screen and (min-width: 668px) {
  .home.blog .sp-hidden {
    height: 54px;
  }
}

.sp-hidden {
  position: fixed;
  top: -100vh;
  left: 0;
  transition: 0.8s;
  width: 100%;
  background: #f5f7f8;
  height: 100vh;
  padding-top: 56px;
  overflow-y: scroll;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 1000;
}
@media screen and (min-width: 668px) {
  .sp-hidden {
    position: static;
    padding-top: 0;
    height: 54px;
    overflow-y: visible;

    transition: none;

    position: sticky;
    top: 0;
  }
}
.sp-hidden--open {
  top: 0;
  transition: 0.8s;
}

.flow p {
  background: #E6EAF5;
  position: relative;
  margin-bottom: 65px !important;
  padding: 10px;
}
@media screen and (min-width: 668px) {
  .flow p {
    font-size: 16px !important;
  }
}
.flow p:after {
  position: absolute;
  bottom: -57px;
  left: 50%;
  margin-left: -19px;
  content: "";
  display: block;
  background: url(../img/img_arrow.png) no-repeat center / contain;
  width: 38px;
  height: 47px;
}
.flow p:last-child:after {
  display: none;
}
.flow p span {
  font-size: 12px;
}
@media screen and (min-width: 668px) {
  .flow p span {
    font-size: 14px;
  }
}

.txt-link {
  color: #000000;
  text-decoration: underline;
}

@media only screen and (max-width: 387px) {
  .recruiteEntryBtn img {
    width: 100%;
  }
}

.sp-topInfo{
  display: none;
}
.consultationHour{
  display: none;
}
.fixed {
  position: fixed;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 667px) {
  header{
  	height: auto;
  	padding: 10px 0 0;
  }

  header .logo{
  	padding: 0 10px;
  }

  #gNav {
    padding: 19px 0 117px;
  }

  .pc-topInfo{
    display: none;
  }

  .sp-topInfo{
    display: block;
  	margin-top: 8px;
  }

  .sp-topInfo .phone{
  	margin-bottom: 5px;
  	padding: 0 10px;
  	font-size: 14px;
  	font-weight: bold;
  	color: #242883;
  	line-height: 1.2857;

    font-size: 11px;
  }

  .sp-topInfo .phone a{
  	color: #242883;
  	text-decoration: none;
  }

  .consultationHour{
  	display: -webkit-flex;
  	display: -ms-flex;
  	display: flex;
  	-ms-align-items: center;
  	align-items: center;
    margin-top: 75px;
  	padding: 10px 15px;
  	-webkit-box-sizing: border-box;
  	box-sizing: border-box;
  	background: #f5f7f8;
  }

  .consultationHour h2{
  	display: -webkit-flex;
  	display: -ms-flex;
  	display: flex;
  	justify-content: center;
  	-ms-align-items: center;
  	align-items: center;
  	min-width: 39px;
  	min-height: 39px;
  	margin-right: 8px;
  	font-size: 12px;
  	font-weight: bold;
  	color: #fff;
  	border-radius: 50%;
  	background: #25297e;
  }

  .consultationHour p{
  	font-size: 13px;
  	line-height: 1.3846;

    font-size: 11px;
  }

  .consultationHour p span{
  	display: inline-block;
  	margin: 0 .5em;
  	color: #cc0000;
  }

  .consultationHour .data .wrap{
  	display: -webkit-flex;
  	display: -ms-flex;
  	display: flex;
  }

  .consultationHour .data .wrap p + p{
  	margin-left: 1em;
  }
  #serviceNav{
    margin-top: 15px;
    margin-bottom: 30px;
  }
}