@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Sans:wght@700&display=swap');
/*
    style.css
    2026.07.14
*/
/*--------------------------------------
default
---------------------------------------*/
html {
  width: 100%;
  -ms-overflow-x: hidden;
  overflow-x: hidden;
  overflow-y: scroll;
  font-size: 15px;
  scroll-padding-top: 100px;
}
html {
  font-size: 62.5%; /* 10px = 1rem */
  height: 100%;
}
body {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1;
  color: #212121;
  -webkit-text-size-adjust: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
img {
  line-height: 1;
  font-size: 0;
  vertical-align: top;
  height: auto !important;
  max-width: 100%;
  -webkit-backface-visibility: hidden;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
  img {
    image-rendering: -webkit-optimize-contrast;
  }
}
p {
  margin: 0;
}
strong {
  font-weight: 700;
}
select {
  padding: 5px;
}
a {
  color: #212121;
  text-decoration: none;
}
a:link {
  color: #212121;
  /*color: #557DBE;*/
}
a:visited {
  color: #212121;
  /*color: #557DBE;*/
}
a:hover {
  min-height: 1em; /* Mac Firefox */
  text-decoration: underline;
}
/*img {
vertical-align: bottom;
}*/
ul {
  list-style-type: none;
}
dl {
  margin: 20px 0;
}
dl dt {
  margin: 20px 0 0;
}
dl dd {
  margin: 5px 0 0;
}
dl dt:first-child {
  margin: 0;
}
dl {
  margin: 20px 0;
}
dl dt {
  margin: 20px 0 0;
}
h1, h2, h3, h4, h5 {
  font-weight: normal;
}
b {
  font-weight: 900;
}
figure {
  margin: 0;
}
* {
  box-sizing: border-box;
}
/* clearfix */
.clear {
  clear: both;
}
.clearfix:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  overflow: hidden;
}
.clearfix {
  zoom: 1;
  overflow: hidden;
}
/* IE7,MacIE5 */
.clearfix {
  display: inline-block;
}
/* WinIE6 below, Exclude MacIE5 \*/
* html .clearfix {
  height: 1%;
}
.clearfix {
  display: block;
}
/**/
/*--------------------------------------
 header
---------------------------------------*/
.header-wrap {
  position: fixed;
  width: 100%;
  background-color: #FFF;
  box-shadow: -2px -3px 8px 4px rgba(0, 0, 0, 0.1);
  z-index: 5;
}
.header-inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  height: 80px;
  margin: 0;
  padding: 0 8vw;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .header-inner {
    padding: 0 3vw;
  }
}
.muratec-logo {
  transition: all .3s;
}
.muratec-logo:hover {
  opacity: 0.3;
}
.muratec-logo img {
  width: 120px;
}
@media screen and (max-width: 1024px) {
  .muratec-logo img {
    width: 90px;
  }
}
/* PC */
@media screen and (min-width: 1024px) {
  .header-list {
    display: flex;
    margin: 40px 0 0;
    padding: 0;
  }
  .header-item {
    margin: 0 15px;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1;
  }
  .header-item:last-child {
    margin: 0 0 0 15px;
  }
  .header-item > a {
    display: inline-block;
    position: relative;
    padding: 0 0 25px;
    color: #000;
  }
  .header-item > a:hover {
    text-decoration: none;
    opacity: 0.3;
  }
  .header-item > a::after {
    position: absolute;
    left: 0;
    bottom: 10px;
    content: "";
    width: 0%;
    height: 6px;
    border-radius: 20px;
    background-color: #557DBE;
    transition: width 0.3s ease;
  }
  .header-item > a:hover::after {
    width: 100%;
  }
  .megamenu-wrap {
    left: 0;
    opacity: 0;
    position: absolute;
    visibility: hidden;
    width: 100%;
    padding: 30px 10px;
    background-color: rgba(239, 239, 248, 0.95);
    z-index: 2;
  }
  .megamenu-title {
    max-width: 960px;
    margin: 0 auto 20px;
    font-size: 2rem;
  }
  .megamenu-title > a {
    position: relative;
  }
  .megamenu-title > a::after {
    position: absolute;
    top: 10px;
    right: -30px;
    content: "";
    width: 10px;
    height: 10px;
    border-top: 1px solid #707070;
    border-right: 1px solid #707070;
    transform: rotate(45deg);
  }
  .megamenu-inner {
    display: flex;
    gap: 40px;
    max-width: 960px;
    margin: 0 auto;
  }
  .megamenu-list {
    width: calc(100%/3 - 40px);
    margin: 0;
    padding: 0;
  }
  .megamenu-item {
    position: relative;
    margin-bottom: 5px;
  }
  .megamenu-item > a {
    position: relative;
    display: block;
    padding: 10px 40px 10px 5px;
    font-size: 1.4rem;
    line-height: 1;
    transition: all .3s;
  }
  .megamenu-item > a:hover {
    border-radius: 6px;
    background: #C7CFDC;
    text-decoration: none;
  }
  .megamenu-item > a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto;
    content: "";
    width: 6px;
    height: 6px;
    border-top: 1px solid #707070;
    border-right: 1px solid #707070;
    transform: rotate(45deg);
  }
  .header-item:hover .megamenu-wrap {
    display: block;
    opacity: 1;
    visibility: visible;
    transition: all .3s;
  }
  .sub-list {
    margin: 0;
    padding: 0 0 0 20px;
  }
  .sub-item {
    position: relative;
  }
  .sub-item > a {
    display: block;
    width: 100%;
    padding: 8px 0 8px 14px;
    font-size: 1.4rem;
    line-height: 1;
    white-space: nowrap;
  }
  .sub-item > a:hover {
    text-decoration: underline;
  }
  .sub-item > a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    width: 6px;
    height: 6px;
    border-top: 1px solid #707070;
    border-right: 1px solid #707070;
    transform: rotate(45deg);
  }
  .header-sitemap {
    position: absolute;
    top: 10px;
    right: 8vw;
  }
  .header-sitemap ul {
    margin: 0;
    padding: 0;
  }
  .header-sitemap li {
    font-size: 1rem;
  }
}
.megamenu-item_inner {
  display: none;
}
.megamenu-item_pc {
  display: block;
  padding: 10px 40px 10px 5px;
  font-size: 1.4rem;
}
/*--------------------------------------- 
sp
--------------------------------------- */
@media screen and (max-width: 1024px) {
  .hamburger {
    position: fixed;
    top: 0;
    right: 10px;
    width: 60px;
    height: 60px;
    text-align: center;
    cursor: pointer;
    z-index: 300;
  }
  .nav-open .hamburger {
    right: 0;
  }
  .hamburger-line {
    position: absolute;
    top: 0;
    left: 25%;
    width: 30px;
    height: 3px;
    border-radius: 3px;
    background-color: #557dbe;
    transition: all .3s;
  }
  .hamburger-line_1 {
    top: 20px;
  }
  .hamburger-line_2 {
    top: 28px;
    width: 30px;
  }
  .hamburger-line_3 {
    top: 36px;
    width: 30px;
  }
  .sp-back {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 100;
    background-color: #555;
    opacity: 0;
    visibility: hidden;
    cursor: pointer;
  }
  .nav-wrap.is-active {
    transform: translateX(0);
    transition: all .3s;
  }
  .sp-back.is-active {
    opacity: .9;
    visibility: visible;
  }
  .is-active .hamburger-line_1 {
    transform: rotate(45deg);
    top: 30px;
  }
  .is-active .hamburger-line_2 {
    width: 0;
    left: 50%;
  }
  .is-active .hamburger-line_3 {
    transform: rotate(-45deg);
    top: 30px;
    width: 30px;
  }
  .nav-wrap {
    z-index: 200;
    position: fixed;
    top: 0;
    right: 0;
    width: 90vw;
    height: 100vh;
    margin: 0 auto;
    padding: 60px 0 0;
    background-color: #fff;
    overflow-y: auto;
    transform: translateX(100vw);
    opacity: 1;
  }
  .header-inner {
    height: 60px;
  }
  .header-list {
    margin: 0;
    padding: 0;
  }
  .header-item {
    position: relative;
    font-size: 1.6rem;
    border-bottom: 1px solid #707070;
  }
  .header-item:first-child {
    border-top: 1px solid #707070;
  }
  .header-item > a {
    display: block;
    padding: 20px 10px;
  }
  .header-item > a:hover {
    text-decoration: none;
  }
  .header-item > a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid #707070;
    border-right: 1px solid #707070;
    transform: rotate(45deg);
  }
  .header-item_inner {
    position: relative;
    display: block;
    padding: 20px 10px;
    font-size: 1.6rem;
    cursor: pointer;
  }
  .header-item_inner::after {
    position: absolute;
    top: -5px;
    bottom: 0;
    right: 18px;
    margin: auto;
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid #707070;
    border-right: 1px solid #707070;
    transform: rotate(135deg);
  }
  .megamenu-inner {
    margin-bottom: 10px;
  }
  .megamenu-list {
    margin: 0;
    padding: 0 0 0 10px;
  }
  .megamenu-item_inner {
    position: relative;
    display: block;
    padding: 10px;
    font-size: 1.4rem;
    cursor: pointer;
  }
  .megamenu-item_inner::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    content: "";
    width: 6px;
    height: 6px;
    border-top: 1px solid #707070;
    border-right: 1px solid #707070;
    transform: rotate(135deg);
  }
  .megamenu-item_pc {
    display: none;
  }
  .megamenu-title {
    display: none;
  }
  .megamenu-item {
    font-size: 1.4rem;
  }
  .megamenu-item > a {
    position: relative;
    display: block;
    padding: 10px;
    font-size: 1.4rem;
  }
  .megamenu-item > a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    content: "";
    width: 6px;
    height: 6px;
    border-top: 1px solid #707070;
    border-right: 1px solid #707070;
    transform: rotate(45deg);
  }
  .megamenu-item > a:hover {
    text-decoration: none;
  }
  .sub-list {
    display: block;
    padding: 0 0 10px 12px;
  }
  .sub-item {
    padding: 8px 0;
    font-size: 1.4rem;
  }
  .sub-item > a {
    position: relative;
    padding: 8px 0 8px 14px;
  }
  .sub-item > a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    width: 6px;
    height: 6px;
    border-top: 1px solid #707070;
    border-right: 1px solid #707070;
    transform: rotate(45deg);
  }
  .sub-item > a:hover {
    text-decoration: none;
  }
  .header-sitemap ul {
    margin: 0;
    padding: 20px 10px;
  }
  .header-sitemap li {
    font-size: 1.4rem;
  }
  .megamenu-wrap_sp, .sub-list_sp {
    display: none;
  }
}
/*--------------------------------------
 footer
---------------------------------------*/
footer {
  width: 100%;
  padding: 60px 0;
  background-color: #F5F5F7;
}
@media screen and (max-width: 1024px) {
  footer {
    padding: 20px 0;
  }
}
.footer-inner {
  display: flex;
  margin: 0;
  padding: 0 10vw;
}
@media screen and (max-width: 1024px) {
  .footer-inner {
    display: block;
    width: 100%;
    padding: 0 5vw;
  }
}
.download .footer-inner {
  width: 800px;
  margin: 0 auto;
  padding: 0;
}
@media screen and (max-width: 1024px) {
  .download .footer-inner {
    display: block;
    width: 100%;
    padding: 0 5vw;
  }
}
@media screen and (max-width: 1024px) {
  .footer-link-left {
    margin: 0 0 20px !important;
    font-size: 1.2rem;
  }
}
.footer-logo img {
  width: 120px;
}
@media screen and (max-width: 1024px) {
  .footer-logo img {
    width: 90px;
  }
}
.footer-link-right {
  display: flex;
  flex-wrap: wrap;
  gap: 80px;
  margin: 0 0 0 auto;
  padding: 0;
}
@media screen and (max-width: 1024px) {
  .footer-link-right {
    gap: 30px;
  }
}
.footer-link-right ul, .footer-link-right ul ul {
  margin: 0;
  padding: 0;
}
.footer-link-right ul li {
  margin-bottom: 20px;
  font-size: 1.5rem;
  line-height: 1.4;
}
@media screen and (max-width: 1024px) {
  .footer-link-right ul li {
    margin-bottom: 8px;
  }
}
.footer-link-right ul ul li {
  margin-bottom: 8px;
  font-size: 1.5rem !important;
  line-height: 1.2 !important;
}
@media screen and (max-width: 1024px) {
  .footer-link-right ul ul li {
    margin-bottom: 5px;
  }
}
.footer-link-right ul ul li a:link {
  color: #6f6f6f;
}
.footer-link-left a, .footer-link-right a, .footer-link-left a:link, .footer-link-right a:link {
  color: #333;
  text-decoration: none;
}
.footer-link-left a:hover, .footer-link-right a:hover {
  text-decoration: underline;
  color: #333;
}
.footer-copyright {
  margin: 30px 0 0;
  padding: 0 10vw;
  /*max-width: 1140px;*/
  color: #6f6f6f;
}
@media screen and (max-width: 1024px) {
  .footer-copyright {
    text-align: center;
  }
}
.footer-copyright_download {
  display: flex;
  align-items: center;
  color: #6f6f6f;
}
.btn-otoiawase {
  display: none;
  width: 100px;
  z-index: 4;
  transition: all .3s;
}
@media screen and (max-width: 1024px) {
  .btn-otoiawase {
    width: 70px;
  }
}
.btn-otoiawase:hover {
  transform: translateY(10px);
}
/*--------------------------------------
main container
---------------------------------------*/
#wrap {
  width: 100%;
  position: relative;
}
main {
  padding-top: 80px;
}
@media screen and (max-width: 1024px) {
  main {
    padding-top: 60px;
  }
}
.contents-wrap {
  position: relative;
}
.container {
  max-width: 960px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .container {
    width: 90% !important;
  }
}
.container-w800 {
  max-width: 800px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .container-w800 {
    width: 90% !important;
  }
}
.container p, .container-w800 p {
  font-size: 1.6rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .container p, .container-w800 p {
    line-height: 1.6;
  }
}
.pan-wrap {
  width: 960px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .pan-wrap {
    width: 90%;
    margin-bottom: 30px;
  }
}
.pan-wrap p {
  font-size: 1.4rem;
  line-height: 1.4;
}
.h1-wrap {
  display: flex;
  align-items: flex-end;
  width: 100%;
  height: 300px;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .h1-wrap {
    height: 140px;
  }
}
.h1-profile {
  background: url(/images/h1_profile.jpg);
  background-size: cover;
  background-position: center;
}
.h1-facility {
  background: url(/images/h1_facility.jpg);
  background-size: cover;
  background-position: center;
}
.h1-solutions {
  background: url(/images/h1_solutions.jpg);
  background-size: cover;
  background-position: center;
}
.h1-sustainability {
  background: url(/images/h1_sustainability.jpg);
  background-size: cover;
  background-position: center;
}
.h1-punch {
  background: url(/images/h1_punch.jpg);
  background-size: cover;
  background-position: center;
}
.h1-pressbrake {
  background: url(/images/h1_pressbrake.jpg);
  background-size: cover;
  background-position: center;
}
.h1-deburring {
  background: url(/images/h1_pressbrake.jpg);
  background-size: cover;
  background-position: center;
}
.h1-ks_series {
  background: url(/images/h1_ks_series.jpg);
  background-size: cover;
  background-position: center;
}
.h1-slotter {
  background: url(/images/h1_slotter.jpg);
  background-size: cover;
  background-position: center;
}
.h1-mta170a {
  background: url(/images/h1_mta170a.jpg);
  background-size: cover;
  background-position: center;
}
.h1-mt150a {
  background: url(/images/h1_mt150a.jpg);
  background-size: cover;
  background-position: center;
}
.h1-tg-s {
  background: url(/images/h1_tg-s.jpg);
  background-size: cover;
  background-position: center;
}
.h1-guideline {
  background: url(/images/h1_guideline.jpg);
  background-size: cover;
  background-position: center;
}
.h1-inner {
  width: 100%;
  margin: 0;
  padding: 20px 0;
  color: #FFF;
  text-align: center;
  background: rgba(0, 0, 0, 0.6);
}
@media screen and (max-width: 767px) {
  .h1-inner {
    padding: 10px 0;
  }
}
.h1-title_wrap {
  width: 100%;
  margin: 0;
  padding: 20px 0;
  background: #557DBE;
}
@media screen and (max-width: 767px) {
  .h1-title_wrap {
    padding: 10px 0;
  }
}
.h1-title {
  width: 960px;
  margin: 0 auto;
  color: #FFF;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .h1-title {
    width: 90%;
  }
}
h1 {
  margin: 0;
  padding: 0;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  h1 {
    font-size: 2rem;
  }
}
h2 {
  margin: 0;
  padding: 0;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  h2 {
    font-size: 2rem;
  }
}
h3 {
  margin: 0 0 20px;
  padding: 0;
  font-size: 2.2rem;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  h3 {
    margin: 0 0 10px;
    font-size: 1.8rem;
    line-height: 1.6;
  }
}
h4 {
  margin: 0;
  padding: 0;
  line-height: 1.4;
}
.en-title {
  display: block;
  margin-top: 10px;
  font-size: 0.9rem;
  color: #557DBE;
}
@media screen and (max-width: 767px) {
  .en-title {
    margin-top: 5px;
  }
}
/* ------------------------------------------------------------------------------- home */
.home-slider_wrap {
  height: 500px;
}
@media screen and (max-width: 767px) {
  .home-slider_wrap {
    height: 240px;
  }
}
.home-slider_fadein {
  animation: fadeIn 2s ease-in;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.home-slider_img01 {
  background: url(/images/home_slider_01.jpg);
  background-size: cover;
  background-position: center;
}
.home-slider_img02 {
  background: url(/images/home_slider_02.jpg);
  background-size: cover;
  background-position: center;
}
.home-slider_img03 {
  background: url(/images/home_slider_03.jpg);
  background-size: cover;
  background-position: center;
}
.home-slider_img04 {
  background: url(/images/home_slider_04.jpg);
  background-size: cover;
  background-position: center;
}
.home-main_wrap {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .home-main_wrap p {
    font-size: 1.4rem;
    line-height: 1.6;
  }
}
.home-main_left {
  width: 460px;
  min-height: 780px;
  padding: 50px 50px 180px;
  border-radius: 0 0 300px 300px;
  background: #d4deef;
}
@media screen and (max-width: 767px) {
  .home-main_left {
    width: 80%;
    min-height: auto;
    padding: 20px 20px 70px;
  }
}
p.home-copy_en {
  margin-bottom: 40px;
  opacity: 0;
  animation: slide-up 1s cubic-bezier(.075, .82, .165, 1) forwards;
}
@media screen and (max-width: 767px) {
  p.home-copy_en {
    margin-bottom: 10px;
  }
}
h1.home-main_copy {
  margin-bottom: 30px;
  font-size: 3.8rem;
  font-weight: 500;
  line-height: 1.6;
  opacity: 0;
  animation: slide-up 1s cubic-bezier(.075, .82, .165, 1) .6s forwards;
}
@media screen and (max-width: 767px) {
  h1.home-main_copy {
    margin-bottom: 10px;
    font-size: 2rem;
    line-height: 1.4;
  }
}
p.home-main_txt {
  margin-bottom: 20px;
  opacity: 0;
  animation: slide-up 1s cubic-bezier(.075, .82, .165, 1) 1.2s forwards;
}
.home-right_wrap {
  width: calc(100% - 460px);
}
@media screen and (max-width: 767px) {
  .home-right_wrap {
    width: 20%;
  }
}
.home-right_img01 {
  position: absolute;
  top: 40px;
  right: 0;
  width: 400px;
  opacity: 0;
  animation: slide-up 1s cubic-bezier(.075, .82, .165, 1) 1.8s forwards;
}
@media screen and (max-width: 767px) {
  .home-right_img01 {
    top: 20px;
    width: 120px;
  }
}
.home-right_img02 {
  position: absolute;
  top: 500px;
  right: 260px;
  width: 300px;
  opacity: 0;
  animation: slide-up 1s cubic-bezier(.075, .82, .165, 1) 2.4s forwards;
}
@media screen and (max-width: 767px) {
  .home-right_img02 {
    top: 320px;
    right: 8px;
    width: 120px;
  }
}
.home-right_img03 {
  position: absolute;
  top: 600px;
  right: 20px;
  width: 200px;
  opacity: 0;
  animation: slide-up 1s cubic-bezier(.075, .82, .165, 1) 3s forwards;
}
@media screen and (max-width: 767px) {
  .home-right_img03 {
    top: 435px;
    right: 60px;
    width: 100px;
  }
}
@keyframes slide-up {
  from {
    transform: translateY(30px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
.home-right_img01 img, .home-right_img02 img, .home-right_img03 img {
  border-radius: 40px;
}
@media screen and (max-width: 767px) {
  .home-right_img01 img, .home-right_img02 img, .home-right_img03 img {
    border-radius: 20px;
  }
}
.home-nav_bg {
  min-height: 680px;
  margin-bottom: 360px;
  background: #F5F5F7;
}
@media screen and (max-width: 767px) {
  .home-nav_bg {
    min-height: 600px;
    margin-bottom: 30px;
  }
}
.home-nav_copy {
  position: absolute;
  top: 120px;
  left: 340px;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .home-nav_copy {
    position: static;
  }
}
h1.home-nav_txt {
  margin-bottom: 30px;
  font-size: 3.8rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  h1.home-nav_txt {
    margin-bottom: 0;
    padding: 20px 0;
    font-size: 2rem;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .home-nav_copy p {
    margin-bottom: 10px;
    font-size: 1.4rem;
    line-height: 1.6;
  }
}
.home-nav_wrap {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  position: absolute;
  top: 400px;
  left: 0;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .home-nav_wrap {
    position: static;
  }
}
@media screen and (max-width: 767px) {
  .home-nav_wrap p {
    font-size: 1.4rem;
    line-height: 1.4;
  }
}
.home-nav_left {
  width: calc(100%/2 - 15px);
  margin-right: 15px;
}
@media screen and (max-width: 767px) {
  .home-nav_left {
    width: calc(100%/2 - 8px);
    margin-right: 8px;
  }
}
.home-nav_right {
  width: calc(100%/2 - 15px);
  margin-left: 15px;
}
@media screen and (max-width: 767px) {
  .home-nav_right {
    width: calc(100%/2 - 8px);
    margin-left: 8px;
  }
}
.home-nav_left img, .home-nav_right img {
  border-radius: 40px;
}
@media screen and (max-width: 767px) {
  .home-nav_left img, .home-nav_right img {
    border-radius: 20px;
  }
}
.home-nav_btn {
  position: relative;
  display: inline-block;
  margin: 20px 0 10px;
  padding: 10px 0;
  font-size: 2rem;
  font-weight: 500;
  transition: all .3s;
}
@media screen and (max-width: 767px) {
  .home-nav_btn {
    display: block;
    margin: 0;
    padding: 10px 0;
    font-size: 1.4rem;
  }
}
.home-nav_btn::before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: -50px;
  margin: auto;
  content: "";
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #557DBE;
  transition: all .3s;
}
@media screen and (max-width: 767px) {
  .home-nav_btn::before {
    display: none;
  }
}
.home-nav_btn:hover::before {
  right: -60px;
}
.home-nav_btn::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: -42px;
  margin: auto;
  content: "";
  width: 6px;
  height: 6px;
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  transform: rotate(45deg);
  transition: all .3s;
}
@media screen and (max-width: 767px) {
  .home-nav_btn::after {
    right: 5px;
    border-top: 1px solid #707070;
    border-right: 1px solid #707070;
  }
}
.home-nav_btn:hover::after {
  right: -52px;
}
.home-nav_btn:hover {
  text-decoration: none;
  opacity: 0.3;
}
.home-nav_white {
  position: absolute;
  top: 20px;
  left: 200px;
  width: 460px;
  min-height: 780px;
  border-radius: 300px;
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .home-nav_white {
    display: none;
  }
}
h2.home-recruit_title {
  margin: 0 0 30px;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
}
p.home-recruit_btn {
  display: inline-block;
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 10px 60px 10px 40px;
  font-size: 1.6rem;
  line-height: 1;
  border-radius: 10px 0 0 0;
  background: rgba(255, 255, 255, 0.8);
}
@media screen and (max-width: 767px) {
  p.home-recruit_btn {
    display: none;
  }
}
.home-recruit_img {
  border-radius: 40px;
}
@media screen and (max-width: 767px) {
  .home-recruit_img {
    border-radius: 20px;
  }
}
.home-recruit_link {
  display: none;
}
@media screen and (max-width: 767px) {
  .home-recruit_link {
    display: block;
    margin-top: 5px;
    text-align: center;
  }
}
.home-recruit_arrow {
  position: relative;
}
.home-recruit_arrow::before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: -26px;
  margin: auto;
  content: "";
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #557DBE;
}
.home-recruit_arrow::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: -19px;
  margin: auto;
  content: "";
  width: 5px;
  height: 5px;
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  transform: rotate(45deg);
}
.home-recruit_radius {
  border-radius: 40px;
}
@media screen and (max-width: 767px) {
  .home-recruit_radius {
    border-radius: 20px;
  }
}
h2.home-news_title {
  margin: 0 0 30px;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
}
/* ------------------------------------------------------------------------------- news */
.table-news {
  width: 100%;
  margin: 0 auto;
  border-collapse: collapse;
  border-top: 1px solid #707070;
}
.table-news th {
  padding: 20px 80px 20px 80px;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 400;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #707070;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .table-news th {
    display: block;
    padding: 10px 10px 0;
    border-bottom: 0;
  }
}
.table-news td {
  padding: 20px 80px 20px 0;
  font-size: 1.6rem;
  line-height: 1.6;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #707070;
}
@media screen and (max-width: 767px) {
  .table-news td {
    display: block;
    padding: 0 10px 10px;
  }
}
.news-txt_wrap p {
  margin-bottom: 30px;
  line-height: 2;
}
p.news-note_txt {
  margin-bottom: 30px;
  font-size: 1.4rem;
  text-align: right;
}
/* ------------------------------------------------------------------------------- corp */
.table-profile {
  width: 100%;
  border-collapse: collapse;
}
@media screen and (max-width: 767px) {
  .table-profile {
    border-right: none;
    border-bottom: none;
  }
}
.table-profile th {
  padding: 20px 40px;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 400;
  color: #6F6F6F;
  text-align: left;
  white-space: nowrap;
  border-right: 1px solid #F5F5F7;
  border-bottom: 10px solid #FFF;
  background: #F5F5F7;
}
@media screen and (max-width: 767px) {
  .table-profile th {
    display: block;
    width: 100%;
    padding: 10px 20px 0;
    line-height: 1.6;
    border-bottom: 0;
  }
}
.table-profile td {
  padding: 20px 40px 20px 0;
  font-size: 1.6rem;
  line-height: 1.6;
  border-bottom: 10px solid #FFF;
  background: #F5F5F7;
}
@media screen and (max-width: 767px) {
  .table-profile td {
    display: block;
    width: 100%;
    margin-bottom: 10px;
    padding: 0 20px 10px;
    line-height: 1.6;
    border-bottom: 0;
  }
}
.message-wrap {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .message-wrap {
    display: block;
  }
}
.message-left {
  width: 45%;
}
@media screen and (max-width: 767px) {
  .message-left {
    width: 100%;
  }
}
.message-right {
  width: 55%;
  padding: 50px;
  background: #FFF;
  margin-top: 80px;
  margin-left: -50px;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .message-right {
    width: 100%;
    padding: 10px;
    margin-top: 30px;
    margin-left: 0;
  }
}
.diversity-bg_wrap {
  padding: 40px;
  background: #F5F5F7;
}
@media screen and (max-width: 767px) {
  .diversity-bg_wrap {
    padding: 20px;
  }
}
h3.diversity-title_h3 {
  font-size: 2.2rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  h3.diversity-title_h3 {
    font-size: 2rem;
  }
}
h4.diversity-title_h4 {
  margin-bottom: 20px;
  font-size: 1.8rem;
  font-weight: 700;
  color: #557DBE;
}
.diversity-left {
  width: 10%;
  padding-right: 20px;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .diversity-left {
    width: 100%;
    padding-right: 0;
    text-align: center;
  }
}
.diversity-right {
  width: 90%;
}
span.diversity-txt_icon {
  display: inline-block;
  padding: 8px 10px;
  line-height: 1;
  font-weight: 700;
  color: #557DBE;
  border-radius: 20px;
  background: #FFF;
}
@media screen and (max-width: 767px) {
  span.diversity-txt_icon {
    padding: 5px 10px;
    font-size: 1.4rem;
    margin-bottom: 10px;
  }
}
p.diversity-txt {
  margin-bottom: 10px;
  font-weight: 700;
}
.table-diversity {
  width: 100%;
  border-collapse: collapse;
}
.table-diversity th {
  width: 15%;
  padding: 0 0 10px 0;
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: 400;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .table-diversity th {
    display: block;
    width: 100%;
    padding-left: 0;
  }
}
.table-diversity td {
  padding: 0 0 10px 0;
  font-size: 1.4rem;
  line-height: 1.4;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  .table-diversity td {
    display: block;
    width: 100%;
    padding-left: 0;
  }
}
.table-diversity_line {
  width: 100%;
  border-collapse: collapse;
}
@media screen and (max-width: 767px) {
  .table-diversity_line {
    min-width: 600px;
  }
}
.table-diversity_line th {
  padding: 20px 30px 20px 0;
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: 400;
  text-align: left;
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
}
.table-diversity_line td {
  padding: 20px 0 20px 30px;
  font-size: 1.4rem;
  line-height: 1.4;
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
}
.table-history {
  width: 100%;
  border-collapse: collapse;
}
.table-history th {
  padding: 10px 0;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 400;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .table-history th {
    display: block;
    width: 100%;
    padding: 5px 0 0 0;
  }
}
.table-history td {
  padding: 10px 0;
  font-size: 1.6rem;
  line-height: 1.6;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  .table-history td {
    display: block;
    width: 100%;
    padding: 5px 0 10px 0;
  }
}
.table-history td img {
  width: 260px;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .table-history td img {
    width: 100%;
  }
}
.year-txt {
  position: relative;
  display: inline-block;
  width: 100px;
  padding-right: 10px;
}
.year-txt::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 50px; /* 線の長さ */
  height: 1px; /* 線の太さ */
  left: 65px;
  background-color: #557DBE; /* 線の色 */
  /*transform: translateY(-50%);*/
}
@media screen and (max-width: 767px) {
  .year-txt::after {
    width: 80%; /* 線の長さ */
  }
}
.office-left {
  width: 400px;
  margin-right: 50px;
}
@media screen and (max-width: 767px) {
  .office-left {
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
  }
}
.office-left iframe {
  width: 400px;
  height: 300px;
  border: 0;
}
@media screen and (max-width: 767px) {
  .office-left iframe {
    width: 100%;
    height: auto;
    border: 0;
  }
}
h3.h3-title_office {
  margin: 0 0 10px;
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  h3.h3-title_office {
    font-size: 1.8rem;
  }
}
h3.h3-title_facility {
  margin: 0 0 10px;
  padding: 0 0 0 10px;
  font-size: 1.8rem;
  color: #557DBE;
}
.col3-facility {
  width: calc(100%/3 - 30px);
  margin-right: 30px;
}
@media screen and (max-width: 767px) {
  .col3-facility {
    width: 100%;
    margin-right: 0;
  }
}
.col3-facility:nth-child(3n) {
  margin-right: auto;
}
.col3-facility img {
  margin-bottom: 5px;
}
.table-facility {
  width: 100%;
  border-collapse: collapse;
  border-top: 3px solid #557DBE;
}
.table-facility th {
  padding: 10px;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  text-align: center;
  vertical-align: top;
  white-space: nowrap;
  border-bottom: 1px solid #707070;
  background: #F5F5F7;
}
@media screen and (max-width: 767px) {
  .table-facility th {
    padding: 10px;
    font-size: 1.4rem;
    line-height: 1.4;
  }
}
.table-facility td {
  padding: 10px;
  font-size: 1.6rem;
  line-height: 1.6;
  text-align: center;
  vertical-align: top;
  border-bottom: 1px solid #707070;
}
@media screen and (max-width: 767px) {
  .table-facility td {
    padding: 10px;
    font-size: 1.4rem;
    line-height: 1.4;
  }
}
h3.h3-title_solusitons {
  padding-bottom: 5px;
  font-size: 2rem;
  font-weight: 700;
  color: #557DBE;
  border-bottom: 2px solid #557DBE;
}
@media screen and (max-width: 767px) {
  h3.h3-title_solusitons {
    font-size: 1.8rem;
  }
}
.col3-solutions {
  width: calc(100%/3 - 30px);
  margin-right: 30px;
}
@media screen and (max-width: 767px) {
  .col3-solutions {
    width: 100%;
    margin-right: 0;
  }
}
.col3-solutions:nth-child(3n) {
  margin-right: auto;
}
.col3-solutions img {
  margin-bottom: 5px;
}
.link-btn_top {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .link-btn_top {
    margin-top: 50px;
  }
}
/* ------------------------------------------------------------------------------- sustainability */
.sustainability-bg_wrap {
  padding: 40px;
  background: #F5F5F7;
}
@media screen and (max-width: 767px) {
  .sustainability-bg_wrap {
    padding: 20px;
  }
}
h3.h3-title_sustainability {
  margin: 0 0 30px;
  font-size: 2.2rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  h3.h3-title_sustainability {
    margin: 0 0 10px;
    font-size: 2rem;
  }
}
h4.h4-title_sustainability {
  margin-bottom: 10px;
  font-size: 1.8rem;
  font-weight: 700;
  color: #557DBE;
}
@media screen and (max-width: 767px) {
  h4.h4-title_sustainability {
    font-size: 1.6rem;
  }
}
.sustainability-pdf_btn {
  display: inline-block;
  padding: 10px 20px;
  font-size: 1.6rem;
  line-height: 1;
  text-align: center;
  border-radius: 6px;
  background: #C98181;
  transition: all .3s;
}
@media screen and (max-width: 767px) {
  .sustainability-pdf_btn {
    width: 100%;
  }
}
.sustainability-pdf_btn:hover {
  text-decoration: none;
  opacity: 0.3;
}
p.sustainability-quality_txt {
  font-size: 2.2rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  p.sustainability-quality_txt {
    font-size: 1.8rem;
  }
}
/* ------------------------------------------------------------------------------- products */
h2.h2-title_products {
  margin: 0 0 40px;
  color: #557DBE;
  text-align: center;
}
@media screen and (max-width: 767px) {
  h2.h2-title_products {
    margin: 0 0 20px;
  }
}
h3.h3-title_products {
  margin: 0 0 10px;
  font-size: 2rem;
  color: #557DBE;
}
.products-bg_wrap {
  margin-bottom: 60px;
  padding: 60px;
  border-radius: 10px;
  background: #F5F5F7;
}
@media screen and (max-width: 767px) {
  .products-bg_wrap {
    margin-bottom: 30px;
    padding: 20px;
  }
}
.products-bg_inner {
  padding: 40px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .products-bg_inner {
    padding: 20px;
  }
}
.btn-download {
  display: block;
  margin: 0;
  padding: 20px;
  font-size: 2rem;
  color: #FFF;
  text-align: center;
  border-radius: 10px;
  background: #FFF;
  white-space: nowrap;
  transition: all .3s;
}
@media screen and (max-width: 767px) {
  .btn-download {
    font-size: 1.8rem;
  }
}
.btn-download:hover {
  text-decoration: none;
  opacity: 0.3;
  transform: translateY(10px);
}
.btn-width_240 {
  min-width: 240px;
}
@media screen and (max-width: 767px) {
  .btn-width_240 {
    min-width: 100%;
  }
}
.btn-width_260 {
  width: 260px;
}
@media screen and (max-width: 767px) {
  .btn-width_260 {
    width: 100%;
  }
}
.download_en {
  display: block;
  margin-top: 8px;
  font-size: 0.9rem;
}
.col-2_products {
  width: calc(50% - 30px);
  margin-right: 60px;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .col-2_products {
    width: 100%;
    margin-right: 0;
  }
}
.col-2_products:nth-child(2n) {
  margin-right: auto;
}
h2.products-index_h2 {
  margin: 0 0 40px;
  color: #557DBE;
  text-align: center;
}
.products-nav_wrap {
  width: 960px;
  margin: 0 auto 30px;
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .products-nav_wrap {
    width: 100%;
    margin-bottom: 20px;
  }
}
.products-nav_wrap ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .products-nav_wrap ul {
    /*display: block;*/
  }
}
.products-nav_wrap li {
  font-size: 1.6rem;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .products-nav_wrap li {
    width: 100%;
    margin-bottom: 10px;
  }
}
.products-nav_wrap li a {
  display: block;
  padding: 8px 20px;
  color: #557DBE;
  border-radius: 20px;
  border: 1px solid #557DBE;
  transition: all .3s;
}
.products-nav_wrap li a:hover {
  color: #FFF;
  border-radius: 20px;
  background: #557DBE;
  text-decoration: none;
}
.col2-products_left {
  width: calc(100%/2 - 100px);
  margin-right: 100px;
}
@media screen and (max-width: 767px) {
  .col2-products_left {
    width: 100%;
    margin-right: 0;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .col2-products_left img {
    width: 70%;
    margin-bottom: 20px;
  }
}
.col2-products_right {
  width: calc(100%/2);
}
@media screen and (max-width: 767px) {
  .col2-products_right {
    width: 100%;
  }
}
.products-title_small {
  margin-bottom: 10px;
  font-size: 2rem;
  font-weight: 700;
}
h2.products-title {
  margin: 0 0 40px;
  font-size: 4rem;
  font-weight: 500;
  color: #557DBE;
}
@media screen and (max-width: 767px) {
  h2.products-title {
    margin: 0 0 10px;
    font-size: 2.2rem;
  }
}
.products-title_s {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .products-title_s {
    font-size: 1.4rem;
  }
}
p.products-txt {
  margin-bottom: 30px;
  font-size: 1.8rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  p.products-txt {
    margin-bottom: 20px;
    font-size: 1.6rem;
    line-height: 1.6;
  }
}
.products-line_bottom {
  margin-bottom: 30px;
  border-bottom: 1px solid #707070;
}
@media screen and (max-width: 767px) {
  .products-line_bottom {
    margin-bottom: 20px;
  }
}
.table-products {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #707070;
}
.table-products th {
  padding: 10px;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 400;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
  border-right: 1px solid #707070;
  border-bottom: 1px solid #707070;
  background: #E4E4E4;
}
@media screen and (max-width: 767px) {
  .table-products th {
    padding: 8px;
    font-size: 1.4rem;
    line-height: 1.4;
  }
}
.table-products td {
  padding: 10px;
  font-size: 1.6rem;
  line-height: 1.6;
  text-align: center;
  vertical-align: top;
  border-right: 1px solid #707070;
  border-bottom: 1px solid #707070;
}
@media screen and (max-width: 767px) {
  .table-products td {
    padding: 8px;
    font-size: 1.4rem;
    line-height: 1.4;
  }
}
.products-movie_wrap {
  padding: 0 10vw;
}
@media screen and (max-width: 767px) {
  .products-movie_wrap {
    padding: 0;
  }
}
.products-movie_inner {
  padding: 56.25% 0 0 0;
  position: relative;
}
.products-movie_iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* ------------------------------------------------------------------------------- tech */
.tech-bg_wrap {
  margin-bottom: 60px;
  padding: 60px;
  border-radius: 10px;
  background: #F5F5F7;
}
@media screen and (max-width: 767px) {
  .tech-bg_wrap {
    padding: 20px;
  }
}
.tech-nav_wrap {
  margin-bottom: 30px;
  padding: 60px;
  border-radius: 20px;
  background: #F5F5F7;
}
@media screen and (max-width: 767px) {
  .tech-nav_wrap {
    margin-bottom: 20px;
    padding: 30px;
  }
}
.tech-nav_wrap a.tech-nav_title {
  display: block;
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .tech-nav_wrap a.tech-nav_title {
    font-size: 2rem;
  }
}
a.tech-nav_title:hover {
  text-decoration: none;
  opacity: 0.3;
}
.tech-list_link {
  margin: 0;
  padding: 0 0 0 16px;
}
.tech-list_link li {
  margin: 0 0 10px;
  padding: 0;
  font-size: 1.6rem;
  line-height: 1.6;
  list-style: disc;
}
@media screen and (max-width: 767px) {
  .tech-list_link li {
    margin: 0 0 10px;
    font-size: 1.4rem;
    line-height: 1.4;
  }
}
.tech-nav_list {
  display: none;
  margin: 0;
  padding: 0 80px 40px;
  font-size: 1.8rem;
  border-radius: 0 0 20px 20px;
  background-color: #F5F5F7;
}
@media screen and (max-width: 767px) {
  .tech-nav_list {
    padding: 0 30px 10px;
  }
}
.tech-nav_list li {
  position: relative;
  margin-bottom: 20px;
  padding-left: 18px;
  font-size: 1.6rem;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .tech-nav_list li {
    margin-bottom: 10px;
    padding-left: 14px;
    font-size: 1.4rem;
    line-height: 1.4;
  }
}
.tech-nav_list li::before {
  position: absolute;
  top: 8px;
  bottom: 0;
  left: 0;
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #707070;
  border-right: 1px solid #707070;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .tech-nav_list li::before {
    top: 6px;
    width: 6px;
    height: 6px;
  }
}
.tech-nav_list li a:hover {
  text-decoration: underline;
}
.tech-item_wrap {
  width: 100%;
  margin-bottom: 30px;
  border-radius: 20px;
  background-color: #F5F5F7;
}
@media screen and (max-width: 767px) {
  .tech-item_wrap {
    margin-bottom: 20px;
  }
}
.tech-item_btn {
  position: relative;
  padding: 60px;
  font-size: 2.4rem;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .tech-item_btn {
    padding: 30px;
    font-size: 2rem;
  }
}
.tech-item_btn:hover {
  opacity: 0.3;
}
.icon-open {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 40px;
  transform: translateY(-52%);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #557DBE;
}
@media screen and (max-width: 767px) {
  .icon-open {
    width: 26px;
    height: 26px;
  }
}
.icon-open::before, .icon-open::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 21px;
  background: #FFF;
  transition: all .3s;
}
@media screen and (max-width: 767px) {
  .icon-open::before, .icon-open::after {
    height: 11px;
  }
}
.icon-open::before {
  transform: translate(-50%, -50%) rotate(90deg);
}
.icon-open::after {
  transform: translate(-50%, -50%) rotate(-180deg);
}
.tech-item_btn.active .icon-open {
  background: #F05353;
}
.tech-item_btn.active .icon-open::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.tech-item_btn.active .icon-open::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
/*.tech-item ul {
  display: none;
  padding: 0 80px 40px;
  font-size: 1.8rem;
  border-radius: 0 0 20px 20px;
  background-color: #F5F5F7;
}
@media screen and (max-width: 767px) {
  .tech-item ul {
    display: none;
    padding: 0 50px 20px;
  }
}*/
h2.h2-title_tech {
  width: 960px;
  margin: 0 auto 40px;
  font-size: 2.6rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  h2.h2-title_tech {
    width: 90%;
    margin-bottom: 20px;
    font-size: 1.8rem;
    line-height: 1.8;
    text-align: left;
  }
}
.txt-question {
  display: inline-block;
  width: 50px;
  height: 50px;
  margin-right: 20px;
  padding: 10px;
  font-weight: 700;
  line-height: 1;
  color: #F51111;
  text-align: center;
  border-radius: 50%;
  background: #F9EAEA;
}
@media screen and (max-width: 767px) {
  .txt-question {
    width: 40px;
    height: 40px;
    margin-right: 10px;
  }
}
p.txt-answer_wrap {
  font-size: 1.8rem;
  line-height: 1.4;
  font-weight: 700;
}
.txt-answer {
  display: inline-block;
  width: 50px;
  height: 50px;
  margin-right: 20px;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 45px;
  color: #557DBE;
  text-align: center;
  border-radius: 50%;
  background: #DEE6F3;
}
@media screen and (max-width: 767px) {
  .txt-answer {
    width: 40px;
    height: 40px;
    margin-right: 10px;
    font-size: 1.8rem;
    line-height: 38px;
  }
}
/* ------------------------------------------------------------------------------- recruit */
.h1-wrap_recruit {
  height: 640px;
}
@media screen and (max-width: 767px) {
  .h1-wrap_recruit {
    height: 240px;
  }
}
.recruit-slider_fadein {
  animation: fadeIn 2s ease-in;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.recruit-slider_img01 {
  background: url(/images/recruit-slider_01.jpg);
  background-size: cover;
  background-position: center;
}
.recruit-slider_img02 {
  background: url(/images/recruit-slider_02.jpg);
  background-size: cover;
  background-position: center;
}
.recruit-slider_img03 {
  background: url(/images/recruit-slider_03.jpg);
  background-size: cover;
  background-position: center;
}
.recruit-slider_img04 {
  background: url(/images/recruit-slider_04.jpg);
  background-size: cover;
  background-position: center;
}
.h1-inner_recruit {
  width: 100%;
  margin: 0 0 20px;
  padding: 20px 0;
  background: rgba(0, 0, 0, 0.6);
}
@media screen and (max-width: 767px) {
  .h1-inner_recruit {
    margin: 0 0 10px;
    padding: 10px 0;
  }
}
.h1-inner_recruit h1 {
  width: 960px;
  margin: 0 auto;
  font-size: 3rem;
  font-weight: 500;
  color: #FFF;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .h1-inner_recruit h1 {
    width: 90%;
    font-size: 2.2rem;
  }
}
.copy-txt_wrap {
  width: 960px;
  margin: 0 auto 60px;
}
@media screen and (max-width: 767px) {
  .copy-txt_wrap {
    width: 100%;
  }
}
.copy-txt_recruit {
  margin-left: 20px;
  font-size: 4.6rem;
  font-weight: 500;
  line-height: 1.6;
  color: #FFF;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}
@media screen and (max-width: 767px) {
  .copy-txt_recruit {
    font-size: 2.6rem;
    line-height: 1.4;
  }
}
h2.h2-title_recruit {
  margin: 0 0 40px;
  color: #557DBE;
  text-align: center;
}
@media screen and (max-width: 767px) {
  h2.h2-title_recruit {
    margin: 0 0 20px;
  }
}
h3.h3-title_recruit {
  font-size: 2rem;
  color: #557DBE;
}
@media screen and (max-width: 767px) {
  h3.h3-title_recruit {
    font-size: 1.8rem;
  }
}
.recruit-block_line01 {
  width: 70%;
  margin: 0 auto;
  padding: 20px;
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
}
@media screen and (max-width: 767px) {
  .recruit-block_line01 {
    width: 100%;
    padding: 10px;
  }
}
.recruit-block_line02 {
  width: 70%;
  margin: 0 auto;
  padding: 20px;
  border-bottom: 1px solid #707070;
}
@media screen and (max-width: 767px) {
  .recruit-block_line02 {
    width: 100%;
    padding: 10px;
  }
}
.recruit-block_line03 {
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #707070;
}
@media screen and (max-width: 767px) {
  .recruit-block_line03 {
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
}
.table-recruit {
  width: 70%;
  margin: 0 auto;
  border-collapse: collapse;
  border-top: 1px solid #707070;
}
@media screen and (max-width: 767px) {
  .table-recruit {
    width: 100%;
  }
}
.table-recruit th {
  padding: 20px 100px 20px 100px;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 400;
  text-align: left;
  border-bottom: 1px solid #707070;
}
@media screen and (max-width: 767px) {
  .table-recruit th {
    display: block;
    padding: 10px 20px 0;
    border: none;
  }
}
.table-recruit td {
  padding: 20px 100px 20px 0;
  font-size: 1.6rem;
  line-height: 1.6;
  border-bottom: 1px solid #707070;
}
@media screen and (max-width: 767px) {
  .table-recruit td {
    display: block;
    padding: 0 10px 10px 20px;
  }
}
p.message-copy_recruit {
  margin-bottom: 20px;
  padding: 0 60px;
  font-size: 3rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  p.message-copy_recruit {
    padding: 0 30px;
    font-size: 1.8rem;
    text-align: center;
  }
}
.message-wrap_recruit {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .message-wrap_recruit {
    display: block;
  }
}
.message-left_recruit {
  width: 40%;
  margin-top: 200px;
  margin-right: 20px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .message-left_recruit {
    width: 100%;
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .message-left_recruit img {
    width: 60%;
    margin-bottom: 20px;
  }
}
.message-right_recruit {
  width: 60%;
  padding: 0 0 0 20px;
  background: #FFF;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .message-right_recruit {
    width: 100%;
    padding: 10px;
    margin-left: 0;
  }
}
.message-name_recruit {
  justify-content: flex-end;
  margin-top: 160px;
}
@media screen and (max-width: 767px) {
  .message-name_recruit {
    margin-top: 20px;
    text-align: right;
  }
}
.interview-bg_wrap {
  margin-bottom: 60px;
  padding: 40px 0;
  background: url(/images/recruit_bg.jpg);
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 767px) {
  .interview-bg_wrap {
    margin-bottom: 30px;
    padding: 20px 0;
  }
}
.btn-interview_wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  width: calc(100%/4 - 20px);
  height: 280px;
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 30px;
  border-radius: 30px;
}
@media screen and (max-width: 767px) {
  .btn-interview_wrap {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
  }
}
.btn-interview_01 {
  background: url(/images/recruit_02.jpg);
  background-size: cover;
  background-position: center;
}
.btn-interview_02 {
  background: url(/images/recruit_03.jpg);
  background-size: cover;
  background-position: center;
}
.btn-interview_03 {
  background: url(/images/recruit_04.jpg);
  background-size: cover;
  background-position: center;
}
.btn-interview_04 {
  background: url(/images/recruit_05.jpg);
  background-size: cover;
  background-position: center;
}
.btn-interview_05 {
  background: url(/images/recruit_06.jpg);
  background-size: cover;
  background-position: center;
}
.btn-interview_06 {
  background: url(/images/recruit_07.jpg);
  background-size: cover;
  background-position: center;
}
.btn-interview_07 {
  background: url(/images/recruit_08.jpg);
  background-size: cover;
  background-position: center;
}
.btn-interview_08 {
  background: url(/images/recruit_09.jpg);
  background-size: cover;
  background-position: center;
}
p.btn-interview_title {
  margin-bottom: 40px;
  font-size: 2.4rem;
  color: #557DBE;
  text-align: center;
}
.interview-copy_wrap {
  margin-top: auto;
  padding: 10px 20px 15px;
  border-radius: 0 0 30px 30px;
  background: rgba(85, 125, 190, 0.8);
}
@media screen and (max-width: 767px) {
  .interview-copy_wrap {
    padding: 10px 10px 15px;
  }
}
p.interview-copy {
  margin-bottom: 10px;
  font-size: 1.4rem;
  line-height: 1.4;
  color: #FFF;
}
p.interview-copy_small {
  font-size: 1.2rem;
  line-height: 1.2;
  color: #FFF;
}
.h1-title_interview {
  width: 960px;
  margin: 0 auto;
  color: #FFF;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .h1-title_interview {
    width: 90%;
  }
}
@media screen and (max-width: 767px) {
  .h1-title_interview {
    font-size: 2rem;
  }
}
.inteview-main_wrap {
  height: 300px;
  margin-bottom: 200px;
  padding-top: 30px;
  background: #F5F5F7;
}
@media screen and (max-width: 767px) {
  .inteview-main_wrap {
    height: auto;
    margin-bottom: 20px;
    padding-bottom: 30px;
  }
}
.interview-main_left {
  width: calc(100%/2);
}
@media screen and (max-width: 767px) {
  .interview-main_left {
    width: 100%;
    margin-right: 0;
    margin-bottom: 30px;
  }
}
.interview-main_right {
  width: calc(100%/2 - 50px);
  margin-left: 50px;
}
@media screen and (max-width: 767px) {
  .interview-main_right {
    width: 100%;
    margin-left: 0;
  }
}
.interview-main_right img {
  opacity: 0;
  animation: slide-right 1s cubic-bezier(.075, .82, .165, 1) forwards;
}
@keyframes slide-right {
  from {
    transform: translateX(300px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
p.interview-copy_txt {
  padding: 0 0 100px;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 2;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  p.interview-copy_txt {
    padding: 0 0 20px;
    font-size: 2.2rem;
    line-height: 1.8;
  }
}
p.interview-title_txt {
  margin-bottom: 20px;
  font-size: 2.4rem;
  font-weight: 500;
}
p.interview-department_txt {
  font-size: 1.6rem;
  text-align: right;
}
.interview-txt_wrap {
  position: relative;
  padding: 10px 0 30px 60px;
}
@media screen and (max-width: 767px) {
  .interview-txt_wrap {
    padding: 10px 0 20px 30px;
  }
}
.interview-txt_wrap::before {
  position: absolute;
  background-color: #557DBE;
  border-radius: 30px;
  content: "";
  left: 0;
  top: 0;
  bottom: 0;
  width: 25px;
  height: auto;
}
@media screen and (max-width: 767px) {
  .interview-txt_wrap::before {
    width: 10px;
  }
}
p.interview-txt_copy {
  margin-bottom: 20px;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.6;
  color: #557DBE;
}
@media screen and (max-width: 767px) {
  p.interview-txt_copy {
    font-size: 2rem;
  }
}
.interview-radius_left {
  min-width: 300px;
  margin-right: 60px;
  padding: 80px 0;
}
@media screen and (max-width: 767px) {
  .interview-radius_left {
    min-width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
    padding: 0;
    text-align: center;
  }
}
.interview-radius_left img {
  width: 300px;
  border-radius: 190px;
}
@media screen and (max-width: 767px) {
  .interview-radius_left img {
    width: 60%;
    border-radius: 190px;
  }
}
.interview-radius_right {
  width: calc(100% - 360px);
}
@media screen and (max-width: 767px) {
  .interview-radius_right {
    width: 100%;
  }
}
.interview-blue_bg {
  margin-bottom: 60px;
  padding: 40px 0;
  background: #F5F5F7;
}
.interview-white_bg {
  padding: 30px 40px 10px;
  border-radius: 40px;
  background: #FFF;
}
@media screen and (max-width: 767px) {
  .interview-white_bg {
    padding: 20px 30px 10px;
  }
}
.interview-white_left {
  width: calc(100% - 380px);
  padding-right: 50px;
}
@media screen and (max-width: 767px) {
  .interview-white_left {
    width: 100%;
    padding-right: 0;
  }
}
p.interview-title_green {
  margin-bottom: 20px;
  font-size: 2.6rem;
  font-weight: 500;
  color: #00C6A0;
}
@media screen and (max-width: 767px) {
  p.interview-title_green {
    font-size: 2.2rem;
    line-height: 1.6;
  }
}
.img-01 {
  width: 300px;
  margin: 0 0 0 30px;
  border: 5px solid #FFF;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
  transform: rotate(-5deg);
}
@media screen and (max-width: 767px) {
  .img-01 {
    width: 90%;
  }
}
.img-02_left {
  width: 190px;
  margin-top: 30px;
  border: 5px solid #FFF;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
  transform: rotate(-5deg);
}
@media screen and (max-width: 767px) {
  .img-02_left {
    width: 80%;
  }
}
.img-02_right {
  width: 190px;
  margin-top: 10px;
  border: 5px solid #FFF;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
  transform: rotate(15deg);
}
@media screen and (max-width: 767px) {
  .img-02_right {
    width: 80%;
  }
}
.guideline-main_wrap {
  height: 100px;
  padding-top: 30px;
  background: #F5F5F7;
}
p.guideline-title_txt {
  margin-bottom: 30px;
  padding-left: 10px;
  padding-bottom: 10px;
  font-size: 2rem;
  font-weight: 500;
  border-bottom: 2px solid #212121;
}
@media screen and (max-width: 767px) {
  p.guideline-title_txt {
    margin-bottom: 10px;
  }
}
.table-guideline {
  width: 100%;
  margin: 0 auto;
  border-collapse: collapse;
}
@media screen and (max-width: 767px) {
  .table-guideline {
    width: 100%;
  }
}
.table-guideline th {
  width: 240px;
  padding: 20px 50px 20px 20px;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
  color: #557DBE;
  text-align: left;
  border-bottom: 1px solid #707070;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .table-guideline th {
    display: block;
    padding: 10px 10px 0;
    border: none;
  }
}
.table-guideline td {
  padding: 20px 20px 20px 0;
  font-size: 1.6rem;
  line-height: 1.6;
  border-bottom: 1px solid #707070;
}
@media screen and (max-width: 767px) {
  .table-guideline td {
    display: block;
    padding: 0 10px 10px;
  }
}
.table-guideline table th {
  padding: 10px 20px 0 0;
  font-weight: 400;
  color: #212121;
  border-bottom: 0;
}
@media screen and (max-width: 767px) {
  .table-guideline table th {
    padding: 5px 0 0 0;
  }
}
.table-guideline table td {
  padding: 10px 0 0;
  border-bottom: 0;
}
@media screen and (max-width: 767px) {
  .table-guideline table td {
    padding: 0;
    border-bottom: 0;
  }
}
/* ------------------------------------------------------------------------------- catalog-download */
.download .header-wrap {
  position: static;
  box-shadow: 0;
}
@media screen and (max-width: 767px) {
  .download .header-wrap {
    position: static;
  }
}
.download .header-inner {
  width: 800px;
  margin: 0 auto;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .download .header-inner {
    width: 100%;
    padding: 0 3vw;
  }
}
.download main {
  padding-top: 0;
}
@media screen and (max-width: 767px) {
  .download main {
    padding: 40px 0 0;
  }
}
.download .container {
  max-width: 800px;
  margin: 0 auto;
}
.download .header-wrap .logo {
  margin: 0;
}
@media screen and (max-width: 767px) {
  .download .header-wrap .logo {
    margin: 15px 0 0 20px;
  }
}
.download .h1-title {
  width: 800px;
  margin: 0 auto;
  padding: 0;
  font-size: 3rem;
  font-weight: 500;
  color: #FFF;
}
@media screen and (max-width: 767px) {
  .download .h1-title {
    width: 100%;
    padding: 0 20px;
    font-size: 2rem;
  }
}
.download h2 {
  margin: 0 0 20px;
  padding: 0;
  font-size: 2rem;
}
.catalog-download_btn {
  position: relative;
  display: inline-block;
  width: 100%;
  margin: 40px 0;
  padding: 30px;
  font-size: 2rem;
  text-align: center;
  border-radius: 10px;
  background: #557DBE;
  transition: all .3s;
}
@media screen and (max-width: 767px) {
  .catalog-download_btn {
    margin: 30px 0;
    font-size: 1.8rem;
  }
}
.catalog-download_btn:hover {
  color: #557DBE;
  background: #FFF;
}
.catalog-download_btn::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 72px;
  margin: auto;
  width: 12px;
  height: 12px;
  border-top: 2px solid #FFF;
  border-right: 2px solid #FFF;
  transform: rotate(45deg);
  transition: all .3s;
}
@media screen and (max-width: 992px) {
  .catalog-download_btn::after {
    right: 20px;
  }
}
.catalog-download_btn:hover::after {
  border-top: 2px solid #557DBE;
  border-right: 2px solid #557DBE;
}
a.catalog-download_btn {
  color: #FFF;
  font-weight: 500;
}
.download input[type="submit"] {
  transition: all .3s;
}
.download input[type="submit"]:hover {
  opacity: 0.3;
}
.wpcf7 form.sent .input-wrap {
  padding: 120px 0;
}
.wpcf7 form.sent .wpcf7-response-output {
  margin-bottom: 0 !important;
  padding: 50px !important;
  text-align: left;
}
/* ------------------------------------------------------------------------------- contact */
.h1-contact {
  height: 300px;
  background: url(/images/h1_contact.jpg);
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 767px) {
  .h1-contact {
    height: 140px;
  }
}
h3.h3-title_contact {
  margin-bottom: 30px;
  padding-left: 10px;
  padding-bottom: 10px;
  font-size: 2rem;
  font-weight: 500;
  color: #557DBE;
  border-bottom: 2px solid #557DBE;
}
@media screen and (max-width: 767px) {
  h3.h3-title_contact {
    margin-bottom: 10px;
    font-size: 1.8rem;
  }
}
.btn-contact {
  display: inline-block;
  min-width: 300px;
  margin: 10px 0;
  padding: 20px 40px;
  font-size: 2rem;
  line-height: 1.4;
  text-align: center;
  border-radius: 10px;
  transition: all .3s;
}
@media screen and (max-width: 767px) {
  .btn-contact {
    min-width: 100%;
    padding: 20px;
    font-size: 1.8rem;
  }
}
.btn-contact:hover {
  text-decoration: none;
  opacity: 0.3;
}
.btn-contact_excel {
  display: inline-block;
  padding: 10px 30px;
  font-size: 1.6rem;
  line-height: 1.4;
  text-align: center;
  border-radius: 30px;
  background: rgba(89, 175, 128, 1.00);
  transition: all .3s;
}
@media screen and (max-width: 767px) {
  .btn-contact_excel {
    width: 100%;
    padding: 10px 20px;
    font-size: 1.4rem;
  }
}
.btn-contact_excel:hover {
  text-decoration: none;
  opacity: 0.3;
}
.contact-block_line {
  margin-bottom: 20px;
  padding: 20px 0;
  border-top: 1px solid #575757;
  border-bottom: 1px solid #575757;
}
@media screen and (max-width: 767px) {
  .contact-block_line {
    margin-bottom: 20px;
    padding: 10px 0;
  }
}
.contact-bg_wrap {
  margin-bottom: 60px;
  padding: 60px;
  border-radius: 10px;
  background: #F5F5F7;
}
@media screen and (max-width: 767px) {
  .contact-bg_wrap {
    margin-bottom: 30px;
    padding: 20px;
  }
}
.table-contact {
  width: 100%;
  border-collapse: collapse;
}
@media screen and (max-width: 767px) {
  .table-contact {
    border-right: none;
    border-bottom: none;
  }
}
.table-contact th {
  padding: 10px 20px 10px 0;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 400;
  text-align: left;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .table-contact th {
    display: block;
    width: 100%;
    padding: 8px 8px 0;
    line-height: 1.6;
  }
}
.table-contact td {
  padding: 10px 0;
  font-size: 1.6rem;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .table-contact td {
    display: block;
    width: 100%;
    padding: 8px;
    line-height: 1.6;
  }
}
/* ------------------------------------------------------------------------------- form */
.form_input-txt {
  width: 100%;
  padding: 10px 12px;
  line-height: 2;
  border-radius: 4px;
  border: 1px solid #ddd;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .form_input-txt {
    width: 100%;
  }
}
.form-btn_wrap {
  padding: 30px 0 0;
  text-align: center;
}
p.form-note_txt {
  margin-top: 5px;
  font-size: 1.4rem;
  color: #575757;
}
.orange-txt {
  color: #FE8300;
}
.grecaptcha-badge {
  bottom: 100px !important;
}
.wpcf7-not-valid-tip {
  margin-top: 5px;
  font-size: 1.4rem !important;
}
.wpcf7-submit, .wpcf7-confirm, .wpcf7-back, .wpcf7-previous {
  margin: 20px 0 30px;
  padding: 20px 80px;
  font-size: 1.8rem;
  color: #FFF;
  letter-spacing: 0.6em;
  text-indent: 0.6em;
  text-align: center;
  border: none;
  border-radius: 40px;
  background-color: #222;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .wpcf7-submit, .wpcf7-confirm, .wpcf7-back, .wpcf7-previous {
    width: 100%;
    margin: 30px auto 0;
    padding: 20px 40px;
  }
}
.wpcf7-submit:hover, .wpcf7-confirm:hover, .wpcf7-back:hover, .wpcf7-previous:hover {
  opacity: 0.3;
}
.wpcf7-previous {
  margin-right: 30px;
  background-color: #bdbdbd;
}
.wpcf7 form .wpcf7-response-output {
  margin: 0 0 30px !important;
  padding: 10px !important;
  font-size: 1.6rem;
  color: #FFF;
  border: none !important;
  border-radius: 6px;
}
[type="radio"] {
  margin-right: 5px;
  width: 16px;
  height: 16px;
  vertical-align: -2px;
}
.textarea {
  width: 100%;
  padding: 5px;
  background-color: #fcfcfc;
  border-radius: 4px;
  border: 1px solid #e1e1e1;
}
@media screen and (max-width: 767px) {
  .textarea {
    width: 100%;
  }
}
select {
  padding: 10px;
  border-radius: 4px;
  border: 1px solid #ddd;
  background-color: #FFF;
}
@media screen and (max-width: 767px) {
  select {
    width: 100%;
  }
}
.wpcf7-response-output {
  margin: 0 !important;
  padding: 1em !important;
  border: 2px solid #00a0d2;
  font-size: 1.6rem;
}
/**/
.response-box {
  padding: 30px 0 0;
}
.ebd_results {
  margin: 0 15px 60px;
  padding: 20px 20px 0 20px;
  font-size: 1.6rem;
  line-height: 1.6;
  border: 3px solid #f00;
}
.wpcf7-radio .wpcf7-list-item {
  display: block;
}
.wpcf7-list-item {
  margin: 0 !important;
}
input.wpcf7-captchar {
  width: 30%;
  margin-bottom: 20px;
  padding: 10px;
  font-size: 1.5rem;
  border: 1px solid #e1e1e1;
}
@media screen and (max-width: 767px) {
  input.wpcf7-captchar {
    width: 100%;
  }
}
.wpcf7 > form input[type="submit"][disabled], .wpcf7 > form input[type="submit"][disabled]:hover, .wpcf7 > form input[type="submit"][disabled]:focus {
  background-color: #ccc;
}
.wpcf7-submit:disabled, .wpcf7-confirm:disabled {
  cursor: not-allowed;
}
.wpcf7 form.init .wpcf7-response-output, .wpcf7 form.resetting .wpcf7-response-output, .wpcf7 form.submitting .wpcf7-response-output {
  display: none;
}
.wpcf7 form.sent .wpcf7-response-output {
  background-color: #46b450; /* Green */
  margin-bottom: 120px !important;
  padding: 40px 20px !important;
  font-size: 1.6rem;
  line-height: 1.6;
  text-align: left;
}
.wpcf7-response-output {
  font-size: 1.6rem;
  margin-bottom: 100px;
}
.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output {
  background-color: #dc3232; /* Red */
}
.wpcf7 form.spam .wpcf7-response-output {
  background-color: #f56e28; /* Orange */
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
  text-align: center;
  background-color: #ffb900; /* Yellow */
}
form.sent table, form.sent p, form.sent div label, form.sent .wpcf7-submit, form.sent .wpcf7-spinner {
  display: none;
}
.ebd_results {
  margin: 0 15px 60px;
  padding: 20px 20px 0 20px;
  font-size: 1.6rem;
  line-height: 1.6;
  border: 3px solid #f00;
}
form.sent table, form.sent .download-inner p, form.sent .download-inner label {
  display: none;
}
.wpcf7 form.sent .table-corp, .wpcf7 form.sent .table-corp td {
  border: none;
}
/* ------------------------------------------------------------------------------- privacy */
ol.ol-list_privacy01 {
  margin: 0;
  padding: 0 0 0 20px;
}
ol.ol-list_privacy01 > li {
  margin: 0 0 40px;
  padding: 0;
  font-size: 1.6rem;
  line-height: 1.6;
}
ol.ol-list_privacy02 {
  margin: 8px 0 40px;
  padding: 0;
}
ol.ol-list_privacy02 > li {
  list-style: none;
  text-indent: -3em;
  padding-left: 3em;
}
ol.ol-list_privacy03 {
  margin: 4px 0 40px;
  padding: 0;
}
ol.ol-list_privacy03 > li {
  margin: 0;
  list-style: none;
  text-indent: -1em;
  padding-left: 1em;
}
/* ------------------------------------------------------------------------------- sitemap */
.sitemap-list {
  margin: 0;
  padding: 0;
}
.sitemap-list li > a {
  position: relative;
  display: inline-block;
  padding: 10px 10px 10px 0;
  font-size: 1.6rem;
}
.sitemap-list li > a::after {
  position: absolute;
  top: 1px;
  bottom: 0;
  right: -6px;
  margin: auto;
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #707070;
  border-right: 1px solid #707070;
  transform: rotate(45deg);
}
.sitemap-list ul {
  margin: 0;
  padding: 0;
}
.sitemap-list li li a {
  padding: 5px 5px 5px 20px;
  font-size: 1.4rem;
}
.sitemap-list li li a::after {
  width: 6px;
  height: 6px;
}
.sitemap-list_sub {
  margin-bottom: 20px !important;
  padding-left: 20px !important;
}
.sitemap-list_sub li a {
  position: relative;
  padding: 5px 5px 5px 14px !important;
}
.sitemap-list_sub li a::after {
  content: none;
}
.sitemap-list_sub li a::before {
  position: absolute;
  top: 1px;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  width: 6px;
  height: 6px;
  border-top: 1px solid #707070;
  border-right: 1px solid #707070;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
/* ------------------------------------------------ animation */
.slide-left_effect {
  transform: translateX(-300px);
  opacity: 0;
}
.slide-left_effect.show {
  transition: opacity .6s ease-in-out, transform 1s cubic-bezier(.075, .82, .165, 1);
  transform: translateX(0);
  opacity: 1;
}
.slide-right_effect {
  transform: translateX(300px);
  opacity: 0;
}
.slide-right_effect.show {
  transition: opacity .6s ease-in-out, transform 1s cubic-bezier(.075, .82, .165, 1);
  transform: translateX(0);
  opacity: 1;
}
.slide-up_effect {
  transform: translateY(40px);
  opacity: 0;
}
.slide-up_effect.show {
  transition: opacity .3s ease-in-out, transform 1s cubic-bezier(.075, .82, .165, 1);
  transform: translateY(0);
  opacity: 1;
}
.slide-up_effect.show:nth-child(2) {
  transition-delay: .2s;
}
.slide-up_effect.show:nth-child(3) {
  transition-delay: .4s;
}
.slide-up_effect.show:nth-child(4) {
  transition-delay: .6s;
}
.slide-up_effect.show:nth-child(5) {
  transition-delay: .8s;
}
.slide-up_effect.show:nth-child(6) {
  transition-delay: 1s;
}
.slide-up_effect.show:nth-child(7) {
  transition-delay: 1.2s;
}
.slide-up_effect.show:nth-child(8) {
  transition-delay: 1.4s;
}
.slide-up_effect.show:nth-child(9) {
  transition-delay: 1.6s;
}
.slide-up_effect.show:nth-child(10) {
  transition-delay: 1.8s;
}
.slide-up_effect.show:nth-child(11) {
  transition-delay: 2s;
}
.slide-up_effect.show:nth-child(12) {
  transition-delay: 2.2s;
}
/* ------------------------------------------------ common */
/* swiper */
.swiper-pagination-bullet-active {
  background: #FFF !important;
}
.swiper-button-next, .swiper-button-prev {
  color: #FFF !important;
}
.link-pdf {
  position: relative;
}
.link-pdf::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: -30px;
  margin: auto;
  padding: 2px;
  content: "PDF";
  height: 11px;
  font-size: 1rem;
  line-height: 1;
  color: #FFF;
  border-radius: 3px;
  background: #C98181;
  text-decoration: none;
}
.pdf-icon {
  display: inline-block;
  margin-left: 5px;
  padding: 3px 5px;
  font-size: 1.2rem;
  line-height: 1;
  color: #FFF;
  border-radius: 3px;
  background: #C98181;
  text-decoration: none;
}
a.link-btn_wrap {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all .3s;
}
a.link-btn_wrap:hover {
  background: rgba(85, 125, 190, 0.5)
}
@media screen and (max-width: 767px) {
  .table-scroll_wrap {
    overflow-x: scroll;
  }
}
.table-noborder {
  border-collapse: collapse;
}
.table-noborder th {
  padding: 0 40px 10px 0;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 400;
  text-align: left;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .table-noborder th {
    display: block;
    padding-bottom: 5px;
  }
}
.table-noborder td {
  padding: 0 0 10px;
  font-size: 1.6rem;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .table-noborder td {
    display: block;
    padding-bottom: 5px;
  }
}
.noborder-pdd_40 {
  padding-right: 40px !important;
}
.blue-txt {
  color: #557DBE;
}
.white-txt {
  color: #FFF;
}
.bg-blue {
  background: #557DBE;
}
.bg-white {
  background: #FFF;
}
.blue-bg_wrap {
  width: 100%;
  margin-bottom: 60px;
  padding: 60px 40px;
  background: #F5F5F7;
}
@media screen and (max-width: 767px) {
  .blue-bg_wrap {
    margin-bottom: 30px;
    padding: 30px 0;
  }
}
.padding-lr_60 {
  padding: 0 60px;
}
@media screen and (max-width: 767px) {
  .padding-lr_60 {
    padding: 0;
  }
}
.link-white:link, .link-white:active, .link-white:visited {
  color: #FFF;
}
.m-top_30 {
  margin-top: 30px !important;
}
@media screen and (max-width: 767px) {
  .m-top_30 {
    margin-top: 15px !important;
  }
}
.m-bottom_30 {
  margin-bottom: 30px !important;
}
@media screen and (max-width: 767px) {
  .m-bottom_30 {
    margin-bottom: 15px !important;
  }
}
.m-bottom_40 {
  margin-bottom: 40px !important;
}
@media screen and (max-width: 767px) {
  .m-bottom_40 {
    margin-bottom: 25px !important;
  }
}
.m-bottom_80 {
  margin-bottom: 80px !important;
}
@media screen and (max-width: 767px) {
  .m-bottom_80 {
    margin-bottom: 45px !important;
  }
}
@media screen and (max-width: 767px) {
  .m-bottom_sp {
    margin-bottom: 25px !important;
  }
}
.radius-30 {
  border-radius: 30px;
}
.radius-40 {
  border-radius: 40px;
}
.justify-center {
  justify-content: center;
}
.position-abs {
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .position-abs {
    position: static;
  }
}
.vertical-top {
  vertical-align: top;
}
.link-arrow {
  position: relative;
  display: inline-block;
  padding-right: 10px;
}
.link-arrow::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  content: "";
  width: 6px;
  height: 6px;
  border-top: 1px solid #707070;
  border-right: 1px solid #707070;
  transform: rotate(45deg);
}
.wp-block-table th {
  background: #fbfbfb;
}
.wp-block-table th, .wp-block-table td {
  border: 1px solid #707070 !important;
  padding: 10px !important;
  font-weight: 400;
  line-height: 1.6;
}
.wp-block-media-text__content {
  align-self: end !important;
}
/* ------------------------------------------------ btn */
.btn-google {
  position: relative;
  display: inline-block;
  min-width: 360px;
  padding: 5px 20px;
  text-align: center;
  border-radius: 30px;
  background: #557DBE;
  transition: all .3s;
}
@media screen and (max-width: 767px) {
  .btn-google {
    min-width: auto;
    width: 100%;
  }
}
.btn-google::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 30px;
  content: "";
  width: 22px;
  height: 22px;
  margin: auto;
  background: url(/assets/images/icon_link.svg);
}
.btn-google:hover {
  text-decoration: none;
  opacity: 0.3;
}
.btn-index_wrap {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .btn-index_wrap {
    margin-bottom: 20px;
  }
}
.btn-index {
  display: block;
  position: relative;
  padding: 40px;
  font-size: 2.8rem;
  font-weight: 500;
  border-radius: 30px;
  background: #F5F5F7;
  transition: all .3s;
}
@media screen and (max-width: 767px) {
  .btn-index {
    padding: 30px;
    font-size: 2rem;
  }
}
.btn-index:hover {
  text-decoration: none;
  opacity: 0.3;
}
.btn-index::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 70px;
  margin: auto;
  content: "";
  width: 14px;
  height: 14px;
  border-top: 1px solid #707070;
  border-right: 1px solid #707070;
  transform: rotate(45deg);
  transition: all .3s;
}
@media screen and (max-width: 767px) {
  .btn-index::after {
    right: 30px;
  }
}
.btn-index:hover::after {
  right: 50px;
}
@media screen and (max-width: 767px) {
  .btn-index:hover::after {
    right: 20px;
  }
}
.btn-link {
  display: block;
  padding: 20px 10px;
  font-size: 2.2rem;
  text-align: center;
  border-radius: 30px;
  background: #F5F5F7;
  transition: all .3s;
}
@media screen and (max-width: 767px) {
  .btn-link {
    font-size: 2rem;
    border-radius: 20px;
  }
}
.btn-link:hover {
  text-decoration: none;
  opacity: 0.3;
  transform: translateY(10px);
}
.btn-link_recruit {
  display: block;
  padding: 30px 10px;
  font-size: 2.2rem;
  text-align: center;
  border-radius: 30px;
  background: #557DBE;
  transition: all .3s;
}
@media screen and (max-width: 767px) {
  .btn-link_recruit {
    padding: 20px 10px;
    font-size: 2rem;
    border-radius: 20px;
  }
}
.btn-link_recruit:hover {
  text-decoration: none;
  opacity: 0.3;
  transform: translateY(10px);
}
.btn-back {
  position: relative;
  display: inline-block;
  padding: 10px;
  font-size: 1.8rem;
  transition: all .3s;
}
@media screen and (max-width: 767px) {
  .btn-back {
    font-size: 1.6rem;
  }
}
.btn-back::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  border-radius: 10px;
  background-color: #333;
}
.btn-back:hover {
  text-decoration: none;
  opacity: 0.3;
}
/* pagetop */
.btn-pagetop {
  display: none;
  position: fixed;
  bottom: 30px;
  right: 30px;
}
.pagetop-arrow {
  display: inline-block;
  position: relative;
  width: 50px;
  height: 50px;
  color: #FFF;
  text-decoration: none;
  border-radius: 16px;
  background-color: #333;
}
.pagetop-arrow::after {
  position: absolute;
  top: 5px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #FFF;
  border-right: 2px solid #FFF;
  transform: rotate(-45deg);
}
/* ------------------------------------------------ col */
.col {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .col {
    display: block;
  }
}
.col-2 {
  width: calc(50% - 6px);
  margin-right: 12px;
  margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .col-2 {
    width: 100%;
    margin-right: 0;
  }
}
.col-2:nth-child(2n) {
  margin-right: auto;
}
.col-3 {
  width: calc(33.33333% - 8px);
  margin-right: 12px;
  margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .col-3 {
    width: 100%;
    margin-right: 0;
  }
}
.col-3:nth-child(3n) {
  margin-right: auto;
}
/* ------------------------------------------------ list */
.arrow-list_wap {
  margin: 0 0 20px;
  padding: 0 0 0 20px;
}
.arrow-list_wap li {
  position: relative;
  margin-bottom: 8px;
  padding-left: 18px;
  font-size: 1.6rem;
  line-height: 1.6;
}
.arrow-list_wap li::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #707070;
  border-right: 1px solid #707070;
  transform: rotate(45deg);
}
.list-small_wrap {
  margin: 0 0 20px;
  padding: 0 0 0 20px;
}
.list-small_wrap li {
  margin-bottom: 5px;
  font-size: 1.4rem;
  line-height: 1.6;
}
.txt-list {
  margin: 0;
  padding: 0 0 0 16px;
}
.txt-list li {
  margin: 0 0 10px;
  padding: 0;
  font-size: 1.6rem;
  line-height: 1.6;
  list-style: disc;
}
@media screen and (max-width: 767px) {
  .txt-list li {
    margin: 0 0 5px;
  }
}
ol {
  margin: 0;
  padding: 0 0 0 20px;
}
ol li {
  margin: 0 0 10px;
  padding: 0;
  font-size: 1.6rem;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  ol li {
    margin: 0 0 5px;
  }
}
/* --------------------------------------------------------------*/
/* --------------------------------------------------------- common */
.display-sp {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .display-sp {
    display: block !important;
  }
}
.display-pc {
  display: block !important;
}
@media screen and (max-width: 1024px) {
  .display-pc {
    display: none !important;
  }
}
.position-r {
  position: relative;
}
.position-r_sp {
  position: relative;
}
@media screen and (max-width: 767px) {
  .position-r_sp {
    position: static;
  }
}
.p-center {
  text-align: center !important;
}
.p-left {
  text-align: left !important;
}
.p-right {
  text-align: right !important;
}
/* margin, padding */
.mt10 {
  margin-top: 10px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mt40 {
  margin-top: 40px !important;
}
.mt50 {
  margin-top: 50px !important;
}
.mt100 {
  margin-top: 100px !important;
}
.mb05 {
  margin-bottom: 5px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb25 {
  margin-bottom: 25px !important;
}
.mb50 {
  margin-bottom: 50px !important;
}
.mb60 {
  margin-bottom: 60px !important
}
.mb70 {
  margin-bottom: 70px !important;
}
.mb90 {
  margin-bottom: 90px !important;
}
.mb100 {
  margin-bottom: 100px !important;
}
.mb200 {
  margin-bottom: 200px !important;
}
.ml5 {
  margin-left: 5px !important;
}
.ml10 {
  margin-left: 10px !important;
}
.ml20 {
  margin-left: 20px !important;
}
.ml30 {
  margin-left: 30px !important;
}
.mr5 {
  margin-right: 5px !important;
}
.mr10 {
  margin-right: 10px !important;
}
.mr20 {
  margin-right: 20px !important;
}
.mr30 {
  margin-right: 30px !important;
}
.mr40 {
  margin-right: 40px !important;
}
.mr50 {
  margin-right: 50px !important;
}
/* font size */
.txt10 {
  font-size: 1rem !important;
}
.txt11 {
  font-size: 1.1rem !important;
}
.txt12 {
  font-size: 1.2rem !important;
}
.txt14 {
  font-size: 1.4rem !important;
}
.txt16 {
  font-size: 1.6rem !important;
}
.txt18 {
  font-size: 1.8rem !important;
}
.txt20 {
  font-size: 2rem !important;
}
.txt22 {
  font-size: 2.2rem !important;
}
.txt24 {
  font-size: 2.4rem !important;
}
.txt26 {
  font-size: 2.6rem !important;
}
.txt28 {
  font-size: 2.8rem !important;
}
.txt30 {
  font-size: 3rem !important;
}
.no-wrap {
  white-space: nowrap;
}