﻿@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Mulish:wght@400;500;600;700;900&display=swap');

html{
	height: 100%;overflow-y: scroll;
}
a:focus{ outline:none!important;}
body{
	margin:0;
	padding:0;
	color:#000;
	font-size:14px;
	font-family: 'Noto Sans JP', sans-serif;
    -webkit-print-color-adjust: exact;
}

h1,h2,h3,h4,h5,p,ul{
	list-style: outside none none;
    padding: 0;
    margin: 0;
    font-weight: normal;
    line-height: 1.8em;
}

img {
	border:none;
	outline:none!important;
}

a{
	text-decoration: none;
	color:#333;
	outline: none!important;
}

a:link{
	color:#333;
	text-decoration: none;
	outline:none!important;
}

a:hover{
	color:#00A0E9;
	text-decoration: underline;
	outline:none!important;
}

a img:hover{
	filter:alpha(opacity=78);
    -moz-opacity: 0.78;
    opacity: 0.78;
	outline:none!important;
}

#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 77%;
    z-index: 10;
}
#page-top a {
    display: block;
    text-align: center;
}
#page-top a:hover {
    text-decoration: none;
}

.m_b_10{margin-bottom: 10px !important; }
.m_b_15{margin-bottom: 15px !important; }
.m_b_25{margin-bottom: 25px !important;}
.m_b_35{margin-bottom: 35px !important;}
.m_b_40{margin-bottom: 40px !important;}
.m_t_15{margin-top: 15px !important;}
.m_t_30{margin-top: 30px !important;}
.m_t_40{margin-top: 40px !important;}
.m_t_3e{margin-top: 3em !important;}
.t_a_right{text-align:right !important;}
.t_a_center{text-align:center !important;}
.p_5 {padding: 5px !important;}
.p_t_10 {padding-top: 10px !important;}
.p_l_25 {padding-left: 25px !important;}
.p_l_28 {padding-left: 20px !important;}
.p_l_30 {padding-left: 30px !important;}
.p_l_35{padding-left: 35px !important;}
.p_l_50{padding-left: 50px !important;}
.fs11{font-size:11px;}
.fs12{font-size:12px;}
.fs13{font-size:13px;}
.fs16{font-size:14px;}
.line-height-1-5{line-height:1.5;}
.letter-space-1{ letter-spacing:1px;}
.letter-space-2{ letter-spacing:2px;}
.bold{font-weight:bold;}
.justify{text-align: justify;text-justify: inter-ideograph;}


.clearfix:after {
   clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}


@media print,screen and (min-width:769px){
.sp{display:none !important;}
}

@media screen and (max-width:768px){
.pc{display:none !important;}

}
/* header */

header{
	border-top: 7px solid #004098;
    width: 100%;
    background-color: #fff;
    border-bottom: 1px solid #dadbdb;
    box-shadow: 0 1px 10px rgba(0, 0, 0, 0.15)!important;
    -webkit-box-shadow: 0px 1px 10px rgba(0,0,0,0.15)!important;
    -moz-box-shadow: 0px 1px 10px rgba(0,0,0,0.15)!important;
}

header .header_inner_top{
	margin: 0 auto;
    max-width: 980px;
    padding-top: 15px!important;
    padding-bottom: 0px!important;
    display: flex;/*20200812追加*/
    align-items: center;
	justify-content: space-between;/*20200812追加*/
}

header .header_inner_top .btn-toi{width:115px; padding-top:10px; margin-right:60px; margin-left:30px;}
/*20200812追加*/
@media screen and (max-width:440px){
  header .header_inner_top{
    display: block !important;
  }
}
/*以上20200812追加*/

header .header_inner_top .lang{
	padding-bottom: 15px;
}
@media screen and (max-width: 768px) {
	
	header .header_inner_top .lang{
		display: none;
	}
}

header .header_inner_bottom{
	border-top: solid 1px #dadbdb;
}

header nav{
	margin:0 auto;
}

header nav a:hover{
    text-decoration: none;
}


/* トップページ中央コンテンツ */

#topcontent{ text-align:center;}

#topcontent .kv{ background-image: url("../../common/images/top/kv-sp.png"); background-repeat:no-repeat; height:calc(100vh - 110px); background-size:cover;background-position: bottom;z-index: 1;position: relative;}
#topcontent .kv:before{
      content: '';
      position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;

      z-index: -1;
    background-blend-mode: multiply;

	 }




#topcontent .kv .copy{position:absolute; top:35%; margin-right:4%;margin-left:4%; text-align:left;}
#topcontent .kv .copy img{width:90%; height:auto;}
#topcontent .kv .btn{text-align:center; position:absolute; margin-left:4%; bottom:10%; display:block; }
#topcontent .kv .btn a{display:block; color:#FFF;padding:5px 10px;border-radius:30px;  width:170px; border:solid 1px #FFF;}
#topcontent .kv .btn a i{margin-left:10px;}
#topcontent h2{font-size:16px; margin-bottom:20px;}
#topcontent h2 span{display:block; font-size:36px; font-weight:bold;font-family: 'Mulish', sans-serif; font-weight:700;}

#topcontent section{padding:60px 20px;}

#topcontent .news{ background:#f4f7fd;}
#topcontent .news dl{display:flex;text-align:left;border-bottom:1px #000 solid; padding:10px 0px; margin:0px;}
#topcontent .news dt{width:80px;margin-right:10px;}
#topcontent .news dt span{display:block; color:#FFF; text-align:center; padding:1px 0px; font-size:12px; margin-top:2px;}
#topcontent .news dt span.ir{background:#074396;}
#topcontent .news dt span.news{background:#4281d6;}

#topcontent .news dd{margin:0px;  }

#topcontent .news ul.btn{display:flex;justify-content: space-between; margin-top:20px;}
#topcontent .news ul.btn li{ width:49%; background:#FFF; }
#topcontent .news ul.btn li a{padding:3px 0px;}
#topcontent .news ul.btn li:first-child a{ border:solid 1px #074396; color:#074396; display:block;}

#topcontent .news ul.btn li:last-child a{ border:solid 1px #4281d6;color:#4281d6;display:block;}
#topcontent .news ul.btn li i{margin-left:10px;}

#topcontent .business{padding-left:0px; padding-right:0px; padding-bottom:0px;}
#topcontent .business .inner{background: #d9e7f2;}

#topcontent .business .box{
	display: flex;
	flex-wrap: wrap;
	padding-top: 60px;
	padding-right: 20px;
	padding-bottom: 40px;
	padding-left: 20px;
	margin-top: -65px;
}
#topcontent .business .box a{ width:49%; background:#FFF; margin-bottom:2px; margin-right:2px; padding:20px 0px; font-weight:bold;}
#topcontent .business .box a .photo{
	width: 80%;
	height: auto;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 10px;
	margin-left: auto;
	 position:relative;
}
#topcontent .business .box a .photo img{width:100%;  max-height:70px;}
#topcontent .business .box a .photo img:hover{opacity:1;}

#topcontent .aboutus{background-image: url("../../common/images/top/top-aboutus-sp.jpg"); background-repeat:no-repeat; background-size:cover; }
#topcontent .aboutus .box{display: flex;flex-wrap: wrap;justify-content: center;}
#topcontent .aboutus .box a{width:46%; display:flex;align-items: center;justify-content: center;background:#FFF; margin-left:5px; margin-right:5px; margin-bottom:10px;  height:90px;}
#topcontent .aboutus .box a .item{ font-size:18px; font-weight:bold;line-height:1;}
#topcontent .aboutus .box a .item span{font-family: 'Mulish', sans-serif;color:#000;}
#topcontent .aboutus .box a .item span.name{display:block; width:100%; font-size:14px; font-weight:normal; color:#074396; margin-top:7px;}

#topcontent .contact{}
#topcontent .contact .btn{border:solid 1px #000;margin-top:20px;}
#topcontent .contact .btn a{display:block; padding:10px 0px; }


/* フッター */
footer{
    width:100%;
    background-color: rgba(0, 0, 0, 0.6);
    color: #fff;
}

footer a{
	color:#fff;
}

footer a:link{
    color:#fff;
}

footer a:hover{
    color:#00A0E9;
}

footer .footer_inner{
	margin:0 auto;
}

footer .footer_inner ul{
	padding-top: 20px;
}

footer .footer_inner li{
	border-right: 1px solid #fff;
    float: left;
    font-size: 10px;
    padding-right: 17px;
    padding-left: 17px;
}

footer .footer_inner li.first{
	padding-left:0px;
}

footer .footer_inner li.last{
	padding-right:0px;
	border-right: none;
}

footer .footer_inner p{
	font-size:9px;
    padding-top: 2px;
}

/* 下層ページサイドナビゲーション共通 */
#content aside.left_navi li{
    background-color: #efefef;
    font-weight: bold;
    letter-spacing: 1px;
    line-height: 3.3em;
    margin-bottom: 5px;
    padding-left: 10px;
}

#content aside.left_navi li p{
    font-weight: bold;
    line-height: 1.8em;
    padding-bottom: 10px;
    padding-top: 10px;
}

#content aside.left_navi li:hover{
    background-color:#004098;
    color:#fff;
}

#content aside.left_navi li a{
    display: block;
}

#content aside.left_navi li a:hover{
    color:#fff;
    text-decoration: none;
}

#content aside.left_navi li.onpage{
    background-color: #727171;
    color: #fff;
}

#content aside.left_navi li.onpage a{
    color:#fff;
}

/* 下層ページ右コンテンツ共通 */

#content .right_content_header{
    clear: both;
    margin-bottom: 35px;
    overflow: hidden;
}

#content .right_content_header img.imageicon{
    float:left;
}

#content .right_content_header h2{
    color: #004098;
    font-size: 22px;
    font-weight: bold;
    letter-spacing: 3px;
    margin-bottom: 15px;
}

#content .right_content_header p.subtitle{
    font-weight: bold;
    line-height: 1.6em;
}
#content .titlelist ul.link-box li {
    margin-bottom: 30px;
    height: 55px;
}
#content .titlelist ul.link-box li a {
    border: 4px solid #004098;
    padding-left: 20px;
    font-weight: bold;
    letter-spacing: 2px;
    line-height: 4em;
    position: relative;
}
#content .titlelist ul.link-box li a:hover {
	opacity:0.8;
}
#content .titlelist ul.link-box li img {
    position: absolute;
    top: 10px;
}

#content .titlelist ul li p{
    font-weight: bold;
    line-height: 1.2em;
    padding-bottom: 12px;
    padding-top: 12px;
}

#content .titlelist ul li a{
    display:block;
}


/* ごあいさつ */

li.linkpage{
    background-color: #004098 !important;
    color:#fff;
}

.message_text {
}

.message_text img{
    margin-bottom: 35px;
}

.message_text p{
    margin-bottom: 20px;
}

#content p.president{
    text-align:right;
    font-size:14px;
}

.message_text img{
    float:right;
}

/* 企業理念・指針 */

#content h3{
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 2px;
    margin-bottom: 25px;
}

#content h3.centerline{
    background-image: url("../../common/images/corporate/line1.png");
    background-position: right center;
    background-repeat: no-repeat;
    background-size: 100% auto;
}

#content h3.centerline span{
    background-color:#fff;
    padding-right: 10px;
}

#content h3.centerline-notext{
    background-image: url("../../common/images/corporate/line1.png");
    background-position: right center;
    background-repeat: no-repeat;
    background-size: 100% auto;
	height: 3px;
}

#content h3.centerline-notext span{
    background-color:#fff;
    padding-right: 10px;
}


h3.both-sides-line {
  position: relative;
  padding: 0 65px;
  text-align: center;
}

h3.both-sides-line:before {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 3px;
  content: '';
  background: #004098 ;
}

h3.both-sides-line span {
  position: relative;
  padding: 0 1em;
  background: #fff;
}


#content h4.centerline{
    background-image: url("../../common/images/corporate/line1.png");
    background-position: right center;
    background-repeat: no-repeat;
    background-size: 100% auto;
}

#content h4.centerline span{
    background-color:#fff;
    padding-right: 10px;
}



.policy_message{
    margin-bottom: 15px;
    text-align: center;
}

#content h4{
    color: #004098;
    font-weight: bold;
    margin-bottom: 5px;
}

#content .policy_map{
    margin-bottom: 35px;
    text-align: center;
}
.policy_map map,.policy_map area,.policy_map map:focus,.policy_map area:focus {
	outline:none;
	border:none;
}
#content .policy_block{
    margin-bottom: 35px;
}

#content p.policy_text{
    margin-bottom: 25px;
}

#content p.policy_text2{
    margin-bottom: 10px;
    font-weight:bold;
}

#content p.policy_text span{
    font-weight: bold;
    line-height: 2em;
}

#content .pdfdownload_block{
    margin-bottom: 25px;
    overflow: hidden;
}

#content .pdfdownload_block{
    margin-bottom: 25px;
    overflow: hidden;
}

#content .pdfdownload_block li span{
    font-weight: bold;
}

#content .pdfdownload_block li.right{
    background-image: url("../../common/images/menu_allow01.png");
    background-position: right 75px center;
    background-repeat: no-repeat;
    background-size: 30px auto;
    border: 4px solid #004098;
    color: #004098;
    float: left;
    font-weight: bold;
    height: 43px;
    letter-spacing: 3px;
    line-height: 3em;
    padding-left: 44px;
    width: 480px;
}

#content .pdfdownload_block li.right a{
    display:block;
}

#content .adobereader_style{
    border:solid 1px #b5b5b6;
    padding:25px 40px;
}

#content .adobereader_style a{
    color:#00a0e9;
}

#content .adobereader_style p{
    line-height:1.6em;
}

#content .adobereader_style p a{
    color:#00A0E9;
}

/* 会社概要 */

dl.corporatetable,
dl.corporatetable2{
    background-color: #f7f8f8;
    border-bottom: 1px solid #b5b5b6;
    border-left: 1px solid #b5b5b6;
    border-right: 1px solid #b5b5b6;
    overflow: hidden;
    margin-bottom: 60px;
}

dl.corporatetable3{
    background-color: #f7f8f8;
    border-bottom: 1px solid #b5b5b6;
    border-left: 1px solid #b5b5b6;
    border-right: 1px solid #b5b5b6;
    overflow: hidden;
    margin-bottom: 60px;
    margin-left: 30px; /* 2024.12.13追加分（表を右にずらす）、ここで30pxプラスしたらdl.corporatetable3 ddを30pxマイナスしなければいけない */
   

}
dl.corporatetable3 dl,
dl.corporatetable dl {
    overflow:hidden;
    border:1px solid #ccc;
    border-top:none;
    background:#ddd;
}

dl.corporatetable dt,
dl.corporatetable2 dt,
dl.corporatetable3 dt {
    border-top: 1px solid #b5b5b6;
    display: block;
    padding: 15px;
}

dl.corporatetable dd,
dl.corporatetable2 dd {
    background: #fff none repeat scroll 0 0;
    border-top: 1px solid #ccc;
    margin-left: 0;
    padding: 15px;
}

dl.corporatetable3 dd {
    background: #fff none repeat scroll 0 0;
    border-top: 1px solid #ccc;
    margin-left: 0px; 
    padding: 15px;
}

dl.corporatetable2 dt,
dl.corporatetable3 dt {
    float: left;
}

dl.corporatetable2 dd,
dl.corporatetable3 dd {
    float: left;
	border-left: 1px solid #ccc;
}


dl.corporatetable3 {
	display: flex;
	flex-wrap: wrap;
	
	dt, dd {
		float: none;
	}
}

dd:after {
  clear:both;
}

/* 事業所案内 */

.company_block{
    margin-bottom: 30px;
    overflow: hidden;
}

.company_block p{
    float:left;
    line-height: 1.8em;
}

.company_block p a{
    color:#00A0E9;
}

.company_block img.companyimg{
    float:right;
}

/* 事業紹介 */
#content .titlelist_service li{
    min-height: 199px;
    border: 6px solid #004098;
    box-sizing: border-box;
	margin-bottom: 35px;
}
#content .titlelist_service li h3{
    position: relative;
    border-bottom: 4px dotted rgb(0, 64, 152);
    width: 90%;
    margin: auto;
    text-indent: 1em;
    padding-top: 35px;
    padding-bottom: 15px;
}
#content .titlelist_service li h3 img{
	position: absolute;
    top: 28px;
}
#content .titlelist_service li a {
	display:block;
}
#content .titlelist_service li p{
    font-size: 12px;
	width:90%;
	margin: 20px auto;
}

/* ネットワークサービス */

ul.circlelist{
    padding-left: 25px;
	margin-bottom: 20px;
}

ul.circlelist li {
    color: #000;
    line-height: 1.8em;
    list-style-type: none;
}

ul.circlelist li:before {
    color: #004098;
    content: "●";
    display: block;
    float: left;
    font-size: 10px;
    margin-left: -2em;
    vertical-align: middle;
    width: 1em;
}

/* ネットワークサービス */

.enclose_line{
    border: 1px solid #b5b5b6;
    margin-bottom: 35px;
    padding: 15px;

}

/* 株主・投資家情報 */

.text_block{
    overflow:hidden;
    clear:both;
}

/* 個人情報保護方針 */

ul.numberlist  {
    position: relative;
    margin: 0 0 50px;
    padding:0;
}
ul.numberlist li {
    line-height: 1.8em;
    list-style: outside none none;
    margin: 0;
}
ol.numberlist  {
    position: relative;
    margin: 0 0 50px;
    padding:1.2rem 1.2rem 1.2rem 1.4rem;
}
ol.numberlist li {
    line-height: 1.8em;
	list-style-position: outside;
    margin: 0;
}
ul.numberlist li span,
ol.numberlist li span {
    position: absolute;
    left:0;
    margin:0
}
ul.listDisc {
    position: relative;
    padding: 0 0 0 1.2rem;}
ul.listDisc li {
    line-height: 1.8em;
	list-style: disc outside;
    margin: 0;}

/*IE6*/
*html ul.numberlist li span,
*html ol.numberlist li span  {
    left: -1.25em;
}

.signature{
    text-align:right;
    margin-bottom: 25px;
}

.signature2{
    letter-spacing: 1px;
    line-height: 1.6em;
}

.signature2 a{
    color:#00A0E9;
}

.m_b_25 a,.p_l_35 a{
    color:#00A0E9;
}

dl.company_contact{
    margin-bottom: 0;
    margin-top: 0;
    overflow: hidden;
}

dl.company_contact dt.name{
    float: left;
    width: 120px;
    clear: both;
}

dl.company_contact dd.adoption{
    clear: right;
    float: left;
    margin-left: 0;
    width: 80px;
}

dl.company_contact dd.tel{
    clear: right;
    float: left;
    margin-left: 0;
    width: 180px;
}

.p_criteria a{
    color:#00A0E9;
}

.bluecircle{
    color: #004098;
    font-size: 10px;
    margin-right: 5px;
    vertical-align: middle;
}

/* サイトのご利用にあたって */

.h3blue{
    color:#004098;
    margin-bottom: 5px !important;
}

#content .adobereader_style2 {
    border: 1px solid #b5b5b6;
    overflow: hidden;
    padding: 15px 40px;
}

#content .adobereader_style2 a{
    color:#00a0e9;
}

#content .adobereader_style2 p{
    line-height: 3em;
}

#content .sitemap ul{
    overflow:hidden;
    margin-bottom: 35px
}

#content .sitemap ul a{
    color:#00a0e9;
}

#content .sitemap ul li{
    float:left;
    width:180px;
    margin-bottom: 10px;
    font-size:14px;
}

#content .sitemap ul li.listblock360{
    width:360px !important;
	letter-spacing: -0.05em;
}

/* 業績・財務 */

li.linkpage2{
    background-color: #5a77af !important;
    color: #fff;
}

#content aside.left_navi li.p_l_28:hover{
    background-color:#5a77af;
    color:#fff;
}

dl.irtable.vertical {
	display: flex;
	flex-wrap: wrap;
}

dl.irtable.vertical > * {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

dl.irtable.vertical > *:nth-child(even) {
	border-left: 1px solid #ccc;
}

dl.irtable.vertical dt {
	width: 50%;
}

dl.irtable.vertical dd {
	width: 50%;
	padding-left: 15px;
	padding-right: 15px;
	border-left: 0;
}

@media screen and (max-width: 768px) {
	dl.irtable.vertical > *:nth-child(odd) {
		width: 35%;
	}
	dl.irtable.vertical > *:nth-child(even) {
		width: 65%;
	}
}

dl.irtable{
    background-color: #f7f8f8;
    border-bottom: 1px solid #b5b5b6;
    border-left: 1px solid #b5b5b6;
    border-right: 1px solid #b5b5b6;
    overflow: hidden;
    margin-bottom: 60px;
}

dl.irtable dl {
    overflow:hidden;
    border:1px solid #ccc;
    border-top:none;
    background:#ddd;
}

dl.irtable dt {
    border-top: 1px solid #b5b5b6;
    display: block;
    padding: 15px;
}

dl.irtable dd {
    background: #fff none repeat scroll 0 0;
    border-top: 1px solid #ccc;
    margin-left: 0;
    overflow: hidden;
    padding: 15px 0;
}

dd.dd2{
    padding-left: 20px !important;
}

dl.irtable dd ul{
    padding:0px !important;
}

dl.irtable dd li{
    border-bottom: 1px solid #ccc;
    padding: 5px 20px;
    width: 100%;
}

dl.irtable dd li.first{
    margin-top: -15px;
}

dl.irtable dd li.last{
    margin-bottom: -16px;
}

dl.dl-inline dt {
	float:left;
	width:63px;
	font-weight:bold;
}
dl.dl-inline dd {
	margin-left:63px;
	font-weight:bold;
}
dl.dl-inline dt:nth-child(2) {
	clear:left;
}



/* 業績情報 */

.stockholder a{
    color:#00a0e9;
}

.stockholder h4{
    color:#000 !important;
}

.stockholder h5{
    color: #004098 !important;
    font-size: 14px;
    font-weight: bold;
}

.box_right1{
    float: right;
    text-align: right;
}

.box_right2{
    float: right;
    text-align: right;
}

.box_right2 img{
    clear:both;
}

.irtable a,.corporatetable a{
    color:#00A0E9;
}

#performance_info_table,
#policy_info_table { background-color:#CACACA; padding:1px; text-align:center;}
#performance_info_table th,
#policy_info_table th { background-color:#ececec; font-weight:normal; border-right:1px solid #CACACA; border-bottom:1px solid #CACACA; padding:10px;}
#performance_info_table td,
#policy_info_table td { background-color:#fff; font-weight:normal; border-right:1px solid #CACACA; border-bottom:1px solid #CACACA; padding:10px;}
#policy_info_table tr.no-border td{border-bottom:none;}

/*中期目標*/
#policy_info_table td.syasen{width:15%;
							   background-image: -moz-linear-gradient(to top left, transparent, transparent 49%, #CACACA 49%, #CACACA 50%, transparent 50%, transparent);
							   background-image: -webkit-linear-gradient(to top left, transparent, transparent 49%, #CACACA 49%, #CACACA 50%, transparent 50%, transparent);
							   background-image: linear-gradient(to top left, transparent, transparent 48%, #CACACA 49%, #CACACA 50%, transparent 50%, transparent);}
.ie9 #policy_info_table td.syasen { background-color:#ececec;}


/*1105*/

.noboder {
	border:none!important;
	outline:none!important;
}

/*20151126 お問い合わせページ*/

h1.heading {
    color: #004098;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 3px;
    margin-bottom: 25px;
    margin-top: 35px;
}

.column-section .box01{
    clear:both;
    overflow:hidden;
    margin-bottom: 35px;
}

.column-section ul.list01 a,.column-section ul.list02 a{
    color:#00A0E9;
}

.column-section ul.list01,.column-section ul.list02 {
    float: left;
    width: 755px;
}
@media screen and (max-width:768px){
.column-section ul.list01,.column-section ul.list02 {
    float: none;
    width: 100%;
}
}
.column-section ul.list01 li::before {
    color: #004098;
    content: "●";
    display: block;
    float: left;
    font-size: 10px;
    margin-left: -2em;
    vertical-align: middle;
    width: 1em;
}
.column-section ul.list01 li,.column-section ul.list02 li {
    color: #000;
    line-height: 1.8em;
    list-style-type: none;
    margin-bottom: 20px;
}

p.color01,p.strong02{
    color:red;
}

.column-section .imgbox01{
    float:right;
    border:solid 1px #b5b5b6;
    width:185px;
    height:124px;
}
@media screen and (max-width:768px){
.column-section .imgbox01{
    float:none;
    width:100%;
}
}
.column-section .imgbox01 td{
    padding-left: 40px;
}

.column-section .formbox01{
    overflow: hidden;
    clear: both;
}

.column-section .formbox01 ul#permit-select{
    clear: both;
    margin-bottom: 35px;
    overflow: hidden;
}
.column-section .formbox01 ul#permit-select li{
    float:left;
    margin-right: 160px;
}
@media screen and (max-width:768px){
.column-section .formbox01 ul#permit-select li{
    float:left;
    margin-right: 60px;
}
}


#contact_table { width:978px; background-color:#b5b5b6; padding:1px;margin-bottom: 40px;}
#contact_table th { background-color:#f7f8f8; font-weight:normal; border-right:1px solid #b5b5b6; border-bottom:1px solid #b5b5b6; padding:10px;}
#contact_table td { background-color:#fff; font-weight:normal; border-right:1px solid #b5b5b6; border-bottom:1px solid #b5b5b6; padding:10px 20px;}
#contact_table td.textL { text-align:left;}
#contact_table th:last-child {border-right:none; }
#contact_table td:last-child {border-right:none;}
#contact_table tr.no-border td,#contact_table tr.no-border th{border-bottom:none;}
@media screen and (max-width:768px){
#contact_table { width:100%;}
#contact_table th,
#contact_table td {width:100%; display:block;}
}
/* input,textarea */
.width01,
.width02,
.width03,
.width04,
.textarea-box {
	border: 1px solid #7f9db9;
}

.width01 {	width: 398px;}
.width02 {	width: 100px;}
.width03 {	width: 60px;}
.width04 {	width: 398px;	margin-bottom: 10px;}

.textarea-box {	width: 400px;	height: 150px;}
@media screen and (max-width:768px){
.width01,
.width02,
.width04,
.textarea-box {	width: 100%;}
}
span.strong02 {
		color: #fe0000;
}

.elementCenter {
    text-align: center;
}

.elementCenter input{
    margin-top: 40px;
}
@media screen and (max-width:768px){
.elementCenter input{
    width:100%;
}
}
#contact_table .table02,#contact_table .table02 th,#contact_table .table02 td,#contact_table .table02 tr{
	border:none!important;
}
.table02 tr{
    border: medium none !important;
}


#contact-form a img:hover, .end_btn a img:hover {
	filter:alpha(opacity=100)!important;
    -moz-opacity: 1.0!important;
    opacity: 1.0!important;
	outline:none!important;
}



/* マスコットキャラクター */
.mascot{}
.mascot h3.line {
	position: relative;
	display: inline-block;
	padding-right: 55px;
	padding-left: 0px;
	width:100%;
}

.mascot h3.line:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
width: 100vw;  height: 3px;
  background-color: black;
      left: 130px;
	  background:#004098;
}
.mascot h3.line2 {
	position: relative;
	display: inline-block;
	padding-right: 55px;
	padding-left: 0px;
	width:100%;
}

.mascot h3.line2:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
width: 100vw;  height: 3px;
  background-color: black;
      left: 170px;
	  background:#004098;
}

.mascot .main-image{display:flex; width:80%; margin:0 auto;align-items: center; margin-bottom:60px;}
.mascot .main-image .text{width:50%; text-align:center;}
.mascot .main-image .text .big{font-size:220%; margin-top:20px; font-family: 'Mochiy Pop P One', sans-serif;}
.mascot .main-image .photo{width:50%;}
.mascot .main-image .photo img{width:100%; height:auto;}
.mascot .introduction{text-align: center;}
.mascot .introduction .box{
	padding: 10px 20px;
	margin-bottom: 40px;
}
.mascot .introduction h3 {
  position: relative;
  display: inline-block;
  padding: 0 55px;
  margin-bottom:0px !important;
  font-size:22px !important;
 font-family: 'Mochiy Pop P One', sans-serif;
 color:#3497b8;
}
.mascot .introduction h3 span{display:block; font-size:14px;line-height: 1;}

.mascot .introduction h3:before, .mascot .introduction h3:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 1px;
  background-color: black;
  background-color:#3497b8;
}

.mascot .introduction h3:before {
  left:0;
}
.mascot .introduction h3:after {
  right: 0;
}

.mascot .introduction dl{display:flex;	border-bottom-width: 2px;
	border-bottom-style: dotted;
	border-bottom-color: #3497b8;
	padding-bottom:10px;
}
.mascot .introduction dt{ white-space:nowrap; color:#3497b8; font-weight:bold; width:14%; text-align:left;}
.mascot .introduction dd{margin-left:10px; text-align:left; width:86%; }

.mascot .balloon-wrap{
	width:90%; margin:0 auto;
	    background-size: 100% 100%;
		margin-bottom:40px;

}
.mascot .balloon-wrap .item1, .mascot .balloon-wrap .item2{display:flex;align-items: center;}

.mascot .balloon-wrap .item1 .photo, .mascot .balloon-wrap .item2 .photo{width:70px; height:auto;}
.mascot .balloon-wrap .item1 .photo img, .mascot .balloon-wrap .item2 .photo img{width:100%; height:auto;}

.mascot .balloon-wrap .balloon-right{
	position: relative;
	display: inline-block;
	padding: 20px;
	background: #FFF;
	border: solid 2px #3497b8;
	box-sizing: border-box;
	width: 100%;
	margin-top: 0em;
	margin-right: 0px;
	margin-bottom: 0em;
	margin-left: 74px;
	margin-right:20px;
	margin-bottom:25px;
	border-radius:10px;
	text-align:center;
  }

.mascot .balloon-wrap .balloon-right:before{ content: "";
  position: absolute;
  top: 50%;
  right: -24px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-left: 12px solid #FFF;
  z-index: 2;}

.mascot .balloon-wrap .balloon-right:after {
  content: "";
  position: absolute;
  top: 50%;
  right: -30px;
  margin-top: -14px;
  border: 14px solid transparent;
  border-left: 16px solid #3497b8;
  z-index: 1;
}

.mascot .balloon-wrap .balloon-left {
  position: relative;
  display: inline-block;
	margin-right: 74px;
	margin-left:20px;
  padding: 20px;
  width:100%;
  background: #FFF;
  border: solid 2px #3497b8;
  box-sizing: border-box;
	margin-bottom:25px;
		border-radius:10px;
	text-align:center;

}

.mascot .balloon-wrap .balloon-left:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -24px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-right: 12px solid #FFF;
  z-index: 2;
}

.mascot .balloon-wrap .balloon-left:after {
  content: "";
  position: absolute;
  top: 50%;
  left: -30px;
  margin-top: -14px;
  border: 14px solid transparent;
  border-right: 16px solid #3497b8;
  z-index: 1;
}
.mascot .kabegami{width:90%; margin:0 auto;}
.mascot .kabegami .box{display:flex;justify-content: space-between;}
.mascot .kabegami .box .item{width:48%; text-align:center;}
.mascot .kabegami .box .item img{width:100%; height:auto;}
.mascot .kabegami .box .item i{font-size:16px;}

@media screen and (max-width:768px){
.mascot .main-image{width:100%;}
.mascot .main-image .photo{width:35%;}
.mascot .main-image .text{width:65%;}
.mascot .main-image .text .big{font-size:160%; margin-top:20px;}
.mascot .introduction{
	padding:10px;
}
.mascot .introduction dt{width:25%;}
.mascot .introduction dd{width:75%; }

.mascot .balloon-wrap{width:100%;}
.mascot .balloon-wrap .balloon-right{margin-left:0px;}
.mascot .balloon-wrap .balloon-left{margin-right:0px;}
.mascot .kabegami{width:100%; }

}



/*****************************プロダクト*****************************/

.product .news{background: #f4f7fd; padding:40px 20px; margin-top:40px;}
.product .news dl{display:flex;text-align:left;border-bottom:1px #000 solid;padding: 20px 0px; margin:0px;}
.product .news dt{width:80px;margin-right:10px;}
.product .news dd{margin:0px;  }
.product .news h3{ font-size: 14px !important;
    margin-bottom: 0px !important; text-align:center;}
.product  .news h3 span{font-size:36px;display: block;    margin-bottom: 5px;}

.rpa{ text-align:center;}
.rpa section{padding:80px 0px;}

.rpa .kv{ overflow:hidden;    height: 100vh; padding:0px;}
.rpa .kv img{ height:100vh; width:100vw; object-fit:cover;}
.rpa .about{ background:#33aeea; color:#FFF; text-align:center; }
.rpa .about .text{ font-size:16px;}
.rpa .about h2{ color:#FFF;}
.rpa .about h2:before{  background: #FFF;}
.rpa h2 {
  position: relative;
  text-align: center;
  font-size:26px;
  margin-bottom:40px;
  color:#33aeea;
}

.rpa h2:before {
  position: absolute;
  bottom: -15px;
  left: calc(50% - 30px);
  width: 60px;
  height: 2px;
  content: '';
  border-radius: 3px;
  background: #33aeea;
}
.rpa .flow{}
.rpa .flow .box{display:flex;}
.rpa .flow .box .item{width:25%; text-align:center; padding:30px;}
.rpa .flow .box .item h3{ font-size:18px;margin-bottom:10px;}
.rpa .flow .box .item i{color:#33aeea; font-size:30px; margin-bottom:10px;}


.rpa .merit{}
.rpa .merit .box{display:flex;}
.rpa .merit .box .item{width:33.3333%; text-align:center; position:relative; height:200px; overflow:hidden;}
.rpa .merit .box .item .photo{}
.rpa .merit .box .item .photo img{width:100%; height:200px; object-fit:cover;}
.rpa .merit .box .item .text{opacity:0; transition: all 0.5s; margin-bottom:0px;}
.rpa .merit .box .item .text h3{ font-size:16px;margin-bottom:10px; margin-top:10px;}

.rpa .merit .box .item:hover .text{opacity:1; position:absolute; left:0; top:0; background:rgba(0,0,0,0.6); height:200px;width:100%;  color:#FFF;box-sizing: border-box;display:flex;flex-direction: column;justify-content: space-between;margin-bottom:30px;    padding-bottom: 39px; }
.rpa .merit .box .item:hover .text .foot{background:#4d4d4d; position:absolute;bottom:0px; width:100%; left:0px; padding:5px 0px; }
.rpa .contact a{color:#ee6d52; text-decoration:underline;}

@media screen and (max-width:768px){
.rpa section{padding:40px 0px;}
.rpa .about .text{ width:90%; margin-left:auto; margin-right:auto; text-align:left;}
.rpa .flow .box {flex-wrap: wrap;}
.rpa .flow .box .item{width:50%; padding-top:10px; padding-bottom:10px;}

.rpa .merit .box{display:block;}
.rpa .merit .box .item{width:100%; height:200px;}



.rpa .merit .box .item{ height:auto; pointer-events: none;}
.rpa .merit .box .item .photo{ margin-bottom:0px;}
.rpa .merit .box .item .photo img{width:100%; height:200px; object-fit:cover;}

.rpa .merit .box .item .text{opacity:1;background:rgba(0,0,0,0.6); color:#FFF; padding:20px;margin-bottom:20px;}

.rpa .merit .box .item:hover .text{ opacity:1; position:static; }
.rpa .merit .box .item .text h3{margin-top:0px;}
.rpa .merit .box .item:hover .text .foot{ position:static;}
.rpa .contact a{color:#ee6d52; text-decoration:underline;}




}
/*****************************タブレット以上*****************************/

@media (min-width:769px){
html,body{
    width: 100%;
	min-width:980px;
}
.drawer-hamburger,.sp_view,.onlySp_view{
	display:none;
}
/* header */
header nav{
	width:980px;
    height: 46px!important;
}
header nav li{
	border-left: 1px solid #dadbdb;
    float: left;
    font-size: 13px;
    height: 20px;
    letter-spacing: 2px;
    padding-bottom: 13px!important;
    padding-top: 13px!important;
}

header nav li.first{
	width:122px;
	text-align:center;
}
header nav li.forth {
	border-right: 1px solid #dadbdb;
}

header nav li.second{
	width:150px;
	text-align:center;
}
header nav li.third{
	width:150px;
	text-align:center;
}
header nav li.forth{
	width:150px;
	text-align:center;
}
header nav li.fifth{
	width:150px;
	text-align:center;
}
header nav li.last{
	border-right: 1px solid #dadbdb;
	width:184px;
	text-align:center;
}
header .header_inner_bottom{
    height: 46px!important;
}

/* メガドロップダウンメニュー */

.menu {
    position: relative;
    width: 100%;
    height: 46px!important;
    max-width: 980px;
    margin: 0 auto;
    z-index: 10;
}

.menu > li {
    background: #fff none repeat scroll 0 0;
    float: left;
}

.menu > li a {
    display: block;
    color: #333;
}

.menu > li a:hover {
    color: #fff;
}

ul.menu__second-level {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
}

ul.menu__second-level a:hover{
    text-decoration: underline;
}

ul.menu__third-level {
    visibility: hidden;
    opacity: 0;
}

ul.menu__fourth-level {
    visibility: hidden;
    opacity: 0;
}

.menu > li:hover {
    -webkit-transition: all .5s;
    transition: all .5s;
    background-color:#212121;
    color:#fff;
}

.menu > li:hover a{
    color:#fff;

}

.menu__second-level li {
    border-top: 1px solid #111;
}

.menu__third-level li {
    border-top: 1px solid #111;
}

.menu__second-level li a:hover {
}

.menu__third-level li a:hover {
}

.menu__fourth-level li a:hover {
}

.init-bottom:after {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.menu:before,
.menu:after {
    content: "";
    display: table;
    color:#fff;
}

.menu:after {
    clear: both;
}

.menu {
    *zoom: 1;
}

li.menu__mega ul.menu__second-level {
    position: absolute;
    top: 40px;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    padding: 20px 5%;
    background: #212121;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    color:#fff !important;
}

li.menu__mega ul.menu__second-level a{
    color:#fff;
}

li.menu__mega:hover ul.menu__second-level {
    top: 46px!important;
    visibility: visible;
    opacity: 1;
}

li.menu__mega ul.menu__second-level > li {
    float: left;
    width: 25%;
    border: none;
    text-align: left;
    color:#fff;
}

li.menu__mega ul.menu__second-level > li:nth-child(3n+2) {
}

li.blank50{
    width:50% !important;
}

li.blank75{
    width:75% !important;
}

li.blank100{
    width:100% !important;
}

.menu + .menu__mega{
    background-color: red;
    color:#fff;
}

.global-inner{width:980px; margin:0 auto;}
/* トップページ中央コンテンツ */
#topcontent{
}
#topcontent a:hover{text-decoration:none;}

#topcontent section{padding:100px 0px;}
#topcontent h2 span{font-size:70px; margin-bottom:20px;}
#topcontent .news h2 span{font-size:50px; }
#topcontent .contact h2 span{font-size:50px; font-weight:400; }



#topcontent .kv{ background-image: url("../../common/images/top/kv.png"); background-repeat:no-repeat; height:calc(100vh - 120px); background-size:cover; }
#topcontent .kv .copy{font-size:4vw;}
#topcontent .kv .btn a{padding:10px;}


#topcontent .news dl{padding: 20px 0px;}
#topcontent .news dt{width:auto;}
#topcontent .news dt span{display:inline-block; width:100px; margin-left:20px; margin-right:20px; font-size:13px;}
#topcontent .news ul.btn{
	justify-content: flex-end;
	margin-top: 20px;
	margin-bottom: 0;
}
#topcontent .news ul.btn li{width: 180px; margin-left:10px;}

#topcontent .business .box{
	width: 980px;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
		margin-top: -80px;

	padding-top:100px;
	padding-bottom:100px;
}


#topcontent .business .box a{width:22%; margin-left:10px; margin-right:10px;padding: 40px 0px;}
#topcontent .business .box a.product{display:flex;justify-content: center;align-items: center;}
#topcontent .business .box a .photo{margin-bottom:20px;}
#topcontent .business .box a .photo img:first-of-type { display: inline;}
#topcontent .business .box a .photo img:last-of-type { display:none;}

#topcontent .business .box a:hover .photo img:first-of-type { display: none;}
#topcontent .business .box a:hover .photo img:last-of-type { display:inline;}

#topcontent .business .box a.product .photo{margin-bottom:0px;}




#topcontent .aboutus{background-image: url(../../common/images/top/top-aboutus.jpg);    background-size: cover;height:550px; padding:0px; margin-top:0px !important; background-position:center;}
#topcontent .aboutus h2{padding-top:120px; margin-bottom:80px;}
#topcontent .aboutus .box{}

#topcontent .aboutus .box a{width:300px; height:180px;}
#topcontent .aboutus .box a .item{ font-size:19px; font-weight:bold;line-height:20px;}


#topcontent .contact .btn{
	width: 500px;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
}



/*== ボタン共通設定 */
#topcontent .btn-animation{
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
  overflow: hidden;
    /*ボタンの形状*/
  text-decoration: none;
  display: inline-block;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/
    transition: ease .2s;
}

/*ボタン内spanの形状*/
#topcontent .btn-animation span {
  position: relative;
  z-index: 3;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
}

#topcontent .btn-animation:hover span{
  color:#fff !important;
}

/*== 背景が流れる（左から右） */
#topcontent .bgleft:before {
  content: '';
    /*絶対配置で位置を指定*/
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
    /*色や形状*/
  background:#004098;/*背景色*/
  width: 100%;
  height: 100%;
    /*アニメーション*/
  transition: transform .1s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: left top;
}

/*hoverした際の形状*/
#topcontent .bgleft:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
  transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}
/* フッター */
footer{
    height: 57px;
}

footer .footer_inner{
	width:980px;
}
footer .footer_inner p{
	float:right;
}


/* 下層ページ中央コンテンツ共通 */

#content{
    clear: both;
    margin: 70px auto;
    overflow: hidden;
    width: 980px;
}

/* 下層ページサイドナビゲーション共通 */

#content aside.left_navi{
    width:200px;
    float:left;
    font-size:12px;
}
#content .right_content{
    width:730px;
    float:right;
    
    &.left {
    	float: none; 
    }
}

/* 下層ページ右コンテンツ共通 */

#content .right_content_header{
    clear: both;
    margin-bottom: 35px;
    overflow: hidden;
}

#content .right_content_header img.imageicon{
    float:left;
}
#content .right_content_header p.subtitle{
    font-size: 18px;
}
#content .right_content_header .corporate_caption{
/*
    float:right;
*/
    width:590px;
}

#content .right_content_header h2{
    color: #004098;
    font-size: 22px;
    font-weight: bold;
    letter-spacing: 3px;
    margin-bottom: 15px;
}

#content .right_content_header p.subtitle{
    font-size: 18px;
    font-weight: bold;
    line-height: 1.6em;
}

#content .titlelist ul.link-box li{
    margin-right: 25px;
    margin-bottom: 30px;
    float:left;
    width:350px;
}
#content .titlelist ul.link-box li.wide{width:410px;}
#content .titlelist ul.link-box li.short{width:150px;}
#content .titlelist ul.link-box li:nth-child(even){
    margin-right:0;
}
#content .titlelist ul.link-box li img {
    right: 25px;
}
/* サイトのご利用にあたって */
#content .adobereader_style2 img {
    float: left;
    margin-right: 30px;
}
/* ごあいさつ */
.message_text .left{
    float:left;
    /*width: 405px;*/
}
.message_text img{
    /*width:308px;*/
}
/* 企業理念・指針 */
#content h3{
    letter-spacing: 2px;
}
#content .adobereader_style img{
    float: left;
    margin-right: 30px;
}
#content .pdfdownload_block li{
	position:relative;
    width:730px;
    height: 52px;
}
#content .pdfdownload_block li span{
	position: absolute;
    top: 2px;
    right: 155px;
    height: 52px;
    letter-spacing: 3px;
    line-height: 52px;
}
/* 会社概要 */
dl.corporatetable dl {
    width:600px;
}

dl.corporatetable dt {
    float: left;
    width: 216px;
}

dl.corporatetable dd {
    float: left;
	width: 451px;
	border-left: 1px solid #ccc;
}

dl.corporatetable2 dl {
    width:600px;
}

dl.corporatetable3 dl {
    width:600px;
}

dl.corporatetable2 dt {
    width: 186px;
}

dl.corporatetable2 dd {
	width: 451px;
}
dl.corporatetable3 dt {
	width: 300px;
}
dl.corporatetable3 dd {
    width: 337px;
}

/* 事業紹介 */
#content .titlelist_service li{
    width: 350px;
    background-size: 350px 199px;
    margin-right: 25px;
    margin-bottom: 35px;
    float:left;
}
#content .titlelist_service ul.flex{display:flex;flex-wrap: wrap;}


#content .titlelist_service li:nth-child(even){
    margin-right:0;
}
#content .titlelist_service li h3 img{
    right: 20px;
}
/* 個人情報保護方針 */
dl.company_contact{
    width: 400px;
}
ul.numberlist li object{
	display:block;
	margin-left:1em;
}
/* 業績・財務 */
dl.irtable dl {
    width:600px;
}
dl.irtable dt {
    float: left;
    width: 216px;
}
dt.dt1{width:120px !important;}
dl.irtable dd {
    border-left: 1px solid #ccc;
    float: left;
    width: 481px;
}
dd.dd2{
	width: 461px !important;
}
dd.dd3{
	width: 288px !important;
}
dd.dd3 img{width:40%; height:auto;}
dd.dd3 img{margin-top:30px;}

/* 業績情報 */
.irgraf_box{
    clear: both;
    margin-bottom: 50px;
    overflow: hidden;
}
.irgraf_box ul.left{
    width:353px;
    float:left;
}
.irgraf_box ul.right{
    width:353px;
    float:right;
}
.box_left{
    float: left;
    width: 525px;
}
.box_right2{
    width: 183px;
}

#performance_info_table,
#policy_info_table { width:726px;}
#performance_info_table tr.no-border td{border-bottom:none;}
#performance_info_table th:last-child,
#policy_info_table th:last-child {border-right:none; }
#performance_info_table td:last-child,
#policy_info_table td:last-child {border-right:none;}
#performance_info_table td.textL,
#policy_info_table td.textL { text-align:left;}

.right_content .readmore{
	display:none;
}

}
@media screen and (min-width:415px) and (max-width:768px) {
.onlySp_view{
	display:none;
}
/* 下層ページ右コンテンツ共通 */
#content .titlelist ul.link-box li{
    margin-right: 25px;
    margin-bottom: 35px;
    float:left;
    width:350px;
}
#content .titlelist ul.link-box li.wide{width:380px;}
#content .titlelist ul.link-box li.short{width:150px;}

#content .titlelist ul.link-box li:nth-child(even){
    margin-right:0;
}
/* 事業紹介 */
#content .titlelist_service li {
    width: 350px;
    background-size: 350px 199px;
    margin-right: 25px;
    float:left;
}
#content .titlelist_service li:nth-child(even){
    margin-right:0;
}
/* 業績情報 */
.irgraf_box{
    clear: both;
    margin-bottom: 50px;
    overflow: hidden;
}
.irgraf_box ul.left{
    width:353px;
    float:left;
}
.irgraf_box ul.right{
    width:353px;
    float:right;
}
}
@media screen and (max-width:414px) {
.tab_view{
	display:none;}
#content .sitemap ul li{
    font-size:13px;
}

#content .sitemap ul li.listblock360{
    width:100% !important;
}

}
/*****************************スマホ*****************************/
@media screen and (max-width:768px){
*{
	box-sizing:border-box;}
body{
	font-size:13px;}
img{
	max-width:100%;
	height:auto;}
.pc_view{
	display:none;}
.ls-1{
	letter-spacing:-1px;}

/* header */
h1 {
	margin-left: .75rem;}
h1 img {
	zoom:0.7;}
header .header_inner_top{
    width: 100%;
}
header nav{
	width:100%;
}
header nav li{
	border-bottom: 1px solid #b9b9b9;
}
header nav a{
	display:block;
	padding:.5em 1em;
}
header nav span.lang{
	text-align: center;
	display: block;
	margin-top: 10px;
	
	a {
		display: inline;
	}
}

/* トップページフッター */
footer .footer_inner{
	width:100%;
}
footer .footer_inner p{
	text-align:center;
	padding:.5em 1em;
}

/* 下層ページ中央コンテンツ共通 */
#content{
    width: 100%;
	padding:0 1rem;
	margin: 30px auto;
}
#content article{
	display: flex;
    display: -webkit-flex;
    flex-flow: column nowrap;}
#content .adobereader_style2 p{
    line-height: 1.5em;
}
/* 下層ページサイドナビゲーション共通 */
#content aside.left_navi{
    width:100%;
	margin-top:30px;
    font-size:12px;
}
#content .right_content{
	width:100%;
	margin: 30px auto 0;
}
/* 下層ページ右コンテンツ共通 */
#content .right_content_header img.imageicon{
    margin-right:1em;
}
#content .right_content_header p.subtitle{
    font-size: 14px;
}
#content .titlelist ul.link-box li img {
    right: 15px;
}
/* ごあいさつ */
.message_text img{
    /*width:30%;*/
	margin-left: 2em;
}
/* 企業理念・指針 */
#content h3{
    letter-spacing: 1px;
}
#content .pdfdownload_block li{
	border: #004098 1px solid;
}
#content .pdfdownload_block li a{
	display: block;
    background-color: #004098;
	text-align: center;
}
#content .pdfdownload_block li span{
	letter-spacing: 2px;
    display: block;
    background: #fff;
    padding: 0.5em;
}
/* 会社概要 */
dl.corporatetable2 dl,
dl.corporatetable3 dl {
    width:100%;
}

dl.corporatetable2 dt,
dl.corporatetable3 dt {
    width: 55%;
    padding: 15px 10px;
	letter-spacing:-1px;
}

dl.corporatetable2 dd,
dl.corporatetable3 dd {
	width: 45%;
}



/* 事業紹介 */
#content .titlelist_service li h3 img{
    right: 10px;
}
#content .titlelist_service li a {
	display:block;
}
/* 業績・財務 */
dl.irtable dd {
    padding:15px;
}
/* 業績情報 */
.irgraf_box ul.left,
.irgraf_box ul.right{
	margin-bottom:30px;
}
.box_right1{
	width: 35%;
    max-width: 185px;
    margin-left: 1rem;
}
.box_right2{
	width: 45%;
	max-width: 183px;
    margin-left: 1rem;
}
#performance_info_table{
	border:none;
	border-collapse:collapse;
	display: block;
	position: relative;
	width: 100%;
}
#performance_info_table thead{
	display: block;
	float: left;
}
#performance_info_table tbody{
display: block;
	position: relative;
	width: auto;
	overflow-x: auto;
	white-space: nowrap;
}
#performance_info_table tbody::-webkit-scrollbar {
  height: 5px;
}
#performance_info_table tbody::-webkit-scrollbar-track {
  border-radius:5px;
  background: #eee;
}
#performance_info_table tbody::-webkit-scrollbar-thumb {
  border-radius:5px;
  background: #666;
}
#performance_info_table th,
#performance_info_table td {
    border-collapse: collapse;
    text-align: center;
    padding: 7px 5px;
    vertical-align: middle;
	display: block;
	min-height: 58px;
	border-right:1px solid #CACACA;
	border-bottom:1px solid #CACACA;
}
#performance_info_table tr{
	display: inline-block;
}
#performance_info_table:after{
content: "※右へスクロールし、閲覧してください。";
display: block;
line-height:2em;
}

/*中期目標*/
#policy_info_table {
	width:100%;
	table-layout:fixed;
}
#policy_info_table th,
#policy_info_table td {
    border-collapse: collapse;
    text-align: center;
    padding: 7px 5px;
    vertical-align: middle;
	border-right:1px solid #CACACA;
	border-bottom:1px solid #CACACA;
	font-size:12px;
}
#policy_info_table th:last-child,
#policy_info_table td:last-child{border-right:none;}
/*続きを読む*/
.right_content{
	position:relative;
	z-index:0;
}

.right_content.onhidden{
	height:350px;
	overflow-y:hidden;
}

.right_content .readmore{
	position:absolute;
	bottom:0;
	width:100%;
	padding:20px 0;
	text-align:center;
	background: rgba(0, 0, 0, 0) linear-gradient(180deg, rgba(255, 255, 255, 0.5), white) repeat scroll 0 0;
	font-weight:bold;
	cursor:pointer;
	z-index:999;
}

.right_content .readmore span{
	border-radius:20px;
	padding:5px 30px;
	background-color:#dd4b39;
	color:#FFF;
}


/*情報セキュリティ*/
.flIMG{ float:left; margin-right:10px;}

}

/*お問い合わせ先　20200812追加*/

.flxbx{
  display:flex;
}
.flx-itm1{
  width:47%;
  margin: 0 10px 30px 4px;
}
@media screen and (max-width:980px){
  .flxbx{
    display:block !important;
  }
  .flx-itm1{
    width:75%;
  }
}
@media screen and (max-width:768px){
  .flxbx{
    display:block !important;
  }
  .flx-itm1{
    width:100%;
  }
  .contact-tbl{
    margin:0 auto;
  }
}
.contact-h3{
  font-size:12px !important;
  letter-spacing:normal !important;
  margin-bottom:3px !important;
  display:inline !important;
}
.contact-tbl{
  width:80%;
  border: solid 1px #999;
  border-collapse: collapse !important;
}
.contact-tbl th,.contact-tbl td{
  font-size:12px !important;
  border: solid 1px #999;
  border-collapse: collapse !important;
  padding:10px !important;
}
.contact-tbl th{
  background-color:#F7F8F8;
  font-weight:800 !important;
  width:35%;
}
.contact-tbl td{
  width:65%;
}
.contact-cptn{
  width:100%;
  text-align:left;
}
#contact_mlbx{
  width:400px;
  margin:0 auto;
  margin-top:30px;
}
#contact_mlbx img{
  width:100%;
}
@media screen and (max-width:980px){
  #contact_mlbx{
    margin:0 10px;
  }
}
@media screen and (max-width:768px){
  #contact_mlbx{
    margin:0 auto;
  }
}
@media screen and (max-width:440px){
  #contact_mlbx{
    width:90%;
    min-width:260px;
  }
}
/*以上20200812追加*/


.text{margin-bottom:25px;}

.sustainability-chart{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 2px;
	border-radius:5px;
	position:relative;
	margin-top:40px;
}
.sustainability-chart .lead-box{ width:100%; background-color:#5794e8; border-radius:5px;	 margin-bottom:10px; color:#FFF; position:absolute;
top: 60px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	width:650px;
	box-shadow: 0 0 5px rgba(0, 0, 0, .70);
}
.sustainability-chart .lead-box ul{list-style-type: disc;	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 45px; font-size:16px; font-weight:bold;}
.sustainability-chart .lead-box .ic{display:-webkit-box;display:-ms-flexbox;display:flex;padding:10px;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}
.sustainability-chart .lead-box img{width:70px; height:auto; margin-left:3px; margin-right:3px; margin-bottom:5px;}
.sustainability-chart .item{
	width: 32.5%;
	border: 2px solid #004098;
	border-radius: 5px;
	background-color: #F0F3FF;
	border-radius:10px 10px 5px 5px;
	height:550px;
}
.sustainability-chart .item h4{ text-align:center; background-color:#559cff; color:#FFF !important; border-radius:5px 5px 0px 0px; padding:5px 0px;}
.sustainability-chart .item ul{
	list-style-type: disc;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 25px;
	padding-top:240px;
}
.sustainability-chart .item ul li{
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	font-size:13px;
}
.sustainability-chart .item .ic{padding:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap: wrap;flex-wrap: wrap;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}
.sustainability-chart .item .ic img{width:60px; height:auto; margin-left:3px; margin-right:3px; margin-bottom:5px;}
.sustainability-top-kv img{width:100%; height:auto;}

.sustainability-table{border-collapse: collapse; width:100%; margin-bottom:25px;}
.sustainability-table th, .sustainability-table td{border-collapse: collapse;border:1px solid #333; padding:10px; text-align:center;}
.sustainability-table th.goal, .sustainability-table td.goal{background:#f2f2f2; font-weight:bold;}
.sustainability-table th{ background:#f7f8f8;}


@media screen and (max-width:768px){
.sustainability-chart{display:block;position: static;}
.sustainability-chart .item{width:100%; margin-bottom:10px; height:auto;}
.sustainability-chart .item ul{padding-top:0px;}
.sustainability-chart .lead-box{position:inherit; width:100%;top: auto;
    left: auto;
    transform: inherit;
    -webkit-transform: inherit;
    -ms-transform: inherit;
}
.sustainability-chart .lead-box ul{font-size:inherit;padding-left: 25px; }
.sustainability-table th, .sustainability-table td{padding:5px; font-size:12px; }
}

.point{
	border-radius: 5px;
	border: 2px solid #004098;
	padding:10px;
}
.point .lead{
	border-radius: 5px;
	background-color: #EBEBEB;
	padding:15px;
	margin-bottom:5px;
	border: 1px solid #CCC;
}
.point .box{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;-ms-flex-wrap: wrap;flex-wrap: wrap;}
.point .box .item{
	width: 43%;
	margin-left: 1%;
	margin-right: 1%;
	border: 1px solid #CCC;
	border-radius:5px;
	padding:10px;
	margin-bottom:15px;
}
.point .box .item:last-child{width:48%;}
.point .box .item img{ width:120px;height:120px;}

.point .box .item .column-between{	display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  flex-flow: column;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content:space-between;
  height: 240px;
}
.point .box .item .column-between p{white-space:nowrap;}

@media screen and (max-width:768px){
.point .box .item{width:100%;}
.point .box .item:last-child{width:100%;}
.point .box .item .column-between{height:auto;}
}

.flex-between{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;}
.bg-blue{background-color:#06C; color:#FFF !important;}
.bg-orange{background-color:orange; color:#FFF !important;}
.bg-green{background-color:green; color:#FFF !important;}
.radius5{border-radius:5px;}


.table1{ width:100%; margin-bottom:20px;}
.table1 th{background-color:#004098; color:#FFF; text-align:center; padding:5px;}
.table1 td{
	background-color: #B9CFFF; text-align:center;padding:5px;
}

/*==============================
スクロール（詳細ページ）
==============================*/
.scrollArea{white-space: nowrap;overflow:auto}
/*スクロールバーの横幅指定*/
/*スクロールバーの横幅指定*/
.scrollArea.deco::-webkit-scrollbar {    height: 25px;}
/*スクロールバーの背景色・角丸指定*/
.scrollArea.deco::-webkit-scrollbar-track {  border-radius: 10px;	background: #f2f2f2;}
/*スクロールバーの色・角丸指定*/
.scrollArea.deco::-webkit-scrollbar-thumb {  border-radius: 10px;	background:#777;}

/*==============================
table header　固定
==============================*/
.scrollArea table{
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #666666;
	margin-bottom:5px;
}

.scrollArea table th{
	position: sticky;
	top: 0;
	left: 0;
	background-color: #CCC;
}
.scrollArea table tr{border-bottom: 1px solid black;}
.scrollArea table tr.text-center td{text-align:center;}
.scrollArea table th{border-right-style: solid;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-right-color: #666666;
	border-bottom-color: #666666; font-size:12px; padding:5px;
		border-left-width: 1px;	border-left-style: solid;	border-left-color: #666666;


}
.scrollArea table td{border-right-style: solid;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-right-color: #666666;
	border-bottom-color: #666666; font-size:12px;
	text-align:right; padding:5px;}
.scrollArea table td span.small{font-size:10px;}
.scrollArea table td span.red{color:red;}
.scrollArea table td span.bold{ font-weight:bold;}





.product_char {
	display: flex;
	gap: 15px;
	margin-bottom: 15px;
	
	> li {
		width: calc((100% - 45px) / 4);
		background: #004098;
		color: #fff;
		text-align: center;
		border-radius: 10px;
		display: flex;
		align-items: center;
		
		> span {
			width: 100%;
			display: inline-block;
			padding: 15px;
		}
	}
}
@media screen and (max-width:768px){
.product_char {
	gap: 15px;
	flex-wrap: wrap;
	
	> li {
		width: calc((100% - 15px) / 2);
	}
}
}

.note {
	margin-bottom: 25px;
}

.column2 {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	
	> * {
		width: calc((100% - 20px) / 2 );
		text-align: center;
	}
	
	img {
		max-width: 100%;
	}
}

.prosdunt_lineup {
	display: flex;
	gap: 30px;
	
	.img {
		width: 250px;
		
		img {
			display: block;
			width: 100%;
		}
		
		p.center {
			text-align: center;
		}
		
		p.center + img {
			margin-top: 15px;
		}
	}
	
	.tx {
		width: calc(100% - 250px - 30px);
	}
	
	p {
		font-size: 13px;
	}
	p + p {
		margin-top: 10px;
	}
	a {
		color: #00A0E9;
	}
}

@media screen and (max-width:768px){

.prosdunt_lineup {
	flex-direction: column;
	justify-content: center;
	gap: 20px;
	
	.img {
		width: auto;
		text-align: center;
		
		img {
			display: inline-block;
			max-width: 300px;
		}
	}
	
	.tx {
		width: auto;
	}
}
}

.prosdunt_lineup + h4 {
	margin-top: 30px;
}
