@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 {
  border: 0;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}

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

body {
  position: relative;
  color: #262626;
  font-family: "Roboto", "Noto Sans JP", "MS Pゴシック", sans-serif;
  font-optical-sizing: auto;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.8;
  text-size-adjust: 100%;
  letter-spacing: .05em;
  overflow-wrap: break-word;
  word-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%; /* Safari */
  -webkit-print-color-adjust: exact;
  background-color: #fff;
}

@media (min-width: 768px) {
}

@media (min-width: 992px) {
  html {font-size: 16px;}
  body {font-size: 16px;padding: 0 !important;}
}

.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;
}
h2,.h2 {font-weight: 600;}
h3,.h3 {font-size: 17px;font-weight: 600;margin: 40px 0 20px;}


/* 標準テキスト */
p,.txt {text-align: justify;text-justify: inter-ideograph; /* IE用 */margin: 20px 0;line-height: 1.8;}
p:first-child,.txt:first-child {margin-top: 0 !important;}
p:last-child,.txt:last-child {margin-bottom: 0 !important;}
.white{color: #fff !important}

/* リスト */
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 14px;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;}
ul.com,ol.com {margin: 0;padding: 0 0 0 20px;}
ul.com li,ol.com li {margin: 8px 0 0;line-height: 1.5;}
ul.com li:first-child,ol.com li:first-child {margin: 0;}

/* dl, dt, dd */
dl {margin: 0;}
dl.type-A {display: flex;margin: 0;flex-wrap: wrap;padding: 0;width: 100%;border-top: 1px solid #ddd;}
dl.type-A dd+dt {border-top: 0px;}
dl.type-A dt, dl.type-A dd {padding: 25px 5px;margin: 0;}
dl.type-A dt {font-weight: bold;letter-spacing: 1.0px;padding-bottom: 0;min-width: 100%;max-width: 100%;border-top: 1px solid #ddd;margin-right: 0;display: flex;flex-wrap: wrap;align-items: start;}
dl.type-A dt span {}
dl.type-A dd {border-bottom: 1px solid #ccc;padding-top: 10px;min-width: 100%;flex-basis: 100%;max-width: 100%;display: flex;flex-wrap: wrap;align-items: start;}
dl.type-A dt:first-child {border-top: none}
dl.type-A dd:last-child {}
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;}

/* Links */
a {color: #6b68b8;text-decoration: none;padding: 0;background-color: transparent;text-decoration-skip-ink: none;}
a:hover {color: #6b68b8;text-decoration: underline !important;opacity: .6;}
a, a img {
outline: none;
transition: .2s linear;
-webkit-transition: .2s linear;
-moz-transition: .2s linear;
-o-transition: .2s linear;
-ms-transition: .2s linear;
}
.wp-block-latest-posts__post-title,.wp-block-latest-posts__post-title:hover{color: inherit;}

.widget a,.widget a:hover, .widget a:visited,.widget a:focus {
  color: inherit;
}



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

/* ボタン */
.btn_box {
  width: 280px;
  margin: 0 auto;
  padding: 16px;
  display: block;
  background-color: #fff;
  background-color: #142474;
  border: 1px solid #142474;
  border-radius: 40px;
  font-size: 14px;
  font-weight: 500;
  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::after {
	content: "\f061";
	display: inline-block;
	font-family: "Font Awesome 5 free";
	font-size: 14px;
	font-weight: normal;
	font-weight: bold;
	line-height: 1;
	opacity: 1;
	color: #fff;
	position: absolute;
	top: 50%;
	right: 14px;
	margin-top: -7px;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-o-font-smoothing: antialiased;
	-ms-font-smoothing: antialiased;
} 
.btn_box.icon-down::after {
	content: "\f078";
} 
.btn_box.btn-tel{
    width: 270px;
    margin: 0;
}
.btn_box.btn-tel img{
    width: 170px;
}
.btn_box.btn-tel::after{display: none;}
.btn_box.btn-contact{
    margin-top: 20px;
}
.btn_box.btn-contact img{
    width: 170px;
}
.btn_box:hover,.btn_box.white:hover {background-color: #6b68b8;border-color: #142474;color: #fff !important;-webkit-transform: translate(0, 3px);transform: translate(0, 3px);opacity: 1;text-decoration: none !important;}
.btn_box:hover::after {color: #fff;}
.btn_box.white {border: 1px solid #fff;background-color: #fff;color: #142476 !important;}
.btn_box.white::after {content: "\f061";color: #142476;}
.btn_box.white:hover {}

.btn_box.green {border: 1px solid #0f9926;background-color: #0f9926;color: #fff !important;}
.btn_box.greene::after {content: "\f061";color: #fff;}
.btn_box.green:hover {border: 1px solid #fff;background-color: #69b876;border-color: #0f9926;}

.btn_box.blank:after {content: "\f35d";}
.btn_box.btn_s {width: 180px;font-size: .75rem;padding: 10px;}
.btn_box.btn_s:after {font-size: .875rem;margin-top: -7px;}

.btn_box.btn_s {
}
.btn_box.outline {border: 1px solid #252525;background-color: #fff;color: #252525 !important;}
.btn_box.outline::after {color: #252525;}
.btn_box.outline:hover {background-color: #eae259;}

.fasm {position: relative;}
.fasm:before {
    display: inline-block;
    font-family: "Font Awesome 5 free";
    font-weight: bold;
    line-height: 1;
    opacity: 1;
    position: absolute;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.phone_call {
		/* display: inline-block; */
		/* font-family: 'Noto Serif JP', serif; */
		/* font-weight: 600; */
		/* font-size: 1.25rem; */
		/* position: relative; */
		/* padding-left: 35px; */
		/* text-align: center; */
		/* letter-spacing: 1px; */
}
/*.phone_call:before {
    content: "\f879";
    font-size: 1.75rem;
    top: 48%;
    left: 0;
    margin-top: -11px;
}*/
.phone_call a {color: #273f52 !important;text-decoration: none !important;margin: 0;padding: 0;}
/*: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;}
.sp.tb {display: block !important;}

.row {margin-top: -30px;margin-right: -10px;margin-left: -10px;}
.row .col {padding-top: 30px;padding-right: 10px;padding-left: 10px;}

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

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

@media (min-width: 768px) {
  h3,.h3 {font-size: 18px;}
	ul.com {
	}
	ul.com li {
	}
	ul.com li:first-child {
	}
  dl {margin: 0;}
	dl.type-A {}
	dl.type-A dd+dt {border-top: 0px;}
	dl.type-A dt, dl.type-A dd {padding: 30px 0;}
	dl.type-A dt {min-width: 24%;max-width: 24%;margin-right: 0%;border-bottom: 1px solid #ccc;background-color: transparent;}
	dl.type-A dt span {}
	dl.type-A dd {min-width: 76%;flex-basis: 76%;max-width: 76%;}

  .btn_box {
    width: 310px;
    padding: 18px 32px;
    font-size: 15px;
  }
  .btn_box::after {
    font-size: 16px;
    right: 16px;
    margin-top: -8px;
  } 
  .btn_box.btn-tel{
    width: 300px;
}
  .btn_box.btn-tel img{
    width: 200px;
}
  .btn_box.btn-contact{}
  .btn_box.btn-contact img{
    width: 200px;
}

	.row {margin-top: -50px;margin-right: -15px;margin-left: -15px;}
	.row .col {padding-top: 50px;padding-right: 15px;padding-left: 15px;}

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

  .entry__content p.center_left {text-align: center;}
	.phone_call {
	text-align: initial;
	}
  a[href^="tel:"] {pointer-events: none;}
}

@media (min-width: 992px) {
	.sp.tb {display: none !important;}
  .tb {display: none !important;}
  .pc {display: block !important;}
}

/* header
================================================== */
.header {padding: 0 20px;height: 70px;z-index: 20;display: flex;}
.header .wrapper {}
.header .site_title,
.header .bnr_shallwe_wrap,
.header .tel_wrap,
.header .fb_wrap,
.header .global_nav,
.header .contact_wrap {display: none;}
.header__ttl {}
.header__ttl__h1 {width: 280px;margin: 0;font-size: 12px;font-weight:700;line-height: 1.2;}
.header__ttl__h1 a {display: block;padding: 0;margin: 0;color: #142476 !important;!i;!;text-decoration: none !important;!i;!;}
.header__ttl__h1 img {display: block;}
.header__ttl__info{display: none;}
.header__ttl__add{}
.header__ttl__tel{}
.header__ttl__tel span{}

.header a, .header a:visited {color: #252525;}
.header a:hover, .header a:focus, .header a:visited:hover, .header a:visited:focus {color: #252525;text-decoration: none !important;}
.sub_nav_wrap {display: none;}
.sub_nav_wrap .sns {display: inline-block;margin-right: 20px;vertical-align: middle;}
.sub_nav_wrap .sns span {display: inline-block;padding: 5px;line-height: 1;}
.sub_nav_wrap .sns span i {font-size: 1.75rem;color: #1878f3;}
.sub_nav_wrap .sns span a {
}
.sub_nav_wrap .sns .ig {
}
.sub_nav_wrap .sns .ig i {color: #cf2f93;}
.sub_nav_wrap .sns .fb i {color: #1878f3;}
.sub_nav_wrap .sns .yt i {color: #ff0000;}

@media (min-width: 768px) {
.front .header{}
.header{}
.header .wrapper{width:100%;display:flex;flex-flow:column;justify-content:space-between}
.header__ttl{display:flex;flex-flow:wrap;align-items:center;justify-content:space-between;height:80px}
.header__ttl__h1{font-size: 22px;width: 700px;}
.header__ttl__h1 a{}
.header__ttl__h1 img{width:410px}
.header__ttl__info{}
}
@media (min-width: 992px) {
.front .header{}
.header{height:140px;padding:0}
.header .wrapper{display:flex;justify-content:space-between}
.header__ttl{width:1080px;margin:auto}
.header__ttl__h1{
    width: 800px;
    font-size: 24px;
}
.header__ttl__h1 a{}
.header__ttl__info{display:block}
}

/* 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 .5s ease,top .5s ease;-o-transition:left .5s ease,top .5s ease;-webkit-transition:left .5s ease,top .5s ease;transition:left .5s ease,top .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 #86c45f;-moz-border-radius:50%}
.menu-icon span{width:22px;display:block;height:2px;background:#86c45f;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;}
.main-nav.global_nav_sp .sub_nav .bnr_shallwe a {}

@media (min-width: 768px) {
.main-nav.global_nav_sp,#nav-toggle{}
.global_nav.pc_nav{height:60px;background-color:#6b68b8}
.global_nav ul li a{color:#222;margin:0;padding:0;text-decoration:none!important}
}
@media (min-width: 992px) {
.main-nav.global_nav_sp,#nav-toggle{display:none}
.global_nav.pc_nav{display:flex;align-items:center;justify-content:center}
.global_nav ul{}
.global_nav ul li{display:inline-block;position: relative;padding:0;margin:0;border:0;font-size:16px;font-weight:500!important;list-style:none}
.global_nav ul li a{display:block;padding: 0;text-decoration:none;color:#fff!important;text-transform:uppercase;text-transform:none;margin: 0 18px;text-decoration:none!important}
.global_nav ul li::after{content:"/";color: #fff;font-size: 24px;font-weight: 300;position:absolute;top: -7px;right: -8px;}
.global_nav ul li:last-child::after{display: none;}
}
@media (min-width: 1030px) {
.global_nav ul li a{margin: 0 22px;}
.global_nav ul li::after{right: -6px;}
}

/* nav-global（min-width: 992px）
================================================== */
nav.pc_nav.stroke ul.main{list-style:none;text-align:center}
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:#2278be;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:#fff;height:1px}
nav.stroke ul.main > li a:hover:after{width:100%}
nav.stroke .drop{min-width:150px;position:absolute;margin-left:-7px;background:#86c45f;z-index:100;transition:.5s padding,.5s background}
nav.stroke .business .drop{}
nav.stroke .construction .drop{margin-left:-30px}
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:#86c45f;z-index:99}
nav.stroke .drop > *{overflow:hidden;height:42px;padding:10px;background:rgba(0,0,0,0);white-space:nowrap;transition:.5s height cubic-bezier(0.73,0.32,0.34,1.5),.5s padding cubic-bezier(0.73,0.32,0.34,1.5),.5s margin cubic-bezier(0.73,0.32,0.34,1.5),.5s .2s color,.2s background-color}
nav.stroke .drop > :hover{background:#70a54f}
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:.5s .1s height,.5s .1s padding,.5s .1s margin,.3s color,.6s visibility;z-index:99}
nav.stroke .drop li{}
nav.stroke .drop li a{padding:0!important;color:#fff!important}
nav.stroke .drop li a:after{height:0!important}


/* Footer
   ================================================== */
.footer a{color: inherit !important;text-decoration: none !important;}
.footer a:hover{color: inherit;}
.footer {margin: 0;padding: 0;background-color: #fff;}
.footer section {padding: 60px 0;}
.footer section .container {color: #262626;max-width: 100%;padding: 0 20px;display: flex;flex-flow: column;align-items: center;gap: 32px;}
.footer__contact{
    background-color: #e1e8ee;
    padding: 60px 0 !important;
}
.footer__contact .container{}
.footer__contact__info{
}
.footer__contact__border{
    position: relative;
    display: none;
}
.footer__contact__border::before{content:"";display: block;background-color: #999;width: 1px;height: 200px;}
.footer__contact__btn{
    margin-top: 20px;
}
.footer__foot{}
.footer__foot .container{}
.footer__navwrap{width: 100%;/* margin-top: 32px; */}
.footer__nav{
    margin: 0;
    padding: 0;
}
.footer__nav li{
    list-style-type: none;
}
.footer__nav li a{
}
.footer__info{
}
.footer__info__logo{
    margin: auto;
    font-weight: 600;
    color: #142475;
    line-height: 1.5;
}
.footer__info__sub{font-size: 13px;}
.copyright {
    font-size: 12px;
    margin: 32px 0 0;
    color: #262626;
}

@media (min-width: 768px) {
  .footer {}
  .footer section {
    padding-top: 60px;
}
  .footer section .container {
    padding: 0 40px;
    text-wrap-style: balance;
    align-items: baseline;
    justify-content: flex-start;
    gap: 16px;
}
.footer__contact{
    padding: 80px 0 !important;
    !i;
    !;
}
.footer__contact .container{
    justify-content: center !important;
}
.footer__contact__info{}
.footer__contact__border{
    display: block;
}
.footer__contact__border::before{}
.footer__contact__btn{
    margin: 0;
}
.footer__foot{}
.footer__foot .container{
    
    !i;
    !;
}
.footer__navwrap{
    /* flex: 1; */
}
.footer__nav{
    display: flex;
    flex-flow: wrap;
    justify-content: flex-start;
    gap: 8px 24px;
}
.footer__nav li{
    font-size: 14px;
    margin: 0;
}
.footer__nav li a{}
.footer__info{
    /* width: 340px; */
    /* margin-top: 0; */
    /* padding-top: 16px; */
    /* border: 0; */
    text-align: left;
}
.footer__info__logo{
    /* width: 316px; */
}
.footer__info__sub{
}
.copyright {
    margin-top: 40px;
    padding: 0 40px;
    text-align: left;
}
}

@media (min-width: 992px) {
.footer {}
.footer section {}
.footer section .container {
    gap: 20px;
}
.footer__contact{}
.footer__contact .container{}
.footer__contact__info{}
.footer__contact__border{}
.footer__contact__border::before{}
.footer__contact__btn{}
.footer__foot{}
.footer__foot .container{
    /* flex-flow: wrap !important; */
    /* flex-direction: row-reverse !important; */
    /* gap: 20px !important; */
}
.footer__navwrap{}
.footer__nav{
    gap: 28px;
}
.footer__nav li{font-size: 15px;}
.footer__nav li a{}
.footer__info{
    margin: 0;
    padding: 0;
    border: 0;
}
.footer__info__logo{
    margin: 0;
}
.footer__info__sub{font-size: 14px;}
.copyright {}
}