@charset "utf-8";

/*
common.css
© Hokkaido-Chizu Co.,Ltd. All rights reserved.
version 1.0.9
date 2023.05.25
*/

html {
	height: 100%;
	width: 100%;
	font-size: 62.5%;
}

body {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
	font-weight: 500;
	font-size: 1.6rem;
	line-height: 1.6;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	text-size-adjust: 100%;
	color: #000;
	background-color: #fff;
	position: relative;
}

img {
	width: 100%;
	height: auto;
}

/* link */
a {
	outline: none;
	text-decoration: none;
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
a:link {
	color: #333;
	text-decoration: none;
}
a:visited {
	color: #333;
	text-decoration: none;
}
a:hover {
	color: #ccc;
	text-decoration: none;
	opacity: 0.7;
}
a:active {
	color: #ccc;
	text-decoration: none;
}
.t-center{
	text-align: center;
}
.t-right{
	text-align: right;
}
/* Header
------------------------------------------------*/
#header{
 display: block;
 width: 100%;
 min-width: 1100px;
 position: fixed;
 left: 0;
 top: 0;
 z-index: 100;
 border-top: 3px solid #0e2789;
 background-color: rgba(255,255,255,0.92);
}
#header .head_inner{
 display: flex;
 justify-content: space-between;
 max-width: 1100px;
 margin: 0 auto;
}
#header .head_inner h1{
	flex: 0 0 237px;
	margin: 10px auto 8px 0;
	padding: 0;
	line-height: 1;
}
#header .head_inner h1 a{
	display: block;
	width: 100%;
}

.head_tel{
	width:160px;
	margin:14px 0 0 -110px;
}


/* Header Global Menu
------------------------------------------------*/
#global_menu {
 flex: 0 0 auto;
 justify-content: space-between;
 align-self: center;
 margin: 0 0 0 auto;
 font-size: 1.4rem;
 font-weight: bold;
}
#global_menu .sp_menu_btn{
 display: none;
}

#global_menu > ul{
 display: flex;
 justify-content: space-between;
 align-content: center;
}
#global_menu > ul > li{
 flex: 0 0 auto;
 align-self: flex-start;
 margin: 0 0 0 20px;
}
#global_menu > ul > li.active{
 border-bottom: 3px solid #0e2789;
}
#global_menu > ul > li.sub_menu_btn > .submenu_container {
 display: none;
 width: 100%;
 position: absolute;
 top: 100%;
 left: 0;
 z-index: 100;
 border-top: 1px solid #ccc;
 background-color: rgba(255,255,255,0.85);
}
#global_menu li.sub_menu_btn > .submenu_container > .sub-menu{
 display: flex;
 justify-content: space-around;
 width: 100%;
 max-width: 1100px;
 margin: 0 auto;
 padding: 25px 0;
}
#global_menu li.sub_menu_btn > .submenu_container > .sub-menu > li{
 flex: 0 0 auto;
}
#global_menu li.sub_menu_btn > .submenu_container > .sub-menu > li > a{
 display: block;
}
#global_menu li.sub_menu_btn > .submenu_container p.menu_title{
 text-align: center;
 font-size: 1.4rem;
 color: #fff;
 margin: 15px auto 10px;
 padding: 5px 0;
 border-radius: 25px;
 background-color: #000;
}
#global_menu li.sub_menu_btn > .submenu_container ul.sub-menu{
 font-size: 1.2rem;
}
#global_menu .project.sub_menu_btn > .submenu_container > .sub-menu .sub-menu li{
 display: inline-block;
 padding: 0 0 0 1.5em;
}
#global_menu .project.sub_menu_btn > .submenu_container > .sub-menu .sub-menu li::before{
 content: "\003e";
 margin: 0 0.2em 0 -1.4em;
}
#global_menu .project.sub_menu_btn > .submenu_container > .sub-menu > li{
 flex: 0 0 15%;
}

#global_menu .lab.sub_menu_btn > .submenu_container > .sub-menu{
 justify-content: center;
}
#global_menu .lab.sub_menu_btn > .submenu_container > .sub-menu li{
 margin: 0 12px;
}
#global_menu .mega-sub-menu .sub-menu{
	padding: 0px 0px 0px 14px;
}

/* Main
------------------------------------------------*/
#main {
	display: block;
	position: relative;
	width: 100%;
 min-width: 1100px;
	margin: 0 auto;
	padding: 0;
	min-height: 70vh;
	background-color: #fff;
 z-index: 0
}
.page_head{
 width: 100%;
 position: relative;
 z-index: 0;
}
.page_head img{
 display: block;
 width: 100%;
 height: auto;
 position: relative;
 z-index: 0;
}
.page_head .page_title{
 display: block;
 max-width: 1100px;
 margin: 0 auto 10px;
 text-align: left;
 position: absolute;
 bottom: 30px;
 left: 0;
 right: 0;
}
.page_head .page_title .head_icon{
 display: inline-block;
 vertical-align: middle;
 width: 60px;
 height: 60px;
 padding: 0;
 margin: 0 10px 0 0;
 border-radius: 50%;
 background-color: #fff;
 position: relative;
}
.page_head .page_title .head_icon img{
 width: 50%;
 height: auto;
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
}
.page_head .page_title h2{
 display: inline-block;
 font-size: 2.2rem;
 line-height: 1.2;
 color: #fff;
 vertical-align: middle;
	text-shadow:0px 0px 10px #000000;
}
.page_head .page_title h2 span{
	font-size: 3rem;
    padding: 0 10px 0 0;
}
.page_head .page_title.black h2{
 color: #000;
}

/* TOP TITLE DISPLAY NONE */
.home_project_item ul li span{
	display: none;
}

.local_nav{
 display: block;
 width: 100%;
 background-color: #fff;
}
.local_nav.shadow{
 box-shadow: 0 0 30px 0 rgba(0,0,0,0.3);
}
.local_nav ul{
 display: flex;
 max-width: 1100px;
 padding: 10px 0;
 margin: 0 auto;
}
.local_nav li{
 font-size: 1.4rem;
 margin: 0 0 0 30px;
}
.local_nav li:first-child{
 margin-left: 0;
}
.local_nav li a{
 display: inline-block;
}
.local_nav li a::after{
 content: "";
 display: inline-block;
 width: 8px;
 height: 8px;
 margin: 0 0 3px 10px;
 border: 2px solid #000;
 border-width: 0 1px 1px 0;
 transform: rotate(45deg);
}
.local_nav.fixed{
 position: fixed;
 z-index: 90;
 top: 0;
 left: 0;
-webkit-box-shadow: 0px 5px 5px rgba(0,0,0,0.2);
-moz-box-shadow: 0px 5px 5px rgba(0,0,0,0.2);
-webkit-box-shadow: 0px 5px 5px rgba(0,0,0,0.2);
-o-box-shadow: 0px 5px 5px rgba(0,0,0,0.2);
-ms-box-shadow: 0px 5px 5px rgba(0,0,0,0.2);
    border-top: #eeeeee solid 1px;
}

.section_head{
 width: 100%;
 position: relative;
}
.section_head img{
 display: block;
 width: 100%;
 height: auto;
 line-height: 1;
 z-index: -1;
}
.section_head .section_title{
 box-sizing: border-box;
 width: 526px;
 height: auto;
 padding: 30px 30px 25px;
 background-color: rgba(255,255,255,0.95);
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-550px, -50%);
}
.section_head .section_title p{
 font-size: 2.4rem;
 line-height: 1.2;
 letter-spacing: -0.08em;
 color: #f47a31;
 margin-top: 0.5em;
}
.section_head .section_title02{
	width: auto;
    max-width: 1100px;
    margin: 0 auto;
    padding: 30px 0 0 0;
    font-feature-settings: "palt";
	}
	.section_head .section_title02 h3{
		font-size: 3rem;
	}
	.section_head .section_title02 p{
		font-size: 2.4rem;
    line-height: 1.2;
    color: #f47a31;
	/*letter-spacing: -0.08em;
    margin-top: 0.5em;*/
	}
.section_lead {
	width: 95%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 10px 0 40px 0;
	font-feature-settings: "palt";
}
.section_inner{
 width: auto;
 max-width: 1100px;
 margin: 0 auto;
 padding: 50px 0;
 font-feature-settings : "palt";
min-height: 400px;
}
#home_recommend .section_inner{
	min-height: auto;
}
.section_inner h4{
 font-size: 3.6rem;
 line-height: 1;
 color: #0387e7;
 text-align: center;
 margin: 0 0 40px;
}
ul.function_list{
 display: block;
 vertical-align: top;
 width: 865px;
 height: auto;
 margin: 0;
 padding: 0;
 position: relative;
}
ul.function_list li{
}
ul.function_list li p.function{
 box-sizing: border-box;
 width: 350px;
 padding: 25px 15px;
 margin: 0 0 15px;
 font-size: 1.8rem;
 line-height: 1.5;
 color: #3a9a97;
 border-radius: 10px;
 border: 2px solid #3a9a97;
 background-color: #fff;
 position: relative;
 cursor: pointer;
}
ul.function_list li p.function:hover,
ul.function_list li p.function.active{
 color: #fff;
 background-color: #3a9a97;
}
ul.function_list li p.function::after{
 content: "";
 display: inline-block;
 width: 14px;
 height: 14px;
 border: 3px solid #3a9a97;
 border-width: 3px 3px 0 0;
 position: absolute;
 right: -25px;
 top: 50%;
 transform: translate(0, -50%) rotate(45deg);
}
.outline .alpha_box{
 display: none;
 vertical-align: top;
 box-sizing: border-box;
 width: 480px;
 height: 385px;
 padding: 0 45px;
 background-color: rgba(255,255,255,0.75);
 position: absolute;
 right: 0;
 top: 0;
}
.outline .alpha_box.active{
 display: flex;
 flex-direction: column;
 justify-content: center;
}
.outline .alpha_box div.function_note{
  flex: 0 0 auto;
  display: block;
  width: 390px;
  font-size: 2.1rem;
  color: #fb9300;
}
.outline .alpha_box div.function_note p{
 margin-bottom: 1em;
 line-height: 1.8;
}
.outline .alpha_box div.function_note a.btn{
 display: block;
 padding: 0.2em 0;
 font-size: 1.6rem;
 text-align: center;
 color: #fff;
 background-color: #fb9300;
 border-radius: 20px;
 box-shadow: 0 5px 10px 0 rgba(0,0,0,0.3);
}
.product_info .product_img{
 display: inline-block;
 vertical-align: top;
 width: 32%;
}
.product_info ul.info_list{
 display: inline-block;
 vertical-align: middle;
 width: 60%;
 margin: 0 0 0 7%;
}
.product_info ul.info_list li{
 list-style: disc;
 margin: 0 0 0.6em 1.5em;
}
.product_info ul.info_list li:last-child{
 margin-bottom: 0;
}
.product_info ul.info_list02{
float: left;
width: 45%;
margin: 0 2% 5% 1%;
padding-bottom: 20px;
}
.product_info ul.info_list02 li{
	padding-bottom: 10px;
}
.product_info ul.info_list02 li.info_ttl{
font-size: 1.8rem;
	font-weight: bold;
	border-bottom: #ccc dotted 1px;
	padding-bottom: 10px;
	margin-bottom: 10px;
}
.product_info ul.info_list02 li strong {font-weight: bold; color: #f47a31;}

.sample_img{
	clear: both;
 width: 100%;
 max-width: 1100px;
 margin: 0 auto;
}
.sample_img > p{
 font-size: 2.4rem;
 color: #0387e7;
 margin-bottom: 1.0em;
	    line-height: 120%;
}
.sample_img > p span{
 font-size: 1.6rem;
 color: #000000;
}
.sample_img > p span.caut02{
 font-size: 1.2rem;
 color: #000000;
}
.sample_img .sample_img_list{
 display: flex;
 justify-content: space-between;
}
.sample_img .sample_img_list li{
 /* flex: 0 0 31%; */
}

.hcc_merit{
	clear: both;
 width: 100%;
 max-width: 1100px;
 margin: 0 auto;
}
.hcc_merit > p{
 font-size: 3.4rem;
 color: #0387e7;
 margin-bottom: 0.5em;
	font-weight: normal;
}
.hcc_merit ul li{
	font-size: 1.8rem;
	padding-bottom: 10px;
	padding-left: 40px;
    text-indent: -40px;
}
.hcc_merit ul li img{
	width: 30px;
	margin-right: 10px;
}

.youtube_container{
 width: 100%;
 margin: 50px auto 0;
 background-color: #ddd;
}
.youtube_container h4{
 color: #000;
}
.youtube_container .mov_box{
 width: 100%;
 max-width: 760px;
 margin: 0 auto;
}
.youtube_container .mov_box .youtube{
 width: 100%;
 height: 0;
 padding-top: 56.25%;
 position: relative;
}
.youtube_container .mov_box.portrait .youtube{
 padding-top: 71.25%;
}
.youtube_container .mov_box .youtube iframe{
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}
.youtube_container .mov_box.portrait .youtube iframe{
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 margin: 0 auto;
 width: 320px;
 height: 568px;
}
.youtube_container .mov_box > p{
 margin: 0.5em 0 0;
}
.section_inner.scene{
 padding-bottom: 0;
}
.scene ul.scene_list{
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
}
.scene ul.scene_list li{
 /* flex: 0 0 32%; */
 text-align: left;
 margin: 0 0 20px;
}
.scene ul.scene_list li h5{
 font-size: 1.6rem;
 font-weight: 800;
 line-height: 1.8;
 margin-top: 0.3em;
}
.scene ul.scene_list li figcaption{
	max-width: 350px;
}
.column_double{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.column_double li{
	display: flex;
	flex-direction: column;
	width: 47%;
	height: auto;
	padding: 20px 0;
}
.section_inner.flow{
 padding-bottom: 50px;
}
.section_inner.flow ol, .section_inner.flow ol.flow05{
 display: flex;
 justify-content: space-between;
}
.section_inner.flow ol > li, .section_inner.flow ol.flow05 > li{
 flex: 0 0 20%;
}
.section_inner.flow ol h5, .section_inner.flow ol.flow05 h5{
 font-size: 2.2rem;
 font-weight: 600;
 color: #0387e7;
 text-align: center;
}

.section_inner.flow ol h5 span, .section_inner.flow ol.flow05 h5 span{
 font-size: 1.6rem;
}
.section_inner.flow ol.flow05 h5 span{
 font-size: 1.4rem;
}
.section_inner.flow ol p, .section_inner.flow ol.flow05 p{
 display: block;
 font-size: 1.4rem;
 width: 96%;
 margin: 0 auto;
}
.section_inner.flow ol.flow05 p{
	width: 85%;
}

.section_inner.flow ol p.icon, .section_inner.flow ol.flow05 p.icon{
 display: block;
 width: 160px;
 height: 160px;
 box-sizing: border-box;
 border-radius: 50%;
 background-color: #0387e7;
 position: relative;
 margin: 0 auto 10px;
}
.section_inner.flow ol p.icon img, .section_inner.flow ol.flow05 p.icon img{
 display: block;
 width: 60px;
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
}
.section_inner.flow ol p.icon::after, .section_inner.flow ol.flow05 p.icon::after{
 content: "";
 display: block;
 width: 14px;
 height: 14px;
 border: 3px solid #0387e7;
 border-width: 3px 3px 0 0;
 position: absolute;
 right: -40%;
 top: 50%;
 transform: translateY(-50%) rotate(45deg);
}
.section_inner.flow ol.flow05 p.icon::after{
	right: -20%;
}
.section_inner.flow ol li:last-child p.icon::after, .section_inner.flow ol.flow05 li:last-child p.icon::after{
 content: none;
}

.section_inner.inquiry{
 text-align: center;
}
.section_inner.inquiry h4{
 margin-bottom: 30px;
}
.section_inner.inquiry .inquiry_btn{
 display: flex;
 justify-content: space-around;
 margin-top: 30px;
}
.section_inner.inquiry .inquiry_btn a{
 flex: 0 0 45%;
 padding: 25px 0;
 font-size: 1.8rem;
 text-align: center;
 color: #fff;
 position: relative;
 background-color: #fb9300;
 box-shadow: 0 5px 10px 0 rgba(0,0,0,0.3);
}
.section_inner.inquiry .inquiry_btn a span.icon{
 display: inline-block;
 vertical-align: middle;
 width: auto;
 height: 25px;
 margin: 0 10px 4px 0;
}
.section_inner.inquiry .inquiry_btn a span.icon img{
 display: block;
 width: auto;
 height: 100%;
}
.section_inner.inquiry .inquiry_btn a::after{
 content: "";
 display: block;
 width: 14px;
 height: 14px;
 border: 3px solid #fff;
 border-width: 3px 3px 0 0;
 position: absolute;
 right: 5%;
 top: 50%;
 transform: translate(0, -50%) rotate(45deg);
}
.section_inner.inquiry address{
 display: inline-block;
 margin: 40px auto 0;
 font-size: 1.4rem;
 text-align: left;
}

/* Customize Option
---------------------------------*/
.flex_box{
	display:flex;
	flex-direction: row;
	justify-content: space-between;
	margin: 0 0 40px 0;
}
.flex_box:not(.flex_box_wrap) > div:nth-child(n+2){
	margin: 0 0 0 30px;
}
.flex_box_wrap{
	flex-wrap: wrap;
	gap: 5%;
	row-gap: 30px;
}
.flex_box_item_50{
	width: 47%;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}
.flex_box_item_30{
	width:30%;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}
.flex_vertical_center{
	align-items: center;
}
.flex_vertical_baseline{
	align-items: baseline;
}
.flex_horizontal_center{
	justify-content: center;
}
.flex_horizontal_start {
	justify-content: flex-start;
}
.mb_10{
	margin-bottom: 10px;
}
.mb_30{
	margin-bottom: 30px;
}
.nowrap {
  display: inline-block;
  white-space: nowrap;
}
.linkText {
	color: #0000ff !important;
	text-decoration: underline !important;
}
.linktext :hover {
	cursor: pointer !important;
}
.btn_large_wrapper{
	display: flex;
}
.btn_large_arrow{
padding: 14px 43px 14px 30px;
margin: 0 0 30px 0;
font-size: 1.8rem;
text-align: center;
background-color: #fb9300;
color: #fff!important;
box-shadow: 0 5px 10px 0 rgb(0 0 0 / 30%);
position: relative;
}
.btn_large_arrow::after{
content: "";
display: block;
width: 10px;
height: 10px;
border: 2px solid #fff;
border-width: 2px 2px 0 0;
position: absolute;
right: 7%;
top: 50%;
transform: translate(0, -50%) rotate(45deg);
}
#ino_new_technology h5,#ino_analysis h5{
	font-size: 1.8rem;
	font-weight: bold;
	color: #f47a31;
	line-height: 1.8;
	margin-top: 0.3em;
}
#ino_new_technology >p{
	font-size: 1.8rem;
	margin: 0 auto 5%;
}
#ino_technology h4{
	color: #000;
	margin-bottom: 0.8em;
}
#ino_technology h5{
	font-size: 1.8rem;
	font-weight: bold;
	color: #000;
	line-height: 1.8;
	margin-top: 0.3em;
}
#ino_technology .option_list figure img{
 display: block;
 width: 100%;
 height: auto;
 margin: 1em auto;
}

.option_inner, #db_gis01 .option_inner, #db_gis02 .option_inner, #db_gis03 .option_inner{
 max-width: none;
 padding-bottom: 0;
 text-align: center;
 background-color: #8ec553;
}

#ino_technology{
	margin-bottom: 50px;
  padding-bottom: 10px;
  text-align: left;
 	background-color: #ddd;
}

#db_gis01 .option_inner, #db_gis02 .option_inner, #db_gis03 .option_inner{
	text-align: left;
}
.option_inner h2{
 color: #fff;
	font-size: 3.6rem;
}
#db_gis01 .option_inner h2, #db_gis02 .option_inner h2, #db_gis03 .option_inner h2,
#db_gis01 .option_inner p, #db_gis02 .option_inner p, #db_gis03 .option_inner p{
	max-width: 1100px;
    margin: 0 auto;
}
.option_inner h4{
 color: #fff;
 margin-bottom: 0.8em;
}
.option_inner > p{
 margin-bottom: 1.5em;
}
#option .option_list,
#ino_technology .option_list{
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 width: 90%;
 max-width: 1100px;
 margin: 0 auto;
}
#db_gis01 .option_inner .hcc_merit p, #db_gis02 .option_inner .hcc_merit p, #db_gis03 .option_inner .hcc_merit p{
	color: #ffffff;
	padding-top: 30px;
}

#option .op_contents{
 flex: 0 0 45%;
 text-align: left;
 margin-bottom: 40px;
}
#option .op_contents h5{
 font-size: 1.6rem;
 color: #fff;
 margin: 0 0 0 1.2em;
}
#option .op_contents h5::before{
 content: "■";
 margin: 0 0.2em 0 -1em;
}
#option .op_contents figure{
 display: block;
 width: 100%;
 margin: 0 auto;
}
#option .op_contents figure img{
 display: block;
 width: 100%;
 height: auto;
 margin: 1em auto;
}
#option .op_contents figcaption ul{
 margin: 0;
 padding: 0;
}
#option .op_contents figcaption ul > li{
 list-style: disc outside;
 margin: 0 0 0 1.2em;
}
#option .section_inner.inquiry h4{
 color: #8ec553;
}
#option .section_inner.inquiry .inquiry_btn a{
 background-color: #8ec553;
}


/* Sample Download
----------------------------*/
.sample_dl{
 display: flex;
 flex-direction: column;
 justify-content: center;
 width: 160px;
 height: 160px;
 text-align: center;
 border-radius: 50%;
 background-color: #fb9300;
 position: absolute;
 top: 330px;
 left: 50%;
 margin-left: 350px;
 box-shadow: 0 5px 10px 0 rgba(0,0,0,0.3);
 z-index: 90;
}
.sample_dl a{
 transform: scale(0.8);
 color: #fff;
}
.sample_dl p{
 font-size: 2.4rem;
 line-height: 1;
 font-weight: 800;
 letter-spacing: -0.05em;
 font-feature-settings : "palt";
}
.sample_dl p.logo{
 width: 160px;
 margin: 0 auto;
}
.sample_dl p.dl{
 display: block;
 width: 75%;
 margin: 5px auto;
 padding: 3px 0;
 border-radius: 5px;
 font-size: 1.6rem;
 color: #fb9300;
 background-color: #fff;
}

.sample_dl.fixed{
 position: fixed;
 top: 70px; /* 120px */
}

#map_ai .section_head .section_title h3{
 width: 283px;
}
#map_ai .section_contents{
 background: url(/assets/images/map_bg.png) no-repeat 100% 0;
}

#texture .section_head .section_title h3{
 width: 150px;
}
#texture .section_contents{
 background: url(/assets/images/texture_bg.png) no-repeat 100% 0;
}
#system_system .section_contents {background: url(/assets/images/system_bg.png) no-repeat 100% 0;}
#system_foss .section_contents {background: url(/assets/images/foss4g_bg.png) no-repeat 100% 0;}
#geo_spatial .section_contents {background: url(/assets/images/geo_spatial_bg.png) no-repeat 100% 0;}
#map_print .section_contents {background: url(/assets/images/map_print_bg.png) no-repeat 100% 0;}
#birds_eye .section_contents {background: url(/assets/images/birds_eye_bg.png) no-repeat 100% 0;}
#model_reliefmap .section_contents {background: url(/assets/images/model_reliefmap_bg.png) no-repeat 100% 0;}
#db_movie .section_contents {background: url(/assets/images/movie_image_bg.png) no-repeat 100% 0;}

#cross_digi .section_contents {background: url(/assets/images/cross_digi_bg.png) no-repeat 100% 0;}
#cross_floor .section_contents {background: url(/assets/images/cross_floor_bg.png) no-repeat 100% 0;}
#cross_graphic .section_contents {background: url(/assets/images/cross_graphic_bg.png) no-repeat 100% 0;}
#cross_matter .section_contents {background: url(/assets/images/cross_matter_bg.png) no-repeat 100% 0;}

#db_gis01_01 .section_contents {background: url(/assets/images/db_gis01_01_bg.png) no-repeat 100% 0;}
#db_gis01_02 .section_contents {background: url(/assets/images/db_gis01_02_bg.png) no-repeat 100% 0;}
#db_gis01_03 .section_contents {background: url(/assets/images/db_gis01_03_bg.png) no-repeat 100% 0;}
#db_gis01_04 .section_contents {background: url(/assets/images/db_gis01_04_bg.png) no-repeat 100% 0;}
#db_gis01_05 .section_contents {background: url(/assets/images/db_gis01_05_bg.png) no-repeat 100% 0;}
#db_gis02_01 .section_contents {background: url(/assets/images/db_gis02_01_bg.png) no-repeat 100% 0;}
#db_gis03_01 .section_contents {background: url(/assets/images/db_gis03_01_bg.png) no-repeat 100% 0;}

#system_zao .section_contents {background: url(/assets/images/system_zao_bg.png) no-repeat 100% 0;}
#product_geotime .section_contents {background: url(/assets/images/product_geotime_bg.png) no-repeat 100% 0;}
/* Post
------------------------------------------------*/
#post_container {
 width: 100%;
 max-width: 1100px;
 margin: 0 auto;
 padding: 30px 0;
}
#post_container .post_title {
 margin: 0 0 20px;
 padding: 0 0 0 0;
 border-bottom: 1px solid #ccc;
}
#post_container .post_title h3,
#post_container h3.archive_ttl {
 font-weight: bold;
 font-size: 3.3rem;
 line-height: 1.3;
 color: #156bb2;
}
#post_container h3.archive_ttl{
 margin-bottom: 30px;
}
#post_container .post_title time{
 display: inline-block;
 vertical-align: middle;
 font-size: 1.4rem;
 color: #aaabab;
 /* margin-bottom: 1em; */
}
#post_container .post_title p.cate{
 display: inline-block;
 vertical-align: middle;
 margin: 0 0 1em 1em;
 padding: 0.5em;
 width: 100px;
 font-size: 1.2rem;
 text-align: center;
 line-height: 1;
 color: #fff;
}
.post_inner{
 display: flex;
 width: 100%;
}
.post{
 flex: 0 0 75%;
 max-width: 800px;
}
.post p{
 margin: 0 0 1.5em;
}
ul.post_archive{
 width: 100%;
 margin: 0 auto;
 padding: 0;
}
ul.post_archive li > a{
 display: flex;
 align-items: center;
 margin: 0 0 1em 0;
}
ul.post_archive li time{
 flex: 0 0 17%;
 padding: 0.5em 0;
}
ul.post_archive li p.cate{
 flex: 0 0 16%;
 margin: 0 1em 0 0;
 padding: 1.3em 0;
 color: #fff;
 font-size: 1.2rem;
 line-height: 1;
 text-align: center;
}
#home_info_faq .section_inner .home_information ul p.cate.press_release,
.info_container dd p.cate.press_release,
#side_bar .nav_post p.cate.press_release,
#post_container .post_title p.cate.press_release,
ul.post_archive li p.cate.press_release{
 background-color: #156bb2;
}
#home_info_faq .section_inner .home_information ul p.cate.info,
.info_container dd p.cate.info,
#side_bar .nav_post p.cate.info,
#post_container .post_title p.cate.info,
ul.post_archive li p.cate.info{
 background-color: #3a9a97;
}
ul.post_archive li p.text{
 margin: 0;
}


/* Side Bar
------------------------------------------------*/
#side_bar{
 flex: 0 0 22%;
 font-size: 1.6rem;
 margin: 0 0 0 auto;
}
#side_bar h3{
	font-weight: bold;
	margin-bottom: 1em;
}
#side_bar h3::before{
	content: "■";
}

#side_bar .nav_post{
 display: block;
 width: 100%;
 margin: 0 auto 20px;
}
#side_bar .nav_post a{
 display: block;
}
#side_bar .nav_post p.nav_text{
 text-align: right;
}
#side_bar .nav_post figure{
 display: block;
 margin: 0 auto;
 padding: 0;
}
#side_bar .nav_post figure img{
 margin-bottom: 0.5em;
}
#side_bar .nav_post time{
 display: inline-block;
 font-size: 1.4rem;
 color: #aaabab;
}
#side_bar .nav_post p.cate{
 display: inline-block;
 padding: 0.2em 1em;
 color: #fff;
 text-align: center;
 font-size: 1.2rem;
}
#side_bar .nav_post p.post_ttl{
 font-weight: bold;
 color: #156bb2;
}

#side_bar .year-list li{
 margin-bottom: 0.5em;
}
#side_bar .year-list li a{
 padding: 0 0 0 0.5em;
}
#side_bar .year-list li a::before{
 content: "\003e ";
 margin: 0 0.5em 0 -0.5em;
}

#side_bar .faq-list li{
	margin-bottom: 0.5em;
}
#side_bar .faq-list li a{
	display: block;
	padding: 5px 0 10px 40px;
	margin: 0;
	position: relative;
	line-height: 1.1;
	color: #0387e7;
}
#side_bar .faq-list li a::before{
	content: "Q.";
	display: block;
	font-size: 3.0rem;
	line-height: 1;
	position: absolute;
	top: 0;
	left: 0;
}



/* HOME
------------------------------------------------*/
.home_main_visual{
 position: relative;
 z-index: 0;
 width: 100%;
 margin: 0 auto;
 padding: 0;
}
.home_main_visual .main_visual{
 display: block;
 width: 100%;
 margin: 0 auto;
 z-index: 0;
}
.home_head_info {
 width: 440px;
 position: absolute;
 right: 0;
 top: 50%;
 transform: translateY(-50%);
 z-index: 1;
}
.slide_container,
.info_container{
 width: 100%;
 box-sizing: border-box;
 margin: 0 auto;
 padding: 40px;
 background-color: #fff;
}
.info_container{
 margin-top: 20px;
 padding: 20px 40px;
}

.slick-prev, .slick-next{
 width: 60px;
 height: 60px;
 border-radius: 50%;
 background-color: #60c201;
 z-index: 1;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus{
 opacity: 0.7;
 background-color: #60c201;
}
.slick-prev:before, .slick-next:before{
 content: "";
 display: block;
 width: 20px;
 height: 20px;
}
.slick-prev:before{
 border-style: solid;
 border-width: 4px 0 0 4px;
 border-color: #fff transparent transparent #fff;
 transform: rotate(-45deg) translate(60%, 60%);
}
.slick-next:before{
 border-style: solid;
 border-width: 4px 4px 0 0;
 border-color: #fff #fff transparent transparent;
 transform: rotate(45deg) translate(40%, -40%);
}
.slide_img{
 display: block;
 position: relative;
 width: 100%;
 height: auto;
}
.slide_img img{
 display: block;
 z-index: 0;
}
.slide_img figcaption{
 display: block;
 width: 100%;/* 75% */
 padding: 10px 0;/* 20px 0 */
 text-align: center;
 font-weight: bold;
 font-size: 1.6rem;
 position: absolute;
 top: 90%;/* 50% */
 left: 50%;
 z-index: 1;
 transform: translate(-50%, -50%);
 background-color: rgba(255,255,255,0.8);
}
.slide_img figcaption span{
 display: none;
}

.info_container dt{
 color: #0387e7;
 font-size: 1.4rem;
}
.info_container dd{
 margin-bottom: 10px;
}
.info_container dd:last-child{
 margin-bottom: 0;
}
.info_container dd a{
 display: flex;
 justify-content: flex-start;
 align-items: center;
 font-size: 1.2rem;
}
.info_container dd time{
 flex: 0 0 auto;
 margin: 0;
}
.info_container dd p.cate{
 flex: 0 0 23%;
 padding: 0.3em 0;
 margin: 0 0 0 10px;
 text-align: center;
 font-size: 1.0rem;
 color: #fff;
}
.info_container dd p.ttl{
 line-height: 1.2;
 margin: 0 0 0 10px;
}

.home_project_list{
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 align-items: flex-start;
}
.home_project_item{
 flex: 0 0 48%;
 margin: 0 0 40px;
}
.home_project_item dl::after{
 content: "";
 display: table;
 clear: both;
}
.home_project_item dt{
 display: block;
 padding: 0.4em 0;
 margin: 10px 0 5px;
 color: #fff;
 font-size: 1.4rem;
 line-height: 1;
 text-align: center;
 border-radius: 25px;
 background-color: #000;
}
.home_project_item dt a{
 color: #fff;
}
.home_project_item dd ul{
 font-size: 1.4rem;
 letter-spacing: -0.4em;
 margin: 0 0 0 0.5em;
}
.home_project_item li{
 letter-spacing: normal;
 margin: 0;
 padding: 0 0 0 1.5em;
}
.home_project_item li::before{
 content: "\003e";
 margin: 0 0.2em 0 -1.5em;
}
.home_project_item li.inline{
 display: inline-block;
 box-sizing: border-box;
 width: auto;
	margin-right: 10px;
}

#home_info_faq{
 background-color: #f7f7f7;
}
#home_info_faq .section_inner{
 display: flex;
 justify-content: center;
 align-items: stretch;
}
#home_info_faq .section_inner > div{
 flex: 0 0 50%;
 box-sizing: border-box;
 text-align: left;
}
#home_info_faq .section_inner > div h4{
 text-align: left;
}
#home_info_faq .section_inner .home_information{
 padding-right: 40px;
}
#home_info_faq .section_inner .home_information ul{
}
#home_info_faq .section_inner .home_information ul a{
 display: flex;
 align-items: center;
 margin: 0 0 1em 0;
 font-size: 1.4rem;
}
#home_info_faq .section_inner .home_information ul time{
 flex: 0 0 17%;
 padding: 0.2em 0;
}
#home_info_faq .section_inner .home_information ul p.cate{
 flex: 0 0 20%;
 margin: 0 1em 0 0;
 padding: 0.8em 0;
 color: #fff;
 font-size: 1.2rem;
 line-height: 1;
 text-align: center;
}
#home_info_faq .section_inner .home_information ul p.ttl{
 line-height: 1.1;
}

#home_info_faq .section_inner .home_faq{
 padding-left: 40px;
 border-left: 1px solid #b2b2b2;
}
#home_info_faq .section_inner .home_faq ul{
}
#home_info_faq .section_inner .home_faq ul li{
	    min-height: 30px;
}
#home_info_faq .section_inner .home_faq ul a{
 display: block;
	padding: 5px 0 10px 40px;
 margin: 0 0 1em;
 position: relative;
 font-size: 1.4rem;
 line-height: 1.1;
}
#home_info_faq .section_inner .home_faq ul a::before{
 content: "Q.";
 display: block;
 font-size: 3.0rem;
 line-height: 1;
 position: absolute;
 top: 0;
 left: 0;
}

#home_recommend h4,
#home_hcc_lab h4{
 text-align: left;
}
#home_recommend ul,
#home_hcc_lab ul{
 display: flex;
 justify-content: flex-start;
 align-items: flex-start;
}
#home_recommend ul > li,
#home_hcc_lab ul > li{
 flex: 0 0 32%;
 max-width: 32%;
 margin-left: 2%;
}
#home_recommend ul > li:nth-child(4n+1),
#home_hcc_lab ul > li:nth-child(4n+1){
 margin-left: 0;
}
#home_recommend ul > li figure,
#home_hcc_lab ul > li figure{
 display: block;
}
#home_recommend ul > li figcaption{
 display: block;
 padding: 0.5em 0;
 margin: 10px 0 0;
 font-size: 1.4rem;
 line-height: 1;
 color: #fff;
 text-align: center;
 border-radius: 25px;
 background-color: #000;
}
#home_recommend ul > li figcaption span{
	padding-right: 10px;
}
#home_hcc_lab ul > li h5{
 margin: 10px 0 5px;
 font-size: 1.4rem;
 font-weight: bold;
}
#home_hcc_lab ul > li p{
 font-size: 1.4rem;
 line-height: 1.2;
}


.more_archive{
 text-align: right;
 font-size: 1.4rem;
 margin: 30px 0 0;
}
.more_archive a::before{
 content: "\003e";
 margin-right: 0.5em;
}


/* FAQ
------------------------------------------------*/
.faq_group{
	padding: 60px 0 30px;
	margin: -60px 0 30px;
	border-bottom: 1px dotted #000;
}
.faq_group h3{
	font-size: 2.1rem;
	font-weight: bold;
	margin-bottom: 1em;
}
.faq_group ul{
	margin: 0 0 1em;
}
.faq_group li{
	margin: 0 0 1.5rem;
	position: relative;
}
.faq_group li a::before{
	content: "Q.";
	display: block;
	font-size: 3.0rem;
	line-height: 1;
	position: absolute;
	top: 0;
	left: 0;
}

.faq_group a{
	display: block;
	padding: 5px 0 10px 40px;
	margin: 0 0 1em;
	position: relative;
	font-size: 1.6rem;
	line-height: 1.1;
	color: #0387e7;
}
.faq_group a:hover{
	text-decoration: underline;
}


/* for /company
------------------------------------------------*/

.section_company{
	max-width: 1100px;
	margin: 0 auto 100px auto;
	border-bottom: #ccc solid 1px;
}
.section_company .company_l, .section_company .company_r{
	float: left;
}
.section_company .company_l{
	width: 65%;
}
.section_company .company_r{
	margin-left: 50px;
}
.section_company .company_r img{
	max-width: 240px;
}

.section_company h3{
	font-size: 3.0rem;
	margin: 20px 0;
}
.section_company p.com_lead{
	    font-size: 2.4rem;
    line-height: 1.2;
    color: #f47a31;
	margin-bottom: 20px;
}
.section_company img{
	width: auto;
	max-width: 100%;
}
.section_company strong{
	font-weight: bold;
}
.section_company table.table01, table.table01{
	width: 100%;
	max-width: 1100px;
	margin: 30px auto;
}


.section_company table.table01 th, .section_company table.table01 td, table.table01 th, table.table01 td {
	padding: 10px;
	border: #ffffff solid 1px;
}
.sample_img table.table01 th, .sample_img table.table01 td{
	border: #cccccc solid 1px;
}

.section_company table.table01 th, table.table01 th{
	background: #f0f0f0;
}
.section_company table.table01 td, table.table01 td{
	background: #f9f9f9;
}
.section_company table.table01 td a, table.table01 td a{
	text-decoration: underline;
}
.section_company .com_access{
	margin: 0 0 20px 0;
	padding: 0 0 20px 0;
	border-bottom: #ccc dotted 1px;
}
.section_company .com_access h4{
	font-size: 3.0rem;
	 color: #f47a31;
	padding: 50px 0 0 0;
}
.section_company .com_access h5{
	font-size: 2.4rem;
	    padding: 50px 0 10px 0;
	    color: #0387e7;
}
.section_company .com_access p{
	font-size: 1.6rem;
	    padding: 0 0 10px 0;
}
.section_company img.access_img{
	height: 280px;
    margin-right: 10px;
}

/* business
------------------------------------------------*/
/************** mainTitle **************/
.section_title02_business h3{
	font-size: 3rem;
	text-align: center;
}

/************** subTitle **************/
.section_inner_business {
	min-height: 0;
}

.section_inner_business h4{
	width: auto;
	max-width: 1100px;
	margin: 0 auto;
	padding: 15px 25px;
	margin-bottom: 30px;
	font-feature-settings : "palt";
	border-left: 5px solid #0a2f8f;
	background: #ecf1ff;
	text-align: left;
	font-size: 2.5rem;
	color: #333;
}

.section_inner_business h5{
	padding-bottom: 5px;
	font-size: 1.875rem;
	color: #333;
	font-weight: normal;
	border-bottom: 2px dotted #0a2f8f;
	margin-bottom: 20px;
}

/************** onayami **************/
.chat_box_left,.chat_box_right {
	width: auto;
	max-width: 1100px;
	height: auto;
	overflow: hidden;
	margin-bottom: 30px;
}

.chat_face img{
	width: 70px;
	height: 70px;
}

.chat_hukidashi {
	display: inline-block;
	padding: 15px 20px;
	margin: 0 0 0 100px;
	border-radius: 10px;
	position: relative;
	background-color: #0a2f8f;
	color: #fff;
}

.chat_hukidashi p{
	margin-bottom: 0px;
}

.chat_box_right>.chat_hukidashi{
	float: right;
	margin: 0 100px 0 0;
}

.chat_hukidashi_border{
	 background-color: #fff;
	 border: 3px #0a2f8f solid;
	 color: #333;
}

.chat_hukidashi:after{
	content: "";
	position: absolute;
	top: 35px;
	left: -10px;
	margin-top: -15px;
	display: block;
	border-style: solid;
	border-width: 10px 10px 10px 0;
	border-color: transparent #0a2f8f transparent transparent;
}

.chat_box_border{
	background-color: #fff;
	border: 3px #0a2f8f solid;
	color: #333;
}

.chat_box_right>.chat_hukidashi:after{
	right: -20px;
	left: auto;
	border-width: 10px;
	border-color: transparent transparent transparent #0A2F8F;
}

/*onayami_left*/
.chat_box_left>.chat_face {
	width: auto;
	max-width: 1100px;
	height: auto;
	overflow: hidden; 
	float: left;
	margin-right: -120px;
}

/*onayami_right*/
.chat_box_right>.chat_face {
	width: auto;
	max-width: 1100px;
	height: auto;
	overflow: hidden;
	float: right;
	margin-left: -120px;
}

/************** flow **************/
.flow_block {
	display: block;
	position: relative;
	border: 3px solid #ECF1FF;
}

.flow_inner {
	max-width: 1100px;
	width: 100%;
}

.flow_chart h6{
	text-align: center;
	font-weight: bold;
	font-size: 1.75rem;
	color: #0a2f8f;
	margin-bottom: 20px;
	padding: 0 30px;
}

.flow_chart ul {
	display: flex;
	justify-content: center;
	flex-wrap: nowrap;
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	border: none;
}

.flow_chart ul li {
	width: 33%;
	background: #ECF1FF;
	display: flex;
	flex-flow: column;
	padding: 30px 0;
	position: relative
}

.flow_chart ul li h3 {
	text-align: center;
	font-size: 2.3rem;
	letter-spacing: 0.18rem;
	font-weight: 500;
	margin: 20px 0 30px;
	padding: 0;
}

.flow_chart ul li p {
	font-size: 1.3rem;
	letter-spacing: 0.02rem;
	margin: 20px 30px 0 30px;
}

.flow_chart ul li:after{
	content: "";
	width: 0;
	height: 0;
	border-top: 30px solid transparent;
	border-right: 30px solid transparent;
	border-bottom: 30px solid transparent;
	border-left: 30px solid #ECF1FF;
	top: 40px;
	position: absolute;
	right: -58px;
	z-index: 1;
}

.flow_chart ul li:nth-child(2n){
	background: #FFF;
}

.flow_chart ul li:nth-child(2n):after{
	border-left: 30px solid #FFF;
}

.flow_chart ul li:last-child:after{
	content: none;
}

.flow_chart_icon {
	position: relative;
	text-align: center;
	display: block;
	width: 100px;
	height: 100px;
	box-sizing: border-box;
	border-radius: 50%;
	background-color: #0a2f8f;
	position: relative;
	margin: 0 auto;
}

.flow_chart_icon img{
	display: block;
	width: 40px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/************** contact **************/
.inquiry_business h4{
	width: auto;
	max-width: 1100px;
	margin: 0 auto;
	padding: 15px 25px;
	margin-bottom: 30px;
	font-feature-settings: "palt";
	border-left: 5px solid #0a2f8f;
	background: #ecf1ff;
	text-align: left;
	font-size: 2.5rem;
	color: #333;
}

.inquiry_business p{
	text-align: left;
	font-size: 1.6rem !important;
}

.inquiry_business address {
	width: 1100px;
	font-size: 1.6rem !important;
}

/* privacy
------------------------------------------------*/
#hcc_privacy{
	font-size: 1.4rem;
}
#hcc_privacy h3{
	color: #0387e7;
	padding-bottom: 20px;
	font-size: 1.8rem;
}
#hcc_privacy h4{
	color: #00000;
	padding-bottom: 20px;
	font-size: 1.6rem;
}




br.sp{
 display: none;
}

/* Footer
------------------------------------------------*/

#footer {
 background-color: #f7f7f7;
}
#footer #foot_nav{
 display: flex;
 align-items: flex-start;
 justify-content: space-around;
 width: 100%;
 max-width: 1100px;
 margin: 0 auto;
 padding: 45px 0;
	font-size: 1.4rem;
}
#footer #foot_nav ul ul.sub-menu{
 margin: 0;
 padding: 0;
}
#footer #foot_nav ul ul.sub-menu li{
 list-style: disc outside;
 margin: 0 0 0 1.5em;
}
#footer #foot_nav a:hover{
 text-decoration: underline;
}
#footer p.copy_right {
	position: relative;
 display: block;
	width: 100%;
	padding: 70px 0 10px;
	text-align: center;
	font-size: 1.1rem;
	line-height: 1;
	background-color: #7f7f7f;
}
@media screen and (max-width: 1200px) {

	.local_nav ul,
	.page_head .page_title{
		width: 94%;
		margin: 0 auto;
	}
	.section_inner{
		width: 94%;
	}
	.option_inner{
		width: 100%;
	}
	.section_inner .column_double{
		width: 95%;
		margin: 0 auto;
	}
}
