   @charset "utf-8";

/*  tech_main.css　customize
----------------------------------------------------------
---------------------------------------------------------- */
/* ここ部分は/tech/seishin_menshin/common/css/style.css共通 */

/*  Heading
---------------------------------------------------------- */
div#main.tech_body h2.mark {
	position: relative;
	text-align: left;
	background: none;
	padding: 40px 100px 0 140px;
	font-size: 1.75rem;
	margin-bottom: 20px;
}
div#main.tech_body h2.mark::before{
	position: absolute;
	top: 49px;
	left: 100px;
	content: '';
	width: 26px;
	height: 26px;
	background: #618fcb;
}

/*link_icon*/
.section p img.link_icon{
	width: 12px;
}
.section p.caption img.link_icon{
	width: 9px;
	vertical-align: 3px;
}

br.sp{
	display: none;
}
.cap_info{
	font-size: 0.78125rem;
}
.caption .cap_info{
	font-size: 0.75rem;
	color: #747272;
}


/*---------------------------------------------------------- */
/*  個別custumize
---------------------------------------------------------- */
/*  title_s
---------------------------------------------------------- */
div#main .title_s a.index_link {
	font-size: 1.75rem;
	letter-spacing: 0.05em;
}
div#main .title_s a.index_link span{
	right: 20px;
}
div#main .title_s a.index_link span.title_sub01,
div#main .title_s a.index_link span.title_sub02{
    position: static;
	text-align: left;
}
div#main .title_s a.index_link span.title_sub01,
div#main .title_s a.index_link span.title_sub02{
	font-size: 1.25rem;
	letter-spacing: 0;
}
div#main .title_s a.index_link span.title_sub02{
	font-size: 1.125rem;
	letter-spacing: 0.05em;
}

/* snav固定 */
div#main #is-fixed {
	position: static;
}

/*  bcp footer
---------------------------------------------------------- */
.bcp_menu_area{
	background: #efefef;
	padding: 45px 100px;
	display: flex;
	justify-content: space-between;
}

.bcp_menu_area .btn_bcp_menu a{
	display: flex;
	text-align: left;
	width: 455px;
	height: 90px;
	color: #363434;
	text-decoration: none;
	font-size: 1.125rem;
	border: solid 3px #ddd;
	box-sizing: border-box;
	box-shadow: 1px 2px 12px -2px rgba(0,0,0,0.35);
	background: url("/tech/bcp/common/images/arrow_right_l_blue.svg") no-repeat #fff 415px center / 20px 37px;
}
.bcp_menu_area .btn_bcp_menu a:hover{
	background: url("/tech/bcp/common/images/arrow_right_l_blue.svg") no-repeat #c3d5eb 415px center / 20px 37px;
	border: solid 3px #618fcb;
	opacity: 0.7;
}

.bcp_menu_area .btn_bcp_menu .img,
.bcp_menu_area .btn_bcp_menu .img img {
	width: 113px;
	height: 84px;
}
.bcp_menu_area .btn_bcp_menu a:hover .img{
	opacity: 0.7;
	background: #c3d5eb;
}
.bcp_menu_area .btn_bcp_menu .txt {
	width: 342px;
	padding-left: 1.2em;
	line-height: 90px;
	box-sizing: border-box;
}

.bcp_menu_area .btn_bcp_menu a.current{
	color: #193f8c;
	border: solid 3px #0B5AA5;
	/* background: url("/tech/bcp/common/images/arrow_right_l_blue.svg") no-repeat #c3d5eb 415px center / 20px 37px; */
	background: url("/tech/bcp/common/images/arrow_right_l_blue.svg") no-repeat #fff 415px center / 20px 37px;
}
.bcp_menu_area .btn_bcp_menu a.current:hover{
	background: url("/tech/bcp/common/images/arrow_right_l_blue.svg") no-repeat #c3d5eb 415px center / 20px 37px;
	border: solid 3px #618fcb;
	opacity: 0.7;
}
.bcp_menu_area .btn_bcp_menu a.current:hover .img{
	opacity: 0.7;
	background: #c3d5eb;
}


/* #necessity */
/* 地図モーダルウィンドウ */
.map_area{
	position: relative;
	background: url("/tech/bcp/necessity/images/img_necessity_01.jpg") no-repeat;
	width: 1158px;
	height: 670px;
  }
.map_area .modal_btn{
	position: absolute;
}
.map_area .modal_btn span{
	display: none;
}
.map_area .modal_btn.earthquake{ top:285px; left: 812px;}
.map_area .modal_btn.tsunami{ top: 130px; left: 884px;}
.map_area .modal_btn.liquefaction{ top: 217px; left: 945px;}
.map_area .modal_btn.volcano{ top: 370px; left: 712px;}
.map_area .modal_btn.climatic_change{ top: 461px; left: 660px;}
.map_area .modal_btn.typhoon{ top: 505px; left: 374px;}
.map_area .modal_btn.storm_surge{ top: 421px; left: 486px;}
.map_area .modal_btn.flood{ top: 346px; left: 124px;}
.map_area .modal_btn.loca_heavy_rain{ top: 252px; left: 246px;}
.map_area .modal_btn.snow_storm{ top: 47px; left: 600px;}
.map_area .modal_btn.gust{ top: 450px; left: 180px;}
.map_area .modal_btn.landslide_disaster{ top: 170px; left: 455px;}

div#main .map_area p.caption{
	position: absolute;
	top: 20px;
	left: 30px;
}

.modal_trigger {
	margin: 100px auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.modal_box {
	display: none;
	position: fixed;
	top:50%;
	left:50%;
	z-index:20;
}
#glayLayer{
	display:none;
	position:fixed;
	left:0;
	top:0;
	height:100%;
	width:100%;
	background:#333;
	opacity: 0.8;
	z-index:10;
}
.modal_inner {
	background-color: #fff;
	left: 50%;
	padding: 25px 110px;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 580px;
	box-shadow: 4px 4px 16px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 4px 4px 16px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 4px 4px 16px rgba(0, 0, 0, 0.5);
}
.modal_inner .caption{
	text-align: right;
	margin-bottom: 0;
	margin-top: 0;
}
/* .modal_close {
	cursor: pointer;
	position: absolute;
	right: 10px;
	top: 0;
	font-size: 2rem;
} */
.modal_close {
	position: absolute;
	right: 13px;
	top: 13px;
	cursor: pointer;
	display: inline-block;
	width: 50px;
	height: 50px;
}
.modal_close span::before,
.modal_close span::after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 4%;
	margin: -8% 0 0 -42%;
	background: #666;
}
.modal_close span::before {
	transform: rotate(-45deg);
}
.modal_close span::after {
	transform: rotate(45deg);
}

.modal_inner h3{
	font-size: 1.75rem;
	margin-bottom: 12px;
}
.modal_inner img{
	width: 580px;
	height: auto;
}
.modal_inner p{
	font-size: 16px;
	line-height: 1.8;
	text-align: left;
	margin-top: 11px;
}
.modal_inner p.caption{
	margin-bottom: 0 !important;
}
/* 地図モーダルウィンドウ　ここまで */

/* 地図モーダルウィンドウ マウスオーバーで波紋 */
.modal_trigger{
	position: relative;
}
.modal_btn {
	position: absolute;
	display: block;
	width: 70px;
	height: 70px;
	line-height: 1.1;
	text-align: center;
	background: rgba(243,0,0,0);
	border-radius: 50%;
}
.modal_btn:hover{
	background:rgba(243,0,0,0.2);
}
.modal_btn:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 70px;
	height: 70px;
	border-radius: 50%;
	box-shadow: none;
}
.modal_btn:hover:after {
	-webkit-animation: rippleSecond 1.5s ease;
	animation: rippleSecond 1.5s ease;
}
.modal_btn:before {
	content: '';
	position: absolute;
	top: -3px;
	left: -3px;
	width: 76px;
	height: 76px;
	border-radius: 50%;
	box-shadow: none;
}
.modal_btn:hover:before {
	-webkit-animation: ripple 1.5s ease .3s;
	animation: ripple 1.5s ease .4s;
}
@-webkit-keyframes ripple {
	0%{opacity:1;-webkit-transform:scale(1);transform:scale(1);box-shadow: 0 0 0 1px rgba(243,0,0,1);}
	100%{opacity:0;-webkit-transform:scale(2);transform:scale(2);box-shadow: 0 0 0 2px rgba(243,0,0,1);}
}
@keyframes ripple {
	0%{opacity:1;-webkit-transform:scale(1);transform:scale(1);box-shadow: 0 0 0 1px rgba(243,0,0,1);}
	100%{opacity:0;-webkit-transform:scale(2);transform:scale(2);box-shadow: 0 0 0 2px rgb(243,0,0,1);}
}
@-webkit-keyframes rippleSecond {
	0%{opacity:1;-webkit-transform:scale(1);transform:scale(1);box-shadow: 0 0 0 1px rgba(243,0,0,1);}
	100%{opacity:0;-webkit-transform:scale(2);transform:scale(2);box-shadow: 0 0 0 2px rgba(243,0,0,1);}
}
@keyframes rippleSecond {
	0%{opacity:1;-webkit-transform:scale(1);transform:scale(1);box-shadow: 0 0 0 1px rgba(243,0,0,1);}
	100%{opacity:0;-webkit-transform:scale(2);transform:scale(2);box-shadow: 0 0 0 2px rgba(243,0,0,1);}
}
/* 地図モーダルウィンドウ マウスオーバーで波紋　ここまで */

.bcp_merit_area{
	display: flex;
}
.bcp_merit_area .bcp_merit{
	width: 50%;
	background: #daeeef;
	padding: 25px 35px;
	line-height: 1.8;
}
.bcp_merit_area .bcp_merit h3{
	text-align: center;
	margin-bottom: 10px !important;
}
.bcp_merit_area .bcp_merit.blue_pc{
	background: #fffcde;
}

.bcp_bcm_history{
	display: flex;
	flex-wrap: wrap;
	line-height: 1.8;
}
.bcp_bcm_history dt{
	width: 22%;
	padding-left: 16px;
	box-sizing: border-box;
	padding-top: 10px;
	padding-bottom: 10px;
}
.bcp_bcm_history dd{
	width: 78%;
	box-sizing: border-box;
	padding-top: 10px;
	padding-bottom: 10px;
}
.bcp_bcm_history .bg_gray{
	background-color: #f4f4f4;
}

div#main.tech_body div.section.narrow_600{
	padding: 0 250px;
	width: 600px;
}
div#main.tech_body div.section.narrow_600 p img{
	width: 600px;
	height: auto;
}



/* #kajima_bcp */
/* #kajima_bcp INDEX*/
.kajima_bcp_index{
	margin-top: 50px;
}
.kajima_bcp_index.mt{
	margin-top: 15px;
}
.kajima_bcp_index .col4 .col{
	width: 219px;
}
.kajima_bcp_index .col4 .col.l{
	margin-right: 28px;
}
.c-bn_btn.p-open_contents{
    position:relative;
    margin-bottom: 20px;
	box-shadow: 1px 2px 12px -2px rgba(0,0,0,0.35);
}
.c-bn_btn.p-open_contents::after{
	content: "";
	display: block;
	box-sizing: content-box;
	width: 0px;
	position: absolute;
	border-style: solid;
	border-color: transparent transparent #dfe9f5 transparent;
	border-width: 0px 16px 24px 16px;
	top: 100%;
	left: 50%;
	margin-left: -16px;
	opacity: 0;
	transition: opacity 0.3s;
}
.c-bn_btn.p-open_contents.is-open::after{
	opacity: 1;
}
.c-bn_btn.p-open_contents .img img{
	width: 219px;
}
div#main .c-bn_btn.p-open_contents .txt h3{
	position: relative;
	margin: 0;
	padding: 0;
}
.c-bn_btn.p-open_contents .txt h3 a{
	display: block;
	/* background: #2c4066; */
	background: #c3d5eb;
	width: 219px;
	height: 50px;
	color: #363434;
	text-decoration: none;
	padding-left: 15px;
	font-size: 1.25rem;
	line-height: 50px;
	box-sizing: border-box;
}
.c-bn_btn.p-open_contents .txt h3 a:visited{
	/* color: #fff; */
	color: #363434;
}
.c-bn_btn.p-open_contents .txt h3 a:hover,
.c-bn_btn.p-open_contents.is-open .txt h3 a{
	background: #193f8c;
	color: #fff;
}
.c-bn_btn.p-open_contents .txt h3 a::after{
	content: url(/tech/bcp/common/images/arrow_kb_down_navyblue.svg);
	position: absolute;
	top: 0;
	right: 12px;
	width: 19px;
	height: 11px;
}
.c-bn_btn.p-open_contents .txt h3:hover a::after{
	content: url(/tech/bcp/common/images/arrow_kb_down.svg);
	position: absolute;
	top: 0;
	right: 12px;
	width: 19px;
	height: 11px;
}
.c-bn_btn.p-open_contents.is-open .txt h3 a::after,
.c-bn_btn.p-open_contents.is-open .txt h3:hover a::after{
	content: url(/tech/bcp/common/images/arrow_kb_up.svg);
	top: -2px;
	right: 12px;
	width: 19px;
	height: 11px;
}


.menu_contents{
	background-color: #dfe9f5;
	overflow: hidden;
	height: 0;
	opacity: 0;
	transition: height 0.5s, opacity 0.3s;
}
.menu_contents .inner{
    padding: 20px 100px;
}

.menu_contents_close{
    display:none;
}
/*for Tab Key Focus*/
.p-open_contents a{
	outline: none;
}

/* 技術名一覧 */
.menu_contents .menu{
    display: flex;
}
.menu_contents .menu ul.category{
    width: 465px;
}
.menu_contents .menu ul.category:nth-child(2n+1){
	margin-right: 30px;
}

.menu_contents ul.category{
	width: 465px;
    flex-direction: column;
}
.menu_contents ul.category > li{
	position: relative;
    line-height: 1;
	font-size: 1.03125rem;
	box-sizing: border-box;
	background: #193f8c;
	color: #fff;
	/* font-weight: bold; */
	border-top: solid 2px #dfe9f5;
}
.menu_contents ul.category > li:first-child{
	border-top: none;
}
/* .menu_contents ul.category > li a{
	position: relative;
	display: block;
	padding: 10px 15px;
	color: #fff;
	text-decoration: none;
	outline: none;
} */
.menu_contents ul.category > li .link_icon{
	/* margin-left: 5px; */
	vertical-align: 3px;
}
/* 別ページリンク */
.menu_contents ul.category > li::after{
	content: url(/tech/bcp/common/images/arrow_kb_tech_menu_right.svg);
	position: absolute;
	font-size: 1rem;
	top: 10px;
	right: 12px;
	width: 8px;
	height: 13px;
}
.menu_contents ul.category > li.tech_menu_layer{
	padding: 10px 15px;
}
.menu_contents ul.category > li.tech_menu_layer > span.sub{
	display: inline-block;
	background: #dfe9f5;
	color: #193f8c;
	font-size: 0.84375em;
	padding: 4px 12px 2px;
	margin-left: 5px;
	border-radius: 10px;
	font-weight: bold;
}
.menu_contents ul.category > li a:hover,
.menu_contents ul.category > li.tech_menu_layer:hover{
	cursor: pointer;
	background: #2c4066;
}
/* tech_menu開く */
.menu_contents ul.category > li.tech_menu_layer::after{
	content: url(/tech/bcp/common/images/arrow_kb_tech_menu_down.svg);
	position: absolute;
	top: 9px;
	right: 12px;
	width: 16px;
	height: 10px;
}
/* tech_menu閉じる */
.menu_contents ul.category > li.tech_menu_layer.close::after{
	content: url(/tech/bcp/common/images/arrow_kb_tech_menu_up.svg);
	position: absolute;
	top: 8px;
	right: 12px;
	width: 16px;
	height: 10px;
}

.menu_contents ul.category ul.tech_menu{
    flex-direction: column;
    display: none;
	background: #fff;
	padding-top: 7px;
	padding-bottom: 5px;
}
.menu_contents ul.category ul.tech_menu > li{
	background: #fff;
    color: #363434;
	font-weight: normal;
	font-size: 0.96875rem;
	padding-left: 35px;
	text-indent: -30px;
	line-height: 1.4;
	padding-top: 3px;
	padding-bottom: 3px;
}
.menu_contents ul.category ul.tech_menu > li:first-child{
	border-top: none;
}
.menu_contents ul.category ul.tech_menu > li a{
	position: relative;
	color: #363434;
	text-decoration: none;
	outline: none;
	padding-left: 30px;
}
.menu_contents ul.category ul.tech_menu > li a img.link_icon{
	vertical-align: 2px;
}
.menu_contents ul.category ul.tech_menu > li a .sub{
	font-size: 0.825rem;
}
.menu_contents ul.category ul.tech_menu > li a:hover{
	text-decoration: underline;
	line-height: 1.4;
}
.menu_contents ul.category ul.tech_menu > li a::before{
	position: absolute;
	content: url(/tech/bcp/common/images/arrow_s.svg);
	display: inline-block;
	top: -2px;
	left: 44px;
	width: 9px;
	height: 9px;
}
.menu_contents ul.category ul.tech_menu > li::after{
	content: none;
}

/* 技術名開閉 */
.bcp_tech_menu_area{
	cursor: pointer;
}
div#main .bcp_tech_menu_area h3.bcp_tech_menu{
	position: relative;
	display: block;
	text-align: left;
	background: #dbe4f1;
	border-bottom: solid 8px #fff;
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 1.4;
	padding: 13px 0 11px 20px;
	margin: 0;
	letter-spacing: 0.03em;
}
div#main .bcp_tech_menu_area h3.bcp_tech_menu .sub{
	font-size: 1rem;
	letter-spacing: 0em;
}
div#main .bcp_tech_menu_area h3.bcp_tech_menu .sub.ref{
	font-weight: normal;
}
div#main .bcp_tech_menu_area h3.bcp_tech_menu:hover{
	background: #aec1dd;
}
div#main .bcp_tech_menu_area h3.bcp_tech_menu::after{
	content: url(/tech/bcp/common/images/arrow_bcp_tech_menu_down.svg);
	position: absolute;
	display: inline;
	/* top: 12px; */
	top: 27%;
	-webkit-transform: translateY(-27%); /* Safari用 */
	transform: translateY(-27%);
	right: 20px;
	width: 17px;
	height: 9px;
}

div#main .bcp_tech_menu_area h3.bcp_tech_menu.close::after{
	content: url(/tech/bcp/common/images/arrow_bcp_tech_menu_up.svg);
	display: inline;
	top: 24%;
	-webkit-transform: translateY(-24%); /* Safari用 */
	transform: translateY(-24%);
	right: 20px;
	width: 17px;
	height: 9px;
}
.bcp_tech_menu_contents_area{
    display: none;
    margin-top: 5px;
	margin-bottom: 10px;
	cursor: default;
}

div#main .bcp_tech_menu_area h3.bcp_tech_menu.link_blank{
	background: none;
    border-bottom: none;
    padding: 0
}
div#main .bcp_tech_menu_area h3.bcp_tech_menu.link_blank a{
	text-decoration: none;
	display: block;
	color: #363434;
	background: #dbe4f1;
    border-bottom: solid 8px #fff;
    /* font-size: 1.25rem;
    font-weight: bold;
    line-height: 1.4; */
    padding: 13px 0 11px 20px;
	letter-spacing: 0.03em;
}
div#main .bcp_tech_menu_area h3.bcp_tech_menu.link_blank a:visited{
	color: #363434;
	text-decoration: none;
}
div#main .bcp_tech_menu_area h3.bcp_tech_menu.link_blank::after{
	content: none;
}
div#main .bcp_tech_menu_area h3.bcp_tech_menu.link_blank a img.icon_blank{
	width: auto;
	vertical-align: 7px;
	margin-left: 4px;
}
.bcp_tech_menu_contents_close{
	display: none;
}

.bcp_tech_menu_area .bcp_tech_menu span.icon_yosoku,
.bcp_tech_menu_area .bcp_tech_menu span.icon_yobou,
.bcp_tech_menu_area .bcp_tech_menu span.icon_taiou {
	display: inline-block;
	font-size: 0.875rem;
	color: #fff;
	border-radius: 3px;
	line-height: 1;
	padding: 3px 11px 1px;
	margin-left: 8px;
	vertical-align: 2px;
}
.bcp_tech_menu_area .bcp_tech_menu span.icon_yosoku,
.bcp_tech_menu_area h4 span.icon_yosoku{
	background: #fc627f;
}
.bcp_tech_menu_area .bcp_tech_menu span.icon_yobou,
.bcp_tech_menu_area h4 span.icon_yobou{
	background: #5077bf;
}
.bcp_tech_menu_area .bcp_tech_menu span.icon_taiou,
.bcp_tech_menu_area h4 span.icon_taiou{
	background: #65c000;
}

div#main .bcp_tech_menu_area h4{
	margin: 0 0 10px 0;
}
div#main .bcp_tech_menu_area h4:before{
	content: "";
	line-height: 1;
	display: inline-block;
	vertical-align: 0px;
	margin-right: 7px;
	width: 14px;
	height: 14px;
	border-radius: 2px;
	background: #3e76bf;
}
div#main .bcp_tech_menu_area h4.link_blank{
	margin-bottom: 20px;
}
div#main .bcp_tech_menu_area h4.link_blank .icon_blank{
	vertical-align: 7px;
}
div#main .bcp_tech_menu_area h4.link_blank a{
	text-decoration: none;
	color: #363434;
}
div#main .bcp_tech_menu_area h4.link_blank a:hover{
	text-decoration: underline;
	color: #363434;
}
div#main .bcp_tech_menu_area h4.link_blank a:visited{
	color: #363434;
}

.bcp_tech_menu_area h4 span.icon_yosoku,
.bcp_tech_menu_area h4 span.icon_yobou,
.bcp_tech_menu_area h4 span.icon_taiou {
	display: inline-block;
	font-size: 0.875rem;
	color: #fff;
	border-radius: 3px;
	line-height: 1;
	padding: 2px 11px 2px;
	margin-left: 8px;
	vertical-align: 2px;
}

/* 技術名開閉　ここまで */

/* 小欧视频のBCP支援技術　技術ページレイアウト　ここから */
div#main.tech_body h2.mark span.sub{
	display: inline-block;
	color: #fff;
	background: #1C418D;
	border-radius: 17px;
	font-size: 1.3125rem;
	padding: 2px 17px 0;
	vertical-align: 3px;
	margin-left: 15px;
}

div#main.tech_body div.section .narrow{
	padding: 0 150px;
	width: 660px;
}
div#main.tech_body div.section .narrow p img{
	width: 660px;
	height: auto;
}

.link_btn{
	/* padding-left: 240px;
	padding-right: 240px;
	width: 480px; */
	padding-left: 280px;
	padding-right: 280px;
	width: 400px;
	margin-bottom: 50px;
	cursor: default;
}
.link_btn a{
	cursor: pointer;
}
.link_btn a:hover{
	opacity: 0.6;
}

dl.link_rel{
	display: flex;
	line-height: 1.8;
}
dl.link_rel dt{
	width: 5em;
	font-weight: bold;
}
dl.link_rel dd ul li a{
	position: relative;
	left: 14px;
	text-decoration: none;
}
dl.link_rel dd ul li a:hover{
	text-decoration: underline;
	color: #1d3994;
}
dl.link_rel dd ul li a::before{
	position: absolute;
	content: url(/tech/bcp/common/images/arrow_s.svg);
	display: inline-block;
	top: -5px;
	left: -14px;
	width: 9px;
	height: 9px;
}
dl.link_rel dd ul li a img.icon_blank{
	width: auto;
	vertical-align: 4px;
	margin-left: 1px;
}
/* 小欧视频のBCP支援技術　技術ページレイアウト　ここまで */