/*
Theme Name: 国土建設株式会社
Description:国土建設株式会社
Theme URI:
Author: roks
Author URI: http://roks.jp/
Version: 0.1
License:
License URI:
*/

html{ scroll-behavior: smooth;  overflow: auto;}

body{
	margin:0;
	padding:0;
	min-width:320px;
	width:100%;
	height:100%;
	color:#1a1a1a !important;
	top:0;
 overflow: hidden;
 line-height:180%;
 font-size:16px;
 font-family: 'Kosugi Maru', sans-serif;
}

*{
 -webkit-box-sizing: border-box;
 box-sizing: border-box;	margin: 0;
	padding: 0;
}

#wrapper{ width: 100%;}
.clearfix {
	*zoom: 1;
	clear:both;
	height:1px;
}

a{
	outline:none !important;
	-webkit-transition: background 0.3s ease-in-out;
    transition: background 0.3s ease-in-out;
}
a img, a:link img, a:visited img{outline:none !important;}
a:hover img{
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
 outline:none !important;
}
a:link, a:visited{
	text-decoration:none;
	outline:none !important;
	color:#555555;
}
a:hover, a:active{
	text-decoration:none;
	outline:none !important;
	color:#2a738b;
}
a:focus{
	text-decoration:none !important;
	outline:none;
	color:#2a738b;
}
.container{max-width:1300px !important;}

.no-gutters {
  margin-right: 0;
  margin-left: 0;
 
  > .col,
  > [class*="col-"] {
    padding-right: 0;
    padding-left: 0;
  }
}


.sp{ display:none; }
@media screen and (max-width: 1000px) {
.pc{ display:none; }
.sp{ display:block; }
}


.no-gutter > [class*='col-'] {
    padding-right:0;
    padding-left:0;
}
body.row { margin-left: 0;  margin-right: 0; }
img { image-rendering: -webkit-optimize-contrast;}

header.fixed {
    position: fixed;
    top: 0;
    padding: 0;
    width: 100%;
    z-index: 400;
}

/* ================ header ================== */
header{ max-width:100%;height:80px;}
.site-header{
  justify-content: space-between;
	transition: .5s;
	width: 100%;
  z-index:400;
  margin:0 auto;
  background:#fff url(images/menu_bg.jpg) no-repeat left;
  height:80px;
  box-shadow: 0px 5px 16px -8px rgba(0,0,0,0.6);
  }
p.sitecopy{
  position:fixed;
  left: 30px;
  top: 0;
  font-size:12px;
  z-index: 500;
}
.sitelogo h1 img{
  position: fixed;
  left: 35px;
  top: 25px;
  padding: 0;
  width:auto;
  height: 37px;
  z-index: 500;
}
img.main_catch{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}


@media screen and (max-width: 1000px) {
.site-header{display:none;}
.site-header-sp{
 position:fixed;
 max-width:100%;
 height:50px;
 justify-content: space-between;
 transition: .5s;
 width: 100%;
 margin:0 auto;
 background-color:rgba(255,255,255,0.95);
 box-shadow: 0px 5px 16px -8px rgba(0,0,0,0.6);
 z-index:50;
 padding-top:6px;
}
.navbar-brand img{width:auto; height:25px; padding-left:10px;}
.sitelogo{display: none;}
.sitecopy{display: none;}

img.main_catch{width:70%; margin-top:130px;}
  
}

@media screen and (max-width: 770px) {
}

/* adds some margin below the link sets  */
.navbar .dropdown-menu div[class*="col"] { margin-bottom:1rem;}
.navbar .dropdown-menu {
 border:none;
 margin-top:15px;
 padding:30px;
 background-color:rgba(226,238,245,0.95)!important;
}
.navbar-nav{padding:0 0 0 15%; }
.navbar-nav li{ font-family: 'Kanit', sans-serif; text-align:center; padding:0 2%;}
.navbar-nav li span{ display:block; font-size:12px; font-weight:100; line-height:140%;}

.navbar-light .navbar-nav ul.nav li a,.navbar-light .navbar-nav .nav-link{color:#000; font-weight:600; padding:3px;}
.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav ul.nav li a:hover,.navbar-light .navbar-nav .nav-link:hover{color:#000; pointer-events: fill; width:100%;}
ul.nav{display:flex; width:100%;}
ul.nav li{
 width:33%;
 font-size:16px;
}
ul.sub_link li{width:100%;}

.menu_btn a{
 color:#355365;
 display:block;
 border:solid 1px #355365;
 background:#fff;
 padding:2px 5px 2px 15px !important;
 width:90%;
 margin:20px 0;
 font-size:15px;
}
.menu_btn a:hover{
 background:#eaf6fc;
}
.menu_btn a::after { content:"\25b6"; padding-left:4%; font-size:9px; vertical-align:middle;}
.navbar {
 padding-top:0px;
 padding-bottom:0px;
}
.navbar .nav-item {
 padding:24px 1rem;
 margin:0;
 height:80px;
}
.navbar .nav-item:hover{background:#ccc;}

.navbar .dropdown {position:static;}
.navbar .dropdown-menu {
 width:100%;
 left:0;
 right:0;
 top:45px;
 display:block;
 visibility: hidden;
 opacity: 0;
 transition: visibility 0s, opacity 0.3s linear;
}
.navbar .dropdown:hover .dropdown-menu, .navbar .dropdown .dropdown-menu:hover {
 display:block;
 visibility: visible;
 opacity: 1;
 transition: visibility 0s, opacity 0.3s linear;
}
.navbar .dropdown-menu {
 border: none;
 background-color: #fff;
}

@media screen and (max-width: 1400px) {
.navbar-nav{padding:0 0 0 10%; }
.navbar .nav-item { margin:0 .10rem;}
.navbar-light .navbar-nav ul.nav li a, .navbar-light .navbar-nav .nav-link{font-size:14px;}
}
@media screen and (max-width: 1200px) {
.navbar-nav{padding:0 0 0 8%; }
.navbar .nav-item { margin:0; padding: .8rem 0.5rem;}
}


/*スマホメニュー*/
.drawer-hamburger,
.drawer-hamburger:hover{
	background: rgba(255,255,255,0) !important;
}
.drawer-menu li p{
 border-bottom:dashed 1px #ccc;
 padding:3px 7.5px 10px;
 margin:0;
}
.drawer-menu-item,.drawer-menu-item-u{  border-bottom:dotted 1px #355365 !important; padding:5px 10px; font-size:16px;}
a.drawer-menu-item,a.drawer-menu-item-u{	color:#444; }
.uline{border-bottom:dotted 1px #539c33;}
.drawer-menu-item-u{ padding:3px 10px; display:block;}
a.drawer-menu-item-u::before {  content: url(images/menu_line.png) ; padding:0 5px 0 15px;}

ul.drawer-menu-inner{
	margin:0 !important;
	padding:0 !important;
}
.drawer-menu-item:hover,.drawer-menu-item-u:hover{
  text-decoration:none;
  background-color:#e5f3fc;
}
.drawer-hamburger-icon, .drawer-hamburger-icon::after, .drawer-hamburger-icon::before{
  background-color: #453333 !important;
}
.transform .drawer-hamburger-icon, .transform .drawer-hamburger-icon::after, .transform .drawer-hamburger-icon::before,
 .drawer-hamburger-icon, .under-header .drawer-hamburger-icon::after, .under-header .drawer-hamburger-icon::before{
  background-color: #453333 !important;
}
.drawer-open .site-header.transform .drawer-hamburger-icon{background-color: #fff !important;}
.drawer-open .drawer-hamburger-icon{ 
  background-color: rgba(255,255,255,0) !important;
 }
ul.drawer-menu-inner li a{
 display:block;
	margin:0 !important;
	padding:7px 0 8px !important;
	list-style:none !important;
	text-indent:1.2em;
	color:#2774cb;
}
ul.drawer-menu-inner li a::before {
	content:"\002d\00a0"; 
	padding-right:5px !important;
}
.drawer--right .drawer-hamburger{right:10px;}
.drawer--right.drawer-open .drawer-hamburger{right: 20.50rem!important;}
button:focus { outline:none;}
.drawer-toggle{ z-index:100;}
.cdp-copy-alert-success{display:none!important;}
/*スマホメニューオープン時*/
.drawer-open .drawer-nav{
	background-color:#fff !important;
	border-left:none !important;
 height:100%;
 z-index:1000;
 overflow:scroll;
 width: 20.50rem!important;
}
.drawer-open .drawer-hamburger-icon:after,
.drawer-open .drawer-hamburger-icon:before{
	background-color:#453333 !important;
}
.drawer-menu{margin-top:50px;}
.drawer-dropdown{display:block;clear: both;}
.drawer-dropdown-menu li{padding-left:0 !important;}

.drawer-open .drawer-hamburger{
	background-color:#fff !important;
 z-index:50;
}
.drawer-dropdown-menu{  z-index:1200 !important;}
.drawer-dropdown-menu-item{	
 z-index:2200 !important;
 color:#444 !important;
 background:#f3f9fc;
 border-bottom:dotted 1px #355365 !important;
 line-height:200%;
 padding-left:10px !important;
}
.drawer-dropdown-menu-item:hover{
 text-decoration:none;}
.drawer-overlay{
	position:fixed;
	z-index:1;
	top:0;
	left:0;
	display:none;
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,.5) !important;
}
@media(max-width:770px) {
 .drawer-hamburger{padding: 15px .75rem 25px;}

/*メニューオープン時背景無効*/
.fixed{
  position: fixed;
  width: 100%;
  height: 100%;
}
.fixed .logo a,
.fixed #breadcrumbs a{
  z-index:0;
  pointer-events: none;
}
}

/* ================ main ================== */
.main_visual{
 position:relative;
 padding-top:0;
 background:#fff url(images/main_01.jpg) no-repeat center / cover;
 height:740px;
}

@media(max-width:600px) {
.main_visual{
 height:500px;
}
}

/*TOP*/

.more_link a{
 display:inline-block;
 border:solid 3px #000;
 color:#000;
 font-size:24px;
 font-weight:600;
 text-align:center;
 padding:13px 30px 11px;
 margin:30px 0 0;
 background: #fff;
}
.more_link a:hover{
 background:#d9e1e9
}

@media screen and (max-width: 770px) {
.more_link a{ font-size:18px; padding:8px 30px 6px; margin:20px 0 50px;}
}


/*about*/
section.about .about_bg{
  background:url(images/about_bg.jpg) center/cover ;
  height: 100%;
  padding:85px;
}

section.about h2{
 font-size:60px;
 font-weight:600;
 margin-bottom:30px;
}
section.about .catch{
 font-size:36px;
 margin-bottom:30px;
 font-weight:600;
  line-height: 140%;
}
section.about p{font-size:18px; line-height:180%;font-weight: 600;color:#333;}

@media screen and (max-width: 1100px) {
section.about .about_bg{
  background:url(images/about_bg.jpg) center/cover ;
  height: 100%;
  padding:40px;
}
.about .container{
  padding-right: var(--bs-gutter-x, .0);
  padding-left: var(--bs-gutter-x, .0);
}
section.about h2{ font-size:50px;}  
}

@media screen and (max-width: 770px) {
section.about h2{ font-size:40px; margin-bottom:20px;}  
section.about .catch{
 font-size:26px;
 margin-bottom:30px;
}
  section.about p{font-size:16px;}
}



/*business*/
section.business{ padding:100px 0; text-align: center; margin:0 auto;} 
section.business img{ width:100%; height:auto;}
section.business h2{
 font-size:52px;
 font-weight:600;
 margin-bottom:30px;
 text-align: center;
}
section.business p{font-size:14px; line-height: 140%;}
section.business .catch{
 margin-bottom:50px;
 font-weight:600;
 line-height: 140%;
 text-align: center;
  font-size:16px;
}

section.business h3{
 font-size:18px;
 font-weight:600;
 padding:20px 0;
}
section.business .busbox{padding:0 50px;}


@media screen and (max-width: 770px) {
section.business{ padding:50px 0;} 
section.business h2{font-size:38px;} 
}


/*history*/
section.history{
 padding:75px 0;
 background:#e5e6e6;
 text-align:center;
}
section.history h2{
 font-size:52px;
 font-weight:600;
 margin-bottom:30px;
 text-align: center;
}
section.history h3{
  border-left: solid 10px #02366b;
  font-size:22px;
  text-align: left;
  padding-left:10px;
  margin:10px 0 20px;
}

.history table{border:solid 3px #000; background: #fff; font-size:16px;}
.history table th{padding:5px 10px; background: #02366b; color:#fff; border:none; text-align: left;}
.history table th:nth-child(2){width:24%}
.history table th:nth-child(3),.history table th:nth-child(4){width:33%}
.history table td{padding:5px 10px; border:none; text-align: left;}
.table-striped>tbody>tr:nth-of-type(odd){background:#d9e1e9; }

@media screen and (max-width: 770px) {
section.history{ padding:50px 0;}
section.history h2{font-size:38px;}
.history table th:nth-child(2),.history table th:nth-child(3),.history table th:nth-child(4){width:100%}
.history table th,.history table td{padding:5px; border-bottom:none; line-height: 140%; display: block; width:100%;}
}



/* ================ 下層 ================== */
.under-head{
 position:fixed;
 padding-top:0;
 z-index: 500;
}
#under{ margin:0 0 50px;}

ul#breadcrumbs{
 display:block;
 clear:both;
  padding:10px 0 50px;
}
ul#breadcrumbs li{
 float:left;
 font-size:14px;
 list-style:none;
  line-height: 140%;
}
ul#breadcrumbs li:not(:first-child)::before { content:"\003e"; padding:0 5px;}
#under .under_ttl{
  padding:20px 40px 30px;
  background:#efefef;
  margin-bottom:10px;
}

#under h2{
 font-size:50px;
 font-weight:600;
 margin:20px 0 60px;
 text-align: center;
}

#under .catch{
 margin-bottom:30px;
 font-weight:600;
 line-height: 140%;
 font-size:16px;
}

.contents_box{
  display: block;
  background: #efefef;
  padding:75px 30px 40px;
  margin:30px 0;
}

.contents_box h3{
  text-align: center;
  font-size:36px;
  font-weight: 600;
  margin:0 0 75px;
}
.contents_box h3 span{ border-bottom:solid 12px #02366b;}
.contents_box img{width:100%; height: auto; padding-bottom:20px;}
.contents_box ul.dot{padding-bottom:30px;}
.contents_box ul.dot li{text-indent: -1.2em; padding-left:1em;font-size:16px;}
.contents_box ul.dot li::before { content:"\30fb"; padding-right:5px;}
.contents_box p{font-size:16px; line-height: 160%;}
.contents_box h4{
  font-size:16px;
  font-weight: 600;
  padding:0 0 10px;
}
.contents_box p.memo{font-size:14px; line-height: 170%; padding-bottom:20px;}

@media(max-width:1000px) {
#under h2{
 font-size:42px;
 margin:30px 0 50px;
}
.contents_box h3{ font-size:28px;  margin:0 0 55px;}
.contents_box h3 span{ border-bottom:solid 8px #02366b;}
}
@media(max-width:770px) {
#under h2{
 font-size:36px;
 margin:10px 0 30px;
}
.contents_box{
  padding:45px 20px 20px;
  margin:20px 0;
}
.contents_box h3{ font-size:24px;  margin:0 0 55px;}
}



/*business*/
#under .link_box{
  background: #d9e1e9;
  padding:40px 60px;
  margin-bottom:20px;
}
#under .link_box ul{display: flex; margin:0 auto;text-align: center;}
#under .link_box ul li{width:33%;}
#under .link_box ul li a{
  display: block;
  border:solid 3px #000;
  color:#000;
  font-weight: 600;
  font-size:20px;
  padding:10px;
  width:100%;
  background: #fff;
}



@media(max-width:1000px) {
#under{ margin:50px 0 50px;}
#under .link_box{ padding:30px 0;}
#under .link_box ul li a{
  font-size:16px;
  padding:5px;
}
  
}
@media(max-width:770px) {
#under .link_box{ padding:30px 0;}
#under .link_box ul{display: block; margin:0 auto;text-align: center;}
#under .link_box ul li{width:100%; margin:5px 0;}
}


/*会社概要*/

table.company-tbl{ width:100%; margin:0 0 50px; font-size:14px;}
table.company-tbl th{
	padding:5px;
	text-align:left;
	vertical-align:top;
 width:120px;
 font-weight:100;
 border-bottom:dashed 1px #ccc;
}

table.company-tbl td{
	padding:5px;
	text-align:left;
	vertical-align:top;
 border-bottom:dashed 1px #ccc;
}

table.intbl th,table.intbl td{
 border-bottom:none;
 padding:0;
}


@media (max-width: 768px) {
  table.company-tbl th,table.company-tbl td{display: block; width: 100%;}
  table.company-tbl th{border-bottom:none; font-weight: 600;}
  table.intbl th,table.intbl td{display: inline; width:100px; padding-right:10px;font-weight: 100;}
}

/*工事経歴書*/
#under .history h3{
  border-left: solid 10px #02366b;
  font-size:22px;
  text-align: left;
  padding-left:10px;
  margin:10px 0 20px;
}
#under .history table{margin-bottom:50px; }

/*アンカー*/
#about{
	position: relative;
	top: -50px;
	display: block;
}
#kaitai,#setsudan,#waterjet{
	position: relative;
	top: -200px;
	display: block;
}
@media (max-width: 768px) {
#kaitai,#setsudan,#waterjet{
	position: relative;
	top: -100px;
	display: block;
}
}

/* ================ footer ================== */
#footer {
 clear:both;
 width:100%;
 height:100%;
 display:block;
 margin:0 auto;
 background:#02366b;
 color:#fff;
 padding:30px 0 10px;
 font-size:14px;
 line-height:150%;
 text-align:left;
}

#footer .f_logo{background: #fff; padding:15px;margin-bottom: 20px; width:100%; height: auto;}
#footer p{padding-bottom:1em;}
.copy-right{
 color:#fff;
 font-size:12px;
 text-align: right;
 font-family: 'Kanit', sans-serif;
}

#footer h3 a{display:block; color:#fff; font-size:14px; border-bottom:1px solid #fff; margin:30px 40px 10px 0; padding-bottom:5px;}

#footer ul.f_menu{
 display:flex;
 float: right;
}
#footer ul.f_menu li a{ color:#fff; font-size:14px;}
#footer ul.f_menu li a:hover{text-decoration: underline;}
#footer ul.f_menu li::after { content:"\007c"; padding:0 30px;}
#footer ul.f_menu li:last-child::after { content:""; padding:0;}

#footer a{color:#fff;}

@media (max-width: 770px) {
#footer ul.f_menu{
 display:block;
 font-size:20px;
 float: none;
 margin:30px 0;
}
#footer ul.f_menu li a{ display: block;font-size:16px; padding:10px 0;}
#footer ul.f_menu li a:hover{ background: #11477d;}
#footer ul.f_menu li{border-top:dotted 1px #415b76; text-align: center;}
  #footer ul.f_menu li:last-child{border-bottom:dotted 1px #415b76;}
#footer ul.f_menu li::after { content:""; padding:0;}
#footer .f_logo{width:60%; height: auto; margin: 0 auto; text-align: center;}
}




#page_top{
  width: 45px;
  height: 45px;
  position: fixed;
  right: 10px;
  bottom: 0;
 /* opacity: 0.6;*/
 z-index:10;
}
#page_top a{
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  bottom:10px;
  background: url("images/top.png") no-repeat;
  background-size:100%;
}



@media(max-width:450px) {


}

