﻿@charset "utf-8";
/* CSS Document */

/* ------------------------------------------------------
product
------------------------------------------------------ */

/* ----------- menu ----------- */
div#menu dt.m01 a{background:url(../company/images/menu_01.gif);}
div#menu dt.m01 a:hover{background:url(../company/images/menu_01.gif) 0 -39px no-repeat;}

div#menu dt.m02 a{background:url(../company/images/menu_02.gif);}
div#menu dt.m02 a:hover{background:url(../company/images/menu_02.gif) 0 -39px no-repeat;}

div#menu dt.m03 a{background:url(../company/images/menu_03.gif);}
div#menu dt.m03 a:hover{background:url(../company/images/menu_03.gif) 0 -39px no-repeat;}

div#menu dt.m04 a{background:url(../company/images/menu_04.gif);}
div#menu dt.m04 a:hover{background:url(../company/images/menu_04.gif) 0 -39px no-repeat;}

div#menu dt.m05 a{background:url(../company/images/menu_05.gif);}
div#menu dt.m05 a:hover{background:url(../company/images/menu_05.gif) 0 -39px no-repeat;}


/* ----------- menu onの場合 ----------- */
div#menu dt.on a{
	background-position: 0 -39px;
	display:block;
}




/* ----------- contents ----------- */
#contents div.tempCnWrap {
	width : 662px;
	text-align : center;
	}

#contents div.tempCnWrap table.tempTable {
	width : 80%;
	margin : 0 auto;
	border-collapse : collapse ;
	display : block ;
}

	
#contents div.tempCnWrap table.tempTable tr td {
	border : 1px solid #B3B3B3 ;
	text-align : left;
	padding : 3px 5px ;
	color : #404040 ;
	}

#contents div.tempCnWrap table.tempTable tr td.tempHeader {
	background-color : #FFE6BF ;
	width : 25%;
	}


#contents ol.tempNumList {
	}

#contents ol.tempNumList li {
	list-style-type : decimal;
	margin-left : 30px ;
	line-height : 1.5;
	font-size:85%;
	}


.tempDlWrap {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 3.2em;
	padding-inline: .8em;
}

.tempDlWrap__item {
	display: flex;
	gap: 1.6em;
	align-items: flex-start;
	dl {
		flex: 1;
	}
	img {
		margin-left: auto;
		max-width: 150px;
		height: auto;
	}
}



.tempDlWrap dt {
	display: flex;
	align-items: center;
	gap: .5em;
	font-size: 16px;
	padding :.4em 0 .4em;
	margin:0 0 .5em 0;
	font-weight : bold;
	border-bottom:1px dotted #afafaf;
	border-top:1px dotted #afafaf;
	&::before {
		content: '';
		display: block;
		width: .5em;
		height: .5em;
		background: #67c335;
		border-radius: 50%;
	}
}
.tempDlWrap dd {
	padding:0 0 0 16px;
	font-size: 14px;
}


	
	


	
hr.tempClear {
	display                : none;
	clear                  : both;
	}


/* #contents h3,
#contents h4,
#contents h5,
#contents h6 {
	clear : both;
	}

#contents h4 {
	width : 636px;
	height : 25px;
	margin : 5px 0px 10px 12px;
	}



#contents h3 span,
#contents h4 span,
#contents h5 span,
#contents h6 span {
	display : none;
	}
*/

#gen_title01 { background:url(../company/images/gen_title_01.jpg) 0 0 no-repeat; }
#gen_title02 { background:url(../company/images/gen_title_02.jpg) 0 0 no-repeat; }
#gen_title03 { background:url(../company/images/gen_title_03.jpg) 0 0 no-repeat; }

#off_title01 { background:url(../company/images/off_title_01.jpg) 0 0 no-repeat; }
#off_title02 { background:url(../company/images/off_title_02.jpg) 0 0 no-repeat; }
#off_title03 { background:url(../company/images/off_title_03.jpg) 0 0 no-repeat; }
#off_title04 { background:url(../company/images/off_title_04.jpg) 0 0 no-repeat; }
#off_title05 { background:url(../company/images/off_title_05.jpg) 0 0 no-repeat; }
#off_title06 { background:url(../company/images/off_title_06.jpg) 0 0 no-repeat; }




#contents div.temp_back_image_wrap {
	background:url(../company/images/gro_back_01.jpg) 0 0 no-repeat;
	min-height : 200px;
	}

#contents div.temp_back_image_wrap table {
	border-collapse : collapse ;
	}

#contents div.temp_back_image_wrap table tr td {
	vertical-align : top;
	}

#contents div.temp_back_image_wrap table tr td table tr td {
	text-align : left;
	vertical-align : top;
	font-size : 85%;
	}

#contents div.temp_back_image_wrap table tr td table tr td ul {
	margin-bottom : 40px;
	}

#contents div.temp_back_image_wrap table tr td table tr td ul li {
	line-height : 1.5;
	}

#contents div.temp_back_image_wrap table tr td table tr td ul li span { background:url(../company/images/com_list_icon_nolink.gif) 0 1px no-repeat; padding-left : 11px; }
#contents div.temp_back_image_wrap table tr td table tr td ul li a    { background:url(../company/images/com_list_icon_link.gif)   0 1px no-repeat; padding-left : 11px; }






#contents div.tempImageWrap {
	width : 640px;
	clear                  : both;
	}

#contents div.tempImageWrap:after {
	content                : "";
	display                : block;
	clear                  : both;
	height                 : 1px;
	overflow               : hidden;
	}

#contents div.tempImageWrap p {
	display: block;
	margin : 0 ;
	padding : 0 0 0 10px;
	line-height : 1.4;
	}


#contents div.tempImageWrap img.tempRightImage {
	float : right;
	margin-left : 10px ;
	}


#contents div.tempImageWrap img.tempLeftImage {
	float : left;
	margin-right : 10px ;
	}



#contents table.tempTableTemple {
	border-collapse : collapse ;
	margin: 0 auto;
	border:1px solid #dadada;
	width: 100%;
	font-size:16px;
	line-height:160%;
}

	

#contents table.tempTableTemple tr {
	margin  :0;
	padding :0;
}

#contents table.tempTableTemple th {
	margin : 0;
	padding : .4em .8em;
	border-bottom : 1px dotted #dadada;
	background : #f5f6eb;
	width : 10em;
	text-align:left;
}

#contents table.tempTableTemple td {
	text-align : left;
	margin:0;
	padding: .4em .8em;
	border-right:1px solid #dadada;
	border-bottom:1px dotted #dadada;
}

#contents table.tempTableTemple td span{
	margin:0;
	padding:0 1em 0 0;
	display: inline-flex;
	line-height: 1.2;
}

#contents table.tempTableTemple td span.no {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	&::before {
		content: '';
		display: block;
		width: 11px;
		height: 9px;
		background: url(/product/images/icon_arrow_black.png) no-repeat;
		opacity: .5;
	}
}

#contents table.tempTableTemple td span a {
	padding: 0;
	display: inline-flex;
	align-items: center;
	gap: .5em;
	color: #005b9d;
	transition: .3s color, .3s border-color;
	&::before {
			content: '';
			display: block;
			width: 11px;
			height: 9px;
			background: url(/product/images/icon_arrow_blue.png) no-repeat;
			transition: .3s filter;		
	}
	@media(hover: hover) {
		&:hover {
			color: #333;
			border-color: #333;
			&::before {
				filter: grayscale(1);
			}
		}
	}
}


/* ---------------------------------------- 共通 */
.mb10 { margin-bottom : 10px !important;}
.mb20 { margin-bottom : 20px !important;}
.mb30 { margin-bottom : 30px !important;}
.mb40 { margin-bottom : 40px !important;}
.mb50 { margin-bottom : 50px !important;}
.mb60 { margin-bottom : 60px !important;}

.mt10 { margin-top : 10px !important;}
.mt20 { margin-top : 20px !important;}
.mt30 { margin-top : 30px !important;}
.mt40 { margin-top : 40px !important;}
.mt50 { margin-top : 50px !important;}
.mt60 { margin-top : 60px !important;}





/* ---------------------------------------- 追記 */
dl.comp {
	font-size: 16px;
	display: flex;
	align-items: center;
	gap: 1em;
	dt {
		text-align:left;
		width: 6em;
		font-weight:bold;	
	}
	dd {
		flex: 1;
	}
	*+& {
		margin-top: 6px;
	}
	&::before {
		content: '';
		display: block;
		width: 6px;
		height: 6px;
		background: #333;
		border-radius: 50%;
	}
}


dl.comp_no{
	text-align:left;
	display:block;
	margin:0 0 0 12px;
	font-size:85%;
	float:none;
}

dl.comp_no dt{
	text-align:left;
	display:block;
	float:left;
	width:18px;
	margin:0 0 8px 0;
	padding:0 0 0 15px;
	font-weight:bold;
	color:#6c6c6c;
	font-size:110%;
}

dl.comp_no dd{
	text-align:left;
	display:block !important;
	float:left;
	width:605px;
	margin:0 0 5px 0;
}

dl.comp_buil{
	text-align:left;
	display:block;
	margin:0 0 10px 24px;
	border-bottom:dotted 1px #dadada;
	width:612px;
	font-size:90%;
}

dl.comp_buil dt{
	text-align:left;
	display:block;
	float:left;
	width:120px;
	margin:0 0 5px 0;
	padding:0 0 0 15px;
	font-weight:bold;
	background:url(../images/icon_dot_02.gif) 0 0.4em no-repeat;
}

dl.comp_buil dd{
	text-align:left;
	display:block;
	float:left;
	width:470px;
	margin:0 0 5px 0;
}

dl.comp_buil dd span{
	margin:0;
	padding:0 15px 0 0;
	display:block;
	line-height:120%;
	float:left;
}

dl.comp_buil dd span a{
	margin:0;
	padding:0 0 0 10px;
	display:block;
	background:url(../images/arrow_top.gif) 0 0.2em no-repeat;
}

dl.comp_buil dd span a:hover{
	margin:0;
	padding:0 0 0 10px;
	display:block;
	background:url(../images/arrow_top_on.gif) 0 0.2em no-repeat;
}

div#map_canvas{
	width:300px;
	height:180px;
	margin:0;
	float:left;
	border:1px solid #afafaf;
}

#contents div.tab_box{
	margin-left:24px;
}





table.history{
	margin:0 0 20px 0;
	padding:0;
	width: 96%;
	font-size:90%;
}

.btm {
	border-bottom:1px dotted #b7b7b6;
}

table.history img{
	border:1px solid #b7b7b6;
}

table.history tr{
	vertical-align:top;
}

table.history tr.head td{
	vertical-align:middle;
	text-align:center;
	height:30px;
	border-top:1px solid #b7b7b6;
	font-weight:bold;
	font-size:100%;
}

table.history tr.head th{
	background:none;
}

table.history th{
	margin:0;
	padding:0;
	width:64px;
	color:#5e4e31;
	background:url(../company/images/line_th.gif) center 0 repeat-y;
	text-align:center;
}

table.history tr.head td.bus{
	background:url(../company/images/bg_st_bus.gif) 0 0 repeat;
}

table.history tr.head td.tec{
	background:url(../company/images/bg_st_tec.gif) 0 0 repeat;
}

table.history tr.head img{
	border:none;
}

table.history th em{
	margin:0;
	padding:0;
	display:block;
	font-style:normal;
	font-size:90%;
}

table.history th span{
	background:#fff;
	display: block;
	padding: .5em 0;
}

table.history td{
	margin:0 0 0 0;
	padding: .5em 1em;
	width:275px;
	border-right:1px solid #b7b7b6;
	border-left:1px solid #b7b7b6;
	border-top:1px dotted #b7b7b6;
	clear:both;
}

table.history td.not{
	margin:0;
	padding:0;
	width:6px;
	border:none !important;
	font-size:0;
	background:#fff;
}

table.history td.bus{
	background:#ebf2f0;
}

table.history td.tec{
	background:#f6f7ed;
}

div.mainconts table.history td p{
	margin:0 0 3px 0;
	padding:0 0 0 15px;
	width:auto;
	display:block;
	background:url(../images/icon_dot_red.gif) 0 .4em no-repeat;
	line-height:130%;
	font-size: 15px;
}

table.history td em{
	display: block;
	font-style: normal;
	font-weight: bold;
	margin: .5em 0;
	font-size: 1.2em;
}

table.history td p.pic{
	width:170px;
	float:left;
}

table.history td p.pic_w{
	width: 240px !important;;
	float:left;
}

table.history td span{
	margin:0 0 3px 0;
	width:auto;
	display:block;
	float:right;
}

div.mid span{
	margin-top:0;
	margin-bottom:20px;
}


img.ml10 { margin-left:10px;}


.h2-title {
    box-sizing: border-box;
    width: 900px;
    height: 80px;
    padding: 28px 30px 0;
    font-size: 28px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    color: #335a9c;
    text-align: left;
	span {
		margin-left: 14px;
		font-size: 16px;
		color: #858585;		
	}
	&.-company {
		background: url(/images/title_company.jpg) 100% 100% / contain no-repeat;
	}
}

.c-tit__m {
	background: #f2f2f2;
}
div#main {
	font-family: 'Noto Sans JP', sans-serif;
}
div.mainconts {
	.p-message {
		p:not(.c-copy-large) {
			font-size: 16px;
		}
		*+p {
			margin-top: 1.4em;
		}
	}	
	.c-copy-large {
		font-size: 1.8em;
		font-weight: 700;
	}
	.tempLeftImage {
		float: left;
		margin: .5em 3em 3em 0;
		width: 200px;
		img {
			width: 100%;
			height: auto;
		}
		span {
			display: block;
			font-size: 14px;
			color: #333;
			text-align: center;
			padding-top: .5em;
		}
	}

	.c-list-number {
		margin-bottom: 30px;
		counter-reset: number 0;
		li {
			display: flex;
			gap: .5em;
			counter-increment: number 1;
			padding-left: 0 !important;
			&::before {
				content: counter(number) ".";
				margin-right: .2em;
				width: auto;
				height: auto;
				transform: none;
				background: none;
				border-radius: 0;
				position: relative;
				padding-left: .5em;
			}
		}
	}
	
	* + .c-section {
		margin-top: 50px;
	}

	.c-list-anchor {
		margin: 0 auto 40px;
		padding: 0 1em;
		display: flex!important;
		justify-content: space-between;
		font-size: 16px;
		li {
			padding: 0!important;
			&::before { display: none!important;}
		}
		li+li {
			margin: 0!important;
		}
	}
	.c-list-anchor a {
		padding: 0 0 0 1.6em;
		display: flex;
		align-items: center;
		line-height: 1;
		background: url(../company/images/arrow_anker.gif) 0 0 no-repeat;
	}
	.c-list-anchor a:hover {
		background:url(../company/images/arrow_anker_on.gif) 0 0 no-repeat;
	}
	.c-group-item {
		h4 {
			color: #70c83a;
			background: none!important;
			padding: 0 0 .4em!important;
			border-bottom: 2px solid #70c83a;
			margin-bottom: .64em!important;
			font-size: 20px;
		}
		ul {
			li {
				padding: 0 0 0 4px!important;
				&::before {
					display: none;
				}
				a {
					color: #335a9c;
					border-bottom: 1px solid #005b9d;
					display: inline-flex;
					align-items: center;
					gap: .5em;
					transition: .3s color, .3s border-color;
					padding-bottom: .2em;
					&::before {
						content: '';
						display: block;
						width: 11px;
						height: 9px;
						background: url(/product/images/icon_arrow_blue.png) no-repeat;
						transition: .3s filter;
					}
					&:hover {
						color: #333;
						border-color: #333;
						&::before {
							filter: grayscale(1);
						}
					}
				}
				span {
					display: inline-flex;
					align-items: center;
					gap: .5em;
					padding-bottom: .2em;

					&::before {
						content: '';
						display: block;
						width: 11px;
						height: 9px;
						background: url(/product/images/icon_arrow_black.png) no-repeat;
						opacity: .5;
					}

				}
			}
		}
	}
}

.c-tablewrap {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 64px;
	padding-inline: 1em;
}

.c-group-item {
	display: grid;
	grid-template-columns: 50px 1fr;
	gap: 1em;
	*+& {
		margin-top: 3em;
	}
}
