@charset "utf-8";

/* ---------- general ---------- */

img {
  max-width: 100% !important;
  height: auto !important;
}

* {
  -moz-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
}

.spHide {
  display: none;
}
a.spAlt,
br.spAlt,
.spAlt {
  display: inline;
}
a.spAlt {
  color: #000;
}

/* ---------- header ---------- */

header {
  height: 80px;
  -webkit-box-shadow: 0 5px 5px rgba(0, 0, 0, 0.3);
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.3);
}
header.openSpMenu {
  -webkit-box-shadow: none;
  box-shadow: none;
}

header #header_wrap {
  width: 100%;
  min-width: 0;
  height: 80px;
}

header #header_wrap h1 {
  width: 110px;
  height: 65px;
  padding: 15px 10px 0;
}
header #header_wrap h1 a {
  position: static;
}

header .global_navi {
  width: 100% !important;
  height: 0;
  min-width: 0;
  top: 80px;
  z-index: 1000;
  overflow: hidden;
  background: #fff;
  -webkit-transition: height 0.5s ease-out;
  transition: height 0.5s ease-out;
  -webkit-box-shadow: 0 5px 5px rgba(0, 0, 0, 0.3);
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.3);
}
header.openSpMenu .global_navi {
  height: 150px;
}
header .global_navi::after {
  content: "";
  display: block;
  clear: both;
  visibility: hidden;
}
header .colorHeader .global_navi {
  background: #ffbf00;
}

header .global_navi li {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 50%;
  border-bottom: 1px solid #ffbf00;
}
header .global_navi li:nth-of-type(odd) {
  border-right: 1px solid #ffbf00;
}
header .global_navi li:nth-of-type(-n + 2) {
  border-top: 1px solid #ffbf00;
}
header .global_navi li:nth-of-type(n + 5) {
  border-bottom: none;
}
header .global_navi li a {
  width: 100%;
  height: 50px;
  background: none;
  color: #475055;
  text-indent: 0;
  text-decoration: none;
  text-align: center;
  line-height: 50px;
}
header .global_navi li a:hover,
header .colorHeader .global_navi li a,
header .colorHeader .global_navi li a:hover {
  background: none !important;
}
header .global_navi li.selected a {
  background: #ffbf00;
}
header .global_navi li.selected a span {
  display: inline;
  background: none;
}
header .global_navi_sub {
  display: none !important;
}

#spMenuBtn {
  display: block;
  width: 80px;
  height: 80px;
  position: absolute;
  top: 0;
  right: 0;
  background: url(../images/common/menu/bt_sp.png) 50% 50% no-repeat;
  background-size: 28px 28px;
}

/* ---------- main ---------- */

#main_visual {
  padding: 80px 0 0;
}

/* top */

#top #main_visual .flexslider {
  height: auto;
}
#top #main_visual .flexslider ul li a img {
  width: 100%;
  min-width: 0;
  min-height: 0;
}

#top #main .content {
  min-width: 0;
  background: #e0e7ee;
}

#top #main .content #recruit {
  width: 100%;
  min-height: 0;
  position: static;
  border: none;
  background: none;
}
#top #main .content #recruit h2 {
  background: url(../images/top/bg_recruit.png) 0 0 repeat;
  background-size: auto;
  overflow: hidden;
}
#top #main .content #recruit h2 img {
  width: auto;
}
#top #main .content #recruit p {
  padding: 15px 10px 0 !important;
}

#top #main .content #recruit p.label a {
  color: #333;
  display: block;
  line-height: 1.6;
  text-decoration: none;
  min-height: 2em;
}
#top #main .content #recruit p.label a:before {
  content: attr(data-label);
}
#top #main .content #recruit p.label a img {
  display: none;
}

#top #main .content #recruit dl {
  padding: 15px 10px;
  /*background: url(../images/top/img_recruit.png) 0 -60px no-repeat;*/
  background-size: 100% auto;
}

#top #main .content #recruit dl dt {
  padding: 15px 0;
}
#top #main .content #recruit dl dd ul li a {
  padding: 15px 0;
}
#top #main .content #recruit dl dd ul li a span {
  padding: 0 0 0 15px;
  background-position: 0 0;
  font-size: 100%;
}

#top #main .content #service {
  margin: 0;
  padding: 0;
  background: #f6f6f6;
}
#top #main .content #service #service_wrap {
  padding: 15px 0 20px;
}
#top #main .content #service .caption {
  padding: 0 10px;
}
#top #main .content #service .caption h2 {
  width: 50%;
  float: none;
}
#top #main .content #service .caption .link {
  padding: 10px 0 0;
  float: none;
}

#top #information #information_wrap {
  padding: 15px 10px 20px;
}
#top #information #information_wrap h2 {
  width: 70%;
  margin: 0 0 20px;
}
#top #information #information_wrap table,
#top #information #information_wrap table tbody,
#top #information #information_wrap table tr,
#top #information #information_wrap table th,
#top #information #information_wrap table td {
  display: block;
}
#top #information #information_wrap table th {
  width: auto;
  padding: 10px 10px 0;
  background: none;
  font-size: 100%;
}
#top #information #information_wrap table tr:nth-of-type(1) th {
}
#top #information #information_wrap table th div {
  display: block;
  width: 6em;
  padding: 5px 15px;
}
#top #information #information_wrap table td {
  width: auto;
  padding: 10px;
  font-size: 110%;
}

/* 2nd layer */

#key_visual {
  height: 150px;
  padding: 80px 0 0;
  overflow: hidden;
}
#key_visual p {
  left: 0;
  z-index: 100;
}
#key_visual > div > img {
  width: 1280px;
  max-width: 1280px !important;
  position: absolute;
  top: 0;
  right: 0;
}

#key_visual img {
  display: none;
}
#key_visual p img {
  display: block;
}
#key_visual.service {
  background-image: url(../images/service/p_service.png);
  background-position: right bottom;
  background-repeat: no-repeat;
  background-color: #f6f6f6;
}
#key_visual.corporate {
  background-image: url(../images/corporate/p_corporate.png);
  background-position: right bottom;
  background-repeat: no-repeat;
  background-color: #f6f6f6;
}
#key_visual.contact {
  background-image: url(../images/contact/p_contact.png);
  background-position: right bottom;
  background-repeat: no-repeat;
  background-color: #f6f6f6;
}
#key_visual.information {
  background-image: url(../images/contact/p_contact.png);
  background-position: right bottom;
  background-repeat: no-repeat;
  background-color: #f6f6f6;
}

#title {
  margin: 0;
  padding: 20px 10px;
}
#title p {
  font-size: 110%;
  line-height: 1.5;
}
#title p br {
  display: none;
}

.mod_padding_box {
  padding: 20px 10px;
}
.mod_table,
.mod_table tbody,
.mod_table tr,
.mod_table th,
.mod_table td {
  display: block !important;
}
.mod_table th {
  min-width: 0;
  padding: 10px;
  background-image: none;
  font-size: 100%;
  font-weight: bold;
  vertical-align: middle;
}
.mod_table th span.hissu {
  background-size: auto 100%;
}
.mod_table td {
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px;
  font-size: 100%;
}
.min_w_600 {
  min-width: 0;
}
.mod_sq_list li {
  background-position: 0 6px;
}

/* service */

#service {
  min-width: 0;
}

#service #title h2 {
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
  color: #333;
  font-size: 120%;
  font-weight: bold;
  line-height: 1.5;
}

#service ol {
  margin: 0;
  padding: 0;
}
#service ol li {
  min-height: 0;
}
#service ol li#conobell,
#service ol li#buscatch,
#service ol li#kindergarten,
#service ol li#swimming,
#service ol li#accel_gps {
  background-position: 50% 0;
  background-size: cover;
}
#service ol li#buscatch,
#service ol li#kindergarten,
#service ol li#swimming {
  border-bottom: 1px solid #ccc;
}
#service ol li .inner {
  padding: 0 0 20px;
  position: relative;
  background: rgba(255, 255, 255, 0.8);
}
#service ol li#buscatch .label {
  width: 130px;
  height: auto;
  top: 75px;
  right: 10px;
  left: auto;
}
#service ol li h3 {
  margin: 0;
  padding: 20px 10px;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
  font-size: 150%;
  font-weight: bold;
  line-height: 1.5;
  text-shadow: 0 0 3px #fff;
}
#conobell_anc {
  color: #00cbbb;
}
#buscatch_anc {
  color: #c13a28;
}
#kindergarten_anc {
  color: #e78013;
}
#education_anc {
  color: #ea5354;
}
#gakudo_anc {
  color: #17a6a4;
}
#swimming_anc {
  color: #297ebb;
}
#fitness_anc {
  color: #ff3300;
}
#school_anc {
  color: #17a6a4;
}
#accel_gps_anc {
  color: #229203;
}
#nextalk_anc {
  color: #287eba;
}

#service ol li h3 img {
}

#service ol li p {
  max-width: none !important;
  margin: 0 10px;
  padding: 0;
  font-size: 110%;
  line-height: 1.5;
  color: #333;
  text-shadow: 0 0 3px #fff;
}
#service ol li#buscatch p {
  margin: 0 150px 0 10px;
}
#service ol li .more {
  width: 240px;
  margin: 0 auto;
  padding: 0;
  position: static;
  text-align: center;
}
#service ol li .more ul li,
#service ol li .more ul li.btn {
  display: inline-block;
  margin: 20px 0 0;
  padding: 0;
  float: none;
}

/* corporate */

#overview .mod_h3_title {
  width: 61%;
}
#overview a.opacity img {
  width: 120px;
}

#access .mod_h3_title {
  width: 48%;
}
#corporate .address_access {
  padding: 20px 0 0;
}
#corporate .address_access dl dt {
  float: none;
  font-size: 100%;
  font-weight: bold;
}
#corporate .address_access dl dd {
  padding: 0;
  font-size: 100%;
}
#corporate .address_access dl dd ul.tel_fax li {
  margin-right: 20px;
  font-size: 110%;
  font-weight: bold;
}
#corporate #map {
  height: 300px;
}

#message .mod_h3_title {
  width: 56%;
}
#corporate #message h3 {
  padding: 0;
}
#corporate #message p {
  padding: 0;
}
#corporate #message dl {
  padding: 0;
}

/* contact */

#contact .mod_h3_title {
  width: 58%;
}
#contact form a img {
  width: 180px;
}

#contact .textarea {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
}
#contact input.txt {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
}
#contact input.tel {
  width: 6em;
}

/* ---------- footer ---------- */

#breadcrumb ol {
  padding: 20px 10px;
}
#breadcrumb ol li {
  margin: 0 0 0 10px;
}

.backtop {
  padding: 20px 10px;
}

footer #footer_content dl dt {
  padding: 20px 20%;
}
footer #footer_content dl dd {
  padding: 20px 20px;
  position: relative;
}
footer #footer_content dl dd .right_area {
  width: 120px;
  float: none;
  position: absolute;
  top: 20px;
  right: 10px;
}
footer #footer_content dl dd .left_area #address {
  clear: left;
  text-align: left;
}
footer #footer_content dl dd .left_area #address p {
  font-size: 110%;
}
footer #footer_content dl dd ul.tel_fax li {
  margin: 0 0 10px;
  padding: 0 10px;
  font-size: 120%;
}
footer #footer_content dl dd .bottom_area {
  text-align: center;
}
footer #footer_content dl dd .bottom_area ul {
  flex: 0 0 100%;
  text-align: center;
}
footer #footer_content dl dd .bottom_area ul li {
  margin-right: 0;
  padding-right: 0.5em;
}
footer #footer_content dl dd .used,
footer #footer_content dl dd .bottom_area ul.mark {
  width: 100%;
  flex: 0 0 100%;
  justify-content: center;
}
footer p#copyright {
  padding: 20px 10px;
}

#key_visual.not_found {
  height: auto;
}
#key_visual.not_found .inner {
  height: auto;
}
#key_visual.not_found > div {
  height: auto;
  padding: 0;
}
#key_visual.not_found p {
  width: 100%;
  height: auto;
  position: relative;
  left: auto;
  top: auto;
}

#not_found .messageArea {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
#not_found .messageArea dl {
  padding: 10px 10px 0 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
}
#not_found .messageArea dl dt {
  background-size: contain;
}
#not_found .messageArea dl dd {
  background-size: contain;
  padding-right: 20px;
  padding-bottom: 10px;
  padding-left: 20px;
}

/*----------------------------------------
add20170911
------------------------------------------*/
#title .inner {
  background-image: none;
}
#service .list {
}
#service ol {
  overflow-x: hidden;
}
#service ol li#drivingschool {
  background-size: auto 250px;
  background-position: right top;
  padding-top: 250px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#service ol li#drivingschool .inner {
  background: rgba(255, 255, 255, 0);
  padding: 0 0 20px;
}
#service ol li#drivingschool p {
  margin: 0 10px 0 10px;
}
#service ol li#drivingschool .more {
  left: auto;
  margin: 0 auto;
  position: relative;
  bottom: 0;
  right: 0;
}

/*
#drivingschool_anc { width: 100%; }
#buscatch_anc { width: 100%; }
#kindergarten_anc { width: 100%; }
#accel_gps_anc { width: 70.8%; }
*/
#service ol li {
  background-size: auto 250px;
  background-position: right top;
  padding-top: 250px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#service ol li p {
  margin: 0 10px 0 10px;
}
#service ol li .inner {
  background: rgba(255, 255, 255, 0);
  padding: 0 0 20px;
}
#service ol li .more {
  left: auto;
  margin: 0 auto;
  position: relative;
  bottom: 0;
  right: 0;
}

#service ol li#buscatch {
  background-position: right top;
  background-size: auto 250px;
  position: relative;
}
#service ol li#buscatch:before {
  content: " ";
  position: absolute;
  right: 10px;
  top: 0;
  background-image: url(../images/common/buscatch_records_b.png);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 120px 120px;
  width: 120px;
  height: 120px;
  z-index: 150001;
  display: block;
}
#service ol li#buscatch p {
  margin: 0 10px;
}
#service ol li#conobell {
  background-position: right top;
  background-size: auto 250px;
}
#service ol li#kindergarten {
  background-position: right top;
  background-size: auto 250px;
}
#service ol li#education {
  background-position: right top;
  background-size: auto 250px;
}
#service ol li#gakudo {
  background-position: right top;
  background-size: auto 250px;
}
#service ol li#gakudo .inner {
  background-color: #fff;
}
#service ol li#swimming {
  background-position: right top;
  background-size: auto 250px;
}
#service ol li#fitness {
  background-position: right top;
  background-size: auto 250px;
}
#service ol li#school {
  background-position: right top;
  background-size: auto 250px;
}
#service ol li#tennis_school {
  background-position: right top;
  background-size: auto 250px;
}
#service ol li#accel_gps {
  background-position: right top;
  background-size: auto 250px;
}
#service ol li#nextalk {
  background-position: center top;
  background-size: auto 250px;
  padding-top: 250px;
}
#service ol li#nextalk h3 {
  text-align: center;
  margin: 0 auto 20px;
}
#service ol li#nextalk h3 img {
  width: 60%;
  height: auto !important;
  text-align: center;
  margin: 0 auto;
}

#information #main .content #service {
  width: 100%;
  margin: 0;
  padding: 0;
}
#information #main .content #service div.center {
  margin-top: 0;
}
#information #main .content #service ul {
  letter-spacing: -0.4em;
}
#information #main .content #service ul li.grid img {
  width: 100%;
  height: auto;
}
#information #main .content #service ul li.grid .label {
  display: none;
}
#information #main .content #service ul li.grid {
  width: auto;
  min-height: 0;
  margin: 20px auto 0;
  float: none;
  vertical-align: middle;
  display: inline-block;
  width: 100%;
  max-width: 90%;
  letter-spacing: normal;
}
#information #main .content #service ul li.buscatch {
  background-color: #c13a28;
}
#information #main .content #service ul li.drivingschool {
  background-color: #015289;
}
#information #main .content #service ul li.kindergarten {
  background-color: #f49e00;
}
#information #main .content #service ul li.education {
  background-color: #ea5354;
}
#information #main .content #service ul li.gakudo {
  background-color: #17a6a4;
}
#information #main .content #service ul li.swimming {
  background-color: #3395dd;
}
#information #main .content #service ul li.fitness {
  background-color: #ff693f;
}
#information #main .content #service ul li.school {
  background-color: #17a6a4;
}

#information #main .content #service ul li.accell_gps {
  background-color: #1bb05d;
}
#information #main .content #service ul li.nextalk {
  background-color: #2c8cbe;
}
#information #main .content #service ul li.grid h3 {
  margin: 0;
  padding: 0 0 20px;
  background-color: #f6f6f6;
}
#information #main .content #service ul li.grid .label {
  right: 0;
}
#information #main .content #service ul li.grid a img {
  width: 50%;
  float: right;
}
#information #main .content #service ul li.grid .ex {
  width: 50%;
  float: left;
}

#information #main .content #service ul li.grid p {
  width: 100%;
  height: auto !important;
  margin: 0;
  padding: 10px 0 0;
  clear: both;
  background-color: #f6f6f6;
}
#information #main .content #service ul li.grid p br {
  display: none;
}
