  @charset "utf-8";

/*Foundation*/
#body.full-width {
	min-width: 1160px;
}
.sp #body.full-width {
	min-width: inherit;
}

/*p-index_body*/

.p-catch_font{
	font-family:"Roboto","Noto Sans JP","¥á¥¤¥ê¥ª", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "£Í£Ó ¥´¥·¥Ã¥¯", sans-serif;
}
/*index_style
===========================================================*/
.l-portal_main{
  background-color: #fff;
}

.p-index_title{
	padding: 0rem 0.875rem 0 0;
}
.p-index_title h1{
	/*width: 1160px;*/
	margin: 0 auto;
	font-weight: 600;
	font-size: 3.375rem;
	line-height: 1;
	text-align: center;
	color: #fff;
	text-shadow: 2px 3px 12px rgba(0,0,0,0.4);
}

/*p-portal_top*/
.p-portal_top{
	position: relative;
	min-width: 1160px;
	min-height: 600px;
	padding-top: 3.25rem;
}

.p-portal_top_bg{
	position: absolute;
	top:0px; left: 0px;
	width: 100%;
	min-width: 1160px;
	opacity: 0;
	transition: opacity 0.6s;
	z-index: -1;
}
.p-portal_top_bg.is-appear{
	opacity: 1;
}
.p-portal_top_bg.is-fixed{
	position: fixed;
}

/*p-portal_top slide*/
.p-portal_slide li{
	background-repeat: no-repeat;
	/*background-position: 50% 0%;*/
	background-position: 50% 50%;
	background-size: cover;
	position: absolute;
	top:0px; left: 0px;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 1.6s;
}
.p-portal_slide li.is-now{
	opacity: 1;
}

.p-hero_caption li{
	text-align: right;
	position: absolute;
	right: 1.5rem;
	bottom: 140px;
	font-size: 0.6875rem;
	line-height: 1.5;
	color: #fff;
	opacity: 0;
	transition: opacity 1.6s;
	text-shadow: 1px 2px 8px rgb(0,0,0,0.8);
}
.p-hero_caption li.is-now{
	opacity: 1;
}

.p-portal_top__loading{
	position:absolute;
	top:50%; left:50%;
	width: 50px; height: 50px;
	background: url(/tech/const_portal/images/loading-icon.svg) no-repeat 50% 50%;
	margin-left:-25px;
	margin-top:-25px;
	opacity: 0.7;
	transition: opacity 0.5s;
	z-index: 0;
}
.p-portal_top__loading.is-hidden{
	opacity: 0;
}

/**/
.c-bn_btn.c-arrow_right.p-history_btn{
	position: absolute;
	top:350px; left: 50%;
	width: 360px;
	margin-left: -180px;
	text-align: center;
	padding-left: 40px;
}
.c-bn_btn.p-history_btn h3{
	font-size: 1.25rem;
}

/*heading*/

h2.p-const_heading{
	font-size: 1.875rem;
	text-align: center;
	font-weight: 500;
	line-height: 1;
	padding: 2rem 0.5rem 2.25rem 0;
}
h2.p-rel_contents__heading{
	font-size: 1.625rem;
}

/*p-portal_Info*/
.p-portal_Info{
	position: absolute;
	left: 0px;
	bottom: 0px;
	width: 100%;
	background: rgba(0,10,24,0.55);
}
/*.p-portal_Info::before{
	content: "";
	display: block;
	position: absolute;
	top:0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background: rgba(6,16,32,1);
	mix-blend-mode: multiply;
}*/
.p-portal_Info .inner{
	padding: 0.875rem 1.25rem 1rem;
	color: #fff;
	line-height: 1.5;
	/*height: 130px;*/
	min-height: 120px;
  overflow: hidden;
}

.p-portal_Info__label{
	flex: 0 0 auto;
	width: 200px;
	margin-right: 1.5rem;
	border-right: #C0C5CC 1px solid;
}
.p-portal_Info__label h3{
	font-size: 1.625rem;
	letter-spacing: 0.05em;
	font-weight: 400;
	margin-bottom: 0.875rem;
}
.p-portal_info__viewall{
	background: rgba(255,255,255,0.7) url("/common/image/bn_arrow/arrow_right_s_red.svg") no-repeat 14px 48%;
	width: 150px;
	padding: 0.5rem 1.5rem;
	text-align: center;
	font-size: 0.875rem;
	box-shadow: 1px 2px 8px -2px rgba(0,0,0,0.4);
}
.p-portal_info__viewall a{
	text-decoration: none;
	color: #101010;
	font-weight: bold;
}

.p-portal_Info__txt{
  flex: 1 0 auto;
  position: relative;
	line-height: 1.5;
}

.p-portal_Info__txt .p-portal_Info__item{
  /*position: absolute;
  top: 0px;
  left: 60px;
  width: 100%;
	transition: all 1.2s 0s;
	opacity: 0;*/
	display: flex;
	justify-content: flex-start;
	padding: 0.5rem 0;
}
/*.p-portal_Info__txt .p-portal_Info__item.is-now{
	opacity: 1;
	left: 0px;
	z-index: 1;
}
.p-portal_Info__txt .p-portal_Info__item.is-fout{
	opacity: 0;
	z-index: 0;
}*/

.p-portal_Info__txt .info_date{
	flex: 0 0 auto;
	width: 9rem;
}

.p-portal_Info__txt .info_date__txt{
	flex: 1 0 auto;
}
.p-portal_Info__txt .info_date__txt.label{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
.p-portal_Info__txt .info_date__txt.label::before{
	content: "";
	display: flex;
	justify-content: center;
	align-items: center;
	width: 4rem;
	height: 1.375rem;
	padding: 0 0.375rem;
	margin-right: 0.75rem;
	margin-top: -0.0625rem;
	border: rgba(255,255,255,0.5) 1px solid;
	background-color: rgba(230,0,45,0.6);
	flex: 0 0 auto;
	font-size: 0.8125rem;
	color: #fff;
	text-align: center;
	line-height: 1;
	letter-spacing: 0.1em;
}
.p-portal_Info__txt .info_date__txt.label.update::before{
	content: "¸üÐÂÇéˆó";
}

.p-portal_Info__txt .info_date__txt a{
	text-decoration: none;
	color: #fff;
}
.p-portal_Info__txt .info_date__txt a:hover{
	text-decoration: underline;
}

/*p-pickup_contents*/

.p-pickup_contents{
	padding: 1.25rem 0 1.375rem;
}
.sp .p-pickup_contents .c-gbk{
	padding-bottom: 1rem;
}

.p-pickup_contents .p-thumb_link__img{
	border-bottom: #E6002D 2px solid;
}
.p-pickup_contents .p-thumb_link__txt{
	padding: 0.8125rem 0.875rem 1.125rem;
	text-align: center;
}


/*tab*/
.p-tabmenu{
	background-color: #D9DCE0;
	display: flex;
	justify-content: center;
	text-align: center;
	margin: 0 auto;
	min-width: 1160px;
}
.p-tabmenu li{
	flex: 0 0 auto;
	width: 580px;
}
.p-tabmenu li a{
	text-decoration: none;
	color: #212121;
}
.p-tabmenu li a:hover{
	background-color: #C9CED4;
}
.p-tabmenu .p-tabmenu__tab{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	position: relative;
	line-height: 1;
	font-size: 1.625rem;
	font-weight: 500;
	padding: 1.5rem 0 1.8125rem;
	background-color: #EDEEF0;
	transition: background-color 0.3s;
	color: #6D7983;
}

.p-tabmenu .p-tabmenu__tab.is-open{
	background-color: #fff;
	color: #000;
}
.p-tabmenu .p-tabmenu__tab.is-open::before{
	content: "";
	display: block;
	width: 100%;
	height: 3px;
	position: absolute;
	top:0px;
	left: 0px;
	background-color: #E6002D;
}

/*tab_body*/
.p-tab_body{
	display: none;
}
.p-tab_body.is-open{
	display: block;
}

/*link_box*/
.p-link_box{
	text-align: center;
	line-height: 1;
	padding: 1.125rem 0 1.1875rem;
	background-color: #333;
	position: relative;
}
.p-link_box::before{
	content: "";
	display: block;
	width: 24px;
	height: 44px;
	position: absolute;
	right: 30px;
	top: 50%;
	margin-top: -23px;
	background: url("/tech/const_portal/images/arrow_right_m_wh.svg") no-repeat 50% 50%;
}
.p-link_box.blue{
	background-color: #416EA0;
}
.p-link_box a{
	color: #fff;
	text-decoration: none;
}
.p-link_box.c-large{
	font-size: 1.375rem;
	padding: 1.5rem 0 1.675rem;
}

/*const_tech_table*/
.p-const_tech_table{
	padding: 2.625rem 0 1rem;
}

h3.p-const_tech_table__heading{
	margin-bottom: 1.5rem;
	/*border-top: #D9DCE0 2px solid;*/
	padding: 0.625rem 0.5rem 0.75rem 0.5rem;
	background-color: #848E98;
	border-radius: 2px;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.2;
	color: #fff;
	text-align: center;
	display: flex;
	justify-content: center;
}
h3.p-const_tech_table__heading span{
	display: block;
	position: relative;
	width: auto;
}
h3.p-const_tech_table__heading span::before{
	content: "";
	display: block;
	position: absolute;
	top:6px; left: -24px;
	border-style: solid;
	border-width: 12px 8px 0 8px;
	border-color: #C0C5CC transparent transparent;
}

/*.p-const_tech_table__body.col2{
	padding-top: 0.25rem;
}*/

.p-const_tech_table__body dl h4{
	/*margin: 0 0 0.5rem;*/
	padding: 0.5rem 0.5rem 0.5625rem 1.5rem;
	background-color: #E4E6E9;
	border-radius: 2px 2px 0 0;
	font-size: 1.0625rem;
	line-height: 1.2;
	font-weight: 500;
	/*padding-top: 0.875rem;*/
	/*padding-left: 0.875rem;*/
	/*border-top: #D9DCE0 1px solid;*/
}

.p-const_tech_table__body ul.link{
	padding: 0;
	margin-bottom: 1rem;
	background-color: #fff;
	box-shadow: 1px 2px 10px -2px rgba(0,0,0,0.2);
}
.p-const_tech_table__body ul.link li{
	border-bottom: #D9DCE0 1px solid;
	padding: 0.625rem 0.375rem 0.5rem 1.625rem;
	margin-bottom: 0;
	background-position: 0.625rem 0.9375rem;
	position: relative;
	font-size: 0.9375rem;
}
.p-const_tech_table__body ul.link li:last-of-type{
	border-bottom: none;
}

.p-const_tech_table__body ul.link li a{
	color: #212121;
	text-decoration: none;
}
.p-const_tech_table__body ul.link li a:before{
	content: '';
	display: block;
	box-sizing: border-box;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px; top: 0px;
	transition: all 0.3s;
	border: #a6c4eb 1px solid;
	border-radius: 2px;
	background-color: rgba(166,196,235,0.3);
	opacity: 0;
}
.p-const_tech_table__body ul.link li:hover a:before{
	border-width: 2px;
	opacity: 1;
}

.sp .p-const_tech_table.col3 .col{
	width: 100% !important;
}
.sp .p-const_tech_table dd{
	padding-left: 0 !important;
}


/*portal_bottom*/
.p-portal_bottom_wrap{
	padding: 0 0 1.25rem;
}
.p-portal_bottom{
	padding: 0 0 0.875rem;
}

/*p-contact_area*/
.p-contact_area{
	background-color: #D9DEE4;
	padding: 2.625rem 0 3rem;
	/*border-top: #9EA6B1 1px solid;*/
}

.p-contact_area__btn{
	font-size: 1.5rem;
	width: 460px;
	margin: 0 auto;
	padding: 2rem 0 2.125rem;
}
.sp .p-contact_area__btn {
    font-size: 1.125rem;
    width: 100%;
}

/*bottom_wrap*/
.bottom_wrap{
	background-color: #fff;
	padding-top: 1.5rem;
	padding-bottom: 1.25rem;
}
.bottom_wrap .bottom{
	margin-bottom: 0;
}

/*link_icon customize*/
#body .link_icon{
	opacity: 0.8;
}
.sp #body .link_icon{
	display: none;
}

/*===============sp==================*/

.sp .l-portal_main{
  padding-left: 3%;
  padding-right: 3%;
}

.sp .p-portal_top{
  padding-top: 2.5rem;
  min-height: 600px;
  min-width: inherit;
	padding-left: 3%;
	padding-right: 3%;
}
.sp .p-portal_top_bg{
  min-width: inherit;
}

.sp .p-index_title{
  padding-right: 0.25rem;
}
.sp .p-index_title h1{
	font-size: 2.875rem;
	width: 100%;
  margin-bottom: 8rem;
}
.sp .p-hero_caption{
  display: none;
}
.sp .c-bn_btn.c-arrow_right.p-history_btn{
	position: inherit;
	width: 80%;
  top:0px;
  left: 0px;
	margin-left: 10%;
  margin-right: 10%;
}
.sp .p-portal_Info .inner{
	max-height: 240px;
	overflow-y: auto;
	padding: 0.75rem 1rem 1.125rem;
}
.sp .p-portal_Info__label{
	width: 100%;
	border-right: none;
  display: flex;
  justify-content: space-between;
}
.sp .p-portal_Info__label h3{
	margin-bottom: 0.4375rem;
}

.sp .p-portal_Info__txt{
	font-size: 0.8125rem;
}
.sp .p-portal_Info__txt .p-portal_Info__item {
    padding: 0.25rem 0;
}
.sp .p-portal_Info__txt .p-portal_Info__item{
	display: inherit;
}
.sp .p-portal_Info__txt .info_date {
	margin-bottom: 0.25rem;
}
.sp .p-portal_Info__txt .info_date__txt.label::before{
	width: 3rem;
	height: 1.125rem;
	padding: 0 0.375rem;
	margin-right: 0.5rem;
	margin-top: -0.0625rem;
	letter-spacing: 0.1em;
	font-size: 0.625rem;
}


.sp .p-tabmenu{
	min-width: 100%;
}
.sp .p-tabmenu li{
	width:50%;
	font-size: 1rem;
	box-shadow: none;
}
.sp .p-tabmenu .p-tabmenu__tab{
	line-height: 1.2;
	padding: 0.875rem 0 1rem;
}


.sp .p-event_info {
	padding-left: 3%;
	padding-right: 3%;
}
.sp h3.p-event_info__heading{
	padding: 0 0 1rem;
	background: none;
}
.sp h3.p-expo {
	text-align: center;
}
