@charset "UTF-8";

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	font-size: .875rem;
}

html {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
}

@media (max-width: 767px) {
	html {font-size: 15px;}
}

/*font-family:'Roboto','Noto Sans JP', "游ゴシック体", "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;*/
/*font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
body {font-family:/*'Roboto',*/'Noto Sans JP', "游ゴシック体", "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;font-size: 14px;font-size: .875rem;font-weight: 400;font-feature-settings: "palt";letter-spacing: .05em;line-height: 1.7;color: #222;word-wrap: break-word;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;-webkit-text-size-adjust: 100%;background-color: #fff;background-image: url("images/common/bg-grey.jpg");background-size: 300px;}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  margin: 0 0 1.5rem;
  font-family: inherit;
  font-weight: 600;
  line-height: 1.5;
  color: #2c3a44;
}


/* 標準テキスト */
.entry__content p,.article-body p,p {text-align: justify;text-justify: inter-ideograph; /* IE用 */margin: 0 0 20px;line-height: 1.8;}
.entry__content p:last-child,.article-body p:last-child {margin: 0 !important;}
.entry__content p.center_left {text-align: left;}

/* リスト */
main ul, main ol, footer ul, footer ol {margin: 0 0 0 22px;}
main ul li, main ol li, footer ul li, footer ol li {margin: 0 0 8px;line-height: 1.4;}
main ul li:last-child, main ol li:last-child, footer ul li:last-child, footer ol li:last-child {margin-bottom: 0;}
ul.reset, ol.reset {margin: 0;padding: 0;list-style: none;}
ul.reset li, ol.reset li {margin-left: 0;padding-left: 0;list-style: none;}
ul.row {margin: 0 -15px;padding: 0;}
ul.row li.col {list-style: none;margin: 0;}

/* dl, dt, dd */
dl {margin: 0;}
dl.type-A dt, dl.type-A dd {border-top: 0;padding: 15px 0;margin: 0;line-height: 1.7;}
dl.type-A dt {font-weight: bold;letter-spacing: 1.0px;padding-bottom: 10px;}
dl.type-A dd {border-bottom: 1px solid #d5d5d5;padding-top: 0;}
dl.type-A dt.first {border-top: 1px solid #d5d5d5;}
dl.type-A dd a {color: #252525;text-decoration: underline;}
dl.type-A dd a:hover {color: #da3200;text-decoration: none;}



img {max-width: 100%;height: auto;vertical-align: middle;}

/* ボタン */
.btn_box {
  max-width: 320px;
  margin: 50px auto 0;
  padding: 15px 35px;
  display: block;
  background-color: #233280;
  border-radius: 0;
  font-size: .875rem;
  font-weight: bold;
  text-align: center;
  text-decoration: none !important;
  color: #FFF !important;
  line-height: 1.3;
  position: relative;
  transition: .2s linear;
  -webkit-transition: .2s linear;
  -moz-transition: .2s linear;
  -o-transition: .2s linear;
  -ms-transition: .2s linear;
}
.btn_box:hover {background-color: #5d71a3;color: #FFF;-webkit-transform: translate(0, 3px);transform: translate(0, 3px);opacity: 1;}
.btn_box.color2 {background-color: #339acd;}
.btn_box.color2:hover {background-color: #78b5d4;}
.btn_box:after {
	content: "\f054";
	display: inline-block;
	font-family: "Font Awesome 5 free";
	font-size: 1.25rem;
	font-weight: normal;
	font-weight: bold;
	line-height: 1;
	opacity: 1;
	color: #fff;
	position: absolute;
	top: 50%;
	right: 11px;
	margin-top: -9px;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.btn_box.blank:after {content: "\f35d";}
.btn_box.btn_s {font-size: .75rem;padding: 10px;}
.btn_box.btn_s:after {font-size: .875rem;margin-top: -7px;}

/*:after, :before {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}
.clearfix:after, .clearfix:before, ul:after, ul:before {display: table;content: " ";}
.clearfix:after, ul:after {clear: both;}*/

:after, :before {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}
.clearfix:after, .clearfix:before {display: table;content: " ";}
.clearfix:after, ul:after {clear: both;}

.sp {display: block !important;}
.tb {display: none !important;}
.pc {display: none !important;}

a, a img {
  outline: none;
  text-decoration: none !important;
  color: #382628;
  transition: .2s linear;
  -webkit-transition: .2s linear;
  -moz-transition: .2s linear;
  -o-transition: .2s linear;
  -ms-transition: .2s linear;
}
a, a:visited {color: #333;text-decoration: underline !important;padding: 0;}
a:hover {opacity: .6;}
a:hover, a:focus, a:visited:hover, a:visited:focus {color: #ff8226;}
a img:hover {opacity: .6;}

/* ページ内リンク先ID */
span.anchor {
  position: relative;
  top: 0;
  left: 0;
}
span.anchor a {
  position: absolute;
  top: -170px;
  left: 0;
}


/* パンくずリスト */
.pankuzu {background-color: #f2f2f2;padding: 6px 0 7px;color: #999;font-weight: 500;/* letter-spacing: .5px; */}
.pankuzu .container {line-height: 1.4;}
.pankuzu span {font-size: .75rem;color: #555;}
.pankuzu a {text-decoration: none !important;color: #555;}
.pankuzu a span {text-decoration: none !important;color: #555;}
.pankuzu a span:hover {color: #233280;text-decoration: underline !important;}
.home .pankuzu {display: none;}

@media screen and (max-width: 575px) {
  .col-xs-6.col-sm:nth-child(2n+1) {clear: left;}
}


@media screen and (min-width: 768px) {
  dl {margin: 0;}
  dl.type-A dt,
  dl.type-A dd {padding: 20px 0;}
  dl.type-A dt {float: left;}
  dl.type-A dd {padding-left: 12em;}
  dl.type-A dt.first {border-top: 0;}
  dl.type-A dd.first {border-top: 1px solid #d5d5d5;}
  dl.type-A dd a {color: #252525;text-decoration: underline;}
  dl.type-A dd a:hover {/* color: #da3200; *//* text-decoration: none; */}

  /*.col-xs-4.col-sm-2 {width: 16.666%;}
  .col-xs-6.col-sm-3 {width: 25%;}
  .col-xs-6.col-sm-4,
  .col-xs-12.col-sm-4 {width: 33.333%;}
  .col-xs-12.col-sm-6 {width: 50%;}
  .col-sm-5 {width: 41.666%;}
  .col-sm-7 {width: 58.333%;}*/

  .sp {display: none !important;}
  .tb {display: block !important;}
  .pc {display: block !important;}

  .entry__content p.center_left {text-align: center;}

  a[href^="tel:"] {pointer-events: none;}
}

@media screen and (min-width: 992px) {
.sp {display: none !important;}
.tb {display: none !important;}
.pc {display: block !important;}
.btn_box.btn_s {font-size: 12px;}
.btn_box.btn_s:after {font-size: 12px;margin-top: -6px;right: 8px;}
}

/* header
   ================================================== */
.header {height: 80px;z-index: 20;}
.header .wrapper {position: relative;width: 100%;height: 80px;}
.header .site_title,
.header .bnr_shallwe_wrap,
.header .tel_wrap,
.header .fb_wrap,
.header .global_nav,
.header .contact_wrap {
display: none;
}
.header .site_title {
  position: absolute;
  display: block;
  top: 16px;
  left: 20px;
}
.header .site_title .header_description {font-size: .75rem;font-weight: 500;margin: 0 0 6px;color: #222;line-height: 1.0;}
.header .site_title .header_title {width: 220px;margin: 0;}
.header .site_title .header_title a {background-image: url("images/common/logo-header.png");display: block;background-position: left top;background-repeat: no-repeat;background-size: auto 34px;text-indent: -9999px;padding: 0;margin: 0;height: 34px;}
.header a, .header a:visited {color: #222;}
.header a:hover, .header a:focus, .header a:visited:hover, .header a:visited:focus {color: #233280;}

@media (min-width: 1200px) {
.header{height:140px}
.header .wrapper{height:100px}
.header .site_title,.header .bnr_shallwe_wrap,.header .tel_wrap,.header .fb_wrap,.header .global_nav,.header .contact_wrap{display:block;position:absolute;top:0}
.header .site_title{top:14px;left:40px;}
.header .site_title .header_description{font-size:.875rem;margin:0 0 10px}
.header .site_title .header_title{max-width: 320px;width: 100%;}
.header .site_title .header_title a{background-size: contain;height: 50px;}
.header .bnr_shallwe_wrap{top: 14px;right:480px;width: 440px;display: flex;gap: 20px;}
.header .bnr_shallwe_wrap__a{}
.header .tel_wrap{top:4px;right:240px;width:214px}
.header .fb_wrap{top:5px;right:170px;width:40px}
.header .global_nav{top:auto;bottom:-20px;right:152px}
.header .contact_wrap{top:-20px;right:0;width:140px;height:140px;background-color:#ccc}
.header .contact_wrap a{display:block;width:140px;height:140px;padding:40px 28px;background-color:#233280}
}

/* nav
   ================================================== */
#nav-toggle {display: inline-block;position: absolute;top: 15px;right: 20px;z-index: 1000;}
nav.main-nav.global_nav_sp {width: 100%;height: auto;border-bottom: 2px solid #222;border-right: none;background: #233380;padding: 15px 0;top: -150%;left: 0;z-index: 90;}
nav.main-nav.global_nav_sp.show-nav {top: 80px;left: 0;height: calc(100vh - 80px);overflow-y: scroll;}
.global_nav.pc_nav {display: none;}
.main-nav.global_nav_sp {
width: 220px;
position: fixed;
top: 0;
left: -220px;
height: 100%;
border-right: 2px solid #222;
-moz-transition: left 0.5s ease, top 0.5s ease;
-o-transition: left 0.5s ease, top 0.5s ease;
-webkit-transition: left 0.5s ease, top 0.5s ease;
transition: left 0.5s ease, top 0.5s ease;
}
.main-nav.global_nav_sp ul {list-style: none;padding: 0;margin: 0 15px;}
.main-nav.global_nav_sp li {text-align: center;font-size: 1.2em;font-weight: 700;}
.main-nav.global_nav_sp li {border-bottom: 1px solid #fff;text-align: left;list-style-type: none;margin: 0;padding: 0;border: 0;margin-bottom: 4px;}
.main-nav.global_nav_sp li.contact, .main-nav.global_nav_sp li.privacy {display: none;}
.main-nav.global_nav_sp li:last-child {border: 0;padding-right: 0;} 
.main-nav.global_nav_sp li a {position: relative;display: block;background-color: #fff;padding: 10px 25px;color: #222;font-size: 1.125rem;text-decoration: none !important;border-radius: 4px;}
.main-nav.global_nav_sp li a:hover {background-color: #999;}
.main-nav.global_nav_sp li a:after {content: "\f054";display: inline-block;font-family: "Font Awesome 5 free";font-size: 20px;font-weight: 600;line-height: 1;opacity: 1;color: #222;position: absolute;top: 50%;right: 25px;margin-top: -10px;text-rendering: auto;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}
.menu-icon{display:block;position:relative;width:40px;height:40px;border:2px solid #233280;-moz-border-radius:50%}
.menu-icon span{width:22px;display:block;height:2px;background:#233280;position:absolute;left:7px;-moz-transition:-moz-transform .33s ease-out,width .2s linear;-o-transition:-o-transform .33s ease-out,width .2s linear;-webkit-transition:-webkit-transform .33s ease-out,width .2s linear;transition:transform .33s ease-out,width .2s linear}
.menu-icon .top{top:11px}
.content-shrink .menu-icon .top{top:17px;-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);transform:rotate(45deg)}
.menu-icon .mid{top:17px}
.content-shrink .menu-icon .mid{display:none}
.menu-icon .bot{top:23px}
.content-shrink .menu-icon .bot{top:17px;-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}
.main-nav.global_nav_sp .sub_nav {margin: 40px;}
.main-nav.global_nav_sp .sub_nav div {margin-bottom: 15px;}
.main-nav.global_nav_sp .sub_nav div:last-child {margin-bottom: 0;}
.main-nav.global_nav_sp .sub_nav div a {display: block;}
.main-nav.global_nav_sp .sub_nav .tel a {padding: 0 40px;}
.main-nav.global_nav_sp .sub_nav .contact {margin: 20px 0}
.main-nav.global_nav_sp .sub_nav .contact a {border: 1px solid #fff;padding: 10px 40px;}
@media (min-width: 1200px) {
.main-nav.global_nav_sp,#nav-toggle {display: none;}
.global_nav.pc_nav {display: block;}
.global_nav ul {font-size: 0;margin: 0;}
.global_nav ul li a {color: #222;margin: 0;padding: 0;text-decoration: none !important;}
.global_nav ul .home,.global_nav ul .contact,.global_nav ul .privacy {display: none;}
.header .global_nav ul .home,.header .global_nav ul .contact,.header .global_nav ul .privacy {display: none;}
.global_nav ul .company {border: 0;padding-right: 0;}
}

/* nav-global_pc 01
================================================== */
nav.pc_nav.stroke ul.main{list-style:none;text-align:center}
nav.pc_nav.stroke ul.main > li{display:inline-block;border:0;padding:0;font-size:.9175rem;font-weight:500;letter-spacing:.5px}
nav.pc_nav.stroke ul.main > li a{display:block;padding: 16px 8px;text-decoration:none;color:#222;font-weight: 500;text-transform:uppercase;text-transform:none;margin:0 10px}
nav.pc_nav.stroke ul.main > li a,nav.pc_nav.stroke ul.main > li a:after,nav.pc_nav.stroke ul.main > li a:before{transition:all .5s}
nav.pc_nav.stroke ul.main > li a:hover{color:#233280;opacity:1}
nav.stroke ul.main > li a{position:relative}
nav.stroke ul.main > li a:after{position:absolute;bottom:0;left:0;right:0;margin:auto;width:0;content:".";color:transparent;background:#233280;height:1px}
nav.stroke ul.main > li a:hover:after{width:100%}
nav.stroke .drop{min-width:150px;position:absolute;margin-left:-20px;background:#233280;z-index:100;transition:.5s padding,.5s background}
nav.stroke .business .drop{}
nav.stroke .construction .drop{margin-left:-20px}
nav.stroke .award .drop{margin-left:-4px}
nav.stroke .quality .drop{margin-left:-38px}
nav.stroke .company .drop{margin-left:-20px}
nav.stroke ul li:not(:hover) > .drop{padding:0;background:#233280;z-index:99}
nav.stroke .drop > * {
overflow: hidden;
height: 42px;
padding: 10px 10px;
background: rgba(0, 0, 0, 0);
white-space: nowrap;
transition: 0.5s height cubic-bezier(0.73, 0.32, 0.34, 1.5), 0.5s padding cubic-bezier(0.73, 0.32, 0.34, 1.5), 0.5s margin cubic-bezier(0.73, 0.32, 0.34, 1.5), 0.5s 0.2s color, 0.2s background-color;
}
nav.stroke .drop > *:hover {background: #17235f;}
nav.stroke ul li:not(:hover) > .drop > * {
  visibility: hidden;
  height: 0;
  padding-top: 0;
  padding-bottom: 0;
  margin: 0;
  color: rgba(25, 25, 25, 0);
  transition: 0.5s 0.1s height, 0.5s 0.1s padding, 0.5s 0.1s margin, 0.3s color, 0.6s visibility;
  z-index: 99;
}
nav.stroke .drop li a {padding: 0 !important;color: #fff !important;}
nav.stroke .drop li a:after {height: 0 !important;}

/* Footer
   ================================================== */
.footer {margin: 0;padding: 0;background-color: #000;}
.footer section {padding: 40px 0;}
.footer section .container {color: #333;}

/*contact*/
.footer section.contact {background-color: #233280;}
.footer section.contact h2 {font-size: 2.0rem;font-weight: 600;color: #fff;margin: 0 0 20px;}
.footer section.contact .lead {font-size: 1.0rem;color: #fff;text-align: center;margin-bottom: 30px;}
.footer .contact .inner {max-width: 690px;margin: auto;}
.footer .contact .row a {display: block;max-width: 280px;padding: 20px 40px;border: 1px solid #fff;margin: auto;}
.footer .contact .row .contact a {margin-top: 20px;}

/*nav*/
.footer section.nav {background-color: #e5e5e5;padding: 0;}
.footer section.nav .container {padding: 0;}
.footer .global_nav ul {font-size: 0;margin: 0;padding: 0;}
.footer .global_nav ul li {border-bottom: 1px solid #ddd;text-align: left;list-style-type: none;margin: 0;padding: 0;}
.footer .global_nav ul li:last-child {border: 0;padding-right: 0;} 
.footer .global_nav ul li a {position: relative;display: block;background-color: #444;padding: 15px 25px;color: #fff;font-size: 1.0rem;text-decoration: none !important;}
.footer .global_nav ul li a:hover {background-color: #999;}
.footer .global_nav ul li a:after {content: "\f054";display: inline-block;font-family: "Font Awesome 5 free";font-size: 20px;font-weight: 600;line-height: 1;opacity: 1;color: #fff;position: absolute;top: 50%;right: 25px;margin-top: -10px;text-rendering: auto;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}
.footer .global_nav .sub-menu {display: none;}

/*info*/
.footer section.info{background-color:#f5f5f5;padding-bottom:20px}
.footer__info-wrap{display: flex;flex-flow: column;gap: 40px;}
.footer__info-wrap__bnr{
  
}
.footer__info-wrap__info{
}
.footer .info .bnr_box{/* margin-bottom:40px; */}
.footer .info .bnr_box .row_bnr{margin-bottom:15px}
.footer .info .bnr_box .row_bnr .col a{display:block;max-width:240px;margin:auto;padding: 8px 0;}
.footer .info .bnr_box .row_icon{width:80%;margin:auto}
.footer .info .bnr_box .row_icon .col{padding:5px}
.footer .info .info_box p{text-align:center;margin:0}
.footer .info .info_box .logo{margin:auto;width:70%;margin-top:15px}
.copyright{padding-top:40px;font-family:Verdana,Geneva,"sans-serif"}
@media screen and (min-width: 768px) {
  .footer__info-wrap{
  
  }
  .footer__info-wrap__bnr{
    
  }
  .footer__info-wrap__info{
  }
  }
@media screen and (min-width: 992px) {
.footer{padding:0;background-image:url(images/common/header-bg.jpg);background-repeat:repeat!important;background-position:center!important;background-size:170px!important;background-color:#fff}
.footer section{padding:60px 0}
.footer .contact .inner{max-width:690px;margin:auto}
.footer .contact .row a{max-width:330px;padding:20px 60px}
.footer .contact .row .contact a{margin:0}
.footer .nav{padding:40px 0!important}
.footer .global_nav ul{font-size:0}
.footer .global_nav ul li{display:inline-block;padding:0 16px;margin:0;border-right:1px solid #222;font-weight:500;list-style:none;border-bottom:0}
.footer .global_nav ul li a{color:#222;margin:0;padding:0;background-color:transparent;font-size:13px}
.footer .global_nav ul li:last-child{border:0;padding-right:0}
.footer .global_nav ul li a:after{content:""}
.footer .global_nav ul li a:hover{background-color:transparent;color:#999;opacity:1}
.footer section.info{background-color:#f5f5f5;padding-bottom:30px}
.footer__info-wrap{flex-flow: row-reverse;align-items: center;justify-content: space-between;}
.footer__info-wrap__bnr{
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: end;
  gap: 28px;
}
.footer__info-wrap__info{width: 330px;}
.footer .info .bnr_box{/* margin:5px 0 0; *//* float:right; *//* width:650px; *//* position:relative; */}
.footer .info .bnr_box .row_bnr{/* position:absolute; */margin:0;/* top:13px; *//* left:40px; */}
.footer .info .bnr_box .row_bnr .col{padding:0}
.footer .info .bnr_box .row_icon{/* position:absolute; *//* top:2px; *//* right:0; */width:340px;margin:0;}
.footer .info .bnr_box .row_icon .col{max-width:90px;padding:0}
.footer .info .info_box{/* float:left; */}
.footer .info .info_box p{text-align:left;margin:0}
.footer .info .info_box .logo{margin:0;width:250px;margin-top:15px}
}