@charset "utf-8";

/* -----------------------------------------------------------------------------

	カテゴリートップ

----------------------------------------------------------------------------- */
.categoryTop.technology .mv:before {
	background-image: url(../technology/img/bg_mv.jpg);
}

/* d-products
	---------------------------------------------*/
.d-products{
	margin: -20px auto 30px;
	padding: 40px 0 30px;
	background: #E3F4FC;
}
.d-products .column{
	margin: 0 auto;
}
	.d-products .column>p{
		font-size: 200%;
	}
.d-products .column:last-child{
	margin-bottom: 0;
}
.d-products .column>ul{
	display: block;
	letter-spacing: -0.4em;
	line-height: 0;
}
.d-products .column>ul>li{
	display: inline-block;
	letter-spacing: normal;
	width: 49%;
	margin: 0 2% 20px 0;
	vertical-align: top;
}
.d-products .column>ul>li:nth-child(3n){
		width: 49%;
		margin: 0 2% 20px 0;
	}
.d-products .column>ul>li:nth-child(2n){
		margin-right: 0;
	}
.d-products .column>ul>li:nth-child(4n){
	margin-right: 0;
}
.d-products .column>ul>li.last{
		width: 100%;
		margin-right: 0;
	}
.d-products .column>ul>li>a{
	display: block;
	line-height: 0;
	position: relative;
	overflow: hidden;
}
.d-products .column>ul>li>a:hover{
	opacity: 1;
}
	.d-products .column>ul>li p.img{
	line-height: 0;
	margin: 0 auto 10px;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.d-products .column>ul>li p.img img{
	width: 100%;
	height: auto;
}
.d-products .column>ul>li p.img:hover{
	opacity: 0;
	filter:alpha(opacity=60);
	-moz-opacity: 0.6;
	opacity: 0.6;
}
.d-products .column>ul>li div{
		position: static;
		padding: 0;
		background: none;
		height: auto;
	}	
	.d-products .column>ul>li h3{
	font-size: 160%;
	color: #009de4;
	margin: 10px auto 5px;
	text-align: center;
	font-weight: normal;
		line-height: 120%;
	font-weight: bold;
}
.d-products .column>ul>li a[target="_blank"] h3{
	background: url(/common/img/icon_blank.png) right 0 top 2px no-repeat;
}
.d-products .column>ul>li p.txt{
	font-size: 130%;
	text-align: left;
	margin: 0 auto;
	color: #333;
	line-height: 160%;
}

.ttl-d-products {
		text-align: center;
		line-height: 1;
		font-size: 100%;
		margin: 0 0 25px;
	}
.ttl-d-products b {
		display: inline-block;
		padding: 0 0 5px;
		border-bottom: 2px solid #009de4;
		font-size: 250%;
		font-weight: normal;
	}
.ttl-d-products span {
		padding: 5px 0 0;
		display: block;
		font-size: 120%;
		color: #009de4;
		font-weight: normal;
	}

/* -----------------------------------------------------------------------------

	下層共通

----------------------------------------------------------------------------- */
.technology .detail figure {
	margin-bottom: 20px;
}
.technology section p {
	margin-top: 20px;
}
div.decoration {
	display: block;
	width: 100%;
	margin-bottom: 20px;
	padding: 10px 15px;
	background: #e5f5fc;
	border: 2px solid #009ce7;
	box-sizing: border-box;
}
div.decoration.first {
	margin-top: 20px;
}
div.decoration dt,
div.decoration dd,
div.decoration p {
	color: #009ce7;
}
div.decoration dd {
	font-size: 100%;
}
div.decoration dt {
	font-size: 140%;
	font-weight: bold;
}
div.decoration p {
	margin-bottom: 0;
	margin-top: 0;
}
div.decoration p a,
div.decoration + p a {
	color: #009ce7;
	text-decoration: underline;
}

/* -----------------------------------------------------------------------------

	メッセージ

----------------------------------------------------------------------------- */
.message p {
	margin-top: 20px;
}

/* -----------------------------------------------------------------------------

	core

----------------------------------------------------------------------------- */
.infrastructureBox {
	display: inline-block;
	position: relative;
	width: 100%;
	border: 2px solid #e6e6e6;
	margin: 20px 0 100px;
	padding: 10px 10px 20px;
	box-sizing: border-box;
}
.infrastructureBox:before {
	position: absolute;
	bottom: -37px;
	left: 50%;
	content: "";
	width: 50px;
	margin-left: -25px;
	height: 35px;
	background-color: #e6e6e6;
}
.infrastructureBox:after {
	position: absolute;
	bottom: -112px;
	left: 50%;
	margin-left: -42px;
	content: "";
	border: 42px solid transparent;
	border-top: 33px solid #e6e6e6;
}
.infrastructureBox h4,
.sub .coreBox h4 {
	position: absolute;
	top: -21px;
	left: 50%;
	margin-left: -90px;
	width: 180px;
	padding: 5px 0 3px;
	font-weight: normal;
	font-size: 200%;
	color: #fff;
	text-align: center;
	border-radius: 5px;
}
.infrastructureBox h4.ttl01 {
	background: #009ce7;
}
.infrastructureBox p {
	text-align: center;
	width: 100%;
	padding: 5px 0;
	color: #009de4;
	border-radius: 5px;
	background: #e5f5fc;
}
.coreBox {
	display: inline-block;
	width: 100%;
	position: relative;
	padding: 30px 10px 20px;
	border: 2px solid #e6e6e6;
	box-sizing: border-box;
}
.coreBox h4.ttl02 {
	background: #fbb03b;
	overflow: inherit;
}
.coreBox ul {
	margin-top: -20px;
}
.coreBox ul li {
	float: left;
	width: 48%;
	margin-top: 20px;
}
.coreBox ul li:nth-child(even) {
	float: right;
}
.coreBox ul li span {
	font-weight: bold;
	color: #009fe8;
	margin-top: 5px;
	display: inline-block;
}
.core .tooltip figure,
.core .tooltip span {
	display: none;
}
.core .tooltip span + p {
	font-size: 100%;
	margin-top: 5px;
}
.core .tooltip span + p a {
	color: #009ce7;
	text-decoration: underline;
}
.core h3.title {
	text-align: center;
	color: #009ce7;
	font-size: 140%;
	line-height: 1.6;
	font-weight: normal;
	margin-top: 10px;
}
.core #products {
	margin-top: 20px;
}
/* -----------------------------------------------------------------------------
	タブ
----------------------------------------------------------------------------- */
.technology .tab {
	border-top: 1px solid #009de4;
	border-bottom: 1px solid #009de4;
	display: block;
	margin: 0 0 25px;
	width: 100%;
}
.technology .tab li {
	display: inline-table;
	float: left;
	width: 50%;
	position: relative;
	text-align: center;
	color: #009de4;
	font-size: 130%;
	border-right: 1px solid #009de4;
	background: url(/common/img/sp/icon_arrow_down02.png) no-repeat center 54px;
	box-sizing: border-box;
	background-size: 13px 8px;
}
.technology .tab li:first-child {
	border-left: 1px solid #009de4;
}
.technology .tab li.active:after {
	content: "";
	display: block;
	width: 22px;
	height: 9px;
	background: url(/common/img/sp/bg_tab_arrow01.png) no-repeat;
	position: absolute;
	top: 100%;
	left: 50%;
	margin: 0 0 0 -11px;
	background-size: 22px auto;
}
.technology .tab li.active {
	color: #fff;
	background: #009ce7;
}

.technology .tab li span {
	display: table-cell;
	height: 65px;
	text-align: center;
	vertical-align: middle;
	font-size: 110%;
}

/* tabBox */
.technology .tabBox {
	display: none;
}
.technology .tabBox:nth-of-type(1) {
	display: block;
}
.technology .tabBox p span > span {
	display: inline-block;
	font-size: 70%;
	border: none;
}
.technology .tabBox section + section {
	margin-top: 0;
}
.tabBox .central dd ul li .tooltip > div {
	display: block;
	font-size: 60%;
	color: #fff;
	background: #009fe8;
	padding: 1px 4px;
	text-align: center;
}
.tabBox dd ul li .tooltip > span {
	font-size: 75%;
	color: #009ce7;
	display: block;
	line-height: 1.2;
	margin-top: 10px;
	height: 30px;
}
.tabBox .central dd ul li .tooltip p {
	font-size: 70%;
	overflow: hidden;
	margin-bottom: 0;
}
.tabBox .central dd ul li .tooltip p b {
	display: block;
	font-size: 100%;
	color: #009fe8;
	border: 1px solid #009fe8;
	padding: 2px 4px 0;
	margin: 10px 0 -15px;
	text-align: left;
}
.tabBox .central dd ul li .tooltip p a {
	display: block;
	font-size: 100%;
	color: #fff;
	background:  url(/common/img/sp/icon_arrow03.png) no-repeat 95% center #009fe8;
	border: 1px solid #009fe8;
	padding: 10px 15px 10px 4px;
	margin: 10px 0;
	text-align: left;
	background-size: 8px auto;
	line-height: 1.2;
	text-decoration: none;
}
.tabBox .central dd ul li .tooltip p a span {
	font-size: 70%;
}
/*.tabBox .central dd ul li .tooltip p a {
	position: relative;
	font-size: 100%;
	text-decoration: underline;
	line-height: 1.4;
	margin-top: 10px;
	background: url(/common/img/sp/icon_arrow01.png) no-repeat center left;
	background-size: 7px;
	padding-left: 10px;
}*/
.tabBox .central dd ul li .tooltip p span {
	display: block;
	font-size: 90%;
}
.technology .central {
	border-bottom: 1px solid #ccc;
	padding: 10px;
	border: 2px solid #009ce7;
}
.technology .central dl dt p {
	margin-bottom: 10px;
	margin-top: 0;
	font-size: 130%;
	color: #009ce7;
}
.technology .central dl dt ul {
	overflow: hidden;
	margin-bottom: -10px;
}
.technology .central dl dt ul li {
	display: inline-block;
	margin: 0 5px 10px 0;;
	text-decoration: none;
	padding: 6px 10px 3px 15px;
	font-size: 90%;
	background: #e6e6e6 url(/common/img/icon_arrow06.png) no-repeat 5px center;
	color: #333;
	cursor: pointer;
}
.technology .central dl dt ul li.ac {
	color: #fff;
	background: #009ce7 url(/common/img/icon_arrow06.png) no-repeat 5px center;
}
.technology .central dl dd ul {
	margin-left: -2%;
}
.technology .central dl dd ul li {
	position: relative;
	float: left;
	width: 48%;
	margin-top: 20px;
	margin-left: 2%;
}

.technology .central dl dd ul li.show {
	display: block !important;
}
.technology .central dl dd ul li:nth-child(4n) {
	margin-right: 0;
}
.technology .central dl dd ul li a {
	display: block;
	text-align: left;
	color: #333;
	font-size: 70%;
}
.technology .central dl dd ul li a span:after  {
	display: inline-block;
	width: 15px;
	padding: 10px 0;
	content: "";
	background: url(/common/img/icon_arrow05.png) no-repeat 8px 12px;
}
.technology .central > dl > dd > ul > li > span {
	display: none;
}





/* -----------------------------------------------------------------------------

開発品の紹介

----------------------------------------------------------------------------- */
.d-products-cont {
	margin: 20px auto 20px;
	padding: 30px 15px 0px;
	background: #E3F4FC;
}
.d-products-cont .column{
	margin: 0 auto;
}
.d-products-cont .column>p{
		font-size: 10%;
	}
.d-products-cont .column:last-child{
	margin-bottom: 0;
}
.d-products-cont .column>ul{
	display: block;
	letter-spacing: -0.4em;
	line-height: 0;
}
.d-products-cont .column>ul>li{
	display: inline-block;
	letter-spacing: normal;
	width: 49%;
	margin: 0 2% 20px 0;
	vertical-align: top;
}
.d-products-cont .column>ul>li:nth-child(2n){
		margin-right: 0;
	}
	
.d-products-cont .column>ul>li.last{
		width: 100%;
		margin-right: 0;
	}
.d-products-cont .column>ul>li>a{
	display: block;
	line-height: 0;
	position: relative;
	overflow: hidden;
	text-decoration: none;
}
.d-products-cont .column>ul>li>a:hover{
	opacity: 1;
}
.d-products-cont .column>ul>li p.img{
	line-height: 0;
	margin: 0 auto 10px;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.d-products-cont .column>ul>li p.img img{
	width: 100%;
	height: auto;
}
.d-products-cont .column>ul>li p.img:hover{
	opacity: 0;
	filter:alpha(opacity=60);
	-moz-opacity: 0.6;
	opacity: 0.6;
}
.d-products-cont .column>ul>li div{
		position: static;
		padding: 0;
		background: none;
		height: auto;
	}	
.d-products-cont .column>ul>li h3{
	font-size: 110%;
	color: #009de4;
	margin: 10px auto 5px;
	text-align: center;
	font-weight: normal;
		line-height: 120%;
	font-weight: bold;
}
.d-products-cont .column>ul>li a[target="_blank"] h3{
	background: url(/common/img/icon_blank.png) right 0 top 2px no-repeat;
}
.d-products-cont .column>ul>li p.txt{
	font-size: 90%;
	text-align: left;
	margin: 0 auto;
	color: #333;
	line-height: 140%;
}
.d-products__video {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  margin-bottom: 2em;
}
/* -----------------------------------------------------------------------------

イチオシ技術

----------------------------------------------------------------------------- */
div.technologyBox {
	font-size: 100%;
	border: 2px solid #009ce7;
	overflow: hidden;
	position: relative;
	margin-top: 20px;
	padding-bottom: 20px;
}
div.technologyBox span.category {
	display: inline-block;
	width: 100%;
	padding: 5px 0;
	text-align: center;
	font-size: 150%;
	font-weight: bold;
	background: #ccc;
	box-sizing: border-box;
}
div.technologyBox p {
	display: block;
	overflow: hidden;
	line-height: 1.5;
	margin-top: 10px;
	padding: 0 10px;
}
div.technologyBox p.title {
	font-size: 160%;
	font-weight: bold;
}
div.technologyBox p.btn {
	margin-top: 20px;
	padding: 0;
}
div.technologyBox p.btn + p.btn {
	margin-top: 10px;
}
div.technologyBox p.btn a {
	width: 70%;
	font-size: 100%;
	color: #333;
	text-decoration: none;
	margin: 0 auto;
	display: block;
	background: url(../common/img/sp/icon_arrow03.png) no-repeat right 10px center #009ce7;
	background-size: 8px auto;
	border-radius: 3px;
}
div.technologyBox p.btn a span {
	color: #fff;
	font-size: 100%;
	font-weight: normal;
	padding: 10px 0;
	text-align: center;
	display: inline-block;
	width: 100%;
	box-sizing: border-box;
}
div.technologyBox p.btn.link a span {
	border: 1px solid #009ce7;
	border-radius: 3px;
	color: #009ce7;
}
div.technologyBox p.btn.link a {
	background: url(../common/img/sp/icon_arrow05.png) no-repeat right 10px center #fff;
	background-size: 8px auto;
}

/* -----------------------------------------------------------------------------

総合研究所

----------------------------------------------------------------------------- */
.rdCenter ol {
	margin-top: -10px;
}
.rdCenter ol li {
	margin-top: 10px;
}
.rdCenter div.decoration {
	margin-bottom: 0;
}
.rdCenter div.decoration + p {
	margin: 10px 0 20px;
}
.rdCenter ul.genealogy li {
	width: 100%;
	padding: 10px 0;
	border-bottom: 1px dotted #ccc;
}
.rdCenter ul.genealogy li span {
	display: block;
	float: left;
}
.rdCenter ul.genealogy li div {
	margin-left: 60px;
}
.rdCenter p.rdCenter-description {
	font-size: 150%;
	margin-bottom: 30px;
}
.rdCenter .location p.print {
	display: block;
}
.rdCenter .location p.print a {
	display: block;
	padding: 16px 20px 15px;
	color: #666;
	background: #e6e6e6 url(/common/img/icon_pdf.png) 10px center no-repeat;
	border-radius: 2px;
	text-decoration: none;
	text-align: center;
	font-size: 120%;
}
.rdCenter .location p {
	margin-top: 10px;
}
.rdCenter .location dl {
	margin-top: 10px;
}
.rdCenter .location .map {
	margin-top: 20px;
}
.rdCenter h4 {
	margin-top: 15px;
	font-size: 200%;
}
.rdCenter p.btn-d-products {
	display: block;
	margin: 0 auto;
	text-align: center;
	}
.rdCenter p.btn-d-products a {
	display: inline-block;
	padding: 15px 34px 15px;
	border-radius: 3px;
	color: #fff;
	background: #019CE4;
	font-size: 110%;
	text-decoration: none;
}
.gmap-wrap {
height: 0;
overflow: hidden;
padding-bottom: 100%;
position: relative;
margin-bottom: 20px;
margin-top: 20px;
}
.gmap-wrap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}

/* -----------------------------------------------------------------------------

拡張

----------------------------------------------------------------------------- */
.sub main.dev p,
.sub main.dev li,
.sub main.dev dt,
.sub main.dev dd,
.sub main.dev th,
.sub main.dev td {
	font-size: inherit;
}

.dev{
	font-size: 14px;
}
.dev *,
.dev *::before,
.dev *::after{
	box-sizing: border-box;
}
.dev sub,
.dev sup{
	position: relative;
	font-size: .75em;
	line-height: 0;
	vertical-align: baseline
}
.dev sub{
	bottom:-.25em
}
.dev sup{
	top:-.6em
}
.dev img{
	max-width: 100%;
	height: auto;
}
.dev figcaption{
	padding: 8px 0 0;
	font-size: 13px !important;
}
/* table
---------------------------------------------*/
.dev table {
	display: block;
	border-collapse: collapse;
	border-top: none;
	width: 100%;
	overflow-x: scroll;
	-webkit-overflow-scrolling: touch;

	font-size: 12px;
	white-space: nowrap;
}
.dev table tbody{
	width: 100%;
	display:table;
}
.dev table th,
.dev table td {
	display: table-cell;
	width: auto;
	padding: 5px 5px;

	text-align: left;
	vertical-align: middle;
	border: 1px #d4d4d4 solid;
}
.dev table th{
	background-color: #dff0f7;
	font-weight: bold;
}
.dev table th.u-text-left{
	text-align: left !important;
}
.dev table th span.text-vertical{
	line-height: 1;
	white-space: nowrap;
	min-width: 1em;
}

.flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flex--nowrap{
	display: flex;
	justify-content: space-between;
}
.md-gap-0{ --u-gap: 0px; }
.md-gap-10{ --u-gap: 10px; }
.md-gap-20{ --u-gap: 20px; }
.md-gap-25{ --u-gap: 25px; }
.md-gap-40{ --u-gap: 40px; }
.md-gap-50{ --u-gap: 50px; }
.md-gap-60{ --u-gap: 60px; }
.md-gap-70{ --u-gap: 70px; }


.md-w-1-1{ width: 100%;}

.flex > :not([class*="w-"]),
.md-w-1-2{ width: calc((100% - var(--u-gap, 0px) * 1) / 2);}
.md-w-1-3{ width: calc((100% - var(--u-gap, 0px) * 2) / 3);}
.md-w-1-4{ width: calc((100% - var(--u-gap, 0px) * 3 ) / 4);}

.flex > :not([class*="w-"]):nth-child(n + 3),
.md-w-1-1:nth-child(n + 2),
.md-w-1-2:nth-child(n + 3),
.md-w-1-3:nth-child(n + 4),
.md-w-1-4:nth-child(n + 5){ margin-top: var(--u-gap, 0px); }

/* .photo__item:nth-child(3n+2):nth-last-child(1) {
	margin-right: auto;
	margin-left: 5.55556%;
} */

.mb-5{ margin-bottom: 5px; }
.mb-10{ margin-bottom: 10px; }
.mb-15{ margin-bottom: 15px; }
.mb-20{ margin-bottom: 20px; }
.mb-25{ margin-bottom: 25px; }
.mb-30{ margin-bottom: 30px; }
.mb-35{ margin-bottom: 35px; }
.mb-40{ margin-bottom: 40px; }
.mb-45{ margin-bottom: 45px; }
.mb-50{ margin-bottom: 50px; }
.mb-60{ margin-bottom: 60px; }
.mb-70{ margin-bottom: 70px; }
.mb-80{ margin-bottom: 80px; }
.mb-90{ margin-bottom: 90px; }

.mt-5{ margin-bottom: 5px; }
.mt-10{ margin-bottom: 10px; }
.mt-15{ margin-bottom: 15px; }
.mt-20{ margin-bottom: 20px; }
.mt-25{ margin-bottom: 25px; }
.mt-30{ margin-bottom: 30px; }
.mt-35{ margin-bottom: 35px; }
.mt-40{ margin-bottom: 40px; }
.mt-45{ margin-bottom: 45px; }
.mt-50{ margin-bottom: 50px; }


/* .u-mr-30{ margin-right: 30px; } */

.wh-nowrap{ white-space: nowrap; }
.wh-normal{ white-space: normal; }
.wh-pre{ white-space: pre; }

.md-wh-normal{ white-space: normal; }



.layout-fixed{ table-layout: fixed; }
.layout-auto{ table-layout: auto}

.text-vertical{
	writing-mode: vertical-rl;
	text-orientation: upright;
	white-space: nowrap;
}
.color-red{
	color: #c40018;
}
.text-left{ text-align: left; }
.text-center{ text-align: center; }

/* サイドメニュー
---------------------------------------------*/
/*#side > ul > li:nth-child(5) > a{
	background: url(/common/img/icon_arrow_down01.png) 15px center no-repeat #fff;
	background-size: 14px auto;
}
#side > ul > li:nth-child(5) > a:hover{
	background-color: #e5f5fc;
	background-size: 14px auto;
}
#side > ul > li:nth-child(5) > a.active:hover {
	background-color: #e5f5fc;
	background-size: 14px auto;
}
.develop-top #side > ul > li:nth-child(5) > a{
	background-color:#e5f5fc;
	background-size: 14px auto;
	
}*/
#side > ul > li:nth-child(3) > a{
	background: url(/common/img/icon_arrow_down01.png) 15px center no-repeat #fff;
	background-size: 14px auto;
}
#side > ul > li:nth-child(3) > a:hover{
	background-color: #e5f5fc;
	background-size: 14px auto;
}
#side > ul > li:nth-child(3) > a.active:hover {
	background-color: #e5f5fc;
	background-size: 14px auto;
}
.develop-top #side > ul > li:nth-child(3) > a{
	background-color:#e5f5fc;
	background-size: 14px auto;
	
}
/* タイトル
---------------------------------------------*/
.dev{
	background: url(/technology/development_product/img/bg.jpg) 0 0 / 355px 355px no-repeat;
}
.dev-header{
	position: relative;
	height: auto;
	margin-bottom: 20px;

	text-align: center;
}
.dev-header__thumb{
	width: 96px;
	margin: 0 auto 5px;
}
.dev-header__copy{
	position: relative;
	padding: 5px 0 10px;
	font-weight: 600;
}
.dev-header__copy::after{
	position: absolute;
	content: '';
	display: block;
	width: 100%;
	height: 4px;
	bottom: 0;
	background: linear-gradient(to right, #213487 0%,#213487 10%,#ffffff 100%);
}
.dev-header__title{
	padding: 10px 0 5px;
	font-size: 24px !important;
	font-weight: 600;
	line-height: 1.333;
}

.dev__lead{
	margin-bottom: 20px;

	font-size: 20px !important;
	font-weight: 600;
	color: #21348b;
}
.dev__lead br{
	display: none;
}
.dev__desc{
	margin-bottom: 60px;

	line-height: 1.6;
	text-align: justify;
    text-justify: inter-ideograph;
}

/* ブロック
---------------------------------------------*/
.dev-blk,
.dev-blk--m{
	width: 100%;
}
/* .dev-blk--m{
	max-width: 510px;
} */
.dev-blk-title{
	margin-bottom: 20px;
	padding: 0 0 0 10px;
	border-left: 5px solid #009de4;

	font-size: 18px;
	font-weight: bold;
	line-height: 1.25;
	color: #009de4;
}
.dev-blk-title-sub{
	margin-bottom: 20px;

	font-size: 16px;
	font-weight: bold;
	line-height: 1.25;
}
.dev-blk-title-sub2{
	margin-bottom: 20px;

	font-size: 14px;
	font-weight: bold;
	line-height: 1.25;
}
/* 
---------------------------------------------*/
.dev-note,
.dev-note--r{
	font-size: 10px !important;
}
.dev-note--r{
	text-align: right;
}
/* リスト
---------------------------------------------*/
.dev-lists li{
	text-indent: -1em;
	padding-left: 1em;
}
.dev-lists li:not(:last-child){
	margin-bottom: .5em;
}
.dev-lists span{
	font-size: 106.666%;
	color: #029de4;
}

/* 例外
---------------------------------------------*/
.dp02-ex1 figure:nth-child(1){
	margin-bottom: 20px;
}
.dp02-ex1 figure:nth-child(2){
	width: 50%;
	max-width: 270px;
	margin: 0 auto;
}
.dp02-ex2{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.dp02-ex2 figure{
	width: calc((100% - 20px) / 2);
}
.dp02-ex2 figure:nth-child(n + 3){
	margin-top: 10px;
}
/* 例外
---------------------------------------------*/
.dp03-ex1 figure:nth-child(1){
	margin-bottom: 20px;
}
.dp03-ex1 figure:nth-child(2){
	width: 50%;
	max-width: 270px;
	margin: 0 auto;
}
.dp03-ex2{
	display: grid;
	grid-template-columns: 1fr;
	align-items: center;
	gap: 20px;
}
.dp03-ex2 p{
	width: 118px;
	margin: 0 auto;
}

.dp03-ex4 .dev-blk-title-sub{
	color: #009de4;
}
/* 例外
---------------------------------------------*/
.dp04-ex3{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	max-width: 584px;
}
.dp04-ex3 > div{
	padding-right: 1em;
}
.dp04-ex4{
	display: flex;
	flex-wrap: wrap;
}
.dp04-ex4 dt{
	width: 6.5em;
}
.dp04-ex4 dd{
	width: calc(100% - 6.5em);
}
/* 例外
---------------------------------------------*/
.dp05-ex1{
	margin-bottom: 15px;

	font-size: 20px !important;
	font-weight: 600;
	text-align: center;
}
.dp05-ex1 span{
	color: #bd0018;
}
.dp05-ex2{
	position: relative;
	text-align: center;
}
.dp05-ex2 img{
	max-width: 156px;
	margin-bottom: 5px;
}
.dp05-ex2 p:nth-of-type(1){
	margin-bottom: 20px;

	font-size: 22px !important;
	font-weight: 600;
	color: #21348b;
}
.dp05-ex2 p:nth-of-type(2){
	line-height: 2.2;
}
.dp05-ex3{
	position: absolute;
	width: 50px;
	height: 50px;
	top: calc(100% + 10px);
	left: calc(50% - 25px);
	transform: rotate(45deg);
}
.dp05-ex3 span{
	position: absolute;
	display: block;
	width: 4px;
	height: 100%;
	background-color: #21348b;
	left: calc(50% - 2px);
}
.dp05-ex3 span:nth-child(2){
	transform: rotate(90deg);
}
.dp05-ex4{
	display: flex;
	flex-wrap: wrap;
}
.dp05-ex4 li{
	text-indent: -2em;
	padding-left: 2em;

	font-size: 12px !important;
	line-height: 1.75;
}
/* 例外
---------------------------------------------*/
.dp06-ex1 li{
	white-space: nowrap;
}
.dp06-ex1 figure{
	max-width: 670px;
	margin: 0 auto;
}
/* 例外
---------------------------------------------*/
.dp07-ex1{
	text-align: center;
	padding-left: calc(42 / 330 * 100%);
	padding-right: calc(10 / 330 * 100%);
}
.dp07-ex1 p:nth-child(1){
	padding: 5px 0;
	border-bottom: 2px solid #0299e0;
	font-size: 16px !important;
	font-weight: bold;
}
.dp07-ex1 p:nth-child(2){
	padding: 5px 0 0;
}
/* 例外
---------------------------------------------*/
.dp13-ex1{
	display: grid;
	grid-template-columns: 1fr;
	place-items: center;
	/* max-width: 620px; */
	margin: 0 auto;
}
.dp13-ex1 div{
	width: 100%;
	order: 1;
}
.dp13-ex1 figure{
	margin-bottom: 20px;
}
.dp13-ex1 p{
	padding-top: .1em;
	padding-left: 10px;
	border-top: 2px solid #0C318E;

	font-size: 16px !important;
	font-weight: 600;
}
.dp13-ex1 p:last-child{
	border-bottom: 2px solid #0C318E;
}
.dp13-ex1 p span{
	font-size: 14px !important;
}

.dp13-ex2{
	padding-left: 7%;
	font-size: 11px !important;
	font-weight: 600;
}
.dp13-ex2 p:nth-child(1){
	font-size: 13px !important;
}
.dp13-ex2 p:nth-child(3){
	text-align: right;
}

.dp13-ex3{
	display: grid;
	grid-template-columns: 1fr;
	gap: 15px;
}
.dp13-ex-red{
	color: #d00;
}
/* 例外
---------------------------------------------*/
.dev-download{
	background: #009de4;
	color: #fff !important;
	text-decoration: none !important;
	padding: 8px 16px 6px 23px;
	display: inline-block;
	border-radius: 3px;
}
.dev-download span{
	background: url(/common/img/icon_arrow01.png) right center no-repeat;
	padding-right: 23px;
	background-size: 8px auto;
}




/* -----------------------------------------------------------------------------

知的財産について

----------------------------------------------------------------------------- */
.technology.intellectual-property ul.anchor {
	margin-bottom: 50px;
}
.technology.intellectual-property ul.anchor li span {
	display: table;
	width: 100%;
}
.technology.intellectual-property ol {
	margin-bottom: 20px;
	margin-top: 20px;
	margin: 1em 0;
	padding-left: 20px;
	list-style-type: decimal;
}
.technology.intellectual-property ol li {
	margin-bottom: 10px;
}
.technology.intellectual-property ol li h5 {
	margin-bottom: 3px;
	font-size: 105%;
}


.intellectual-property-btn{
	text-align: center;
	margin-bottom: 50px;
}
.intellectual-property-btn a{
	background: #009de4;
	color: #fff !important;
	text-decoration: none !important;
	padding: 10px 16px 8px 23px;
	display: inline-block;
	border-radius: 3px;
	min-width: 91%;
    text-align: center;
	font-size: 180% !important;
}
.intellectual-property-btn a span{
	background: url(/common/img/icon_arrow01.png) right center no-repeat;
	padding-right: 23px;
	background-size: 8px auto;
	font-size: 100%;
}