﻿html {
  font-size: 15px !important;
}
@media (max-width: 768px) {
  html {
    font-size: 16px !important;
  }
}
html {
  position: relative;
  min-height: 100%;
}
body {
  margin-bottom: 60px;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  /*
    font-family: yu-gothic-pr6n,sans-serif;
    font-weight: 400;
    font-style: normal;
    font-family: tbudrgothic-std,sans-serif;
    font-weight: 400;
    font-style: normal;
    */
}
a {
  color: #417600;
  text-decoration: none;
}
a:hover {
  color: #a7dc66;
}
@media (min-width: 992px) {
  header {
    height: 90px;
  }
}
main {
  margin-top: 10px;
  padding-bottom: 60px !important;
}
footer {
  z-index: -999;
  border-top: #417600 10px solid;
  padding-top: 15px;
  font-size: 14px;
}
footer h5 {
  color: #417600;
  font-size: 14px;
  font-weight: bold;
}
footer a {
  display: block;
}
.navbar-brand img {
  width: 300px;
  height: 100px;
}
.btn-primary {
  color: #fff !important;
  background-color: #417600;
  border-color: #417600;
}
.btn-primary:hover {
  background-color: #74a933;
  border-color: #74a933;
}
.btn-primary:focus {
  background-color: #417600;
  border-color: #417600;
}
.btn-primary:visited {
  background-color: #417600;
  border-color: #417600;
}
.btn-primary:focus,
.btn-primary:active:focus {
  box-shadow: 0 0 0 0.25rem rgba(150, 180, 140, 0.5);
}
.btn-primary:disabled {
  background-color: #a7dc66;
  border-color: #96cb55;
}
.btn-light {
  background-color: #eee;
  font-size: 14px;
  height: 230px;
}
.btn-light:hover {
  color: #417600 !important;
  background-color: #d0e0d0;
}
.btn-light img {
  max-width: 70px;
  margin-bottom: 20px;
}
.btn-outline-primary {
  color: #417600 !important;
  border-color: #417600;
}
.btn-outline-primary:hover {
  background-color: #74a933;
  border-color: #74a933;
}
.btn-outline-primary:focus,
.btn-outline-primary:active:focus {
  box-shadow: 0 0 0 0.25rem rgba(150, 180, 140, 0.5);
}
.text-primary {
  color: #417600 !important;
}
.bg-primary {
  background-color: #639822 !important;
}
.bg-light {
  background-color: #eee !important;
}
#nav {
  padding-left: 0;
}
#nav > li {
  display: block;
  float: left;
  width: 188px;
  height: 50px;
}
#nav > li > a {
  position: relative;
  display: block;
  width: 187px;
  height: 50px;
  border-right: 1px solid #cccccc;
  background-size: contain;
  background-position: 20px 0;
  background-repeat: no-repeat;
  text-align: left;
  text-indent: 70px;
  color: #417600;
}
#nav > li > a .jpn {
  display: block;
  padding-top: 7px;
  font-size: medium;
}
#nav > li > a .eng {
  display: block;
  font-size: x-small;
}
#nav > li > a::after {
  position: absolute;
  bottom: -2px;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 2px;
  background: #a7dc66;
  transform: scaleX(0);
  transform-origin: right top;
  transition: transform 0.3s;
}
#nav > li > a:hover::after {
  transform: scaleX(1);
  transform-origin: left top;
}
#nav > li .menu {
  position: relative;
  top: 10px;
  left: 5px;
  z-index: 99;
  background: #fff;
  width: 500px;
  padding: 20px 40px 20px 40px;
  box-shadow: rgba(0, 0, 0, 0.5) 10px 10px 10px;
  box-sizing: border-box;
  border: solid 1px #d9d9d9;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  visibility: hidden;
  opacity: 0;
}
#nav > li .menu .title {
  color: #417600;
  font-size: 26px;
  margin-bottom: 20px;
}
#nav > li .menu .title small {
  font-size: 12px;
  margin-left: 15px;
}
#nav > li .menu ul {
  padding-left: 10px;
}
#nav > li .menu ul li {
  list-style: none;
  margin-bottom: 5px;
}
#nav > li .menu ul li a {
  color: #417600;
  border: none;
  padding: 10px;
  display: block;
}
#nav > li .menu ul li a::after {
  position: relative;
  bottom: -2px;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 2px;
  background: #a7dc66;
  transform: scaleX(0);
  transform-origin: right top;
  transition: transform 0.3s;
}
#nav > li .menu ul li a:hover {
  font-weight: bold;
}
#nav > li .menu ul li a:hover::after {
  transform: scaleX(1);
  transform-origin: left top;
}
#nav > li:hover .menu {
  visibility: visible;
  opacity: 1;
}
#nav #nav01 > a {
  background-image: url(/images/bg_company.png);
}
#nav #nav02 > a {
  background-image: url(/images/bg_business.png);
}
#nav #nav03 > a {
  background-image: url(/images/bg_recruitment.png);
}
#nav #nav04 > a {
  background-image: url(/images/bg_contact.png);
}
.accordion {
  border: solid 1px #417600;
}
.accordion .accordion-button {
  color: #417600;
  background-color: #efc;
  border-color: #417600;
}
.accordion .accordion-button:focus {
  border-color: #ebffaa;
  box-shadow: 0 0 0 0.25rem rgba(180, 240, 120, 0.5);
}
#navbuttons {
  position: fixed;
  bottom: 0;
  width: 100%;
}
#contents {
  font-size: 14px;
}
#contents a {
  color: #666 !important;
  display: block;
  border-bottom: solid 1px #ccc;
  padding: 5px;
}
#contents a:hover {
  background-color: #cdc;
}
#contents a.root {
  font-weight: bold;
}
#contents a i {
  color: #ccc;
  margin: 0 5px;
}
h2 {
  background-size: cover;
  background-repeat: no-repeat;
  height: 120px;
  padding: 50px 0 0 20px;
  margin-bottom: 40px;
  color: #fff;
  font-size: 22px;
  font-weight: bold;
}
@media (max-width: 768px) {
  h2 {
    height: 70px;
    padding: 28px 0 0 20px;
    font-size: 18px;
  }
}
h2 small {
  font-size: 13px;
}
h2.business {
  background-image: url(/images/company.png);
}
h2.company {
  background-image: url(/images/company.png);
}
h2.education {
  background-image: url(/images/education.png);
}
h2.motor {
  background-image: url(/images/motor.png);
}
h2.machinery {
  background-image: url(/images/machinery.png);
}
h2.supportcenter {
  background-image: url(/images/supportcenter.png);
}
h3 {
  color: #417600;
  margin-top: 40px;
  margin-bottom: 30px;
  border-bottom: solid 1px #90c31f;
  border-left: solid 10px #417600;
  padding: 3px 0 5px 10px;
  font-family: tbudrgothic-std, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.4rem;
}
h4 {
  color: #fff;
  background-color: #90c31f;
  margin-top: 25px;
  margin-bottom: 15px;
  padding: 5px 10px;
  font-family: tbudrgothic-std, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.3rem;
}
h5 {
  color: #417600;
  margin-bottom: 15px;
  font-family: tbudrgothic-std, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.3rem;
}
ul {
  margin-bottom: 0;
}
table th {
  background-color: #eee !important;
}
.breadcrumb {
  padding: 7px 0 3px 15px;
  font-size: 13px;
  background-color: #eee;
  border-radius: 5px;
}
.row-table div {
  padding: 10px;
  border-bottom: solid 1px #ccc;
}
@media (max-width: 768px) {
  .row-table div {
    padding-top: 5px;
  }
}
.row-table div.head {
  background-color: #eee;
  font-weight: bold;
}
@media (max-width: 768px) {
  .row-table div.head {
    background-color: transparent;
    padding-top: 20px;
    padding-bottom: 0;
    border-bottom: none;
  }
}
@media (max-width: 768px) {
  .row-table div.sb {
    font-weight: bold;
  }
}
.koshu-row-table div {
  padding: 7px 0 5px 5px;
}
@media (max-width: 768px) {
  .koshu-row-table div {
    padding-top: 5px;
  }
}
.koshu-row-table div.head {
  background-color: #eee;
  font-weight: bold;
}
@media (max-width: 768px) {
  .koshu-row-table div.head {
    background-color: transparent;
    padding-top: 20px;
    padding-bottom: 0;
    border-bottom: none;
  }
}
@media (max-width: 768px) {
  .koshu-row-table div.sb {
    font-weight: bold;
  }
}
.koshu-row-table hr {
  margin: 0;
}
.mobmenu a {
  padding: 10px 0;
}
.mobmenu a img {
  display: block;
  max-width: 60px;
  margin: auto;
}
ol.list_parentheses {
  padding: 0 0 0 2em;
  margin: 0;
}
ol.list_parentheses li {
  list-style-type: none;
  list-style-position: inside;
  counter-increment: cnt;
}
ol.list_parentheses li:before {
  display: marker;
  content: "(" counter(cnt) ") ";
}
.nav-link {
  color: #417600;
}
.nav-link:hover {
  color: #74a933;
}
.nav-item {
  background-color: #f6f6f6;
}
.articles {
  overflow-y: auto;
  max-height: 190px;
  border: solid 1px #d9e9d3;
  padding: 20px 10px 10px 10px;
}
.articles a {
  margin-bottom: 8px;
}
.articles a .date {
  display: inline-block;
  font-size: 15px;
  font-weight: bold;
  width: 130px;
}
.articles a .subject {
  font-size: 17px;
  display: inline-block;
  vertical-align: top;
}
.articles a i {
  margin-right: 10px;
}
.business a {
  padding: 0;
  color: #686 !important;
  border: none;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  align-items: flex-end;
}
.business a .title {
  width: 100%;
  background-color: #90c31f;
  padding: 5px 15px;
  opacity: 0.95;
  text-align: left;
}
.business a .title h5 {
  font-size: 22px;
  font-weight: bold;
  margin: 10px 0 1px 0;
  color: #fff;
}
@media (max-width: 768px) {
  .business a .title h5 {
    margin: 5px 0 1px 0;
  }
}
.business a .title small {
  font-size: 13px;
  color: #fff;
}
.business a .title img {
  float: right;
  max-height: 60px !important;
  margin: 0;
}
@media (max-width: 768px) {
}
.business a.m625 {
  background-image: url(../images/tile_6252.jpg);
}
@media (max-width: 1199px) {
  .business a.m625 .title h5 {
    font-size: 19px;
  }
}
@media (max-width: 767px) {
  .business a.m625 .title h5 {
    font-size: 22px;
  }
}
@media (max-width: 385px) {
  .business a.m625 .title h5 {
    font-size: 19px;
  }
}
@media (max-width: 351px) {
  .business a.m625 .title h5 {
    font-size: 17px;
  }
}
.business a.motor {
  background-image: url(../images/tile_motor2.jpg);
}
.business a.kenki {
  background-image: url(../images/tile_kenki2.jpg);
}
@media (max-width: 1199px) {
  .business a.kenki .title h5 {
    font-size: 21px;
  }
}
@media (max-width: 767px) {
  .business a.kenki .title h5 {
    font-size: 22px;
  }
}
@media (max-width: 385px) {
  .business a.kenki .title h5 {
    font-size: 19px;
  }
}
@media (max-width: 351px) {
  .business a.kenki .title h5 {
    font-size: 18px;
  }
}
.business a.shien {
  background-image: url(../images/tile_shien.jpg);
}
@media (max-width: 1199px) {
  .business a.shien .title h5 {
    font-size: 21px;
  }
}
@media (max-width: 767px) {
  .business a.shien .title h5 {
    font-size: 22px;
  }
}
@media (max-width: 385px) {
  .business a.shien .title h5 {
    font-size: 19px;
  }
}
@media (max-width: 351px) {
  .business a.shien .title h5 {
    font-size: 18px;
  }
}
.business a.da {
  background-image: url(../images/tile_da2.jpg);
}
@media (max-width: 1199px) {
  .business a.da .title h5 {
    font-size: 19px;
  }
}
@media (max-width: 767px) {
  .business a.da .title h5 {
    font-size: 21px;
  }
}
@media (max-width: 385px) {
  .business a.da .title h5 {
    font-size: 19px;
  }
}
@media (max-width: 351px) {
  .business a.da .title h5 {
    font-size: 18px;
  }
}
.business a.drone {
  background-image: url(../images/tile_drone2.jpg);
}
.business a:hover {
  opacity: 0.7;
  box-shadow: 0px 0px 15px rgba(50, 70, 50, 0.5);
  transition: 0.3s cubic-bezier(0.45, 0, 0.55, 1);
}
/* ckeditor */
:root {
  --ck-image-style-spacing: 1.5em;
  --ck-inline-image-style-spacing: calc(var(--ck-image-style-spacing) / 2);
}
.ck-content {
  /* Provides a minimal side margin for the left and right aligned images, so that the user has a visual feedback
	confirming successful application of the style if image width exceeds the editor's size.
	See https://github.com/ckeditor/ckeditor5/issues/9342 */
  /* Allows displaying multiple floating images in the same line.
	See https://github.com/ckeditor/ckeditor5/issues/9183#issuecomment-804988132 */
  /* Simulates margin collapsing with the preceding paragraph, which does not work for the floating elements. */
}
.ck-content img {
  max-width: 100%;
}
.ck-content .image-style-block-align-left,
.ck-content .image-style-block-align-right {
  max-width: calc(100% - var(--ck-image-style-spacing));
}
.ck-content .image-style-align-left,
.ck-content .image-style-align-right {
  clear: none;
}
.ck-content .image-style-side {
  float: right;
  margin-left: var(--ck-image-style-spacing);
  max-width: 50%;
}
.ck-content .image-style-align-left {
  float: left;
  margin-right: var(--ck-image-style-spacing);
}
.ck-content .image-style-align-center {
  margin-left: auto;
  margin-right: auto;
}
.ck-content .image-style-align-right {
  float: right;
  margin-left: var(--ck-image-style-spacing);
}
.ck-content .image-style-block-align-right {
  margin-right: 0;
  margin-left: auto;
}
.ck-content .image-style-block-align-left {
  margin-left: 0;
  margin-right: auto;
}
.ck-content p + .image-style-align-left,
.ck-content p + .image-style-align-right,
.ck-content p + .image-style-side {
  margin-top: 0;
}
.ck-content .image-inline.image-style-align-left,
.ck-content .image-inline.image-style-align-right {
  margin-top: var(--ck-inline-image-style-spacing);
  margin-bottom: var(--ck-inline-image-style-spacing);
}
.ck-content .image-inline.image-style-align-left {
  margin-right: var(--ck-inline-image-style-spacing);
}
.ck-content .image-inline.image-style-align-right {
  margin-left: var(--ck-inline-image-style-spacing);
}
.ck.ck-splitbutton {
  /* The button should display as a regular drop-down if the action button
	is forced to fire the same action as the arrow button. */
}
.ck.ck-splitbutton.ck-splitbutton_flatten:hover > .ck-splitbutton__action:not(.ck-disabled),
.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open > .ck-splitbutton__action:not(.ck-disabled),
.ck.ck-splitbutton.ck-splitbutton_flatten:hover > .ck-splitbutton__arrow:not(.ck-disabled),
.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open > .ck-splitbutton__arrow:not(.ck-disabled),
.ck.ck-splitbutton.ck-splitbutton_flatten:hover > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover),
.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {
  background-color: var(--ck-color-button-on-background);
}
.ck.ck-splitbutton.ck-splitbutton_flatten:hover > .ck-splitbutton__action:not(.ck-disabled)::after,
.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open > .ck-splitbutton__action:not(.ck-disabled)::after,
.ck.ck-splitbutton.ck-splitbutton_flatten:hover > .ck-splitbutton__arrow:not(.ck-disabled)::after,
.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open > .ck-splitbutton__arrow:not(.ck-disabled)::after,
.ck.ck-splitbutton.ck-splitbutton_flatten:hover > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover)::after,
.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover)::after {
  display: none;
}
.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover > .ck-splitbutton__action:not(.ck-disabled),
.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover > .ck-splitbutton__arrow:not(.ck-disabled),
.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {
  background-color: var(--ck-color-button-on-hover-background);
}