@charset "UTF-8";
/* 
----------------------------------------
Framework Bluma Cunstom - Shimz Group Portal用
----------------------------------------
*/
/*color setting*/
@import url(https://fonts.googleapis.com/icon?family=Material+Icons);
html {
  scroll-behavior: auto;
  word-break: auto-phrase;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

html body #group-index {
  scroll-behavior: auto;
}

body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  color: rgb(51, 51, 51);
  overflow-wrap: anywhere; /* 収まらない場合に折り返す */
  word-break: normal; /* 単語の分割はデフォルトに依存 */
  line-break: strict; /* 禁則処理を厳格に適用 */
}

.flex-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.breadcrumb,
.breadcrumb a {
  font-size: 14px;
}

.breadcrumb li + li::before {
  color: #b5b5b5;
  content: "＞";
  font-size: 14px;
}

main {
  padding-top: 1rem;
  padding-bottom: 8rem;
  /* padding-left:1.5rem;
  padding-right:1.5rem; */
}

.content-box {
  border: 1px solid #ccc;
  background-color: white;
  border-radius: 0.25rem;
  -webkit-box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1), 0 0px 0 1px rgba(10, 10, 10, 0.02);
  box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1), 0 0px 0 1px rgba(10, 10, 10, 0.02);
  color: #4a4a4a;
  max-width: 100%;
  position: relative;
}

figure.image {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center bottom;
  object-position: center bottom;
  width: 100%;
  height: 160px;
  font-family: "object-fit: cover; object-position: center bottom;";
}

/* 
----------------------------------------
BlumaCSS用 設定 - Shimz Group Portal用
----------------------------------------
*/
body header .global_menu {
  visibility: visible;
  opacity: 1;
}

body header .global_menu_sp {
  visibility: hidden;
  opacity: 0;
}

@media (width < 1024px) {
  body header .global_menu {
    visibility: hidden;
    opacity: 0;
  }
  body header .global_menu_sp {
    visibility: visible;
    opacity: 1;
  }
}
#common_page header {
  border-bottom: 3px solid #304998;
  padding-top: 0.625rem;
  padding-bottom: 1.875rem;
  margin-bottom: 2.5rem;
}
#common_page .container:not(.is-fluid) {
  padding-left: 32px;
  padding-right: 32px;
}
@media (768px < width) {
  #common_page .container:not(.is-fluid) {
    padding-left: auto;
    padding-right: auto;
  }
}
#common_page .title {
  font-size: 2rem;
  font-weight: 400;
}
#common_page .column {
  max-height: 100%;
  position: relative;
}

/* 
----------------------------------------
共通footer
----------------------------------------
*/
footer.footer {
  background-color: #efefef;
  padding-top: 3rem;
  padding-bottom: 3rem;
}
footer.footer p {
  font-size: 14px;
}

/* 
----------------------------------------
Utility 関連
----------------------------------------
*/
/*社内￥社外 表示切り替えjavascript用*/
.targetTag_in {
  display: none !important;
}

.targetTag_gr {
  display: none !important;
}

.display-on {
  display: block !important;
}

.display-off {
  display: none !important;
}

a {
  color: #333;
}

a:hover {
  color: #28538d;
  text-decoration: none;
}

.qr-disp-setting {
  max-height: 100px;
}

.fa-youtube {
  color: #c4302b;
}

.fa-instagram {
  color: #cf2e92;
}

.fa-twitter {
  color: #1da1f2;
}

.fa-facebook {
  color: #1877f2;
}

.link-box a {
  display: block;
}

.link-box a:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: inline-block;
  cursor: pointer;
}

.column {
  position: relative;
}

.is-centered-mobile {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

/*-------------
サイドメニュー追従設定
-------------*/
.widget + .widget {
  margin-top: 20px;
}

.widget--sticky {
  position: sticky;
  top: 20px;
}

@media (width >= 769px) {
  .is-centered-mobile {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
  }
}
.common-border {
  border-bottom: 1px solid #ccc;
}

.common-border.b-mid {
  border-bottom: 2px solid #ccc;
}

.common-border.b-bold {
  border-bottom: 4px solid #ccc;
}

.common-border.b-double {
  border-bottom: 4px double #ccc;
}

.common-border.border-shimz {
  border-color: #304998;
}

/* 
----------------------------------------
ページ上部に戻る 関連
----------------------------------------
*/
#page-toparea {
  z-index: 10;
  position: fixed;
  bottom: 20px;
  right: 0;
  -webkit-box-shadow: 0.2rem 0.2rem 0.5em -0.125em rgba(10, 10, 10, 0.1), 0 0px 0 1px rgba(10, 10, 10, 0.02);
  box-shadow: 0.2rem 0.2rem 0.5em -0.125em rgba(10, 10, 10, 0.1), 0 0px 0 1px rgba(10, 10, 10, 0.02);
}
#page-toparea .btn-page-top {
  position: relative;
  padding: 0.4rem;
  background: #444;
}
#page-toparea .btn-page-top a {
  color: white;
}


/* 
----------------------------------------
清水建設グループ募集会社一覧 - 紹介ページ
----------------------------------------
*/
#recruit-group {
  /* HTML: <div class="tooltip">This is a Speech Bubble with a solid coloration and with border radius </div> */
}
#recruit-group .navbar.is-fixed-bottom-desktop,
#recruit-group .navbar.is-fixed-top {
  left: 0;
  position: sticky;
  right: 0;
  z-index: 30;
}
#recruit-group .navbar-item img {
  max-height: 2rem;
}
#recruit-group .navbar-burger:hover {
  background-color: rgba(0, 0, 0, 0);
}
#recruit-group .navbar-burger span {
  left: calc(50% - 12px);
  height: 2px;
  width: 24px;
}
#recruit-group .navbar-burger span:first-child {
  top: calc(50% - 8px);
}
#recruit-group .navbar-burger span:nth-child(2) {
  top: calc(50% - 1px);
}
#recruit-group .navbar-burger span:nth-child(3) {
  top: calc(50% + 6px);
}
#recruit-group .navbar-burger.is-active span:first-child {
  -webkit-transform: translateY(7px) rotate(45deg);
          transform: translateY(7px) rotate(45deg);
}
#recruit-group .navbar-burger.is-active span:nth-child(3) {
  -webkit-transform: translateY(-7px) rotate(-45deg);
          transform: translateY(-7px) rotate(-45deg);
}
#recruit-group nav .navbar-brand {
  width: 100%;
  /* padding-right: 1rem; */
}
#recruit-group nav .navbar-burger {
  display: block;
  margin-right: initial !important;
  margin-left: auto !important;
}
#recruit-group nav .navbar-end {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
#recruit-group .navbar-menu {
  background: rgba(255, 255, 255, 0.8);
  display: block;
  position: absolute;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  width: 100vw;
  height: 100vh;
  top: 80%;
  left: 0;
  right: 0;
}
#recruit-group .navbar-menu {
  display: none;
}
#recruit-group .is-hidden {
  display: none;
}
#recruit-group .is-active {
  -webkit-animation: fadeIn 0.35s;
  animation: fadeIn 0.5s;
  display: block;
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
#recruit-group .is-fading-out {
  -webkit-animation: fadeOut 0.3s;
  animation: fadeOut 0.3s;
}
#recruit-group .tooltip {
  position: absolute;
  top: -45%;
  left: -5%;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  z-index: 5;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
}
@media screen and (width < 768px) {
  #recruit-group .tooltip {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    top: -32%;
  }
}
#recruit-group .tooltip {
  --s: 1.5em; /* triangle size */
  --p: 50%; /* triangle position (0%:left 100%:right) */
  --r: 1em; /* the radius */
  padding: 0.6em 1em;
  border: var(--s) solid rgba(0, 0, 0, 0);
  border-radius: calc(var(--r) + var(--s));
  background: border-box linear-gradient(60deg, #cc333f, #c40d0d); /* the coloration */
  --_m: 100% / var(--s) var(--s) no-repeat;
  --_p: clamp(var(--r) + 3 * var(--s) / 2, var(--p), 100% - var(--r) - 3 * var(--s) / 2);
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #000)) padding-box, radial-gradient(100% 100% at 100% 100%, rgba(0, 0, 0, 0) 99%, #000 102%) calc(var(--_p) + var(--s) / 2) var(--_m), radial-gradient(100% 100% at 0 100%, rgba(0, 0, 0, 0) 99%, #000 102%) calc(var(--_p) - var(--s) / 2) var(--_m);
  -webkit-mask: linear-gradient(#000 0 0) padding-box, radial-gradient(100% 100% at 100% 100%, rgba(0, 0, 0, 0) 99%, #000 102%) calc(var(--_p) + var(--s) / 2) var(--_m), radial-gradient(100% 100% at 0 100%, rgba(0, 0, 0, 0) 99%, #000 102%) calc(var(--_p) - var(--s) / 2) var(--_m);
}
#recruit-group .content-read {
  display: inline-block;
  background-color: #fff;
  border: 1px solid #356cb6;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1rem;
  color: #356cb6;
  text-align: center;
  vertical-align: middle;
  padding: 0 1rem;
  margin: 0 10px;
}
#recruit-group .img_logo {
  height: 32px;
  width: auto;
}
#recruit-group .company-telmail {
  min-width: 100%;
}
#recruit-group .btn {
  margin-top: 0;
  padding-top: 0;
}
#recruit-group .btn-homepage {
  background-color: #fff;
  border: 1px solid #999;
  color: #333;
  font-size: 0.6rem;
  text-align: center;
  padding: 0.3rem 1rem 0.2rem;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
#recruit-group .btn-homepage:hover {
  background-color: #ddd;
  opacity: 0.7;
}
#recruit-group .tag-recruit_01 {
  background-color: #FCC2D2;
  border: 1px solid #FCC2D2;
  color: #595959;
  border-radius: 1rem;
  font-size: 0.8rem;
  padding: 0.1rem 0.4rem 0.1rem;
  margin: 2px;
}
#recruit-group .tag-recruit_02 {
  background-color: #CEDCA8;
  border: 1px solid #CEDCA8;
  color: #595959;
  border-radius: 1rem;
  font-size: 0.8rem;
  padding: 0.1rem 0.4rem 0.1rem;
  margin: 2px;
}
#recruit-group .tag-recruit_03 {
  background-color: #FFC4B8;
  border: 1px solid #FFC4B8;
  color: #595959;
  border-radius: 1rem;
  font-size: 0.8rem;
  padding: 0.1rem 0.4rem 0.1rem;
  margin: 2px;
}
#recruit-group .tag-recruit_04 {
  background-color: #9FE0F2;
  border: 1px solid #9FE0F2;
  color: #595959;
  border-radius: 1rem;
  font-size: 0.8rem;
  padding: 0.1rem 0.4rem 0.1rem;
  margin: 2px;
}
#recruit-group .tag-recruit_05 {
  background-color: #B2D9FF;
  border: 1px solid #B2D9FF;
  color: #595959;
  border-radius: 1rem;
  font-size: 0.8rem;
  padding: 0.1rem 0.4rem 0.1rem;
  margin: 2px;
}
#recruit-group .tag-recruit_06 {
  background-color: #E1C9F8;
  border: 1px solid #E1C9F8;
  color: #595959;
  border-radius: 1rem;
  font-size: 0.8rem;
  padding: 0.1rem 0.4rem 0.1rem;
  margin: 2px;
}
#recruit-group .tag-recruit_07 {
  background-color: #F6CBA5;
  border: 1px solid #F6CBA5;
  color: #595959;
  border-radius: 1rem;
  font-size: 0.8rem;
  padding: 0.1rem 0.4rem 0.1rem;
  margin: 2px;
}
#recruit-group .tag-recruit_08 {
  background-color: #f8f7c9;
  border: 1px solid #f8f7c9;
  color: #595959;
  border-radius: 1rem;
  font-size: 0.8rem;
  padding: 0.1rem 0.4rem 0.1rem;
  margin: 2px;
}
#recruit-group .tag-recruit_09 {
  background-color: rgba(246, 165, 242, 0.8549019608);
  border: 1px solid rgba(246, 165, 242, 0.8549019608);
  color: #595959;
  border-radius: 1rem;
  font-size: 0.8rem;
  padding: 0.1rem 0.4rem 0.1rem;
  margin: 2px;
}
#recruit-group .tag-recruit_10 {
  background-color: rgba(170, 252, 245, 0.8156862745);
  border: 1px solid rgba(170, 252, 245, 0.8156862745);
  color: #595959;
  border-radius: 1rem;
  font-size: 0.8rem;
  padding: 0.1rem 0.4rem 0.1rem;
  margin: 2px;
}
#recruit-group .tag-recruit_11 {
  background-color: rgba(165, 246, 183, 0.8274509804);
  border: 1px solid rgba(165, 246, 183, 0.8274509804);
  color: #595959;
  border-radius: 1rem;
  font-size: 0.8rem;
  padding: 0.1rem 0.4rem 0.1rem;
  margin: 2px;
}
#recruit-group .tag-recruit_12 {
  background-color: #f1f6a5;
  border: 1px solid #f1f6a5;
  color: #595959;
  border-radius: 1rem;
  font-size: 0.8rem;
  padding: 0.1rem 0.4rem 0.1rem;
  margin: 2px;
}
#recruit-group .tag-recruit_13 {
  background-color: #D1A7C2;
  border: 1px solid #D1A7C2;
  color: #595959;
  border-radius: 1rem;
  font-size: 0.8rem;
  padding: 0.1rem 0.4rem 0.1rem;
  margin: 2px;
}
#recruit-group .tag-recruit_14 {
  background-color: #9fadc2;
  border: 1px solid #9fadc2;
  color: #595959;
  border-radius: 1rem;
  font-size: 0.8rem;
  padding: 0.1rem 0.4rem 0.1rem;
  margin: 2px;
}
#recruit-group .btn-entry {
  min-width: 80%;
}
#recruit-group .btn-entry a {
  display: block;
  background-color: #00abeb;
  border: 1px solid #00abeb;
  color: #fff;
  font-size: 1rem;
  line-height: 1;
  text-align: center;
  padding: 0.8rem 1rem 0.9rem;
  margin-top: 0.2rem;
  margin-bottom: 0.2rem;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  width: 100%;
}
#recruit-group .btn-entry a:hover {
  border: 1px solid #017daa;
  background-color: #017daa;
  color: #fff;
  opacity: 1;
}
#recruit-group .btn-entry_outline {
  min-width: 80%;
}
#recruit-group .btn-entry_outline a {
  display: block;
  background-color: #ffffff;
  border: 1px solid #017daa;
  color: #017daa;
  font-size: 1rem;
  line-height: 1;
  text-align: center;
  padding: 0.8rem 1rem 0.9rem;
  margin-top: 0.2rem;
  margin-bottom: 0.2rem;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  width: 100%;
}
#recruit-group .btn-entry_outline a:hover {
  border: 1px solid #017daa;
  background-color: #c6efff;
  color: #017daa;
  opacity: 1;
}
#recruit-group .btn-entry_outline p {
  display: block;
  color: #356cb6;
  border: 1px solid #356cb6;
  width: auto;
  font-size: 1rem;
  line-height: 1;
  padding: 4px 8px;
}
#recruit-group .btn-entry_outline p:hover {
  background-color: #356cb6;
  color: #fff;
  opacity: 1;
}
#recruit-group .btn-entry .btn-homepage {
  color: #666;
  border: 1px solid #666;
  font-size: 0.8rem;
  padding-left: 2rem;
  padding-right: 2rem;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
#recruit-group .btn-entry .btn-homepage:hover {
  color: #fff;
  border: 1px solid #666;
  background-color: #666;
}
#recruit-group .nolink-btn {
  display: block;
  color: #666;
  border: 1px solid #ddd;
  background-color: #ddd;
  width: auto;
  font-size: 0.8rem;
  font-weight: bold;
  line-height: 1;
  padding: 4px;
  margin-bottom: 4px;
}
#recruit-group .company .contact {
  font-size: 1rem;
  line-height: 1;
}
#recruit-group .company .contact span {
  display: inline-block;
  font-size: 12px;
  border: 1px solid #999;
  border-radius: 4px;
  color: #666;
  padding: 1px 4px;
  line-height: 1;
  position: relative;
  top: -2px;
}
#recruit-group .company .contact * a {
  color: #666;
}
#recruit-group .company .contact * a:hover {
  color: #356cb6;
  text-decoration: underline;
}
#recruit-group .company .contact div {
  padding-left: 0.5rem;
}
#recruit-group .company .contact div:first-child {
  padding-right: 0.5rem;
}
#recruit-group .company .contactdiv a {
  color: #bbb;
  border: 1px solid #356cb6;
  padding: 8px;
}
#recruit-group hr.company_hr {
  content: "";
  width: 80%;
  border-top: 1px dotted #ccc;
  margin-top: 0.4rem;
  margin-bottom: 0.4rem;
}
#recruit-group .grids {
  display: -ms-grid;
  display: grid;
}
#recruit-group .subgrid_item {
  display: -ms-grid;
  display: grid;
  -ms-grid-row-span: 3;
  grid-row: span 3;
  -ms-grid-rows: subgrid;
  grid-template-rows: subgrid;
  -ms-grid-columns: subgrid;
  grid-template-columns: subgrid;
}
#recruit-group .subgrid_item > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
#recruit-group .subgrid_item div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: stretch;
      align-content: stretch;
}

.tip {
  position: relative;
  cursor: pointer;
  display: inline-block;
}
.tip a {
  color: #fff !important;
  background-color: #aaa !important;
}

.tip p {
  margin: 0;
  padding: 0;
}

.description1,
.description2,
.description3,
.description4,
.description5,
.description6 {
  display: none;
  position: absolute;
  padding: 10px;
  font-size: 12px;
  line-height: 1.5;
  color: #fff;
  border-radius: 5px;
  background: #000;
  width: 200px;
}

.description1:before,
.description2:before,
.description3:before,
.description4:before,
.description5:before,
.description6:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  border: 10px solid transparent;
  border-top: 10px solid #000;
  margin-left: -15px;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}

.tip:hover .description1,
.tip:hover .description2,
.tip:hover .description3,
.tip:hover .description4,
.tip:hover .description5,
.tip:hover .description6 {
  display: inline-block;
  top: -50px;
  left: 0%;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}

.column ul {
  list-style: none;
  margin-left: 0;
}

.content dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: 0;
}
.content dt {
  margin-left: 0;
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
}
.content dd {
  margin-left: 0;
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
}
.content h4 {
  border-bottom: 1px solid #015dac;
}
.content .button {
  padding: 2rem;
  color: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.content .button:hover {
  background-color: #2c78bb;
}
@media screen and (width < 520px), print {
  .content dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
  }
  .content dt {
    width: 100%;
  }
  .content dd {
    width: 100%;
    margin-left: 0;
  }
}

.content-sub {
  margin-bottom: 3rem;
}

/*# sourceMappingURL=custom.css.map */