@media screen and (max-width: 1199px) {
  /* base
  -------------------- */
  /* header
  -------------------- */
  /* nav
  -------------------- */
  /* mobile
  -------------------- */
  /* sidebar
  -------------------- */
  /* footer
  -------------------- */
  /* common
  -------------------- */
  .section {
    width: 100%;
    padding-left: 2%;
    padding-right: 2%;
    box-sizing: border-box;
  }

  /* parts
  -------------------- */
  /* table */
  table.tbl th {
    width: 35%;
  }

  /* pagination */
  /* breadcrumb */
  /* form */
  /* backto */
  /* top
  -------------------- */
  /* slide */
  /* news */
  /* page
  -------------------- */
  /* single
  -------------------- */
  /* archive
  -------------------- */
}
@media screen and (max-width: 1100px) {
  /* nav
  -------------------- */
  nav .nav > li {
    min-width: auto;
  }
}
@media screen and (max-width: 991px) {
  /* base
  -------------------- */
  /* header
  -------------------- */
  /* nav
  -------------------- */
  nav .nav {
    font-size: 1.6rem;
  }

  /* mobile
  -------------------- */
  /* sidebar
  -------------------- */
  /* footer
  -------------------- */
  footer {
    padding: 4% 0;
  }
  footer #copyright {
    text-align: center;
    margin-top: 10px;
  }

  /* common
  -------------------- */
  .wp-block-embed-youtube .wp-block-embed__wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
  }

  .wp-block-embed-youtube .wp-block-embed__wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  /* parts
  -------------------- */
  /* contact_department */
  .contact_department {
    margin-bottom: 80px;
    padding: 6% 7% 6% 9%;
  }
  .contact_department h3 {
    font-size: 2.0rem;
    margin-bottom: 4%;
  }
  .contact_department .btnblock .btn {
    width: 100%;
    font-size: 1.8rem;
    padding: 10% 2%;
  }

  /* table */
  /* pagination */
  /* breadcrumb */
  /* form */
  /* backto */
  /* top
  -------------------- */
  /* slide */
  /* news */
  /* page
  -------------------- */
  #subheader .page_product:before,
  #subheader .page_csr:before,
  #subheader .page_corporate:before,
  #subheader .page_recruit:before,
  #subheader .page_contact:before,
  #subheader .page_news:before,
  #subheader .page_other:before,
  #subheader .page_technology:before {
    width: 50%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: auto 76%;
  }

  .localnav li {
    width: 33.33%;
  }

  /* single
  -------------------- */
  /* archive
  -------------------- */
}
@media screen and (max-width: 767px) {
  /* base
  -------------------- */
  /* header
  -------------------- */
  header .desc {
    display: block;
    margin-top: 20px;
    margin-left: 0;
  }
  header .desc br {
    display: none;
  }

  #logo img {
    height: auto;
  }

  /* nav
  -------------------- */
  /* mobile
  -------------------- */
  .mobile-nav {
    display: block;
  }

  .d-flex.nav-fnc,
  .d-flex.nav {
    display: none !important;
  }

  .mobile-nav {
    position: fixed;
    top: 10px;
    right: 0;
    z-index: 2050;
  }

  .menu-trigger {
    cursor: pointer;
  }

  .menu-trigger,
  .menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
  }

  .menu-trigger {
    position: relative;
    width: 46px;
    height: 46px;
    background-color: #1f5496;
    overflow: hidden;
  }

  .menu-trigger span {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    width: 24px;
    height: 3px;
    background-color: #fff;
  }

  .menu-trigger span:nth-of-type(1) {
    top: 13px;
  }

  .menu-trigger span:nth-of-type(2) {
    top: 22px;
  }

  .menu-trigger span:nth-of-type(3) {
    bottom: 12px;
  }

  .menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(9px) rotate(-45deg);
    transform: translateY(9px) rotate(-45deg);
  }

  .menu-trigger.active span:nth-of-type(2) {
    left: 50%;
    opacity: 0;
    -webkit-animation: active-menu-bar02 .8s forwards;
    animation: active-menu-bar02 .8s forwards;
  }

  @-webkit-keyframes active-menu-bar02 {
    100% {
      height: 0;
    }
}

  @keyframes active-menu-bar02 {
    100% {
      height: 0;
    }
}

  .menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-9px) rotate(45deg);
    transform: translateY(-9px) rotate(45deg);
  }

  .onanimation {
    display: block;
  }

  .gblnv_block {
    position: fixed;
    top: 0;
    left: 0;
    background-color: #f5f5f5;
    color: #fff;
    width: 100%;
    height: calc(100vh - 60px);
    margin-top: 60px;
    padding: 0;
    box-sizing: border-box;
    overflow-y: scroll;
    z-index: 2000;
  }

  .gblnv_block ul {
    display: block;
    flex-wrap: nowrap;
    text-align: left;
    margin-top: 20px;
  }

  .gblnv_block ul li {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    width: 100%;
    padding: 0;
  }

  .gblnv_block ul li a {
    position: relative;
    display: block;
    color: #fff;
    margin-bottom: 2px;
    padding: 10px 20px;
    box-sizing: border-box;
  }

  .gblnv_block ul li a:link,
  .gblnv_block ul li a:visited {
    background-color: #1f5496;
  }

  .gblnv_block ul li a:hover {
    background-color: #333;
  }

  .gblnv_block ul li a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    height: 1.8rem;
    line-height: 1.0;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    margin: auto;
  }

  .gblnv_block ul li.current-lang {
    display: none !important;
  }

  /* sidebar
  -------------------- */
  /* footer
  -------------------- */
  footer .footerlink li {
    border-bottom: 1px dotted #ccc;
  }
  footer .footerlink li a {
    display: block;
    padding: 1% 0;
  }

  /* common
  -------------------- */
  .section {
    padding-top: 8%;
    padding-bottom: 8%;
  }

  .breadcrumb {
    margin-top: 0;
  }

  .btn + .btn {
    margin-top: 20px;
    margin-left: 0;
  }

  /* parts
  -------------------- */
  .bg_blue {
    padding-top: 10%;
    padding-bottom: 10%;
  }

  /* table */
  /* pagination */
  /* breadcrumb */
  /* form */
  form {
    margin-left: 0;
  }

  form .col-form-label {
    background-color: transparent;
    padding-top: 14px;
    padding-bottom: 0;
  }

  form .wpcf7-form-control-wrap {
    padding-top: 10px;
    padding-bottom: 20px;
  }

  form .btn.wpcf7-submit {
    display: block;
    width: 100%;
    min-width: 200px;
  }

  /* backto */
  /* top
  -------------------- */
  .section.top_bg01 {
    padding-top: 0;
  }

  .slide div.mainimg {
    height: 60vh;
  }

  .slide div.mainimg img {
    width: auto !important;
    max-width: none;
    height: 100%;
    float: right;
  }

  .top_bg02 > div::before {
    display: none;
  }

  .top_bg03 {
    background: whitesmoke;
  }
  .top_bg03 .widebox {
    width: 100%;
    margin-top: auto;
    margin-bottom: auto;
    padding: 4%;
  }
  .top_bg03 .widebox::after {
    display: none;
  }
  .top_bg03 .over_img_right {
    position: static;
    top: auto;
    right: auto;
    width: 100%;
    text-align: center;
  }

  /* slide */
  /* news */
  #news .newsbox a {
    display: block;
    box-sizing: border-box;
  }
  #news .newsbox a:hover {
    background-color: #000;
  }
  #news .newsbox li:nth-child(odd) {
    background-color: #1c5b9d;
  }
  #news .newsbox dl {
    margin-bottom: 0;
  }
  #news .newsbox dl dt {
    white-space: nowrap;
    min-width: auto;
    padding: 10px 0 0;
  }
  #news .newsbox dl dt .date {
    padding-right: 20px;
  }
  #news .newsbox dl dd {
    padding: 10px 0px;
  }
  #news .newsbox .categorytag {
    background-color: #eee;
    color: #1f5496;
    font-size: 1.4rem;
    padding: 3px 14px;
  }

  .factorylist li {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #ccc;
  }

  .factorylist_ext > div {
    margin-bottom: 3%;
  }

  /* page
  -------------------- */
  #subheader .page_product:before,
  #subheader .page_csr:before,
  #subheader .page_corporate:before,
  #subheader .page_recruit:before,
  #subheader .page_contact:before,
  #subheader .page_news:before,
  #subheader .page_other:before,
  #subheader .page_technology:before {
    width: 50%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: auto 75%;
  }

  .localnav li {
    width: 50%;
    margin-bottom: 2%;
  }

  .localsubnav {
    border-bottom: none;
  }
  .localsubnav li {
    margin-bottom: 2%;
  }
  .localsubnav li a {
    display: block;
    padding: .5rem 1rem;
    border: 1px solid #dee2e6;
  }
  .localsubnav li.current a {
    color: #495057;
    background-color: #fff;
    border-color: #dee2e6;
  }

  .page-section > .container {
    background-image: none;
  }

  /* page-article */
  .page-article .pagetitle {
    margin-bottom: 8%;
  }
  .page-article h2 {
    font-size: 2.0rem;
    margin-top: 8%;
    margin-bottom: 5%;
  }

  /* single
  -------------------- */
  .singlepage-section > .container {
    background-image: none;
  }

  /* archive
  -------------------- */
}
@media screen and (max-width: 575px) {
  /* base
  -------------------- */
  /* header
  -------------------- */
  /* nav
  -------------------- */
  /* mobile
  -------------------- */
  /* sidebar
  -------------------- */
  /* footer
  -------------------- */
  footer .container > .row {
    margin-right: 0;
    margin-left: 0;
  }

  /* common
  -------------------- */
  .btnblock {
    margin-bottom: 10%;
  }
  .btnblock .btn {
    text-align: center;
    display: block;
  }
  .btnblock .btn.btn-sm {
    font-size: 1.4rem;
  }

  /* parts
  -------------------- */
  /* table */
  /* pagination */
  /* breadcrumb */
  /* form */
  /* backto */
  #backto a {
    width: 40px;
    height: 40px;
    padding-top: 7px;
  }

  /* top
  -------------------- */
  /* slide */
  /* news */
  .contactblock {
    padding-top: 10%;
    padding-bottom: 10%;
  }
  .contactblock .contact {
    background-color: #fff;
    padding: 10%;
  }

  /* page
  -------------------- */
  #subheader .cat_title {
    font-size: 3.6rem;
    margin-top: 20px;
    margin-bottom: 200px;
  }
  #subheader .page_product:before,
  #subheader .page_csr:before,
  #subheader .page_corporate:before,
  #subheader .page_recruit:before,
  #subheader .page_contact:before,
  #subheader .page_news:before,
  #subheader .page_other:before,
  #subheader .page_technology:before {
    width: 100%;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    background-size: auto 75%;
  }

  .page-section {
    margin-top: 0;
    padding-left: 5%;
    padding-right: 5%;
  }
  .page-section > .container {
    background-color: #fff;
    padding-top: 10%;
    padding-bottom: 12%;
  }

  .pagetitle {
    font-size: 2.8rem;
  }

  .localnav {
    margin-top: 10%;
  }
  .localnav li {
    width: 100%;
  }

  /* single
  -------------------- */
  .singlepage-section {
    margin-top: 0;
    padding-left: 5%;
    padding-right: 5%;
  }
  .singlepage-section > .container {
    background-color: #fff;
    padding-top: 10%;
    padding-bottom: 12%;
  }

  /* archive
  -------------------- */
}
