@charset "utf-8";
/*========================================================
                    Main layout styles
=========================================================*/

/*@font-face {
 font-family: 'Noto Sans Japanese';
 font-style: normal;
 font-weight: 400;
 src: url('../fonts/NotoSans-hinted/NotoSans-Medium.ttf') format('opentype');
}
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/NotoSans-SemiBold.ttf') format('opentype');
}
*/

@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 200;
  src: url('../fonts/NotoSerifCJKjp/NotoSerifCJKjp-ExtraLight.otf') format('opentype');
}
@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Light.otf') format('opentype');
}
@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Regular.otf') format('opentype');
}
@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Medium.otf') format('opentype');
}
@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/NotoSerifCJKjp/NotoSerifCJKjp-SemiBold.otf') format('opentype');
}
@font-face {
   font-family: 'Noto Serif Japanese';
   font-style: normal;
   font-weight: 700;
  src: url('../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Bold.otf') format('opentype');
}
@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Black.otf') format('opentype');
}

.cf:before,
.cf:after {
  content: " ";
  display: table;
}
.cf:after {
  clear: both;
}

.cf {
  *zoom: 1;
}
body{
	background:#fff;
	color:#000;
	font-family: 'Noto Sans Japanese', "游ゴシック", "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
	font-weight: 400;

}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
p, li, td, th, dt, dd {
	font-size:16px;
	line-height: 1.6em;
}
img{
	max-width:100%;
}
a img{
  transition: all 0.5s ease 0s;
}
a:hover img{
  opacity: 0.5;
}
.wrap{
	width:92%;
	max-width:1180px;
	clear:both;
	margin:0 auto;
}
.wrapmin{
	width:92%;
	max-width:980px;
	clear:both;
	margin:0 auto;
}
.serif{
	font-family: 'Noto Serif Japanese', "游明朝","Yu Mincho","游明朝体","YuMincho","ヒラギノ明朝 ProN W6","HiraMinProN-W6","HG明朝E","ＭＳ Ｐ明朝","MS PMincho","MS 明朝",serif;
	font-weight:normal;
}
.century{
	font-family: 'Century', "游明朝","Yu Mincho","游明朝体","YuMincho","ヒラギノ明朝 ProN W6","HiraMinProN-W6","HG明朝E","ＭＳ Ｐ明朝","MS PMincho","MS 明朝",serif;
	font-weight:normal;
}
.underline{
	text-decoration:underline;
}
.fbold{
	font-weight:bold;
}
.red{
	color:#ff0000;
}
.blue{
	color:#005dab;
}
.green{
	color:#009f57;
}
.yellow_line{
	background:#fae341;
}
.fs36{
	font-size:36px;
}
.fs33{
	font-size:33px;
}
.fs19{
	font-size:19px;
}
.tcenter{
	text-align:center;
}
.tright{
	text-align:right;
}
.br_sp{
	display:none;
}
.br_pc{
	display:block;
}
.gmap,
.youtube{
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
.gmap iframe,
.gmap object,
.gmap embed,
.youtube iframe,
.youtube object,
.youtube embed{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 94%;
}
.flex {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
.justify{
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
    padding: 0;
}
header, footer, nav, section{
	display:block;
}

/*共通*/
.pageHeader{
    background:#00007c;
    color:#fff;
    height:100px;
    width:100%;
    position:fixed;
    z-index:2;
}
.logo{
    display:table;
    font-size:26px;

}
.logo span{
    display:table-cell;
    vertical-align: middle;
    padding-right:1em;
}
.logo a{
	font-weight:600;
	color: #ffffff;
    display:table-cell;
    vertical-align: middle;
}
.logo a img{
 opacity: 1;
}
.gnav{
    margin:1em 0 0;
}
.gnav li{
    display:inline;
	font-weight:600;
}
.gnav li a{
    display:inline-block;
    color:#fff;
    padding-left:1.6em;
}
.gnav li a:hover{
    text-decoration:underline;
}
.pageHeader_inner{
    padding:3em 0 0;
}
.copyright{
    text-align:center;
    font-size:14px;
    color:#00007c;
    padding:0.6em 0 1em;
}
.pageFooter{
    text-align:center;
    color:#fff;
    background:#00007c;
    padding:5em 0;
}
.fnav{
    margin:0 0 5em;
}
.fnav li{
    display:inline;
}
.fnav li a{
    display:inline-block;
    color:#fff;
    padding:0 1.6em;
    border-right:1px solid #fff;
}
.fnav li a:hover{
    text-decoration:underline;
}
.fnav li:first-child a{
    border-left:1px solid #fff;
}
.flogo{
    margin:0 0 4em;
}
.foot_txt01{
    font-size:17px;
}
.foot_txt02{
    font-size:24px;
    margin:0 0 1em;
    font-weight:400;
}
.foot_txt03{
    font-size:18px;
}
.foot_txt04{
    font-size:18px;
}
.foot_txt04 a{
    color:#ffffff;
}
.pageFooter_inner{
    position:relative;
}
/*a.tel{
    color:#fff;
}*/
.totop{
    position:absolute;
    right:0;
    top:-76px;
}
.foot_contact{
    text-align:center;
    background:url(../img/common/line_bg01.png) repeat-x center top;
    padding:70px 6em 100px;
}
.foot_contact_txt{
    margin:0 0 3em;
}
.contents{
    padding:100px 0 0;
}
.btn_white a{
    display:block;
    color:#00007c;
    background:#fff;
    font-size:20px;
    max-width:450px;
    width:90%;
    text-align:center;
    padding:1em;
    margin:0 auto;
    position: relative;
  display: inline-block;
  padding-left: 20px;
  border:1px solid #00007c;
   transition: all 0.3s;
}
.btn_white a:hover{
    color:#fff;
    background:#00007c;
  border:1px solid #00007c;
   transition: all 0.3s;
}
.btn_white a:before{
  content: '';
  width: 14px;
  height: 14px;
  border: 0px;
  border-top: solid 1px #00007c;
  border-right: solid 1px #00007c;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -7px;
   transition: all 0.3s;
}
.btn_white a:hover:before{
    border-top: solid 1px #fff;
  border-right: solid 1px #fff;
   transition: all 0.3s;
   right: 10px;
}
.btn_blue a{
    display:block;
    color:#fff;
    background:#00007c;
    font-size:20px;
    max-width:450px;
    width:90%;
    text-align:center;
    padding:1em;
    margin:0 auto;
    position: relative;
  display: inline-block;
  padding-left: 20px;
  border:1px solid #00007c;
   transition: all 0.3s;
}
.btn_blue a:before{
  content: '';
  width: 14px;
  height: 14px;
  border: 0px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -7px;
   transition: all 0.3s;
}
.btn_blue a:hover{
    color:#00007c;
    background:#fff;
  border:1px solid #00007c;
   transition: all 0.3s;
}
.btn_blue a:hover:before{
  border-top: solid 1px #00007c;
  border-right: solid 1px #00007c;
   transition: all 0.3s;
   right: 10px;
}
.btn_green a{
    display:block;
    color:#fff;
    background:#1aa08f;
    font-size:20px;
    max-width:450px;
    width:90%;
    text-align:center;
    padding:1em;
    margin:0 auto;
    position: relative;
  display: inline-block;
  padding-left: 20px;
  border:1px solid #1aa08f;
   transition: all 0.3s;
}
.btn_green a:before{
  content: '';
  width: 14px;
  height: 14px;
  border: 0px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -7px;
   transition: all 0.3s;
}
.btn_green a:hover{
    color:#1aa08f;
    background:#fff;
  border:1px solid #1aa08f;
   transition: all 0.3s;
}
.btn_green a:hover:before{
  border-top: solid 1px #1aa08f;
  border-right: solid 1px #1aa08f;
   transition: all 0.3s;
   right: 10px;
}
.com_link01{
    overflow: hidden;
}
.com_link01 img{
    transition: all 0.3s;
}
.com_link01 a:hover img{
    transition: all 0.3s;
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    opacity:1;
}
.page_box{
    padding:100px 0;
}
.page_head{
    padding:120px 0;
}
.page_head_inner{
    width:50%;
    padding:3em 3em 4em;
    background:rgba(0,0,124,0.3);
}
.page_head_ttls{
    font-size:18px;
    color:#fff;
}
.page_head_ttl{
    font-size:48px;
    color:#fff;
    border-bottom:1px solid #fff;
    font-weight:400;
    padding:0.2em 0 0.5em;
}
.page_ttl01{
    font-size:38px;
    color:#00007c;
    text-align:center;
    margin:0 0 0.6em;
}
.page_ttl01 span{
    font-size:24px;
}
.page_ttl01_en{
    font-size:20px;
    color:#999999;
    text-align:center;
    margin:0 auto 90px;
    display: flex;
    align-items: center;
    width:360px;
}
.page_ttl01_en:before,
.page_ttl01_en:after {
    border-top: 1px solid #cacaca;
    content: "";
    display: inline; /* for IE */
    flex-grow: 1;
}
.page_ttl01_en:before {
    margin-right: 0.5em;
}
.page_ttl01_en:after {
    margin-left: 0.5em;
}
.page_ttl02{
    font-size:28px;
    background:url(../img/common/ttl_bg.png) no-repeat left center;
    background-size:cover;
    color:#fff;
    margin:0 0 0.8em;
    padding:0.6em 1em;
}
.page_tb01{
    border-top:1px solid #9caab8;
    border-left:1px solid #9caab8;
    width:100%;
    margin:0 0 60px;
    border-spacing:0;
}
.page_tb01 th{
    text-align:left;
    padding:1em 2em;
    border-bottom:1px solid #9caab8;
    border-right:1px solid #9caab8;
    font-weight:normal;
    background:#f1f6fb;
    vertical-align:top;
}
.page_tb01 td{
    padding:1em 2em;
    border-bottom:1px solid #9caab8;
    border-right:1px solid #9caab8;
    vertical-align:top;
}
.page_tb02{
    width:100%;
    margin:0 0 60px;
    border-spacing:0;
}
.page_tb02 th{
    text-align:left;
    padding:1em 2em;
    border-bottom:1px dashed #ccc;
    font-weight:normal;
    vertical-align:top;
}
.page_tb02 td{
    padding:1em 2em;
    border-bottom:1px dashed #ccc;
    vertical-align:top;
}

/*top*/
div.top_slide_inner{
    height:600px;
    width:100%;
}
.top_slide_inner01{
    background:url(../img/top/slide01.png) no-repeat top center;
    background-size:cover;
}
.top_slide_inner02{
    background:url(../img/top/slide02.png) no-repeat top center;
    background-size:cover;
}
.top_slide_inner03{
    background:url(../img/top/slide03.png) no-repeat top center;
    background-size:cover;
}
.top_slide_txt{
    text-align:right;
    font-size:36px;
    color:#fff;
    padding:420px 0 0;
}
.top_slide .slick-dots li button{
    color:#bdbdbd;
    background:#bdbdbd;
    border-radius: 50%;
    width:10px;
    height:10px;
}
.top_slide .slick-dots li.slick-active button{
    color:#00007c;
    background:#00007c;
}
.slick-dots li.slick-active button:before,
.slick-dots li button:before {
    display:none;
}
.top_bussiness_box{
    width:46%;
}
.top_bussiness_img{
    overflow: hidden;
}
.top_bussiness_box img{
    transition: all 0.3s;
}
.top_bussiness_box a:hover img{
    transition: all 0.3s;
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    opacity:1;
}
.top_bussiness_ttl{
    text-align:center;
    color:#00007c;
    font-size:30px;
    margin:0.4em 0 0.8em;
    position:relative;
}
.top_bussiness_ttl:before{
  content: '';
  width: 14px;
  height: 14px;
  border: 0px;
  border-top: solid 1px #00007c;
  border-right: solid 1px #00007c;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -7px;
}
.top_product{
    background: url(../img/common/line_bg01.png) repeat center top;
}
.top_product_btn{
    text-align:center;
    margin:4em 0 0;
}
.top_product_img{
    margin:3em 0 0;
}

.top_company{
    background:url(../img/top/img05.png) no-repeat top center;
    background-size:cover;
    height:500px;
}
.top_company_inner{
    text-align:right;
    color:#fff;
}
.top_company_ttl{
    font-size:50px;
    padding:1em 0 0.4em;
}
.top_company_ttl_en{
    font-size:20px;
    padding:0 0 3em;
}
.top_offiice_txt01{
    text-align:center;
    font-size:22px;
    margin:0 0 1.6em;
}
.top_offiice_txt02 a{
color: #000000;
text-decoration: none;
}



/*product*/
.page_head_product{
    background:url(../img/product/head_bg.png) no-repeat center center;
    background-size:cover;
}
.product_product_list{
    margin:3em auto 6em;
}
.product_product_list li{
    width:50%;
}
.product_foobtn{
    background:url(../img/product/img08.png) no-repeat top center;
    background-size:cover;
    padding:210px 0 180px;
}
.product_foobtn_btn{
    margin-left:50%;
}
.product_foobtn_btn a{
    display:block;
    color:#fff;
    background:#00007c;
    font-size:30px;
    max-width:490px;
    width:100%;
    text-align:center;
    padding:1.4em 1em;
    margin:0 auto;
    position: relative;
  display: inline-block;
  padding-left: 20px;
  border:1px solid #00007c;
   transition: all 0.3s;
}
.product_foobtn_btn a:before{
  content: '';
  width: 14px;
  height: 14px;
  border: 0px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -7px;
   transition: all 0.3s;
}
.product_foobtn_btn a:hover{
    color:#00007c;
    background:#fff;
  border:1px solid #00007c;
   transition: all 0.3s;
}
.product_foobtn_btn a:hover:before{
  border-top: solid 1px #00007c;
  border-right: solid 1px #00007c;
  right: 10px;
   transition: all 0.3s;
}

/*business*/
.page_head_business{
    background:url(../img/business/head_bg.png) no-repeat center center;
    background-size:cover;
}
.business_product_inner{
    margin:0 0 6em;
}
.business_product_box{
    width:33.3333%;
}
.business_business_txt{
    background:rgba(0,0,124,0.7);
    padding:6em 6em 6em 2em;
    color:#fff;
    max-width:520px;
}
.business_business_inner{
    margin:90px 0 0;
    position:relative;
    padding:50px 0 0;
}
.business_business_img{
    position:absolute;
    top:0;
    right:0;
    z-index:-1;
}
.business_business_ttl{
    font-size:30px;
    margin:0 0 1em;
}
.business_product{
    background: url(../img/common/line_bg01.png) repeat center top;
}
.business_product_txt{
    background:#fff;
    padding:2em 3em;
}
.business_product_ttl{
    font-size:28px;
    margin:0 0 1em;
}


/*company*/
.page_head_company{
    background:url(../img/company/head_bg.png) no-repeat center center;
    background-size:cover;
}
.company_ttl01{
    font-size:36px;
    color:#00007c;
    margin:0 0 1em;
}
.company_message_txt{
    width:66%;
}
.company_message_img{
    width:31%;
}
.company_message_txt p{
    margin:0 0 1.6em;
}
.company_message_name{
    text-align:right;
}
.company_ttl02{
    text-align:center;
    font-size:36px;
    margin:0 0 1.6em;
}
.company_rinen_inner{
    text-align:center;
    background:url(../img/company/bg01.png) no-repeat center center;
    background-size:contain;
    padding:2em 0;
}
.company_rinen_inner p{
    margin:0 0 1.8em;
}
.company_ttl03{
    font-size:28px;
    color:#00007c;
    margin:0 0 0.6em;
}
.company_hosin_box{
    width:30%;
}
.company_hosin_ttl{
    color:#00007c;
    font-size:24px;
    text-align:center;
    margin:0 0 0.6em;
    line-height:1.4;
}
.company_img01{
    background:url(../img/company/img02.png) no-repeat top center;
    background-size:cover;
    height:528px;
    margin:0 auto;
}
.company_img02{
    background:url(../img/company/img03.png) no-repeat top center;
    background-size:cover;
    height:528px;
    margin:0 auto;
}

/*access*/
.page_head_access{
    background:url(../img/access/head_bg.png) no-repeat center center;
    background-size:cover;
}
.access_map{
    margin:0 0 60px;
}
.access_access_txt01{
    font-size:20px;
}
.access_access_txt02{
    color:#00007c;
    margin:2em 0 0;
    font-weight:400;
}
.access_img01{
    background:url(../img/access/img01.png) no-repeat top center;
    background-size:cover;
    height:527px;
    margin:0 auto;
}

/*contact*/
.page_head_contact{
    background:url(../img/contact/head_bg.png) no-repeat center center;
    background-size:cover;
}
.contact_contact_inner{
    margin:0 0 60px;
}
.contact_contact_txt01{
    margin:1.6em 0 0;
    font-size:24px;
    color:#00007c;
}
.contact_contact_txt01 a{
    color:#00007c;
}
.contact_contact_txt02{
    margin:1.6em 0 0;
    font-size:24px;
}
.contact_contact_txt02 span a{
    color:#00007c;
}
.contact_contact_btn{
    text-align:center;
    margin:5em auto 0;
}

.contact_policy_inner{
    margin:0 0 60px;
}
.contact_policy_inner p,
.contact_policy_inner ul{
margin-bottom: 30px;
}
.contact_policy_inner a{
    color:#00007c;
}

.contact_policy_inner h3{
    font-size:28px;
	border-bottom: 3px double #00007c;
    margin:0 0 0.8em;
    padding:0.6em 0em;
	
}

/*form*/
.page_head_form{
    background:url(../img/contact/head_bg.png) no-repeat center center;
    background-size:cover;
}
.form_form p a{
    color:#00007c;
}

.form_tb{
    margin:3em 0 6em;
    width:100%;
    border-bottom:1px solid #9caab8;
    border-spacing:0;
}
.form_tb th{
    text-align:left;
    padding:1em 2em;
    border-top:1px solid #9caab8;
    border-right:1px solid #9caab8;
    border-left:1px solid #9caab8;
    font-weight:normal;
    background:#f1f6fb;
    vertical-align:top;
    width:100%;
    display:block;
}
.form_tb td{
    padding:1em 2em;
    border-top:1px solid #9caab8;
    border-right:1px solid #9caab8;
    border-left:1px solid #9caab8;
    vertical-align:top;
    width:100%;
    display:block;
}
.form_btn{
    text-align:center;
}
.form_tb td input[type="text"],
.form_tb td textarea{
    width:100%;
    border:1px solid #9caab8;
    padding:0.4em 1em;
    font-size:16px;
}
.form_tb td input[type="email"]{
    width:80%;
    border:1px solid #9caab8;
    padding:0.4em 1em;
    font-size:16px;
}
.form_tb td input[type="email"]:first-child{
    margin:0 0 0.5em;
}

/*process*/
.page_head_process{
    background:url(../img/process/head_bg.png) no-repeat center center;
    background-size:cover;
}
.process_img01{
    background:url(../img/process/img01.png) no-repeat top center;
    background-size:cover;
    height:488px;
    margin:0 auto;
}
.process_machine{
    padding:100px 0 0;
}
.process_machine_txt01{
    text-align:center;
    margin:0 0 1em;
    font-size:40px;
}
.process_process{
    background: url(../img/common/line_bg01.png) repeat center top;
}
.process_infomation{
    padding:100px 0 0;
}
.process_process_inner{
    margin:0 0 6em;
}
.process_process_inner:last-child{
    margin:0;
}
.process_process_img{
    width:40%;
}
.process_process_txt{
    width:60%;
    background:#fff;
    padding:3em 4em;
}
.process_process_ttl{
    font-size:28px;
    border-bottom:1px solid #999;
    padding:0.5em 0;
    margin:0 0 0.5em;
}
.process_process_ttl span{
    display:inline-block;
    background:#00007c;
    color:#fff;
    padding:0.4em 0.6em;
    border-radius:50% 50%;
    font-size:24px;
    margin-right:0.5em;
    line-height:1;
}
.process_product_box{
    width:33.3333%;
}
.process_product_txt{
    background:#fff;
    padding:2em 3em;
}
.process_product_ttl{
    font-size:28px;
    margin:0 0 1em;
}



