@charset "UTF-8";
/*
font-family :"Times New Roman", "游明朝", YuMincho,"ヒラギノ明朝 Pr6 W6","Hiragino Mincho Pro", "HGS明朝E","メイリオ", "ＭＳ Ｐ明朝","MS PMincho",Meiryo, serif;
font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', 'Roboto', sans-serif;
*/
/* line 6, style.scss */
.read { text-align: justify; word-break: break-all; }

/* line 10, style.scss */
.titCmn { display: flex; flex-direction: column; flex-wrap: wrap; margin-bottom: 2.5em; }
@media only screen and (max-width: 750px) { /* line 10, style.scss */
  .titCmn { margin-bottom: 1.5em; } }
/* line 11, style.scss */
.titCmn span { font-family: "Outfit", sans-serif; font-size: 45px; line-height: 1.5; font-weight: 800; letter-spacing: .025em; color: #1c2e84; }
@media only screen and (max-width: 750px) { /* line 11, style.scss */
  .titCmn span { font-size: 32px; } }
/* line 12, style.scss */
.titCmn span::after { content: ""; width: 50px; height: 1px; background: #1c2e84; display: block; margin: .25em auto .45em; }
@media only screen and (max-width: 750px) { /* line 12, style.scss */
  .titCmn span::after { margin-bottom: .3em; } }
/* line 14, style.scss */
.titCmn em { font-size: 15px; font-weight: 700; }

/* line 19, style.scss */
.cmnTit { display: flex; justify-content: flex-start; flex-wrap: wrap; align-items: baseline; position: relative; padding-left: 2em; color: #1c2e84; margin-bottom: 1em; width: 100%; box-sizing: border-box; }
@media only screen and (max-width: 750px) { /* line 19, style.scss */
  .cmnTit { padding-left: 2.25em; } }
/* line 20, style.scss */
.cmnTit::before { content: ""; width: 8px; height: 45px; background: linear-gradient(to bottom, #516cb7, #101c67); transform: skewX(-26deg); position: absolute; top: .55em; left: 0; }
@media only screen and (max-width: 750px) { /* line 20, style.scss */
  .cmnTit::before { width: 6px; height: 30px; top: .0em; left: 1em; } }
/* line 24, style.scss */
.cmnTit em { font-size: 28px; font-weight: 300; margin-right: 1.5em; }
@media only screen and (max-width: 750px) { /* line 24, style.scss */
  .cmnTit em { font-size: 22px; line-height: 1.5; margin-right: .5em; } }
/* line 25, style.scss */
.cmnTit span { font-family: "Outfit", sans-serif; font-size: 15px; font-weight: 700; }
@media only screen and (max-width: 750px) { /* line 25, style.scss */
  .cmnTit span { font-size: 12px; } }
/* line 26, style.scss */
.cmnTit.g { color: #68580A; }
/* line 27, style.scss */
.cmnTit.g::before { background: linear-gradient(to bottom, #c0b78a, #736733); }
/* line 29, style.scss */
.cmnTit.r { color: #009245; }
/* line 30, style.scss */
.cmnTit.r::before { background: linear-gradient(to bottom, #00c185, #005615); }

/* line 36, style.scss */
.secTitle { margin: 80px auto 90px; }
@media only screen and (max-width: 750px) { /* line 36, style.scss */
  .secTitle { margin: 2em auto; } }
/* line 37, style.scss */
.secTitle .tit { position: relative; }
@media only screen and (max-width: 750px) { /* line 37, style.scss */
  .secTitle .tit { overflow: hidden; display: flex; justify-content: space-between; } }
/* line 38, style.scss */
.secTitle .tit em { font-size: 30px; line-height: 1.5; font-weight: 700; position: relative; z-index: 1; }
@media only screen and (max-width: 750px) { /* line 38, style.scss */
  .secTitle .tit em { font-size: 22px; position: absolute; top: 50%; transform: translateY(-50%); left: 0; right: 0; margin: auto; z-index: 10; } }
/* line 39, style.scss */
.secTitle .tit span { font-family: "Outfit", sans-serif; font-size: 120px; line-height: 1.5; font-weight: 100; position: absolute; top: 50%; transform: translateY(-50%); left: 0; right: 0; margin: auto; z-index: 10; z-index: 0; letter-spacing: .025em; opacity: .12; }
@media only screen and (max-width: 750px) { /* line 39, style.scss */
  .secTitle .tit span { position: relative; top: auto; left: auto; bottom: auto; right: auto; transform: none; font-size: 80px; line-height: 1; white-space: nowrap; animation: titleMarquee 12s linear infinite; }
  /* line 41, style.scss */
  .secTitle .tit span:not(:last-child) { margin-right: .25em; }
  @keyframes titleMarquee { 0% { transform: translateX(0); }
    100% { transform: translateX(-100%); } } }

/* line 50, style.scss */
.fire_protection .secTitle { color: #68580a; }

/* line 51, style.scss */
.electrical_works .secTitle { color: #1c2e84; }
/* line 51, style.scss */
.electrical_works .secTitle span { letter-spacing: -.01em; }

/* line 56, style.scss */
.tel a { display: flex; justify-content: space-between; flex-wrap: wrap; }
/* line 57, style.scss */
.tel a i { font-size: 68%; line-height: 1; transform: rotate(10deg); position: relative; bottom: -.25em; margin-right: .15em; }
/* line 58, style.scss */
.tel a em { font-family: "Outfit", sans-serif; font-size: 100%; line-height: 1; font-weight: 300; letter-spacing: .02em; }

/* line 64, style.scss */
.btnCmn { width: 220px; height: 42px; margin: auto; }
/* line 65, style.scss */
.btnCmn a, .btnCmn button { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; width: 100%; height: 100%; border-radius: 21px; position: relative; border: none; cursor: pointer; transition: .4s all; }
/* line 67, style.scss */
.btnCmn a span, .btnCmn button span { font-family: "Outfit", sans-serif; font-size: 18px; font-weight: 100; }
/* line 68, style.scss */
.btnCmn a i, .btnCmn button i { position: absolute; top: 50%; transform: translateY(-50%); z-index: 10; right: 1em; line-height: 1; transition: .4s all; }
/* line 69, style.scss */
.btnCmn a:hover, .btnCmn button:hover { opacity: .7; }
/* line 70, style.scss */
.btnCmn a:hover i, .btnCmn button:hover i { right: .5em; }
/* line 74, style.scss */
.btnCmn.b a { background: #1c2e84; color: #fff; }
/* line 79, style.scss */
.btnCmn.w a { background: #fff; color: #1c2e84; }
/* line 84, style.scss */
.btnCmn.thin a { border: 1px solid #fff; color: #fff; }
/* line 89, style.scss */
.btnCmn.l { width: 380px; height: 60px; }
@media only screen and (max-width: 750px) { /* line 89, style.scss */
  .btnCmn.l { width: 320px; height: 52px; } }
/* line 90, style.scss */
.btnCmn.l a, .btnCmn.l button { border-radius: 30px; background: #1c2e84; color: #fff; }
/* line 91, style.scss */
.btnCmn.l a em, .btnCmn.l button em { font-size: 22px; font-weight: 400; margin-top: -.2em; }
@media only screen and (max-width: 750px) { /* line 91, style.scss */
  .btnCmn.l a em, .btnCmn.l button em { font-size: 18px; } }
/* line 92, style.scss */
.btnCmn.l a i, .btnCmn.l button i { font-size: 21px; }
@media only screen and (max-width: 750px) { /* line 92, style.scss */
  .btnCmn.l a i, .btnCmn.l button i { font-size: 17px; } }
/* line 94, style.scss */
.btnCmn.l a:hover i, .btnCmn.l button:hover i { right: .75em; }
/* line 99, style.scss */
.btnCmn.r a, .btnCmn.r button { background: #009245; color: #fff; }

/* line 104, style.scss */
.titleSec { background-size: cover !important; position: relative; height: 325px; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; }
@media only screen and (max-width: 750px) { /* line 104, style.scss */
  .titleSec { height: 150px; } }
/* line 105, style.scss */
.titleSec::before, .titleSec::after { content: ""; width: 100%; height: 60px; position: absolute; left: 0; z-index: 0; }
/* line 106, style.scss */
.titleSec::before { top: 0; background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, white 100%); }
/* line 107, style.scss */
.titleSec::after { bottom: 0; background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, white 100%); }
/* line 108, style.scss */
.titleSec .titCmn { margin-bottom: 0; position: relative; z-index: 5; filter: drop-shadow(0px 0px 2px white) drop-shadow(0px 0px 4px white) drop-shadow(0px 0px 6px white); margin-top: 1.5em; }
@media only screen and (max-width: 750px) { /* line 108, style.scss */
  .titleSec .titCmn { margin-top: 0em; } }
@media only screen and (max-width: 750px) { /* line 109, style.scss */
  .titleSec .titCmn span { font-size: 30px; } }
@media only screen and (max-width: 750px) { /* line 110, style.scss */
  .titleSec .titCmn em { font-size: 14px; } }

/* line 113, style.scss */
#about .titleSec { background: url("../img/aboutBg.webp") no-repeat center; }

/* line 114, style.scss */
#service.fire_protection .titleSec { background: url("../img/service-fire_protectionBg.webp") no-repeat center; }

/* line 115, style.scss */
#service.electrical_works .titleSec { background: url("../img/service-electrical_worksBg.webp") no-repeat center; }

/* line 116, style.scss */
#works.fire_protection .titleSec { background: url("../img/works-fire_protectionBg.webp") no-repeat center; }

/* line 117, style.scss */
#works.electrical_works .titleSec { background: url("../img/works-electrical_worksBg.webp") no-repeat center; }

/* line 118, style.scss */
#recruit .titleSec { background: url("../img/recruitBg.webp") no-repeat center; }

/* line 119, style.scss */
#contact .titleSec { background: url("../img/contactBg.webp") no-repeat center; }

/* line 120, style.scss */
#privacy_policy .titleSec { background: url("../img/privacy_policyBg.webp") no-repeat center; }

/* line 125, style.scss */
ul.pankuzuList { width: 92%; margin: auto; display: flex; justify-content: flex-start; flex-wrap: wrap; opacity: .8; }
/* line 126, style.scss */
ul.pankuzuList li { font-size: 11px; }
@media only screen and (max-width: 750px) { /* line 126, style.scss */
  ul.pankuzuList li { font-size: 10px; } }
/* line 128, style.scss */
ul.pankuzuList li:not(:last-child)::after { content: "\f054"; font-family: "Font Awesome 6 Pro"; margin: 0 .5em; color: #1c2e84; }
@media only screen and (max-width: 750px) { /* line 128, style.scss */
  ul.pankuzuList li:not(:last-child)::after { margin: 0 .25em; } }

/* line 137, style.scss */
.tableCmn { width: calc(100% - 4em); margin: auto; }
@media only screen and (max-width: 750px) { /* line 137, style.scss */
  .tableCmn { width: calc(100% - 2em); } }
/* line 138, style.scss */
.tableCmn th, .tableCmn td { font-size: 16px; line-height: 1.6; padding: 1em .75em; text-align: justify; box-sizing: border-box; vertical-align: text-top; }
@media only screen and (max-width: 750px) { /* line 138, style.scss */
  .tableCmn th, .tableCmn td { font-size: 15px; display: block; padding: .75em 1em; } }
/* line 139, style.scss */
.tableCmn th { border-bottom: 1px solid #1c2e84; width: 200px; }
@media only screen and (max-width: 750px) { /* line 139, style.scss */
  .tableCmn th { width: 100%; } }
/* line 140, style.scss */
.tableCmn td { border-bottom: 1px solid rgba(65, 65, 65, 0.3); }
@media only screen and (max-width: 750px) { /* line 140, style.scss */
  .tableCmn td { border-bottom: none; } }

/* line 147, style.scss */
#contact .intro, #recruit.entry .intro { margin: 50px auto 0px; }
@media only screen and (max-width: 750px) { /* line 147, style.scss */
  #contact .intro, #recruit.entry .intro { margin-top: 20px; } }
/* line 148, style.scss */
#contact .intro .read, #recruit.entry .intro .read { text-align: center; }
@media only screen and (max-width: 750px) { /* line 148, style.scss */
  #contact .intro .read, #recruit.entry .intro .read { font-size: 14px; line-height: 1.8; text-align: justify; padding: 0 1.5em; } }
/* line 149, style.scss */
#contact .intro .read a, #recruit.entry .intro .read a { text-decoration: underline; }
/* line 152, style.scss */
#contact .mailformSec, #recruit.entry .mailformSec { margin-top: 50px; }
@media only screen and (max-width: 750px) { /* line 152, style.scss */
  #contact .mailformSec, #recruit.entry .mailformSec { margin-top: 40px; } }
/* line 158, style.scss */
#contact .mailformSec form table.formTable, #recruit.entry .mailformSec form table.formTable { width: calc(100% - 4em); margin: auto; }
@media only screen and (max-width: 750px) { /* line 158, style.scss */
  #contact .mailformSec form table.formTable, #recruit.entry .mailformSec form table.formTable { width: calc(100% - 2em); } }
/* line 159, style.scss */
#contact .mailformSec form table.formTable th, #contact .mailformSec form table.formTable td, #recruit.entry .mailformSec form table.formTable th, #recruit.entry .mailformSec form table.formTable td { font-size: 16px; line-height: 1.5; padding: .75em 1.25em; text-align: justify; box-sizing: border-box; vertical-align: text-top; box-sizing: border-box; }
@media only screen and (max-width: 750px) { /* line 159, style.scss */
  #contact .mailformSec form table.formTable th, #contact .mailformSec form table.formTable td, #recruit.entry .mailformSec form table.formTable th, #recruit.entry .mailformSec form table.formTable td { font-size: 15px; padding: .5em 1em; display: block; } }
/* line 160, style.scss */
#contact .mailformSec form table.formTable th, #recruit.entry .mailformSec form table.formTable th { border-bottom: 1px solid white; width: 260px; background: linear-gradient(325deg, rgba(28, 46, 132, 0.1) 0%, rgba(28, 46, 132, 0.05) 100%); }
@media only screen and (max-width: 750px) { /* line 160, style.scss */
  #contact .mailformSec form table.formTable th, #recruit.entry .mailformSec form table.formTable th { width: 100%; } }
/* line 161, style.scss */
#contact .mailformSec form table.formTable td, #recruit.entry .mailformSec form table.formTable td { border-bottom: 1px solid rgba(65, 65, 65, 0.15); /*padding-inline: 1.25em;*/ }
@media only screen and (max-width: 750px) { /* line 161, style.scss */
  #contact .mailformSec form table.formTable td, #recruit.entry .mailformSec form table.formTable td { border-bottom: none; padding: .75em 0 1.5em; } }
/* line 164, style.scss */
#contact .mailformSec form table.formTable tbody tr th, #recruit.entry .mailformSec form table.formTable tbody tr th { position: relative; }
/* line 165, style.scss */
#contact .mailformSec form table.formTable tbody tr th span.must, #recruit.entry .mailformSec form table.formTable tbody tr th span.must { background: #dc143c; color: #fff; font-size: 12px; font-weight: 400; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; position: absolute; top: 1.5em; right: 1em; padding: 0 .5em; }
@media only screen and (max-width: 750px) { /* line 165, style.scss */
  #contact .mailformSec form table.formTable tbody tr th span.must, #recruit.entry .mailformSec form table.formTable tbody tr th span.must { font-size: 11px; top: 1em; } }
/* line 166, style.scss */
#contact .mailformSec form table.formTable tbody tr th small, #recruit.entry .mailformSec form table.formTable tbody tr th small { display: block; font-size: 90%; }
/* line 173, style.scss */
#contact .mailformSec form table.formTable tbody tr td .caption, #recruit.entry .mailformSec form table.formTable tbody tr td .caption { font-size: 13px; margin-left: 1em; display: inline-flex; opacity: .8; }
@media only screen and (max-width: 750px) { /* line 173, style.scss */
  #contact .mailformSec form table.formTable tbody tr td .caption, #recruit.entry .mailformSec form table.formTable tbody tr td .caption { margin-left: 0em; margin-top: .25em; display: block; } }
/* line 174, style.scss */
#contact .mailformSec form table.formTable tbody tr td .caption.iflex, #recruit.entry .mailformSec form table.formTable tbody tr td .caption.iflex { display: inline; margin-top: 0; margin-left: 1em; }
@media only screen and (max-width: 750px) { /* line 174, style.scss */
  #contact .mailformSec form table.formTable tbody tr td .caption.iflex, #recruit.entry .mailformSec form table.formTable tbody tr td .caption.iflex { margin-left: .5em; } }
/* line 176, style.scss */
#contact .mailformSec form table.formTable tbody tr td input, #contact .mailformSec form table.formTable tbody tr td textarea, #recruit.entry .mailformSec form table.formTable tbody tr td input, #recruit.entry .mailformSec form table.formTable tbody tr td textarea { font-size: 18px; line-height: 1.8; /* width: 100%;*/ padding: 0 10px; box-sizing: border-box; border: 1px solid rgba(0, 0, 0, 0.2); font-family: "YakuHanMP", "Noto Sans JP", serif; }
/* line 177, style.scss */
#contact .mailformSec form table.formTable tbody tr td input::placeholder, #contact .mailformSec form table.formTable tbody tr td textarea::placeholder, #recruit.entry .mailformSec form table.formTable tbody tr td input::placeholder, #recruit.entry .mailformSec form table.formTable tbody tr td textarea::placeholder { opacity: .5; }
/* line 178, style.scss */
#contact .mailformSec form table.formTable tbody tr td input:focus::placeholder, #contact .mailformSec form table.formTable tbody tr td textarea:focus::placeholder, #recruit.entry .mailformSec form table.formTable tbody tr td input:focus::placeholder, #recruit.entry .mailformSec form table.formTable tbody tr td textarea:focus::placeholder { color: transparent; }
/* line 181, style.scss */
#contact .mailformSec form table.formTable tbody tr td textarea, #recruit.entry .mailformSec form table.formTable tbody tr td textarea { height: 8em; }
/* line 186, style.scss */
#contact .mailformSec form .ppSec, #recruit.entry .mailformSec form .ppSec { padding: 1.25em 2em 1.5em; background: rgba(240, 240, 240, 0.5); margin: 2em auto 0; width: calc(100% - 10em); border-radius: 8px; }
@media only screen and (max-width: 750px) { /* line 186, style.scss */
  #contact .mailformSec form .ppSec, #recruit.entry .mailformSec form .ppSec { padding: 1em 1.5em 1.25em; margin: .5em auto 0; width: calc(100% - 2em); } }
/* line 187, style.scss */
#contact .mailformSec form .ppSec .tit, #recruit.entry .mailformSec form .ppSec .tit { font-size: 16px; -webkit-text-stroke-width: .25px; margin-bottom: .5em; }
/* line 188, style.scss */
#contact .mailformSec form .ppSec .read, #recruit.entry .mailformSec form .ppSec .read { font-size: 15px; line-height: 1.8; text-align: justify; }
@media only screen and (max-width: 750px) { /* line 188, style.scss */
  #contact .mailformSec form .ppSec .read, #recruit.entry .mailformSec form .ppSec .read { font-size: 14px; } }
/* line 189, style.scss */
#contact .mailformSec form .ppSec .read a, #recruit.entry .mailformSec form .ppSec .read a { color: #414141; text-decoration: underline; display: inline; }
/* line 191, style.scss */
#contact .mailformSec form .ppSec .checkSec, #recruit.entry .mailformSec form .ppSec .checkSec { font-size: 16px; font-weight: 600; line-height: 1.6; margin: 1em auto 0; }
@media only screen and (max-width: 750px) { /* line 191, style.scss */
  #contact .mailformSec form .ppSec .checkSec, #recruit.entry .mailformSec form .ppSec .checkSec { font-size: 15px; margin: .75em auto 0; } }
/* line 192, style.scss */
#contact .mailformSec form .ppSec .checkSec label, #recruit.entry .mailformSec form .ppSec .checkSec label { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; }
/* line 193, style.scss */
#contact .mailformSec form .ppSec .checkSec span, #recruit.entry .mailformSec form .ppSec .checkSec span { margin-right: .5em; line-height: 1; }
/* line 194, style.scss */
#contact .mailformSec form .ppSec .checkSec span input, #recruit.entry .mailformSec form .ppSec .checkSec span input { width: 18px; height: 18px; }
/* line 199, style.scss */
#contact .mailformSec form .btnCmn.formBtn, #recruit.entry .mailformSec form .btnCmn.formBtn { width: 300px; height: 56px; margin-top: 2em; }
@media only screen and (max-width: 750px) { /* line 199, style.scss */
  #contact .mailformSec form .btnCmn.formBtn, #recruit.entry .mailformSec form .btnCmn.formBtn { width: 300px; height: 52px; } }
/* line 201, style.scss */
#contact .mailformSec form .btnCmn.formBtn button em, #recruit.entry .mailformSec form .btnCmn.formBtn button em { font-size: 20px; }
@media only screen and (max-width: 750px) { /* line 201, style.scss */
  #contact .mailformSec form .btnCmn.formBtn button em, #recruit.entry .mailformSec form .btnCmn.formBtn button em { font-size: 18px; } }
/* line 202, style.scss */
#contact .mailformSec form .btnCmn.formBtn button i, #recruit.entry .mailformSec form .btnCmn.formBtn button i { font-size: 20px; }
@media only screen and (max-width: 750px) { /* line 202, style.scss */
  #contact .mailformSec form .btnCmn.formBtn button i, #recruit.entry .mailformSec form .btnCmn.formBtn button i { font-size: 17px; } }
/* line 210, style.scss */
#contact #formWrap .errorSec, #recruit.entry #formWrap .errorSec { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; }
/* line 211, style.scss */
#contact #formWrap .copy, #recruit.entry #formWrap .copy { text-align: center; font-size: 18px; margin: 0 auto 1.5em; width: 100%; }
/* line 212, style.scss */
#contact #formWrap .error_messeWrap, #recruit.entry #formWrap .error_messeWrap { margin: 0 auto 2em; /*text-align: center;*/ text-align: left; }
/* line 213, style.scss */
#contact #formWrap .error_messeWrap .error_messe, #recruit.entry #formWrap .error_messeWrap .error_messe { font-size: 17px; color: #dc143c; }
/* line 214, style.scss */
#contact #formWrap .error_messeWrap .error_messe b, #recruit.entry #formWrap .error_messeWrap .error_messe b { color: #68580a; }
/* line 215, style.scss */
#contact #formWrap .error_messeWrap .error_messe:not(:last-child), #recruit.entry #formWrap .error_messeWrap .error_messe:not(:last-child) { margin-bottom: .5em; }
/* line 219, style.scss */
#contact #formWrap .btnBackWrap, #recruit.entry #formWrap .btnBackWrap { width: 100%; }
/* line 220, style.scss */
#contact #formWrap .btnBack, #recruit.entry #formWrap .btnBack { width: 180px; height: 42px; margin: 30px auto 0; }
/* line 221, style.scss */
#contact #formWrap .btnBack input, #contact #formWrap .btnBack button, #recruit.entry #formWrap .btnBack input, #recruit.entry #formWrap .btnBack button { border: 1px solid #dbdbdb; background: #f0f0f0; width: 100%; height: 100%; cursor: pointer; font-size: 16px; }
/* line 228, style.scss */
#contact.thanks .mailformContents .read, #recruit.entry.thanks .mailformContents .read { text-align: center; }

/* line 236, style.scss */
#recruit.entry .mailformSec form table.formTable th { background: linear-gradient(325deg, rgba(0, 146, 69, 0.1) 0%, rgba(0, 146, 69, 0.05) 100%); }

/* line 242, style.scss */
.serviceSec { padding: 0 20px; --cardH: 485px; --angle: 27deg; --slant: calc(var(--cardH) * tan(var(--angle))); }
/* line 246, style.scss */
.serviceSec ul.linkWrap { display: flex; justify-content: space-between; align-items: flex-start; }
/* line 247, style.scss */
.serviceSec ul.linkWrap li.link { width: calc(100% - 20px); height: var(--cardH); position: relative; overflow: hidden; isolation: isolate; padding-top: 100px; background-size: cover !important; }
/* line 248, style.scss */
.serviceSec ul.linkWrap li.link .text { display: flex; flex-direction: column; flex-wrap: wrap; color: #fff; text-align: left; }
/* line 249, style.scss */
.serviceSec ul.linkWrap li.link .text .t { display: flex; justify-content: flex-start; flex-wrap: wrap; align-items: center; margin-bottom: 2em; position: relative; }
/* line 250, style.scss */
.serviceSec ul.linkWrap li.link .text .t::after { content: ""; width: 1000px; height: 1px; background: white; position: absolute; top: calc(100% + 1em); }
/* line 251, style.scss */
.serviceSec ul.linkWrap li.link .text .t i { width: 48px; line-height: 1; margin-right: .75em; }
/* line 252, style.scss */
.serviceSec ul.linkWrap li.link .text .t em { font-size: 38px; font-weight: 700; margin-right: .5em; }
/* line 253, style.scss */
.serviceSec ul.linkWrap li.link .text .t span { font-family: "Outfit", sans-serif; font-size: 18px; font-weight: 800; }
/* line 255, style.scss */
.serviceSec ul.linkWrap li.link .text .read { font-weight: 500; }
/* line 256, style.scss */
.serviceSec ul.linkWrap li.link .text .btnCmn { margin: 0; margin-top: 2em; }
/* line 263, style.scss */
.serviceSec ul.linkWrap li.link.link01 { background: url("../img/cmn/serviceLinkBg01.webp") no-repeat center; clip-path: polygon(0 0, 100% 0, calc(100% - var(--slant)) 100%, 0 100%); }
/* line 264, style.scss */
.serviceSec ul.linkWrap li.link.link01 .text { align-items: flex-start; padding-left: 70px; }
/* line 265, style.scss */
.serviceSec ul.linkWrap li.link.link01 .text .t::after { right: 0; }
/* line 268, style.scss */
.serviceSec ul.linkWrap li.link.link02 { background: url("../img/cmn/serviceLinkBg02.webp") no-repeat center; margin-top: 90px; margin-left: calc(-30px - var(--slant)); clip-path: polygon(var(--slant) 0, 100% 0, 100% 100%, 0 100%); }
/* line 269, style.scss */
.serviceSec ul.linkWrap li.link.link02 .text { align-items: flex-end; padding-right: 70px; }
/* line 270, style.scss */
.serviceSec ul.linkWrap li.link.link02 .text .t::after { left: 0; }
/* line 275, style.scss */
.serviceSec.isSub { margin-top: 150px; --cardH: 300px; }
/* line 278, style.scss */
.serviceSec.isSub ul.linkWrap li.link { width: calc(100% - 20px); padding-top: 90px; }
/* line 279, style.scss */
.serviceSec.isSub ul.linkWrap li.link .text { text-align: center; }
/* line 280, style.scss */
.serviceSec.isSub ul.linkWrap li.link .text .t { justify-content: center; margin-bottom: 2.5em; }
/* line 281, style.scss */
.serviceSec.isSub ul.linkWrap li.link .text .t::after { width: calc(100% + 60px); position: absolute; left: 50%; transform: translateX(-50%); margin: auto; z-index: 10; }
/* line 282, style.scss */
.serviceSec.isSub ul.linkWrap li.link .text .t i { width: 48px; line-height: 1; margin-right: .75em; }
/* line 283, style.scss */
.serviceSec.isSub ul.linkWrap li.link .text .t em { font-size: 33px; margin-right: .5em; }
/* line 284, style.scss */
.serviceSec.isSub ul.linkWrap li.link .text .t span { font-size: 14px; }
/* line 286, style.scss */
.serviceSec.isSub ul.linkWrap li.link .text .read { display: none; }
/* line 287, style.scss */
.serviceSec.isSub ul.linkWrap li.link .text .btnCmn { margin: 0 auto 0; }
/* line 294, style.scss */
.serviceSec.isSub ul.linkWrap li.link.link01 { clip-path: polygon(0 0, 100% 0, calc(100% - var(--slant)) 100%, 0 100%); }
/* line 295, style.scss */
.serviceSec.isSub ul.linkWrap li.link.link01 .text { align-items: center; padding-left: 0px; }
/* line 296, style.scss */
.serviceSec.isSub ul.linkWrap li.link.link01 .text .t::after { right: auto; }
/* line 299, style.scss */
.serviceSec.isSub ul.linkWrap li.link.link02 { margin-top: 0px; margin-left: calc(10px - var(--slant)); clip-path: polygon(var(--slant) 0, 100% 0, 100% 100%, 0 100%); }
/* line 300, style.scss */
.serviceSec.isSub ul.linkWrap li.link.link02 .text { align-items: center; padding-right: 0px; }
/* line 301, style.scss */
.serviceSec.isSub ul.linkWrap li.link.link02 .text .t::after { left: 50%; }
/* line 307, style.scss */
.serviceSec.isTab { padding: 0; margin: 50px auto 50px; --cardH: 80px; }
/* line 310, style.scss */
.serviceSec.isTab ul.linkWrap li.link { width: calc(100% - 20px); padding-top: 0px; transition: .4s all; }
/* line 311, style.scss */
.serviceSec.isTab ul.linkWrap li.link a { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; width: 100%; height: 100%; }
/* line 313, style.scss */
.serviceSec.isTab ul.linkWrap li.link a .text .t { justify-content: center; margin-bottom: 0em; }
/* line 314, style.scss */
.serviceSec.isTab ul.linkWrap li.link a .text .t::after { content: none; }
/* line 315, style.scss */
.serviceSec.isTab ul.linkWrap li.link a .text .t i { width: 45px; line-height: 1; margin-right: .75em; }
/* line 316, style.scss */
.serviceSec.isTab ul.linkWrap li.link a .text .t em { font-size: 25px; margin-right: .5em; }
/* line 317, style.scss */
.serviceSec.isTab ul.linkWrap li.link a .text .t span { font-size: 12px; padding-top: .25em; }
/* line 320, style.scss */
.serviceSec.isTab ul.linkWrap li.link a:hover { opacity: 1; }
/* line 322, style.scss */
.serviceSec.isTab ul.linkWrap li.link:hover { opacity: .7; }
/* line 323, style.scss */
.serviceSec.isTab ul.linkWrap li.link.link01 { clip-path: polygon(0 0, 100% 0, calc(100% - var(--slant)) 100%, 0 100%); }
/* line 324, style.scss */
.serviceSec.isTab ul.linkWrap li.link.link01 .text { align-items: center; padding-left: 0px; }
/* line 328, style.scss */
.serviceSec.isTab ul.linkWrap li.link.link02 { margin-top: 0px; margin-left: calc(10px - var(--slant)); clip-path: polygon(var(--slant) 0, 100% 0, 100% 100%, 0 100%); }
/* line 329, style.scss */
.serviceSec.isTab ul.linkWrap li.link.link02 .text { align-items: center; padding-right: 0px; }

/* line 337, style.scss */
.fire_protection .serviceSec.isTab ul.linkWrap li.link.link02 { opacity: .5; }
/* line 337, style.scss */
.fire_protection .serviceSec.isTab ul.linkWrap li.link.link02:hover { opacity: 1; }

/* line 338, style.scss */
.electrical_works .serviceSec.isTab ul.linkWrap li.link.link01 { opacity: .5; }
/* line 338, style.scss */
.electrical_works .serviceSec.isTab ul.linkWrap li.link.link01:hover { opacity: 1; }

@media only screen and (max-width: 750px) { /* line 343, style.scss */
  .serviceSec { padding: 0 0%; --cardH: 375px; --angle: 45deg; --slant: calc(var(--cardH) * tan(var(--angle))); --mar: 280px; }
  /* line 348, style.scss */
  .serviceSec ul.linkWrap { flex-wrap: wrap; justify-content: space-between; }
  /* line 349, style.scss */
  .serviceSec ul.linkWrap li.link { width: calc(100% + var(--mar)); height: var(--cardH); padding-top: 3em; padding-bottom: 2em; background-size: cover !important; }
  /* line 351, style.scss */
  .serviceSec ul.linkWrap li.link .text .t { margin-bottom: 2em; width: 100%; }
  /* line 352, style.scss */
  .serviceSec ul.linkWrap li.link .text .t::after { width: 1000px; top: calc(100% + 1em); }
  /* line 353, style.scss */
  .serviceSec ul.linkWrap li.link .text .t i { width: 36px; margin-right: .5em; }
  /* line 354, style.scss */
  .serviceSec ul.linkWrap li.link .text .t em { font-size: 28px; margin-right: 0em; }
  /* line 355, style.scss */
  .serviceSec ul.linkWrap li.link .text .t span { font-size: 14px; line-height: 1.5; margin-top: .5em; flex-basis: 100%; }
  /* line 357, style.scss */
  .serviceSec ul.linkWrap li.link .text .read { font-size: 14px; line-height: 1.8; }
  /* line 358, style.scss */
  .serviceSec ul.linkWrap li.link .text .btnCmn { margin: 0; margin-top: 1.5em; width: 180px; }
  /* line 360, style.scss */
  .serviceSec ul.linkWrap li.link.link01 { clip-path: polygon(0 0, 100% 0, calc(100% - var(--slant)) 100%, 0 100%); margin-right: calc(-1*var(--mar)); }
  /* line 361, style.scss */
  .serviceSec ul.linkWrap li.link.link01 .text { align-items: flex-start; padding-left: 1.75em; }
  /* line 362, style.scss */
  .serviceSec ul.linkWrap li.link.link01 .text .t::after { right: 0; }
  /* line 363, style.scss */
  .serviceSec ul.linkWrap li.link.link01 .text .read { padding-right: calc(var(--mar) + 1.75em); }
  /* line 366, style.scss */
  .serviceSec ul.linkWrap li.link.link02 { margin-top: 10px; margin-left: calc(-1*var(--mar)); /*calc(0px - var(--slant))*/ clip-path: polygon(var(--slant) 0, 100% 0, 100% 100%, 0 100%); }
  /* line 367, style.scss */
  .serviceSec ul.linkWrap li.link.link02 .text { align-items: flex-end; padding-right: 6%; }
  /* line 368, style.scss */
  .serviceSec ul.linkWrap li.link.link02 .text .t { justify-content: flex-end; }
  /* line 368, style.scss */
  .serviceSec ul.linkWrap li.link.link02 .text .t span { text-align: right; }
  /* line 368, style.scss */
  .serviceSec ul.linkWrap li.link.link02 .text .t::after { left: 0; }
  /* line 369, style.scss */
  .serviceSec ul.linkWrap li.link.link02 .text .read { padding-left: calc(var(--mar) + 1.75em); }
  /* line 374, style.scss */
  .serviceSec.isSub { margin-top: 120px; --cardH: 320px; --angle: 35deg; --mar: 280px; }
  /* line 378, style.scss */
  .serviceSec.isSub ul.linkWrap { flex-wrap: nowrap; }
  /* line 379, style.scss */
  .serviceSec.isSub ul.linkWrap li.link { width: calc(100% - 62px); padding-top: 1.5em; padding-bottom: 1.5em; }
  /* line 381, style.scss */
  .serviceSec.isSub ul.linkWrap li.link .text .t { justify-content: flex-start; margin-bottom: 2.5em; }
  /* line 382, style.scss */
  .serviceSec.isSub ul.linkWrap li.link .text .t::after { width: calc(100% + 0px); position: absolute; left: 50%; transform: translateX(-50%); margin: auto; z-index: 10; }
  /* line 383, style.scss */
  .serviceSec.isSub ul.linkWrap li.link .text .t i { width: 36px; line-height: 1; margin-right: .75em; }
  /* line 384, style.scss */
  .serviceSec.isSub ul.linkWrap li.link .text .t em { font-size: 28px; margin-right: 0em; }
  /* line 385, style.scss */
  .serviceSec.isSub ul.linkWrap li.link .text .t span { font-size: 14px; }
  /* line 387, style.scss */
  .serviceSec.isSub ul.linkWrap li.link .text .read { display: none; }
  /* line 388, style.scss */
  .serviceSec.isSub ul.linkWrap li.link .text .btnCmn { margin: 0; width: 150px; height: 32px; }
  /* line 390, style.scss */
  .serviceSec.isSub ul.linkWrap li.link .text .btnCmn a span { line-height: 1; font-size: 14px; }
  /* line 391, style.scss */
  .serviceSec.isSub ul.linkWrap li.link .text .btnCmn a i { font-size: 12px; }
  /* line 395, style.scss */
  .serviceSec.isSub ul.linkWrap li.link.link01 { clip-path: polygon(0 0, 100% 0, calc(100% - var(--slant)) 100%, 0 100%); padding-left: 1.5em; }
  /* line 396, style.scss */
  .serviceSec.isSub ul.linkWrap li.link.link01 .text { align-items: center; padding-left: 0px; }
  /* line 397, style.scss */
  .serviceSec.isSub ul.linkWrap li.link.link01 .text .t span { text-align: left; }
  /* line 397, style.scss */
  .serviceSec.isSub ul.linkWrap li.link.link01 .text .t::after { right: auto; }
  /* line 398, style.scss */
  .serviceSec.isSub ul.linkWrap li.link.link01 .text .btnCmn { margin-right: auto; }
  /* line 401, style.scss */
  .serviceSec.isSub ul.linkWrap li.link.link02 { margin-top: 45px; margin-left: calc(0px - var(--slant)); clip-path: polygon(var(--slant) 0, 100% 0, 100% 100%, 0 100%); display: flex; flex-direction: column; flex-wrap: wrap; padding-right: 1.5em; }
  /* line 402, style.scss */
  .serviceSec.isSub ul.linkWrap li.link.link02 .text { align-items: center; padding-right: 0px; margin-top: auto; }
  /* line 403, style.scss */
  .serviceSec.isSub ul.linkWrap li.link.link02 .text .t { justify-content: flex-end; margin-top: auto; }
  /* line 403, style.scss */
  .serviceSec.isSub ul.linkWrap li.link.link02 .text .t::after { left: 50%; }
  /* line 404, style.scss */
  .serviceSec.isSub ul.linkWrap li.link.link02 .text .btnCmn { margin-left: auto; }
  /* line 410, style.scss */
  .serviceSec.isTab { padding: 0; margin: 0px auto 20px; --cardH: 60px; --angle: 25deg; --mar: 0px; }
  /* line 414, style.scss */
  .serviceSec.isTab ul.linkWrap { flex-wrap: nowrap; }
  /* line 415, style.scss */
  .serviceSec.isTab ul.linkWrap li.link { width: calc(100% - 20px); padding-top: 0px; padding-bottom: 0; }
  /* line 416, style.scss */
  .serviceSec.isTab ul.linkWrap li.link a { width: 100%; height: 100%; }
  /* line 418, style.scss */
  .serviceSec.isTab ul.linkWrap li.link a .text .t { justify-content: flex-start; margin-bottom: 0em; margin-top: -.5em; }
  /* line 419, style.scss */
  .serviceSec.isTab ul.linkWrap li.link a .text .t::after { content: none; }
  /* line 420, style.scss */
  .serviceSec.isTab ul.linkWrap li.link a .text .t i { width: 26px; margin-right: .35em; }
  /* line 421, style.scss */
  .serviceSec.isTab ul.linkWrap li.link a .text .t em { font-size: 18px; margin-right: 0em; }
  /* line 422, style.scss */
  .serviceSec.isTab ul.linkWrap li.link a .text .t span { font-size: 10px; line-height: 1; padding-top: 0em; margin-top: 0; }
  /* line 425, style.scss */
  .serviceSec.isTab ul.linkWrap li.link a:hover { opacity: 1; }
  /* line 427, style.scss */
  .serviceSec.isTab ul.linkWrap li.link:hover { opacity: .7; }
  /* line 428, style.scss */
  .serviceSec.isTab ul.linkWrap li.link.link01 { clip-path: polygon(0 0, 100% 0, calc(100% - var(--slant)) 100%, 0 100%); margin-right: 0; }
  /* line 429, style.scss */
  .serviceSec.isTab ul.linkWrap li.link.link01 a { justify-content: flex-start; padding-left: 1em; }
  /* line 430, style.scss */
  .serviceSec.isTab ul.linkWrap li.link.link01 .text { align-items: center; padding-left: 0px; }
  /* line 432, style.scss */
  .serviceSec.isTab ul.linkWrap li.link.link01 .text .btnCmn { margin-right: auto; }
  /* line 435, style.scss */
  .serviceSec.isTab ul.linkWrap li.link.link02 { margin-top: 0px; margin-left: calc(10px - var(--slant)); clip-path: polygon(var(--slant) 0, 100% 0, 100% 100%, 0 100%); margin-left: -24px; }
  /* line 436, style.scss */
  .serviceSec.isTab ul.linkWrap li.link.link02 a { justify-content: flex-end; padding-right: 1em; }
  /* line 437, style.scss */
  .serviceSec.isTab ul.linkWrap li.link.link02 .text { justify-content: flex-end; padding-right: 0px; }
  /* line 438, style.scss */
  .serviceSec.isTab ul.linkWrap li.link.link02 .text .t { justify-content: flex-end; }
  /* line 439, style.scss */
  .serviceSec.isTab ul.linkWrap li.link.link02 .text .btnCmn { margin-left: auto; } }
