/*** 基本 ***/
body {
    margin: 0;
    padding: 0;
    background-color: #fff;
    color: #222;
    line-height: 140%;
    font-family: "ＭＳ Ｐゴシック", "Osaka", "ヒラギノ角ゴ Pro W3", sans-serif;
}

.none {
    display: none;
}

#MainWrap {
    width: 960px;
    margin: 0 auto 100px auto;
}

#MainArea {
    width: 910px;
    margin: 0 auto;
}

h1, h2, h3, h4, h5, p {
    margin: 0;
    padding: 0;
    line-height: 100%;
}

p {
    line-height: 150%;
}

img {
    border: none 0px;
}

form {
    margin: 0;
}

a {
    color: #693;
    text-decoration: underline;
}

a:hover {
    color: #777;
    text-decoration: none;
}

a.link01 {
    padding: 0 0 0 25px;
    background: url("/assets/images/common/mark01.gif") 5px 3px no-repeat;
}

a.link02 {
    padding: 0 0 0 15px;
    background: url("/assets/images/common/mark04.gif") center left no-repeat;
}

a.link03 {
    padding: 0 0 0 25px;
    background: url("/assets/images/common/mark09.gif") 10px 3px no-repeat;
}

a.link03_02 {
    padding: 0 0 0 25px;
    background: url("/assets/images/common/mark09.gif") 10px 3px no-repeat;
    margin-right: 15px;
}

a.linkred01 {
    color: #dc143c;
}

a.linkred01:hover {
    text-decoration: none;
}


.nw {
    white-space: nowrap;
}


.kaisai {
    color: #E86537;
    font-weight: bold;
}

.syuryo {
    color: #393939;
    font-weight: bold;
}

.green {
    color: #58852C;
}

.dot02 {
    background: url(/assets/images/common/dot01.gif) repeat-x left center;
}

.t_space_bottom table {
    margin-bottom: 5px;
}

.line {
    line-height: 140%;
}

.font14 {
    font-size: 14px;
}

.font13 {
    font-size: 13px;
}

.font10 {
    font-size: 10px;
}

/*フロートクリア*/
div.clearb {
    clear: both;
    height: 1px;
    font-size: 1px;
    line-height: 1px;
    width: 765px;
}

br.clearb {
    clear: both;
}

/*** ヘッダー ***/
#Header {
    background-image: url(../../../images/common/bg_header.webp);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    height: 96px;
    /*position: relative;*/
}

#Header .header_left {
    padding: 20px 0 0;
    position: absolute;
    top: 0;
    left: 0;
}

#Header .header_right {
    position: absolute;
    top: 0;
    right: 0;
    text-align: right;
}

#Header .header_right ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

#Header .header_right ul li {
    margin: 0;
    padding: 0;
    display: table-cell;

    *display: inline;
    *zoom: 1;
}

/* CSS Document */

#Header .header_right ul.lang {
    position: absolute;
    top: 0;
    right: 0;
    width: 220px;
    height: 27px;
}

#Header .header_right .font_size {
    margin: 33px 0 0 0;
}

#Header .header_right .font_size ul.font_line li {
    float: right;
    margin: 0 0 8px 0;
    padding: 0;
}

#Header .header_right .font_size ul.font_line li.font_txt {
    background: url(/assets/images/common/font_txt.gif) no-repeat left top;
    width: 96px;
    height: 13px;
    display: block;
    margin-right: 8px;
    margin-top: 9px;
}

#Header .header_right .font_size ul.font_line li.normal a {
    background: url(/assets/images/common/font_normal_on.gif) no-repeat left top;
    width: 50px;
    height: 20px;
    display: block;
}

#Header .header_right .font_size ul.font_line li.big a {
    background: url(/assets/images/common/font_large_off.gif) no-repeat left top;
    width: 50px;
    height: 20px;
    display: block;
    margin-left: 5px;
}

#Header .header_right .font_size ul.font_line li.big a:hover {
    background: url(/assets/images/common/font_large_on.gif) no-repeat left top;
    width: 50px;
    height: 20px;
    display: block;
    margin-left: 5px;
}

#Header .header_right .font_size ul.font_line li.xbig a {
    background: url(/assets/images/common/font_xlarge_off.gif) no-repeat left top;
    width: 50px;
    height: 20px;
    display: block;
    margin-left: 5px;
}

#Header .header_right .font_size ul.font_line li.xbig a:hover {
    background: url(/assets/images/common/font_xlarge_on.gif) no-repeat left top;
    width: 50px;
    height: 20px;
    display: block;
    margin-left: 5px;
}

#Header .header_right .header_menu {
    margin: 0px 0 0 0;
}


/*** メニュー ***/
ul#MainMenu {
    margin: 0 0 5px;
    padding: 0;
    height: 43px;
    list-style-type: none;
}

ul#MainMenu li {
    margin: 0;
    padding: 0;
    display: table-cell;
    *display: inline;
    *zoom: 1;
}

/*** コンテンツ ***/
#Contents {
    font-size: 12px;
}

#Contents_Index {
    padding: 30px 0 0;
    font-size: 12px;
}

#Contents .contents_left,
#Contents_Index .contents_left {
    float: right;
    width: 640px;
}

#Contents .contents_right,
#Contents_Index .contents_right {
    float: right;
    width: 230px;
}

#Contents .contents_center,
#Contents_Index .contents_center {
    margin: auto;
    width: 640px;
}

/*** フッター ***/

/*** タイトル ***/
/* ニュースh2 */
.h2_01 {
    height: 35px;
    position: relative;
}

.h2_01 h2 {
    height: 35px;
    position: absolute;
}

.h2_01 div {
    height: 35px;
    position: absolute;
    right: 0;
}

/* 下層ページh1 */
.maintitle {
    margin: 0 0 18px;
}

/* 下層ページh2 */
.h2_02 {
    width: 640px;
    height: 33px;
    line-height: 35px;
    vertical-align: middle;
    background: url("/assets/images/common/h2_02.gif") 0 0 no-repeat;
    font-size: 14px;
    color: #000;
    padding: 2px 0 0 22px;
    margin: 0 0 20px;
}

.h2_02_01 {
    width: 640px;
    height: 33px;
    line-height: 35px;
    vertical-align: middle;
    background: url("/assets/images/common/h2_02.gif") 0 0 no-repeat;
    font-size: 14px;
    color: #000;
    padding: 2px 0 0 22px;
    margin: 0 0 10px 0;
}

/* 下層ページh3 */
.h3_01 {
    margin: 0 0 10px;
    background: url("/assets/images/common/dot01.gif") bottom left repeat-x;
}

.h3_01 h3 {
    background: url("/assets/images/common/mark02.gif") 3px 7px no-repeat;
    font-size: 12px;
    padding: 6px 0 6px 17px;
}

.h3_02 {
    background: url("/assets/images/common/bg03.gif") 0 0 no-repeat;
    width: 640px;
    height: 34px;
    line-height: 34px;
    font-size: 12px;
    padding: 0 0 0 30px;
}

/* 下層ページh4 */
.h4_01 {
    background: url("/assets/images/common/mark03.gif") center left no-repeat;
    font-size: 12px;
    margin: 0 0 5px;
    padding: 6px 0 6px 27px;
}

/* 下層ページh4 番号 */
.h4_02_01 {
    background: url("/assets/images/common/mark05.gif") center left no-repeat;
    font-size: 12px;
    margin: 0 0 5px;
    padding: 8px 0 5px 27px;
}

.h4_02_02 {
    background: url("/assets/images/common/mark06.gif") center left no-repeat;
    font-size: 12px;
    margin: 0 0 5px;
    padding: 8px 0 5px 27px;
}

.h4_02_03 {
    background: url("/assets/images/common/mark07.gif") center left no-repeat;
    font-size: 12px;
    margin: 0 0 5px;
    padding: 8px 0 5px 27px;
}

.h4_02_04 {
    background: url("/assets/images/common/mark08.gif") center left no-repeat;
    font-size: 12px;
    margin: 0 0 5px;
    padding: 8px 0 5px 27px;
}

.h4_03 {
    font-size: 14px;
    color: #378335;
}

/*** パンくず ***/
.topicpath {
    padding: 9px 0 6px;
    font-size: 11px;
    color: #707070;
}

.topicpath a {
    font-size: 11px;
    text-decoration: none;
}

.topicpath a:hover {
    text-decoration: underline;
}

/*** テーブル ***/
/* テーブル01　ニューステーブル */
.table01 td,
.table01 th {
    padding: 10px 0;
    line-height: 155%;
    background: url("/assets/images/common/border01.gif") bottom left repeat-x;
}

/* パターン2 */
table.table02 {
    border-bottom: 1px solid #cbcbcb;
    border-left: 1px solid #cbcbcb;
}

table.table02 th,
table.table02 td {
    padding: 4px 8px;
    border-top: 1px solid #cbcbcb;
    border-right: 1px solid #cbcbcb;
    line-height: 150%;
}

table.table02 th {
    padding: 4px 10px;
    background: #f5f5f5;
    font-weight: bold;
    text-align: left;
}

table.table02 th.ns {
    font-weight: normal;
}

table.table02 thead th {
    padding: 4px 0;
    background: #ececec;
    font-weight: bold;
    text-align: center;
}

table.table02 td.b_tnone,
table.table02 th.b_tnone {
    border-top: 0px;
}

table.table02 th.acen {
    text-align: center;
}

table.table02 th.ac_no {
    text-align: center;
    line-height: 110%;
}

table.table02 td.table02title01 {
    background: #f5faf6;
}

table.table02 tr.table02title01 td {
    background: #f5faf6;
}

/* パターン3　　パターン2よりも狭 */
table.table03 {
    border-bottom: 1px solid #cbcbcb;
    border-left: 1px solid #cbcbcb;
}

table.table03 th,
table.table03 td {
    padding: 2px 8px;
    border-top: 1px solid #cbcbcb;
    border-right: 1px solid #cbcbcb;
    line-height: 160%;
}

table.table03 th {
    padding: 2px 10px;
    background: #f5f5f5;
    font-weight: bold;
    text-align: left;
}

table.table03 th.acen {
    text-align: center;
}

table.table03 .table03title01 td {
    background: #f5faf6;
}

table.table03 thead th {
    padding: 2px 0;
    background: #ececec;
    font-weight: bold;
    text-align: center;
}

/* パターン4　　ライン */
table.table04 {
    border-left: 1px solid #dcdcdc;
    border-right: 1px solid #dcdcdc;
    border-bottom: 1px solid #dcdcdc;
}

.privacy_table td {
    padding: 5px;
    line-height: 145%;
}

.privacy_table th {
    padding: 5px;
    line-height: 145%;
}

/* パターン5　　パターン3よりもさらに狭 */
table.table05 {
    border-bottom: 1px solid #cbcbcb;
    border-left: 1px solid #cbcbcb;
}

table.table05 th,
table.table05 td {
    padding: 2px 4px;
    border-top: 1px solid #cbcbcb;
    border-right: 1px solid #cbcbcb;
    line-height: 160%;
    text-align: left;
}

table.table05 th {
    background: #f5f5f5;
    font-weight: bold;
}

table.table05 th.acen {
    text-align: center;
}

table.table05 .table05title01 td {
    background: #f5faf6;
}

table.table05 thead th {
    padding: 2px 0;
    background: #ececec;
    font-weight: bold;
    text-align: center;
}


/*** ボックス類 ***/
/* ボックス01　620px */
.box620 {
    width: 620px;
    margin: 0 auto;
}

/*** リスト ***/
.ol01 {
    margin: 0 0 0 17px;
    padding: 0;
}

dl {
    margin: 0;
    padding: 0;
}

dl dd {
    margin: 0 0 0 20px;
}


.ul01 {
    margin: 0;
    padding: 0;
}

.ul01 li {
    margin: 0 0 0 15px;
    padding: 1px 0 0;
    list-style-image: url("/assets/images/common/mark01.gif")
}

.ul02 {
    margin: 0;
    padding: 0;
}

.ul02 li {
    margin: 0 0 0 30px;
    padding: 0;
    line-height: 135%;
}

.ul03 {
    margin: 0;
    padding: 0;
}

.ul03 li {
    margin: 0 0 0 25px;
    padding: 0;
}


.ol02 {
    margin: 0 0 0 35px;
    padding: 0;
    list-style-type: none;
}

.ol02 li {
    margin: 0;
    padding: 0;
    line-height: 135%;
}

.dl01 dt {
    padding: 0 0 0 10px;
    font-weight: bold;
}

.dl01 dd {
    margin: 0 0 5px 25px;
}


/*** 右バナー用ボックス01 ***/
.bantable01 {
    border: 1px solid #dcdcdc;
}

.bantable01 table {
    border: 1px solid #fff;
    background: #f9f9f9;
}

.bantable01 table td.table01_01 {
    padding: 8px 0 11px;
    background: url("/assets/images/common/bg02.gif") bottom left no-repeat;
}

.bantable01 table td.table01_02 {
    padding: 4px 0 7px;
    background: url("/assets/images/common/bg02.gif") bottom left no-repeat;
}

.bantable01 table td.table01_03 {
    padding: 4px 0;
}

/*** 下層ページ右メニュー ***/
.rmenu {
    padding: 30px 0 0;
    border-bottom: 1px solid #dcdcdc;
}


/*** font ***/
.font14b {
    font-size: 14px;
    font-weight: bold;
}

.sup {
    vertical-align: super;
    font-size: 9px;
}

.lh110 {
    line-height: 110%;
}

.lh170 {
    line-height: 170%;
}

.lh200 {
    line-height: 200%;
}

/*** セミナーエリア ***/

/* パターン5 */
table.table05 {
    border-bottom: 1px solid #cbcbcb;
    border-left: 1px solid #cbcbcb;
}

table.table05 th,
table.table05 td {
    padding: 8px;
    border-top: 1px solid #cbcbcb;
    border-right: 1px solid #cbcbcb;
}

table.table05 th {
    padding: 8px;
    background: #f5f5f5;
    font-weight: bold;
    text-align: left;
}

/* パターン6 */
table.table06 {
    border-bottom: 1px solid #cbcbcb;
    border-left: 1px solid #cbcbcb;
}

table.table06 th,
table.table06 td {
    padding: 8px;
    border-top: 1px solid #cbcbcb;
    border-right: 1px solid #cbcbcb;
}

table.table06 th {
    padding: 8px;
    background: #f5f5f5;
    font-weight: bold;
    text-align: left;
    width: 200px;
}

table.table06 td table td, th {
    border: none;
    padding: 3px;
}

.text_border {
    width: 156px;
    border: 1px solid #7f9db9;
    height: 20px;
}

.text_border2 {
    width: 260px;
    border: 1px solid #7f9db9;
    height: 20px;
}

.text_border3 {
    width: 50px;
    border: 1px solid #7f9db9;
    height: 20px;
}

.text_border4 {
    width: 424px;
    border: 1px solid #7f9db9;
    height: 164px;
}

.blue_border {
    border: 1px solid #7f9db9;
}

.err {
    padding: 10px;
    border: 1px solid #cccccc;
    background: #f4faff;
}


table.table02 td table.border_none td {
    border: none;
    padding: 0;
}

.kiyaku .red {
    color: #e60012;
}

.kiyaku td {
    line-height: 140%;
}

/* パターン7 */
table.table07 {
    border-bottom: 1px solid #cbcbcb;
    border-left: 1px solid #cbcbcb;
    float: right;
}

table.table07 th,
table.table07 td {
    padding: 3px;
    border-top: 1px solid #cbcbcb;
    border-right: 1px solid #cbcbcb;
}

table.table07 th {
    padding: 3px;
    background: #f5f5f5;
    font-weight: bold;
    text-align: left;
}

table.table05 td table td, th {
    border: none;
    padding: 3px;
}

/*** カラー ***/
.red {
    color: #e60012;
    font-weight: bold;
}

.blue01b {
    color: #369;
    font-weight: bold;
}

.red02 {
    color: #e60012;
    font-weight: normal;
    font-size: 90%;
}

.red03 {
    color: #e60012;
    font-weight: bold;
    font-size: 90%;
}

.red04 {
    color: #b22222;
}

.red05 {
    color: #ff4500;
}

.red06 {
    color: #dc143c;
}

.blue01 {
    color: #369;
}

.blue02 {
    color: #0000cd;
}

.orange01 {
    color: #ff4500;
}

.green01 {
    color: #008080;
}

/*** スペース用 ***/
.pad15 {
    padding: 0 0 0 15px;
}

.pad20 {
    padding: 0 0 0 20px;
}

.pad30 {
    padding: 0 0 0 30px;
}

.pad40 {
    padding: 0 0 0 40px;
}

.pad50 {
    padding: 0 0 0 50px;
}

.pad60 {
    padding: 0 0 0 60px;
}

.pad70 {
    padding: 0 0 0 70px;
}

.pad80 {
    padding: 0 0 0 80px;
}

.pad150 {
    padding: 0 0 0 150px;
}


/*** 全文検索 ***/

#search {
    width: 400px;
    margin: 0 auto;
    padding: 0;
}

#ajaxSearch_input {
    width: 80%;
}

fieldset {
    border: 1px solid #ffffff;
    margin: 0;
    padding: 0;
}

/*** 測量機器性能表エリア ***/

#kaihei {
    padding: 10px 15px 10px 15px;
    font-size: 12px;
}

#kaihei ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.space-top {
    margin-top: 5px;
}

.filetree span.folder, .filetree span.file {
    padding: 1px 0 1px 16px;
    cursor: pointer
}

.filetree span.folder {
    background: url(/assets/images/survey/folder.gif) 0 0 no-repeat;
}

.filetree li.expandable span.folder {
    background: url(/assets/images/survey/folder-closed.gif) 0 0 no-repeat;
}

.filetree span.folder, .filetree span.file {
    padding: 1px 0 1px 16px;
    cursor: pointer
}

.filetree span.folder {
    background: url(/assets/images/survey/folder.gif) 0 0 no-repeat;
}

.filetree li.expandable span.folder {
    background: url(/assets/images/survey/folder-closed.gif) 0 0 no-repeat;
}

.closed {
    margin-bottom: 5px;
}

.link04 {
    background: url(/assets/images/common/mark10.gif) no-repeat left center;
    padding-left: 20px;
}

.sitemap_space {
    margin-left: 30px;
}

div.topics {
    display: block;
    position: relative;
    padding: 2px;
    margin: 0 0 0 0;
    text-align: center;
    width: 626px;
    _width: 609px;
    height: 120px;
    overflow-y: scroll;
    background-color: #006400;
    border-spacing: 20px 2px;
    border: 5px solid #cd853f;
}

div.topics table {
    display: block;
    position: relative;
    padding: 5px;
    width: 100%;
    height: 100%;
    background-color: #006400;
    text-align: left;
    border-collapse: separate;
    color: #ffffff;
}

div.topics table tr td.date {
    position: relative;
    font-size: 90%;
    font-weight: normal;
    text-indent: 0px;
    width: 10%;
    vertical-align: top;
    border-right: 30px solid #006400;
}

div.topics table tr td.topic {
    position: relative;
    font-size: 90%;
    font-weight: normal;
    text-indent: 0px;
    vertical-align: top;
}

div.topics table tr td.topic a {
    color: #ffff00;
    text-decoration: underline;
}


/***** 検定ページ、検定センター用 *****/
.kentei_box {
    line-height: 140%;
}


footer, header, section {
    display: block
}

.l-container {
    background-color: #fff;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    width: 100%;
    min-height: 100vh;
}

.l-header {
    background-image: url(../../../images/common/bg_header.webp);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 999
}

.l-header__inner {
    padding-left: min(1.25rem, 5%);
    padding-right: min(1.25rem, 5%)
}

.l-header__content {
    align-items: center;
    display: flex;
    justify-content: space-between;
    min-height: 90px
}

.l-header__logo {
    margin-left: 0;
    max-width: 350px
}

.l-header__logo, .l-main {
    margin-right: auto;
    width: 100%
}

.l-main {
    margin: 0 auto;
    padding-top: 100px;
    position: relative
}

.l-footer {
    margin-top: 100px;
    width: 100%;
}

.l-footer__foot {
    background-color: #007f47
}

.l-footer__foot__content {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 90px
}

.p-header-logo {
    display: block
}

.p-footer-copyright {
    color: #fff;
    font-size: .75rem
}

