@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: 1rem;
}

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

@media (min-width: 768px) {
	html {font-size: 16px;}
	body {min-width: 1280px;}
}

body {font-family:"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;font-size: 16px;font-size: 1rem;font-weight: 400;line-height: 1.8;color: #2D3A40;letter-spacing: .06em;word-wrap: break-word;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;-webkit-text-size-adjust: 100%;background-color: #f5f5f5;background-size: 300px;}

.en,.eng {font-family:'Montserrat';}


.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  margin: 0 0 1.5rem;
  font-family: inherit;
  font-weight: 700;
  line-height: 1.5;
  
}
h2,.h2 {font-weight: 500;}

a,
a:visited,
a img {
	color: #888;
	text-decoration: underline;
	padding: 0;
	outline: none;
	background-color: transparent; /* 1 */
	-webkit-text-decoration-skip: objects; /* 2 */
	transition: .2s linear;
	-webkit-transition: .2s linear;
	-moz-transition: .2s linear;
	-o-transition: .2s linear;
	-ms-transition: .2s linear;
}
a:hover,a:active,a:focus {
	color: #fcc445 !important;
	outline-width: 0;
	-webkit-transition: .2s;
	transition: .2s;
	text-decoration: none;
}
a img:hover,a img:active,a img:focus {opacity: .7;}

/* 標準テキスト */
.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;}
p strong {font-size: inherit;font-weight: 700;color: #0A214B;}
p.h3 {font-weight: 700 !important;margin: 30px 0 15px !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 10px;line-height: 1.5;}
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%;}
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 dd {border-bottom: 1px solid #ddd;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 {border-top: 1px solid #e5e5e5;}
dl.type_A dd a {/* color: #252525; */text-decoration: underline;}
dl.type_A dd a:hover {/* color: #da3200; */text-decoration: none;}
dl.type_B {display: flex;margin: 0;flex-wrap: wrap;padding: 0;width: 100%;}
dl.type_B dd+dt {border-top: 0px;}
dl.type_B dt, dl.type_B dd {padding: 20px 0;margin: 0;}
dl.type_B dt {min-width: 24%;max-width: 24%;flex-basis: 24%;font-weight: bold;letter-spacing: 1.0px;border-top: 1px solid #ddd;border-bottom: 1px solid #ddd;margin-right: 0;display: flex;flex-wrap: wrap;align-items: start;justify-content: center;background-color: #f5f5f5;}
dl.type_B dd {min-width: 76%;max-width: 76%;flex-basis: 76%;border-bottom: 1px solid #ddd;display: flex;flex-wrap: wrap;align-items: start;padding-left: 15px;}
dl.type_B dd.first {border-top: 1px solid #e5e5e5;}
dl.type_B dd a {color: #252525;text-decoration: underline;}
dl.type_B dd a:hover {color: #da3200;text-decoration: none;}

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

.youtube {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 56.25%; /*16:9の比率の場合*/
	overflow: hidden;
}
.youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}

/* Font Awesome */
.fa, .far, .fas, .fa-regular, .fa-solid {
	font-family: "Font Awesome 5 Free";
	font-style: normal;
}
a .fa, a .far, a .fas, a .fa-regular, a .fa-solid {/* margin-left: 5px; */}
.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: 700;
		font-style: normal;
		font-size: 1.25rem;
		position: relative;
		/* padding-left: 35px; */
		text-align: center;
		letter-spacing: 1px;
}
.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 {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;}

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

.row {margin-top: -30px;margin-right: -10px;margin-left: -10px;}
.row .col {padding-top: 30px;padding-right: 10px;padding-left: 10px;}
.btn_wrap .row {margin: -12px -6px 0;}
.btn_wrap .row .col {padding: 12px 6px 0;}
.btn_wrap .row .btn_box {margin: 0;}
.btn_wrap.btn2 {}

/* パンくずリスト */
.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 screen and (max-width: 575px) {
  .col-xs-6.col-sm:nth-child(2n+1) {clear: left;}
}


@media screen and (min-width: 768px) {
	/* ページ内リンク先ID */
	span.anchor,span.anchor a {top: -75px;}
	.access span.anchor,.access span.anchor a {top: -39px;}
	
	p.h3 {font-weight: 700 !important;margin: 40px 0 15px !important;}
	ul.com {
	}
	ul.com li {
	}
	ul.com li:first-child {
	}
  dl {margin: 0;}
	dl.type_A dd+dt {border-top: 0px;}
	dl.type_A dt, dl.type_A dd {padding: 30px 25px;}
	dl.type_A dt {min-width: 20%;flex-basis: 20%;max-width: 20%;margin-right: 0%;border-bottom: 1px solid #ddd;background-color: #fff;}
	dl.type_A dd {min-width: 80%;flex-basis: 80%;max-width: 80%;}
	dl.type_A dd.first { border-top: 1px solid #e5e5e5;}
	
	.btn_box {/* max-width: 286px; */}
	.btn_box::after {/* font-size: 1rem; *//* right: 11px; *//* margin-top: -8px; */}
	.btn_2 {display: flex;flex-direction: row;flex-wrap: wrap;max-width: 626px;margin: auto;}
	.btn_2 .btn_box {/* max-width: 280px; */width: 50%;/* margin-top: 0; */margin: 15px 1% 0;}
	.btn_2 .btn_box:first-child {}
	.btn_3 {display: flex;flex-direction: row;flex-wrap: wrap;max-width: 860px;margin: auto;}
	.btn_3 .btn_box {/* max-width: 280px; */width: 31.333%;/* margin-top: 0; */margin: 15px 1% 0;}
	.btn_3 .btn_box:first-child {}

	.row {margin-top: -50px;margin-right: -15px;margin-left: -15px;}
	.row .col {padding-top: 50px;padding-right: 15px;padding-left: 15px;}
	.row.row20 {margin-right: -20px;margin-left: -20px;}
	.row.row20 .col {padding-right: 20px;padding-left: 20px;}
	.row.row30 {margin-right: -30px;margin-left: -30px;}
	.row.row30 .col {padding-right: 30px;padding-left: 30px;}
	.btn_wrap .row {margin: -16px -8px 0;}
	.btn_wrap .row .col {padding: 16px 8px 0;}
	.btn_wrap .row .btn_box {}
	.btn_wrap.btn2 {width: 620px;}
	.row.re {flex-flow: row-reverse;}

	.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 screen and (min-width: 992px) {
	.sp.tb {display: none !important;}
  .tb {display: none !important;}
  .pc {display: block !important;}
}

/* Header
   ================================================== */
.header{z-index:200;width:100%;height: 56px;background-color: #fff;position:absolute;/* top:-70px; *//* margin-top:70px; */transition:top 1000ms;position: fixed;}
.header .wrapper{position:relative;width:100%;height: 56px;}
.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: 6px;left:20px}
.header .site_title .header_description{font-size:.625rem;font-weight:500;margin:0 0 10px;color:#57c3f1;line-height:1;display:none}
.header .site_title h1.header_title{width: 95px;margin:0}
.header .site_title h1.header_title a{display:block;padding:0;margin:0}
.header .site_title h1.header_title img{display:block;width:100%}
.header .site_title h1.header_title img.stick{display:none;}

.header .submit_btn_sticky{position: absolute;top: 12px;right: 70px;display: none;}
.header .submit_btn_sticky a{}
.header .submit_btn_sticky img{display:block;width: 144px;}
.header .submit_btn_sticky img.stick{display:none;}

.header .description_sp{position:absolute;top:16px;left:155px;width:170px;font-size:.6875rem;font-weight:500;line-height:1.5}
.header a,.header a:visited{color:#fff}
.header a:hover,.header a:focus,.header a:visited:hover,.header a:visited:focus{color: #fcc445 !important;}
.header .free_sp_btn{display:block}
.header.sticky{position:fixed;top:0;margin-top:0;height: 56px;background-color: #fff;}
.header.sticky .site_title h1.header_title{/* width: 160px; */}
.header.sticky .site_title h1.header_title img.stand{display: none;}
.header.sticky .site_title h1.header_title img.stick{display: block;}
.header.sticky .submit_btn_sticky{}
.header.sticky .submit_btn_sticky a{}
.header.sticky .submit_btn_sticky img{display:none;}
.header.sticky .submit_btn_sticky img.stick{display:block;width: 32px;}

@media (min-width: 768px) {
	.header {height: 100px;top: -100px;margin-top: 100px;flex-flow: column;}
	.header .wrapper {height: 100px;width: 100%;margin: auto;}
	.header.sticky .wrapper {height: 80px;}
	.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: 11px;left: 30px;}
	.header .site_title .header_description {display: block;font-size: .75rem;/* margin: 6px 0 0; */}
	.header .site_title h1.header_title {width: 170px;}
	.header .site_title h1.header_title a {}
	.header .site_title h1.header_title img {/* width: 100%; */}
	.header .description_sp {display: none;}
	.header .global_nav {/* top: 26px; *//* right: 230px; */}
	.header.sticky .site_title {top: 10px;}
	.header.sticky{height: 80px;background-color: rgb(255 255 255 / 90%);box-shadow: 0px 8px 16px -2px rgba(10,10,10,0.1), 0px 3px 6px 0px rgba(0,0,0,0.15);}
	.header.sticky .site_title h1.header_title{width: 130px;}
	.header .submit_btn_sticky img{display:none !important;}
}

/* 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 #86c45f;
-moz-border-radius: 50%;
/* -webkit-border-radius: 50%; */
/* border-radius: 50%; */
}
.menu-icon span {
width: 22px;
display: block;
height: 2px;
background: #86c45f;
position: absolute;
left: 7px;
-moz-transition: -moz-transform 0.33s ease-out, width 0.2s linear;
-o-transition: -o-transform 0.33s ease-out, width 0.2s linear;
-webkit-transition: -webkit-transform 0.33s ease-out, width 0.2s linear;
transition: transform 0.33s ease-out, width 0.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 {display: none;}
	.global_nav.pc_nav {display: block;width: 550px;top: 26px;right: 230px;}
	.header.sticky .global_nav.pc_nav {top: 15px}
	.global_nav ul {font-size: 0;margin: 0;}
	.global_nav ul li {/* display: inline-block; *//* padding: 0 20px; *//* margin: 0; *//* border-right: 1px solid #222; *//* font-size: 1.0rem; *//* font-weight: 500; *//* list-style: none; */}
	.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: right;
}
nav.pc_nav.stroke ul.main > li {
  display: inline-block;
  border: 0;
  padding: 0;
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-align: center;
  position: relative;
  height: 48px;
  vertical-align: middle;
}
nav.pc_nav.stroke ul.main > li::before,nav.pc_nav.stroke ul.main > li::after {content: "";/* position: absolute; *//* top: 0; *//* left: -35px; *//* display: inline-block; *//* width: 40px; *//* height: 42px; *//* background-size: cover; *//* background-repeat: no-repeat; */}
nav.pc_nav.stroke ul.main > li::before {background-image: url("images/common/nav_slash.png");}
nav.pc_nav.stroke ul.main > li::after {/* background-image: url("images/common/nav_slash.png"); */}
nav.pc_nav.stroke ul.main > li a {
  display: block;
  padding: 0 10px;
  text-decoration: none;
  color: #0b214c;
  text-transform: uppercase;
  text-transform: none;
  margin: 0 10px;
  letter-spacing: .06em;
  line-height: 1;
  padding-top: 8px;
}
nav.pc_nav.stroke ul.main > li:last-child {
}
nav.pc_nav.stroke ul.main > li:last-child a {/* line-height: 1; *//* padding: 0 10px; *//* margin: 0 10px; */}
nav.pc_nav.stroke ul.main > li:last-child img {width: 168px;}
nav.pc_nav.stroke ul.main > li.sns {padding-left: 10px;}
nav.pc_nav.stroke ul.main > li.sns a {display: inline-block;margin: 0;}
nav.pc_nav.stroke ul.main > li.sns i {font-size: 2.5rem;color: #9B090A;}
nav.pc_nav.stroke ul.main > li a span {display: block;/* color: #888; */font-size: .625rem;font-weight: 400;font-family: Lato;letter-spacing: .3em;line-height: 1;margin-top: 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 0.3s;}
nav.pc_nav.stroke ul.main > li a:hover {color: #2d2d2d;opacity: 1;}
nav.stroke ul.main > li a {position: relative;}

nav.stroke .drop {
  min-width: 150px;
  /* padding: 15px 0; */
  position: absolute;
  margin-left: -7px;
  background: #86c45f;
  z-index: 100;
  transition: 0.5s padding, 0.5s background;
}
nav.stroke .business .drop {/* margin-left: -60px; */}
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 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: #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: 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 {/* padding: 10px 10px; */}
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: #569CDA;text-align: center;}
.footer section {padding: 40px 0;}
.footer section .container {color: #fff;max-width: 1120px;}
.footer a {color: #fff;text-decoration: none !important;}
.footer a:hover {color: #5dbff2;}
.copyright {margin-top: 15px;font-family: Verdana, Geneva, "sans-serif";font-size: .75rem;letter-spacing: 1px;border-top: 1px solid #fff;padding: 15px 0;}
.footer a:hover,.footer a:active,.footer a:focus {color: #777;}

@media screen and (min-width: 768px) {
	.footer {text-align: left;}
	.footer .contact {/* padding: 80px 0; */}
	.footer .contact .col .box {height: 100%;padding: 40px 20px;}
	.footer .contact .col.ttl .box {margin-bottom: 0;padding: 40px 20px;}
	.footer .contact .col.ttl .ttl {margin-bottom: 30px;padding-top: 10px;}
	.copyright {padding: 25px 0;margin-top: 35px;}
}

