.contact_cm .t_ttl span {
  color: #0098DB;
}

.hero picture {
  position: relative;
  -webkit-transform: translateZ(0);
     -moz-transform: translateZ(0);
          transform: translateZ(0);
}

.hero picture::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 43, 62, 0.34);
}

.ttl figure::after,
.ttl picture::after {
  background: rgba(0, 43, 62, 0.34);
}

.p_contact .contact_bot dl dt span {
  background: #FDA833;
}

.greeting h2 {
  color: #0086C1;
  border-bottom-color: #0086C1;
}

@media screen and (min-width: 769px) {
  .footer_top {
    padding-bottom: 0;
  }
  .footer_top_left p {
    margin-bottom: 0;
  }
  .footer > p {
    font-size: 10px;
    line-height: 15px;
  }
  .p_top .mv figure::after,
  .p_top .mv picture::after {
    background: rgba(0, 43, 62, 0.24);
  }
  .p_top .concept .txt {
    position: relative;
    z-index: 2;
  }
  .p_top .concept.work {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
       -moz-box-orient: horizontal;
       -moz-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-top: 80px;
    margin-bottom: 176px;
    -webkit-box-align: end;
       -moz-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .p_top .concept.work > picture {
    width: 85.71429%;
    padding: 28.5px 23.5px;
    -moz-border-radius: 0 20px 20px 0;
         border-radius: 0 20px 20px 0;
    background: #EDEDED;
  }
  .p_top .concept.work > picture img {
    width: 100%;
    height: auto;
    -moz-border-radius: 0;
         border-radius: 0;
  }
  .p_top .concept.work .txt {
    position: relative;
    z-index: 2;
    width: -webkit-calc(14.28571% + 567px);
    width: -moz-calc(14.28571% + 567px);
    width: calc(14.28571% + 567px);
    margin-left: -567px;
    -moz-border-radius: 20px 0 0 20px;
         border-radius: 20px 0 0 20px;
    margin-bottom: -76px;
  }
  .p_top .concept.work .txt .txt_inner {
    margin-left: 0;
    padding: 57px 0 60px 68px;
  }
  .hero picture::after {
    -moz-border-radius: 20px;
         border-radius: 20px;
  }
  .comapany .dl-box {
    font-size: 16px;
    line-height: 25px;
  }
  .comapany .dl-box > dd > dl + dl {
    margin-top: 32px;
  }
  .comapany .dl-box > dd > dl dt {
    width: 100%;
  }
  .comapany .dl-box > dd > dl dd {
    width: 100%;
  }
  .comapany .map iframe {
    height: 233px;
  }
  .recruit {
    max-width: 800px;
    width: 100%;
    margin: 57px auto 0;
  }
  .recruit h2 {
    margin-bottom: 0;
  }
  .recruit .list {
    margin: 50px auto 80px;
    border-top: 1px solid #E5E5E5;
  }
  .recruit .list dl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 16px;
    line-height: 24px;
    padding: 20px 0;
    text-align: left;
    border-bottom: 1px solid #E5E5E5;
  }
  .recruit .list dl dt {
    width: 175px;
    font-weight: 700;
    padding-left: 20px;
  }
  .recruit .list dl dd {
    -webkit-box-flex: 1;
       -moz-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .workChild {
    max-width: 1000px;
    width: 100%;
    margin: 57px auto 59px;
  }
  .workChild h2 {
    margin-bottom: 0;
  }
  .workChild .list {
    text-align: left;
    margin: 50px auto 0;
  }
  .workChild .list ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
       -moz-box-orient: horizontal;
       -moz-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    margin: -19px -17.5px;
  }
  .workChild .list ul li {
    margin: 19px 17.5px;
    width: 310px;
  }
  .workChild .list ul li a {
    height: 100%;
    width: 100%;
    display: block;
    background: #F5F5F5;
    padding: 0 0 24px;
  }
  .workChild .list ul li a figure {
    width: 100%;
  }
  .workChild .list ul li a figure img {
    width: 100%;
    height: 215px;
    object-fit: cover;
  }
  .workChild .list ul li a time {
    margin-top: 10px;
    font-size: 16px;
    line-height: 22px;
    font-weight: 500;
    color: #FFBA00;
    display: block;
    width: 100%;
    padding: 0 17px;
  }
  .workChild .list ul li a p {
    margin-top: 10px;
    font-size: 16px;
    line-height: 22px;
    font-weight: 700;
    color: #000000;
    display: block;
    width: 100%;
    padding: 0 44px 0 17px;
    font-family: "Noto Serif JP", serif;
    position: relative;
    -webkit-transform: translateZ(0);
       -moz-transform: translateZ(0);
            transform: translateZ(0);
  }
  .workChild .list ul li a p::after {
    position: absolute;
    content: "";
    width: 7.5px;
    height: 14px;
    background: url("../img/workArrow.png") 0 0 no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    right: 20.5px;
    top: 50%;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .workChild .pagination {
    margin-top: 38px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .workChild .pagination span, .workChild .pagination a {
    width: 40px;
    height: 40px;
    font-size: 18px;
    line-height: 26px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: #EAEAEA;
    color: #000000;
    margin: 0 1.5px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .workChild .pagination span:hover, .workChild .pagination a:hover {
    opacity: 1;
    background: #0098DB;
    color: #fff;
  }
  .workChild .pagination .current {
    background: #0098DB;
    color: #fff;
  }
  .workChild .pagination .dot {
    text-indent: -9999px;
    overflow: hidden;
    background: transparent url("../img/workDot.png") center no-repeat;
    -moz-background-size: 15.82px auto;
         background-size: 15.82px auto;
    pointer-events: none;
  }
  .workChild .detail {
    text-align: left;
    padding-top: 46px;
  }
  .workChild .detail__top {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
       -moz-box-orient: horizontal;
       -moz-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    margin: -8px;
  }
  .workChild .detail__top article {
    width: 510px;
    margin: 8px;
    font-family: "Noto Serif JP",serif;
  }
  .workChild .detail__top article h3 {
    font-size: 24px;
    line-height: 33px;
    font-weight: 700;
    color: #0086C1;
  }
  .workChild .detail__top article time {
    display: block;
    width: 100%;
    font-size: 16px;
    line-height: 23px;
    font-weight: 500;
    margin-top: 10px;
    color: #313131;
  }
  .workChild .detail__top article p {
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    color: #313131;
    margin-top: 40px;
  }
  .workChild .detail__top figure {
    width: 473px;
    margin: 8px;
  }
  .workChild .detail__top figure img {
    width: 100%;
    height: auto;
  }
  .workChild .detail__gallery {
    margin-top: 30px;
  }
  .workChild .detail__gallery ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
       -moz-box-orient: horizontal;
       -moz-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    margin: -10px;
  }
  .workChild .detail__gallery ul li {
    line-height: 0;
    width: 320px;
    margin: 10px;
  }
  .workChild .detail__gallery ul li img {
    width: 100%;
    height: auto;
  }
  .workChild .detail__back {
    text-align: center;
    margin-top: 70px;
  }
  .workChild .detail__back a {
    margin-top: 0;
  }
}

@media screen and (max-width: 768px) {
  .p_top .mv .txt {
    padding-top: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p_top .concept .txt .txt_inner a.btn {
    margin-top: 13.52657vw;
  }
  .p_top .concept.work {
    margin-top: 14.49275vw;
    margin-bottom: 16.90821vw;
    -webkit-box-align: end;
       -moz-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .p_top .concept.work > picture {
    margin-left: 0;
    width: 96.37681vw;
    padding: 4.4686vw 1.88406vw;
    -moz-border-radius: 0 4.83092vw 4.83092vw 0;
         border-radius: 0 4.83092vw 4.83092vw 0;
    background: #EDEDED;
  }
  .p_top .concept.work > picture img {
    width: 100%;
    height: auto;
    -moz-border-radius: 0;
         border-radius: 0;
  }
  .p_top .concept.work .txt {
    margin-left: auto;
    -moz-border-radius: 4.83092vw 0 0 4.83092vw;
         border-radius: 4.83092vw 0 0 4.83092vw;
    margin-top: -19.32367vw;
  }
  .p_top .concept.work .txt .txt_inner {
    padding: 8.9372vw 0 11.35266vw 7.24638vw;
  }
  .p_top .concept.work .txt .txt_inner p {
    font-size: 3.62319vw;
    line-height: 6.40097vw;
  }
  .hero picture::after {
    -moz-border-radius: 4.83092vw;
         border-radius: 4.83092vw;
  }
  .company-text {
    text-align: left;
  }
  .comapany .dl-box {
    font-size: 3.86473vw;
    line-height: 6.03865vw;
  }
  .comapany .dl-box > dd > dl + dl {
    margin-top: 4.83092vw;
  }
  .comapany .dl-box > dd > dl dt {
    width: 100%;
  }
  .comapany .dl-box > dd > dl dd {
    width: 100%;
  }
  .comapany .map iframe {
    margin-top: 2.41546vw;
    width: 100%;
    height: 33.81643vw;
    margin-left: 0;
  }
  .recruit h2 {
    margin-bottom: 0;
  }
  .recruit .list {
    max-width: 92.75362vw;
    width: 100%;
    margin: 9.66184vw auto 19.32367vw;
    border-top: 1px solid #E5E5E5;
  }
  .recruit .list dl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 3.86473vw;
    line-height: 5.7971vw;
    padding: 4.83092vw 0;
    text-align: left;
    border-bottom: 1px solid #E5E5E5;
  }
  .recruit .list dl dt {
    width: 26.08696vw;
    font-weight: 700;
  }
  .recruit .list dl dd {
    -webkit-box-flex: 1;
       -moz-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .workChild {
    max-width: 92.75362vw;
    width: 100%;
    margin: 14.49275vw auto 14.49275vw;
  }
  .workChild h2 {
    margin-bottom: 0;
  }
  .workChild .list {
    text-align: left;
    margin: 19.32367vw auto 0;
  }
  .workChild .list ul li {
    width: 100%;
  }
  .workChild .list ul li + li {
    margin-top: 4.83092vw;
  }
  .workChild .list ul li a {
    width: 100%;
    display: block;
    background: #F5F5F5;
    padding: 0 0 5.55556vw;
  }
  .workChild .list ul li a figure {
    width: 100%;
  }
  .workChild .list ul li a figure img {
    width: 100%;
    height: 64.49275vw;
    object-fit: cover;
  }
  .workChild .list ul li a time {
    margin-top: 2.89855vw;
    font-size: 4.34783vw;
    line-height: 6.28019vw;
    font-weight: 500;
    color: #FFBA00;
    display: block;
    width: 100%;
    padding: 0 5.07246vw;
  }
  .workChild .list ul li a p {
    margin-top: 2.89855vw;
    font-size: 3.86473vw;
    line-height: 5.31401vw;
    font-weight: 700;
    color: #000000;
    display: block;
    width: 100%;
    padding: 0 54px 0 5.07246vw;
    font-family: "Noto Serif JP", serif;
    position: relative;
    -webkit-transform: translateZ(0);
       -moz-transform: translateZ(0);
            transform: translateZ(0);
  }
  .workChild .list ul li a p::after {
    position: absolute;
    content: "";
    width: 2.23671vw;
    height: 4.05797vw;
    background: url("../img/workArrow.png") 0 0 no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    right: 6.13527vw;
    top: 50%;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .workChild .pagination {
    margin-top: 12.07729vw;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .workChild .pagination span,
  .workChild .pagination a {
    width: 9.66184vw;
    height: 9.66184vw;
    font-size: 4.34783vw;
    line-height: 6.28019vw;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: #EAEAEA;
    color: #000000;
    margin: 0 1.5px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .workChild .pagination span:hover,
  .workChild .pagination a:hover {
    opacity: 1;
    background: #0098DB;
    color: #fff;
  }
  .workChild .pagination .current {
    background: #0098DB;
    color: #fff;
  }
  .workChild .pagination .dot {
    text-indent: -9999px;
    overflow: hidden;
    background: transparent url("../img/workDot.png") center no-repeat;
    -moz-background-size: 3.82126vw auto;
         background-size: 3.82126vw auto;
    pointer-events: none;
  }
  .workChild .detail {
    text-align: left;
  }
  .workChild .detail__top article {
    font-family: "Noto Serif JP", serif;
  }
  .workChild .detail__top article h3 {
    font-size: 3.86473vw;
    line-height: 6.76329vw;
    font-weight: 700;
    color: #0086C1;
  }
  .workChild .detail__top article time {
    display: block;
    width: 100%;
    font-size: 3.86473vw;
    line-height: 5.31401vw;
    font-weight: 500;
    margin-top: 2.89855vw;
    color: #313131;
  }
  .workChild .detail__top article p {
    font-size: 3.86473vw;
    line-height: 5.55556vw;
    font-weight: 600;
    color: #313131;
    margin-top: 5.7971vw;
  }
  .workChild .detail__top figure {
    width: 100%;
    margin-top: 5.7971vw;
  }
  .workChild .detail__top figure img {
    width: 100%;
    height: auto;
  }
  .workChild .detail__gallery {
    margin-top: 3.86473vw;
  }
  .workChild .detail__gallery ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
       -moz-box-orient: horizontal;
       -moz-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    margin: -1.44928vw;
  }
  .workChild .detail__gallery ul li {
    line-height: 0;
    width: 44.92754vw;
    margin: 1.44928vw;
  }
  .workChild .detail__gallery ul li img {
    width: 100%;
    height: auto;
  }
  .workChild .detail__back {
    text-align: center;
    margin-top: 16.90821vw;
  }
  .workChild .detail__back a {
    margin-top: 0;
  }
}
