  @charset "utf-8";

/****
 *
 * 更新日: 2024/12/24
 *
 ****/

body.modal-open {
  overflow: hidden;
  height: 100%;
}

/* 1160px幅
-----------------------------------------------------*/
#body div.content{
	width: 1160px;
	margin: 0 auto;
}

#body div.content h1{
	text-align: center;
	margin: 20px auto 30px;
}
#body div.content h1 img{
	width: 490px;
	height: auto;
}
#body div.content h2{
	position: relative;
	font-size: 22px;
	font-size: 1.375rem;
	line-height: 1;
	font-weight: bold;
	/* border-top: solid 2px #2c4066;
	padding-top: 15px; */
	/* margin-top: 50px; */
	margin-bottom: 20px;
	padding-top: 90px;
    margin-top: -90px;
}
#body div.content h2:first-child{
    margin-top: 0;
}
#body div.content h2:before{
	content:"";
	display: block;
	width: 100%;
	height: 2px;
	background-color:#2c4066;
	position: absolute;
	top: 73px;
	left: 0;
}

/*タブ切替
-----------------------------------------------------*/
/*tab*/
#tab_menu{
	background-color: #D9DCE0;
}
#tab_menu ul{
	display: flex;
	justify-content: center;
	text-align: center;
	margin: 0 auto;
	min-width: 1160px;
}
#tab_menu li{
	flex: 0 auto;
	/* width: 580px; */
	width: 460px;
	position: relative;
}
#tab_menu li a,
#tab_menu li.current{
	display: block;
	width: 460px;
	line-height: 1;
	padding: 1.2rem 0 1.3rem;
	font-size: 20px;
	font-size: 1.25rem;
	font-weight: bold;
}
#tab_menu li a{
	text-decoration: none;
	color: #212121;
	cursor: pointer;
	background-color: #EDEEF0;
	border-top: solid 3px #EDEEF0;
}
#tab_menu li.current{
	background-color: #fff;
	border-top: solid 3px #2c4066;
}
#tab_menu li a span,
#tab_menu li.current span{
	font-size: 13.5px;
	font-size: 0.84375rem;
}
#tab_menu li a:hover{
	background-color: #C9CED4;
	border-top: solid 3px #C9CED4;
}
#tab_menu li:nth-of-type(1){
	box-shadow: -4px 0 4px -4px rgba(0,0,0,0.12);
}
#tab_menu li:nth-of-type(2){
	box-shadow: 4px 0 4px -4px rgba(0,0,0,0.22);
}


/* anc_menu_area
---------------------------------------------------------- */
.anc_menu_area{
	position: relative;
}
.anc_menu{
	position: absolute;
	margin-bottom: 1.875rem;
    padding: 0.9375rem 0 0.8rem;
    text-align: left;
	top: 0px;
	width: 100%;
	z-index: 2;
    margin-top: 12px;
    background-color: #fff;
	box-shadow: 0px 4px 8px -2px rgba(0,0,0,0.2);
}
.anc_menu_list {
	display: flex;
	flex-wrap: wrap;
	width: 1160px;
	margin: 0 auto;
}
.anc_menu_list li{
	background: none;
	padding: 0;
	width: 16%;
	margin-right: 0.5%;
	margin-bottom: 3px;
}
.anc_menu_list li.double{
	width: 32.5%;
}
.anc_menu_list li a{
	display: block;
	line-height: 1;
	/* background: url("/tech/civil_common/images/icon_arrow_down.svg") 1em 0.72em/13px 13px no-repeat;
	padding: 0.7em 0 0.7em 2.5em; */
	background: url("/tech/civil_common/images/icon_arrow_down.svg") 0.5em 0.72em/13px 13px no-repeat;
    padding: 0.7em 0 0.7em 1.8em;
	text-align: left;
	border-radius: 5px;
	text-decoration: none;
	color: #363434;
}
.anc_menu_list li a:hover{
	/* background: url("/tech/civil_common/images/icon_arrow_down.svg") #ededed 1em 0.72em/13px 13px no-repeat; */
	background: url("/tech/civil_common/images/icon_arrow_down.svg") #ededed 0.5em 0.72em/13px 13px no-repeat;
	text-decoration: none;
	color: #363434;
}
.anc_menu_list li.new a:after {
	content: "NEW";
	position: relative;
	display: inline-block;
	line-height: 1;
	margin-left: 6px;
	padding: 3px 4px 2px 5px;
	font-size: 11px;
	font-size: 0.6875rem;
	font-weight: bold;
	color: #fff;
	background: #cc0000;
	border-radius: 1px;
	top: -2px;
}

/* anc_menu_area　上部固定
---------------------------------------------------------- */
.anc_menu.is-fixed{
	position: fixed;
	margin-top: 0;
	background: #ededed;
	padding: 12px 0 12px;
	box-shadow: 0px 4px 8px -2px rgba(0,0,0,0.3);
	animation: downmove 0.5s forwards;
}
@keyframes downmove {
	0%{
		opacity: 1;
		transform: translateY(-100px);
	}
	100%{
		opacity: 1;
		transform: translateY(0);
	}
}

.is-fixed .anc_menu_list li{
	background: none;
	padding: 0;
	width: auto;
	/* margin-right: 0.85%; */
	margin-right: 0.8%;
	margin-bottom: 4px;
	font-size: 15px;
}
.is-fixed .anc_menu_list li:last-child{
	margin-right: 0;
}
.is-fixed .anc_menu_list li.double{
	width: auto;
}
.is-fixed .anc_menu_list li.double a{
	/* padding-right: 0; */
	padding-right: 5px;
}
.is-fixed .anc_menu_list li a{
	display: block;
	line-height: 1;
	background: none;
	padding: 0.4em 0.5em 0.3em;
	text-align: left;
	border-radius: 5px;
	text-decoration: none;
	color: #363434;
}
.is-fixed .anc_menu_list li a:hover{
	background: none;
	color: #fff;
	background: #e6002d;
}
.is-fixed .anc_menu_list li.new a:after {
	content: none;
}
.is-fixed .anc_menu_list .is-current a{
	background: none;
	color: #fff;
	background: #e6002d;
}


/* thumbnail
---------------------------------------------------------- */
.col4{
	display: flex;
	flex-wrap: wrap;
}
.col4 .col{
	width: 23.05% !important;
	margin-right: 2.6% !important;
	margin-bottom: 2em;
}
.col4 .col:nth-of-type(4n){
	margin-right: 0 !important;
}


/*thumbnail*/
.col4 .col .thumb{
	position: relative;
}

.col4 .col .thumb img{
	width: 100%;
	height: auto;
}

.thumb .time_sound{
	position: absolute;
	bottom: 0px;
	right: 0px;
    text-align: center;
    line-height: 1;
    /* font-size: 12.5px;
	font-size: 0.78125rem; */
	font-size: 12px;
	font-size: 0.75rem;
	font-weight: bold;
    color: #FFF;
    background-color: #444;
    padding: 0.25em 0.4em 0.25em;
	letter-spacing: -0.01em;
}
.thumb.new:after {
	content: "NEW";
	position: absolute;
	top: 0px;
	right: 0px;
	display: inline-block;
	line-height: 1;
	padding: 5px 5px 2px;
	font-size: 13px;
	font-size: 0.8125rem;
	font-weight: bold;
	color: #fff;
	background: #cc0000;
}

.sg_lbox h3,
#mov_body .rel_link h3{
	font-weight: bold;
	/* font-size: 16px;
	font-size: 1rem; */
	font-size: 15.5px;
	font-size: 0.96875rem;
	/* font-size: 15px;
	font-size: 0.9375rem; */
	margin-top: 8px;
	margin-bottom: 5px;
	line-height: 1.5;
}

.sg_lbox h3:hover{
	text-decoration: underline;
	cursor: pointer
}

h3.indent_1em{
	padding-left: 1em;
	text-indent: -1em;
}

p.txt{
	/* letter-spacing: -0.01em; */
	/* font-size: 15px;
	font-size: 0.9375rem; */
	/* font-size: 14.5px;
	font-size: 0.90625rem; */
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 1.7;
}

.gray{
	color: #858585;
}


/*hidden_item*/
.hidden_logo,
.hidden_copy,
.hidden_link{
	display:none;
}


/**
		=Clearfix
---------------------------------------------------------- */
.content:after,
.col4:after {content:"";}

/* End_clearfix */


@media print{
	.link_anchor {
		display: none;
	}
}