@charset "utf-8";
@media screen and (min-width: 1201px) { html{font-size:16px; } }@media screen and (max-width: 1200px) { html{font-size:15px; } }@media screen and (max-width: 1024px) { html{font-size:14px; } }@media screen and (max-width: 768px) {  html{font-size:13px; } }@media screen and (max-width: 480px) {  html{font-size:12px; } }a,a:visited,a:active { color:#333333FF}a:hover { color:#bababaFF}
/* css setting */
/*　==============================　採用欄非表示（期間限定対応）　==============================　*/
.rec_none {
     display:none;
}
/*　
ホーム「採用ボタン」
お問い合わせフォーム「採用情報に関するお問い合わせ」
フッターサイトマップ
*/

/*　==============================　HOME　==============================　*/

.bp_lb {
     background-position: left bottom;
background-repeat:no-repeat; 
}

.bp_rt {
     background-position: right top;
background-repeat:no-repeat; 
}

/* HOME area_02 */
@media screen and (min-width: 769px) { .top_area02_space{ padding-top:45vh;} }
@media screen and (max-width: 768px) { .top_area02_space{ padding-top:30vh;} }
@media screen and (max-width: 480px) { .top_area02_space{ padding-top:35vh;} }
/* HOME area_03 */
@media screen and (min-width: 1025px) { .top_area03_space{ padding-top:230px;} }
@media screen and (max-width: 1024px) { .top_area03_space{ padding-top:170px;} }
@media screen and (max-width: 768px) { .top_area03_space{ padding-top:50px;} }
@media screen and (max-width: 480px) { .top_area03_space{ padding-top:60px;} }


/*　企業情報ボタン　*/

@media screen and (min-width: 769px) {.top_com_btn .fs_btn_text {padding:15vh 0; } }
@media screen and (max-width: 768px) {.top_com_btn .fs_btn_text {padding:10vh 0; } }

.top_com_btn .fs_btn {
line-height: 1.4rem;
background-color: rgba(7,39,94,0.75);
}
.top_com_btn .fs_btn:hover {
background-color: rgba(7,39,94,0.15);
}




/*　----------　コンテンツボタン　----------　*/

.home_btn .fs_btn_text_main , .maru_btn .fs_btn_text_main , .top_com_btn .fs_btn_text_main {
font-size:1.2rem;
font-weight: bold;
}
.home_btn .fs_btn_text_sub , .maru_btn .fs_btn_text_sub  , .top_com_btn .fs_btn_text_sub {
font-size:0.9rem;
}
.home_btn .fs_btn{
line-height: 1.4rem;
background-color: rgba(85,99,105,0.45);
}
.home_btn .fs_btn:hover {
background-color: rgba(85,99,105,0.05);
}

.maru_btn .fs_btn{
line-height: 1.4rem;
-moz-border-radius: 2rem 0 2rem 2rem;
-webkit-border-radius: 2rem 0 2rem 2rem;
-o-border-radius: 2rem 0 2rem 2rem;
-ms-border-radius: 2rem 0 2rem 2rem;
}
.maru_btn1 .fs_btn{
-moz-border-radius: 1rem 0 1rem 1rem;
-webkit-border-radius: 1rem 0 1rem 1rem;
-o-border-radius: 1rem 0 1rem 1rem;
-ms-border-radius: 1rem 0 1rem 1rem;
}

/*　お知らせ一覧　*/

.top_news_list a {
color:#07275e;
}
.top_news_list dl {
border-bottom: 1px solid #07275e !important;
padding: 0.75rem;
}
.top_news_list dd {
border-left: 0px !important;
padding-left:0% !important;
}
/*.top_news_list dl:nth-child(2n+1) {
background: rgba(30,30,30,0.15);
}*/
.top_news_list .entryData {
padding: 0.5rem 0;
font-weight: bold;
margin:0 1rem;
}
.top_news_list .entryData {
text-align: left;
}
.top_news_list .entryData{
text-align: center;
background:#07275e;
color:#fff;
}
.top_news_list a:hover {
opacity:0.7;
transition:0.6s;
}
.top_news_list .entryTitle {
font-size:1.2rem;
font-weight: bold;
}
.top_news_list dl:last-child {
border-bottom: 1px solid #fff;
}

/*　背景関連　*/

@media screen and (max-width: 480px) {
.sp_bg_blue
{
background-color: rgba(7,39,94,1)!important; }
}
@media screen and (max-width: 480px) {
.sp_bg_green
{
background-color: rgba(16,128,60,0.75)!important; }
}


/*　==============================　ABOUT　==============================　*/

.eiji_btn .fs_btn{
line-height: 1.4rem;
}
.eiji_btn .fs_btn_text_main {
font-size:1.2rem;
letter-spacing: 0.1rem;
}
.eiji_btn .fs_btn_text_sub {
font-size:0.9rem;
}

.about_btn .fs_btn_text_main {
font-size:1.1rem;
}
.about_btn .fs_btn_text_sub {
font-size:0.9rem;
}
.about_btn .fs_btn{
line-height: 1.4rem;
background-color: rgba(74,167,52,0.9);
}
.about_btn .fs_btn:hover {
background-color: rgba(74,167,52,0.75);
}


.about_sankaku{
width: 0;
height: 0;
border: 2rem solid transparent;
border-top: 2rem solid #10803c;
margin: 0 auto;
}

/*　==============================　BUSINESS　==============================　*/

.flow_sankaku{
width: 0;
height: 0;
border: 1.5rem solid transparent;
border-top: 1.5rem solid #07275e;
margin: 0 auto;
}

/*　事業紹介ボタン　*/

@media screen and (min-width: 769px) {.bus_btn .fs_btn_text {padding:14vh 0; } }
@media screen and (max-width: 768px) {.bus_btn .fs_btn_text {padding:8vh 0; } }

.bus_btn .fs_btn_text {
text-align: right!important;
}
.bus_btn .fs_btn_text_sub {
opacity:0;
}
.bus_btn .fs_btn_text:hover .fs_btn_text_sub {
opacity:1;
}
.bus_btn .fs_btn {
background-color: rgba(7,39,94,0.0);
}
.bus_btn .fs_btn:hover {
background-color: rgba(7,39,94,0.75);
}


/*　工場設備　*/

.fac_left {
font-size: 1rem;
vertical-align: top;
padding: 1rem ;
width: 88%;
text-align: justify;
}
.fac_right {
text-align: right;
padding: 1rem 1rem 1rem 0;
vertical-align: middle;
width: 12%;
}
.fac_tr{
border-top:1px solid #fff;
}
.fac_tr:first-child{
border:none;
}

/*　----------　商品紹介　----------　*/

.pro_table_list{
border-bottom: 1px solid #ccc;
padding-bottom: 0.5rem;
}
.pro_table_list:last-child{
padding-bottom:0.5rem;
}
.pro_contents {
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
flex-flow: row nowrap;
justify-content: flex-start;
align-items: flex-start;
width: 100%;
padding: 1rem 0rem 0.5rem 0rem;
}
.pro_contents dt{
padding: 0rem 1rem 0rem 0rem;
width: 240px;
     font-weight: bold;
}
.pro_contents dd{
text-align: left;
padding: 0rem 0rem 0rem 0rem;
width: calc(100% - 240px);
}
@media screen and (max-width: 768px){
.pro_contents {
flex-flow: column wrap;
justify-content: flex-start;
align-items: flex-start;
width: 100%;
padding: 0.8rem 0rem 0.4rem 0rem;
}
.pro_contents dt{
padding: 0rem 0rem 0.4rem 0rem;
width: 100%;
}
.pro_contents dd{
padding: 0rem 0rem 0rem 0rem;
width: 100%;
}
}

/*　----------　製品紹介　----------　*/

.pro02_table_list{
border-bottom: 1px solid #f5f5f5;
}
.pro02_table_list:last-child{
border-bottom: 0px solid #ccc;
}
.pro02_contents {
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
flex-flow: row nowrap;
justify-content: flex-start;
align-items: flex-start;
width: 100%;
}
.pro02_contents dt{
padding: 1rem;
width: 240px;
background:#999;
color:#fff;
     font-weight: bold;
}
.pro02_contents dd{
text-align: left;
padding: 1rem 0rem 1rem 1rem;
width: calc(100% - 240px);
}
@media screen and (max-width: 768px){
.pro02_contents {
flex-flow: column wrap;
justify-content: flex-start;
align-items: flex-start;
width: 100%;
}
.pro02_contents dt{
padding: 1rem;
width: 100%;
}
.pro02_contents dd{
padding: 1rem 0rem 1rem 1rem;
width: 100%;
}
}


/*　==============================　SYSTEM　==============================　*/

.system_sankaku{
width: 0;
height: 0;
border: 2rem solid transparent;
border-top: 2rem solid #fff;
margin: 0 auto;
}

.system_sankaku02{
width: 0;
height: 0;
border: 2rem solid transparent;
border-top: 2rem solid #ededed;
margin: 0 auto;
}

/*　==============================　COMPANY　==============================　*/


/*　会社概要テーブル　*/
.outline_table{
border: none;
width: 100%;
}
.outline_table th{
color: #07275e;
font-weight: normal;
border-top: #07275e 1px solid;
padding: 1rem 0;
vertical-align: top;
width: 162px;
}
.outline_table td{
border-top: #cccccc 1px solid;
padding: 1rem 0 1rem 1rem;
vertical-align: top;
width: calc(100% - 162px);
}
@media only screen and (max-width: 768px){
.outline_table th{
width: 30%;
}
.outline_table td{
width: 70%;
}
}
/*　沿革テーブル　*/
.history_table{
border: none;
width: 100%;
}
.history_table th{
color: #07275e;
font-weight: normal;
border-top: #07275e 1px solid;
padding: 1rem 0;
vertical-align: top;
width: 162px;
}
.history_table td{
border-top: #cccccc 1px solid;
padding: 1rem 0 1rem 1rem;
vertical-align: top;
width: calc(100% - 162px);
}
@media only screen and (max-width: 768px){
.history_table th{
width: 30%;
}
.history_table td{
width: 70%;
}
}
@media only screen and (min-width: 480px){
.history_table th br {
display:none;
}
}

/*　企業情報ボタン　*/

@media screen and (min-width: 769px) {.comp_btn .fs_btn_text {padding:20vh 0; } }
@media screen and (max-width: 768px) {.comp_btn .fs_btn_text {padding:15vh 0; } }

.comp_btn .fs_btn_text {
text-align: right!important;
}
.comp_btn .fs_btn_text_sub {
opacity:0;
}
.comp_btn .fs_btn_text:hover .fs_btn_text_sub {
opacity:1;
}
.comp_btn .fs_btn {
background-color: rgba(7,39,94,0.75);
}
.comp_btn .fs_btn:hover {
background-color: rgba(7,39,94,0.15);
}

/*　メッセージ　*/

@media screen and (max-width: 768px) {.message_bg {padding:25vh!important; } }


/*　==============================　RECRUIT　==============================　*/

.rec_table{
border: none;
width: 100%;
}
.rec_table th{
background-color: #999;
color: #fff;
font-weight: normal;
border-top: #f5f5f5 1px solid;
padding: 1rem ;
vertical-align: top;
width: 162px;
}
.rec_table td{
border-top: #f5f5f5 1px solid;
padding: 1rem ;
vertical-align: top;
width: calc(100% - 162px);
}
@media only screen and (max-width: 768px){
.rec_table th{
width: 30%;
}
.rec_table td{
width: 70%;
}
}

/*　特徴　*/

.win_left {
font-size: 1.2rem;
vertical-align: middle;
width: 12%;
text-align: center;
color:#10803c;
}
.win_right {
text-align: justify;
padding: 2rem 2rem 2rem 0;
vertical-align: top;
width: 88%;
}
.win_tr{
border-bottom:1px solid #ebebeb;
}



/*　==============================　CONTACT　==============================　*/

.formBlockSurveyTable dl dt {
color: #777777;
text-align: left;
width:100%;
margin-right: 0%!important;
}
.formBlockSurveyTable dl dd {
width: 100%;
}
.formBlockSurveyTable dl {
padding: 1% 0;
}
.formBlockSurveyTable dl dd input,
.formBlockSurveyTable dl dd textarea {
width: 96%;
resize: none;
border-radius: 0;
padding: 2%;
}
.formBlockSubmitButton {
width:100%!important;
text-align:center!important;
background-color: #777!important;
color:#fff;
}
.formBlockSubmitButton:hover {
background-color: #07275e!important;
color:#fff;
transition:0.6s;
}
.on-pointer input {
cursor: pointer;
}
@media screen and (max-width: 498px) {
.formBlockSurveyTable dl dd input,
.formBlockSurveyTable dl dd textarea {
width: 100%;
}
}

/*　==============================　お知らせ　==============================　*/

#fsInfoBlock a {
font-weight: bold;
}

.news_list a {
color:#07275e;
}

/*　———　シェアボタン　———　*/

.fs-snsbutton-color1 .twitter-btn-icon,
.fs-snsbutton-color1 .facebook-btn-icon {
background-color: #999999;
}

.fs-snsbutton-color1 .twitter-btn-icon:hover ,
.fs-snsbutton-color1 .facebook-btn-icon:hover {
background-color: #666666;
transition:0.5s;
}

/*　--------------------　カレンダーの設定　--------------------　*/
div.cal_wrapper table.cal tr th div.cal_ui input {
border: solid 1px #fff;
}

/*曜日部分*/

div.cal_wrapper table.cal tr.headline td {
padding: 5px 0px;
color: #ffffff;
}

div.cal_wrapper table.cal tr.headline {
background-color: #07275e;
}


/*更新日部分*/

div.cal_wrapper table.cal tr td div.Birthday {
font-weight: bolder;
background-color: #10803c;
color: #ffffff;
border-radius: 0%;
}

div.cal_wrapper table.cal tr td div.pointer:hover {
background-color: #d8d33a;
}

div.cal_wrapper table.cal tr td div span {
display: none;
position: absolute;
top: 30px;
left: 0px;
width: 180px;
border: none;
background-color: #ffffff;
text-align: left;
padding: 5px;
z-index: 10;
color: #ffffff;
font-weight: normal;
line-height: 1.8em;
box-shadow: none;
}

div.cal_wrapper table.cal tr td {
font-size: 10px;
text-align: center;
padding: 0px;
}

div.cal_wrapper table.cal tr td div {
position: relative;
padding: 6px 10px;
font-size: 0.7rem;
text-align: center;
background-color: #FFF;
border-radius: 0%;
}

/*　==============================　ヘッダー　==============================　*/

/*
#header-2-1{
background: #fff;
-moz-border-radius: 0 0 1rem 1rem;
-webkit-border-radius: 0 0 1rem 1rem;
-o-border-radius: 0 0 1rem 1rem;
-ms-border-radius: 0 0 1rem 1rem;
}
*/

/*　--------------------　PC用（オートナビ）に関する設定　--------------------　*/
.h_pc_navi a {
position: relative;
display: inline-block;
transition: .3s;
}
.h_pc_navi a::after{
position: absolute;
bottom: 0;
left: 0;
content: '';
width: 0;
height: 5px;
background-color: #d01f18;
transition: .3s;
}
.h_pc_navi a:hover::after {
width: 100%;
}

.h_pc_navi .fsNavMenuList li:first-child {
    padding: 0.7rem 0;
    vertical-align: top;
}

/*
.h_pc_navi .fsNavMenuList li:first-child {
display:none;
}
*/

/*　--------------------　SP用（Fatナビ）に関する設定　--------------------　*/

.fat-nav li {
list-style-type: none;
text-align: left;
padding: 2rem 1rem;
font-size: 1.2rem;
line-height: 1.3rem;
border-bottom: 1px solid #10803c;
}
.fat-nav li a {
border-bottom: 0px solid #fff;
}
.fat-nav li .sub_title{
font-size: 0.9rem;
font-weight: normal;
}

.fat-nav{
background: rgba(7, 39, 94, 0.96);
}

.hamburger .hamburger__icon, .hamburger .hamburger__icon:before, .hamburger .hamburger__icon:after {
background-color: #fff;
}

.topfix_A {
position: absolute;
z-index: 100;
top: 0;
right: 0;
}
.topfix_B {
position: absolute;
z-index: 10;
top: 0;
right: 0;
}

/*　==============================　フッター　==============================　*/



/*　———　サイトマップ　———　*/

.sitemap_line {
border-top:1px solid #0a3784;
}

.sitemap_left {
padding: 0.5rem 0.5rem 0.25rem 0;
vertical-align: middle;
width:22%;
font-weight: bold;
color:#10803c;
}
.sitemap_right {
padding: 1rem 0;
vertical-align: middle;
width:78%;
font-size:0.85rem;
}

/*　———　フッターで使用するボタン　———　*/
.f_btn .fs_btn_text_main {
font-size:1.2rem;
font-weight: bold;
}
.f_btn .fs_btn_text_sub {
font-size:0.8rem;
}
.f_btn .fs_btn{
line-height: 1.4rem;
}

/*　———　リンクカラー　———　*/

.f_link a {
position: relative;
display: inline-block;
transition: .3s;
color:#fff;
}
.f_link a::after{
position: absolute;
bottom: 0;
left: 0;
content: '';
width: 0;
height: 2px;
background-color: #d01f18;
transition: .3s;
}
.f_link a:hover::after{
width: 100%;
}

.f_link .fsNavMenuList li:first-child {
display:none;
}

/*　———　ページトップボタン　———　*/

.pagetop_btm{
position: fixed;
z-index: 20;
bottom: 0;
right: 0;
}
.pagetop_btm .fs_btn{
background-color:#10803c;
line-height: 1rem;
}
.pagetop_btm_sp {
background-color:#10803c;
}


/*　==============================　色に関する設定　==============================　*/

.opacity {
opacity: 0.9;
}

.opacity30 {
opacity: 0.3;
}


.main_color {
color: #7a8e96;
}

.main_color2 {
color: #556369;
}

.main_backgroundcolor {
background-color: #7a8e96;
}

.main_b_rgba {
background-color: rgba(7,39,94,0.8);
}
.main_r_rgba {
background-color: rgba(208,31,24,0.9);
}
.main_g_rgba {
background-color: rgba(16,128,60,0.9);
}
.main_y_rgba {
background-color: rgba(216,211,58,0.8);
}

.white_rgba {
background-color: rgba(255,255,255,0.85);
}

.black_rgba {
background-color: rgba(35,24,21,0.85);
}



/*　==============================　デフォルト　==============================　*/

a {
text-decoration:none;
}

h1 , h2 , h3 {
margin: 0px 0px 0px 0px;
padding: 0px 0px;
margin-top: 0px;
}

/*　———　ホバー時半調　———　*/

.hover_opacity:hover{
opacity: 0.7;
transition:0.6s;
}

.hover_opacity_img img:hover {
opacity:0.7;
transition:0.6s;
}

/*　———　telリンク - スマホ版のみ　———　*/

@media screen and (min-width: 480px) {
.tel_splink {
pointer-events: none;} }

/*　———　SP版センター　———　*/

@media screen and (max-width: 480px) {
.sp_center {
text-align: center!important;
}
}

/*　———　SP版左　———　*/

@media screen and (max-width: 480px) {
.sp_left {
text-align: justify!important;
}
}

/*　———　SP版右　———　*/

@media screen and (max-width: 480px) {
.sp_right {
text-align: right!important;
}
}


/*　———　スマホ時改行なし　———　*/

@media screen and (max-width: 480px){
.sp_br_none br {
display:none;
}
}

/*　———　スマホ時改行あり　———　*/

@media only screen and (min-width: 769px){
.sp_br br {
display:none;
}
}


/*　———　マルチイメージ、スリックスライドのポインター無　———　*/
.cuosor {
pointer-events: none ;
cursor: default ;
}

/*　==============================　背景　==============================　*/

@media screen and (max-width: 1024px) {
.sp_scroll_bg
{
background-attachment: scroll!important; }
}
@media screen and (max-width: 1200px) {
.pc_contain
{
background-size: contain!important; }
}

@media screen and (max-width: 480px) {
.sp_bg_none
{
background-image: none!important; }
}

@media screen and (min-width: 481px) {
.sp_bg
{
background-image: none!important; }
}

@media screen and (max-width: 768px) {
.sp_space_bg
{
padding-top: 40vh!important;
background-attachment: scroll!important; }
}


.maru_01
{
-moz-border-radius: 3rem 0 3rem 3rem;
-webkit-border-radius: 3rem 0 3rem 3rem;
-o-border-radius: 3rem 0 3rem 3rem;
-ms-border-radius: 3rem 0 3rem 3rem;
}

.maru_02
{
-moz-border-radius: 1rem 0 1rem 1rem;
-webkit-border-radius: 1rem 0 1rem 1rem;
-o-border-radius: 1rem 0 1rem 1rem;
-ms-border-radius: 1rem 0 1rem 1rem;
}

.maru_03
{
-moz-border-radius: 0rem 0 1rem 1rem;
-webkit-border-radius: 0rem 0 1rem 1rem;
-o-border-radius: 0rem 0 1rem 1rem;
-ms-border-radius: 0rem 0 1rem 1rem;
}


/*　==============================　タイトル部分　==============================　*/

.tittle_box::after {
content: '';
position: relative;
display: block;
width: 2px;
height: 80px;
margin: auto;
margin-top: 6rem;
background: #d01f18;
}

.tittle_line::after {
content: "";
display: block;
width: 40px;
height: 2px;
margin-top: 1.5rem;
background: #07275e;
}

.con_tittle {
font-size:2rem;
color:#fff;
font-weight: bold;
padding:5rem 0 0 0;
text-align: center;
letter-spacing: 0.4rem;
}

@media screen and (max-width: 768px) {
.tittle_space {
padding-top: 30vh!important;
}
}


/*　width設定　*/
@media screen and (min-width: 1200px) {
.width80 {
width: 80%!important;
}
}

/*　==============================　文字に関する設定　==============================　*/

.bold {
font-weight: bold;
}
.italic {
font-style: italic;
}
.space_1{
letter-spacing: 0.1rem;
}
.space{
letter-spacing: 0.2rem;
}
.space_2{
letter-spacing: 0.4rem;
}
.space_3{
letter-spacing: -0.1rem;
}

/*　———　英字フォント　———　*/

.eiji {
font-family: 'Poppins', 游ゴシック Medium,Yu Gothic Medium,游ゴシック体,YuGothic,sans-serif;
}

/* devanagari */
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 800;
src: local('Poppins ExtraBold'), local('Poppins-ExtraBold'), url(https://fonts.gstatic.com/s/poppins/v5/pxiByp8kv8JHgFVrLDD4Z11lFc-K.woff2) format('woff2');
unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}
/* latin-ext */
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 800;
src: local('Poppins ExtraBold'), local('Poppins-ExtraBold'), url(https://fonts.gstatic.com/s/poppins/v5/pxiByp8kv8JHgFVrLDD4Z1JlFc-K.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 800;
src: local('Poppins ExtraBold'), local('Poppins-ExtraBold'), url(https://fonts.gstatic.com/s/poppins/v5/pxiByp8kv8JHgFVrLDD4Z1xlFQ.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}