/*style_sp.css*/

.menu {
    overflow-y: scroll;
}

.sp {
    display: block;
}

.pc {
    display: none;
}

.button {
    font-size: 16px;
}

.linkbt {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    box-sizing: border-box;
}

/*最後の行を左寄せにする*/
.linkbt::after{
  content:"";
  display: block;
  width:50%;
}

.detail_bt {
    width: 100%;
    max-width: 280px;
    font-size: 16px;
    padding: 15px 0;
    margin-top: 40px;
}

.detail_bt01 {
	width: 100%;
    max-width: 280px;
    font-size: 16px;
    padding: 5px 0;
    margin-top: 40px;
}

.button01 {
    display: inline-block;
    margin: 0.75rem;
    padding: 0.65rem 0.25rem;
    border: none;
    outline: none;
    background: rgba(0,166,132,1.0);
    color: white;
    font-family: inherit;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5rem;
    text-decoration: none;
    text-align: left;
    cursor: pointer;
    transition: all 150ms ease-out;
    
    margin: 0 auto;
    flex-basis: 48%;
    margin-bottom: 10px;
}

.sec04_inner01 {
    width: 100%;
    padding: 0 20px 30px 20px;
}

h2 {
    font-size: 20px;
    margin-bottom: 20px;
}

h3 {
    font-size: 24px;
    margin-bottom: 20px;
}

p.normalTxt {
    font-size: 16px;
}


/*---------------------------------------------
  調整
  ---------------------------------------------*/

.mb0sp {
    margin-bottom: 0!important;
}

.mb10sp {
    margin-bottom: 10px!important;
}

.mb20sp {
    margin-bottom: 20px!important;
}

.mb30sp {
    margin-bottom: 30px!important;
}

.mb40sp {
    margin-bottom: 40px!important;
}

.mb50sp {
    margin-bottom: 50px!important;
}

.mb60sp {
    margin-bottom: 60px!important;
}

.mb70sp {
    margin-bottom: 70px!important;
}

.mb80sp {
    margin-bottom: 80px!important;
}

.mt0sp {
    margin-top: 0!important;
}

.mt10sp {
    margin-top: 10px!important;
}

.mt20sp {
    margin-top: 20px!important;
}

.mt30sp {
    margin-top: 30px!important;
}

.mt40sp {
    margin-top: 40px!important;
}

.mt50sp {
    margin-top: 50px!important;
}

.mt60sp {
    margin-top: 60px!important;
}

.mt70sp {
    margin-top: 70px!important;
}

.mt80sp {
    margin-top: 80px!important;
}

.f14 {
    font-size: 14px!important;
}

/*---------------------------------------------
  Think the Feature
  ---------------------------------------------*/

/*
.start p#title {
    font-size: 28px;
    letter-spacing: normal;
}
*/

/*---------------------------------------------
  ヘッダー
  ---------------------------------------------*/

.head_cont {
    width: 100%;
    display: block;
    height: 48px;
}

.head_bt01 {
    display: none;
}

.h_contLeft {
    display: none;
}

.h_contRight {
    width: 100%;
    display: block;
    height: 48px;
}

.headerICs {
    display: none;
}

.h_contRight_r {
    display: none;
}

header {
/*    height: 48px;*/
    background: rgba(255,255,255,0.9);
}

.h_cont {
    width: 100%;
    height: 40px;
}

.h_logo {
    display: none;
}

.contactBt {
    display: none;
}

.telN {
    display: none;
}


/*---------------------------------------------
  pageTop
  ---------------------------------------------*/

/*
#pageTop {
    width: 48px;
}

#pageTop a img {
    width: 48px;
}
*/


/*---------------------------------------------
  メインビジュアル
  ---------------------------------------------*/

.mainVWrapper {
    width: 100%;
    height: 300px;
}

.mainVInner {
    height: 300px;
}


.mainV {
    width: 100%;
    min-width: 100%;
    height: 100%;
}

video {
	width: 100%;
    height: 100%;
    min-width: 100%;
    min-height: 300px;
    object-fit: cover;
}


/*
.mainV_title h1 {
    font-size: 24px;
    letter-spacing: 0.2em;
}

.mainV_title h1 span {
    font-size: 14px;
}

.top_lineup01 ul {
    background-color: #fff;
}


.top_lineup01 ul li a:hover {
    cursor: pointer;
    filter: alpha(opacity=60);
    -ms-filter: "alpha(opacity=60)";
    -moz-opacity: 0.6;
    -khtml-opacity: 0.6;
    opacity: 0.6;
    zoom: 1;
}
*/

/*---------------------------------------------
  メインLogo
  ---------------------------------------------*/



.main_logo_box {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    left: 0;
    right: 0;
    position: relative;
}


/*
.main_logo {
    position: absolute;
    left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
    z-index: 99;
    margin: 0 auto;
    width: 100%;
}
*/


/*---------------------------------------------
  scrollアイコン
  ---------------------------------------------*/

/*
.scroll_ic {
    width: 54px;
    position: absolute;
    bottom: 8%;
    left: 0;
    right: 0;
    margin:0 auto;
    animation: key1 .6s ease infinite alternate;
    z-index: 99;
    left: 0;
    right: 0;
    text-align: center;
}
*/



/*---------------------------------------------
  Top_sec01
  ---------------------------------------------*/

.sec01 {
    min-width: 100%;
	min-height: 100%;
    height: auto;
/*    margin: calc(300px - 0px) auto 0;*/
    margin: 0 auto;
/*    margin-top: 300px; 0;*/
}

.sec02 {
    min-width: 100%;
    height: auto;
    min-height: 100%;
}

.sec03 {
    min-width: 100%;
    min-height: 100%;
}

.sec01_inner {
    width: 100%;
    padding: 40px 20px 60px 20px;
}

.sec01Con {
    position: static;
        transform: translateY(0) translateX(0);
}


.sec01Con p.sec01ConTxt01 {
    font-size: 17px;
    line-height: 1.8;
}


.sec01Con p.sec01ConTxt02 {
    font-size: 18px;
    line-height: 1.4;
    margin-bottom: 0;
}

.sec01Con p {
    font-size: 16px;
    padding-bottom: 20px;
}

.sec01Con p.sec01ConTxt03 {
    line-height: 2.0;
}



/*---------------------------------------------
  Top_sec02
  ---------------------------------------------*/

.sec02_inner {
    width: 100%;
    padding: 180px 20px 60px 20px;
}

.sec02ConObi {
        height: 107px;

}

.sec02TitleBox {
    width: 100%;
    position: static;
    height: auto;
}

h2.secTitle {
    font-size: 20px;
    top: 38px;
    
/*    position: static;*/
/*    padding-top: 30px;*/
}

p.secSub {
    font-size: 14px;
    width: 100%;
    top:67px;
/*
    position: static;
    margin-top: 10px;
*/
}



/*---------------------------------------------
  Top_sec03
  ---------------------------------------------*/

.sec03Con {
    width: 100%;
    padding-bottom: 0;
    padding-top: 0;
}

.sec03_inner {
    width: 100%;
    padding: 40px 20px 40px 20px;
}

p.normalTxtCenter {
    font-size: 16px;
    text-align: left;
}


.sec03Con h2.secTitle {
    margin-top: 0;
}

.mb0_sp {
    margin-bottom: 0;
}


/*---------------------------------------------
  scrollアイコン - NS Clean
  ---------------------------------------------*/

div.lineup_tx {
    width: 100%;
    max-width: 360px;
    margin: 0 auto;
    position: static;
    -webkit-transform: none; /* Safari and Chrome */
       -moz-transform: none; /* Firefox */
        -ms-transform: none; /* IE 9 */
         -o-transform: none; /* Opera */
            transform: none;
}

.lineup_tx ul li {
    text-indent: -2.0em;
    padding-left: 2.0em;
    line-height: 1.4;
	font-size: 16px;
}


/*---------------------------------------------
  Top_sec04
  ---------------------------------------------*/

.top_lineup ul {
    min-width: 100%;
}

.top_lineup ul li {
     -webkit-flex-basis: 50%;
    flex-basis: 50%;
    min-height: 220px;
    height: auto;
}


.top_lineup01 ul {
    min-width: 100%;
}

.top_lineup01 ul li {
     -webkit-flex-basis: 50%;
    flex-basis: 50%;
    height: auto;
}

a.scroll {
    display: none;
}

.top_lineup01 ul li.l_up01, .top_lineup01 ul li.l_up02, .top_lineup01 ul li.l_up03, .top_lineup01 ul li.l_up04, .top_lineup01 ul li.l_up05, .top_lineup01 ul li.l_up06 {
    background-image: none;;
}

.top_lineup01 ul li img.l_up_img {
    display: block;
}

/*---------------------------------------------
  Top_sec05
  ---------------------------------------------*/

.sec05 {
    min-width: 100%;
}

.newsWrap dl {
    font-size: 14px;
}

/*
.newsWrap dt{
    float: none;
    width: auto;
    border-top: 1px solid #000c5c;
    padding: 0;
    padding-top: 10px;
    line-height: 1.8;
}

.newsWrap dd {
    border-top: none;
    padding: 5px 0;
    line-height: 1.6;
}


span.newIc {
    content: 'NEW';
    background-color: #000c5c;
    color: #fff;
    margin-left: 0;
    padding: 2px 6px;
    margin-right: 0;
    width: 50px;
    height: 24px;
    display: block;
    font-size: 12px;
    margin-bottom: 5px;
}
*/

/*---------------------------------------------
  Top_新着情報
  ---------------------------------------------*/

.topicList li a {
	display: block;
	width: 100%;
	height: auto;
	padding: 18px 35px 18px 9px;
	transition: none;
}

.topicList li a:hover {
	background-color: transparent;
}

.topicList li a > * {
    width: auto !important;
    padding-left: 0 !important;
    display: inline-block;
    font-size: 14px;
}

.topicList li a > div {
    margin: -3px 0 0 18px;
}

.topicList li a > p {
    display: block;
    padding: 15px 0 0;
    font-size: 14px;
}

.topicList li a .icon {
    font-size: 12px;
}

/*---------------------------------------------
  Page Top - NS Clean
  ---------------------------------------------*/

#pageTop {
    width: 60px;
    height: 60px;
    bottom: 176px;
    margin-bottom: 0;
    padding-top: 28px;
}

#pageTop a {
    font-size: 7px;
}

#pageTop a img {
    width: 18px;
    height: 20px;
    display: block;
    top: 25%;
}

#lan_ic {
    width: 60px;
    height: 60px;
    font-size: 7px;
    bottom: 235px;
    padding-top: 36px;
}

#lan_ic img {
    width: 26px;
    height: 26px;
    top: 10%;
}

.animate-toggle-block {
    width: 240px;
    height: 60px;
    right: 60px;
    padding-top: 27px;
    bottom: 235px;
}

.animate-toggle-block ul li a {
    color: #fff;
    font-size: 14px;
    letter-spacing: 2px;
}

a.en03 img {
    width: 20px;
    height: 58px;
}

.animate-toggle-block ul {
    margin-left: 30px;
}

/*---------------------------------------------
  Footer
  ---------------------------------------------*/

.f_inner {
    padding: 40px 20px 30px 20px;
}


.mapTxt {
    height: auto;
    padding: 40px 20px;
}

.mapTxt dt {
    float: none;
    width: 100%;
    font-size: 16px;
}

.mapTxt dd {
    float: none;
    margin-left: 0;
    font-size: 14px;
    margin-bottom: 0;
}

.mapTxt dd.vehicle {
    width: 100%;
    font-weight: bold;
}

.f_inner_01 {
    width: 100%;
    display: block;
}

ul.f_navi {
    display: block;
}

.f_address {
    font-size: 15px;
}

.f_tel {
    font-size: 15px;
}

.f_fax {
    font-size: 15px;
}

.f_banner {
    width: 272px;
    margin-top: 25px;
}

.f_copy {
    font-size: 12px;
    line-height: 1.4;
    text-align: left;
}

.f_company {
    font-size: 16px;
}

.f_border {
    margin-top: 30px;
}

img.f_logo {
    width: 62px;
    height: 33px;
}

.f_company {
    font-size: 15px;
}

ul.f_navi li a {
    font-size: 14px;
}

ul.f_navi li ul li a {
    font-size: 12px;
}


.f_inner_02 {
    min-width: 100%;
    height: auto;
    display: block;
    padding: 20px;
    min-height: 100%;
}

.f_inner_02_l ul {
    display: block;
}

.f_inner_02_l ul li {
    margin-left: 0;
    margin-bottom: 10px;
}

.f_inner_03_wrap {
    width: 100%;
    background: rgba(0,12,92,1.0);
    border-top: 1px solid #fff;
}

.f_inner_03 {
    width: 100%;
    display: block;
    padding: 30px 20px;
}

.f_inner_03_l {
    margin-left: 0;
    margin-bottom: 20px;
}

.f_inner_03_r {
    margin-left: 0;
}

.f_inner_03 p {
    font-size: 14px;
}

img.c_logo {
    width: 260px;
}

/*---------------------------------------------
  トップページ　sec04
  ---------------------------------------------*/

.sec04 {
    min-width: 100%;
}

.sec04_inner {
    width: 100%;
}


.hover_cover {
    display: none;
}



/*---------------------------------------------
  トップページ　sec06
  ---------------------------------------------*/

.sec06 {
    min-width: 100%;
    max-height: 220px;
}

.sec06_inner {
    width: 100%;
    padding: 40px 0 30px 0;
}



/*---------------------------------------------
  トップページ　sec07
  ---------------------------------------------*/

.sec07 {
    min-width: 100%;
}

.top_link ul {
    display: block;
    min-width: 100%;
}


.top_link ul li:first-child {
    min-width: 100%;
    min-height: 120px;
}

.top_link ul li:nth-child(2) {
    min-width: 100%;
    min-height: 120px;
}

.top_link ul li a {
    font-size: 20px;
    padding-top: 40px;
}

.top_link ul li a span:before {
    top: 86px;
}

.top_link ul li a span:after {
    top: 86px;
}

/*---------------------------------------------
  トップページ　sec08
  ---------------------------------------------*/

.sec08 {
    min-width: 100%;
}

.sec08_inner {
    width: 100%;
    padding: 40px 20px 60px 20px;
}



/*---------------------------------------------
  トップページ　sec05
  ---------------------------------------------*/

h2.newsTitle {
    font-size: 20px;
}

.sec05_inner {
    width: 100%;
    padding: 40px 20px 60px 20px;
}

h4 {
    font-size: 18px;
    text-align: left;
    line-height: 1.6;
    margin-bottom: 20px;
}

/*
.paoss {
    font-size: 16px;
    text-align: left;
    line-height: 1.6;
}

.w_box {
    width: 100%;
    padding: 20px 15px;
    border-radius: 20px;
    margin-top: 20px;
    margin-bottom: 20px;
}

ul.paossTm li {
    font-size: 14px;
    line-height: 1.6;
}

h5 {
    font-size: 16px;
}

p.f20b {
    font-size: 14px;
    text-align: left;
    line-height: 1.6;
}

ul.productsWrap li p.pro_text {
    font-size: 14px;
}
*/

/*---------------------------------------------
  フォーム
  ---------------------------------------------*/

h2.catch04 {
    font-size: 18px;
    margin-bottom: 40px;
}

.formIn {
    width: 100%;
    font-size: 14px;
    padding: 30px 20px 40px 20px;
    margin-top: 30px;
    margin-bottom: 30px;
}

.formIn dt {
    float: none;
    font-size: 14px;
    text-align: left;
}

.formIn dd {
    margin-left: 0;
    margin-top: 16px;
    margin-bottom: 40px;
}

.button02 {
    font-size: 16px;
    padding: 10px;
}

textarea {
    font-size: 14px;
}

input.button03 {
    font-size: 16px;
    padding-top: 10px;
}

.formIn dt span {
    font-size: 13px;
}


/*---------------------------------------------
  企業情報
  ---------------------------------------------*/

.companyWrap {
    display: block;
}

.companyLeft {
    width: 100%;
    margin-bottom: 30px;
}

.companyRight {
    width: 100%;
    margin-left: 0;
}

.c_details dt {
    font-size: 14px;
}

.c_details dd {
    font-size: 14px;
    margin-left: 86px;
    line-height: 1.4;
}

.en_eco_title {
    font-size: 16px;
}

.c_left {
    padding: 20px 16px;
}

.enkaku dt {
    font-size: 14px;
}

.enkaku dd {
    font-size: 14px;
    margin-left: 84px;
}

.en_eco_title {
    margin-bottom: 24px;
}

.eco_txt01 {
    font-size: 14px;
}

.eco_txt03 {
    font-size: 14px;
}

.tradeTitle {
    font-size: 18px;
}

.trade ul li {
    font-size: 14px;
}

.border01 {
    width: 100%;
    margin: 16px auto;
}

.trade {
    display: block;
}

.trade ul {
    width: 100%;
}


/*---------------------------------------------
  環境経営方針
  ---------------------------------------------*/

.behavior {
    padding: 30px 20px 30px 35px;
    margin-top: 40px;
}

h3.behaviorTitle {
    font-size: 18px;
    margin-bottom: 30px;
}

.behavior ol {
    font-size: 14px;
    margin-bottom: 20px;
}

p.be_text {
    font-size: 14px;
    padding-bottom: 10px;
}

ul.link {
    display: block;
    width: 100%;
    margin-top: 30px;
}

ul.link li {
    width: 100%;
    height: 60px;
    margin-bottom: 20px;
}

ul.link li a {
    padding-top: 20px;
}

ul.link li:first-child a {
    padding-top: 8px;
}



/*---------------------------------------------
  Thnaksページ
  ---------------------------------------------*/

h2.catchThanks {
    font-size: 18px;
    margin-bottom: 40px;
    text-align: left;
}

.thanksTxt {
    text-align: left;
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 80px;
}

.thanksBt {
    width: 100%;
    max-width: 300px;
}




/*---------------------------------------------
  その他
  ---------------------------------------------*/


.menu > ul > li.m_bt_sp {
    float: none;
    display: block;
    padding: 8px 0;
    width: 80%;
    margin: 0 auto;
    border-top: none;
    text-align: center
}

/*
.menu > ul > li a.contact_sp {
    display: inline-block;
    margin: 0.75rem;
    padding: 0.85rem 1.5rem;
    border: none;
    outline: none;
    background: rgba(0,166,132,1.0);
    color: white;
    font-family: inherit;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5rem;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    transition: all 150ms ease-out;
    width: 254px;
    margin: 0 auto;
    font-family: "メイリオ","Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "游ゴシック", YuGothic, "ＭＳ Ｐゴシック", Helvetica, Arial, sans-serif;
    height: auto;
}
*/


.head_bt01_sp {
    display: block;
    width: 222px;
/*    line-height: 40px;*/
    display: inline-table;
    -webkit-transition: all 200ms linear;
    -moz-transition: all 200ms linear;
    -o-transition: all 200ms linear;
    transition: all 200ms linear;
    -webkit-transition: all 300ms linear;
    -moz-transition: all 300ms linear;
    -o-transition: all 300ms linear;
    transition: all 300ms linear;
    color: #fff;
    border: 1px solid #fff;
    background: rgba(0,12,92,0.8);
    font-size: 16px;
    *display: inline;
    *zoom: 1;
    padding: 8px 13px;
    margin-top: 15px;
    position: relative;
}

.head_bt01_sp:hover {
	text-decoration: none;
}


.head_bt01_sp::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-top: 16px solid #fff;
  border-right: 16px solid transparent;
}


.head_bt01_sp span {
    background-color: transparent;
    border: none;
    position: relative;
}

.head_bt01_sp span:hover {
    background-color: transparent;
}

/*
.head_bt01_sp span:before {
  content: '';
  width: 18px;
  border: 0;
  border-top: solid 1px #fff;
  position: absolute;
  top: 50%;
  right: 10px;
}


.head_bt01_sp span:after {
  content: '';
  width: 12px;
  height: 12px;
  border: 0;
  border-top: solid 1px #fff;
  position: absolute;
  top: 55%;
  right: 12px;
  margin-top: -8px;
    margin-left: 12px;
  transform: rotate(45deg);
}
*/

.menu > ul > li.closeBt {
    float: none;
    display: block;
    padding: 18px 0;
    width: 80%;
    margin: 0 auto;
    border-top: none;
    text-align: center;
    padding-bottom: 80px;
}

.menu > ul > li a.close_bt {
    color: #fff;
    font-size: 18px;
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", 'Noto Sans JP', sans-serif, Meiryo, 游ゴシック, YuGothic, "ＭＳ Ｐゴシック", Helvetica, Arial, sans-serif;
}

.sp_logo01 {
    display: block;
    position: absolute;
    left: 154px;
    top: 17px;
    z-index: 999;
}


.sp_logo {
    display: block;
    position: absolute;
    left: 10px;
    top: 17px;
    z-index: 999;
}


.mb_adj {
    margin-bottom: 40px;
}

.logoWrap {
    min-width: 100%;
}

p.p_concept {
    font-size: 20px;
font-weight: normal;
}



.sup_ad {
    margin-top: 0;
}

ul.f_navi li ul li {
    padding-bottom: 5px;
}

#top_lineup {
    margin-top: 0;
    padding-top: 0;
}


/*---------------------------------------------
  202012
  ---------------------------------------------*/

header {
    height: 48px!important;
}

.menu > ul > li > ul.menu02 > li a.m_item {
    width: 100%;
    font-size: 14px;
}

.sp_logo01 {
    display: block;
    position: absolute;
    left: 108px;
    top: 14px;
    z-index: 999;
}

.sp_logo img {
    width: 75px;
    height: auto;
}


.sp_logo01 img {
    width: 110px;
    height: auto;
}

.menu > ul {
    display: none;
}

.menu > ul > li > ul {
    position: static;
}

.menu > ul > li > ul.lang-sub {
    margin-left: 0;
    width: 100%;
}

.menu > ul > li > ul.lang-sub li a {
    position: relative;
    padding: 0;
    padding-left: 20px;
    letter-spacing: 0.05em;
    font-size: 15px;
    width: 100%;
    text-align: left;
}

.menu > ul > li > ul.lang-sub li a:before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 6px;
    height: 6px;
    margin: -4px 0 0 0;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.acc_menu .lang_bt {
    margin-left: 0;
}

.menu > ul > li > ul > li a {
    padding: .2em 0;
}

.menu > ul > li a {
    padding: 0.5em 0;
}


.top_link_add ul {
    display: block;
    width: 100%;
    min-width: 100%;
}

.top_link_add ul li:first-child {
    min-width: 100%;
}

.top_link_add ul li:nth-child(2) {
    min-width: 100%;
}

.top_link_add ul li img {
    width: 90%;
}

.adjust {
    padding-top: 50px!important;
    margin-top:-50px;
}

#tlink01,
#tlink02 {
    margin-top:-50px;
    padding-top:50px;
    display: block;
}
