@charset "utf-8";

/* ==========================================================================
   (1) ORIGIN: link/css/sub.css
   ========================================================================== */

/* (1)レイアウト
-------------------------------------------------------------------------*/

.ttl01 {
	clear: both !important;
	display: inline-block !important;
}

h4 {
	clear: both;
}

li.ttl01-float-none02 {
	display: none;
	clear: both !important;
	margin: 0px 0px 0px 0px !important;
	padding: 0px 0px 0px 0px !important;
	height: 1px !important;
	background: none !important;
}

li.ttl01-float {
	width: 230px;
	float: left;
}
li.ttl01-float-none {
	width: 229px;
	clear: both;
}

/* ==========================================================================
   (2) ORIGIN: company/css/sub.css
   ========================================================================== */

#box_comtop {
	width: 322px;
}

.ttl_comtop {
	width: 322px;
	/*
	background:url(/company/images/bg_topsub.gif) bottom no-repeat;
*/
	border-bottom: 3px solid;
	border-image: linear-gradient(to right, #88bc42, #0e6169, #2ba0d2) 1;
	color: #666;
	margin-bottom: 10px;
}
.ttl_comtop p {
	padding: 7px 10px;
	font-weight: bold;
	font-size: 110%;
}
.txt_comtop {
	width: 170px;
	float: left;
}

/* --------------------------------------------------
            ごあいさつ (greeting)    
-------------------------------------------------- */

#box_greeting img {
	float: left;
	margin: 0 20px 20px 0;
}
#box_greeting p {
	margin-bottom: 20px;
	line-height: 1.6;
	/*	text-indent:1em;*/
}

/* --------------------------------------------------
             会社概要(outline)       
-------------------------------------------------- */
.txt_outline {
	width: 400px;
	float: left;
}
#outline h5 {
	margin: 0;
	position: relative;
	padding-left: 10px;
	background: #f0f0f0;
	border: none;
	font-weight: bold;
	line-height: 1.4;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
#outline h6 {
	margin: 20px 0 5px 10px;
	padding-left: 10px;
	border-left: 8px solid #eaeaea;
	font-weight: bold;
	font-size: 14px;
	line-height: 1.5;
}

/* --------------------------------------------------
             グループ(sub)       
-------------------------------------------------- */
table.group {
	font-size: 85%;
}
#main table.group th {
	background-color: #009cde !important;
	color: #fff;
}
table.group tr:nth-child(odd) td {
	background-color: #f7f7f7; /* 奇数行の背景色 */
}

table.group tr.odd td {
	background-color: #f7f7f7;
}

/* --------------------------------------------------
               地図 (map)    
-------------------------------------------------- */
.map_half {
	width: 320px;
	text-align: center;
}
.map_half p {
	margin-bottom: 10px;
}

.sub-company li {
	margin-left: 20px;
	margin-bottom: 5px;
}

#box_tosushika {
	margin: 15px;
}
#box_tosushika ul {
	width: 410px;
	margin-left: 10px !important;
	float: left;
}
#box_tosushika ul.nofloat {
	width: 100%;
	float: none;
}

.year1 {
	font-weight: bold;
}

/* --------------------------------------------------
        パンフレット・ビデオ(pamph)      
-------------------------------------------------- */
div.pamph_box {
	overflow: hidden;
	padding: 10px 10px;
}
div.pamph_left {
	float: left;
	width: 250px;
	padding: 10px 5px;
	text-align: left;
}
div.pamph_right {
	float: right;
	width: 380px;
	text-align: left;
}
div.pamph_right ul {
	list-style-type: none;
	margin-left: 30px;
	margin-bottom: 20px;
}

div.pamph_03 {
	float: none;
	width: 300px;
	margin: 0 auto;
	text-align: center;
}
/*p.get_adobereader {
	width:600px;
	margin:5px auto 10px;
	padding:5px 10px;
	background:#F2F2F2;
	text-align:left;
}
p.get_adobereader img {
	margin-top:5px;
	margin-left:5px;
}
p.get_adobereader span.small{
	font-size:smaller;
}*/

p.get_adobereader2 {
	margin: 10px 0 10px 0;
	padding: 5px 10px;
	background: #f2f2f2;
	text-align: left;
	font-size: 80%;
}
p.get_adobereader2 img {
	margin-top: 5px;
	margin-left: 5px;
}
p.get_adobereader2 span.small {
	font-size: smaller;
}

div.video_box {
	overflow: hidden;
	padding: 10px 10px;
}
div.video_01 {
	float: left;
	width: 300px;
	text-align: center;
}
div.video_02 {
	float: right;
	width: 300px;
	text-align: center;
}

/* --------------------------------------------------
               IR       
-------------------------------------------------- */
/* -------- 投資家説明会 ---------- */

#box_tosushika img.thumbnail_pdf {
	float: left;
	margin-right: 20px;
	border: 1px solid #cccccc;
}

/* -------- 決算情報 ---------- */

#main table.kessan {
	margin: 10px auto;
	width: 610px;
}
#main table.kessan td {
	padding: 10px 5px;
	font-size: 95%;
}
#main table.kessan td.td_gl {
	text-align: center;
	font-size: 100%;
}
#main table td.align_middle {
	vertical-align: middle;
}

/* -------- 有価証券報告書 ---------- */

#main table.yuuka {
	width: 650px;
	margin: 10px auto;
}
#main table.yuuka th {
	padding: 10px 5px;
}
#main table.yuuka td {
	padding: 10px 5px;
	font-size: 95%;
}
#main table.yuuka td.td_gl {
	text-align: center;
	font-size: 100%;
}

/* -------- 政府保証債 ---------- */
div.hoshosai .table02 td {
	text-align: center;
}
div.hoshosai .table02 td.a_left {
	text-align: left;
}
div.hoshosai .table02 th.t_01 {
	width: 40%;
}
div.hoshosai .table02 th.t_02 {
	width: 24%;
}
div.hoshosai .table02 th.t_03 {
	width: 12%;
}
div.hoshosai .table02 th.t_04 {
	width: 24%;
}

/* -------------ソーシャルボンド--------------- */

.clearfix2 {
	overflow: hidden;
	margin-bottom: 20px;
}
.list-anchor-01 {
	list-style: none;
	margin: 0.5em 0 2.5625em -40px;
}
.list-anchor-01 li {
	float: left;
	margin-bottom: 0.375em;
	padding-left: 50px;
}
.list-anchor-01 > li > a {
	position: relative;
	display: inline-block;
	padding-left: 20px;
	text-decoration: none;
}
.list-anchor-01 > li > a::before,
.list-anchor-01 > li > a::after {
	content: "";
	position: absolute;
	display: block;
	border-radius: 2px;
	top: 0.5em;
	left: 6px;
	width: 2px;
	height: 7px;
	margin-top: 0;
	background-color: #07185c;
	transition: margin-top 0.2s;
	will-change: margin-top;
}
.list-anchor-01 > li > a::before {
	transform-origin: 0 100%;
	transform: rotate(35deg);
}
.list-anchor-01 > li > a::after {
	transform-origin: 100% 100%;
	transform: rotate(-35deg);
}

.list-anchor-01 > li > a:hover,
.list-anchor-01 > li > a:focus,
.list-anchor-01 > li > a:active {
	text-decoration: underline;
}

/* --------------------------------------------------
        あゆみ      
-------------------------------------------------- */

table.history td {
	vertical-align: top;
}
table.history td.history-image {
	text-align: center;
}
table.history .history-image div {
	font-size: 90%;
}
table.history .itm_title {
	background: #f7f7f7;
}

#main .kix td.history-image {
	border-bottom: 0px;
}
#main .kix td.history-image-last {
	border-bottom: 1px solid #c6c6c6;
}

/* --------------------------------------------------
        org      
-------------------------------------------------- */
.org {
	margin: 5px 0;
}
.org .orgbox {
	width: 420px;
	margin: 0 auto 6px;
	padding: 5px 15px;
	text-align: center;
	background: #e0e7ed;
	font-size: 13px;
	color: #032156;
}
.org .org_sub {
	text-align: left;
	padding-left: 90px;
}
.org .org_sub2 {
	width: 450px;
	margin: 15px auto 5px;
	text-align: left;
	font-size: 13px;
}
.org .box1 {
	width: 440px;
	margin: 6px auto;
	border: 1px solid #93a5bd;
}
.org .box2 {
	width: 460px;
	margin: 8px auto;
	padding: 2px 0;
}
.org .kixbox {
	border: 2px solid #00a3e1;
}
.org .itmbox {
	border: 2px solid #8dc21f;
}
.org h5 {
	margin: 6px 0 4px;
	padding: 0;
	border: 0px;
	text-align: center;
	font-weight: bold;
	font-size: 15px;
}
.org h6 {
	margin: 6px 0 4px;
	font-size: 13px;
	font-weight: normal;
	color: #6685af;
	text-align: center;
}
.org .kix {
	color: #00a3e1;
}
.org .itm {
	color: #8dc21f;
}

/* ==========================================================================
   (3) ORIGIN: public/css/sub.css
   ========================================================================== */

ul.kaiji {
	padding: 10px;
	margin: 10px;
}
ul.kaiji li {
	list-style: disc !important;
	padding: 0 15px 10px 0 !important;
	margin-bottom: 7px !important;
	background: none !important;
	margin-left: 20px;
}

ul.kaiji02 {
	padding: 10px;
	margin: 10px;
}
ul.kaiji02 li {
	list-style: decimal !important;
	padding: 0 15px 10px 0 !important;
	margin-bottom: 7px !important;
	background: none !important;
	margin-left: 20px;
}

.box_kaiji {
	padding: 20px;
	border: solid 1px #cccccc;
}
.box_kaiji ul {
	padding: 10px;
}
.box_kaiji ul li {
	list-style: none !important;
	padding: 0 15px 10px 0 !important;
	margin-bottom: 7px !important;
	background: none !important;
	margin-left: 20px;
	padding-left: 2em !important; /*1em（1文字）分、右に動かす*/
	text-indent: -2em !important;
}

/* 退職公務員 */
.table_retire {
	width: 99% !important;
	margin: 0 0 10px !important;
	border-top: 1px solid #c6c6c6 !important;
	border-right: none !important;
	border-bottom: none !important;
	border-left: 1px solid #c6c6c6 !important;
	text-align: left;
}
.table_retire th {
	vertical-align: top !important;
	padding: 8px !important;
	border-top: none !important;
	border-right: 1px solid #c6c6c6 !important;
	border-bottom: 1px solid #c6c6c6 !important;
	border-left: none !important;
	background-color: #f4f4f4 !important;
	text-align: center !important;
}
.table_retire td {
	vertical-align: top !important;
	padding: 8px 5px !important;
	border-top: none !important;
	border-right: 1px solid #c6c6c6 !important;
	border-bottom: 1px solid #c6c6c6 !important;
	border-left: none !important;
	text-align: center;
}
.table_retire td.left {
	float: none;
	text-align: left;
}

.retire h5 {
	border-bottom: solid 0px #cccccc;
	margin: 15px 10px 0px 10px;
	padding: 7px 5px;
	font-size: 105%;
	font-weight: bold;
}

/* ==========================================================================
   (4) ORIGIN: order/css/sub.css
   ========================================================================== */

.ttl_ordertop {
	width: 900px;
	/*
	background:url(/order/images/bg_topsub.gif) bottom no-repeat;
*/
	border-bottom: 3px solid;
	border-image: linear-gradient(to right, #88bc42, #0e6169, #2ba0d2) 1;

	color: #666;
	margin-bottom: 10px;
}
.ttl_ordertop p {
	padding: 7px 10px;
	/* [disabled]font-weight: bold; */
	font-size: 110%;
}
.ttl_ordertop img {
	margin-left: 10px;
	margin-top: -7px;
}

div.ordertop {
	position: relative;
	margin-bottom: 30px;
}
div.ordertop p {
	padding: 0 10px;
}
.ordertop dt {
	position: absolute;
	left: 0;
	width: 5em;
	padding: 10px;
}
.ordertop dd {
	border-bottom: solid 1px #ccc;
	padding: 10px 10px 10px 8em;
}

div.attention {
	border: 2px solid #f00;
	margin: 5px 0 15px;
	padding: 3px 5px;
	/*	font-size:90%;*/
}

div.attention a {
	text-decoration: underline;
	color: #333;
}

/* 届出書類ページ */

.order_box {
	margin: 20px 20px;
}

#order_sub div.attention {
	border: 2px solid #333;
	margin: 10px 10px 30px;
	padding: 5px;
	font-size: 100%;
}
#order_sub h3 {
	width: 866px;
	height: 20px;
	margin: 30px auto 10px;
	padding: 10px 10px 10px 20px;
	line-height: 20px;
	background: url(/order/images/bg_title.gif) no-repeat left top;
	color: #fff;
}
#order_sub a {
	text-decoration: underline;
}
#order_sub a:hover {
	text-decoration: none;
}

#order_sub table.table_wide {
	width: 100% !important;
}

#order_sub table.table_wide th {
	text-align: center !important;
	background-color: #eee !important;
}
#order_sub table.table_wide td {
	text-align: center;
}
#order_sub table.table_wide td.align_left {
	text-align: left;
}

/* ==========================================================================
   (5) ORIGIN: tech/css/sub.css
   ========================================================================== */

.box_monu {
	position: relative;
	background: url(/tech/sink/images/bg_monu.jpg) no-repeat #ffffe4;
	width: 600px;
	margin: 10px auto;
}

.box_monu p {
	padding-top: 70px;
	margin-left: 30px;
	width: 400px;
	margin-bottom: 20px;
}

.box_taishin {
	width: 640px;
	margin: 0 auto 10px;
}

.ta_saku {
	width: 90% !important;
}

.box_kyohu {
	width: 600px;
	margin: 0 auto 10px;
}

.table_board {
	width: 600px !important;
	margin: 0 auto 10px !important;
	border: none !important;
}
.table_board td {
	vertical-align: top !important;
	padding: 10px !important;
	border: none !important;
	text-align: center !important;
}

.new_tech {
	width: 450px !important;
}

/* ==========================================================================
   (6) ORIGIN: news/css/sub.css
   ========================================================================== */

#box_news {
	width: 530px;
	float: left;
	position: relative;
}

#box_news table {
	width: 500px !important;
}

#box_unei {
	width: 330px;
	float: right;
	position: relative;
}

#box_unei table {
	width: 330px !important;
}

h4.news {
	background: #f4f4f4;
	border-top: solid 1px #cdcdcd;
	border-left: solid 1px #cdcdcd;
	border-right: solid 1px #cdcdcd;
	border-bottom: 3px solid #82caec;
	padding: 8px 7px 5px 10px;
	margin-bottom: 20px;
}

h4.news02 {
	background: #f4f4f4;
	border-top: solid 1px #cdcdcd;
	border-left: solid 1px #cdcdcd;
	border-right: solid 1px #cdcdcd;
	border-bottom: 3px solid #82caec;
	padding: 8px 7px 5px 10px;
	margin-bottom: 20px;
	margin-top: 20px !important;
}

#release table {
	font-size: 90%;
	border-bottom: 1px #cccccc solid;
	border-top: none !important;
	border-left: none !important;
	border-right: none !important;
}
#release table tr {
	border: none !important;
}
#release table td {
	padding: 3px;
	border: none !important;
}

.re_p {
	padding: 10px 10px 15px;
}

.news_txt {
	overflow: auto;
	height: 640px;
}

#hanrei {
	background: #f7f5e9;
	font-size: 80%;
	padding: 8px 5px 5px 5px;
	margin-bottom: 20px;
}
#hanrei img {
	margin-right: 5px;
	margin-top: -3px;
}
#hanrei li {
	display: inline;
	list-style: none;
}

/* news */

.news_detail {
	margin: 10px;
	font-size: 90%;
	border-bottom: solid 1px #cccccc;
	clear: both;
	overflow: auto;
}

div.news_date {
	width: 80px;
	float: left;
	margin: 0px;
	padding: 0 0px 10px 5px;
}
div.news_content {
	width: 390px;
	float: right;
	margin: 0px;
}

div.news_content_img {
	width: 20px;
	height: 20px;
	display: block;
	float: left;
	margin: 0px 0px 10px 0px;
}

div.news_content_text {
	display: block;
	float: rigth;
	margin: 0px 0px 10px 30px;
}

/* ==========================================================================
   (7) ORIGIN: concession/css/sub.css
   ========================================================================== */

p.indent {
	text-indent: 1em;
}
.pl_1em {
	padding-left: 1em;
}

.concession h5 {
	border-bottom: 0px;
	margin: 20px 5px 10px 0;
	padding: 0px;
	/*font-weight:normal;*/
	font-size: 100%;
}
.concession .paragraph {
	margin: 0 0 15px 10px;
	padding: 0;
}

div.concession_box {
	border: 1px solid #999;
	margin: 30px 15px;
	padding: 10px;
}

p.date {
	text-align: right;
	margin: 30px 0;
}

ul.pdf_list {
	margin: 15px 0;
	padding: 10px;
}
ul.pdf_list li {
	background-image: url(/images/arrow_li.gif);
	background-repeat: no-repeat;
	background-position: 0 4px;
	list-style: none;
	padding: 0 15px 10px 15px;
	margin-bottom: 5px;
}
ul.pdf_list li a.pdf {
	background: url(/images/top/icon_pdf.gif) no-repeat right top;
	background-size: contain;
	padding-right: 25px;
	padding-top: 2px;
}
ul.pdf_list li a.excel {
	background: url(/images/ico_excel01.gif) no-repeat right top;
	background-size: contain;
	padding-right: 25px;
}
ul.pdf_list li a.word {
	background: url(/images/icon_doc.gif) no-repeat right top;
	background-size: contain;
	padding-right: 25px;
}

ul.li_dot {
	margin: 10px 0 20px 30px;
	list-style: none;
}
ul.li_dot li {
	list-style: disc;
	margin-bottom: 5px;
}

dl.leftright {
	margin: 0 10px 10px;
	word-break: normal;
	word-wrap: break-word;
	overflow: hidden;
}
dl.leftright dt {
	clear: both;
	float: left;
}

dl.dt200 dt {
	width: 200px;
}
dl.dt200 dd {
	margin-left: 220px;
}
dl.dt300 dt {
	width: 300px;
}
dl.dt300 dd {
	margin-left: 320px;
}

p.rss_btn {
	text-align: right;
}
p.rss_btn img {
	vertical-align: baseline;
}

/****************************************************************************************
スマホ用
*****************************************************************************************/
@media (max-width: 768px) {
	#box_comtop {
		width: 100% !important;
	}
	.ttl_comtop {
		width: 100% !important;
	}

	.ttl_ordertop {
		width: 100% !important;
	}
	.ttl_ordertop p {
		display: flex;
		justify-content: space-between;
		font-size: 1rem;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.ttl_ordertop img {
		margin-top: 0 !important;
		margin-left: 8px !important;
		margin-bottom: 4px;
	}
	.ttl_ordertop a {
		width: 113px;
	}

	.box_kaiji {
		padding: 0 !important;
	}
	.box_kaiji ul li {
		margin-left: 0 !important;
	}

	#box_news,#box_unei {
		width: 100%;
	}
	div.news_content {
		width: calc(100% - 90px);
	}
	.news_txt {
		height: auto;
	}

	#hanrei {
		display: flex;
		flex-flow: wrap;
		gap: 10px;
	}
	
	dl.leftright dt {
		clear: none;
		float: none;
	}

	dl.dt200 dt {
		width: auto;
		font-weight: bold;
	}
	dl.dt200 dd {
		margin-left: auto;
	}
	dl.dt300 dt {
		width: auto;
		font-weight: bold;
	}
	dl.dt300 dd {
		margin-left: auto;
	}
	
	#box_tosushika ul {
		width: auto;
		float: none;
	}
	
	#box_tosushika img.thumbnail_pdf {
		float: none;
		margin-right: 0;
		margin-bottom: 8px;
	}
}







.news_txt ul {
  list-style: none;
  padding: 0;
  margin: 10px;
}

.news_txt li {
  display: flex;
  flex-wrap: wrap; /* 折り返しを許可 */
  align-items: flex-start;
  padding: 10px 0 0;
  border-bottom: 1px solid #ccc; /* 区切り線（任意） */
}

/* 日付部分：左側に固定 */
.news_txt .news_date {
  flex-basis: 90px; /* 日付の幅を固定 */
  flex-shrink: 0;
}

/* アイコン部分 */
.news_txt .news_content_img {
  flex-basis: 40px; /* アイコンエリアの幅 */
  flex-shrink: 0;
  text-align: center;
}

/* テキスト部分：残りの幅をすべて使う */
.news_txt .news_content_text {
  flex-basis: calc(100% - 130px); /* 100% - (日付幅 + アイコン幅) */
  margin-bottom: 8px; /* 2行目がある場合の余白 */
}

/* 2つ目以降の要素を強制的に改行させた際、日付部分を空白に見せる設定 */
/* 3番目以降の要素（2つ目のアイコンから）に適用 */
.news_content_text + .news_content_img {
  margin-left: 90px; /* 日付の幅分だけ左に余白を作る */
}

/* PDFファイルへのリンクにアイコンを追加 */
#release a[href$=".pdf"]::after {
  content: url('/images/top/icon_pdf.gif');
  margin-left: 4px; /* リンクテキストとの間隔 */
  vertical-align: top; /* 垂直方向の配置調整 */
}


#box_unei ul {
  list-style: none;
  padding: 0;
  margin: 10px;
  font-size: 90%;
}

#box_unei li {
  display: flex;
  flex-wrap: wrap; /* 折り返しを許可 */
  align-items: flex-start;
  padding: 10px 0 0;
  border-bottom: 1px solid #ccc; /* 区切り線（任意） */
}

#box_unei .news_date {
  flex-basis: 90px; /* 日付の幅を固定 */
  flex-shrink: 0;
}

#box_unei .news_content_text {
  flex-basis: calc(100% - 90px); /* 100% - (日付幅 + アイコン幅) */
  margin-bottom: 8px; /* 2行目がある場合の余白 */
}