@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);
}

body {
  -webkit-text-size-adjust: 100%;
}

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

header {
  height: auto;
}

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

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

header .global_navi {
  height: auto;
  min-width: 0;
  left: 130px;
}
header .global_navi li {
  width: 20%;
}
header .global_navi li a {
  width: 100%;
  height: 80px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: 150% auto;
}
@media only screen and (min-width: 769px) {
  header .global_navi li a {
    background-size: 100% auto;
  }
}
header .global_navi li.selected a span {
  width: 100%;
  height: 80px;
}
header .global_navi_sub {
  display: none !important;
}

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

/* top */

#top #main_visual {
  padding: 80px 0 0;
}
#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 {
  background: #e0e7ee;
}

#top #main .content #recruit {
  width: 30%;
  border: none;
  background: none;
}
#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 0;
  /*background: url(../images/top/img_recruit.png) 0 0 no-repeat;*/
  background-size: 100% auto;
}

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

#top #main .content #service {
  box-sizing: border-box;
  margin: 0 30% 0 0;
  border-right: 1px solid #ccc;
  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: 60%;
}
#top #main .content #service .caption .link {
  padding: 20px 0 0;
}

@media only screen and (max-width: 959px) {
  #top #main .masonry {
    width: auto !important;
    height: auto !important;
  }
  #top #main .masonry-brick {
    height: auto !important;
    position: static !important;
  }
  #top #main .content #service ul li.grid {
    width: auto;
    min-height: 0;
    margin: 20px 10px 0;
    float: none;
  }
  #top #main .content #service ul li.buscatch {
    background-color: #c13a28;
  }
  #top #main .content #service ul li.kindergarten {
    background-color: #f49e00;
  }
  #top #main .content #service ul li.swimming {
    background-color: #3395dd;
  }
  #top #main .content #service ul li.accell_gps {
    background-color: #1bb05d;
  }
  #top #main .content #service ul li.grid h3 {
    margin: 0;
    padding: 0 0 20px;
    background-color: #f6f6f6;
  }
  #top #main .content #service ul li.grid .label {
    right: 0;
  }
  #top #main .content #service ul li.grid a img {
    width: 50%;
    float: right;
  }
  #top #main .content #service ul li.grid .ex {
    width: 50%;
    float: left;
  }
  #main .content #service ul li.grid p {
    width: 100%;
    height: auto !important;
    margin: 0;
    padding: 10px 0 0;
    clear: both;
    background-color: #f6f6f6;
  }
  #main .content #service ul li.grid p br {
    display: none;
  }
}

#top #information #information_wrap {
  padding: 15px 10px 20px;
}
#top #information #information_wrap h2 {
  width: 58%;
  margin: 0 0 20px;
}
#top #information #information_wrap table th {
  width: 6em;
  padding: 20px 10px;
  font-size: 100%;
}
#top #information #information_wrap table th div {
  display: block;
  padding: 5px 15px;
}
#top #information #information_wrap table td {
  font-size: 110%;
}

/* 2nd layer */

#key_visual {
  height: 150px;
  padding: 80px 0 0;
  overflow: hidden;
}
#key_visual .inner {
  height: 100%;
}
#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 {
  padding: 20px 10px;
}
#title p {
  font-size: 110%;
  line-height: 2;
}

.mod_padding_box {
  padding: 20px 10px;
}
.mod_table {
}
.mod_table th {
  min-width: 0;
  padding: 10px;
  font-size: 100%;
  font-weight: bold;
  vertical-align: middle;
}
.mod_table th span.hissu {
  padding-right: 40px;
  background-size: auto 23px;
}
.mod_table td {
  padding: 10px;
  font-size: 100%;
}
.min_w_600 {
  min-width: 0;
}
.mod_sq_list li {
  background-position: 0 4px;
}

/* service */

#service {
  min-width: 0;
}

#service ol {
  margin: 0;
  padding: 0;
}
#service ol li {
  min-height: 0;
}
#service ol li#conobell,
#service ol li#buscatch,
#service ol li#driving_school,
#service ol li#kindergarten,
#service ol li#swimming,
#service ol li#accel_gps {
  background-size: cover;
}
#service ol li#buscatch,
#service ol li#accel_gps {
  background-position: 50% 0;
}
#service ol li#kindergarten,
#service ol li#swimming {
  background-position: 50% 50%;
}
#service ol li .inner {
  min-height: 270px;
  padding: 0 0 20px;
  position: relative;
  background: rgba(255, 255, 255, 0.8);
}
#service ol li#buscatch .label {
  width: 140px;
  height: auto;
  top: auto;
  right: 100px;
  bottom: 125px;
  left: auto;
}
#service ol li h3 {
  margin: 0 0 20px;
  padding: 20px 10px 0;
}
#service ol li h3 img {
  max-height: 80px;
  width: auto;
}

/*
#buscatch_anc {
width: 51.5%;
}
#kindergarten_anc {
width: 46.9%;
}
#accel_gps_anc {
width: 70.8%;
}
#service ol li#nextalk h3 img {
width:70%;
height:auto !important;
}
*/

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

/* corporate */

#overview .mod_h3_title {
  width: 50%;
}
#overview a.opacity img {
  width: 180px;
}

#access .mod_h3_title {
  width: 39%;
}
#corporate .address_access {
  padding: 20px 0 0;
}
#corporate .address_access dl dt {
  width: 7em;
  font-size: 100%;
  font-weight: bold;
}
#corporate .address_access dl dd {
  padding-left: 7em;
  font-size: 100%;
}
#corporate .address_access dl dd ul.tel_fax li {
  margin-right: 20px;
  font-size: 110%;
  font-weight: bold;
}

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

/* contact */

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

#contact .textarea {
  box-sizing: border-box;
  width: 100%;
}
#contact input.txt {
  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 25%;
}
footer #footer_content dl dd {
  padding: 20px 10px;
  position: relative;
}
footer #footer_content dl dd .right_area {
  width: 180px;
  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 {
  font-size: 120%;
}
footer #footer_content dl dd .bottom_area {
  text-align: left;
}
footer #footer_content dl dd .bottom_area ul {
  padding: 30px 0 0;
}
footer #footer_content dl dd .bottom_area ul li {
  margin-right: 0;
  padding-right: 0.5em;
}
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: 30px 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 ol li#drivingschool {
  background-size: auto 300px;
  background-position: right top;
  padding-top: 300px;
  -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: 58.5%; }
#buscatch_anc { width: 51.5%; }
#kindergarten_anc { width: 46.9%; }
#accel_gps_anc { width: 70.8%; }
*/
#service ol li {
  background-size: auto 300px;
  background-position: right top;
  padding-top: 300px;
  -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 300px;
  position: relative;
}
#service ol li#buscatch:before {
  content: none;
  position: absolute;
  left: 10px;
  top: 10px;
  background-image: url(../images/common/buscatch_records_b.png);
  background-position: left top;
  background-repeat: no-repeat;
  width: 167px;
  height: 167px;
  z-index: 150001;
  display: block;
}
#service ol li#conobell {
  background-position: right top;
  background-size: auto 300px;
}
#service ol li#kindergarten {
  background-position: right top;
  background-size: auto 300px;
}
#service ol li#education {
  background-position: right top;
  background-size: auto 300px;
}
#service ol li#gakudo {
  background-color: #47ad98;
  background-position: right top;
  background-size: auto 300px;
}
#service ol li#gakudo .inner {
  background-color: #fff;
}
#service ol li#swimming {
  background-position: right top;
  background-size: auto 300px;
}
#service ol li#fitness {
  background-position: right top;
  background-size: auto 300px;
}
#service ol li#school {
  background-position: right top;
  background-size: auto 300px;
}
#service ol li#tennis_school {
  background-position: right top;
  background-size: auto 300px;
}
#service ol li#accel_gps {
  background-position: right top;
  background-size: auto 300px;
}
#service ol li#nextalk {
  background-position: right top;
  background-size: auto 300px;
}
#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: #f49e00;
}
#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.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;
}
