@font-face {
  font-family: number;
  src: url("../font/number.eot?") format('eot'),
       url("../font/number.woff") format('woff'),
       url("../font/number.ttf") format("truetype");
}
.container-mini {
  max-width:900px;
  margin-right:auto;
  margin-left:auto;
}
.color-red {
  color:#E51C24;
}
.color-blue {
  color:#1A3068;
}
.toppage-about {
  padding-top:7rem;
}
.toppage-bout-msg {
  margin-bottom: 7rem;
  text-align:center;
}
.toppage-bout-msg .txt {
  font-size:2rem;
  font-weight: 300;
  text-align:center;
  line-height: 2;
  border-bottom:1px dashed #1A3068;
  display: inline-block;
  letter-spacing: .1em;
  padding-bottom:.5rem;
}
.content-sub {
  color:#1A3068;
  font-weight: 500;
  font-size:1.8rem;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  line-height: 1.6;
}
main .container {
  padding-right: 45px;
  padding-left: 45px;
}
main .row {
  margin-right:-45px;
  margin-left:-45px
}
main .col-1, main .col-2, main .col-3, main .col-4, main .col-5, main .col-6, main .col-7, main .col-8, main .col-9, main .col-10, main .col-11, main .col-12, main .col, main .col-auto, main .col-sm-1, main .col-sm-2, main .col-sm-3, main .col-sm-4, main .col-sm-5, main .col-sm-6, main .col-sm-7, main .col-sm-8, main .col-sm-9, main .col-sm-10, main .col-sm-11, main .col-sm-12, main .col-sm, main .col-sm-auto, main .col-md-1, main .col-md-2, main .col-md-3, main .col-md-4, main .col-md-5, main .col-md-6, main .col-md-7, main .col-md-8, main .col-md-9, main .col-md-10, main .col-md-11, main .col-md-12, main .col-md, main .col-md-auto, main .col-lg-1, main .col-lg-2, main .col-lg-3, main .col-lg-4, main .col-lg-5, main .col-lg-6, main .col-lg-7, main .col-lg-8, main .col-lg-9, main .col-lg-10, main .col-lg-11, main .col-lg-12, main .col-lg, main .col-lg-auto, main .col-xl-1, main .col-xl-2, main .col-xl-3, main .col-xl-4, main .col-xl-5, main .col-xl-6, main .col-xl-7, main .col-xl-8, main .col-xl-9, main .col-xl-10, main .col-xl-11, main .col-xl-12, main .col-xl, main .col-xl-auto {
  padding-right: 45px;
  padding-left: 45px;
}
@media screen and (max-width:991px) {
  main .container {
    padding-right: 20px;
    padding-left: 20px;
  }
  main .row {
    margin-right:-20px;
    margin-left:-20px
  }
  main .col-1, main .col-2, main .col-3, main .col-4, main .col-5, main .col-6, main .col-7, main .col-8, main .col-9, main .col-10, main .col-11, main .col-12, main .col, main .col-auto, main .col-sm-1, main .col-sm-2, main .col-sm-3, main .col-sm-4, main .col-sm-5, main .col-sm-6, main .col-sm-7, main .col-sm-8, main .col-sm-9, main .col-sm-10, main .col-sm-11, main .col-sm-12, main .col-sm, main .col-sm-auto, main .col-md-1, main .col-md-2, main .col-md-3, main .col-md-4, main .col-md-5, main .col-md-6, main .col-md-7, main .col-md-8, main .col-md-9, main .col-md-10, main .col-md-11, main .col-md-12, main .col-md, main .col-md-auto, main .col-lg-1, main .col-lg-2, main .col-lg-3, main .col-lg-4, main .col-lg-5, main .col-lg-6, main .col-lg-7, main .col-lg-8, main .col-lg-9, main .col-lg-10, main .col-lg-11, main .col-lg-12, main .col-lg, main .col-lg-auto, main .col-xl-1, main .col-xl-2, main .col-xl-3, main .col-xl-4, main .col-xl-5, main .col-xl-6, main .col-xl-7, main .col-xl-8, main .col-xl-9, main .col-xl-10, main .col-xl-11, main .col-xl-12, main .col-xl, main .col-xl-auto {
    padding-right: 20px;
    padding-left: 20px;
  }
}
main .row-mini.row {
  margin-right:-20px;
  margin-left:-20px
}
main .row-mini .col-1, main .row-mini .col-2, main .row-mini .col-3, main .row-mini .col-4, main .row-mini .col-5, main .row-mini .col-6, main .row-mini .col-7, main .row-mini .col-8, main .row-mini .col-9, main .row-mini .col-10, main .row-mini .col-11, main .row-mini .col-12, main .row-mini .col, main .row-mini .col-auto, main .row-mini .col-sm-1, main .row-mini .col-sm-2, main .row-mini .col-sm-3, main .row-mini .col-sm-4, main .row-mini .col-sm-5, main .row-mini .col-sm-6, main .row-mini .col-sm-7, main .row-mini .col-sm-8, main .row-mini .col-sm-9, main .row-mini .col-sm-10, main .row-mini .col-sm-11, main .row-mini .col-sm-12, main .row-mini .col-sm, main .row-mini .col-sm-auto, main .row-mini .col-md-1, main .row-mini .col-md-2, main .row-mini .col-md-3, main .row-mini .col-md-4, main .row-mini .col-md-5, main .row-mini .col-md-6, main .row-mini .col-md-7, main .row-mini .col-md-8, main .row-mini .col-md-9, main .row-mini .col-md-10, main .row-mini .col-md-11, main .row-mini .col-md-12, main .row-mini .col-md, main .row-mini .col-md-auto, main .row-mini .col-lg-1, main .row-mini .col-lg-2, main .row-mini .col-lg-3, main .row-mini .col-lg-4, main .row-mini .col-lg-5, main .row-mini .col-lg-6, main .row-mini .col-lg-7, main .row-mini .col-lg-8, main .row-mini .col-lg-9, main .row-mini .col-lg-10, main .row-mini .col-lg-11, main .row-mini .col-lg-12, main .row-mini .col-lg, main .row-mini .col-lg-auto, main .row-mini .col-xl-1, main .row-mini .col-xl-2, main .row-mini .col-xl-3, main .row-mini .col-xl-4, main .row-mini .col-xl-5, main .row-mini .col-xl-6, main .row-mini .col-xl-7, main .row-mini .col-xl-8, main .row-mini .col-xl-9, main .row-mini .col-xl-10, main .row-mini .col-xl-11, main .row-mini .col-xl-12, main .row-mini .col-xl, main .row-mini .col-xl-auto {
  padding-right: 20px;
  padding-left: 20px;
}

.breadcrumbs {
  background: #ECEEF1;
  padding:1.5rem 0;
  font-size:1.2rem;
}
.breadcrumbs a {
  font-size:1.2rem;
  color:inherit;
}

.toppage-about .content-sub {
  margin-bottom: 1.5rem;
  line-height: 2;
}
.toppage-about p {
  line-height: 2.285;
}
.toppage-about-tile-wrap {
  margin-bottom:6rem;
}
.miwabtn {
  width:90%;
  max-width:300px;
  margin:0 auto;
  background: rgb(0,104,174);
background: linear-gradient(-90deg, rgba(0,104,174,1) 0%, rgba(4,93,160,1) 20%, rgba(16,68,129,1) 50%, rgba(23,53,110,1) 75%, rgba(26,48,104,1) 100%);
	border-radius: 40px;
	padding: 1px;
}
.miwabtn.miwabtn-sl {
  width:100%;
  max-width:100%;
}
.miwabtn a {
  background-color: #fff;
	border-radius: 39px;
	text-align: center;
  padding:12px;
  text-align:center;
  display: block;
  font-size:1.6rem;
  color:#1A3068;
  letter-spacing: .2em;
  transition: background .3s;
}
.miwabtn a:hover {
  background: none;
  text-decoration:none;
  color:#fff;
}
.miwabtn-s a {
  font-size:1.4rem;
  padding:9px 30px;
  position: relative;
  box-shadow: 2px 2px 5px rgba(0,0,0,.1);
}
.miwabtn-sl a {
  font-size:1.2rem;
}
.miwabtn-s a::after {
  content:'';
  display: inline-block;
  width: 0;
height: 0;
border-style: solid;
border-width: 3.5px 0 3.5px 5px;
border-color: transparent transparent transparent #1A3068;
position: absolute;
right:20px;
top:50%;
transform:translateY(-50%);
}
.miwabtn-s a:hover::after {
  border-color: transparent transparent transparent #fff;
}
.toppage-about .miwabtn {
  margin-bottom: 10rem;
}
.toppage-service {
  background: #ECEEF1;
}
.toppage-service-top {
  background: url(../img/top/bg_topservice.jpg) no-repeat center center;
  background-size:cover;
  padding:5rem 0;
  margin-bottom: 15rem;
}
.toppage-service-ttl {
  color:#fff;
  font-weight: 300;
  margin-bottom: 3rem;
}
.toppage-service-ttl .ja {
  font-size:4rem;
  padding-right:3rem;
}
.toppage-service-ttl .en {
  font-size:2rem;
}
.toppage-service-top p {
  font-size:1.8rem;
  color:#fff;
  line-height: 2;
  margin-bottom: 3rem;
}
.link-arrow {
  display: inline-block;
  position: relative;
  transition:all .4s ease;
  line-height: 1;
  width:9.4rem;
}
.link-arrow-btn a {
  font-size:1.8rem;
  color:#fff;
  transition:all .4s;
}
.link-arrow-btn a:hover {
	text-decoration:none;
	opacity:.7;
}
a:hover .link-arrow {
	transform: translateX(10px);
}
.link-arrow::after {
  content:'';
  display: inline-block;
  width:6.4rem;
  height: .1rem;
  background: #fff;
  position: absolute;
  right:0;
  bottom:0;
}
.link-arrow::before {
  content:'';
  display: inline-block;
  width:.1rem;
  height:1.4rem;
  background: #fff;
  transform:rotate(-45deg);
  position:absolute;
  right:0;
  bottom:1px;
  transform-origin: right bottom;
}
.toppage-service-list .col-md-6 {
  margin-bottom: 9rem;
}
.toppage-service-panel {
  /* height: calc(100% - 9rem); */
  height: 100%;
  min-height: 350px;
  padding-top:1.5rem;
  border-radius: 8px;
  background: rgb(0,104,174);
background: linear-gradient(-90deg, rgba(0,104,174,1) 0%, rgba(4,93,160,1) 20%, rgba(16,68,129,1) 50%, rgba(23,53,110,1) 75%, rgba(26,48,104,1) 100%);
box-shadow:3px 3px 3px  rgba(62,76,84,.3);
}
.toppage-service-panel-inner {
  height: 100%;
  padding:3rem 3rem 4rem;
  background: #fff;
  border-radius: 0 0 8px 8px;
  display: flex;
  flex-direction: column;
  flex-wrap:wrap;
}
.toppage-service-panel-inner h3 {
  margin-bottom: 2.6rem;
  font-size:3rem;
  font-weight: 300;
  color: #1A3068;
  letter-spacing: .1em;
	text-align:center;
}
.toppage-service-panel-inner figure {
	width:100%;
	min-height: 0%;
	margin-bottom:3rem;
	padding: 0 20px;
}
.toppage-service-panel-inner p {
  line-height: 2;
  margin-bottom:2rem;
  flex:1 0 auto;
}
.toppage-service-panel-inner ul {
  margin:0 0 2rem;
  padding:0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}
.toppage-service-panel-inner li {
  width:25%;
  padding-right:2rem;
  padding-bottom:1rem;
  font-size:1.2rem;
}
.toppage-service-panel-inner li.wide {
  width:66.667%;
}
.toppage-service-panel-inner li a {
	color:inherit;
}
.toppage-service-panel-inner li::before {
  content:'';
  display: inline-block;
  width:5px;
  height: 2px;
  background: #1A3068;
  margin-right:1rem;
  position: relative;
  top:-3px;
}
.miwabtn-s {
  margin-top: auto;
}
.toppage-service-btm {
margin-top: 6rem;	margin-top: 6rem;
margin-bottom: 0;	margin-bottom: 0;
position: relative;
overflow: hidden;
}
/* .toppage-service-btm::before {
width:100%;
height: 100%;
content:'';
display: block;
background: rgba(0, 104, 174,.3);
background: linear-gradient(-90deg, rgba(0, 104, 174, .3) 0%, rgba(4, 93, 160, .3) 20%, rgba(16, 68, 129, .3) 50%, rgba(23, 53, 110, .3) 75%, rgba(26, 48, 104, .3) 100%);
position: absolute;
top:0;
left:0;
z-index: 2;
} */
.toppage-service-btm img {
width:100%;
}
.toppage-service-btm .swiper-wrapper{
transition-timing-function: linear !important;
}
.toppage-news {
  padding:8rem 0 7rem;
  background: #ECEEF1;
}
.toppage-news-ttl {
  letter-spacing: .5em;
  margin-bottom: 5.5rem;
}
.toppage-news-ttl .ja {
  font-size:4rem;
  font-weight: 100;
  color:#1A3068;
  padding-right: 3rem;
}
.toppage-news-ttl .en {
  font-size:2rem;
  font-weight: 300;
  color:#1A3068;
}
.news-list {
  margin-bottom: 6rem;
}
.news-list dl {
  display: flex;
  flex-wrap: wrap;
  border-bottom:1px dashed #1A3068;
  margin-top:3rem;
  margin-bottom: 0;
  padding-bottom:3rem;
}
.news-list dt {
  color:#666666;
  font-weight: 400;
  width:150px;
}
.news-list .newscat {
  width:100px;
  margin-right:5rem;
  font-size:1.1rem;
  font-weight: 300;
}
.newscat span {
  width:100%;
  text-align:center;
  padding:2px 5px;
  display: inline-block;
  letter-spacing: 0;
}
.newscat .cat-recruit-information {
  background: #fff;
  color:#1A3068;
}
.blog .newscat .cat-recruit-information,
.single .newscat .cat-recruit-information {
  background: #ECEEF1;
  color:#1A3068;
}
.newscat .cat-news {
  background: #294ca5;
  color:#fff;
}
.newscat .cat-products-service {
  background: #1A3068;
  color:#fff;
}
.news-list .newsttl {
  flex:1;
}
.news-list .newsttl a {
  color:inherit;
}
.toppage-information-inner {
  display: flex;
  flex-wrap: wrap;
}
.toppage-information-inner a {
  color:inherit;
  transition: all .3s ease-out;;
}
.toppage-information-inner a:hover {
  text-decoration:none;
  color:#fff;
  background-color: #1A3068;
}
.toppage-information-company {
  width:50%;
  border-right:1px solid #ECEEF1;
}
.toppage-information-company a {
  padding:8rem 13rem 8rem 8rem;
  display: flex;
  justify-content: flex-end;
  
}
@media screen and (max-width:1199px) {
  .toppage-information-company a {
    padding:8rem 8rem 8rem 4.5rem;
    justify-content: flex-start;
  }
}
.toppage-information-recruit {
  width:50%;
}
.toppage-information-recruit a {
  padding:8rem;
  display: flex;
  justify-content: flex-start;
}

.toppage-information h2 {
  margin-bottom: 5rem;
  color:#1A3068;
}
.toppage-information h2 .ja {
  font-size:4rem;
  font-weight: 100;
  display: inline-block;
  transition:all .4s ease;
}
.toppage-information a:hover h2 {
  color:#fff;
  text-decoration: none;
}
.toppage-information a:hover h2 .ja .link-arrow {
	transform:translateX(10px);
}
.toppage-information h2 .en {
  font-weight: 300;
  font-size:2rem;
  display: block;
  margin-bottom: 1.5rem;
}
.toppage-information .link-arrow::after {
  background: #1A3068;
}
.toppage-information .link-arrow::before {
  background: #1A3068;
}
.toppage-information a:hover .link-arrow::after {
  background: #fff;
}
.toppage-information a:hover .link-arrow::before {
  background: #fff;
}
.toppage-access-top {
  background: url(../img/top/bg_topaccess.jpg) no-repeat center center;
  background-size:cover;
  padding:4rem 0;
}
.toppage-access-ttl {
  color:#fff;
  font-weight: 300;
  margin-bottom: 3rem;
}
.toppage-access-ttl .ja {
  font-size:4rem;
  padding-right:3rem;
}
.toppage-access-ttl .en {
  font-size:2rem;
}
.toppage-access-top p {
  font-size:1.4rem;
  color:#fff;
  line-height: 2;
  margin-bottom: 3rem;
}
.gmap {
  position: relative;
  padding-bottom: 56.25%;
  width:100%;
  height: 0;
  overflow: hidden;
}
.gmap.gmap-g {
  padding-bottom:31.25%;
}
.gmap.gmap-c {
  padding-bottom:37.5%;
}
.gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.gmap.gmap-g iframe {
  filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
  transition:all .5s;
}
.gmap.gmap-g:hover iframe {
  filter: grayscale(0%);
  -webkit-filter: grayscale(0%)
}

.topbanner {
  margin-bottom:7rem;
  text-align: center;
}
.topbanner-ttl {
	padding-bottom:1rem;
	margin-bottom:3rem;
	font-weight:300;
	font-size:3rem;
	color:#1A3068;
	text-align:center;
	position:relative;
}
.topbanner-ttl::after {
	content:'';
	display:inline-block;
	width:45px;
	height:1px;
	background:#1A3068;
	position:absolute;
	bottom:0;
	left:50%;
	transform: translateX(-50%);
}
.topbanner a img {
	transition:opacity .4s ease;
}
.topbanner a:hover img {
	opacity:.7;
}
.home main {
  padding-top:0;
}
.top-slider {
  height: 48.4375vw;
  max-height: 100vh;
  min-height: 46rem;
  position: relative;
}
.top-slider .swiper-container {
  height:100%;
}
.top-slider .swiper-slide {
  background-position: center center;
  background-repeat:no-repeat;
  background-size:cover;
}
.top-slider .swiper-slide::after {
  content:'';
  display: block;
  width:100%;
  height:100%;
  background: rgba(0,104,174,.6);
background: linear-gradient(45deg, rgba(24,50,116,.6) 0%, rgba(1,126,217,.6) 100%);
position: absolute;
left:0;
top:0;
}
.top-slider::after {
  content:'';
  display: block;
  width:100%;
  height:100%;
	position:absolute;
	background:#fff;
	z-index:20;
	top:0;
	right:0;
	transition: all .6s cubic-bezier(.86,0,.07,1);
    transition-delay: .6s;
}
.loaded .top-slider::after {
	width:0;
}
.top-slider::before {
	content:'';
	display:block;
	width:100%;
	height:100%;
	background: rgb(0,104,174);
	background: linear-gradient(45deg, rgba(24,50,116,1) 0%, rgba(1,126,217,1) 100%);
	z-index: 15;
    position: absolute;
    top: 0;
    right: 0;
	transition: all .8s cubic-bezier(.86,0,.07,1);
    transition-delay: 1s;
}
.loaded .top-slider::before {
	width:0;
}
.slider-txt-wrap {
	position: absolute;
    height: 100%;
    width: 100%;
}
.slider-txt {
  height: 100%;
  z-index:10;
  position: relative;
  font-size:6.5rem;
  font-weight: 100;
  color:#fff;
  display: flex;
  justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
    flex-direction: column;
  letter-spacing: .2em;
}
.slider-txt-img {
	opacity:0;
}
.loaded .slider-txt-img {
	animation: fadeIn 3s ease 2s forwards;
}
@media screen and (max-width:849px) {
	.slider-txt-img img {
		width: 82vw;
	}
}
.stbg {
	display: inline;
    line-height: 1;
    padding: 15px 0;
    margin: 5px 0;
	position:relative;
	/*opacity: 0;
    transform: translateY(40px);
    transition: all 1.4s cubic-bezier(0.165, 0.84, 0.44, 1);*/
}
/*
.loaded .stbg {
	transform:translateY(0);
    opacity: 1;
	transition-delay: 1.5s;
}
.stbg::before {
	content:'';
	display:block;
	width:100%;
	height:100%;
	background: rgb(0,104,174);
	background: linear-gradient(-45deg, rgba(0,104,174,1) 0%, rgba(4,93,160,1) 20%, rgba(16,68,129,1) 50%, rgba(23,53,110,1) 75%, rgba(26,48,104,1) 100%);
	z-index: 15;
    position: absolute;
    top: 0;
    right: 0;
	transition: all .8s cubic-bezier(.86,0,.07,1);
    transition-delay: 1.2s;
}
.stbg.stbg02::before {
	transition-delay:1.5s;
}
.loaded .stbg::before {
	width:0;
}*/
.top-slider .container {
  height: 100%;
}
.swiper-pagination {
  margin:0 auto;
}
.top-slider .swiper-container-horizontal > .swiper-pagination-bullets {
  bottom:40px;
}
.top-slider .swiper-pagination {
  position: relative;
  text-align:left;
}
.top-slider .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin:0 30px 0 0;
}
.top-slider .swiper-pagination-bullet {
  background:#fff;
}
.top-scroll {
  position: absolute;
  right:7.8%;
  top:50%;
  z-index: 10;
	animation-name:tsi;
animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-duration: 1s;
}
@keyframes tsi {
    0% {
        transform: translate(0,0px);
    }

    100% {
        transform: translate(0,-15px)
    }
}

.toppage-about-fig {
  margin:0 auto 3rem;
}
#about-fig01 {
  width:125px;
  height:105px;
  padding-top:15px;
}
#about-fig02 {
  width:110px;
  height:118px;
  margin-bottom:1.7rem;
}
#about-fig03 {
  width:118px;
  height:110px;
  margin-bottom:2.5rem;
}

.page-header {
  margin-bottom: 12rem;
  padding:13rem 0 4rem;
  position: relative;
}
.page-header::after {
  content:'';
  width:7.5rem;
  height: .1rem;
  background: #333;
  position: absolute;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
}
.page-header h1 {
  font-size:4.6rem;
  font-weight: 100;
  text-align: center;
  letter-spacing: .25em;
}
.page-header h1 .parent-ttl {
	font-size:3rem;
	display:block;
	padding-bottom: .5rem;
}
.page-header-ttl-en {
  margin-top: 1rem;
  text-align:center;
  font-size:1.6rem;
  color: #1A3068;
  font-weight: 300;
}
.page-copy p {
  font-size:2rem;
  font-weight: 300;
  text-align:center;
  line-height: 2;
  letter-spacing: .2em;
}
.page-copy {
  margin-bottom: 8rem;
}

.about-content {
  margin-bottom: 14rem;
}
.about-list {
  padding:10rem 0 8rem;
  border-bottom:1px dashed #333;
}
.about-list .content-sub {
  margin-bottom: 2.5rem;
}
.about-list p {
  line-height: 2;
}
.about-list:first-child {
  border-top:1px dashed #333;
}
.about-list #about-fig01 {
  width:190px;
  height:160px;
  padding-top:0;
}
.about-list #about-fig02 {
  width:178px;
  height:192px;
  margin-bottom: 0;
}
.about-list #about-fig03 {
  width:198px;
  height:182px;
  margin-bottom: 0;
}
.r-ttl {
  margin-bottom: 8rem;
  font-size:3.2rem;
  font-weight: 200;
  position: relative;
  line-height: 1;
  display: flex;
  white-space: nowrap;
    align-items: flex-end;
}
.r-ttl .en {
  margin-left: 2rem;
  font-size:1.6rem;
  display: inline-block;
}
.r-ttl::after {
  content:'';
  width:100%;
  margin-left: 5rem;
  height: 1px;
  display: block;
    background-image: linear-gradient(to right, #333, #333 3px, transparent 3px, transparent 8px);
    background-size: 8px 1px;
    background-repeat: repeat-x;
    flex-grow: 1;
}
.r-sub-ttl {
	color:#1A3068;
	font-size:1.8rem;
	font-weight:400;
	text-align:center;
}
.r-ttl-center {
	justify-content: center;
}
.r-ttl.r-ttl-center::after {
	content:none;
}
.r-ttl-hr {
	margin-bottom:5rem;
	font-size:3rem;
	font-weight:200;
	display:flex;
	align-items:center;
}
.r-ttl-hr::before,
.r-ttl-hr::after {
	content: "";
	flex-grow: 1;
	height: 1px;
	display: block;
	background-image: linear-gradient(to right, #333, #333 3px, transparent 3px, transparent 8px);
    background-size: 8px 1px;
    background-repeat: repeat-x;
}
.r-ttl-hr::before {
	margin-right:4rem;
}
.r-ttl-hr::after {
	margin-left:4rem;
}
.mt-msg {
	font-size:1.8rem;
	text-align:center;
	line-height:2;
	letter-spacing:.2em;
	margin-bottom:12rem;
	font-weight: 200;
}
.s-row {
	margin:0 -30px;
	display:flex;
	flex-wrap:wrap;
}
.s-col-md-8 {
	width:64.5%;
	padding-right:30px;
	padding-left:30px;
}
.s-col-md-4 {
	width:35.5%;
	padding-right:30px;
	padding-left:30px;
}
.recruit-content .page-copy {
  margin-bottom: 4rem;
}
.recruit-content .lh22 {
	line-height:2.2;
}
.recruit-content {
  margin-bottom: 12rem;
}
.r-fig {
  margin-top: 5rem;
}
.r-table {
  width:100%;
  margin-top: 7rem;
  border-top:1px solid #DEDEDE;
}
.r-table a {
  color:inherit;
}
.r-table tr {
  border-bottom:1px solid #DEDEDE;
}
.r-table th {
  font-weight: 500;
  color:#1A3068;
  width:20%;
  padding:3rem 0 3rem 3rem;
  vertical-align: top;
  line-height: 2;
}
.r-table td {
  padding:3rem 0 3rem 3rem;
  line-height: 2;
}
.miwabtn.r-btn {
  margin:1rem 0;
}
.r-btn.miwabtn-s a::after {
  content: none;
}
.r-btn.miwabtn-s a {
  padding: 4px 10px;
}
.recruit-flow {
  margin-bottom: 18rem;
}
.recruit-flow-ol {
  display: flex;
  margin-bottom: 5rem;
}
.r-flow-num {
  min-width:19.55%;
  flex:0 0 19.55%;
  padding-right:5%;
}
.r-flow-content h3 {
  min-width:13rem;
  margin-bottom: 2rem;
  text-align: center;
  font-weight: 500;
  color:#fff;
  display: inline-block;
  background: rgb(0,104,174);
background: linear-gradient(-90deg, rgba(0,104,174,1) 0%, rgba(4,93,160,1) 20%, rgba(16,68,129,1) 50%, rgba(23,53,110,1) 75%, rgba(26,48,104,1) 100%);
  padding:.4rem 2rem;
  letter-spacing: .2em;
  font-size: 1.4rem;
}
.r-flow-content p {
  max-width:640px;
}
.r-flow-content {
  padding-bottom: 2rem;
  position: relative;
  border-bottom: 1px solid #707070;
  flex-grow: 1;
}
  .r-flow-content::before{
      content: "";
      position: absolute;
      bottom:-21px;
      left:50%;
      transform:translateX(-50%);
      width: 0;
height: 0;
border-style: solid;
border-width: 21px 40px 0 40px;
border-color: #fff transparent transparent transparent;
z-index:2;
display: block;
  }
  .r-flow-content::after {
    content: '';
    position: absolute;
    bottom:-22px;
    left:50%;
    transform:translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 22px 42px 0 42px;
    border-color: #707070 transparent transparent transparent;
      z-index: 1;
      display: block;
  }
.recruit-flow-ol:last-child .r-flow-content::before,
.recruit-flow-ol:last-child .r-flow-content::after {
  content:none;
}
  .r-flow-panel {
    max-width: 640px;
    margin-top: 2rem;
    margin-bottom: 1rem;
    padding:2rem;
    background: #DEDEDE;
  }
  .r-flow-panel h4 {
    font-size:1.4rem;
    font-weight: 300;
    margin-bottom: 1.2rem;
  }
.r-flow-panel ul {
  list-style: none;
  margin:0;
  padding:0;
  display: flex;
  flex-wrap: wrap;
}
.r-flow-panel li {
  margin-right:3rem;
  font-size:1.2rem;
  margin-bottom: .4rem;
}
.c-head {
  margin-bottom: 3rem;
  font-size:1.6rem;
  font-weight: 500;
}
.c-phone {
  margin-bottom: 2rem;
  display: flex;
  align-items: flex-end;
  line-height: 1;
}
.c-phone h3 {
  font-size:1.8rem;
  font-weight: 300;
  margin-bottom: 0;
  margin-right: 3rem;
}
.c-phone h3::before {
  content: '';
    display: inline-block;
    width: 11px;
    height: 18px;
    background: url(../img/common/phone.svg) no-repeat center center;
    background-size: contain;
    margin-right: 10px;
}
.c-phone .phone {
  color:#1A3068;
  font-weight: 500;
  font-family: number,sans-serif;
}
.c-phone .phone span {
  font-size:1.7rem;
}
.c-phone a {
  font-size:3rem;
  color:#1A3068;
}
.c-phone a:hover {
  text-decoration:none;
}
.mw_wp_form_confirm .c-head,
.mw_wp_form_confirm .c-phone,
.mw_wp_form_confirm .foot-msg-info,
.mw_wp_form_confirm .c-table-btm,
.mw_wp_form_confirm .privacy-wrap {
  display: none;
}
.mw_wp_form_confirm .c-head.c-confirm {
  display: block;
}
.mw_wp_form_confirm .c-table dl {
  border-bottom: 1px solid #DEDEDE;
  padding-bottom: 2rem;
}
.mw_wp_form_input .entry-btn.entry-back {
  display: none;
}
.mw_wp_form_confirm .c-table {
  margin-bottom: 8rem;
}
.contact-content .foot-msg-info img {
  position: relative;
  top: -6px;
  margin: 0 4px;
}
.mwform-radio-field{
  margin: 0 .5em 0 0;
}
input[type=radio] {
  appearance: none;
  opacity:0;
}
input[type=radio] + span {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
}
input[type=radio] + span:before {
  font-family: "Font Awesome 5 Free";
  content: "\f111";
  display: inline-block;
  margin-right: 0.5em;
  font-weight: 400;
  color: #1A3068;
}
input[type=radio]:checked + span:before {
  content: "\f192";
  font-weight: 400;
}
.c-table {
  margin-top: 8rem;
  padding-top: 5rem;
  border-top:1px solid #DEDEDE;
}
.c-table dl {
  display: flex;
  margin-bottom: 3rem;
}
.c-table dt {
  color:#1A3068;
  font-weight: 500;
  width:24%;
  white-space: nowrap;
}
.c-table dd {
  width:76%;
}
.c-table input[type="text"],
.c-table input[type="email"],
.c-table textarea {
  width:100%;
  padding:8px;
  font-size:1.6rem;
  border:1px solid #1A3068;
  border-radius:2px;
}
.c-table input[type="text"]:focus,
.c-table input[type="email"]:focus,
.c-table textarea:focus {
  background: #e5eff6;
  border:1px solid #0068AE;
  outline:1px solid #0068AE;
}
.c-table textarea {
  height: 18rem;
}
.c-table-btm {
  color: #E51C24;
  text-align: right;
}
.privacy-wrap {
  margin-top: 9rem;
  margin-bottom: 8rem;
  height: 18rem;
  overflow-y:scroll;
  padding:3rem;
  border:1px solid #1A3068;
}
.privacy-ttl {
  font-size:1.8rem;
  font-weight: 500;
  border-bottom:1px dashed #333333;
  padding-bottom: 2rem;
  margin-bottom: 3rem;
}
.privacy-content {
  font-size:1.2rem;
}
.privacy-content h4 {
  margin-top: 2rem;
  font-size:1.4rem;
}
.contact-content {
  margin-bottom: 12rem;
}
.entry-btn {
    width:90%;
    max-width:520px;
    margin:2rem auto;
    background: rgb(0,104,174);
  background: linear-gradient(-90deg, rgba(0,104,174,1) 0%, rgba(4,93,160,1) 20%, rgba(16,68,129,1) 50%, rgba(23,53,110,1) 75%, rgba(26,48,104,1) 100%);
    border-radius: 40px;
    padding: 1px;
    position: relative;
}
.entry-btn::after {
  content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3.5px 0 3.5px 5px;
    border-color: transparent transparent transparent #1A3068;
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
}
.entry-btn input,
.entry-btn button {
  background: #fff;
  width:100%;
  border-radius: 39px;
	text-align: center;
  padding:20px 40px;
  text-align:center;
  display: block;
  font-size:1.6rem;
  color:#1A3068;
  letter-spacing: .2em;
  transition: background .3s;
  border:0;
}
.entry-btn input:hover,
.entry-btn button:hover  {
  background: none;
  color:#fff;
}
.entry-btn:hover::after {
    border-color: transparent transparent transparent #fff;
}
.entry-btn button:focus {
  outline:none;
}
.entry-btn.entry-back {
  width:30%;
  margin-top: 5rem;
}
.entry-btn button.back-btn {
  background:#eee;
}
.entry-btn.entry-back::after {
  content:none;
}
.entry-btn button.back-btn:hover {
  background: none;
}
.wp-pagenavi {
	margin-top:50px;
	padding: 25px 20px 25px;
  display: flex;
    justify-content: center;
}
.wp-pagenavi a ,.wp-pagenavi span.pages, .wp-pagenavi span.extend {
  color: #333333;
  background: #ECEEF1;
  margin: 0 5px;
  text-decoration: none;
  -webkit-transition: .3s;
  transition: .3s;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0;
}	
.wp-pagenavi span.extend {
  background: none;
  align-items: flex-end;
  margin:0;
  width:20px;
}
.wp-pagenavi a:hover {
		background:#0059ae;
		color:#fff;
}
 .wp-pagenavi span.current{
  color: #fff;
  background: rgb(0,104,174);
background: linear-gradient(-90deg, rgba(0,104,174,1) 0%, rgba(4,93,160,1) 20%, rgba(16,68,129,1) 50%, rgba(23,53,110,1) 75%, rgba(26,48,104,1) 100%);
  margin: 0 10px;
  text-decoration: none;
  -webkit-transition: .3s;
  transition: .3s;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0;
}
.news-header {
  display: flex;
    flex-wrap: wrap;
    margin-bottom: 3rem;
    justify-content: flex-end;
}
.news-header dt {
  color: #666666;
    font-weight: 400;
    width: 150px;
}
.news-header .newscat {
  width: 100px;
    margin-right: 0rem;
    font-size: 1.1rem;
    font-weight: 300;
}
.news-header .newscat span {
  width: 100%;
    text-align: center;
    padding: 2px 5px;
    display: inline-block;
    font-size:1.1rem;
}
.news-ttl {
  font-size:2.4rem;
  font-weight: 300;
  border-bottom:1px dashed #1A3068;
  padding-bottom: 2rem;
}
.news-entry {
  padding:8rem 5rem;
  overflow: hidden;
  line-height: 2.2;
}
.news-entry p {
  margin-bottom: 2em;
}
.news-entry strong { font-weight: bold; }
.news-entry em { font-style: italic; }
.news-entry blockquote {
    display: block;
    -webkit-margin-before: 1em;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 40px;
    -webkit-margin-end: 40px;
}
.news-entry .aligncenter {
  display: block;
  margin: 0 auto 2rem;
}
.news-entry .alignright { float: right; margin:0 0 2rem 2rem; }
.news-entry .alignleft { float: left; margin:0 2rem 2rem 0;}
.news-content {
  margin-bottom: 15rem;
}
.company-content {
  margin-bottom: 12rem;
  margin-top: -100px;
    padding-top: 100px;
}
.company-message {
  background: #ECEEF1;
  padding-bottom:10rem;
}
.company-message figure {
  margin-bottom: 0;
}
.container-message {
  max-width:104rem;
  margin-right:auto;
  margin-left:auto;
  padding:0 2rem;
  position: relative;
  margin-top:-12rem;
  z-index: 1;
}
.container-message-inner {
  background: #fff;
  padding:5% 7%;
  box-shadow: 2px 2px 4px rgba(62,67,84,.2);
}
.message-ttl {
  text-align: center;
  font-size:2.6rem;
  font-weight: 300;
  margin-bottom: 4rem;
  padding-bottom: 4rem;
  border-bottom:1px dashed #1A3068;
  color:#1A3068;
}
.message-box {
  column-count: 2;
  column-gap: 6rem;
  text-align: justify;
}
.message-box p {
	line-height:2.2;
}
.message-sign {
  margin-top: 5rem;
  margin-bottom: 0;
  line-height: 1;
  display: flex;
    justify-content: flex-end;
    align-items: center;
}
.message-sign .yaku {
  font-size:1.3rem;
  padding-right: 2rem;
}
.message-sign .name {
  width:136px;
}
.company-history {
  padding-top:1px;
}
.company-history ul {
  margin:4rem 0 0;
  padding:0;
  list-style: none;
  position: relative;
}
.company-history dl {
  margin-bottom: 0;
  display: flex;
}
.company-history li {
  margin-bottom: 3rem;
}
.company-history li.year {
  margin-bottom: 5rem;
}
.company-history dt {
  width:9rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-right: 7rem;
  white-space: nowrap;
  font-weight: 500;
  color: #1A3068;
  position: relative;
}
.company-history ul::before {
  content:'';
  display: inline-block;
  width:1px;
  height: 100%;
  position: absolute;
  left:16rem;
  top:0;
  background: #1A3068;
}
.company-history ul::after {
  content: '';
  width: 1px;
  height: 24px;
  display: block;
  background-image: linear-gradient(to top, #6c7ba3, #47a1d1 3px, transparent 3px, transparent 8px);
  background-size: 1px 6px;
  background-repeat: repeat-y;
  position: absolute;
  left:16rem;
  top:-28px;
}
.company-history li {
  position: relative;
}
.company-history li::after {
  content:'';
  display: inline-block;
  width:10px;
  height: 10px;
  background: rgb(0,104,174);
background: linear-gradient(-90deg, rgba(0,104,174,1) 0%, rgba(4,93,160,1) 20%, rgba(16,68,129,1) 50%, rgba(23,53,110,1) 75%, rgba(26,48,104,1) 100%);
  border-radius: 50%;
  position: absolute;
  left:156px;
  top:50%;
  transform:translateY(-50%);
  z-index: 3;
}
.company-history dd {
  background: #ECEEF1;
  padding:1.5rem 3rem;
  margin-bottom: 0;
  margin-left:11rem;
  flex-grow: 1;
  line-height: 2;
  position: relative;
  z-index: 3;
}
.company-history dd::before {
  content: '';
    width: 8rem;
    height: 1px;
    display: block;
    background-image: linear-gradient(to right, #6c7ba3, #47a1d1 3px, transparent 3px, transparent 8px);
    background-size: 8px 1px;
    background-repeat: repeat-x;
    position: absolute;
    left:-10rem;
    top:50%;
}
.company-history dt.last-dt::after {
  content:'';
  display: inline-block;
  width:100%;
  height:50%;
  position: absolute;
  right: -74px;
    bottom: 0;
    background: #fff;
    z-index: 2;
}
.company-kousei {
  margin-right:-40px;
  margin-left:-40px;
  display: flex;
}
.company-kousei-inner {
  padding-right:40px;
  padding-left: 40px;
}
.kousei01 {
  width:70%;
  border-right:1px solid #DEDEDE;
}
.company-kousei h3 {
  margin-bottom: 3rem;
  color: #1A3068;
  font-size:2rem;
  font-weight: 500;
}
.company-kousei table {
  width:100%;
}
.company-kousei th {
  font-weight: 300;
  padding:0 15px 10px 0;
}
.company-kousei .kousei02 th {
  padding-right:4rem;
}
.company-kousei td {
  padding-bottom:10px;
}
.kousei-total {
  margin:4rem 0 7rem;
  padding:10px;
  text-align:center;
  border:1px solid #1A3068;
  width:100%;
  font-size:2rem;
  color:#1A3068;
}
.kousei-total .small {
  font-size:1.4rem;
}
.y-table {
  width:100%;
}
.y-table thead th {
  font-size:1.2rem;
  color:#1A3068;
  font-weight: 500;
  padding:1rem 2rem;
  border-right: 1px solid #DEDEDE;
  border-bottom:1px solid #DEDEDE;
}
.y-table thead th:last-child {
  border-right:0;
}
.y-table tbody th {
  font-weight: 500;
  color:#1A3068;
  vertical-align: top;
  width:18%;
  padding:2rem;
  border-right: 1px solid #DEDEDE;
  border-bottom:1px solid #DEDEDE;
  white-space: nowrap;
}
.y-table tbody tr:last-child th {
  border-bottom:0;
}
.y-table tbody td {
  vertical-align: top;
  width:41%;
  padding:2rem;
  border-right: 1px solid #DEDEDE;
  border-bottom:1px solid #DEDEDE;
}
.y-table tbody td:last-child {
  border-right:0;
}
.y-table tbody tr:last-child td {
  border-bottom:0;
}
.y-name {
	font-weight:500;
}

.c-ttl {
  font-size:2rem;
  font-weight: 300;
  margin-top: 8rem;
  margin-bottom: 5rem;
  letter-spacing:.25em;
}
.sosiki-small {
  margin-top: 4rem;
  background: #ECEEF1;
  padding:3rem 10% 2rem;
}
.sosiki-small-ttl {
  margin-left:2rem;
  margin-bottom: 1rem;
}
.sosiki-small ul {
  display: flex;
  flex-wrap: wrap;
  padding: 0 0 0 2em;
}
.sosiki-small li {
  width:50%;
  padding-right: 2rem;
}
.access-header {
  text-align: center;
  line-height: 2.4;
  margin-bottom: 4rem;
}
.access-detail {
  margin:9rem 0 9rem
}
.access-detail-list {
  display: flex;
  line-height: 2.2;
  margin-bottom: 3rem;
}
.access-detail-list h2 {
  font-weight: 400;
  font-size:1.8rem;
  color:#1A3068;
  white-space: nowrap;
  flex:0 0 26%;
  min-width:26%;
  padding-right: 2rem;
  margin:4px 0 0;
}
.access-detail-list ul {
  flex:0 0 36%;
  min-width:36%;
  margin:0;
  padding:0 2rem 0 0;
  list-style: none;
}
.access-detail-list li::before {
  content:'';
  display: inline-block;
  width:5px;
  height: 2px;
  background:#1A3068;
  margin-right: 1rem;
  top:-4px;
  position: relative;
}
.access-photo {
  background: #ECEEF1;
  padding:6rem 0 3rem;
}
.acphoto {
  margin-bottom: 5rem;
}
.acphoto h2 {
  font-size:1.8rem;
  font-weight: 100;
  margin-bottom: 2rem;
  display: flex;
  align-items: center;
}
.acphoto h2::before {
  content:'';
  width:2px;
  height:15px;
  margin-right: 1rem;
  display: inline-block;
  background: rgb(0,104,174);
background: linear-gradient(0deg, rgba(0,104,174,1) 0%, rgba(4,93,160,1) 20%, rgba(16,68,129,1) 50%, rgba(23,53,110,1) 75%, rgba(26,48,104,1) 100%);
}
.ability-header {
  line-height: 2.4;
    margin-bottom: 8rem;
}
.ability-content-top h2 {
	text-align:center;
	font-size:3rem;
	font-weight:200;
	margin-bottom:4rem;
}
.link-arrow-s {
  display: inline-block;
  position: relative;
  transition:all .4s ease;
  line-height: 1;
  width:5.8rem;
}
.link-arrow-s::after {
  content:'';
  display: inline-block;
  width:3.8rem;
  height: .1rem;
  background: #1A3068;
  position: absolute;
  right:0;
  bottom:0;
}
.link-arrow-s::before {
  content:'';
  display: inline-block;
  width:.1rem;
  height:.6rem;
  background: #1A3068;
  transform:rotate(-45deg);
  position:absolute;
  right:0;
  bottom:1px;
  transform-origin: right bottom;
}
a:hover .link-arrow-s {
	transform: translateX(10px);
}
.ability-content {
  margin-bottom: 15rem;
}
.ability-list-content {
  margin-bottom: 12rem;
  padding:8rem 0 1rem;
  background: #ECEEF1;
}
.ability-list {
  margin-bottom: 8rem;
}
.ability-list h2 {
  color:#1A3068;
  font-size: 2rem;
  font-weight: 300;
  margin-bottom: 2rem;
}
.ability-list figure {
  margin-bottom: 3rem;
}
.ability-list p {
  margin-bottom: 2.5rem;
}
.ability-link a {
  color:#1A3068;
  letter-spacing: .1em;
}
.machine-list-top {
  text-align:center;
  margin-bottom: 5rem;
}
.machine-list {
  margin-bottom: 4rem;
}
.machine-list h3 {
  display: flex;
  align-items: center;
  margin-bottom: 3rem;
}
.machine-list h3 .m-cat {
  font-size:1.8rem;
  color:#fff;
  font-weight: 300;
  text-align: center;
  padding:1rem 1rem;
  min-width: 30rem;
  display: inline-block;
  background: rgb(0,104,174);
background: linear-gradient(270deg, rgba(0,104,174,1) 0%, rgba(4,93,160,1) 20%, rgba(16,68,129,1) 50%, rgba(23,53,110,1) 75%, rgba(26,48,104,1) 100%);
}
.s-list .machine-list h3 .m-cat {
	min-width:14rem;
}
.s-list .machine-list .m-list li {
    letter-spacing: .05em;
}
.machine-list h3::after {
  content: '';
    width: 100%;
    margin-left: 2rem;
    height: 1px;
    display: block;
    background: #DEDEDE;
    flex-grow: 1;
}
.machine-list .m-list {
  list-style: none;
  margin:0;
  padding:0;
  display: flex;
  flex-wrap: wrap;
}
.machine-list .m-list li {
  margin-right: 3.5rem;
  margin-bottom: 1.5rem;
  white-space: nowrap;
}
.machine-list .m-list li::before {
  content:'';
  display: inline-block;
  width:5px;
  height:2px;
  background: #1A3068;
  margin-right: .8rem;
  position: relative;
  top:-4px;
}
.machine-list-sub {
  display: flex;
  margin-bottom: 1rem;
}
.machine-list-sub h4 {
  font-weight: 500;
  color:#1A3068;
  flex:0 0 28rem;
  min-width:28rem;
  margin-right: 2rem;
  white-space: nowrap;
}
.machine-list-content {
  border-bottom:1px solid #DEDEDE;
}
.ab-ttl {
  font-size:2.3rem;
  font-weight: 500;
  color:#1A3068;
  margin-bottom: 2rem;
}
.ab-ttl-num {
  display: inline-block;
  margin-right: 1rem;
  line-height: 1;
  position: relative;
    top: 2px;
}
.g-num {
  font-size:3.8rem;
  font-weight: 700;
  background: rgb(0,104,174);
background: linear-gradient(270deg, rgba(0,104,174,1) 0%, rgba(4,93,160,1) 20%, rgba(16,68,129,1) 50%, rgba(23,53,110,1) 75%, rgba(26,48,104,1) 100%);
background-clip: text;
-webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
font-family: number,sans-serif;
}
html.ie .g-num {
  color: rgba(26,48,104,1);
  background: none;
}
.figlist {
  display: flex;
  margin:0 -1rem 9rem;
  justify-content: center;
}
.figlist .fig {
  padding:0 10px;
  width:100%;
}
.figlist .fig figure {
  margin-bottom: 0;
}
.workslist .works {
  margin-bottom: 4rem;
}
.works h3 {
  margin-bottom: 2rem;
  font-size:2rem;
  font-weight: 300;
  color:#1A3068;
	letter-spacing: .1em;
}
.works h3::before {
  content: '';
    width: 4px;
    height: 18px;
    margin-right: 1rem;
    display: inline-block;
    background: rgb(0,104,174);
    background: linear-gradient(0deg, rgba(0,104,174,1) 0%, rgba(4,93,160,1) 20%, rgba(16,68,129,1) 50%, rgba(23,53,110,1) 75%, rgba(26,48,104,1) 100%);
    position: relative;
    top:1px;
}
.bg-g {
  background: #ECEEF1;
  padding:8rem 0;
}
.machinelist {
  display:flex;
  margin:0 -20px;
  flex-wrap: wrap;
}
.machinelist .machine-item {
  width:50%;
  padding:0 20px;
  margin-bottom: 4rem;
}
.machinelist .machine {
  height: 100%;
  background: #fff;
  box-shadow:2px 2px 2px rgba(62,67,84,.3);
  border-radius: 4px;
  padding:9.4%;
  display: flex;
  flex-direction: column;
}
.machinelist .machine h3 {
  font-size:2rem;
  font-weight: 300;
  color:#1A3068;
	margin:0;
}
.machinelist .mis {
	font-size:1.2rem;
	font-weight:500;
	margin-top:.2em;
}
.machinelist .machine p {
  margin-top:2rem;
}
.fig-imp {
  margin-top:3rem;
  display:flex;
  align-items:center;
  justify-content:center;
}
.other-panel {
  background: #fff;
  box-shadow:2px 2px 2px rgba(62,67,84,.3);
  border-radius: 4px;
  padding:4rem;
  text-align: center;
  font-size:1.8rem;
  font-weight: 400;
  line-height: 2.2;
}
.m-flow-ttl {
	margin-bottom:0;
	color:#fff;
	font-size:2rem;
	font-weight: 100;
	height:70px;
	display:flex;
	align-items:center;
	justify-content: center;
	position:relative;
}
.flow01 .m-flow-ttl {
	background:#1A3068;
	border-radius:4px 0 0 0;
}
.flow02 .m-flow-ttl {
	background:#11437F;
}
.flow02 .m-flow-ttl:before {
	content:'';
	display:inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 35px 0 35px 16px;
	border-color: transparent transparent transparent #1A3068;
	position:absolute;
	top:0;
	left:0;
}
.flow03 .m-flow-ttl {
	background:#095597;
}
.flow03 .m-flow-ttl:before {
	content:'';
	display:inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 35px 0 35px 16px;
	border-color: transparent transparent transparent #11437F;
	position:absolute;
	top:0;
	left:0;
}
.flow04 .m-flow-ttl {
	border-radius:0 4px 0 0;
	background:#0068AE;
}
.flow04 .m-flow-ttl:before {
	content:'';
	display:inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 35px 0 35px 16px;
	border-color: transparent transparent transparent #095597;
	position:absolute;
	top:0;
	left:0;
}
.m-flow-list {
	margin-bottom:3rem;
}
.m-flow-list ul {
	margin:0;
	padding:0;
	list-style:none;
	display: flex;
    flex-wrap: wrap;
}
.m-flow-list li {
    padding-bottom: 1rem;
    font-size: 1.2rem;
	width:100%;
}
.m-flow-list li.l-s {
	width:50%;
}
.m-flow-list li::before {
	content: '';
    display: inline-block;
    width: 5px;
    height: 2px;
    background: #1A3068;
    margin-right: 1rem;
    position: relative;
    top: -4px;
}
.m-flow-cont .miwabtn-s {
    margin-top: auto;
    width: 160px;
	max-width: 100%;
}
.m-flow-cont .miwabtn-s a {
    font-size: 1.2rem;
    padding: 5px 10px;
}
.m-flow-inner {
	padding:3rem;
	border-left:1px solid #ECEEF1;
	height: calc(100% - 70px);
    display: flex;
    flex-direction: column;
}
.m-flow-cont {
	width:25%;
}
.m-flow {
	border-radius: 4px;
	display:flex;
	box-shadow:2px 3px 2.34px rgba(62,67,84,.3);
	margin-bottom:3.4rem;
}
.m-flow-last span.m-flow-last-msg {
	border-top:1px solid #ECEEF1;
	border-left:1px solid #ECEEF1;
	display:block;
	font-size:2.6rem;
	text-align:center;
	padding:20px;
	box-shadow:2px 3px 2.34px rgba(62,67,84,.3);
	border-radius: 4px;
}
.m-flow-last::before {
	margin:0 auto 3.4rem;
	content:'';
	display:block;
	width:55px;
	height:25px;
	background:url(../img/ability/mechatro/m-flow-arrow.png) no-repeat center center;
	background-size:cover;
}
@media screen and (max-width:991px) {
  .toppage-service-list .col-md-6 {
    margin-bottom: 4rem;
  }
  .toppage-service-list {
    padding-bottom: 5rem;
  }
  .toppage-service-panel-inner li {
    width: 50%;
  }
  .toppage-service-top {
    margin-bottom: 9rem;
  }
  .toppage-service-btm {
    margin-top: 0rem;
  }
  .toppage-information-company a {
    padding: 8rem 2rem 8rem 3rem;
  }
  .toppage-information-recruit a {
    padding: 8rem 0 8rem 4rem;
  }
  .gmap.gmap-g {
    padding-bottom:52.5%;
  }
  .toppage-service-panel-inner h3.ls0 {
    letter-spacing: 0;
  }
}


@media screen and (max-width:767px) {
  .top-slider {
    height: 85vh;
  }
  .slider-txt {
    font-size:3.5rem;
    justify-content: flex-start;
    padding-top: 10rem;
  }
  .stbg {
    padding: 10px 0;
  }
  .top-scroll {
    top: inherit;
    bottom: 20px;
  }
  .top-slider .swiper-pagination {
    text-align: center;
  }
  .top-slider .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 15px;
  }
  .toppage-bout-msg .txt {
    padding-bottom: 3rem;
    font-size: 1.6rem;
  }
  .miwabtn {
    width: 100%;
    box-shadow:2px 2px 5px rgba(0,0,0,.1);
  }
  .miwabtn a {
    font-size:1.2rem;
    padding:8px;
  }
  .miwabtn-s {
    margin-top: 2rem;
  }
  .toppage-service-ttl .ja {
    font-size:3.4rem;
    font-weight: 100;
    display: block;
    margin-bottom: 1rem;
  }
  .toppage-service-ttl .en {
    font-size: 1.5rem;
  }
  .toppage-service-top p {
    font-size: 1.2rem;
  }
  .link-arrow-btn a {
    font-size: 1.1rem;
  }
  .topbanner {
    margin-bottom: 4rem;
  }
  .toppage-service-top {
    background: url(../img/top/bg_topservice_sp.jpg) no-repeat center center;
    background-size: cover;
  }
  .toppage-service-panel-inner h3 {
    margin-bottom: 2rem;
    font-size:2rem;
  }
  .toppage-service-panel-inner li {
    width: 25%;
    font-size: 1rem;
    padding-right:.8rem;
    letter-spacing:0;
  }
  .toppage-service-panel-inner li::before {
    top: -2px;
	margin-right: .5em;
  }
  .toppage-service-panel-inner li.wide {
    width:66.667%;
  }
  .toppage-service-panel-inner {
    padding: 3rem 2rem 3rem;
  }
  .toppage-service-panel {
    height: auto;
    min-height: inherit;
  }
  .toppage-about .content-sub {
	font-size:1.7rem;
	font-weight:400;
  }
  .news-list {
    border-top: 1px dashed #1A3068;
    padding-top:1px;
  }
  .news-list dl {
    margin-top: 2rem;
    padding-bottom: 1.8rem;
  }
.news-list dt {white-space:nowrap;margin-right:30px;}
  .toppage-news-ttl .ja {
    font-size:3.4rem;
    display: block;
    margin-bottom: 1rem;
  }
  .toppage-news-ttl .en {
    font-size: 1.5rem;
  }
  .toppage-news-ttl {
    margin-bottom: 3.5rem;
  }
  .news-list dt {
    width: 100px;
  }
  .news-list .newscat {
    width: 100px;
    margin-right: 0;
  }
  .news-list .newsttl {
    flex: 0 0 100%;
    margin-top: 1.2rem;
  }
  .newscat span {
    font-size:1rem;
  }
  .toppage-information-company {
    width: 100%;
    border-right: none;
    border-bottom:1px solid #ECEEF1;
  }
  .toppage-information-company a {
    padding:4rem 3rem;
  }
  .toppage-information-recruit {
    width:100%;
  }
  .toppage-information-recruit a {
    padding:4rem 3rem;
  }
  .toppage-information h2 .en {
    font-size:1.5rem;
  }
  .toppage-information h2 .ja {
    font-size:3.4rem;
  }
  .toppage-information h2 {
    margin-bottom: 3rem;
  }
  .toppage-access-top p {
    font-size:1.2rem;
  }
  .gmap.gmap-g {
    padding-bottom: 66.66%;
  }
  .toppage-about-tile {
    margin-bottom: 5rem;
  }
  .toppage-about-tile-wrap .col-md-4:last-child .toppage-about-tile {
    margin-bottom: 0;
  }
  .toppage-access-top {
    background: url(../img/top/bg_topaccess-sp.jpg) no-repeat center center;
	background-size:cover;
  }
  .page-header h1 {
    font-size: 3.4rem;
  }
  .page-header-ttl-en {
	font-size:1.2rem;
  }
  .page-header {
    margin-bottom: 7rem;
    padding: 4rem 0 2rem;
  }
  .page-copy p {
    font-size:1.6rem;
    text-align: left;
  }
  #about-fig01.about-list-fig {
	margin:0 auto 5rem;
  }
  #about-fig02.about-list-fig,
  #about-fig03.about-list-fig {
    margin:0 auto 4rem;
  }
  .about-list {
    padding: 4rem 0 4rem;
  }
  .about-list figure {
	margin-bottom:2rem;
	}
  .about-content {
    margin-bottom: 5rem;
  }
  .ability-list-content {
    margin-bottom: 8rem;
  }
  .r-ttl {
    margin-bottom: 4rem;
    font-size: 2.4rem;
    white-space: normal;
    line-height: 1.6;
    flex-wrap: wrap;
    flex-direction: row;
  }
  .r-ttl .en {
    margin-left: 0rem;
    font-size: 1.2rem;
    flex: 0 0 100%;
  }
  .r-ttl::after {
    margin:2rem 0 0 0;
  }
  .machine-list h3 .m-cat {
    font-size: 1.6rem;
    flex:0 0 100%;
    padding: .6rem;
  }
  .machine-list h3::after {
    display: none;
  }
  .machine-list-sub {
    flex-wrap: wrap;
    flex-direction: row;
  }
  .machine-list-sub h4 {
    flex: 0 0 100%;
    margin: 0 0 1rem;
    white-space: nowrap;
  }
  .ability-content-top h2 {
    font-size: 2.2rem;
  }
  .works h3 {
    font-size: 1.8rem;
  }
  .machinelist .machine h3 {
	font-size:1.8rem;
  }
  .ability-content {
    margin-bottom: 6rem;
  }
  .machine-list-top {
    text-align:left;
  }
  .ab-list {
    margin-bottom: 4rem;
  }
  .figlist {
    display: flex;
    margin: 0 -.5rem 3rem;
  }
  .figlist .fig {
    padding: 0 5px;
  }
  .machinelist .machine-item {
    width: 100%;
    margin-bottom: 2rem;
  }
  .machinelist .machine p {
    margin-bottom: 1rem;
  }
  .machine-list .m-list li {
    white-space: normal;
  }
  .other-panel {
    padding: 3rem 1.5rem;
    letter-spacing: .1em;
    font-size:1.6rem;
  }
  .company-content {
    margin-bottom: 8rem;
    margin-top:-60px;
    padding-top:60px;
  }
  .company-message figure img {
    min-height: 340px;
    object-fit: cover;
    object-position: 66% 50%;
  }
  .container-message {
    margin-top: -8rem;
  }
  .container-message-inner {
    padding-bottom:3rem;
  }
  .message-ttl {
    text-align: left;
    font-size: 2.2rem;
    margin-bottom: 3rem;
    padding-bottom: 2rem;
  }
  .message-box {
    column-count: 1;
  }
  .message-sign {
    margin-top: 2rem;
  }
  .company-message {
    padding-bottom: 5rem;
  }
  .r-sub-ttl {
	font-size:1.6rem;
  }
  .r-table {
    margin-top: 4rem;
  }
  .r-table th,
  .r-table td {
    width:100%;
    display: block;
  }
  .r-table th {
    padding:1.5rem 1rem .5rem 1rem;
	font-size:1.4rem;
  }
  .r-table td {
    padding:.5rem 1rem 1.5rem 1rem;
  }
  .company-history dl {
    flex-wrap: wrap;
    flex-direction: column;
  }
  .company-history ul::before {
    left:0;
  }
  .company-history ul::after {
    left:0;
  }
  .company-history li::after {
    left:-4px;
    top: 6px;
    transform: translateY(0);
  }
  .company-history dt {
    margin-bottom: 2rem;
	margin-left: 2rem;
	justify-content: flex-start;
  }
  .company-history dd {
    margin-left:2rem;
    padding: 1.5rem;
  }
  .company-history dd::before {
    display: none;
  }
  .company-history dt.last-dt::after {
    content: '';
    display: inline-block;
    width: 100%;
    height: 120px;
    position: absolute;
    right: inherit;
    bottom: inherit;
    background: #fff;
    z-index: 2;
    left: 0;
    top: calc(100% + 6px);
  }
  .sosiki-small {
    margin-top: 4rem;
    background: #ECEEF1;
    padding: 2rem 1rem 1rem;
    font-size: 1rem;
    letter-spacing: 0;
    line-height: 1.4;
  }
  .sosiki-small li {
    padding-right: 3rem;
    margin-bottom: .5rem;
  }
  .company-kousei {
    flex-wrap: wrap;
    margin-right: -30px;
    margin-left: -30px;
  }
  .company-kousei-inner {
	width:100%;
    padding-right: 30px;
    padding-left: 30px;
  }
  .kousei01 {
    width: 100%;
    border-right: 0px;
    margin-bottom: 2.5rem;
  }
  .company-kousei h3 {
    margin-bottom: 2rem;
    font-size: 1.6rem;
  }
  .company-kousei table {
	width:100%;
  }
  .company-kousei th {
    padding: 10px 5px 10px 0;
    vertical-align: top;
  }
  .company-kousei td {
    padding: 10px 0 10px 0;
    vertical-align: top;
	text-align: right;
  }
  .kousei-total {
    margin: 3rem 0 4rem;
    font-size:1.6rem;
  }
  .kousei-total .small {
    font-size: 1rem;
  }
  .c-ttl {
    font-size: 2rem;
    font-weight: 300;
    margin-top: 5rem;
    margin-bottom: 3rem;
  }
  .access-header {
    text-align: left;
  }
  .access-detail-list {
    flex-wrap: wrap;
  }
  .access-detail {
    margin: 5rem 0 5rem;
  }
  .access-detail-list h2 {
    flex: 0 0 100%;
    min-width: 100%;
    padding-right: 0;
    margin: 0 0 1.5rem;
  }
  .access-detail-list ul {
    flex: 0 0 100%;
    min-width: 100%;
    margin-bottom: 1rem;
  }
  .c-phone {
    flex-wrap: wrap;
  }
  .c-phone h3 {
    margin:0 0 1rem;
  }
  .c-table dt {
    width: 100%;
    margin-bottom: 2rem;
  }
  .c-table dl {
    flex-wrap: wrap;
  }
  .c-table dd {
    width: 100%;
  }
  .c-table-btm {
    text-align: left;
  }
  .entry-btn {
    width: 100%;
  }
  .entry-btn input,
  .entry-btn button {
    background: #fff;
    width: 100%;
    border-radius: 39px;
    text-align: center;
    padding: 10px 30px;
    text-align: center;
    display: block;
    font-size: 1.2rem;
    color: #1A3068;
    letter-spacing: .2em;
    transition: background .3s;
    border: 0;
  }
  .c-head {
    font-size: 1.4rem;
  }
  .recruit-content {
    margin-bottom: 8rem;
  }
  .r-fig {
    margin-top: 1rem;
    margin-bottom: 0;
  }
  .r-flow-num {
    position: relative;
    top: -8px;
  }
  .recruit-flow {
    margin-bottom: 8rem;
  }
  .contact-content {
    margin-bottom: 8rem;
  }
  .privacy-wrap {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
  .mw_wp_form_confirm .c-table {
    margin: 4rem 0;
  }
  .news-entry .alignright { float: none; margin:0 auto 2rem; }
  .news-entry .alignleft { float: none; margin:0 auto 2rem;}
  .news-entry {
    padding: 3rem 0 6rem;
  }
  .news-header {
    justify-content: flex-start;
  }
  .news-header dt {
    width:100px;
  }
  .news-content {
    margin-bottom: 8rem;
  }
  .c-table {
    margin-top: 0rem;
  }
  .mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 0px !important;
  }
  .mwform-radio-field {
    margin: 0 .5em 0 0;
    padding-bottom: 1rem;
    display: inline-block;
  }
  .company-kousei tr {
	border-bottom:1px solid #DEDEDE;
  }
  .m-flow {
	flex-direction: column;
  }
  .m-flow-cont {
    width: 100%;
  }
  .m-flow-inner {
    padding: 4rem 2rem 3rem;
  }
  .m-flow-list ul {
    flex-wrap: wrap;
  }
  .m-flow-list li {
    width: auto;
    margin-right: 2rem;
  }
  .m-flow-list li.l-s {
	width:auto;
  }
  .flow01 .m-flow-ttl {
    border-radius: 4px 4px 0 0;
  }
  .flow04 .m-flow-ttl {
    border-radius: 0;
  }
  .m-flow-ttl {
	height:50px;
	padding-top: 10px;
  }
  .flow01 .m-flow-ttl:before {
    content: '';
    display: inline-block;
    width: 0;
	height: 0;
	border-style: solid;
	border-width: 15px calc(50vw - 20px) 0 calc(50vw - 20px);
	border-color: #1A3068 transparent transparent transparent;
    position: absolute;
	top:inherit;
    bottom: -15px;
    left: 0;
  }
  .flow02 .m-flow-ttl:before {
    content: '';
    display: inline-block;
    width: 0;
	height: 0;
	border-style: solid;
	border-width: 15px calc(50vw - 20px) 0 calc(50vw - 20px);
	border-color: #11437F transparent transparent transparent;
    position: absolute;
	top:inherit;
    bottom: -15px;
    left: 0;
  }
  .flow03 .m-flow-ttl:before {
    content: '';
    display: inline-block;
    width: 0;
	height: 0;
	border-style: solid;
	border-width: 15px calc(50vw - 20px) 0 calc(50vw - 20px);
	border-color: #095597 transparent transparent transparent;
    position: absolute;
	top:inherit;
    bottom: -15px;
    left: 0;
  }
  .flow04 .m-flow-ttl:before {
    content: '';
    display: inline-block;
    width: 0;
	height: 0;
	border-style: solid;
	border-width: 15px calc(50vw - 20px) 0 calc(50vw - 20px);
	border-color: #0068AE transparent transparent transparent;
    position: absolute;
	top:inherit;
    bottom: -15px;
    left: 0;
  }
  .m-flow-cont .miwabtn-s {
    width: 100%;
  }
  .m-flow-list {
	margin-bottom:2rem;
	}
  .m-flow-last span.m-flow-last-msg {
	font-size:1.8rem;
	}
  .page-header h1 .parent-ttl {
    font-size: 2rem;
  }
  .r-ttl-hr {
	font-size:2.4rem;
	margin-bottom:3rem;
  }
  .mt-msg {
    font-size: 1.4rem;
	letter-spacing: .1em;
	margin-bottom: 5rem;
  }
  .s-col-md-8 {
    width: 100%;
  }
  .s-col-md-4 {
    width: 100%;
  }
  .s-col-md-4 figure {
	margin-top:2rem;
	text-align: center;
  }
  .topbanner-ttl {
	font-size:2.4rem;
  }
}
@media screen and (max-width:375px) {
		.slider-txt-img img {
		width: 324px;
	}
}

@media screen and (max-width:320px) {
.message-sign .yaku {
    font-size: 1rem;
}
.message-sign .name {
    font-size: 2.2rem;
}
.foot-msg-phone .phone {
    letter-spacing: .1em;
}
.foot-msg-mail .mail {
    width: 240px;
}
.page-header h1 {
    font-size: 3.2rem;
}
.machine-list h3 .m-cat {
    min-width: auto;
}
.r-ttl {
    font-size: 2.2rem;
}
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}