@charset "utf-8";

/*================================
 CSS
FileName:    style.css
Last Modified:     2015.04.03
================================*/

/***------------------------
default
------------------------***/

h1,h2,h3,h4,h5,h6,div,ul,li,p,dl,dt,dd {
  margin  : 0px;
  padding : 0px;
}

img {
  border  : none;
  margin  : 0;
  padding : 0;
  vertical-align: middle;
}

/*リストの文頭は非表示*/
ul { list-style-type: none; }

/*改行関連*/
br { letter-spacing: 0; }   /* IEバグ対応 ※連続した<br>に対応しないため */

label { cursor: pointer; }

/*マウスホバー時のアルファ化*/
a:hover {
  filter  : alpha(opacity=70);  -moz-opacity:0.70;  opacity:0.70;
}

/***------------------------
【全般的に】
------------------------***/
body {
    margin          : 0px auto;         /* ページ全体のmargin */
    padding         : 0px;              /* ページ全体のpadding */
    text-align      : center;           /* 下記のautoに未対応用のセンタリング */
    background      : #ffffff;
}

body {
    font-family     : "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "ＭＳ Ｐゴシック", "MS PGothic", Arial, sans-serif;
    color           : #333333;
    letter-spacing  : 0;
    line-height     : 20px;
    font-size       : 14px;
}

p { line-height : 2;}

/*トップマージンを指定*/
.m_top3  { margin-top:3px;}
.m_top5  { margin-top:5px;}
.m_top6  { margin-top:6px;}
.m_top10 { margin-top:10px;}
.m_top12 { margin-top:12px;}
.m_top15 { margin-top:15px;}
.m_top16 { margin-top:16px;}
.m_top17 { margin-top:17px;}
.m_top20 { margin-top:20px;}
.m_top25 { margin-top:25px;}
.m_top30 { margin-top:30px;}
.m_top35 { margin-top:35px;}
.m_top40 { margin-top:40px;}
.m_top50 { margin-top:50px;}
.m_top60 { margin-top:60px;}
.m_top80 { margin-top:80px;}
.m_top90 { margin-top:90px;}
.m_top100 { margin-top:100px;}
.m_top160 { margin-top:160px;}
.m_topm40 { margin-top:-40px;}
.m_topm50 { margin-top:-50px;}
.m_topm65 { margin-top:-65px;}
.m_topm230 { margin-top:-230px;}
.m_topm250 { margin-top:-250px;}

/*ボトムマージンを指定*/
.m_b2  { margin-bottom:2px;}
.m_b5  { margin-bottom:5px;}
.m_b10 { margin-bottom:10px;}
.m_b15 { margin-bottom:15px;}
.m_b20 { margin-bottom:20px;}
.m_b25 { margin-bottom:25px;}
.m_b30 { margin-bottom:30px;}
.m_b40 { margin-bottom:40px;}
.m_b50 { margin-bottom:50px;}
.m_b60 { margin-bottom:60px;}
.m_b80 { margin-bottom:80px;}

/*左マージンを指定*/
.m_l3  { margin-left:3px;}
.m_l5  { margin-left:5px;}
.m_l7  { margin-left:7px;}
.m_l10 { margin-left:10px;}
.m_l14 { margin-left:14px;}
.m_l15 { margin-left:15px;}
.m_l19 { margin-left:19px;}
.m_l20 { margin-left:20px;}
.m_l24 { margin-left:24px;}
.m_l25 { margin-left:25px;}
.m_l30 { margin-left:30px;}
.m_l35 { margin-left:35px;}
.m_l40 { margin-left:40px;}
.m_l50 { margin-left:50px;}
.m_l60 { margin-left:60px;}
.m_l80 { margin-left:80px;}
.m_l106 { margin-left:106px;}
.m_l205 { margin-left:205px;}

/*右マージンを指定*/
.m_r2  { margin-right:2px;}
.m_r5  { margin-right:5px;}
.m_r10 { margin-right:10px;}
.m_r15 { margin-right:15px;}
.m_r20 { margin-right:20px;}
.m_r25 { margin-right:25px;}
.m_r30 { margin-right:30px;}
.m_r35 { margin-right:35px;}
.m_r40 { margin-right:40px;}

/*上下マージンを指定*/
.v_sp5  { margin: 5px 0; }
.v_sp10 { margin: 10px 0; }
.v_sp15 { margin: 15px 0; }
.v_sp20 { margin: 20px 0; }
.v_sp30 { margin: 30px 0; }

/*左右マージンを指定*/
.h_sp10 { margin: 0 10px; }
.h_sp20 { margin: 0 20px; }
.h_sp25 { margin: 0 25px; }
.h_sp30 { margin: 0 30px; }

/*上PADDING*/
.p_top5  { padding-top: 5px; }
.p_top10 { padding-top: 10px; }
.p_top15 { padding-top: 15px; }
.p_top20 { padding-top: 20px; }
.p_top30 { padding-top: 30px; }
.p_top40 { padding-top: 40px; }
.p_top50 { padding-top: 50px; }

/*下PADDING*/
.p_b30  { padding-bottom: 30px; }
.p_b50  { padding-bottom: 50px; }
.p_b100  { padding-bottom: 100px; }
.p_b150  { padding-bottom: 150px; }

/*左右PADDING*/
.p_h5  { padding: 0px  5px; }
.p_h10 { padding: 0px 10px; }
.p_h20 { padding: 0px 20px; }

/*上下PADDING*/
.p_v5  { padding: 5px  0px; }
.p_v10 { padding: 10px 0px; }
.p_v20 { padding: 20px 0px; }

/*PADDING周囲*/
.pad_5  { padding: 5px; }
.pad_10 { padding: 10px; }
.pad_20 { padding: 20px; }
.pad_30 { padding: 30px; }

/*高さ０*/
.h_0 { height:0px;}

/*廻り込み関連*/
.FloatRight { float: right; }
.FloatLeft  { float: left; }
.Clear      { clear: both; }  /*<br class="Clear">*/
.clearfix
{
  display:block;
  min-height:1px;
}
* html .clearfix{
  height:1px;
}
.clearfix {zoom:1;}
.clearfix:after {
  content: ""; 
  display: block; 
  clear: both;
}

/*左寄*/
.al_left   { text-align:left; }
/*右寄*/
.al_right { text-align:right; }
/*中央*/
.al_center { text-align:center; }


h1 {
    font-size       : 20px;
}

h2 {
    font-size       : 18px;
}

h3 {
    font-size       : 16px;
}

.bold {
    font-weight     : bold;
}
.wrapper {
    width           : 100%;
    margin          : 0 auto;
    position        : relative;
}
/*強制改行*/
.mail_form_content {
    word-break : break-all;
}

/***------------------------
コンテンツ
------------------------***/
.content {
    width           : 100%;
    margin          : 0 auto;
    position        : relative;
}

.content_area {
    width           : 1000px;
    margin          : 0 auto;
}

/***------------------------
トップ
------------------------***/
.top_area {
    position        : relative;
    width           : 100%;
    min-width       : 1000px;
    max-width       : 1280px;
    height          : 440px;
    margin          : 0 auto;
    background-image: url(../imgs/hero.png);
    background-position: center center;
    background-size:cover;
}
.top_area_tel {
    position        : absolute;
    top             : 0;
    right           : 0;
}
.top_area_copy {
    position        : absolute;
    bottom          : 0;
    right           : 0;
    left            : 0;
}

.navi_area {
    width           : 1000px;
    margin          : 0 auto;
}

.navi_area img {
    float           : left;
}

.navi_area a:hover img {
    filter          : alpha(opacity=70);
    -moz-opacity    : 0.70;
    opacity:0.70;
}

.menu_area {
    width           : 100%;
    min-width       : 1000px;
    padding         : 50px 0;
    background-color: #002e56;
    color           : #ffffff;
}

.menu_area_title {
    margin          : 0 auto;
    font-size       : 36px;
    font-weight     : bold;
    letter-spacing  : 5px;
}
.menu_area_line {
    margin          : 20px auto;
    width           : 140px;
    border-top      : solid 1px #ffffff;
}

.menu_area_menu {
    margin          : 40px auto 0;
    width           : 1000px;
}
.menu_area_img1 {
    width           : 312px;
    height          : 220px;
    color           : #ffffff;
    background-image: url(../imgs/menu1.png);
    background-repeat: no-repeat;
    float           : left;
}
.menu_area_img2 {
    width           : 312px;
    height          : 220px;
    margin-left     : 32px;
    color           : #ffffff;
    background-image: url(../imgs/menu2.png);
    background-repeat: no-repeat;
    float           : left;
}

.menu_area_img3 {
    width           : 312px;
    height          : 220px;
    margin-left     : 32px;
    color           : #ffffff;
    background-image: url(../imgs/menu3.png);
    background-repeat: no-repeat;
    float           : left;
}

.menu_area_text {
    margin-top      : 130px;
    line-height     : 1.5em;
}

.menu_area_menu a:hover div {
    background-color: #006DCC;
    color           : #ffffff;
}

.news_area {
    width           : 100%;
    padding         : 50px 0;
    color           : #005bab;
}

.news_area_title {
    margin          : 0 auto;
    font-size       : 36px;
    font-weight     : bold;
    color           : #005bab;
    letter-spacing  : 5px;
}
.news_area_line {
    margin          : 20px auto;
    width           : 140px;
    border-top      : solid 1px #005bab;
}

.news_disparea {
    margin          : 25px auto 0;
    width           : 800px;
}

.banner_area {
    width           : 740px;
    margin          : 0 auto 40px;
}

.banner_area img {
    float           : left;
}
.banner_area .buzip_img a {
    filter          : alpha(opacity=100);
    -moz-opacity    : 1;
    opacity         : 1;
}
.banner_under {
    /*width         : 590px;*/          /*バナー3枚時のwidth*/
    margin          : 30px auto 0;
}
.banner_small {
    width           : 220px;
    padding-left    : calc((220px - 150px) / 2);
    padding-right   : calc((220px - 150px) / 2);
}
.s_w {
    width           : 150px !important;
}

.top_lc_wrapper{
    background-color: #e6e6e6;
    padding         : 0;
    margin          : 0 auto;
    width           : 100%;
}

.top_lc_inner {
    display         : flex;
    width           : 1000px;
    padding         : 75px 0;
    margin          : 0 auto;
    text-align      : left;
}

.top_lc_img {
    background-image: url("../imgs/top_guidebook100.png");
    background-repeat:no-repeat;
    height          : 500px;
    width           : 480px;
}

.top_lc_balloon {
    position        :relative;
    top             :253px;
    left            :32px;
}

.top_lc_text {
    overflow-wrap   : break-word;
    font-size       : 29px;
    width           :482px;
    margin-left     :36px;
    line-height     : 46px;
}

.top_lc_text p{
    line-height:29px;
}

.top_lc_text_star {
    -webkit-text-emphasis   :"\02605" #ffc900;/*★星マーク*/
    -moz-text-emphasis      :"\02605" #ffc900;
    text-emphasis           :"★" #ffc900;
    border-bottom           : solid 4px #ffc900;
    font-weight             : normal;
}

.top_lc_text_star::before,
.top_lc_text_star::after {
    -webkit-text-emphasis   :none;
    -moz-text-emphasis      :none;
    text-emphasis           :none;
}

.top_lc_text_star::before {
    content         :"\03010";/*【*/
    margin-left     :-13px;
}

.top_lc_text_star::after {
    content          :"\03011";/*】*/
    margin-right     :-14px;
}

.top_lc_text_att{
    font-size       : 16px;
}

.top_lc_btn_area {
    width: 100%;
    margin-top: 100px;
    display: flex;
    justify-content: center
}

.top_lc_btn_box {
    width: 250px;
    height: 49px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    font-size: 22px;
    text-decoration: none;
    color: #fff;
    font-weight :bold;
}

.top_lc_btn_box {
    background-color: #002e56
}

.top_lc_btn_box::before{
    content: '';
    width: 0;
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 0;
    display: block;
    transition: .2s;
    background-color: #fff
}

.top_lc_btn_box::before {
    border: 1px solid #002e56
}

.top_lc_btn_box:hover {
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
    color: #002e56;
}

.top_lc_btn_box:hover::before {
    width: 100%
}

.top_lc_btn_text:after {
    content:"\025B6";       /*横向き三角*/
    color: #fff;
    position: absolute;
    right    : 20px;
}

.top_lc_btn_box:hover .top_lc_btn_text:after {
    color: #002e56;
}
/* .dot-text {
    padding-top: .4em;
    background-position: top left -2px;
    background-repeat: repeat-x;
    background-size: 1.3em .3em;
    background-image: radial-gradient(.15em .15em at center center,orange,orange 100%,transparent);
} */
/***------------------------
フッター
------------------------***/
#pagetop {
    width           : 88px;
    height          : 68px;
    position        : fixed;
    bottom          : 20px;
    right           : 20px;
    z-index         : 100;
    background-image: url("../imgs/btn_pagetop.png");
}

#pagetop a {
    width           : 100%;
    height          : 100%;
    display         : block;
}

#pagetop a:hover img {
    filter          : alpha(opacity=70);
    -moz-opacity    : 0.70;
    opacity         : 0.70;
}

.footer {
    margin          : 0 auto;
    width           : 100%;
    min-width       : 1000px;
}

.footer_info {
    margin          : 0 auto;
    width           : 100%;
    min-width       : 1000px;
    height          : 60px;
    background-color: #002e56;
    text-align      : center;
}

.footer_tel {
    margin          : 10px auto 30px;
    text-align      : center;
}

.footer_area {
    width           : 100%;
    margin          : 0 auto;
    background-color: #474747;
    text-align      : left;
    padding         : 30px 0;
}

.footer_area_logo {
    width           : 1000px;
    margin          : 0 auto;
}

.footer_area_text {
    color           : #ffffff;
    margin-top      : 30px;
}

.footer_area_left {
    padding-right   : 40px;
    float           : left;
}
.footer_area_right {
    border-left : solid 1px #ffffff;
    padding-left    : 40px;
    padding-bottom  : 10px;
    float           : left;
}

.footer_area_right a {
    color           : #ffffff;
    text-decoration : none;
}

/***------------------------
会社案内
------------------------***/
.company_top {
    margin          : 0 auto;
    width           : 100%;
    max-width       : 1280px;
    min-width       : 1000px;
    height          : 200px;
    background-image: url(../imgs/company_title.gif);
    background-position: center center;
    background-size :cover;
}

.company_area {
    width           : 100%;
    min-width       : 1000px;
    padding         : 50px 0;
    background-color: #002e56;
    color           : #ffffff;
}

.company_infra_image {
    margin-top      : 100px;
    margin-left     : 100px;
    float           : left;
}

.company_infra {
    width           : 650px;
    margin-left     : 70px;
    float           : left;
    border-bottom   : solid 1px #ffffff;
    border-right    : solid 1px #ffffff;
}

.company_infra_text {
    padding         : 20px;
    text-align      : left;
    line-height     : 2em;
}

.company_info_area {
    width           : 1000px;
    margin          : 0 auto 50px;
    padding         : 50px 0;
}

.company_area_title {
    margin          : 0 auto;
    padding-top     : 10px;
    font-size       : 36px;
    font-weight     : bold;
    color           : #005bab;
    letter-spacing  : 5px;
}
.company_area_line {
    margin          : 20px auto;
    width           : 140px;
    border-top      : solid 1px #005bab;
}

.company_outline1 {
    width           : 150px;
    float           : left;
    text-align      : left;
}

.company_outline2 {
    width           : 450px;
    float           : left;
    text-align      : left;
}

.company_outline2 a {
    color           : #000000;
    text-decoration : none;
}

.company_outline2_2 {
    width           : 570px;
    float           : left;
    text-align      : left;
}

.company_outline_img {
    width           : 120px;
    float           : right;
}
.company_outline_box{
    width           : 100%;
    max-width       : 470px;
    vertical-align  : top;
}
.company_box_title{
    padding-left    : 10px;
    width           : 98%;
    line-height     : 40px;
    height          : 40px;
    background-color: #E5F0F0;
    border-left     : 2px solid #669DCD;
    text-align      : left;
    margin-bottom   : 25px;
}
.company_outline3 {
    width           : 70px;
    float           : left;
    text-align      : left;
}

.company_outline4 {
    width           : 390px;
    float           : right;
    text-align      : left;
}
.company_info_area2 {
    width           : 740px;
    margin          : 0 auto;
    padding         : 150px 0 0 0;
    text-align      : center;
}

.company_flex {
    display: flex;
}

/***------------------------
社会基礎事業部
------------------------***/
.base_top {
    margin          : 0 auto;
    width           : 100%;
    max-width       : 1280px;
    min-width       : 1000px;
    height          : 200px;
    background-image: url(../imgs/infra_title.gif);
    background-position: center center;
    background-size :cover;
}

.base_top ul li{
    position: relative;
    top:140px;
    display:inline-block;
    color:#fff;
}
.base_top ul li a {
    text-decoration: underline;
    color:#fff; 
}
.base_top ul li::after {
    content:"\07c";   /*|*/
    padding-left:3px;
}
.base_top ul li:first-of-type::before{
    content:"\07c";   /*|*/
    padding-right:3px;
}
.base_link {
    padding-top     : 140px;
    color           : #ffffff;
}

.base_link a {
    color           : #ffffff;
}

.base_area {
	width			: 100%;
	min-width		: 1000px;
	padding			: 50px 0;
	background-color: #002e56;
	color			: #ffffff;
}

.base_method_area {
    width           : 1000px;
    padding         : 50px 0;
    color           : #333;
    font-size       : 15px;
    margin          : 0 auto;
    text-align      : left;
    background-color: #fff;
}
.base_method_title {
    margin          : 0 auto;
    font-size       : 36px;
    font-weight     : 700;
    color           : #005bab;
    letter-spacing  : 5px;
    text-align      : center;
}
.base_method_line {
    margin: 20px auto;
    width: 140px;
    border-top: solid 1px #005bab;
}

.base_method_guide {
    color               : #333;
}

.base_method_guide::before{
    content: "";
    position: relative;
    top: 2.5em;
    left: -3em;
    background-image: url(../imgs/star.png);
    width: 41px;
    height: 41px;
    display: block;
}

.base_method_guide a {
    color:#005bab;
}
.base_method_guide a:hover {text-decoration:none;} /*マウスホバー時のリンク色*/

/* .base_method_guide dt::before {
    content             :"";
    background-color: #c00000;
    position: relative;
    top: 0;
    left: -1em;
    display:inline-block;
    width:1em;
    height:31.14px;
    margin-left: 1em;
} */

.base_method_guide dt:first-of-type::after {
    content :"\02605"; /*★*/
    color:#ffc900;
    font-size: 28px;
    position: relative;
    top: 0px;
}

.base_method_guide dt {
    line-height: 31.14px;
    background-color    :#335c80;
    font-size           : 18px;
    height              : 31.14px;
    color               : #fff;
    font-family: 'ヒラギノ角ゴ Pro_w6','Noto Sans JP', sans-serif;
    border-left:18px solid #c00000;
    text-indent:1em;

}

.base_method_guide dt:first-of-type {
    height: 37px;
}

.base_method_guide dd {
    font-size           : 15px;
    padding             : 20px 0;
}
.base_method_guide dd::after {
    clear:both;
    margin-bottom:10px;
}
.base_method_guide_star::before{
    content :"\02605"; /*★*/
}

.base_method_guide_brackets::before{
    content :"\03010";  /*【*/
}

.base_method_guide_brackets::after{
    content :"\03011"; /*】*/
}

.base_method_guide dd p {
    line-height         : 1.5em;
}

.base_method_guide_pdf {
    line-height: 5.5em;
}
.base_method_guide_pdf:after {
    content             :"";
    position            : relative;
    top                 : 0.5em;
    left                : 1em;
    background-image    : url("../imgs/pdf.png");
    width               : 30px;
    height              : 33px;
    display             : inline-block;   
}

/*実績*/
.base_method_achievement:before {
    content             :"";
    background-color: #335c80;
    padding-right: 14px;
    position: relative;
    top: 2px;
    padding-bottom: 1.8px;
    margin-left: 1em;
    left: -1em;
}   

.base_method_achievement {
    border-bottom:1px solid #335c80;
    color:#335c80;
    font-size:16px;
    margin-top:30px;
    font-family: 'ヒラギノ角ゴ Pro_w6','Noto Sans JP', sans-serif;
    line-height:32px;
}

.base_method_achievement_box {
    padding:20px 0;
    display:flex;
    -webkit-justify-content:space-around;
    -moz-justify-content:space-around;
    justify-content:space-around;
}

.base_method_inner{
    display: flex;
    flex-wrap: wrap;
    padding:20px 0;
    width:300px;
}

.base_method_inner dt {
    width: 30%;
    /* max-width:100px; */
}

.base_method_inner dd {
    width: 70%;
    /* max-width:210px; */
}

.base_infra_image {
    margin-top      : 50px;
    margin-left     : 80px;
    float           : left;
}

.base_infra {
    width           : 650px;
    margin-left     : 70px;
    float           : left;
    border-bottom   : solid 1px #ffffff;
    border-right    : solid 1px #ffffff;
}

.base_infra_text {
    padding         : 20px;
    text-align      : left;
    line-height     : 2em;
}

.base_infra_url a:link,
.base_infra_url a:visited,
.base_infra_url a:active {
    color           : #CCCCF7;
    text-decoration : underline;
}
.base_infra_url a:hover {
    text-decoration : none;
}

.base_manu_area {
    width           : 1000px;
    margin          : 30px auto 0;

}

.base_manu_area img {
    float           : left;
}

.base_menu_image {
    margin          : 0 auto;
    width           : 100%;
    max-width       : 1000px ;
    height          : 450px;
    background-image: url(../imgs/infra_back.gif);
    background-repeat: no-repeat;
    background-position: right;

}

.base_info_area_title {
    margin          : 0 auto;
    padding-top     : 10px;
    font-size       : 36px;
    font-weight     : bold;
    color           : #005bab;
    letter-spacing  : 5px;
}
.base_info_area_line {
    margin          : 20px auto;
    width           : 140px;
    border-top      : solid 1px #005bab;
}

.bridge_area {
    width           : 1000px;
    margin          : 0 auto 50px;
    padding         : 50px 0;
}

.bridge_image {
    margin          : 50px 0 200px;
}

.bridge_image img {
    float           : left;
}

.bridge_image_space {
    margin-right    : 13.33333333px;
    left            : -webkit-calc(40px / 3);
    left            : calc(40px / 3);
}

.survey_area {
    width           : 1000px;
    margin          : 0 auto 50px;
    padding         : 50px 0 0;
}

.survey_title {
    margin          : 30px auto 0;
    width           : 998px;
    height          : 40px;
    background-color: #E5F0F0;
    border-left     : 2px solid #669DCD;
    text-align      : left;
}
.survey_title p {
    margin-left     : 10px;
    line-height     : 40px;
}

.survey_text {
    margin          : 10px 0 100px;
    text-align      : left;
}

.survey_text img {
    float           : left;
}

.survey_image_space {
    margin-right    : 13.33333333px;
    left            : -webkit-calc(40px / 3);
    left            : calc(40px / 3);
}

.waterway_area {
    width           : 600px;
    margin          : 0 auto;
    text-align      : center;
}

.waterway_img {
    text-align      : left;
}

.waterway_img img {
    margin-top      : 15px;
}

.machin_image {
    margin          : 50px 0;
}

.machin_image_text {
    float           : left;
}

.machin_image_text p {
    margin-top      : 10px;
    line-height     : 1.2em;
}

.machin_image_space {
    margin-right    : 32px;
}

.machin_image_little {
    font-size       : 12px;
}

.method_area {
    width           : 600px;
    margin          : 0 auto 100px;
    text-align      : left;
    color           : #005bab;
    font-weight     : bold;
    line-height     : 2em;
}

.method_area a {
    color           : #005bab;
}

.method_actual {
    width           : 700px;
    margin          : 0 auto;
    text-align      : left;
}

.method_actual_sub {
    font-weight     : bold;
}

.report_top {
    margin          : 0 auto;
    width           : 100%;
    max-width       : 1280px;
    min-width       : 1000px;
    height          : 200px;
    background-image: url(../imgs/houkoku_title.gif);
    background-position: center center;
    background-size :cover;
}

.report_area {
    width           : 1000px;
    margin          : 0 auto;
    padding         : 50px 0;
}

#report_display {
    width           : 540px;
    margin          : 0 auto;
}

#report_display img {
    max-width       : 540px;
}

.report_display_line {
    margin          : 5px 0;
    border-top      : 2px solid #669DCD;
}

.report_display_text {
    margin          : 10px auto 50px;
    text-align      : left;
    word-break      : break-all;
}

#report_display_btn {
    padding-bottom  : 50px;
}
/***------------------------
地盤改良事業部
------------------------***/
.ground_top {
    margin          : 0 auto;
    width           : 100%;
    max-width       : 1280px;
    min-width       : 1000px;
    height          : 200px;
    background-image: url(../imgs/ground_title.gif);
    background-position: center center;
    background-size :cover;
}

.ground_base {
    width           : 700px;
    margin-left     : 30px;
    float           : right;
    border-bottom   : solid 1px #ffffff;
    border-right    : solid 1px #ffffff;
}

.ground_base_text {
    padding         : 0 20px 10px 10px;
    text-align      : left;
    line-height     : 2em;
    letter-spacing  : 0.05em;
}

.ground_base_image {
    margin-top      : 25px;
    margin-left     : 60px;
    float           : left;
}

.ground_area {
    width           : 100%;
    min-width       : 1000px;
    padding         : 50px 0;
    background-color: #002e56;
    color           : #ffffff;
    margin          : 0 auto;
}
.ground_container {
    width           : 1000px;
    margin          : 50px auto 40px auto;
}
/*地盤メニュー*/
.ground_menu{
    width           : 100%;
    min-width       : 1000px;
    margin          : 0 auto;
    background-color: #005BAB;
}
.ground_menu ul{
    margin      : 0 auto;
    display         : table;
    table-layout    : fixed;
    min-width       : 890px;
}
.ground_menu ul li{
    display         : table-cell;
    vertical-align  : middle;
    text-align      : center;
    background-color: #005BAB;
}
.ground_menu li img {
    border-left     : 1px solid white;
}
.ground_menu li:last-child img{
    border-right    : 1px solid white;
}

/*フッター*/
.ground_menu_footer{
    max-width       : 925px;
    margin          : 0 auto;
    padding         : 30px 0;
    padding-bottom  : 55px;
}
.ground_menu_footer ul{
    width           :925px;
    line-height     :8px;
}
.ground_menu_footer ul li{
    display: inline-block;
    vertical-align  :middle;
    text-align      :center;
    padding         : 6.5px;
    border-left     :1px solid #002e56;
}
.ground_menu_footer ul li:last-child {
    border-right    :1px solid #002e56;
}
.ground_menu_footer a:link,
.ground_menu_footer a:visited,
.ground_menu_footer a:active
{ 
    color           : #002e56;
    text-decoration:underline;
}
.ground_menu_footer a:hover {text-decoration:none;} /*マウスホバー時のリンク色*/

/*地盤リンクページ*/
.grand_link_box{
    max-width       : 720px;
    margin          : 0 auto;
    padding-top     : 50px;
}
.grand_link_box ul li{
    padding         : 20px;
    line-height     : 26px;
}

.grand_link_box ul li:nth-child(2),
.grand_link_box ul li:nth-child(7){
    padding-bottom  : 35px;
    border-bottom   : 1px dotted #000;
}
.grand_link_box ul li:nth-child(3),
.grand_link_box ul li:nth-child(8){
    padding-top : 35px;
}
.grand_link_box ul li:last-child{
    padding-bottom  : 240px;
}
.grand_link_box a:link,
.grand_link_box a:visited,
.grand_link_box a:active
{ 
    color           : #000;
    text-decoration:underline;
}
.grand_link_box a:hover {text-decoration:none;} /*マウスホバー時のリンク色*/

.ground_pcpv_movie_right {
    background      : #66B8E5;
    width           : 290px;
    height          : 296px;
    padding         : 17px 30px;
    margin-top      : 30px;
}
.ground_pcpv_movie_right2 {
    background      : #66B8E5;
    width           : 290px;
    height          : 240px;
    padding         : 45px 30px;
    margin-top      : 30px;
}
.ground_pcpv_movie {
    width           : 740px;
    margin          : 50px auto 0 auto;
}

.ground_title {
    margin          : 50px auto 0;
    width           : 1056px;
    height          : 40px;
    background-color: #E5F0F0;
    border-left     : 2px solid #669DCD;
    text-align      : left;
}

.ground_title2 {
    margin          : 70px auto 0;
    width           : 1000px;
    height          : 40px;
    background-color: #E5F0F0;
    border-left     : 2px solid #669DCD;
    text-align      : left;
}

.ground_title p,
.ground_title2 p {
    margin-left     : 10px;
    line-height     : 40px;
    font-size       : 16px;
}

.ground_sub_title {
    width           : 980px;
    padding         : 0 10px;
    height          : 40px;
    line-height     : 40px;
    font-size       : 20px;
    font-weight     : bold;
    text-align      : left;
    color           : #FFFFFF;
}
.ground_sub_title.blue {
    background-color: #005BAB;
}
.ground_sub_title.blown {
    background-color: #75542F;
}
.ground_sub_title.navy {
    background-color: #0C1126;
}

.ground_content_area {
    width           : 100%;
    margin          : 20px auto 60px;
    text-align      : left;
}

.ground_caption1 {
    display         : inline-block;
    margin          : 30px 0 10px;
    height          : 40px;
    line-height     : 40px;
    border-left     : 4px solid #335c80;
    border-bottom   : 1px solid #335c80;
    font-size       : 18px;
    font-weight     : bold;
    color           : #335c80;
    padding         : 0 20px;
}
.ground_caption2 {
    display         : inline-block;
    margin          : 30px 0 10px;
    height          : 40px;
    line-height     : 40px;
    border-left     : 4px solid #267B5D;
    border-bottom   : 1px solid #267B5D;
    font-size       : 18px;
    font-weight     : bold;
    color           : #267B5D;
    padding         : 0 20px;
}
.ground_caption3 {
    display         : inline-block;
    margin          : 30px 0 10px;
    height          : 40px;
    line-height     : 40px;
    border-left     : 4px solid #BE0A1A;
    border-bottom   : 1px solid #BE0A1A;
    font-size       : 18px;
    font-weight     : bold;
    color           : #BE0A1A;
    padding         : 0 20px;
}

.ground_caption_bold {
    font-weight     : bold;
    font-size       : 18px;
}
.ground_caption_bold2 {
    font-weight     : bold;
}

.ground_caption_text {
    margin-left     : 25px;
}

.ground_pillar_img img {
    float           : left;
    width           : 242.5px;
}

.ground_environment_text {
    width           : 295px;
    float           : left;
}

.ground_environment_img {
    width           : 200px;
    float           : left;
}
.ground_environment_space {
    margin-left     : 40px;
}

.ground_bold {
    margin-top      : 30px;
    font-weight     : bold;
    font-size       : 18px;
    text-align      : left;
}

.ground_red {
    margin-top      : 30px;
    font-weight     : bold;
    text-align      : left;
    color           : #B80938;
}

.ground_red2 {
    margin-top      : 30px;
    font-weight     : bold;
    text-align      : left;
    color           : #B80938;
    font-size       : 16px;
}

.ground_a_text {
    float           : left;
    width           : 725px;
    margin-left     : 5px;
}

.ground_a_text ul {
    list-style-type : decimal;
    margin-left     : 1.4em;
    line-height     : 2;
}

.ground_a_text a:link       { color : #333333; text-decoration:underline;}  /*リンク色*/
.ground_a_text a:visited    { color : #333333; text-decoration:underline;}  /*訪問済みリンク色*/
.ground_a_text a:active     { color : #333333; text-decoration:underline;}  /*クリックしたときのリンク色*/
.ground_a_text a:hover      { color : #333333; text-decoration:none;}   /*マウスホバー時のリンク色*/

.ground_ul {
    list-style-type : decimal;
    text-align      : left;
    margin-left     : 1.4em;
    margin-top      : 5px;
    line-height     : 2;
}

.ground_ul2 {
    padding         : 0;
    text-align      : left;
    line-height     : 2;
}

.ground_img_resize {
    margin-top      : 10px;
}

.ground_img_resize img {
    width           : 240px;
    height          : 180px;
    float           : left;
}

.ground_merit {
    list-style-type : none;
    text-align      : left;
    line-height     : 26px;
    margin          : 5px 0 10px 0;
}

.ground_s_width {
    width           : 760px;
    margin          : 0 auto;
    text-align      : left;
}

.ground_s_width2 {
    width           : 1000px;
    margin          : 0 auto;
    text-align      : left;
}

.ground_list_square {
    list-style-type : square;
    margin          : 0;
    padding         : 0 0 0 15px;
    line-height     : 2;
}

.ground_type {
    width           : 320px;
    float           : left;
}

.ground_type_text {
    text-align      : left;
    margin-top      : 10px;
}

.ground_type_title {
    width           : 318px;
    height          : 40px;
    background-color: #E5F0F0;
    border-left     : 2px solid #669DCD;
    text-align      : left;
    margin-bottom   : 10px;
    border-bottom   : 1px #ffffff solid;
}
.ground_type_title p {
    margin-left     : 10px;
    line-height     : 40px;
    font-size       : 16px;
}

.ground_type_bgblue {
    background      : #E5F0F0;
    padding-bottom  : 10px;
    text-align      : center;
    height          : 206px;
}
/*-----------------------------------------------------------------
        movie set
-----------------------------------------------------------------*/
.movie_area {
    width               : 390px;
    height              : 360px;
}
.movie {
    width               : 390px;
    background-repeat   : no-repeat;
    background-size     : cover;
    border              : 0;
    overflow            : hidden;
}
.movie video, 
.movie source {
    width               : 100%;
}
.ground_research_movie {
    margin-top          : 5px;
    margin-left         : 20px;
}
.ground_surface_movie {
    height              : 285px;
    margin-top          : 75px;
}
/***------------------------
メールフォーム
------------------------***/
.inquiry_top {
    margin          : 0 auto;
    width           : 100%;
    max-width       : 1280px;
    min-width       : 1000px;
    height          : 200px;
    background-image: url(../imgs/inquiry_title.gif);
    background-position: center center;
    background-size :cover;
}
.inquiry_area{
    width           : 100%;
    min-width       : 1000px;
    border-bottom   : 1px solid white;
    padding         : 50px 0;
    background-color: #002e56;
    color           : #ffffff;
    margin          : 0 auto;
}
.inquiry_area a:link,
.inquiry_area a:visited,
.inquiry_areaa:active{
    color           : #CCCCF7;
    text-decoration : underline;
}
.inquiry_area a:hover {text-decoration:none;}   /*マウスホバー時のリンク色*/

img.map, map area{
    outline: none;
}
.inquiry_container{
    max-width       : 755px;
    margin          : 0 auto;
    padding         : 50px 0;
}
.inquiry_main{
    text-align      : left;
    font-size       : 13px;
}
.inquiry_info_title{
    margin-top      : 50px;
    font-weight     : bold;
    font-size       : 16px; 
}
.inquiry_info_txt li { 
    position    : relative;
    padding-left    : 45px;
    margin-left     : -30px;
}
.inquiry_info_txt li:before{
    content     : "※";
    display     : block;
    position    : absolute;
    top         : 0;
    left        : 30px;
}
.inquiry_info_txt li:nth-child(3) { 
    color   : #B80938;
}
.inquiry_form{
    margin-top  : 25px;
    font-size   : 16px;
}
.inquiry_form dt{
    width           : 20%;
    font-size       : 16px;
    float           : left;
    clear           : both;
    padding-top     : 43px;
}
.inquiry_form dd { 
    margin          : -1% 0 0 20%; 
    font-size       : 16px;
    padding-left    : 15px;
    padding-top     : 50px;
    border-left     : 1px dashed #CCC;
}
.inquiry_form input[type=text],
.inquiry_form textarea{
    width           : 88%;
    border          : 1px solid #000;
    border-top      : none;
    border-left     : none;
    line-height     : 2em;
    height          : 2em;
    outline         : none;
}
.inquiry_form textarea{
    height          : 195px;
}
.red{
    color       : #B80938;
}
.small{
    font-size   : small;
}
.zip{
    width           : 23%;
    max-width       : 145px;
    border          : 1px solid #000;
    border-top      : none;
    border-left     : none;
    line-height     : 2em;
    height          : 2em;
    outline         : none;
}
#Todoufuken{
    height          : 30px;
    width           : 150px;
}
/***------------------------
グリーンテスト
------------------------***/
.green_top {
    margin          : 0 auto;
    width           : 100%;
    max-width       : 1280px;
    min-width       : 1000px;
    height          : 200px;
    background-image: url(../imgs/green_title.gif);
    background-position: center center;
    background-size :cover;
}
.green_area {
    width           : 100%;
    min-width       : 1000px;
    padding         : 50px 0;
    background-color: #002e56;
    color           : #ffffff;
    margin          : 0 auto;
}
.green_infra {
    width           : 650px;
    margin-left     : 70px;
    float           : left;
    border-bottom   : solid 1px #ffffff;
    border-right    : solid 1px #ffffff;
}
.green_infra_text {
    padding         : 0px 20px 20px 0px;
    text-align      : left;
    line-height     : 2em;
}
.green_infra_image {
    margin-top      : 50px;
    margin-left     : 80px;
    float           : left;
}
.green_area_title {
    margin          : 0 auto;
    padding-top     : 10px;
    font-size       : 36px;
    font-weight     : bold;
    color           : #005bab;
    letter-spacing  : 5px;
}
.green_info_area {
    width           : 1000px;
    margin          : 0 auto 50px;
    padding         : 50px 0;
}
.green_area_line {
    margin          : 20px auto;
    width           : 140px;
    border-top      : solid 1px #005bab;
}
/***------------------------
沈下修正事業部
------------------------***/
.geomix_top {
    margin          : 0 auto;
    width           : 100%;
    max-width       : 1280px;
    min-width       : 1000px;
    height          : 200px;
    background-image: url(../imgs/geomix_title.gif);
    background-position: center center;
    background-size :cover;
}
.geomix_area {
    width           : 100%;
    min-width       : 1000px;
    padding         : 50px 0;
    background-color: #002e56;
    color           : #ffffff;
    margin          : 0 auto;
}
.geomix_infra {
    width           : 650px;
    margin-left     : 70px;
    float           : left;
    border-bottom   : solid 1px #ffffff;
    border-right    : solid 1px #ffffff;
}
.geomix_infra_text {
    padding         : 0px 20px 20px 0px;
    text-align      : left;
    line-height     : 2em;
}
.geomix_infra_image {
    margin-top      : 10px;
    margin-left     : 80px;
    float           : left;
}
.geomix_info_area {
    width           : 1000px;
    margin          : 0 auto;
    padding         : 50px 0px;;
}
.geomix_area_title {
    margin          : 0 auto;
    font-size       : 36px;
    font-weight     : bold;
    color           : #005bab;
    letter-spacing  : 5px;
}
.geomix_area_line {
    margin          : 20px auto;
    width           : 140px;
    border-top      : solid 1px #005bab;
}
.geomix_title {
    margin          : 30px auto 0;
    width           : 998px;
    height          : 40px;
    background-color: #E5F0F0;
    border-left     : 2px solid #669DCD;
    text-align      : left;
}
.geomix_title p {
    margin-left     : 10px;
    line-height     : 40px;
}
.geomix_line {
    padding         : 15px 0px;
}
.geomix_line img {
    float           : left;
}
.geomix_image {
    width           : 240px;
}
.geomix_space {
    margin-left     : calc(40px / 3);
}
.gaiyo_list {
    text-align      : left;
    width           : 80%;
}
.gaiyo_list_left {
    width           : 15%;
    vertical-align  : top;
    padding-top     : 30px;
}
.gaiyo_list_right {
    width           : 85%;
    padding-top     : 30px;
}
.gaiyo_pict {
    width           : 20%;
    text-align      : right;
    float           : left;
}
.geomix_text {
    color           : #af7120;
    font-weight     : bold;
    font-size       : 16px;
}
.geomix_measure {
    text-align      : left;
    float           : left;
    margin-top      : 30px;
    width           : 504px;
}
.geomix_subtitle1 {
    display         : inline-block;
    margin          : 30px 0 10px;
    height          : 40px;
    line-height     : 40px;
    border-left     : 4px solid #33b495;
    border-bottom   : 1px solid #33b495;
    font-size       : 18px;
    font-weight     : bold;
    color           : #33b495;
    padding         : 0 20px;
    width           : 80px;
}
.geomix_subtitle2 {
    display         : inline-block;
    margin          : 30px 0 10px;
    height          : 40px;
    line-height     : 40px;
    border-left     : 4px solid #af7120;
    border-bottom   : 1px solid #af7120;
    font-size       : 18px;
    font-weight     : bold;
    color           : #af7120;
    padding         : 0 20px;
    width           : 80px;
}
.geomix_measure_img {
    width           : calc(100% - 504px);
    float           : right;
}
.geomix_measure_img img {
    width           : 100%;
    margin-top      : 27px;
    margin-bottom   : 20px;
}
.geomix_line2 {
    padding         : 15px 0;
    display         : flex;
    width           : 100%;
}
.geomix_figure_area {
    display         : flex;
    align-items     : flex-end;
}
.geomix_figure {
    width           : calc(50% - 80);
    padding-left    : 80px
}
.geomix_video {
    width           : 50%;
}
.geomix_video video {
    width           : 80%;
    height          : 45%;
    margin-bottom   : -7px;
    margin-left     : -45px;
}
.geomix_kouji {
    text-align      : left;
}
.geomix_intro {
    width           : calc(1000px / 3);
    margin          : 0 auto;
    float           : left;
}
.geomix_intro p {
    font-weight     : bold;
    font-size       : 16px;
    padding         : 5px 0;
}
.money_list {
    width           : 100%;
}
.money_list_font {
    font-size       : 11px;
}
.money_list table,
.money_list th,
.money_list td {
    border          : 1px #796a56 solid;
}
.money_list th {
    font-weight     : normal;
}
.money_list td {
    padding         : 7px 0;
}
.money_list tr:nth-of-type(2),
.money_list tr:nth-of-type(4) {
    background-color: #f6efe3;
}
/*地盤メニュー*/
.geomix_menu {
    width           : 100%;
    min-width       : 1000px;
    margin          : 0 auto;
    background-color: #005BAB;
}
.geomix_menu ul{
    margin          : 0 auto;
    display         : table;
    table-layout    : fixed;
    min-width       : 850px;
}
.geomix_menu ul li{
    display         : table-cell;
    vertical-align  : middle;
    text-align      : center;
    background-color: #005BAB;
}
.geomix_menu li img {
    border-left     : 1px solid white;
}
.geomix_menu li:last-child img{
    border-right    : 1px solid white;
}
/***------------------------
採用情報
------------------------***/
.recruit_infra_image {
    margin-top      : 24px;
    margin-left     : 100px;
    float           : left;
}
.recruit_top {
    margin          : 0 auto;
    width           : 100%;
    max-width       : 1280px;
    min-width       : 1000px;
    height          : 200px;
    background-image: url(../imgs/recruit_title.gif);
    background-position: center center;
    background-size :cover;
}

.recruit_area {
    width           : 100%;
    min-width       : 1000px;
    padding         : 50px 0;
    background-color: #002e56;
    color           : #ffffff;
}
.recruit_infra {
    width           : 690px;
    margin-left     : 70px;
    float           : left;
    border-bottom   : solid 1px #ffffff;
    border-right    : solid 1px #ffffff;
}

.recruit_infra_text {
    padding         : 20px;
    text-align      : left;
    line-height     : 2em;
}

.recruit_info_area {
    width           : 1000px;
    margin          : 0 auto 50px;
    padding         : 50px 0;
}

.recruit_area_title {
    margin          : 0 auto;
    padding-top     : 10px;
    font-size       : 36px;
    font-weight     : bold;
    color           : #005bab;
    letter-spacing  : 5px;
}
.recruit_area_line {
    margin          : 20px auto;
    width           : 140px;
    border-top      : solid 1px #005bab;
}
.recruit_outline_box{
    width           : 100%;
    max-width       : 470px;
    vertical-align  : top;
}
.recruit_box_title{
    padding-left    : 10px;
    width           : 98%;
    line-height     : 40px;
    height          : 40px;
    background-color: #E5F0F0;
    border-left     : 2px solid #669DCD;
    text-align      : left;
    margin-bottom   : 25px;
}
.recruit_outline {
    text-align      : justify;
}
.recruit_info_area2 {
    width           : 740px;
    margin          : 0 auto;
    padding         : 150px 0 0 0;
    text-align      : center;
}
.recruit_detail {
    width           : 70%;
    text-align      : left;
    margin          : 0 auto 35px;
    border-collapse : collapse;
}
.recruit_detail td {
    padding         : 15px 5px;
    border-top      : 1px solid #adb0b4;
}
.recruit_detail td:first-of-type {
    width           : 15%;
}
.recruit_detail td:nth-of-type(2) {
    width           : 55%;
    border-left     : 1px solid #adb0b4;
    padding-left    : 25px;
}
.recruit_detail td a {
    color           : #000000;
}
