@charset "utf-8";

@media screen and (max-width: 1570px) {
  .grid-1570 {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 1280px) {
  .hoPSlide .item span.hoPIImg {
    height: 160px;
  }
}

@media screen and (max-width: 1200px) {
  .hoPITxt span.hoPT02 {
    font-size: 12px;
  }

  .cont {
    padding-left: 10px;
    padding-right: 10px;
  }

  span.hoBuTt {
    font-size: 22px;
  }

  span.hoBuFull {
    font-size: 14px;
  }

  ul.menu > li:not(:first-child) {
    margin-left: 4.167vw;
  }

  ul.menu > li:last-child > a {
    min-width: 13.333vw;
  }

  .wrapHeader.on-scroll ul.menu > li:last-child > a {
    padding: 12px;
  }

  .wrapHeader.on-scroll .logo {
    transform: scale(1);
  }

  .logo {
    padding-left: 10px;
  }

  ul.menu > li > a {
    font-size: 14px;
  }

  .navCompany ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    text-align: center;
  }

  .navCompany ul li {
    margin-bottom: 10px;
  }

  .navCompany {
/*
    padding-top: 14.167vw;
    padding-bottom: 8.333vw;
*/
  }
}

@media screen and (max-width: 980px) {
  span.hoBuTt br {
    display: none;
  }

  .grid-960 {
    padding-left: 10px;
    padding-right: 10px;
  }
  .explanation {
    font-size: 15px;
  }

  span.hoAIntro br {
    display: none;
  }

  span.hoBuFull br {
    display: none;
  }

  ul.menu > li:not(:first-child) {
    margin-left: 2.551vw;
  }

  .hoNRight table tr td {
    font-size: 13px;
  }

  #slide {
    padding-left: 10px;
    padding-right: 10px;
  }

  .ftRight {
    max-width: 80vw;
  }

  .hoNLeft {
    width: 100%;
  }

  .hoNRight {
    width: 100%;
  }

  span.grTT {
    max-width: 740px;
  }
}

@media screen and (max-width: 767px) {
  .wpHeader {
    height: 80px;
  }

  .explanation {
    font-size: 2.608vw;
    margin-top: 4.563vw;
  }
  .logo {
    padding-left: 10px;
  }

  .nvIcon {
    height: 80px;
    width: 60px;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    transition: all 1s ease;
    background-color: #009fe8;
    cursor: pointer;
  }

  .toggle-btn {
    height: 2px;
    width: 25px;
    background-color: #fff;
    position: relative;
    top: 50%;
    left: 0;
    margin: auto;
    transition: all 0.3s ease-in-out;
  }

  .toggle-btn:before {
    content: "";
    height: 2px;
    width: 25px;
    box-shadow: 0 -10px 0 0 #fff;
    position: absolute;
    top: 0;
    left: 0;
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
  }

  .toggle-btn:after {
    content: "";
    height: 2px;
    width: 25px;
    box-shadow: 0 10px 0 0 #fff;
    position: absolute;
    top: 0;
    left: 0;
    transition: all 0.3s ease-in-out;
  }

  .type17:before {
    width: 12px;
  }

  .type17:after {
    width: 12px;
    box-shadow: 13px 10px 0 0 #fff;
  }

  .type18:before {
    right: 0;
    width: 6px;
  }

  .type18:after {
    width: 12px;
    box-shadow: 13px 10px 0 0 #fff;
  }

  .navCompany {
    padding-bottom: 5.215vw;
    padding-top: 7.823vw;
  }

  .active .toggle-btn {
    background-color: transparent;
    transition: all 0.2s ease-in-out;
  }

  .active .toggle-btn:before {
    top: 0;
    transition: all 0.3s ease-in-out;
  }

  .active .toggle-btn:after {
    top: 0;
    transition: all 0.3s ease-in-out;
  }

  .active .type16 {
    transform: rotate(360deg);
    transition: all 0.6s ease-in-out;
  }

  .active .type16:before {
    left: 6px;
    transform: translateY(6px) rotate(-45deg);
  }

  .active .type16:after {
    left: 6px;
    transform: translateY(-8px) rotate(45deg);
  }

  ul.menu {
    position: absolute;
    top: 80px;
    left: 0;
    width: 100%;
    z-index: 9;
    display: none;
    height: 100vh;
    overflow-y: auto;
    padding-bottom: 100px;
  }

  ul.menu > li {
    /* float: left; */
    display: block;
    width: 100%;
    text-align: left;
    border-bottom: 1px dotted #fff;
    background-color: rgba(0, 159, 232, 0.6);
    position: relative;
    margin-left: 0 !important;
  }

  ul.menu > li:last-child {
    border: 0;
  }

  ul.menu > li.hasSubMenu > a {
    background: none;
    position: relative;
    z-index: 1;
  }

  ul.menu > li.active > a,
  ul.menu > li.active:not(:last-child):hover > a {
    color: #ff0;
  }

  ul.menu > li.hasSubMenu > a::before {
    content: "";
    background-image: url(../img/hd-img01sp.png);
    width: 10px;
    height: 6px;
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
    transition: ease all 0.5s;
    top: 50%;
    transform: rotate(0) translateY(-50%);
    right: 27px;
  }

  ul.menu > li.hasSubMenu.actived > a::before {
    transform: rotate(180deg) translateY(-50%);
  }

  ul.menu > li > a {
    height: 70px;
    color: #fff;
    padding-bottom: 0 !important;
    align-items: center;
  }

  ul.menu > li:not(:last-child):hover > a {
    color: #fff;
  }

  ul.menu > li.hasSubMenu > ul.subMenu {
    position: relative;
    min-width: 100%;
    top: unset;
    transform: none;
    left: 0;
  }

  ul.menu > li.hasSubMenu > ul.subMenu > li:not(:last-child) {
    margin-bottom: 0;
    border-bottom: 1px dotted #fff;
  }

  ul.menu > li.hasSubMenu > ul.subMenu > li > a > br {
    display: none;
  }

  #slider {
    /*        margin-top: 60px;*/
  }

  #slider .owl-item .ojf {
    height: 65.189vw;
    padding-top: 0;
  }

  span.slTxt img {
    width: 100%;
    margin: auto;
  }

  .grid-960 {
    padding-left: 10px;
    padding-right: 10px;
  }

  #hoNews {
    padding-top: 6.519vw;
    padding-bottom: 6.519vw;
  }

  .hoNRight table tr td {
    word-break: break-word;
    line-height: 140%;
    padding-top: 8px;
    padding-bottom: 6px;
  }

  _::-webkit-full-page-media,
  _:future,
  :root .hoNRight table tr td:first-child {
    white-space: nowrap;
    padding-right: 5px;
  }

  .cont {
    padding-left: 10px;
    padding-right: 10px;
  }

  #hoAbout .btnStyle01 {
    padding-top: 6.519vw;
  }

  span.btnStyle01 a {
    height: 13.038vw;
    max-width: 75.619vw;
    font-size: 14px;
    background-position: center right 7.823vw;
    background-size: 1.304vw;
  }

  #hoBussiness {
    padding-top: 10.43vw;
    padding-bottom: 10.43vw;
  }

  span.ttStyle01 span.ttTa {
    line-height: 140%;
  }

  .hoBuRows {
    padding-left: 10px;
    padding-right: 10px;
    margin-top: 20px;
  }

  .hoBuLeft {
    width: 100%;
    margin-right: 0;
    text-align: center;
  }

  .hoBuRight {
    width: 100%;
    padding-right: 0;
    padding-top: 5.215vw;
  }

  span.hoBuTt {
    text-align: center;
    font-size: 100%;
  }

  span.hoBuFull {
    font-size: 14px;
    padding-top: 10px;
    text-align: center;
  }

  .hoBuRows span.btnStyle02 {
    margin-top: 18px;
    text-align: center;
  }

  .hoBuRows span.btnStyle02 a {
    margin-left: auto;
    margin-right: auto;
  }

  span.btnStyle02 a {
    max-width: 62.581vw;
    height: 10.43vw;
    font-size: 14px;
    background-position: center right 5.215vw;
    background-size: 1.043vw;
  }

  span.hoBuFull br {
    display: none;
  }

  #prSlide .owl-nav button img {
    max-width: 60px;
    width: 100%;
  }

  .hoPITxt span.hoPT02 {
    font-size: 16px;
  }

  #prSlide {
    margin-top: 5.215vw;
  }

  .hoPContent {
    padding-top: 6.519vw;
    padding-bottom: 6.519vw;
  }

  #prSlide .owl-nav {
  }

  .hoPContent01 {
    padding-top: 5.215vw;
  }

  #hoMovie {
    padding-top: 7.823vw;
  }

  .hoM {
    padding-top: 6.519vw;
  }

  .hoBtn {
    margin-top: 6.519vw;
  }

  .hoBtn li a {
    font-size: 18px;
    height: 80px;
    padding-left: 15.645vw;
    padding-right: 3.911vw;
    background-position: center left 5.215vw;
    background-size: 3.911vw;
  }

  .wrapFt {
    padding-top: 7.823vw;
    padding-bottom: 6.823vw;
  }

  .ftRows {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
  }

  .ftLeft {
    width: 100%;
    order: 1;
  }

  .ftRight {
    width: 100%;
    order: 0;
    padding-top: 0;
    text-align: center;
    margin-bottom: 20px;
    margin-left: auto;
    margin-right: auto;
  }

  .ftRight img {
    width: 100%;
  }

  span.copyRight {
    text-align: center;
    font-size: 13px;
    padding-top: 10px;
  }

  .ftLeft table {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
  }

  .ftLeft a img {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }

  #pageCommon {
    height: 240px;
    padding-bottom: 0;
    align-items: center;
    margin-top: 80px;
  }

  span.ttPage {
    /* font-size: 24px; */
    padding-left: 15px;
    padding-right: 15px;
  }

  .show_sp {
    display: inline-block;
  }

  .hide_sp {
    display: none;
  }

  .navCompany ul li {
    margin-bottom: 20px;
  }

  .navCompany ul {
    text-align: center;
  }

  span.grTT {
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 680px) {
  .hoAItem {
    width: 100%;
    margin-right: 0;
    margin-top: 20px;
  }

  span.hoAIcon {
    height: auto;
    margin: 22px auto 0;
  }

  span.hoAIcon img {
    max-height: 80px;
  }

  span.hoAIntro {
    padding-bottom: 20px;
  }
  #main-footer .wrapFt {
    text-align: center;
  }
  #main-footer .flex .left,
  #main-footer .flex .right {
    width: 100%;
  }
  #main-footer .flex .waza {
    margin-top: 20px;
  }
  #main-footer .flex dl {
    display: block;
    text-align: center;
  }
  #main-footer .flex dt {
    margin: auto;
  }
}
@media screen and (max-width: 580px) {
  .explanation {
    font-size: 14px;
  }
}
@media screen and (max-width: 480px) {
  .logo img {
    max-width: 150px;
    width: 100%;
  }

  .nvIcon {
    height: 60px;
    width: 50px;
  }

  ul.menu {
    top: 60px;
  }

  #slide {
    margin-top: 60px;
  }

  .wpHeader {
    height: 60px;
  }

  .hoNRight table tr td {
    display: inline-block;
    width: 50%;
  }

  .hoNRight table tr td:last-child {
    display: inline-block;
    width: 100%;
  }

  span.hoAIntro {
    font-size: 12px;
  }

  span.hoBuTt br {
    display: none;
  }

  .hoBtn li {
    /* float: left; */
    display: block;
    width: 100%;
    margin-right: 0;
    margin-bottom: 5px;
  }

  .hoBtn li:last-child {
    margin-bottom: 0;
  }

  .hoBtn {
    display: block;
  }

  .ftLeft table tr td {
    float: left;
    width: 100% !important;
  }

  .ftLeft table {
    max-width: 300px;
  }

  br.brCp {
    display: inline-block;
  }

  .ftLeft table tr td {
    font-size: 13px;
  }

  .ftRight {
    max-width: 250px;
  }

  .ftRight a {
    height: 40px;
  }

  #pageCommon {
    height: 160px;
    margin-top: 60px;
  }

  .ftRight a span.ftCTxt {
    font-size: 14px;
  }

  .ftRight a span.ftCIcon {
    padding-right: 10px;
    padding-top: 2px;
  }

  .ftRight a span.ftCIcon img {
    max-width: 20px;
  }

  span.ttPage {
    font-size: 20px;
  }

  .navCompany ul li {
    margin-left: 0;
    /* float: left; */
    display: block;
    width: 49%;
    min-width: inherit;
    margin-bottom: 10px;
  }

  .navCompany ul li::before {
    display: none;
  }

  .navCompany ul li a {
    height: 40px;
    font-size: 14px;
  }

  span.grTt01 {
    font-size: 18px;
  }

  span.grTt01 br {
    display: none;
  }

  span.grSing img {
    max-width: 130px;
    width: 100%;
  }
}
