@charset "UTF-8";

/*
========================================

	/news/css/news_add.css
 
========================================
*/

body.news {
	background-color: #fff;
}

div#gr_pagetitle_area_static{
	/*background-image: linear-gradient(-120deg, #a6c0fe 0%, #f68084 100%);*/
	background: url(/news/img/bg_news.jpg) no-repeat;
	background-size: cover;
	background-position:center;
}

@media (min-width: 1024px) {

	div.container {
		padding: 1rem;
	}

}/*@media end*/

  div.article { /*=#sortDisplay*/
	scroll-margin-top: 184px;/*section#gr_pagetitle_area  最終的に数字をあわせる*/
  }

  @media only screen and (min-width: 1024px) {

	div.article { /*=#sortDisplay*/
		scroll-margin-top: 400px;/*section#gr_pagetitle_area  最終的に数字をあわせる　PCはスクロールしない＝そのままの高さ＝多めにとる*/
	}

}/*@media end*/

.side p.title {
	/*background: #666;
	color:#fff;*/
	color: #666;
	border:1px solid #666;
}

/*トリガーのあるリンクにプラスマイナスマークを付ける*/

.side p.tagtitle {
	width: 100%;
	position: relative;
	display: inline-block;
	z-index: 1;
	font-weight:500;
	background-image: none;
	z-index: 1; /*for like accordion ★*/
	/*background: #666;
	color:#fff;*/
	color: #666;
	background: #fff;
	/*border:1px solid #666;*/
	box-shadow:0 0 0 1px #ccc;
	cursor: pointer;
	/*border-radius: 100px;*/
	transition: all .2s ease;
}

.side p.tagtitle span.num {
	color: #ccc;
}

.side p.tagtitle.is-active {
	background: #737373;/*neutral-500*/
	box-shadow:0 0 0 1px #737373;/*neutral-500*/
	color: #fff;
}

.side p.tagtitle::before,
.side p.tagtitle::after {
	content: '';
	display: inline-block;
	width: 16px;
	height: 2px;
	border-radius: 2px;
	background-color: #999;
	position: absolute;/* relative-->gr_mm_trigger */
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	transition: opacity 0.2s;
	transition: transform 0.4s;
}

.side p.tagtitle::after {
	transform: translateY(-50%) rotate(90deg);
}

.side p.tagtitle.is-active::before {
	opacity: 0;
}

.side p.tagtitle.is-active::after {
	transform: translateY(-50%) rotate(180deg);
}

.side .tagbox {
	opacity: 0;
	visibility: hidden;
	height: 0;
	padding-top: 0; /*for like accordion ★*/
	transition: padding .25s, opacity .25s, visibility .25s;
}

.side p.tagtitle.is-active + .tagbox {
	overflow: hidden;
	padding-top: 0.75rem; /*for like accordion ★*/
	margin-top: -0.75rem;
	height: auto;
	opacity: 1;
	visibility: visible;
	background-color: #f6f6f6;
}

/*more btn icon --- add common.css

a.news_card div.more {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 48px;
	border:1px dotted #c33;★ガイド
	height: auto;
	padding-right: 4px;
	margin-right: 0;
	margin-left: auto;
}

a.news_card div.more p {
	display:flex;
	flex-direction: row;
	flex-wrap: wrap;
	width: fit-content;
	position: relative;
	font-size: clamp(0.625rem, 0.6rem + 0.13vw, 0.75rem);
	font-weight: 400;
	transition: all 0.2s ease;
}

a.news_card div.more p::after {
	display: block;
	position: absolute;
	content: "";
	top: calc(50% - 5px);
	left: -24px;
	width: 24px;
	height: 8px;
	border-right: 2px solid #ccc;
	border-bottom: 1px solid #ccc;
	transform: skew(45deg);
	transition: .2s;
}

a.news_card a:hover div.more p {
	margin-left: 4px;
	margin-right: -4px;
}

a.news_card a:hover div.more p::after{
    right: -36px;
    width: 36px;
}*/

/*more btn icon --- add common.css

a.news_card div.btn_icon_more p {
	margin-left: 32px;
	padding-right: 0;
	width: 32px;
	height: 32px;
	border: 1px solid #93a5cf;
	border-radius: 32px;
}

a.news_card div.btn_icon_more p::after {
	right: 8px;
	width: 20px;
    height: 8px;
	background-color:  #93a5cf;
}

a.news_card a:hover div.btn_icon_more {
	background:#93a5cf;
}

a.news_card a:hover div.btn_icon_more p::after {
	border-color:#fff;
}*/


/*more btn icon --- add common.css*/

a.news_card div.btn_icon_more {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	/*min-width: 60px;*/
	margin-top: -1.5rem;
	margin-bottom: 1.5rem;
	margin-right: 0.5rem;
	margin-left: auto;
	width: 32px;
	height: 32px;
	border-radius: 32px;
	background:rgba(255,255,255,1);
	border: 1px solid #93a5cf;
}

a.news_card div.btn_icon_more p {
	margin-left: 0;
	padding-right: 0;
	width: 32px;
	height: 32px;
	/*border: 1px solid #93a5cf;
	border-radius: 32px;*/
	background: url(/common/cmn_img/icon/icon_chevron_right.svg) no-repeat;
	background-position:center; 
	background-size: 11px 11px;
    transition: all .2s ease;
}

a.news_card:hover div.btn_icon_more p {
	margin-top: 0;
	margin-left: 2px;
	background: url(/common/cmn_img/icon/icon_chevron_right_thin.svg) no-repeat;
	background-position:center; 
	background-size: 17px 17px;
}

@media (min-width: 1024px) {
	a.news_card div.btn_icon_more {
	  /*margin-left: 0px;
	  margin-right: 0px;*/
	  margin-right: 16px;
	  margin-left: 48px;
	  margin-top: auto;
	  margin-bottom: auto;
	}
  }

/*extlink btn icon --- add common.css*/

a.news_card div.btn_icon_extlink {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	/*min-width: 60px;*/
	margin-top: -1.5rem;
	margin-bottom: 1.5rem;
	margin-right: 0.5rem;
	margin-left: auto;
	width: 32px;
	height: 32px;
	border-radius: 32px;
	background:rgba(255,255,255,1);
	border: 1px solid #93a5cf;
}

a.news_card div.btn_icon_extlink p {
	/*padding-right: 24px;*/
	height: auto;
	width: fit-content;
}

a.news_card div.btn_icon_extlink p::before {
	/*left: auto;
	right: 8px;*/
	border-color:#7088bf;
	background-color: #93a5cf;
}

a.news_card div.btn_icon_extlink p::after {
	/*left: auto;
	right: 8px;*/
	border-color: #7088bf;
}
/*
a:hover div.btn_icon_extlink p::before{
	left: auto;
	right: 4px;
}*/

@media (min-width: 1024px) {
	a.news_card div.btn_icon_extlink {
	  /*margin-left: 0px;
	  margin-right: 0px;*/
	  margin-right: 16px;
	  margin-left: 48px;
	  margin-top: auto;
	  margin-bottom: auto;
	}
  }

/*----------------------------------------
	other parts
----------------------------------------*/

/*badge and badge-tag --- add common.css*/

.badge {
	margin-left: 0.1rem;
    margin-right: 0.1rem;
    margin-top: 0;
    margin-bottom: 0.2rem;
	min-width: 88px;
	font-size:0.625rem;
}

.badge-new {
	margin-top: 2px;
	width: 32px;
	height: 32px;
	margin-left: 8px;
	margin-right: -8px;
	min-width: 0;
	transform:rotate(-15deg);
}

@media (min-width: 1024px) {

    .badge {
        width: 132px;
        height: 26px;
		font-size:0.75rem;
    }

	.badge-new {
        width: 36px;
        height: 36px;
		margin-left:0;
		margin-right:0;
		font-size:0.825rem;
    }

}/*@media end*/

.badge-tag {
    font-size:0.625rem;
}

.badge-tag.company {
	white-space: nowrap;
	color: #333;
	background-color: #f9f9f9;
	border-color: transparent;
	min-width: none;
	width: fit-content;
}

.badge-tag.company img.logo {
	width: auto;
	height: 100%;
	max-height: 20px;
	margin:0 4px 0 0;
	max-width: 108px;
}

@media (min-width: 1024px) {

	.badge-tag.company {
		height: 54px;
		min-width: 132px;
		flex-direction: column;
	}

}

.badge-category{
	font-weight: 500;
	-webkit-font-smoothing: antialiased; 
	-moz-osx-font-smoothing: grayscale;
}

/*.badge-category.category01 {border:1px solid #8c61ab; color:#fff !important; background:rgba(140,97,171,0.9); letter-spacing: -1px;}---------プレスリリース*/
/*.badge-category.category02 {border:1px solid #e37c14; color:#fff !important; background:rgba(227,124,20,0.9);}---------お知らせ*/
/*.badge-category.category03 {border:1px solid #e03d3f; color:#fff !important; background:rgba(224,61,63,0.9);}----------製品・事例*/
/*.badge-category.category04 {border:1px solid #3e53b0; color:#fff !important; background:rgba(62,83,176,0.9);}----------更新情報*/
/*.badge-category.category05 {border:1px solid #769617; color:#fff !important; background:rgba(118,150,23,0.9);}---------採用情報*/
/*.badge-category.category06 {border:1px solid #0d91a8; color:#fff !important; background:rgba(13,145,168,0.9);}---------掲載事例*/
/*.badge-category.category07 {border:1px solid #e03d91; color:#fff !important; background:rgba(224,61,145,0.9); letter-spacing: -1px;}---------イベントセミナー*/

.badge-category.category01 {border:1px solid rgba(140,97,171,0.8); border-left-width:8px; color:#8c61ab !important; background:#fff; letter-spacing: -1px;}/*---------プレスリリース*/
.badge-category.category02 {border:1px solid rgba(227,124,20,0.8); border-left-width:8px; color:#e37c14 !important; background:#fff;}/*---------お知らせ*/
.badge-category.category03 {border:1px solid rgba(224,61,63,0.8); border-left-width:8px; color:#e03d3f !important; background:#fff;}/*----------製品・事例*/
.badge-category.category04 {border:1px solid rgba(62,83,176,0.8); border-left-width:8px; color:#3e53b0 !important; background:#fff;}/*----------更新情報*/
.badge-category.category05 {border:1px solid rgba(118,150,23,0.8); border-left-width:8px; color:#769617 !important; background:#fff;}/*---------採用情報*/
.badge-category.category06 {border:1px solid rgba(13,145,168,0.8); border-left-width:8px; color:#0d91a8 !important; background:#fff;}/*---------掲載事例*/
.badge-category.category07 {border:1px solid rgba(224,61,145,0.8); border-left-width:8px; color:#e03d91 !important; background:#fff; letter-spacing: -1px;}/*---------イベントセミナー*/

a.news_card:hover .text_box .text {
	text-decoration: underline #93a5cf;
	text-underline-offset:3px;
  }

a.news_card .text_box .text span.media {
	font-size: 87.5%;
	color: #7088bf;
	line-height: 1.5;
}
/*
a.news_card:hover .text_box .text span.media {
}
*/

/*--------------------------------------------
  press release and information
--------------------------------------------*/ 


div.post .container {
    margin: auto;
    max-width: 1140px;
	padding: 1rem;
	/*border: 1px solid #fc3;*/
}

div.post .container h3 {
	padding-top: 1rem;
}

div.post .container div.leadBox {
	border:1px solid #7088bf;
	margin-bottom: 16px;
}

div.post .container p.lead {
	padding: 16px;
	margin: 0;
}

@media (min-width: 1024px) {

	div.post .container {
		padding: 2rem;
	}

    div.post h2.container {
        padding-top: 3rem;
    }

	div.post .container div.leadBox {
		margin: -16px -16px 32px -16px;
	}

	div.post .container p.lead {
		padding: 32px;
		margin: 0;
	}
    
}

/*inner nav*/

div.gr_inner_nav_line {/*全画面横幅の帯を付ける場合*/
	width: 100%;
	background:rgba(255,255,255,0.6);
	margin: 0;
	padding:0;
	display: flex;
	align-items: center;
    border-top:1px solid transparent;
    border-bottom:1px solid transparent;
}

.compact div.gr_inner_nav_line {
    border-color:#93a5cf;
}

.gr_inner_nav {
	width: 100%;
	margin: 0 auto;
	padding: 0.5rem 1rem !important;/* overwrite .container padding */
	font-size: 0.75rem;
	display: flex;
	align-items: center;
}

.gr_inner_nav ul.gr_inner_nav_group {
	display: flex;
	flex-wrap: wrap;
}

.gr_inner_nav ul.gr_inner_nav_group li {
	width: auto;
}

.gr_inner_nav_itemlink {
	display: block;
    margin:0.25rem 0;
	padding:0 1.25rem 0 0;
    margin-right: 1rem;
    position: relative;
    border-right: 1px solid #93a5cf;
}

.gr_inner_nav_itemlink:hover {
	opacity: 0.5;
}

.gr_inner_nav_itemlink::after {
    position: absolute;	
    width: 14px;
	height: 14px;
    top: 50%;
    right: 4px;
    margin-top: -7px;
	display:inline-block;
	content: "";
     /*border-radius: 100%;
    border:2px solid #1d4ed8;;輪郭
	opacity: 1;*/
	background: url(/common/cmn_img/icon/icon_chevron_down.svg) no-repeat center;
	background-size: 12px 12px;
}

  @media (min-width: 1024px) {
    
	.gr_inner_nav {
		font-size:0.9375rem;
        padding: 1rem;
        max-width: 1280px;
	}

    .gr_inner_nav_itemlink {
        margin:0.5rem 1.5rem 0.5rem 0;
        padding:0 2rem 0 0;
        position: relative;
    }

    .gr_inner_nav_itemlink::after {
        position: absolute;	
        width: 18px;
        height: 18px;
        top: 50%;
        right: 8px;
        margin-top: -9px;
        background-size: 16px 16px;
    }

}

div.post p,
div.post ol,
div.post ul,
div.post li,
div.post dl {margin-bottom: 1.5rem;}

div.post h2 {
    display: flex;
    align-items: center;
    font-weight: 500;
	position: relative;
	border-bottom: 1px solid #93a5cf;
}

div.post h2::after {
	content: '';
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 35%;
    max-width: 480px;
	height: 7px;
	background: linear-gradient(45deg, #93a5cf 25%, transparent 100%);
}

div.post h3 {
    margin-bottom: 1.5rem;
    font-weight: 500;
 }

div.post dl dt {
    margin-bottom: 0.5rem;
    font-weight: 700;
}

div.post dl dd {
    margin:0 0.5rem 1rem 0.5rem;
}

div.post table {
    margin-top: 1rem;
    margin-bottom: 1rem;
    background: #fff;
}

div.post ol li,
div.post ul li> ol li {
	list-style: decimal outside;
	margin-left: 1.25rem;
	margin-right: 1rem;
    margin-bottom: 0;
}

div.post ul li,
div.post ol li> ul li {
	list-style: circle outside;
	margin-left: 1.25rem;
	margin-right: 1rem;
    margin-bottom: 0;
}

div.post p.information {
    margin-top: 1.5rem;
    font-weight: 500;
}

div.post ul.contact li {
	margin-bottom: 1rem;
}

div.post .inner {/*div p ol ul dl*/
    margin-top: 0.5rem;
    /*padding: 1rem;
    background: #f6f6f6;*/
    font-size: 93.75%;
}

div.post .inner,
div.post .inner p,
div.post .inner ol,
div.post .inner ul,
div.post .inner li,
div.post .inner dl {margin-bottom: 0;}


@media (min-width: 1024px) {
    
    div.post p,
    div.post ol,
    div.post ul,
    div.post li,
    div.post dl {margin-bottom: 2rem;}

    div.post table {
        margin-top: 1.5rem;
        margin-bottom: 1.5rem;
    }

    div.post ul li,
    div.post ol li {
        margin-bottom: 0.25rem;
    }
    
}


