@charset "utf-8";

/*===============================================
●page.css  画面の横幅が751px以上
===============================================*/
@media print, screen and (min-width:751px){

/*-------------------------------------
        TOP
--------------------------------------*/

#top #mainimage img{
    width:100%;
    height:auto;
}
#top .inner {
    padding:80px 0;
}
#top #sec01 {
    background:url(../Images/top/sec01_bg.jpg) repeat;
    background-size:cover;
}
#top #sec01 ul {
    width:1100px;
    margin:0 auto;
}
#top #sec01 ul li {
    float:left;
    width:350px;
    background-color:#fff;
    box-shadow: 0px 0px 20px -5px rgba(0, 0, 0, 0.4);
    margin-right:25px;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
}
#top #sec01 ul li:last-child {
    margin-right:0;
}
#top #sec01 ul li:hover {
    box-shadow: 0px 0px 20px -5px rgba(0, 0, 0, 0.9);
}
#top #sec01 ul li .imgArea {
    overflow:hidden;
    border-bottom:#0e8da8 8px solid;
}
#top #sec01 ul li .imgArea img {
    width:100%;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}
#top #sec01 ul li a:hover .imgArea img {
    opacity:1.0;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    overflow:hidden;
}
#top #sec01 ul li a {
    width:100%;
    overflow:hidden;
    position:relative;
}
#top #sec01 ul li a .caption {
    color: #fff;
    font-weight: bold;
    font-family: 'Noto Sans', sans-serif;
    text-align: center;
    letter-spacing: 0.4em;
    border-bottom: #fff 1px solid;
    display: inline-block;
    padding: 0 5px 2px;
}
#top #sec01 ul li a .mask {
    width: 100%;
    height: 207px;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    background-color: rgba(0,0,0,0.4);
    -webkit-transition: all 0.6s ease;
    transition: all 0.6s ease;
}
#top #sec01 ul li a:hover .mask {
    height: 107px;
    opacity: 1;
    padding-top: 100px;
}
#top #sec01 ul li .tArea {
    height: 88px;
    padding: 20px;
}
#top #sec01 ul li .tArea h3 {
    color: #1c5d9f;
    position: relative;
    overflow: hidden;
    margin-bottom: 6px;
}
#top #sec01 ul li .tArea h3 span {
    display: inline-block;
    position: relative;
    padding: 0 1.2em 0 0;
}
#top #sec01 ul li .tArea h3:after {
    content: "";
    width: 1000px;
    height: 1px;
    border-top: 1px solid #1c5d9f;
    position: absolute;
    top: 10px;
}
#top #sec01 ul li .tArea p {
    color: #333;
    font-size: 13px;
}
#top #sec02 h2,
#top #sec02 h2 span {
    color:#fff;
}
#top #sec02 li {
    float:left;
    width:50%;
    text-align:center;
    background:url(../Images/top/sec02_bg01.jpg) no-repeat;
    padding:64px 0;
}
#top #sec02 li:last-child {
    background:url(../Images/top/sec02_bg02.jpg) no-repeat;
}
#top #sec02 li .linkbtn a {
    width: 365px;
    color: #fff;
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 0.08em;
    background: url(../Images/common/arrow_white.png) right 85px center no-repeat;
    box-sizing:border-box;
    position: relative;
    display: inline-block;
    outline: none;
    overflow: hidden;
    padding: 20px 0;
    transition: all .5s;
}
#top #sec02 li .linkbtn a::before,
#top #sec02 li .linkbtn a::after {
    position: absolute;
    display: block;
    content: '';
    width: 100%;
    height: 100%;
    transition: all .5s;
}
#top #sec02 li .linkbtn a::before {
    top: 0;
    left: 0;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
}
#top #sec02 li .linkbtn a::after {
    right: 0;
    bottom: 0;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
}
#top #sec02 li .linkbtn a:hover {
    color: #333;
    letter-spacing: 0.25em;
    background: url(../Images/common/arrow_black.png) right 75px center no-repeat rgba(255,255,255,0.8);
    transition: all .7s;
    padding-right: 20px;
}
#top #sec02 li .linkbtn a:hover::before,
#top #sec02 li .linkbtn a:hover::after {
    width: 0;
    height: 0;
    opacity: 0;
    transition: all .7s;
    border-color:#333;
}
#top #sec03 {
    width:1100px;
    margin:0 auto;
}
#top #sec03 h2 {
    float: left;
    padding-top:15px;
    margin-right: 80px;
}
#top #sec03 ul {
    float:left;
    padding-bottom: 20px;
}
#top #sec03 ul li {
    position:relative;
}
#top #sec03 ul li a {
    width: 819px;
    padding: 15px 30px;
}
#top #sec03 ul li a:hover {
    background-color:#f5f5f5;
}
#top #sec03 ul li a:hover:after {
    content: url(../Images/common/arrow_more.png);
    position:absolute;
    right: 30px;
    top:50%;
    -webkit-transform: translate(0,-50%);
    -moz-transform: translate(0,-50%);
    -ms-transform: translate(0,-50%);
    -o-transform: translate(0,-50%);
    transform: translate(0,-50%);
}
#top #sec03 ul li dl dt {
    float: left;
    color: #555555;
    font-size: 13px;
    font-weight: bold;
    letter-spacing: 0.08em;
}
#top #sec03 ul li dl dt span {
    color: #fff;
    background-color: #4a84b0;
    display: inline-block;
    font-size: 12px;
    padding: 2px 15px;
    margin-left: 20px;
}
#top #sec03 ul li dl dd {
    width: 450px;
    margin-left: 260px;
}
#top #sec03 .linkbtn {
    width:1100px;
    text-align:right;
    margin:0 auto;
}
#top #sec03 .linkbtn a {
    width: 250px;
    color: #fff;
    text-align: center;
    letter-spacing: 0.08em;
    background: url(../Images/common/arrow_white.png) left 20px center no-repeat #1c5d9f;
    box-sizing: border-box;
    padding: 15px 20px 15px 50px;
}
#top #sec03 .linkbtn a:hover {
    background: url(../Images/common/arrow_white.png) left 20px center no-repeat #4a84b0;
}

/*-------------------------------------
    製品紹介
--------------------------------------*/

#product #mainimage {
    background:url(../Images/product/h2_bg.jpg) no-repeat;
    background-size:cover;
}
#product section {
    width: 850px;
    margin: 0 auto;
}
#product .inner {
    padding:0 0 80px;
}
#product .blue_ttl {
    color: #1c5d9f;
    font-size: 24px;
    line-height: 1.3;
    letter-spacing: 0.08em;
    border-bottom: 4px solid #1c5d9f;
    position: relative;
    display: inline-block;
    padding: 0 4px 3px 3px;
    margin-bottom: 30px;
}
#product .blue_ttl:after {
    position: absolute;
    bottom: -4px;
    left: 0;
    z-index: 2;
    content: '';
    width: 850px;
    height: 4px;
    background-color: rgba(21, 86, 147, 0.20);
}
#product .gray_ttl {
    color: #666;
    font-size: 17px;
    font-weight: bold;
    line-height: 1.4;
    border-left: #666 3px solid;
    padding: 0px 0 2px 10px;
    margin-bottom: 15px;
}
#product #sec01 {
    padding-top:80px;
}
#product #sec01 ul {
    margin:0 5px ;
}
#product #sec01 li {
    border-bottom: #ddd 1px solid;
    padding-bottom: 35px;
    margin-bottom: 35px;
}
#product #sec01 li:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom:0;
}
#product #sec01 li .imgArea {
    float:left;
    margin-right: 20px;
}
#product #sec01 li .imgArea:last-child {
    margin-right: 0;
}
#product #sec01 li table {
    width:610px;
    float:right;
}
#product #sec01 li table th {
    text-align:center;
    border-right: #fff 3px solid;
    border-bottom: #fff 3px solid;
    background-color: #ddd;
    padding: 5px 0;
}
#product #sec01 li table td {
    border-right: #fff 3px solid;
    border-bottom: #fff 3px solid;
    background-color: rgba(221,221,221,0.5);
    padding: 7px 20px;
}
#product #sec01 li table td span {
    background: url(../Images/product/icon_jis.png) left center no-repeat;
    padding-left: 20px;
}
#product #sec01 li table td.td_01 {
    width:143px;
}
#product #sec01 li table td.td_01,
#product #sec01 li table td.td_03 {
    text-align:center;
}
#product #sec01 li table td.th_03,
#product #sec01 li table td.td_03 {
    border-right:none;
}
#product #sec01 li table td.btmnone {
    border-bottom:none;
}
#product #sec02 dl,
#product #sec03 dl {
    margin:0 5px;
}
#product #sec02 dl dd,
#product #sec03 dl dd {
    border-bottom: #ddd 1px solid;
    padding-bottom:30px;
    margin-bottom:30px;
}
#product #sec02 dl dd.last,
#product #sec03 dl dd.last {
    border-bottom: none;
    padding-bottom:0;
    margin-bottom:0;
}
#product #sec03 dl dd ul {
    margin-bottom:15px;
}
#product #sec03 dl dd li {
    display:inline-block;
}
#product #sec03 dl dd li img {
    height:113px;
}
#product .linkbtn {
    width:850px;
    text-align:right;
    margin:0 auto;
}
#product .linkbtn a {
    width: 250px;
    color: #fff;
    text-align: center;
    letter-spacing: 0.08em;
    background: url(../Images/common/arrow_white.png) left 20px center no-repeat #1c5d9f;
    box-sizing: border-box;
    padding: 15px 20px 15px 50px;
}
#product .linkbtn a:hover {
    background: url(../Images/common/arrow_white.png) left 20px center no-repeat #4a84b0;
}

/*-------------------------------------
    取り扱いブランド
--------------------------------------*/

#brand #mainimage {
    background:url(../Images/product/h2_bg.jpg) no-repeat;
    background-size:cover;
}
#brand #sec01 .brand_list {
    width:1100px;
    margin:0 auto 40px;
}
#brand #sec01 .brand_list li {
    float:left;
    width:350px;
    text-align:center;
    box-sizing:border-box;
    border:#1c5d9f 1px solid;
    padding:25px;
    margin:0 25px 0 0;
}
#brand #sec01 .brand_list li:nth-child(3n) {
    margin-right:0;
}
#brand #sec01 .brand_list li:nth-child(n+4) {
    margin-top:25px;
}
#brand #sec01 .brand_list li h3 {
    color: #1c5d9f;
    font-size: 18px;
    line-height: 1;
}
#brand #sec01 .brand_list li h3.noto {
    font-size:17px;
    font-family: 'Noto Sans', sans-serif;
}
#brand #sec01 .brand_list li .logo {
    margin: 20px 0 17px;
}
#brand #sec01 .brand_list li .logo img {
    height: 45px;
}
#brand #sec01 .brand_list li .note01 {
    text-align: left;
    border-bottom: #ddd 1px solid;
    padding: 0 0 15px;
    margin-bottom: 15px;
}
#brand #sec01 .brand_list li .note02 {
    color: #4a84b0;
    font-size: 13px;
    text-align: left;
    line-height: 1.4;
}
#brand #sec01 .linkbtn {
    width:1100px;
    text-align:right;
    margin:0 auto;
}
#brand #sec01 .linkbtn a {
    width:250px;
    color: #fff;
    text-align: center;
    letter-spacing: 0.08em;
    background: url(../Images/common/arrow_white.png) left 20px center no-repeat #1c5d9f;
    box-sizing: border-box;
    padding: 15px 20px 15px 50px;
}
#brand #sec01 .linkbtn a:hover {
    background: url(../Images/common/arrow_white.png) left 50px center no-repeat #4a84b0;
}

/*-------------------------------------
        会社案内（一部採用情報と共有）
--------------------------------------*/

/*-- 共通 --*/

#company #mainimage {
    background:url(../Images/company/h2_bg.jpg) no-repeat;
    background-size:cover;
}
#company #contents,
#recruit #contents,
#topics #contents {
    width: 1000px;
    position:relative;
    padding: 50px 0 0;
    margin: 0 auto;
}
#company #main_cts,
#recruit #main_cts,
#topics #main_cts {
    float: left;
    width: 700px;
}
#company #main_cts .inner,
#recruit #main_cts .inner,
#topics #main_cts .inner {
    padding:0 0 60px;
}
#company #side_cts .side_ttl,
#recruit #side_cts .side_ttl,
#topics #side_cts .side_ttl {
    color: #fff;
    font-size: 15px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.5em;
    background-color: #003366;
    padding: 15px 0;
    margin-bottom: 5px;
}
#company #side_cts li,
#recruit #side_cts li,
#topics #side_cts li {
    margin-bottom:4px;
}
#company #side_cts li:last-child,
#recruit #side_cts li:last-child,
#topics #side_cts li:last-child {
    margin-bottom:0;
}
#company #side_cts li a,
#recruit #side_cts li a,
#topics #side_cts li a {
    width: 100%;
    color: #333;
    background: url(../Images/common/arrow_gray.png) left 20px center no-repeat #f3f3f3;
    box-sizing: border-box;
    padding: 15px 20px 15px 50px;
}
#company #side_cts li a.on,
#company #side_cts li a:hover,
#recruit #side_cts li a.on,
#recruit #side_cts li a:hover,
#topics #side_cts li a.on,
#topics #side_cts li a:hover {
    color:#fff;
    background:url(../Images/common/arrow_white.png) left 20px center no-repeat #4a84b0;
}
#company h3,
#recruit h3,
#topics h3 {
    color: #1c5d9f;
    font-size: 20px;
    line-height: 1.3;
    letter-spacing: 0.08em;
    border-bottom: 4px solid #1c5d9f;
    position: relative;
    display: inline-block;
    padding: 0 4px 3px 3px;
    margin-bottom: 20px;
}
#company h3:after,
#recruit h3:after,
#topics h3:after {
    position: absolute;
    bottom: -4px;
    left: 0;
    z-index: 2;
    content: '';
    width: 700px;
    height: 4px;
    background-color: rgba(21, 86, 147, 0.20);
}
#company .gray_ttl,
#recruit .gray_ttl,
#topics .gray_ttl {
    color: #666;
    font-size: 16px;
    font-weight: bold;
    border-left: #666 3px solid;
    padding-left: 8px;
    margin-bottom: 10px;
}

/*-- 会社概要 --*/

#company_top #sec01 table th {
    width: 20%;
    border-right: #fff 3px solid;
    border-bottom: #fff 3px solid;
    background-color: #ddd;
}
#company_top #sec01 table td {
    border-bottom: #fff 3px solid;
    background-color: rgba(221,221,221,0.5);
    padding: 15px 20px;
}
#company_top #sec01 table td a {
    color: #4a84b0;
    position: relative;
}
#company_top #sec01 table td a:before {
    content: "";
    width: 5px;
    height: 5px;
    display: inline-block;
    border-top: 2px solid #4a84b0;
    border-right: 2px solid #4a84b0;
    vertical-align: middle;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    margin: -4px 8px 0 -2px;
}
#company_top #sec01 table td a:after {
    content: "";
    width: 0;
    background: #003366;
    transition: .24s all ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    position: absolute;
    left: 0;
    bottom: -0.03em;
}
#company_top #sec01 table td a:hover {
    color:#003366;
}
#company_top #sec01 table td a:hover:before {
    border-color:#003366;
}
#company_top #sec01 table td a:hover:after {
    width: 100%;
    height: .15rem;
}
#company_top #sec01 table td .disc_list li:before {
    content: '';
    width: 6px;
    height: 6px;
    display: inline-block;
    border-radius: 100%;
    background: #4a84b0;
    position: relative;
    left: 0px;
    top: -3px;
    margin-right: 10px;
}
#company_top #sec01 table td .img_list {
    margin-top:15px;
}
#company_top #sec01 table td .img_list li {
    float:left;
    margin-right:15px;
}

/*-- 沿革 --*/

#company_history #sec01 .imgArea {
    margin-bottom:40px;
}
#company_history #sec01 dl {
    background: url(../Images/company/history_bg.png) left 75px center repeat-y;
    padding-bottom: 30px;
}
#company_history #sec01 dl dt {
    float: left;
    color: #4a84b0;
    font-weight: bold;
}
#company_history #sec01 dl dd {
    margin-left: 5em;
    padding-left: 2.6em;
    text-indent: -2.4em;
}
#company_history #sec01 dl dd:before {
    content: '';
    width: 8px;
    height: 8px;
    display: inline-block;
    border-radius: 100%;
    background: #4a84b0;
    position: relative;
    left: 0px;
    top: -1px;
    margin-right: 25px;
}

/*-- 代表挨拶 --*/

#company_message #sec01 .imgArea {
    margin-bottom:25px;
}
#company_message #sec01 .tArea dd {
    line-height:1.8;
    margin-bottom:30px;
}

/*-- 経営理念 --*/

#company_policy #sec01 dd {
    line-height:1.8;
}
#company_policy #sec01 .imgArea {
    margin-bottom:25px;
}

/*-- 環境への取り組み --*/

#company_ecology #sec01 .top_txt {
    color: #555;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 25px;
}
#company_ecology #sec01 .sec01_top {
    margin-bottom:30px;
}
#company_ecology #sec01 .sec01_top > p,
#company_ecology #sec01 .sec01_btm > p {
    line-height:1.8;
}
#company_ecology #sec01 .num_list {
    margin:25px 0;
}
#company_ecology #sec01 .num_list > li {
    list-style: outside decimal;
    padding: 0 0 0.9em 0.5em;
    margin: 0 0 0 2em;
}
#company_ecology #sec01 .num_list > li:last-child {
    padding-bottom:0;
}
#company_ecology #sec01 .inner_list {
    margin:10px 0 0 1.2em;
}
#company_ecology #sec01 .inner_list li {
    color:#4a84b0;
    text-indent: -1.3em;
    padding-left: 1.5em;
    padding-bottom: 0.3em;
}
#company_ecology #sec01 .inner_list li span {
    display: inline-block;
    margin-right: 1em;
}
#company_ecology #sec01 .sign {
    line-height:1.6;
    text-align:right;
    margin-top:35px;
}

/*-------------------------------------
        採用情報
--------------------------------------*/

/*-- 共通 --*/

#recruit #mainimage {
    background:url(../Images/recruit/h2_bg.jpg) no-repeat;
    background-size:cover;
}

/*-- 募集要項 --*/

#recruit_top section table th {
    width: 20%;
    border-right: #fff 3px solid;
    border-bottom: #fff 3px solid;
    background-color: #ddd;
}
#recruit_top section table td {
    border-bottom: #fff 3px solid;
    background-color: rgba(221,221,221,0.5);
    padding: 15px 20px;
}
#recruit_top section table td a {
    color: #4a84b0;
    position: relative;
}
#recruit_top section table td a:before {
    content: "";
    width: 5px;
    height: 5px;
    display: inline-block;
    border-top: 2px solid #4a84b0;
    border-right: 2px solid #4a84b0;
    vertical-align: middle;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    margin: -4px 8px 0 -2px;
}
#recruit_top section table td a:after {
    content: "";
    width: 0;
    background: #003366;
    transition: .24s all ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    position: absolute;
    left: 0;
    bottom: -0.03em;
}
#recruit_top section table td a:hover {
    color:#003366;
}
#recruit_top section table td a:hover:before {
    border-color:#003366;
}
#recruit_top section table td a:hover:after {
    width: 100%;
    height: .15rem;
}
#recruit_top #sec02 table td dl {
    margin-bottom:15px;
}
#recruit_top #sec02 table td dl dt {
    float: left;
    color: #1a5b9c;
    font-weight: bold;
}
#recruit_top #sec02 table td dl dd {
    padding-left:4.5em;
}

/*-- 求める人物像、先輩社員の声 --*/

#recruit_human section p,
#recruit_senior section p {
    line-height:1.8;
}
#recruit_human section p,
#recruit_senior section p {
    margin-bottom:20px;
}

/*-- 採用エントリーフォーム --*/

#recruit_entry {
    margin-bottom: 50px;
}
#recruit_entry #sec01 {
    background-color: #ddd;
    padding: 40px 30px !important;
}
#recruit_entry #sec01 .top_txt {
    font-size: 16px;
    text-align: center;
    margin-bottom: 40px;
}
#recruit_entry #mailformpro {
    padding: 0;
}
#recruit_entry .mfp_phase {
    margin-bottom:15px;
}
#recruit_entry #sec01 table .mfp {
    width: 100%;
    text-align: left;
    box-sizing: border-box !important;
    display: block;
}
#recruit_entry #sec01 table th {
    line-height: 1.35;
    border-left: solid 3px #003366;
    padding: 2px 0 2px 10px;
    margin-bottom: 10px;
}
#recruit_entry #sec01 table th span.must-fill {
    color: #fff;
    font-size: 12px;
    letter-spacing: 0.2em;
    background-color: rgba(193,14,17,1.00);
    display: inline-block;
    padding: 1px 7px 2px;
    margin-left: 10px;
}
#recruit_entry #sec01 table th span.not-must-fill {
    background-color: #555;
}
#recruit_entry #sec01 table td {
    margin-bottom: 30px;
}
#recruit_entry #sec01 table td input,
#recruit_entry #sec01 table td textarea {
    border: none;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 15px 15px;
}
#recruit_entry #sec01 table td ul li {
    margin-bottom:3px;
}
#recruit_entry #sec01 table td ul li:last-child {
    margin-bottom:0;
}
#recruit_entry #sec01 table td ul li span {
    float: left;
    padding-top: 4px;
}
#recruit_entry #sec01 table td ul li input,
#recruit_entry #sec01 table td ul li select {
    float:right;
    width: 565px !important;
    border: none;
    padding: 5px 10px !important;
}
#recruit_entry .mfp_buttons {
    text-align: center;
    padding: 0;
}
#recruit_entry button {
    color: #fff;
    font-size: 17px;
    font-family: "游ゴシック","YuGothic", "游ゴシック体","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: bold;
    letter-spacing: 0.1em;
    background: #003366;
    border: none;
    border-radius: 0 !important;
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    transition: .3s;
    padding: 10px 45px;
}
#recruit_entry button:hover {
    background: #333;
    cursor:pointer;
}

/*mailformproを使用する場合、エラーメッセージなどのエフェクトがうざい場合は以下を使ってください。must-fillはサイト毎に変更必要です。*/

/* フォーム部品のボックスシャドウ打消し */
#recruit_entry .mfp_element_text, #recruit_entry .mfp_element_number, #recruit_entry .mfp_element_select-one, #recruit_entry .mfp_element_email, #recruit_entry .mfp_element_tel, #recruit_entry .mfp_element_textarea {
    box-shadow:none;
}
/* 入力エラーのチカチカなし、文字色 */
#recruit_entry div.mfp_err {
    background:none;
    padding-left:0;
    color:#f26;
    font-weight:bold;
}
/* エラー箇所のフォーム部品を色つきで強調 */
#recruit_entry .problem {
    background-color:#fdd;
}
/* 入力OKのエフェクト */
#recruit_entry div.mfp_ok {
    background-color:#ff7500;
    border-color:#ff7500;
    font-size:12px;
}
/* チェックボックスのエフェクト打消し */
#recruit_entry form#mailformpro label.mfp_not_checked {
    padding:0;
    border:none;
}
#recruit_entry form#mailformpro label.mfp_checked {
    padding:0;
    border:none;
    background:none;
}
/* ボタンのエフェクト打消し */
#recruit_entry .mfp_element_submit, .mfp_element_reset, .mfp_element_button{
    text-shadow:none;
}
/* 内容確認画面のテーブルを全幅 */
#recruit_entry #mfp_confirm_table{
    font-family: "ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}
#recruit_entry #mfp_confirm_table tr{
    background: #FFF !important;
}
/* 内容確認画面のテーブルのデザイン */
#recruit_entry #mfp_confirm_table th,
#recruit_entry #mfp_confirm_table td {
    border-left: none !important;
    padding: 15px 20px !important;
}
#recruit_entry #mfp_confirm_table th {
    color: #555;
    font-size: 14px !important;
}
#recruit_entry table#mfp_confirm_table tr td {
    padding:15px 20px;
    font-size: 14px !important;
}
#recruit_entry div#mfp_phase_confirm h4 {
    color: #036;
    font-size: 20px !important;
    margin-bottom: 20px;
}
/*-内容確認キャンセルボタン-*/
#recruit_entry div.mfp_buttons button#mfp_button_cancel{
    margin-left: 16px;
}

/*-------------------------------------
        各部署案内
--------------------------------------*/

/*-- 共通 --*/

#division #mainimage {
    background:url(../Images/division/h2_bg.jpg) no-repeat;
    background-size:cover;
}
#division .div_nav {
    background: url(../Images/division/nav_bg.png);
    padding: 50px 0 35px;
}
#division .div_nav ul {
    width:1100px;
    margin:0 auto;
}
#division .div_nav li {
    float: left;
    width: 325px;
    height: 120px;
    padding: 10px;
    margin-right: 32.5px;
}
#division .div_nav li:nth-child(1) {
    background:url(../Images/division/div_nav01.jpg) no-repeat;
}
#division .div_nav li:nth-child(2) {
    background:url(../Images/division/div_nav02.jpg) no-repeat;
}
#division .div_nav li:nth-child(3) {
    background:url(../Images/division/div_nav03.jpg) no-repeat;
    margin-right: 0;
}
#division .div_nav li a {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    outline: none;
    overflow: hidden;
    padding: 45px 0;
}
#division .div_nav li a::before,
#division .div_nav li a::after {
    position: absolute;
    display: block;
    content: '';
    width: 100%;
    height: 100%;
    transition: all .5s;
}
#division .div_nav li a::before {
    top: 0;
    left: 0;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
}
#division .div_nav li a::after {
    right: 0;
    bottom: 0;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
}
#division .div_nav li.on a,
#division .div_nav li a:hover {
    background-color: rgba(74,132,176,0.8);
    transition: all .7s;
}
#division .div_nav li.on a::before,
#division .div_nav li.on a::after,
#division .div_nav li a:hover::before,
#division .div_nav li a:hover::after {
    width: 0;
    height: 0;
    opacity: 0;
    transition: all .7s;
}
#division .div_nav li .tArea p {
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.08em;
}
#division .div_nav li .tArea p span {
    color: #ccc;
    font-weight: normal;
    font-size: 13px;
    font-family: 'Noto Sans', sans-serif;
    letter-spacing: 0.12em;
    display: block;
}
#division h3.blue_ttl {
    color: #1c5d9f;
    font-size: 24px;
    line-height: 1.3;
    letter-spacing: 0.08em;
    border-bottom: 4px solid #1c5d9f;
    position: relative;
    display: inline-block;
    padding: 0 4px 3px 3px;
    margin-bottom: 30px;
}
#division h3.blue_ttl:after {
    position: absolute;
    bottom: -4px;
    left: 0;
    z-index: 2;
    content: '';
    width: 900px;
    height: 4px;
    background-color: rgba(21, 86, 147, 0.20);
}
#division h3.blue_ttl span {
    color: #555;
    font-size: 14px;
    font-family: 'Noto Sans', sans-serif;
    letter-spacing: 0.12em;
    display: inline-block;
    margin-left: 15px;
}
#division .gray_ttl {
    color: #666;
    font-size: 18px;
    font-weight: bold;
    border-left: #666 3px solid;
    padding: 0px 0 2px 10px;
    margin-bottom: 20px;
}
#division .imgArea {
    text-align:center;
}
#division .imgArea p.img_name {
    color: #fff;
    background-color: #036;
    padding: 5px 0;
}

/*-- 一覧 --*/

#division_top ul {
    width: 800px;
    margin: 0 auto;
}
#division_top ul li {
    height: 210px;
    padding: 20px;
    margin-bottom: 30px;
}
#division_top ul li:nth-child(1) {
    background:url(../Images/division/div_img01.jpg) no-repeat;
}
#division_top ul li:nth-child(2) {
    background:url(../Images/division/div_img02.jpg) no-repeat;
}
#division_top ul li:nth-child(3) {
    background:url(../Images/division/div_img03.jpg) no-repeat;
    margin-bottom: 0;
}
#division_top ul li a {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    outline: none;
    overflow: hidden;
    padding: 66px 35px;
}
#division_top ul li a::before,
#division_top ul li a::after {
    position: absolute;
    display: block;
    content: '';
    width: 100%;
    height: 100%;
    transition: all .5s;
}
#division_top ul li a::before {
    top: 0;
    left: 0;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
}
#division_top ul li a::after {
    right: 0;
    bottom: 0;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
}
#division_top ul li a:hover {
    background-color: rgba(74,132,176,0.8);
    transition: all .7s;
}
#division_top ul li a:hover::before,
#division_top ul li a:hover::after {
    width: 0;
    height: 0;
    opacity: 0;
    transition: all .7s;
}
#division_top ul li .tArea h3 {
    float:left;
    color:#fff;
    line-height: 2.8;
    margin-right: 35px;
}
#division_top ul li:nth-child(2) .tArea h3 {
    float:right;
    margin-left: 35px;
    margin-right:0;
}
#division_top ul li .tArea h3 span {
    color: #ccc;
    font-weight: normal;
    margin-top: 5px;
}
#division_top ul li .tArea p {
    float: left;
    color: #fff;
    line-height: 1.8;
    letter-spacing: 0.05em;
    padding: 0;
}
#division_top ul li:nth-child(2) .tArea p {
    float: right;
}
#division_top ul li .tArea .more {
    float: right;
    padding: 24.5px 0;
}
#division_top ul li:nth-child(2) .tArea .more {
    float: left;
}
#division_top ul li a:hover .tArea .more {
    display:block;
}

/*-- 営業部 --*/

#division_sales {
    width:900px;
    margin:0 auto;
}
#division_sales .imgArea {
    float: right;
    margin: 0 0 10px 40px;
}
#division_sales #sec01 dd {
    font-size: 15px;
    line-height: 1.8;
    margin-bottom:45px;
}
#division_sales #sec01 dd p {
    margin-bottom: 20px;
}
#division_sales #sec01 dd .bg_list {
    background-color: #f5f5f5;
    padding: 20px 30px;
}
#division_sales #sec01 dd .bg_list .ttl {
    color: #666;
    font-weight: bold;
    background: url(../Images/common/arrow_gray.png) left center no-repeat #f3f3f3;
    padding-left: 25px;
    margin-bottom: 5px;
}
#division_sales #sec01 dd .bg_list li {
    font-size:14px;
}
#division_sales #sec01 dd .bg_list li:before {
    content: '';
    width: 4px;
    height: 4px;
    display: inline-block;
    border-radius: 100%;
    background: #1a5b9c;
    position: relative;
    left: 5px;
    top: -3px;
    margin-right: 15px;
}

/*-- 貿易部 --*/

#division_trade {
    width:900px;
    margin:0 auto;
}
#division_trade .imgArea {
    float: left;
    margin: 0 40px 10px 0;
}
#division_trade .tArea p {
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 20px;
}
#division_trade .tArea p:last-child {
    margin-bottom:0;
}

/*-- 経理部 --*/

#division_clerk {
    width:900px;
    padding:80px 0 0;
    margin:0 auto;
}
#division_clerk .inner {
    padding:0 0 80px;
}
#division_clerk .clerk_inner .top_txt {
    font-size: 16px;
    margin-bottom: 30px;
}
#division_clerk .clerk_inner dl {
    margin-bottom:45px;
}
#division_clerk .clerk_inner dl dd {
    font-size: 15px;
    line-height: 1.8;
}
#division_clerk .clerk_inner dl dd > p {
    margin-bottom: 20px;
}
#division_clerk .clerk_inner dl dd .bg_list {
    background-color: #f5f5f5;
    padding: 20px 30px;
}
#division_clerk .clerk_inner dl dd .bg_list .ttl {
    color: #666;
    font-weight: bold;
    background: url(../Images/common/arrow_gray.png) left center no-repeat #f3f3f3;
    padding-left: 25px;
    margin-bottom: 5px;
}
#division_clerk .clerk_inner dl dd .bg_list li {
    font-size:14px;
}
#division_clerk .clerk_inner dl dd .bg_list li:before {
    content: '';
    width: 4px;
    height: 4px;
    display: inline-block;
    border-radius: 100%;
    background: #1a5b9c;
    position: relative;
    left: 5px;
    top: -3px;
    margin-right: 15px;
}
#division_clerk #sec02 .imgArea {
    margin-bottom:45px;
}

/*-------------------------------------
        プライバシーポリシー
--------------------------------------*/

#privacypolicy #mainimage {
    background:url(../Images/under/h2_bg.jpg) no-repeat;
    background-size:cover;
}
#privacypolicy #sec01 {
    width:800px;
    margin:0 auto;
}
#privacypolicy #sec01 .top_txt {
    margin-bottom:30px;
}
#privacypolicy #sec01 .top_txt a {
    color:#4a84b0;
    letter-spacing:0.05em;
    display:inline-block;
    position: relative;
    padding:0 2px;
}
#privacypolicy #sec01 .top_txt a:after {
    content: "";
    width: 0;
    background: #003366;
    transition: .24s all ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    position: absolute;
    left: 0;
    bottom: -0.03em;
}
#privacypolicy #sec01 .top_txt a:hover {
    color:#18426f;
}
#privacypolicy #sec01 .top_txt a:hover:after {
    width: 100%;
    height: .15rem;
}
#privacypolicy #sec01 ul.sec01_list > li {
    margin-bottom:30px;
}
#privacypolicy #sec01 li h3 {
    color: #1c5d9f;
    font-size: 18px;
    line-height: 1.3;
    letter-spacing: 0.08em;
    border-bottom: 4px solid #1c5d9f;
    position: relative;
    display: inline-block;
    padding: 0 4px 3px 3px;
    margin-bottom: 20px;
}
#privacypolicy #sec01 li h3:after {
    position: absolute;
    bottom: -4px;
    left: 0;
    z-index: 2;
    content: '';
    width: 800px;
    height: 4px;
    background-color: rgba(21, 86, 147, 0.20);
}
#privacypolicy #sec01 li .num_list {
    margin-top:15px;
}
#privacypolicy #sec01 li .num_list > li {
    list-style: outside decimal;
    padding: 0 0 0 0.5em;
    margin: 0 0 3px 2em;
}
#privacypolicy #sec01 li table {
    width: 100%;
}
#privacypolicy #sec01 li table th {
    width: 20%;
    border-right: #fff 3px solid;
    border-bottom: #fff 3px solid;
    background-color: #ddd;
    padding: 15px 20px;
}
#privacypolicy #sec01 li table td {
    border-bottom: #fff 3px solid;
    background-color: rgba(221,221,221,0.5);
    padding: 15px 20px;
}
#privacypolicy #sec01 li:last-child {
    margin-bottom:0;
}

/*-------------------------------------
        サイトマップ
--------------------------------------*/

#sitemap #mainimage {
    background:url(../Images/under/h2_bg.jpg) no-repeat;
    background-size:cover;
}
#sitemap #sec01 {
    width:1100px;
    margin:0 auto;
}
#sitemap #sec01 .sec01_list {
    float:left;
    width:330px;
    margin-right:55px;
}
#sitemap #sec01 .sec01_list:last-child {
    margin-right:0;
}
#sitemap #sec01 .sec01_list > li {
    margin-bottom:20px;
}
#sitemap #sec01 ul li a {
    width: 100%;
    color: #333;
    box-sizing: border-box;
    padding: 15px 20px 15px 50px;
}
#sitemap #sec01 .sec01_list > li a {
    color: #fff;
    background: url(../Images/common/arrow_white.png) left 20px center no-repeat #003366;
}
#sitemap #sec01 .inner_list {
    margin-top:4px;
}
#sitemap #sec01 .inner_list li {
    margin-bottom: 4px;
}
#sitemap #sec01 .inner_list li a {
    color: #333;
    background: url(../Images/common/arrow_gray.png) left 20px center no-repeat #f3f3f3;
}
#sitemap #sec01 li:last-child {
    margin-bottom:0;
}
#sitemap #sec01 li a:hover {
    color: #fff;
    background: url(../Images/common/arrow_white.png) left 20px center no-repeat #4a84b0;
}


/*-------------------------------------
        アクセスマップ
--------------------------------------*/

#access #mainimage {
    background:url(../Images/under/h2_bg.jpg) no-repeat;
    background-size:cover;
}
#access #gMap {
    width: 100%;
    height: 500px;
    margin: 0 auto;
}

/*-------------------------------------
        お問い合わせ
--------------------------------------*/

#contact #mainimage {
    background:url(../Images/under/h2_bg.jpg) no-repeat;
    background-size:cover;
}
#contact #sec01 {
    background-color:#ddd;
}
#contact #sec01 .sec01_inner {
    width:1000px;
    margin:0 auto;
}
#contact #sec01 .top_txt {
    font-size:16px;
    text-align:center;
    line-height:1.8;
    margin-bottom:50px;
}
#contact #mailformpro {
    padding: 0;
}
#contact .mfp_phase {
    margin-bottom:40px;
}
#contact #sec01 table {
    width:470px;
}
#contact #sec01 table.table01 {
    float:left;
}
#contact #sec01 table.table02 {
    float:right;
}
#contact #sec01 table .mfp {
    width: 100%;
    text-align: left;
    box-sizing: border-box !important;
    display: block;
}
#contact #sec01 table th {
    line-height: 1.35;
    border-left: solid 3px #003366;
    padding: 2px 0 2px 10px;
    margin-bottom: 10px;
}
#contact #sec01 .table02 th {
    margin-bottom: 9px;
}
#contact #sec01 table th span.must-fill {
    color: #fff;
    font-size: 12px;
    letter-spacing: 0.2em;
    background-color: rgba(193,14,17,1.00);
    display: inline-block;
    padding: 1px 7px 2px;
    margin-left: 10px;
}
#contact #sec01 table th span.not-must-fill {
    background-color: #555;
}
#contact #sec01 table td {
    margin-bottom: 30px;
}
#contact #sec01 .table02 td {
    margin-bottom: 20px;
}
#contact #sec01 table td input,
#contact #sec01 table td textarea {
    border: none;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 15px 15px;
}
#contact #sec01 .table02 td input,
#contact #sec01 .table02 td textarea {
    padding: 10px 15px;
}
#contact #sec01 table td ul li {
    margin-bottom:3px;
}
#contact #sec01 table td ul li:last-child {
    margin-bottom:0;
}
#contact #sec01 table td ul li span {
    float: left;
    padding-top: 4px;
}
#contact #sec01 table td ul li input,
#contact #sec01 table td ul li select {
    float:right;
    width: 397px !important;
    border: none;
    padding: 5px 10px !important;
}
#contact .mfp_buttons {
    text-align: center;
    padding: 0;
}
#contact button {
    color: #fff;
    font-size: 17px;
    font-family: "游ゴシック","YuGothic", "游ゴシック体","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: bold;
    letter-spacing: 0.1em;
    background: #003366;
    border: none;
    border-radius: 0 !important;
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    transition: .3s;
    padding: 10px 45px;
}
#contact button:hover {
    background: #333;
    cursor:pointer;
}

/*mailformproを使用する場合、エラーメッセージなどのエフェクトがうざい場合は以下を使ってください。must-fillはサイト毎に変更必要です。*/

/* フォーム部品のボックスシャドウ打消し */
#contact .mfp_element_text, #contact .mfp_element_number, #contact .mfp_element_select-one, #contact .mfp_element_email, #contact .mfp_element_tel, #contact .mfp_element_textarea {
    box-shadow:none;
}
/* 入力エラーのチカチカなし、文字色 */
#contact div.mfp_err {
    background:none;
    padding-left:0;
    color:#f26;
    font-weight:bold;
}
/* エラー箇所のフォーム部品を色つきで強調 */
#contact .problem {
    background-color:#fdd;
}
/* 入力OKのエフェクト */
#contact div.mfp_ok {
    background-color:#ff7500;
    border-color:#ff7500;
    font-size:12px;
}
/* チェックボックスのエフェクト打消し */
#contact form#mailformpro label.mfp_not_checked {
    padding:0;
    border:none;
}
#contact form#mailformpro label.mfp_checked {
    padding:0;
    border:none;
    background:none;
}
/* ボタンのエフェクト打消し */
#contact .mfp_element_submit, .mfp_element_reset, .mfp_element_button{
    text-shadow:none;
}
/* 内容確認画面のテーブルを全幅 */
#contact #mfp_confirm_table{
    font-family: "ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}
#contact #mfp_confirm_table tr{
    background: #FFF !important;
}
/* 内容確認画面のテーブルのデザイン */
#contact #mfp_confirm_table th,
#contact #mfp_confirm_table td {
    border-left: none !important;
    padding: 15px 20px !important;
}
#contact #mfp_confirm_table th {
    color: #555;
    font-size: 14px !important;
}
#contact table#mfp_confirm_table tr td {
    padding:15px 20px;
    font-size: 14px !important;
}
#contact div#mfp_phase_confirm h4 {
    color: #036;
    font-size: 20px !important;
    margin-bottom: 20px;
}
/*-内容確認キャンセルボタン-*/
#contact div.mfp_buttons button#mfp_button_cancel{
    margin-left: 16px;
}

/*-------------------------------------
    お問い合わせ・採用フォーム送信完了
--------------------------------------*/

#thanks #mainimage {
    background:url(../Images/under/h2_bg.jpg) no-repeat;
    background-size:cover;
}
#thanks .thanks_inner {
    width: 800px;
    text-align: center;
    padding: 80px 0;
    margin: 0 auto;
}
#thanks .thanks_inner p {
    font-size:16px;
    line-height: 1.8;
    margin-bottom:40px;
}
#thanks .thanks_inner a {
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.1em;
    background: #003366;
    border: none;
    border-radius: 0 !important;
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    transition: .3s;
    padding: 10px 45px;
}
#thanks .thanks_inner a:hover {
    background: #333;
    cursor:pointer;
}

/*-------------------------------------
        お知らせ
--------------------------------------*/

#topics #mainimage {
    background:url(../Images/topics/h2_bg.jpg) no-repeat;
    background-size:cover;
}
#topics #sec01 ul li {
    position:relative;
}
#topics #sec01 ul li a {
    width: 640px;
    padding: 25px 30px;
    border-bottom: 1px solid #ddd;
}
#topics #sec01 ul li a:hover {
    background-color:#f5f5f5;
}
#topics #sec01 ul li a:hover:after {
    content: url(../Images/common/arrow_more.png);
    position:absolute;
    right: 30px;
    top:50%;
    -webkit-transform: translate(0,-50%);
    -moz-transform: translate(0,-50%);
    -ms-transform: translate(0,-50%);
    -o-transform: translate(0,-50%);
    transform: translate(0,-50%);
}
#topics #sec01 ul li dl dt {
    float: left;
    color: #555555;
    font-size: 13px;
    font-weight: bold;
    letter-spacing: 0.08em;
}
#topics #sec01 ul li dl dd {
    width: 400px;
    margin-left: 150px;
}
#topics #sec01 .single_box p {
    margin-bottom: 20px
}
#topics #sec01 .single_box h4 {
    color: #666;
    font-size: 16px;
    font-weight: bold;
    border-left: #666 3px solid;
    padding-left: 8px;
    margin-bottom: 10px;
}
#topics #sec01 .single_box img {
    max-width: 100%;
    width: 42%;
    height: auto;
}
#topics #sec01 .single_box img.alignleft {
    float: left;
    margin: 5px 15px 15px 0;
}
#topics #sec01 .single_box img.alignright {
    float: right;
    margin: 5px 0 15px 15px;
}

/*-------------------------------------
        404
--------------------------------------*/
#not_found #mainimage {
    background:url(../Images/company/h2_bg.jpg) no-repeat;
    background-size:cover;
}
#not_found #sec01 {
    width: 800px;
    margin: 0 auto;
}
#not_found #sec01 .txt {
    font-size: 16px;
    text-align: center;
}

/*add*/

#access #sec01 {
    width:1100px;
    margin:0 auto;
}
#access .map_con {
    letter-spacing: -0.4em;
    margin: 0;
    padding: 0;
}
#access .map_con .map_box {
    display: inline-block;
    letter-spacing: normal;
    box-sizing: border-box;
    vertical-align: top;
    width: 48%;
    margin-right: 4%;
    overflow: hidden;
}
#access .map_con .map_box:last-child {
    margin-right: 0;
}
#access h3 {
    color: #1c5d9f;
    font-size: 20px;
    line-height: 1.3;
    letter-spacing: 0.08em;
    border-bottom: 4px solid #1c5d9f;
    position: relative;
    display: inline-block;
    padding: 0 4px 3px 3px;
    margin-bottom: 20px;
}
#access h3:after {
    position: absolute;
    bottom: -4px;
    left: 0;
    z-index: 2;
    content: '';
    width: 700px;
    height: 4px;
    background-color: rgba(21, 86, 147, 0.20);
}
#access .googleMap {
    display: block;
    position: relative;
    padding: 0;
    margin: 0;
}
#access .googleMap iframe {
    filter: saturate(1) brightness(1.00);
    margin-bottom: -6px;
}
#access .googleMap:after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: #4a84b0;
    position: absolute;
    top: 0;
    left: 0;
    mix-blend-mode: hue;
    pointer-events: none;
}
#company_organization .imgArea img {
    width: 100%;
    height: auto;
}
/*20231222*/
#company_policy #sec01 .num_list {
    margin:0 0 25px;
}
#company_policy #sec01 .num_list > li {
    list-style: outside decimal;
    padding: 0 0 0.5em 0.5em;
    margin: 0 0 0 2em;
}
#company_policy #sec01 .num_list > li:last-child {
    padding-bottom:0;
}

}