@charset "utf-8";

:root {
    --ispCC: #008cd7;
    --ispCCDark:#112277;
    --ispCCLight:#ced4e4;
}

/* タグへの指定 */
html {
    overflow-y:scroll;
    scroll-behavior: smooth;
}
header {
    border-bottom:3px solid #112277;
}
footer {
    border-top: 3px solid #112277;
    background-color: white;
}
iframe {
    width: 100%;
    height: 600px;
    border: none;
}
/* th {
    text-align: center;
    background-color: #aed4b9;
    vertical-align: middle !important;
}
.table th, .table td {
    padding: 0.5rem 0.25rem;
}
 */
/* クラスへの指定 */
.scroll {
    overflow-y: scroll;
}
.height-fixed {
    height: 150px;
}
@media (min-width: 992px){/* ハンバーガーメニューに切り替わるlgサイズを閾値としてホバーを有効無効にする */
    ul.navbar-nav li.dropdown:hover > div.dropdown-menu {
        display: block;
    }
}

/* bootstrap背景色応用 */
.bg-black {
    background-color: black !important;
}

/* bootstrapボタン応用 */
/* 既存ボタンの色替え */
.btn-success {
    background-color: #009844;
}

/* 新しいボタン色：hojokin zeisei */
.btn-hojokin {
    font-size: 1.5rem;
    font-weight: bolder;
    color: #359440;
    background-color: white;
    border-color: #359440;
    border-width: thick;
}
.btn-hojokin:hover {
    color: seagreen;
    background-color: whitesmoke;
    border-color: seagreen;
}
.btn-hojokin:active, .btn-hojokin.active {
    box-shadow: 0 0 0 0.2rem rgba(234, 244, 236, 0.5);
}

.btn-zeisei {
    font-size: 1.5rem;
    font-weight: bolder;
    color: #3c5fba;
    background-color: white;
    border-color: #3c5fba;
    border-width: thick;
}
.btn-zeisei:hover {
    color: steelblue;
    background-color: whitesmoke;
    border-color: steelblue;
}
.btn-zeisei:active, .btn-zeisei.active {
    box-shadow: 0 0 0 0.2rem rgba(234, 244, 236, 0.5);
}

/*   .btn-hojokin.disabled, .btn-hojokin:disabled {
    color: #fff;
    background-color: #359440;
    border-color: #359440;
  }
 */  
/*   .btn-hojokin:not(:disabled):not(.disabled):active, .btn-hojokin:not(:disabled):not(.disabled).active,
  .show > .btn-hojokin.dropdown-toggle {
    color: #fff;
    background-color: #357b40;
    border-color: #357b40;
  }
  
  .btn-hojokin:not(:disabled):not(.disabled):active:focus, .btn-hojokin:not(:disabled):not(.disabled).active:focus,
  .show > .btn-hojokin.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(120, 68, 28, 0.5);
  }
 */  /* bootstrapボタン応用ここまで */

.modal-open {
    padding-right: 0px !important;
	overflow: visible;
	position: static;
}
.modal {
    padding-right: 0px !important;
}
.modal-dialog-fluid { /*iframe内から呼び出すモーダルをフレーム幅いっぱいまで拡大して表示*/
    max-width: inherit;
    width: 98%;
    margin-left: 15px;
}
/* 以下3つのカードに対する画像指定はie対策に入れた物です(ieだけ画像の高さが変になる) */
.card-img{
    max-width: 100%;
    flex-shrink:0;
}
.card-img-top{
    max-width: 100%;
    flex-shrink:0;
}
.card-img-bottom{
    max-width: 100%;
    flex-shrink:0;
}

.dropdown-item.active {
    border-right-width: 0.25em;
    border-right-style: solid;
    border-left-width: 0.25em;
    border-left-style: solid;
    padding-left: 1.25em;
    padding-right: 1.25em;
}
.navbar-brand {
    margin-top: 6.25px;
    margin-bottom: 6.25px;
}

/* オリジナル見出し */
.title1 {
    position: relative;
    padding: 5px;
    padding-right: 1.5rem;
    background:#008cd7;
    color: white;
    line-height: 1.3;
    border-bottom: solid 10px #112277;
    z-index:-2;
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-weight: 500;
    font-size: 2rem;
  
}
.title1:after {
    position: absolute;
    content: '';
    right: -3px;
    top: -7px;
    width: 0;
    height: 0;
    border: none;
    border-left: solid 40px transparent;
    border-top: solid 79px white;
    z-index: -1;
}

.title2 {
    border-bottom:3px double #112277;
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-weight: 500;
    line-height: 1.2;
    font-size: 1.75rem;
}

.title3 {
    background: linear-gradient(transparent 95%, #008cd7 0%);
    display: inline;
    padding-right: 2rem;
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-weight: 500;
    line-height: 1.2;
    font-size: 1.5rem;
}


/* ヘッダー */
#gNav li{/* グローバルナビゲーションの区切り線 */
  /*   border-right: 1px solid #23523A;
    padding: 0.25rem; */
}
#gNav li:last-child {/* 上と組み合わせて全体の右端の区切り線要素を消す */
    border-right: 0px;
}
#gNav li .active {/* 現在位置の表示状態 */
    color: white;
    background-color: #008cd7;
}
#gNav li :not(.active) {/* 通常時の文字色 */
    color: #008cd7;
}
#gNav li .disabled {/* 現在のページ(リンクが押せない)状態 */
    color: gray;
}
#gNav li a:active {/* クリック状態、アクティブになった状態 */
    color: white;
    background-color: #008cd7;
}
#gNav li a:active.nav-link {/* グローバルナビゲーションの一番上の項目をクリックした時の状態…この部分を無くすと緑背景に白字になる */
    margin: -2px;
    color: #008cd7;
    border: solid 2px #008cd7;
    background-color: white;
}
#gNav li.show a:not(.focus).nav-link {/* クリックして選択状態になった時のスタイル(別の場所をクリックしてフォーカスが外れている状態も含む) */
    margin: -2px;
    color: #008cd7;
    border: solid 2px #008cd7;
    background-color: white;
}
#gNav .dropdown-menu{/* ホバー時にドロップダウンメニューが消えちゃう事があり、その現象に対応するためにマージンを打ち消す */
    margin-top: 0px !important;
}
#lNav li :not(.active) {
    color: white;
    background-color: #008cd7;
    border: 1px solid #112277;
}
#lNav li .disabled {
    color: lightgray;
    background-color: gray;
    border: 1px solid black;
}
#lNav li .active {
    color: white;
    background-color: #112277;
    border: 1px solid black;
}
#lNav br {
    border: none !important;
}

/* フッター */
#contact {
    background-color: #ced4e4;
    border: 1px solid #112277;
}
#btn_contact {
    border: 1px solid #112277;
}



/* index */
#News thead {
    display: block;
    width: 100%;
}
#News tbody {
    display: block;
    overflow-y: scroll;
    width: 100%;
    height: 10rem;
}
#News tr {
    display: block;
    width: 100%;
}
#News td {
    vertical-align: middle;
}
.thc1 {
    width: 9999px;
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-weight: 500;
    line-height: 1.2;
    font-size: 1.5rem;
}
#sub-container .modal .modal-lg{
    margin-top: 3rem;
    max-width: 700px;
}

#hojokin {
    font-size: xx-large;
}
  
/* Topics */
/*WIDE SCREEN SUPPORT*/
@media screen and (min-width: 993px) { 
    #t_cim {
        background-image: url('../img/fullView.png');
        background-size: cover;
    }
}

/*MOBILE SUPPORT*/
@media screen and (max-width: 992px) {
    #t_cim {
        background-image:none;
    }
}


/* Products */
#ProductsCard {
    position: relative;
    z-index: 1;
}
#ProductsCard a{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height:100%;
    text-indent: -999px;
    z-index: 2;
}
#ProductsCard:hover {
    color: white;
    background-color: #009844;
}
#ProductsCardHeader {
    font-weight: bold;
    text-align: center;
    background-color: #aed4b9;
}
#FeatureCardHeader {
    font-weight: bold;
    text-align: center;
    color: white;
    background-color: #23523A;
}

/* Products > LandForms */
#lNav_LF li :not(.active) {
    color: white;
    background-color: yellowgreen;
    border: 1px solid olivedrab;
}
#lNav_LF li .disabled {
    color: lightgray;
    background-color: gray;
    border: 1px solid black;
}
#lNav_LF li .active {
    color: white;
    background-color: olivedrab;
    border: 1px solid black;
}
#lNav_LF br {
    border: none !important;
}
#MainContents_LF .title1 {
    position: relative;
    padding: 5px;
    padding-right: 1.5rem;
    background:yellowgreen;
    color: white;
    line-height: 1.3;
    border-bottom: solid 10px olivedrab;
    z-index:-2;
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-weight: 500;
    font-size: 2rem;
}
#MainContents_LF .title1:after {
    position: absolute;
    content: '';
    right: -3px;
    top: -7px;
    width: 0;
    height: 0;
    border: none;
    border-left: solid 40px transparent;
    border-top: solid 79px white;
    z-index: -1;
}
#MainContents_LF .title3 {
    background: linear-gradient(transparent 95%, olivedrab 0%);
}
.LFfeatureflex {
    border-radius: 10px 0 0 10px;
}
.LFfeatureflex:hover {
    opacity: 0.9;
}
.LFfeatureflex:active {
    box-shadow: 0 0 0 0.2rem rgba(85, 107, 47, 0.5);
}

.LFfeature {
    background: -moz-linear-gradient(top left, olivedrab, yellowgreen 50%);
    background: -webkit-linear-gradient(top left, olivedrab, yellowgreen 50%);
    background: linear-gradient(to bottom right, olivedrab, yellowgreen 50%);
    border-radius: 10px;
    font-size: 1.25rem;
    color: white;
    font-weight: bold;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.LFcaption {
    background: darkolivegreen;
    color: white;
}

@media (min-width: 768px){
    .LFfeature {
        border-radius: 10px 0 0 10px;
        font-size: 1rem;
    }
    .LFcaption {
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
}

@media (min-width: 992px){
    .LFfeature {
        border-radius: 10px;
        font-size: 1.5rem;
        padding-top: 1rem;
        padding-bottom: 2.5rem;
    }
    .LFcaption {
        font-size: 1.5rem;
        margin-left: -25%;
        padding-top: 0;
        padding-bottom: 0;
    }
}

.LFwrapper {
    background-color: black;
}
.LFwrapper > header {
    background-color: white;
}
.LFwrapper > main {
    color: white;
}

.LFfeaturetitle {
    background: -moz-linear-gradient(top left, olivedrab, yellowgreen 50%);
    background: -webkit-linear-gradient(top left, olivedrab, yellowgreen 50%);
    background: linear-gradient(to bottom right, olivedrab, yellowgreen 50%);
    border-radius: 10px;
    font-size: 1.5rem;
    color: white;
    font-weight: bold;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
.LFfeaturetitle span {
    padding-left: 1rem;
}

.LFcardP {
    margin-bottom: 1rem;
}

.LFcard {
    height: 100%;
    border: solid;
    border-color: yellowgreen;
    padding: 0.5rem;
}
.LFcardtitle {
    background-color: olivedrab;
    color: white;
    font-size: large;
    margin-right: -10px;
    padding: 0.5rem;
}
.LFcardtext {
    padding: 0 0 0 0.5rem;
}

.GF {
    display: inline-block;
    width: 32px;
    height: 32px;
    border: solid crimson;
    border-radius: 8px;
    font-weight: bolder;
    text-align: center;
}

.LT {
    display: inline-block;
    width: 32px;
    height: 32px;
    border: solid greenyellow;
    border-radius: 8px;
    font-weight: bolder;
    text-align: center;
}

.OP {
    display: inline-block;
    width: 32px;
    height: 32px;
    border: solid blueviolet;
    border-radius: 8px;
    font-weight: bolder;
    text-align: center;
}

.inex {
    height: 4rem;
    background: linear-gradient(-135deg, transparent 10px, mediumorchid 0);
    margin: 0 5px 5px 0;
}

.in {
    height: 4rem;
    background: linear-gradient(-135deg, transparent 10px, mediumturquoise 0);
    margin: 0 5px 5px 0;
}

.longformat {
    font-size: 0.7rem;
}
@media (min-width: 384px){
    .longformat {
        font-size: 0.9rem;
    }
}
@media (min-width: 576px){
    .longformat {
        font-size: 0.7rem;
    }
}
@media (min-width: 768px){
    .longformat {
        font-size: 0.9rem;
    }
}
@media (min-width: 992px){
    .longformat {
        font-size: 0.7rem;
    }
}
@media (min-width: 1200px){
    .longformat {
        font-size: 0.9rem;
    }
}
.btn-LF {
    color: white;
    background-color: yellowgreen;
    border-color: olivedrab;
}
.btn-LF:hover {
    color: whitesmoke;
    background-color:olivedrab;
    border-color: olivedrab;
}
.btn-LF:active, .btn-MR.active {
    box-shadow: 0 0 0 0.2rem rgba(85, 107, 47, 0.5);
}


/* Products > GeoConnect */
#lNav_GC li :not(.active) {
    color: white;
    background-color: #29a433;
    border: 1px solid #005683;
}
#lNav_GC li .disabled {
    color: lightgray;
    background-color: gray;
    border: 1px solid black;
}
#lNav_GC li .active {
    color: white;
    background-color: #005683;
    border: 1px solid #29a433;
}
#lNav_GC br {
    border: none !important;
}
#MainContents_GC .title1 {
    position: relative;
    padding: 5px;
    padding-right: 1.5rem;
    background:#29a433;
    color: white;
    line-height: 1.3;
    border-bottom: solid 10px #005683;
    z-index:-2;
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-weight: 500;
    font-size: 2rem;
}
#MainContents_GC .title1:after {
    position: absolute;
    content: '';
    right: -3px;
    top: -7px;
    width: 0;
    height: 0;
    border: none;
    border-left: solid 40px transparent;
    border-top: solid 79px white;
    z-index: -1;
}
.GCfeatureflex {
    border-radius: 10px 0 0 10px;
}
.GCfeatureflex:hover {
    opacity: 0.9;
}
.GCfeatureflex:active {
    box-shadow: 0 0 0 0.2rem rgba(85, 107, 47, 0.5);
}

.GCfeature {
    background: -moz-linear-gradient(top left, #29a433, #005683 90%);
    background: -webkit-linear-gradient(top left, #29a433, #005683 90%);
    background: linear-gradient(to bottom right, #29a433, #005683 90%);
    border-radius: 10px;
    font-size: 1.25rem;
    color: white;
    font-weight: bold;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.GCcaption {
    background: #005683;
    color: white;
}

@media (min-width: 576px){
    .GCfeature {
        border-radius: 10px 0 0 10px;
    }
    .GCcaption {
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
}
@media (min-width: 768px){
    .GCfeature {
        border-radius: 10px;
        font-size: 1.5rem;
        padding-top: 1rem;
        padding-bottom: 2.5rem;
    }
    .GCcaption {
        font-size: 1.5rem;
        margin-left: -25%;
        padding-top: 0;
        padding-bottom: 0;
    }
}
@media (min-width: 992px){
    .GCcaption {
        font-size: 1.25rem;
    }
}
@media (min-width: 1200px){
    .GCcaption {
        font-size: 1.5rem;
    }
}

.GCfeaturetitle {
    background: -moz-linear-gradient(top left, #29a433, #005683 90%);
    background: -webkit-linear-gradient(top left,#29a433, #005683 90%);
    background: linear-gradient(to bottom right, #29a433, #005683 90%);
    border-radius: 10px;
    font-size: 1.5rem;
    color: white;
    font-weight: bold;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
.GCfeaturetitle span {
    padding-left: 1rem;
}

.GCcardP {
    margin-bottom: 1rem;
}

.GCcard {
    height: 100%;
    border: solid;
    border-color: #29a433;
    padding: 0.5rem;
}
.GCcardtitle {
    background-color: #005683;
    color: white;
    font-size: large;
    margin-right: -10px;
    padding: 0.5rem;
}
.GCcardtext {
    padding: 0 0 0 0.5rem;
}
.btn-GC {
    color: white;
    background-color: #29a433;
    border-color: #005683;
}
.btn-GC:hover {
    color: whitesmoke;
    background-color:#005683 ;
    border-color: #29a433;
}
.btn-GC:active, .btn-MR.active {
    box-shadow: 0 0 0 0.2rem rgba(68, 114, 196, 0.5);
}

/* Products > MEMOREAD */
#lNav_MR li :not(.active) {
    color: white;
    background-color: #4472c4;
    border: 1px solid #203864;
}
#lNav_MR li .disabled {
    color: lightgray;
    background-color: gray;
    border: 1px solid black;
}
#lNav_MR li .active {
    color: white;
    background-color: #203864;
    border: 1px solid black;
}
#lNav_MR br {
    border: none !important;
}
#MainContents_MR .title1 {
    position: relative;
    padding: 5px;
    padding-right: 1.5rem;
    background:#4472c4;
    color: white;
    line-height: 1.3;
    border-bottom: solid 10px #203864;
    z-index:-2;
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-weight: 500;
    font-size: 2rem;
}
#MainContents_MR .title1:after {
    position: absolute;
    content: '';
    right: -3px;
    top: -7px;
    width: 0;
    height: 0;
    border: none;
    border-left: solid 40px transparent;
    border-top: solid 79px white;
    z-index: -1;
}

.MRfeatureflex {
    border-radius: 10px 0 0 10px;
}
.MRfeatureflex:hover {
    opacity: 0.9;
}
.MRfeatureflex:active {
    box-shadow: 0 0 0 0.2rem rgba(32, 56, 100, 0.5);
}

.MRfeature {
    background: -moz-linear-gradient(top left, #203864, #4472c4 50%);
    background: -webkit-linear-gradient(top left, #203864, #4472c4 50%);
    background: linear-gradient(to bottom right, #203864, #4472c4 50%);
    border-radius: 10px;
    font-size: 1.25rem;
    color: white;
    font-weight: bold;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.MRcaption {
    background: #203864;
    color: white;
}

@media (min-width: 768px){
    .MRfeature {
        border-radius: 10px 0 0 10px;
        font-size: 1rem;
    }
    .MRcaption {
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
}

@media (min-width: 992px){
    .MRfeature {
        border-radius: 10px;
        font-size: 1.5rem;
        padding-top: 1rem;
        padding-bottom: 2.5rem;
    }
    .MRcaption {
        font-size: 1.5rem;
        margin-left: -25%;
        padding-top: 0;
        padding-bottom: 0;
    }
}

.mr-overlay-top{
    top: 0;
    bottom: 50%;
}
.mr-overlay-center{
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}
.mr-overlay-bottom{
    top: auto;
    bottom: 0;
}
.mr-textaccent{
    font-weight: bold;
    text-shadow: 0 0 10px #0d849d;
}
/* .MRfeature {
    border: solid 1px#000000;
    border-radius: 10px;
    background: #203864;
    font-size: 1.5rem;
    color: white;
    font-weight: bold;
    padding-top: 1rem;
    padding-bottom: 1rem;
    text-align: center;
}
.MRfeature:hover {
    opacity: 0.9;
}
.MRfeature:active {
    box-shadow: 0 0 0 0.2rem rgba(32, 56, 100, 0.5);
}
.MRcase {
    border: solid 1px#203864;
    border-radius: 10px;
    background: #4472c4;
    font-size: 1.5rem;
    color: white;
    font-weight: bold;
    padding-top: 1rem;
    padding-bottom: 1rem;
    text-align: center;
}
.MRcase:hover {
    opacity: 0.9;
}
.MRcase:active {
    box-shadow: 0 0 0 0.2rem rgba(68, 114, 196, 0.5);
} */
 
.MRcardP {
    margin-bottom: 1rem;
}

.MRcard {
    height: 100%;
    border: solid;
    border-color: #4472c4;
    padding: 0.5rem;
}
.MRcardtitle {
    background: -moz-linear-gradient(top left, #203864, #4472c4 75%);
    background: -webkit-linear-gradient(top left, #203864, #4472c4 75%);
    background: linear-gradient(to bottom right, #203864, #4472c4 75%);
    color: white;
    font-size: large;
    margin-right: -10px;
    padding: 0.5rem;
}
.MRcardtext {
    padding: 0 0 0 0.5rem;
}
.btn-MR {
    color: white;
    background-color: #4472c4;
    border-color: #203864;
}
.btn-MR:hover {
    color: whitesmoke;
    background-color:#203864 ;
    border-color: #203864;
}
.btn-MR:active, .btn-MR.active {
    box-shadow: 0 0 0 0.2rem rgba(68, 114, 196, 0.5);
}
.MR-NETIS:hover {
    opacity: 0.8;
  }
.MR-NETIS-header {
    color: white;
    border: 1px solid #0071bc;
    background-color: #0071bc;
}
.MR-NETIS-body {
    color: #0071bc;
    border: 1px solid #0071bc;
}
.MR-MLIT:hover {
    opacity: 0.8;
  }
.MR-MLIT-header {
    color: white;
    border: 1px solid #0d849d;
    background-color: #0d849d;
}
.MR-MLIT-body {
    color: #0d849d;
    border: 1px solid #0d849d;
}


/* seminar */
#Seminar .badge {
    font-size: 1rem;
}

/* company */
.msg-overlay-left{
    top: 70%;
    right: 14%;
    -ms-transform: translate(0,-120%);
    -webkit-transform: translate(0,-120%);
    transform: translate(0,-120%);
    align-items: center;
    background-color:rgba(255, 255, 255, 0.5);
}

/* support */
#Blist{
    font-size:small;
}
span.download::before {
    content: '\f019';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    padding-right: 1em;
}
.tree_sample{
    margin:2px;
    width: 8em;
    text-align: center;
}
#TipsTable {
    border: 1px solid lightgray;
    margin: 2px;
}
#TipsTable th, #TipsTable td{
    padding-left: 0.5em;
    padding-right: 0.5em;
    text-align: right;
}
#TipsTable thead th {
    border-bottom: 1px solid black;
}
#TipsStrongPoint {
    color: #dc3545;
    background: lightyellow;
    display: inline-block;
}

.tipssubtitle {
    font-size: 1.1rem;
    font-weight: bold;
    margin-top: 0;
    margin-bottom: 0.5rem;
    line-height: 1.2;
}
.tipssubtitle::before {
    content: '\f0c8';
    font-family: 'Font Awesome 5 Free';
    padding-right: 0.5em;
}


/* contact */
.Contact th {
    text-align: right;
    background-color: lightgray;
    vertical-align: middle !important;
    width: 9rem;
}
#ContactTh {
    text-align: right;
    background-color: lightgray;
    vertical-align: middle !important;
    width: 8rem;
}
#sendmail pre {
    white-space: pre-wrap;
    word-break: break-all;
}
html, body {
  height: 100%;
  margin: 0;
}
@media (min-width: 992px){
	.wrapper {
		min-height: 100%;

		/* フッタの高さと等しいネガティブマージン */
		/* また最後の子要素の潜在的なマージンとしても機能 */
		margin-bottom: -200px;
	}
	.footer,
	.push {
		height: 200px;
	}
}
@media (min-width: 1200px){
	.wrapper {
		min-height: 100%;

		/* フッタの高さと等しいネガティブマージン */
		/* また最後の子要素の潜在的なマージンとしても機能 */
		margin-bottom: -160px;
	}
	.footer,
	.push {
		height: 160px;
	}
}
