﻿body {
 background: #FCFCFC;
 color: #333333;
 font-family: helvetica, Helvetica Neue, YuGothic, "Yu Gothic", "游ゴシック", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
 font-size: 1.6rem;
 line-height: 2;
 letter-spacing: 0.05em
}

a {
 color: #111;
 text-decoration: none;
 transition: all 0.3s ease
}

a:hover {
 color: #777
}

img {
 max-width: 100%;
 height: auto
}

nav {}

#header {
 /*position: absolute;*/
 float: left;
 width: inherit;
}

#header .inner {
    margin: inherit;
    margin-left: 20px;
    /* width: 1000px;*/
    width: 300px;
    padding-top: 20px;
    padding-bottom: 15px;
}

#header .inner #logo {
 width: 300px;
 margin: 0 auto 10px;
}

.visual {
 background: url(../img/bg_visual.jpg) no-repeat center fixed;
 background-size: cover;
 margin-bottom: 40px
}

.visual .inner {
 padding: 30rem 0 15rem;
 margin: 0 auto;
 width: 1000px
}

.textSplitLoad {
 display: none
}

.split {
 visibility: hidden;
 font-weight: 500
}

.split span {
 display: block;
 color: #FFFFFF
}

.split .split_catch01 {
 font-size: 5rem
}

.split .split_catch02 {
 font-size: 2rem
}

#navi {
 /*    margin-bottom: 60px;*/
}

#navi ul {
 margin: inherit;
 float: right;
 width: 1000px;
 padding-top: 30px;
}

#navi ul li {
 float: left;
 width: 166.66667px;
 overflow: hidden;
 text-align: center;
}

#navi ul li a {
 position: relative;
 display: inline-block;
 padding: .5em 0;
 color: #111;
 display: block;
}

#navi ul li a:before,
#navi ul li a:after {
 position: absolute;
 -webkit-transition: all 0.35s ease;
 transition: all 0.35s ease
}

#navi ul li a:before {
 top: 100%;
 left: 0;
 right: 0;
 margin: 0 auto;
 display: block;
 height: 3px;
 width: 60%;
 content: "";
 background-color: #111
}

#navi ul li a:after {
 padding: .5em 0;
 position: absolute;
 top: 100%;
 left: 0;
 content: attr(data-hover);
 white-space: nowrap;
 width: 100%;
}

#navi ul li a:hover {
 transform: translateY(-100%)
}

#top .navi_01 {
 transform: translateY(-100%)
}

#company .navi_02 {
 transform: translateY(-100%)
}

#facility .navi_03 {
 transform: translateY(-100%)
}

#service .navi_04 {
 transform: translateY(-100%)
}

#careers .navi_05 {
 transform: translateY(-100%)
}

#contact .navi_06 {
 transform: translateY(-100%)
}

#page-top {
 position: fixed;
 bottom: 30px;
 right: 30px;
 z-index: 9999
}

#footer {
 background: #4F6E9B;
 color: #FFFFFF
}

#footer .inner {
 width: 1000px;
 margin: 0 auto;
 padding: 60px 0;
 text-align: center
}

#footer .inner .foot_navi {
 margin-bottom: 40px
}

#footer .inner .foot_navi li {
 float: left;
 width: 16.6%;
 position: relative;
 box-sizing: border-box;
 text-align: center
}

#footer .inner .foot_navi li:before {
 position: absolute;
 left: 0;
 content: "/"
}

#footer .inner .foot_navi li:first-child:before {
 display: none
}

#footer .inner .foot_navi li a {
 position: relative;
 color: #FFFFFF
}

#footer .inner .foot_navi li a::after {
 transform: scaleX(1)
}

#footer .inner .foot_navi li a::after {
 content: '';
 position: absolute;
 bottom: 0;
 left: 0;
 width: 100%;
 height: 1px;
 transform: scaleX(0);
 background-color: #FFFFFF;
 transition: all .3s ease
}

#footer .inner .foot_navi li a:hover::after {
 transform: scaleX(1)
}

#footer .inner .copyright {
 font-size: 1.2rem
}

.sns li {
 display: inline-block;
 margin-left: 20px
}

.sns li a {
 display: inline-block;
 width: 38px;
 height: 38px;
 line-height: 38px;
 border: 1px solid #111;
 border-radius: 50%;
 text-align: center;
 color: #111;
 font-family: FontAwesome;
 font-size: 2rem
}

.sns li a.fa-instagram:before {
 content: "\f16d"
}

.sns li a.fa-facebook:before {
 content: "\f082"
}

.sns li a:hover {
 background: #111;
 color: #FCFCFC
}

.single {
 margin: 0 auto 80px;
 width: 1000px
}

.lsingle,
.rsingle {
 width: 48.44%
}

.lsingle {
 float: left
}

.rsingle {
 float: right
}

.mtitle {
 margin-bottom: 25px;
 font-size: 3rem;
 font-weight: 600;
 line-height: 1.3;
text-transform: uppercase;
letter-spacing: 0.01px;
}

.mtitle span {
 margin-left: 2rem;
 font-size: 1.6rem
}

.mtitle_middle {
 font-size: 1.8rem;
 border-bottom: 1px solid #EEEEEE;
 position: relative;
 margin-bottom: 10px
}

.mtitle_middle:after {
 position: absolute;
 content: "";
 display: block;
 border-bottom: 1px solid #111;
 bottom: -1px;
 width: 100px;
 color: #aaa
}

.btn01 {
 display: block;
 margin: 0 auto;
 width: 220px;
 position: relative;
 text-align: left;
 border: 1px solid #4F6E9B;
 padding: 10px 6px 10px 24px;
 box-sizing: border-box;
 color: #111
}

.btn01:before {
 content: "";
 width: 63px;
 position: absolute;
 top: 50%;
 margin-top: -1px;
 right: -32px;
 border-top: 2px solid #4F6E9B;
 box-sizing: border-box;
 transition: all 0.3s ease;
 -webkit-transition: all 0.3s ease
}

.btn01:after {
 content: "";
 height: 4px;
 position: absolute;
 top: 50%;
 right: -30px;
 margin-top: -4px;
 border-left: 3px solid #4F6E9B;
 -webkit-transform: skewX(45deg);
 -moz-transform: skewX(45deg);
 transform: skewX(45deg);
 box-sizing: border-box;
 z-index: 1;
 transition: all 0.3s ease;
 -webkit-transition: all 0.3s ease
}

.btn01:hover:before {
 width: 73px;
 right: -42px
}

.btn01:hover:after {
 right: -40px
}

.contact_list li {
 margin-bottom: 15px
}

.contact_list li:last-child {
 margin-bottom: 0
}

.contact_list li a {
 display: block;
 border: 1px solid #4F6E9B;
 padding: 12px;
 text-align: center
}

.contact_list li a:before {
 font-family: 'FontAwesome';
 margin-right: 10px
}

.contact_list li a.tel_btn:before {
 content: "\f095"
}

.contact_list li a.site_btn:before {
 content: "\f0e0"
}

.contact_list li a:hover {
 background: #4F6E9B;
 color: #FCFCFC
}

.news-bl {
 overflow: hidden
}

.news-bl dt {
 float: left;
 width: 8em;
 padding: 3px 5px;
 line-height: 1.3;
 background: #4F6E9B;
 color: #FFFFFF;
 text-align: center
}

.news-bl dd {
 padding: 0 0 10px 10em;
 line-height: 1.6;
 border-bottom: 1px dotted #aaa;
 margin: 0 0 10px
}

.news-bl dd:last-child {
 margin: 0;
 border-bottom: none
}

.tbl {
 width: 100%;
 background: #FFFFFF
}

.tbl th,
.tbl td {
 vertical-align: middle;
 border: 1px solid #CCCCCC;
 padding: 10px
}

.tbl th {
 background: #111;
 color: #FFFFFF
}

.tbl th.cell01 {
 width: 50%
}

.tbl .num {
 font-size: 2rem;
 color: #111;
 margin-right: 5px
}

.tbl_new {
 width: 100%
}

.tbl_new tr th,
.tbl_new tr td {
 vertical-align: top;
 padding: 10px
}

.tbl_new tr:nth-child(odd) th,
.tbl_new tr:nth-child(odd) td {
 background: #F3F3F3
}

.tbl_simple {
 width: 100%
}

.tbl_simple th,
.tbl_simple td {
 padding: 10px 20px;
 vertical-align: middle
}

.tbl_simple th {
 font-weight: normal;
 width: 25%;
 text-align: left
}

.tbl_simple th span {
 display: block;
 border-right: 1px solid #111
}

.tbl_01 th {
 width: 17%
}

.company {
 width: 100%;
 border-collapse: separate;
 border-spacing: 0 5px
}

.company th,
.company td {
 padding: 10px;
 vertical-align: middle
}

.company th {
 text-align: left;
 width: 20%;
 position: relative;
 background: #111;
 color: #FFFFFF;
 font-weight: normal
}

.company th::after {
 left: 100%;
 top: 50%;
 border: solid transparent;
 content: " ";
 height: 0;
 width: 0;
 position: absolute;
 pointer-events: none;
 border-color: #fafafa;
 border-width: 10px;
 border-left-color: #111;
 margin-top: -10px
}

.company td {
 background: #fafafa;
 padding-left: 20px
}

.list_common li {
 padding-bottom: 10px;
 padding-left: 1rem;
 margin-bottom: 10px;
 border-bottom: 1px dotted #e5e5e5
}

.list_common li:before {
 font-family: 'FontAwesome';
 content: "\f111";
 margin: 0 5px 0 -1rem;
 color: #FCFCFC
}

.list_common li li {
 padding-bottom: 0;
 margin-bottom: 0;
 border-bottom: none
}

.list_common li li:before {
 display: none
}

.list_note {
 color: #FF0000
}

.list_note li {
 margin-bottom: 10px;
 padding-left: 1rem
}

.list_note li:last-child {
 margin-bottom: 0
}

.list_note li:before {
 content: "※";
 margin: 0 5px 0 -1rem
}

.ggmap {
 position: relative;
 padding-bottom: 371px;
 height: 0;
 overflow: hidden
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%
}

.parent {
 position: relative;
 margin-top: 20px
}

.parent .ttl {
 position: absolute;
 top: -20px;
 left: -10px;
 text-align: center;
 background: #111;
 display: block;
 width: 100%;
 max-width: 240px;
 color: #ffffff;
 padding: 3px 0;
 font-size: 1.6rem;
 margin: 0 auto
}

.parent .child {
 padding: 30px 20px 20px;
 border: 1px solid #e5e5e5;
 background-color: #FFF
}

.gallery_ul li {
 float: left;
 width: 31.3%;
 margin: 0 3% 3% 0;
 text-align: center
}

.gallery_ul li:nth-child(3n) {
 margin: 0 0 3% 0
}

.gallery_ul li a {
 display: block;
 overflow: hidden;
 height: 226px;
 position: relative
}

.gallery_ul li a img {
 position: absolute;
 top: 50%;
 left: 50%;
 -webkit-transform: translate(-50%, -50%);
 -ms-transform: translate(-50%, -50%);
 transform: translate(-50%, -50%);
 width: 100%;
 height: auto
}

.gallery_ul li span {
 display: block;
 margin-top: 5px
}

.column3 {
 float: left;
 width: 31.3%;
 margin: 0 3% 3% 0;
 position: relative
}

.column3:nth-child(3n) {
 margin: 0 0 3% 0
}

.column4 {
 float: left;
 width: 22.7%;
 margin: 0 3% 3% 0;
 position: relative
}

.column4:nth-child(4n) {
 margin: 0 0 3% 0
}

.point {
 position: relative;
 margin-bottom: 15px
}

.point p {
 position: absolute;
 bottom: -13px;
 left: 50%;
 margin-left: -18.5px;
 width: 37px;
 height: 37px;
 padding-top: 9px;
 border: 3px solid #FFFFFF;
 background: #111;
 color: #FFFFFF;
 font-size: 1.4rem;
 font-weight: bold;
 text-align: center;
 line-height: 1em;
 border-radius: 18.5px;
 box-sizing: border-box
}

.flex {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 margin-bottom: 80px
}

.flex li {
 width: 33.33%
}

.snip1445 {
 position: relative;
 overflow: hidden;
 min-width: 230px;
 max-width: 100%;
 height: 300px;
 width: 100%;
 text-align: center;
 font-size: 1.3rem;
 color: #FFFFFF;
 background-color: #111
}

.snip1445 * {
 box-sizing: border-box;
 transition: all 0.55s ease
}

.snip1445 *:before,
.snip1445 *:after {
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 -webkit-transition: all 0.55s ease;
 transition: all 0.55s ease
}

.snip1445 img {
 object-fit: cover;
 height: 100%;
 width: 100%;
 backface-visibility: hidden;
 vertical-align: top
}

.snip1445 figcaption {
 position: absolute;
 bottom: 25px;
 right: 25px;
 padding: 10px 10px 10px
}

.snip1445 figcaption:before,
.snip1445 figcaption:after {
 height: 1px;
 width: 100%;
 position: absolute;
 content: '';
 background-color: #FFFFFF
}

.snip1445 figcaption:before {
 top: 0;
 left: 0;
 -webkit-transform: translateX(200%);
 transform: translateX(200%)
}

.snip1445 figcaption:after {
 bottom: 0;
 right: 0;
 -webkit-transform: translateX(-300%);
 transform: translateX(-300%)
}

.snip1445 figcaption div:before,
.snip1445 figcaption div:after {
 width: 1px;
 height: 300px;
 position: absolute;
 content: '';
 background-color: #ffffff
}

.snip1445 figcaption div:before {
 top: 0;
 left: 0;
 -webkit-transform: translateY(200%);
 transform: translateY(200%)
}

.snip1445 figcaption div:after {
 bottom: 0;
 right: 0;
 -webkit-transform: translateY(-300%);
 transform: translateY(-300%)
}

.snip1445 h2,
.snip1445 h4 {
 width: 200px;
 background: rgba(79, 110, 155, 0.9);
 text-align: center;
 color: #fff;
}

.snip1445 h2 {
 font-size: 2rem;
 font-weight: 500;
 text-transform: uppercase;
}

.snip1445 .click {
 display: block;
 font-weight: 500;
 width: 200px;
 margin-left: auto;
 background-color: #FCFCFC;
 padding: 3px 10px;
 color: #111;
 text-shadow: #fff 0px 0px 0px
}

.snip1445 a {
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0
}

.snip1445 img {
 opacity: 1
}

.snip1445:hover img,
.snip1445.hover img {
 zoom: 1;
 filter: alpha(opacity=50);
 -webkit-opacity: .4;
 opacity: .4
}

.snip1445:hover figcaption:before,
.snip1445.hover figcaption:before,
.snip1445:hover figcaption:after,
.snip1445.hover figcaption:after,
.snip1445:hover figcaption div:before,
.snip1445.hover figcaption div:before,
.snip1445:hover figcaption div:after,
.snip1445.hover figcaption div:after {
 -webkit-transform: translate(0, 0);
 transform: translate(0, 0)
}

.snip1445:hover figcaption:before,
.snip1445.hover figcaption:before,
.snip1445:hover figcaption:after,
.snip1445.hover figcaption:after {
 -webkit-transition-delay: 0.15s;
 transition-delay: 0.15s
}

.tbbr,
.spbr,
.sp {
 display: none
}

.cut {
 overflow: hidden
}

.page_title_box {
 height: 328px;
 /* padding: 200px 0 80px; */
 margin-bottom: 40px;
}

.bg_img01 {
 background: url(../img/aboutimg01.png) no-repeat center
}

.bg_img02 {
 background: url(../img/businessimg01.png) no-repeat center
}

.bg_img03 {
 background: url(../img/productimg01.png) no-repeat center
}

.bg_img04 {
 background: url(../img/infoimg01_2.png) no-repeat center
}

.bg_img05 {
 background: url(../img/contactimg01.png) no-repeat center
}

.page_title_box .page_title {
 color: #FFFFFF;
 text-align: center;
 font-size: 4rem;
 font-weight: normal;
 line-height: 1.2;
 letter-spacing: .5rem;
 padding-top: 140px;
}

.breadcrumb_box {
 margin-top: -20px;
 margin-bottom: 50px
}

.breadcrumb_box .breadcrumb {
 margin: 0 auto;
 width: 1000px;
 padding-left: 0
}

.breadcrumb_box .breadcrumb li {
 display: inline
}

.breadcrumb_box .breadcrumb li+li:before {
 margin: 0 10px;
 content: ">"
}

/* .required {
 background: #FF4F4F;
 color: #FFFFFF;
 padding: 2px;
 margin-left: 10px;
 position: relative;
 top: 1px;
 font-style: normal;
 display: inline-block;
 width: 13px;
 height: 13px;
 line-height: 18px;
 text-align: center
} */

.textarea,
textarea {
 padding: 5px;
 background: #fafafa;
 border: 1px solid #e1e1e1;
 -webkit-appearance: none;
 width: 80%;
 box-sizing: border-box
}

.textarea {
 height: 30px
}

button,
.form .form-pattern-1 .submit-btn {
 display: block;
 text-decoration: none;
 cursor: pointer;
 background: #FFFFFF;
 border: 1px solid #4f6e9b;
 color: #111;
 text-align: center;
 margin: 30px auto 0;
 padding: 20px 0;
 width: 300px;
 box-sizing: border-box;
 font: 1.6rem/1 helvetica, Helvetica Neue, YuGothic, "Yu Gothic", "游ゴシック", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
 transition: all 0.3s ease
}

button:before {
 font-family: 'FontAwesome';
 margin-right: 10px;
 content: "\f0e0"
}

button:hover,
.form .form-pattern-1 .submit-btn:hover {
 background: #4f6e9b;
 color: #FFFFFF
}

.form .form-pattern-1 .submit-btn::before {
    background: #4f6e9b;
    transition: all 0.3s ease;
}

.form .form-pattern-1 .submit-btn:hover::before {
    background: #fff;
}

#flashA {
 width: 100%;
}

#juicysliderbox {
 position: relative;
}

.slidelogo {
 width: 1000px;
 margin: 0 auto;
 text-align: center;
 padding: 0;
 /*margin-bottom: 30px;*/
 background: rgba(0, 0, 0, .3);
 max-width: 800px;
}

#slidetxt {
 position: absolute;
 width: 100%;
 margin: 0 auto;
 bottom: 30%;
 z-index: 100;
}

.slidetxt {
 width: 1000px;
 margin: 0 auto;
 padding-top: 20px;
 background: rgba(0, 0, 0, .3);
}

.logo {
 text-align: center;
 margin-bottom: 30px;
 margin: 0 auto;
}

.logo img {
 width: 100%;
 max-width: 700px;
}

.ticker {
 width: 100%;
 height: 60px!important;
 margin: 0 auto;
}

.ticker ul {
 width: 100%;
 position: relative;
}

.ticker ul li {
 width: 100%;
 display: none;
}

.sp_break {
 display: none;
}

.hyo_yoko {
 overflow-x: auto;
 white-space: nowrap;
 -webkit-overflow-scrolling: touch;
 width: auto;
 height: auto;
}

table.type02 {
 border-collapse: separate;
 border-spacing: 0;
 line-height: 1.5;
 border-top: .1em #333333;
 border-left: .1em #333333;
 border-right: 1px solid #333333;
}

table.type02 th {
 /* font-size: 18px; */
 padding: 10px;
 vertical-align: middle;
 text-align: center;
 /* border-right: 1px solid #fff; */
 /* border-bottom: .1em solid rgba(7, 18, 124, 1.00); */
 border-bottom: 1px solid #333333;
 border-top: 1px solid #333333;
 border-left: 1px solid #333333;
 /* background-image: url(../img/bgA.png); */
 /* background: rgba(7, 18, 124, 1.00); */
 /* color: #fff; */
 background: rgba(79, 110, 155, 0.7);
 color: #fff;
}

table.type02 td {
 /* font-size: 16px; */
 padding: 10px;
 vertical-align: middle;
 /* text-align: center; */
 /* border-right: 1px solid #ccc; */
 border-bottom: .1px solid #333333;
 /* border-top: 1px solid rgba(7, 18, 124, 1.00); */
 border-left: 1px solid #333333;
 /* background: #fff; */
}

.slideup.on {
 opacity: 1;
 animation: view-slideup 0.65s cubic-bezier(0.2, 1, 0.2, 1);
}

.gallery {
 display: flex;
 justify-content: flex-start;
 flex-wrap: wrap;
 flex-direction: row;
}

.gallery li {
 width: calc((100% - 40px) /3);
 box-sizing: content-box;
 margin: 0 13px 20px 0;
}

.gallery li a {
 background: #f2f2f2;
 display: block;
 text-align: center;
 padding: 0px;
 height: 200px;
 vertical-align: middle;
}

.gallery li a img {
 width: 100%;
 height: 100%;
 object-fit: cover;
}

.product_link a {
 text-decoration: underline;
}

.flex_container {
 display: flex;
 flex-direction: row;
}

.flex_container .item1 img {
 width: 200px;
}

.flex_container .item2 img {
 width: 800px;
}

.president-txt {
 /*font-family: 'Yu Mincho Light',
  'YuMincho',
  'Yu Mincho',
  '游明朝体',
  'ヒラギノ明朝 ProN',
  'Hiragino Mincho ProN',
  'Meiryo UI',
  sans-serif;*/
 font-weight: bold;
 line-height: 1.5;
 margin-top: 5px;
}

.menu-m-48 {
 margin-top: -48px;
}

.imgbox {
 display: flex;
 justify-content: center;
 flex-wrap: wrap;
}
.imgbox li{
 width: 32%;
 margin-left: 5px;
 margin-right: 5px;
 margin-bottom: 10px;
}
.imgbox li img{
 max-width: 100%;
}
.form .form-pattern-1 {
    background: transparent;
}
.form .form-contents {
    padding-top: 0;
}
.form .form-pattern-1 dd:not(.pattern-exclusion) .textarea {
    border-radius: 0;
}
.form .form-contents form dl {
    margin-bottom: 0;
}