@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700");
@import url(../fonts/icomoon/style.css);
@-webkit-keyframes hover {
  30% {
    -webkit-transform: translate3d(0, -12px, 20px) scale(1) rotateX(-5deg);
    -ms-transform: translate3d(0, -12px, 20px) scale(1) rotateX(-5deg);
    transform: translate3d(0, -12px, 20px) scale(1) rotateX(-5deg); }
  100% {
    -webkit-transform: translate3d(0, -10px, 15px) scale(1) rotateX(-2deg);
    -ms-transform: translate3d(0, -10px, 15px) scale(1) rotateX(-2deg);
    transform: translate3d(0, -10px, 15px) scale(1) rotateX(-2deg); } }

@keyframes hover {
  30% {
    -webkit-transform: translate3d(0, -12px, 20px) scale(1) rotateX(-5deg);
    -ms-transform: translate3d(0, -12px, 20px) scale(1) rotateX(-5deg);
    transform: translate3d(0, -12px, 20px) scale(1) rotateX(-5deg); }
  100% {
    -webkit-transform: translate3d(0, -10px, 15px) scale(1) rotateX(-2deg);
    -ms-transform: translate3d(0, -10px, 15px) scale(1) rotateX(-2deg);
    transform: translate3d(0, -10px, 15px) scale(1) rotateX(-2deg); } }

@-webkit-keyframes out {
  0% {
    -webkit-transform: translate3d(0, -10px, 15px) scale(1) rotateX(-2deg);
    -ms-transform: translate3d(0, -10px, 15px) scale(1) rotateX(-2deg);
    transform: translate3d(0, -10px, 15px) scale(1) rotateX(-2deg); } }

@keyframes out {
  0% {
    -webkit-transform: translate3d(0, -10px, 15px) scale(1) rotateX(-2deg);
    -ms-transform: translate3d(0, -10px, 15px) scale(1) rotateX(-2deg);
    transform: translate3d(0, -10px, 15px) scale(1) rotateX(-2deg); } }

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

i {
  font-style: normal; }

.fr {
  float: right; }

.fl {
  float: left; }

hr.clr {
  height: 1px;
  opacity: 0;
  visibility: hidden;
  display: block;
  width: 100%;
  clear: both; }

html {
  width: 100vw;
  font-size: 62.5%; }

body {
  min-height: 100vh;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  background: #fff;
  padding-top: 40px;
  position: relative;
  min-width: 1200px; }
  body.admin-bar #gnav-wrap {
    top: 32px !important; }
  body.admin-bar #side-wrap {
    top: 72px !important; }
  body.msIE {
    -webkit-font-feature-settings: normal;
            font-feature-settings: normal; }

#wpadminbar {
  background: #8199a7 !important; }

body > .to-top {
  bottom: 125px !important; }

div.contents {
  overflow: hidden;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 50px; }
  body.lower-contents div.contents {
    min-height: 100vh !important;
    padding-bottom: 120px !important; }
  body > div.contents {
    margin-bottom: 0; }
  div.contents.staff-index {
    margin-bottom: 0; }

.inner {
  min-width: 1080px;
  margin: 0 auto;
  height: 100%;
  position: relative; }

.page-footer {
  position: absolute !important;
  left: 0;
  bottom: 0 !important; }

.portfolio-nav * {
  -webkit-box-sizing: content-box;
          box-sizing: content-box; }

#section-header {
  position: absolute;
  width: 100%;
  z-index: 1;
  top: 0px;
  left: 0;
  margin: 0;
  overflow: hidden;
  pointer-events: none; }
  #section-header .inner {
    min-width: 1080px;
    margin: 0 auto;
    padding: 0 18px; }
  #section-header h1 {
    margin-bottom: 15px;
    margin-left: 45px;
    margin-top: 45px; }
  #section-header p {
    padding: 10px 15px;
    width: 590px;
    background: rgba(255, 255, 255, 0.9);
    font-size: 14px !important;
    line-height: 26px !important;
    margin-left: 45px;
    color: #000; }

.form_btn_wrap {
  display: block;
  margin-bottom: 120px; }

/* !!------------------------------------ */
/* !! イニシャライズ */
/* !!------------------------------------ */
/* !! 編集ボタン */
a.post-edit-link {
  z-index: 22;
  position: fixed;
  font-size: 13px;
  color: #fff;
  line-height: 1;
  padding: 10px 20px;
  border-radius: 4px;
  background: #0F6EB5;
  right: 10px;
  top: 50px;
  text-decoration: none; }

/* !!------------------------------------ */
/* !! 新ヘッダー */
#gnav-wrap {
  z-index: 20;
  min-width: 1140px;
  height: 40px;
  background: #fff;
  -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 6px rgba(0, 0, 0, 0.2); }
  #gnav-wrap a {
    background-image: none; }
  #gnav-wrap > .wrap {
    width: 100%;
    max-width: 1280px;
    min-width: 1200px;
    height: 40px; }
    #gnav-wrap > .wrap h1 {
      margin-left: 18px !important; }
      #gnav-wrap > .wrap h1 a {
        display: block; }
  #gnav-wrap nav {
    width: auto !important; }
  #gnav-wrap ul#gnav {
    height: 40px;
    margin-right: 18px;
    width: auto; }
    #gnav-wrap ul#gnav > li {
      width: auto !important;
      background: none;
      position: relative; }
      #gnav-wrap ul#gnav > li:hover, #gnav-wrap ul#gnav > li.current {
        background: #0F6EB5 !important; }
        #gnav-wrap ul#gnav > li:hover > a, #gnav-wrap ul#gnav > li.current > a {
          border-color: #0F6EB5 !important;
          color: #fff !important; }
      #gnav-wrap ul#gnav > li > a {
        width: auto !important;
        min-width: 5em;
        background-image: none;
        font-size: 14px;
        color: #666;
        line-height: 30px;
        height: 30px;
        border-left: 1px solid  #ddd;
        text-indent: 0;
        text-decoration: none;
        display: block;
        margin-top: 5px;
        padding: 0 10px;
        text-align: center; }
        #gnav-wrap ul#gnav > li > a span {
          font-size: 14px !important; }
      #gnav-wrap ul#gnav > li.blog a {
        padding-left: 28px !important;
        background-size: 17px !important; }
      #gnav-wrap ul#gnav > li.last > a {
        border-right: 1px solid  #ddd; }
    #gnav-wrap ul#gnav li.blog a {
      color: #0F6EB5;
      padding-left: 12px;
      background-image: url(/common/img/icon-pen.png);
      background-repeat: no-repeat;
      background-position: 5px center; }
      #gnav-wrap ul#gnav li.blog a:hover {
        background-image: url(/common/img/icon-pen-hover.png); }
  #gnav-wrap ul.sub-nav {
    display: none;
    -webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    position: absolute;
    z-index: 1 !important;
    padding: 0 !important;
    top: 40px;
    left: 0;
    border-radius: 0 0 4px 4px;
    background: rgba(255, 255, 255, 0.9); }
    #gnav-wrap ul.sub-nav.show {
      display: block; }
    #gnav-wrap ul.sub-nav.right {
      right: 0 !important;
      left: auto !important; }
    #gnav-wrap ul.sub-nav li {
      border-bottom: 1px solid  #efefef; }
      #gnav-wrap ul.sub-nav li.last {
        border: none; }
      #gnav-wrap ul.sub-nav li a {
        line-height: 36px;
        height: auto !important;
        text-indent: 0;
        background-image: none;
        display: block;
        font-size: 15px;
        width: 240px;
        padding: 0 10px;
        text-decoration: none;
        color: #373737;
        position: relative;
        padding-left: 24px; }
        #gnav-wrap ul.sub-nav li a:before {
          content: "";
          display: block;
          width: 5px;
          height: 5px;
          border: 1px solid #0F6EB5;
          border-width: 1px 1px 0 0;
          position: absolute;
          left: 10px;
          top: 50%;
          -webkit-transition: all .2s;
          -o-transition: all .2s;
          transition: all .2s;
          -webkit-transform-origin: center;
              -ms-transform-origin: center;
                  transform-origin: center;
          -webkit-transform: translateY(-50%) rotate(45deg);
          -ms-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg); }
        #gnav-wrap ul.sub-nav li a:hover {
          background: #0F6EB5;
          color: #fff; }
          #gnav-wrap ul.sub-nav li a:hover:before {
            border-color: #fff; }

/* !! スライドショー */
#loading {
  position: absolute;
  z-index: 15;
  top: 0px;
  left: 0;
  width: 100%;
  height: 100%;
  background: #efefef; }
  #loading img {
    top: 50%;
    left: 50%;
    position: absolute;
    margin-left: -22px;
    margin-top: -22px; }

#slide-wrap {
  position: relative;
  height: 37vw !important;
  overflow: hidden;
  margin-bottom: 0 !important;
  max-height: 900px !important; }
  #architecture #slide-wrap {
    height: 37vw !important; }
  #recruiting #slide-wrap {
    height: 500px !important; }
  #slide-wrap.btn-show {
    overflow: visible; }
    #slide-wrap.btn-show div.cell {
      opacity: 1;
      -webkit-transition: 1s;
      -o-transition: 1s;
      transition: 1s; }
  .device-sp #slide-wrap {
    max-height: 800px; }
  .device-tab #slide-wrap {
    max-height: 600px; }

.metaslider {
  max-width: 100% !important; }

.flexslider .slides > li .caption-wrap {
  display: none !important; }

div.cell, .slick-slide {
  width: auto;
  background-size: cover;
  background-position: center center;
  position: relative;
  -webkit-transition: opacity 1s;
  -o-transition: opacity 1s;
  transition: opacity 1s; }
  div.cell.top, .slick-slide.top {
    background-position: center top !important; }
  div.cell.mid, .slick-slide.mid {
    background-position: center center !important; }
  div.cell.bottom, .slick-slide.bottom {
    background-position: center bottom !important; }
  div.cell:hover, .slick-slide:hover {
    opacity: 0.7; }
  div.cell img.bg, .slick-slide img.bg {
    display: none; }
  div.cell > a, .slick-slide > a {
    position: absolute;
    display: block;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  div.cell .title, .slick-slide .title {
    position: absolute;
    display: none;
    bottom: 45px;
    right: 45px;
    z-index: 1;
    font-size: 14px;
    color: #fff;
    text-align: justify;
    text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.5); }
    div.cell .title span, .slick-slide .title span {
      font-size: 33px;
      font-weight: 200;
      font-family: 'Open Sans', sans-serif !important;
      display: block;
      margin-bottom: 10px; }

ol.flex-control-nav {
  bottom: 20px !important; }
  @media screen and (max-height: 800px) {
    ol.flex-control-nav {
      bottom: 2px; } }
  ol.flex-control-nav li {
    background: none;
    padding: 0;
    width: 12px;
    height: 12px;
    margin: 0 7px !important;
    border-radius: 6px; }
    ol.flex-control-nav li.slick-active {
      background: #ccc; }
    ol.flex-control-nav li button {
      visibility: hidden; }

#slide-wrap + p.btn {
  font-size: 0;
  line-height: 1;
  position: absolute;
  bottom: 2.73vw;
  left: 2.73vw;
  z-index: 1; }
  #slide-wrap + p.btn a {
    display: inline-block;
    line-height: 1;
    margin-right: 1.82vw;
    -webkit-transition: 0.3s cubic-bezier(0.52, 1.98, 0.61, 0.81);
    -o-transition: 0.3s cubic-bezier(0.52, 1.98, 0.61, 0.81);
    transition: 0.3s cubic-bezier(0.52, 1.98, 0.61, 0.81);
    -webkit-transform: translateY(0px) scale(1);
    -ms-transform: translateY(0px) scale(1);
    transform: translateY(0px) scale(1);
    width: 7.73vw;
    height: 7.73vw;
    -webkit-transform-origin: center center;
        -ms-transform-origin: center center;
            transform-origin: center center; }
    #slide-wrap + p.btn a img {
      display: block;
      margin-left: 0px;
      width: 100%;
      height: 100%; }
    #slide-wrap + p.btn a:hover {
      -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
      transform: scale(1.05); }
    #slide-wrap + p.btn a:active {
      -webkit-transform: scale(0.98);
      -ms-transform: scale(0.98);
      transform: scale(0.98); }

p.btn-more {
  text-align: right;
  margin: 30px auto;
  line-height: 1;
  min-width: 0;
  max-width: 1280px; }
  p.btn-more a {
    display: inline-block;
    text-decoration: none;
    font-size: 14px;
    color: #0F6EB5;
    display: inline-block;
    line-height: 1;
    padding: 0 19px 6px 0;
    background-image: url(../img/btn-more-arrw.svg);
    background-repeat: no-repeat;
    background-size: 235px 10px;
    background-position: bottom right; }

.sns-blog {
  border-top: 1px solid #ddd;
  background: #eee;
  text-align: center;
  padding: 15px 0;
  font-size: 0;
  padding-bottom: 47px;
  margin-top: 50px; }
  body.story .sns-blog {
    margin-top: 0; }
  .sns-blog a {
    display: inline-block;
    vertical-align: top;
    margin: 0 8px; }
    .sns-blog a img {
      width: 32px;
      height: 32px; }
  .sns-blog .blog {
    font-size: 12px;
    text-decoration: none;
    font-weight: bold;
    line-height: 32px;
    border-radius: 4px;
    background: #0F6EB5;
    display: inline-block;
    color: #fff;
    padding: 0 10px;
    padding-left: 32px;
    background-image: url(../img/icon_pen.svg);
    background-repeat: no-repeat;
    background-size: 16px 16px;
    background-position: 10px center; }

/* !!------------------------------------ */
/* !! パンくず */
#path {
  background: #559CD0;
  color: #fff;
  font-weight: normal;
  font-size: 13px;
  padding: 0;
  font-size: 0;
  height: 32px;
  width: 100%;
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  /*スクロールバー全体*/
  /*スクロールバーの軌道*/
  /*スクロールバーの動く部分*/ }
  #path ul {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px; }
  #path li {
    margin-right: 25px;
    opacity: .7;
    display: inline-block;
    vertical-align: top;
    font-size: 13px;
    position: relative; }
    #path li:active {
      opacity: 1; }
    #path li:after {
      content: "";
      height: 0px;
      width: 0px;
      display: block;
      border-left: 5px solid #fff;
      border-right: 5px solid transparent;
      border-bottom: 5px solid transparent;
      border-top: 5px solid transparent;
      position: absolute;
      top: 10px;
      right: -21px; }
    #path li:last-of-type {
      opacity: 1;
      padding-left: 15px;
      background-image: url(../img/path-flag-icon.svg);
      background-repeat: no-repeat;
      background-size: 10px 12px;
      background-position: 0 9px; }
      #path li:last-of-type:after {
        content: none; }
  #path span, #path a {
    color: #fff;
    line-height: 32px;
    padding: 0px;
    text-decoration: none; }
  #path::-webkit-scrollbar {
    width: 0;
    height: 4px; }
  #path::-webkit-scrollbar-track {
    border-radius: 0;
    background: rgba(0, 0, 0, 0.1); }
  #path::-webkit-scrollbar-thumb {
    background-color: #0f6eb5;
    border-radius: 0;
    width: 3px; }

/* !!------------------------------------ */
/* !! トップページ・各事業部 */
#section-guide {
  display: none; }
  #section-guide ul.section-list {
    width: 1000px;
    margin: 0 auto;
    font-size: 0;
    white-space: nowrap;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    #section-guide ul.section-list li {
      position: relative;
      width: 480px;
      margin: 5px;
      line-height: 1;
      background: #efefef;
      overflow: hidden;
      padding: 3px !important;
      padding-right: 23px !important;
      background: #E8F1F9;
      height: 141px;
      cursor: pointer; }
      #section-guide ul.section-list li > a {
        position: absolute;
        display: block;
        z-index: 1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        padding: 3px !important; }
        #section-guide ul.section-list li > a:before {
          background: #fff;
          width: 17px;
          content: "";
          height: 100%;
          display: block;
          float: right; }
        #section-guide ul.section-list li > a:after {
          content: "";
          display: block;
          border: 1px solid #888;
          border-width: 1px 1px 0 0;
          width: 10px;
          height: 10px;
          position: absolute;
          right: 8px;
          top: 50%;
          -webkit-transform: translateY(-50%) rotate(45deg);
          -ms-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg); }
      #section-guide ul.section-list li img {
        display: block;
        margin: 0;
        width: 100%;
        height: auto; }
      #section-guide ul.section-list li > div {
        width: 50%;
        display: inline-block;
        vertical-align: top; }
      #section-guide ul.section-list li .txt {
        font-size: 18px;
        color: #0F6EB5;
        white-space: normal;
        position: relative;
        height: 100%;
        text-align: center;
        width: 50%;
        vertical-align: middle; }
        #section-guide ul.section-list li .txt .inner {
          padding: 0;
          width: calc(100% - 30px);
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          transform: translateY(-50%);
          text-align: left;
          vertical-align: middle;
          top: 50%;
          left: 15px;
          position: absolute;
          height: auto; }
        #section-guide ul.section-list li .txt h3 {
          font-size: 16px; }
        #section-guide ul.section-list li .txt p {
          font-size: 11px;
          margin-top: 5px;
          padding: 0;
          line-height: 1.4; }
      #section-guide ul.section-list li:nth-of-type(2n) {
        background: #f7f7f7; }
        #section-guide ul.section-list li:nth-of-type(2n) .thumb {
          float: right; }
      #section-guide ul.section-list li:active, #section-guide ul.section-list li.active {
        background: #0F6EB5; }
        #section-guide ul.section-list li:active a:before, #section-guide ul.section-list li.active a:before {
          background: rgba(255, 255, 255, 0.3); }
        #section-guide ul.section-list li:active a:after, #section-guide ul.section-list li.active a:after {
          border-color: #fff; }
        #section-guide ul.section-list li:active .txt, #section-guide ul.section-list li.active .txt {
          color: #fff; }

d {
  min-height: 140px;
  margin: 20px;
  background: #eee; }
  d img {
    width: 100% !important;
    height: auto !important; }

#section-staff h3 {
  text-align: center;
  font-size: 20px;
  margin: 20px 0; }

#section-staff ul.staff-list {
  padding: 0 20px;
  margin-bottom: 20px;
  text-align: left;
  margin: 0 auto;
  width: 1000px; }
  #section-staff ul.staff-list li {
    margin-bottom: 10px !important;
    display: inline-block;
    margin: 0;
    margin-right: 20px;
    text-align: left;
    margin-bottom: 20px !important; }
    #section-staff ul.staff-list li:nth-of-type(3n) {
      margin-right: 0 !important; }
    #section-staff ul.staff-list li .thumb:before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      background-image: -webkit-linear-gradient(0deg, #ffffff 35%, rgba(255, 255, 255, 0) 78%);
      height: 100%;
      width: 100%;
      display: block; }
  #section-staff ul.staff-list + p.btn-more {
    width: 940px; }

#projectstory-wrap .btn-more {
  min-width: 0;
  max-width: 800px;
  margin-top: 30px; }

ul.projectstory {
  margin: 0 auto;
  text-align: center;
  max-width: 1000px; }
  ul.projectstory li {
    position: relative;
    margin: 10px;
    padding-left: 200px;
    min-height: 140px;
    margin-bottom: 20px;
    display: inline-block;
    max-width: 400px;
    text-align: left;
    vertical-align: top; }
    ul.projectstory li a {
      position: absolute;
      display: block;
      z-index: 1;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    ul.projectstory li .thumb {
      width: 190px;
      height: 140px;
      background: #eee;
      position: relative;
      position: absolute;
      top: 0;
      left: 0;
      overflow: hidden; }
      ul.projectstory li .thumb img {
        width: 130% !important;
        height: auto !important; }
    ul.projectstory li .label {
      font-size: 14px;
      color: #0F6EB5;
      font-family: 'Roboto Condensed', sans-serif !important;
      line-height: 1;
      margin-bottom: 5px; }
    ul.projectstory li .title {
      font-size: 20px;
      font-weight: 600;
      line-height: 1.4; }
    ul.projectstory li .name {
      font-size: 10px;
      line-height: 1.3;
      position: absolute;
      left: 200px;
      bottom: 0; }

ul.works-list {
  padding: 0 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  max-width: 1000px;
  margin: 0 auto;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  ul.works-list li {
    width: calc((100% - 40px)/3) !important;
    margin: 0 !important;
    margin-bottom: 20px !important;
    position: relative; }
    ul.works-list li .thumb {
      width: 100%;
      height: 200px;
      background: #eee;
      position: relative;
      overflow: hidden; }
      ul.works-list li .thumb img {
        width: 110%;
        height: auto;
        position: relative;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }
    ul.works-list li .cat {
      background: #6EAAD7;
      color: #FFF;
      line-height: 1;
      font-size: 12px;
      padding: 3px 5px;
      position: static;
      font-weight: bold;
      text-align: center;
      text-decoration: none;
      margin: 5px 0; }
    ul.works-list li a {
      position: absolute;
      display: block;
      z-index: 1;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    ul.works-list li .title {
      font-size: 1.4rem !important;
      line-height: 1.6;
      position: static;
      color: #666; }

@media screen and (min-width: 768px) {
  ul#rui-blog, ul#rui-blog-fixed {
    margin: 0 auto;
    text-align: center;
    min-width: 1044px;
    max-width: 1280px; }
    ul#rui-blog li, ul#rui-blog-fixed li {
      position: relative;
      padding-left: 10px;
      padding: 10px;
      min-height: 260px;
      margin-bottom: 20px;
      width: 308px;
      display: inline-block;
      border: 1px solid #ddd;
      text-align: left;
      margin: 10px 8px;
      vertical-align: top; }
      ul#rui-blog li a, ul#rui-blog-fixed li a {
        position: absolute;
        display: block;
        z-index: 1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
      ul#rui-blog li .thumb, ul#rui-blog-fixed li .thumb {
        width: 100%;
        height: 150px;
        background: #eee;
        position: static;
        top: 5px;
        left: 5px;
        overflow: hidden; }
        ul#rui-blog li .thumb img, ul#rui-blog-fixed li .thumb img {
          width: 100% !important;
          height: auto !important;
          opacity: 0;
          -webkit-transition: 500ms;
          -o-transition: 500ms;
          transition: 500ms; }
          ul#rui-blog li .thumb img.on, ul#rui-blog-fixed li .thumb img.on {
            opacity: 1; }
          ul#rui-blog li .thumb img.hr, ul#rui-blog-fixed li .thumb img.hr {
            height: 100% !important;
            width: auto !important; }
        ul#rui-blog li .thumb .inner, ul#rui-blog-fixed li .thumb .inner {
          background-size: cover; }
        ul#rui-blog li .thumb .dummy, ul#rui-blog-fixed li .thumb .dummy {
          display: none !important; }
      ul#rui-blog li .label, ul#rui-blog-fixed li .label {
        font-size: 12px;
        color: #0F6EB5;
        font-family: 'Roboto Condensed', sans-serif !important;
        line-height: 1;
        margin-bottom: 5px; }
      ul#rui-blog li .title, ul#rui-blog-fixed li .title {
        font-size: 13px;
        margin-top: 10px;
        font-weight: 600;
        line-height: 1.4; }
      ul#rui-blog li .data, ul#rui-blog-fixed li .data {
        position: absolute;
        bottom: 0;
        left: 0px;
        white-space: nowrap;
        padding-left: 0;
        width: 100%;
        padding: 10px; }
      ul#rui-blog li .date, ul#rui-blog-fixed li .date {
        font-size: 10px;
        line-height: 15px;
        left: 126px;
        bottom: 0;
        float: left;
        display: block;
        top: 0;
        left: 0;
        height: auto !important; }
      ul#rui-blog li .cat, ul#rui-blog-fixed li .cat {
        display: block;
        white-space: nowrap;
        overflow: hidden;
        -o-text-overflow: ellipsis;
           text-overflow: ellipsis;
        display: block;
        width: auto;
        float: right;
        bottom: 0;
        right: 0;
        background: #6EAAD7;
        color: #FFF;
        line-height: 15px;
        font-size: 12px;
        text-align: center;
        padding: 3px 5px;
        z-index: 4;
        font-weight: bold;
        text-decoration: none; }
  #blog-wrap .btn-more {
    max-width: 940px;
    min-width: 0;
    margin-top: 30px; } }

/* !!------------------------------------ */
/* !! 事業部メニュー */
div#section-menu-wrap {
  max-width: 100%;
  min-width: 1080px;
  margin: 0 auto 20px auto;
  text-align: center; }
  div#section-menu-wrap.fixed {
    position: fixed;
    left: 0;
    width: 100%;
    margin-bottom: 0 !important;
    z-index: 200 !important; }
    div#section-menu-wrap.fixed.bottom {
      bottom: 15px !important; }
    div#section-menu-wrap.fixed li {
      background: #fff !important;
      height: 40px !important;
      border-top: 1px solid #0F6EB5;
      border-bottom: 1px solid #0F6EB5; }
  div#section-menu-wrap.news {
    position: fixed;
    bottom: 50px;
    width: 100vw;
    margin: 0;
    z-index: 2;
    max-width: 10000px; }
    div#section-menu-wrap.news ul.section-menu {
      width: calc(100% - 36px);
      max-width: 1280px;
      margin: 0 auto; }
      div#section-menu-wrap.news ul.section-menu > li {
        border-top: 1px solid #0F6EB5;
        border-bottom: 1px solid #0F6EB5;
        height: 50px !important;
        background: #fff !important;
        float: none; }
        div#section-menu-wrap.news ul.section-menu > li a {
          background: #fff; }
        div#section-menu-wrap.news ul.section-menu > li ul {
          border: 1px solid  #ddd;
          border-bottom: none;
          left: -1px;
          bottom: 39px !important; }

.bottom-nav {
  margin: 0 auto; }
  .bottom-nav ul.section-menu.loaded {
    width: 1244px;
    padding: 0;
    max-width: 1280px;
    margin: 0 auto; }
    .bottom-nav ul.section-menu.loaded > li {
      border-top: 1px solid #0F6EB5;
      -webkit-box-sizing: border-box !important;
              box-sizing: border-box !important;
      border-bottom: 1px solid #0F6EB5;
      height: 40px;
      background: #fff;
      float: none; }
      .bottom-nav ul.section-menu.loaded > li:last-of-type ul {
        left: -3px !important; }
      .bottom-nav ul.section-menu.loaded > li ul {
        border: 1px solid  #ddd;
        min-width: calc(100% + 5px) !important;
        border-bottom: none;
        left: -2px;
        bottom: 39px !important; }
        .bottom-nav ul.section-menu.loaded > li ul li:hover {
          background-color: #0F6EB5; }

body:not(.mobile) ul.section-menu {
  padding: 0px 18px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  font-size: 0;
  position: relative;
  z-index: 19;
  max-width: 1280px;
  white-space: nowrap;
  margin: 0 auto; }
  body:not(.mobile) ul.section-menu > li {
    border-left: 1px solid #0F6EB5;
    display: inline-block;
    width: calc(100% / 7);
    position: relative;
    height: 32px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    body:not(.mobile) ul.section-menu > li:last-of-type, body:not(.mobile) ul.section-menu > li.last {
      border-right: 1px solid #0F6EB5; }
      body:not(.mobile) ul.section-menu > li:last-of-type ul.sub, body:not(.mobile) ul.section-menu > li.last ul.sub {
        left: auto;
        right: -1px;
        min-width: calc(100% + 2px); }
    body:not(.mobile) ul.section-menu > li > a {
      display: block;
      width: 100%;
      height: 100%;
      text-align: center;
      font-size: 12px;
      white-space: nowrap;
      text-decoration: none;
      color: #000;
      padding-top: 15px;
      padding-bottom: 5px;
      position: relative;
      line-height: 1; }
      body:not(.mobile) ul.section-menu > li > a:before {
        content: "";
        display: block;
        width: 5px;
        height: 5px;
        border: 1px solid #0F6EB5;
        border-width: 0 0 1px 1px;
        position: absolute;
        left: 50%;
        top: 2px;
        -webkit-transition: all .2s;
        -o-transition: all .2s;
        transition: all .2s;
        -webkit-transform-origin: center;
            -ms-transform-origin: center;
                transform-origin: center;
        -webkit-transform: translateX(-50%) rotate(-45deg);
        -ms-transform: translateX(-50%) rotate(-45deg);
        transform: translateX(-50%) rotate(-45deg); }
    body:not(.mobile) ul.section-menu > li:hover > a {
      background: #0F6EB5;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      color: #fff; }
      body:not(.mobile) ul.section-menu > li:hover > a:before {
        top: 6px;
        border-color: #fff;
        -webkit-transform: translateX(-50%) rotate(135deg);
        -ms-transform: translateX(-50%) rotate(135deg);
        transform: translateX(-50%) rotate(135deg); }
  body:not(.mobile) ul.section-menu ul.sub {
    display: none;
    overflow: hidden;
    position: absolute;
    z-index: 10;
    bottom: 32px;
    left: -1px;
    border-radius: 4px 4px 0 0;
    background: rgba(255, 255, 255, 0.9);
    min-width: calc(100% + 2px); }
    body:not(.mobile) ul.section-menu ul.sub li {
      border-bottom: 1px solid  #efefef;
      width: auto;
      min-width: 100%;
      white-space: nowrap; }
      body:not(.mobile) ul.section-menu ul.sub li.last {
        border: none; }
      body:not(.mobile) ul.section-menu ul.sub li a {
        width: auto !important;
        line-height: 36px;
        display: block;
        font-size: 12px;
        padding: 0 10px;
        text-decoration: none;
        color: #000; }
        body:not(.mobile) ul.section-menu ul.sub li a:hover {
          background: #0F6EB5;
          color: #fff;
          border-color: #0F6EB5; }
    body:not(.mobile) ul.section-menu ul.sub.scrl {
      max-height: 360px !important;
      overflow: auto; }
      body:not(.mobile) ul.section-menu ul.sub.scrl::-webkit-scrollbar {
        background: #fff;
        height: 5px;
        width: 5px; }
      body:not(.mobile) ul.section-menu ul.sub.scrl::-webkit-scrollbar-thumb {
        background: #666;
        border: 1px solid  #fff; }

#outer-section {
  opacity: 1;
  min-height: calc(100vh - 267px); }
  #outer-section body.recruiting {
    min-height: 0 !important; }
  #outer-section .inner {
    min-width: 0px;
    padding: 0; }
  #outer-section section .inner > h2 {
    font-size: 30px;
    font-weight: 500;
    line-height: 1;
    width: 100%;
    text-align: center;
    margin: 50px 0 30px 0;
    color: #0F6EB5;
    font-family: 'Roboto Condensed', sans-serif !important; }
    #outer-section section .inner > h2 span {
      display: block;
      font-size: 15px;
      margin-top: 5px;
      color: #666; }

/* !! 最新NEWS 注目記事 */
#news-wrap {
  margin-bottom: 50px; }
  #news-wrap .inner {
    min-width: 1044px;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 18px; }
  #news-wrap.index {
    margin-bottom: 150px; }
  #news-wrap.section-top .wp-pagenavi {
    display: none !important; }
  #news-wrap h2 {
    font-size: 30px;
    font-weight: 500;
    line-height: 1;
    width: 100%;
    text-align: center;
    margin: 50px 0 30px 0;
    color: #0F6EB5;
    font-family: 'Roboto Condensed', sans-serif !important; }
    #news-wrap h2 span {
      display: block;
      font-size: 15px;
      margin-top: 5px;
      color: #666; }
  #news-wrap div.hd {
    position: static;
    top: 0;
    left: 18px;
    height: 100%;
    margin-bottom: 20px; }
    #news-wrap div.hd p {
      font-size: 24px;
      color: #666;
      margin: 0;
      width: 100%;
      text-align: center; }

.task-desc {
  padding: 0;
  max-width: 800px;
  margin: 0 auto;
  text-align: center; }
  .task-desc + .btn-more {
    min-width: 0;
    max-width: 800px;
    margin-top: 30px; }
  .task-desc .lead {
    position: relative;
    -webkit-transition: 0;
    -o-transition: 0;
    transition: 0;
    background: none !important;
    margin: 0;
    height: auto;
    color: #666;
    padding: 20px;
    text-align: center;
    font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif !important;
    border: 1px solid  #ddd; }
    .task-desc .lead > b {
      position: absolute;
      left: 40px;
      top: 50%;
      font-size: 16px;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
    .task-desc .lead a {
      font-size: 24px;
      color: #666;
      text-decoration: none;
      padding: 10px; }
    .task-desc .lead + p {
      font-size: 16px;
      margin-top: 10px;
      color: #0F6EB5;
      text-align: center; }
  .task-desc ul {
    display: inline-block;
    margin-top: 30px; }
    .task-desc ul li {
      position: relative;
      margin-top: 10px;
      padding-left: 70px;
      text-align: left;
      font: 15px;
      font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif !important;
      font-weight: 600;
      line-height: 1.5;
      min-height: 60px;
      height: 60px; }
      .task-desc ul li span {
        display: block;
        position: relative;
        top: 50%;
        font-size: 18px;
        white-space: nowrap;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%); }
      .task-desc ul li strong {
        position: absolute;
        left: 0;
        top: 0;
        width: 60px;
        height: 60px;
        line-height: 58px;
        border-radius: 50%;
        text-align: center;
        color: #0F6EB5;
        font-size: 14px;
        border: 2px solid #0F6EB5; }

.section-pict {
  min-height: 140px;
  margin: 20px;
  background: #eee;
  width: 800px;
  margin: 0 auto; }
  .section-pict img {
    width: 100% !important;
    height: auto !important; }

#task .btn-more {
  max-width: 800px; }

#side-wrap {
  display: none; }

ul#news-list {
  font-size: 0;
  -webkit-transition: -webkit-transform 1s ease-out;
  transition: -webkit-transform 1s ease-out;
  -o-transition: transform 1s ease-out;
  transition: transform 1s ease-out;
  transition: transform 1s ease-out, -webkit-transform 1s ease-out;
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0); }
  ul#news-list.rdy {
    -webkit-transform: translateX(100vw);
    -ms-transform: translateX(100vw);
    transform: translateX(100vw); }
  ul#news-list li {
    margin: 0;
    margin-bottom: 20px;
    position: relative;
    display: inline-block;
    height: auto !important;
    width: calc((100% - 60px ) / 5);
    margin-left: 15px;
    vertical-align: top;
    -moz-transition: all 250ms ease-out;
    -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d;
    -webkit-perspective: 200;
            perspective: 200;
    position: relative; }
    ul#news-list li:first-of-type, ul#news-list li.first, ul#news-list li:nth-of-type(5n + 1) {
      margin-left: 0; }
    ul#news-list li.out img {
      -webkit-animation: out 0.2s ease-out;
      animation: out 0.2s ease-out;
      -webkit-animation-fill-mode: both;
      animation-fill-mode: both; }
    ul#news-list li img {
      display: block;
      height: 100%;
      -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
              box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
      -webkit-transform: translate3d(0, 0, 0) scale(1) rotateX(0deg);
      -ms-transform: translate3d(0, 0, 0) scale(1) rotateX(0deg);
      transform: translate3d(0, 0, 0) scale(1) rotateX(0deg);
      -webkit-transform-origin: top !important;
          -ms-transform-origin: top !important;
              transform-origin: top !important;
      -webkit-transition: -webkit-transform 250ms ease-out;
      transition: -webkit-transform 250ms ease-out;
      -o-transition: transform 250ms ease-out;
      transition: transform 250ms ease-out;
      transition: transform 250ms ease-out, -webkit-transform 250ms ease-out;
      overflow: hidden;
      pointer-events: none; }
    ul#news-list li > a {
      position: absolute;
      display: block;
      z-index: 1;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 2; }
    ul#news-list li img {
      width: 100% !important;
      height: auto !important;
      display: block; }
    ul#news-list li .data {
      height: 30px;
      position: relative; }
      ul#news-list li .data .date {
        display: inline;
        font-style: normal;
        margin-bottom: 4px;
        line-height: 30px;
        font-size: 12px;
        font-weight: 500;
        position: static;
        right: 15px;
        bottom: 0px; }
      ul#news-list li .data .cat {
        background: #6EAAD7;
        color: #FFF;
        line-height: 1;
        font-size: 12px;
        padding: 3px 5px;
        position: absolute;
        top: 6px;
        right: 0;
        z-index: 4;
        font-weight: bold;
        text-decoration: none; }
    ul#news-list li .title {
      display: block;
      padding: 0px 0px;
      font-size: 1.3rem !important;
      line-height: 1.5;
      min-height: 44px;
      color: #666;
      position: static;
      width: 100%;
      bottom: 0;
      left: 0;
      font-size: 18px;
      -webkit-transition: all 500ms ease-out;
      -o-transition: all 500ms ease-out;
      transition: all 500ms ease-out; }
    ul#news-list li:hover {
      -webkit-transition: 800ms cubic-bezier(0, 2.76, 0.98, 0.2);
      -o-transition: 800ms cubic-bezier(0, 2.76, 0.98, 0.2);
      transition: 800ms cubic-bezier(0, 2.76, 0.98, 0.2); }
      ul#news-list li:hover img {
        -webkit-box-shadow: 0 12px 12px rgba(0, 0, 0, 0.3);
                box-shadow: 0 12px 12px rgba(0, 0, 0, 0.3);
        -moz-transition: 800ms cubic-bezier(0.04, 1.75, 0.48, 1.01);
        -webkit-animation: hover 0.6s ease-out;
        animation: hover 0.6s ease-out;
        -webkit-animation-fill-mode: both;
        animation-fill-mode: both; }
      ul#news-list li:hover span {
        color: #0F6EB5; }

/* !!------------------------------------ */
/* !! NEWS一覧ページ */
div.news-list-page {
  max-width: 1280px;
  min-width: 1080px;
  margin: 0 auto;
  margin-top: 0px;
  position: relative;
  padding: 0 18px;
  overflow: hidden;
  margin-bottom: 50px; }
  div.news-list-page h1 {
    font-size: 48px;
    color: #0F6EB5;
    font-family: 'Roboto Slab', serif !important;
    font-weight: 300;
    letter-spacing: 3px;
    margin-top: 45px;
    line-height: 1; }

#side-wrap {
  height: 3px;
  position: fixed;
  top: 40px;
  left: 0;
  width: 100%;
  margin: 0 auto !important;
  z-index: 2; }
  #side-wrap .inner {
    max-width: 1280px;
    min-width: 1080px; }
  #side-wrap .side {
    width: 200px;
    right: 18px;
    top: 120px;
    position: absolute; }
    #side-wrap .side h3 {
      font-size: 22px;
      color: #0F6EB5;
      margin-bottom: 10px;
      font-weight: 500; }
    #side-wrap .side ul {
      margin-bottom: 70px; }
      #side-wrap .side ul a {
        text-decoration: none;
        color: #666; }
        #side-wrap .side ul a:before {
          content: "▶︎"; }

ul#news-list.archive {
  padding-left: 0px;
  font-size: 0;
  margin-top: 30px; }
  ul#news-list.archive li {
    margin: 0;
    position: relative;
    display: inline-block;
    width: calc((100% - 305px ) / 3);
    margin-right: 30px;
    margin-bottom: 30px; }
    ul#news-list.archive li .title b {
      font-weight: 500;
      min-height: 2.5em;
      overflow: hidden;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      overflow: hidden !important; }
    ul#news-list.archive li i {
      position: static !important; }
    ul#news-list.archive li.report span {
      background: rgba(0, 72, 163, 0.6); }

/* !!------------------------------------ */
/* !! NEWS 記事単体ページ */
div.news-article-page {
  width: 1080px;
  margin: 0 auto;
  margin-top: 40px;
  padding-right: 245px;
  position: relative;
  padding: 0 18px;
  overflow: hidden;
  font-size: 15px !important; }

#side-wrap.article .inner {
  width: 1080px !important; }

#side-wrap.article .side {
  top: 36px !important; }

/*20171122ニュースにボタン　追記*/
div#article-wrap .square_btn_wrap {
  overflow: hidden;
  width: 100%;
  text-align: center; }

div#article-wrap .square_btn {
  display: inline-block;
  margin: 1em;
  padding: 0.3em 2em;
  text-decoration: none;
  color: #0F6EB5;
  border: solid 1px #0F6EB5;
  border-radius: 3px;
  -webkit-transition: .4s;
  -o-transition: .4s;
  transition: .4s; }

div#article-wrap .square_btn:hover {
  background: #0F6EB5;
  color: white; }

/*20171122ニュースにボタン　追記　ここまで*/


/*20200608ニュース画像挿入（写真右・文字左）　追記*/

div#article-wrap .img-section{
	overflow:hidden;
	margin: 0;
}
div#article-wrap .img-section img{
	float:right; 
	margin:15px auto;
	width:400px;
}

@media screen and (max-width: 767px) {
	div#article-wrap .img-section{
	margin: 15px auto;
}
	div#article-wrap .img-section img{
		float:none; 
		width:100%;
}
}

/*20200608ニュース画像挿入（写真右・文字左）　ここまで*/




div#article-wrap {
  margin-top: 0px;
  width: 800px;
  margin: 0 auto;
  margin-bottom: 100px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  text-align: justify; }
  div#article-wrap h1 {
    font-size: 34px;
    line-height: 1.4;
    font-weight: 500;
    margin-top: 30px;
    color: #727171;
    margin-bottom: 20px; }
  div#article-wrap h3 {
    font-size: 24px;
    line-height: 1.5;
    margin-bottom: .5em; }
  div#article-wrap p {
    font-size: 15px;
    margin-bottom: 1.5em; }
  div#article-wrap p.ar {
    text-align: right;
    font-style: normal;
    font-family: 'Abel', sans-serif;
    font-size: 15px;
    letter-spacing: 1px; }
  div#article-wrap .alignright {
    float: right;
    margin-left: 15px;
    bottom: 15px;
    display: block; }
    div#article-wrap .alignright img {
      display: block; }
    div#article-wrap .alignright .wp-caption-text {
      font-size: 12px; }
  div#article-wrap .alignleft {
    display: block;
    float: left;
    margin-right: 15px;
    margin-bottom: 15px; }

div.eyecatch img {
  width: 100% !important;
  height: auto !important; }

div.eyecatch:empty + h1 {
  margin-top: -5px !important; }

/* !! 関連記事 */
.relatedpost-wrap, .wp_rp_content {
  margin-top: 80px; }
  .relatedpost-wrap h3, .wp_rp_content h3 {
    font-size: 18px;
    padding-left: 15px;
    line-height: 1;
    border-left: 2px solid #d9dad5; }

ul.relatedpost li {
  position: relative;
  padding-right: 140px;
  padding-top: 20px;
  border-bottom: 1px solid  #ddd;
  min-height: 160px; }
  ul.relatedpost li > a {
    position: absolute;
    display: block;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  ul.relatedpost li > img {
    position: absolute;
    top: 20px;
    right: 0; }
  ul.relatedpost li p {
    margin: 0px;
    margin-bottom: 15px !important;
    line-height: 1.6; }
  ul.relatedpost li .title {
    font-size: 18px !important; }
    ul.relatedpost li .title span {
      padding-left: 15px;
      font-size: 14px;
      font-family: 'Abel', sans-serif; }
  ul.relatedpost li .desc {
    font-size: 13px !important; }

h3.related_post_title {
  margin-top: 150px;
  font-size: 18px;
  padding-left: 15px;
  line-height: 1;
  border-left: 2px solid #d9dad5; }

ul.related_post li {
  position: relative;
  padding-right: 140px;
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid  #ddd;
  min-height: 160px; }

ul.related_post .wp_rp_publish_date {
  display: block;
  padding-left: 0px;
  font-size: 14px;
  line-height: 1;
  font-family: 'Abel', sans-serif;
  vertical-align: top; }

ul.related_post .wp_rp_title {
  font-size: 15px !important;
  display: block;
  text-decoration: none;
  margin: 5px 0; }

ul.related_post .wp_rp_thumbnail {
  position: absolute;
  top: 20px;
  right: 0;
  width: 120px;
  height: 120px; }
  ul.related_post .wp_rp_thumbnail img {
    width: 100% !important;
    height: auto !important; }

ul.related_post .wp_rp_excerpt {
  display: block;
  font-size: 13px !important;
  line-height: 1.5 !important;
  text-align: justify;
  color: #666; }
  ul.related_post .wp_rp_excerpt p {
    font-size: 13px !important; }

div.wp_rp_footer {
  text-align: right;
  margin-top: 10px; }

/* !! 前後の記事 */
ul.prev-next {
  overflow: hidden;
  position: relative;
  margin-top: 50px; }
  ul.prev-next li {
    width: 390px;
    height: 120px;
    overflow: hidden;
    position: relative; }
    ul.prev-next li img {
      width: 100% !important;
      height: auto !important; }
    ul.prev-next li.prev {
      float: left; }
    ul.prev-next li.next {
      float: right; }
      ul.prev-next li.next i {
        right: 12px !important;
        left: auto !important; }
    ul.prev-next li a {
      position: absolute;
      display: block;
      z-index: 1;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.32);
      padding: 35px;
      color: #fff;
      text-decoration: none;
      font-size: 15px;
      -webkit-transition: all .5s;
      -o-transition: all .5s;
      transition: all .5s; }
      ul.prev-next li a:hover {
        background: rgba(0, 0, 0, 0.6); }
      ul.prev-next li a span {
        display: block;
        font-size: 14px;
        margin-bottom: 0px;
        line-height: 1.4;
        text-align: justify; }
        ul.prev-next li a span > i {
          font-style: normal;
          display: block;
          font-size: 12px; }
      ul.prev-next li a > i {
        font-style: normal;
        font-size: 12px;
        position: absolute;
        line-height: 120px;
        left: 12px;
        top: 0; }

/* !!------------------------------------ */
/* !! 記事リストページ */
#section-menu-wrap.news {
  display: none; }

.wp-pagenavi {
  font-size: 13px;
  text-align: center !important;
  margin-top: 30px;
  width: 100% !important;
  white-space: nowrap; }
  .archive .wp-pagenavi {
    display: block; }
  .top .wp-pagenavi {
    display: none; }
  .wp-pagenavi > a, .wp-pagenavi > span {
    display: inline-block;
    width: 32px;
    height: 32px;
    line-height: 32px;
    padding: 0 !important;
    text-align: center;
    border: none !important;
    font-weight: bold; }
    .wp-pagenavi > a.current, .wp-pagenavi > span.current {
      background: rgba(15, 110, 181, 0.5);
      color: #fff;
      border-radius: 4px; }

/* !! イベントページ */
#recruiting-event h1 img {
  margin-bottom: 0 !important; }

/* !!------------------------------------ */
/* !! フル画面表示 */
div.contents.full #slide-wrap {
  height: calc(100vh - 40px) !important; }

#outer-section.full {
  position: fixed;
  z-index: 100;
  bottom: 0px;
  left: 0;
  padding-bottom: 50px;
  width: 100%;
  background: rgba(255, 255, 255, 0.75); }
  #outer-section.full ul#section-menu {
    background: none !important;
    margin-top: 10px; }
    #outer-section.full ul#section-menu li > a {
      color: #0F6EB5; }
    #outer-section.full ul#section-menu li:hover + li {
      border-left-color: rgba(255, 255, 255, 0.9); }
    #outer-section.full ul#section-menu li:hover a {
      background: rgba(255, 255, 255, 0.9) !important;
      color: #0F6EB5; }
  #outer-section.full div.hd > p {
    color: #0F6EB5; }

.top-bnr-wrap.archi {
  text-align: center;
  margin: 0 auto;
  margin-bottom: 50px;
  font-size: 0;
  max-width: 1250px;
  padding: 0 18px; }
  .top-bnr-wrap.archi a {
    display: inline-block;
    width: 50% !important; }
    .top-bnr-wrap.archi a img {
      width: 100% !important;
      height: auto !important; }

/* !!------------------------------------ */
/* !! 作品集 */
.filter,
.lightbox {
  -webkit-box-sizing: content-box;
          box-sizing: content-box; }

#architecture-works h1 img {
  -webkit-box-sizing: content-box !important;
          box-sizing: content-box !important;
  background: #F2F2F2;
  border: 1px solid #006CB8; }

/* !!------------------------------------ */
/* !! 社員紹介 単体ページ*/
div.contents.staff-lower {
  margin-bottom: 100px; }
  div.contents.staff-lower h1 {
    margin-bottom: 33px; }
  div.contents.staff-lower .to-summary {
    margin-bottom: 23px; }
  div.contents.staff-lower .btn-back {
    text-align: center;
    font-weight: 600;
    font-size: 16px;
    margin: 50px 0; }
    div.contents.staff-lower .btn-back a {
      text-decoration: none; }

/* !! ページヘッダー */
#staff-single-header {
  margin-top: 50px;
  width: 1044px;
  height: 320px;
  margin-bottom: 40px;
  position: relative;
  z-index: 0; }
  #staff-single-header .eyecatch {
    width: auto;
    height: 100% !important;
    position: absolute;
    top: 0;
    right: 0; }
  #staff-single-header:after {
    content: "";
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid  #ccc;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
  #staff-single-header img#shade {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1; }
  #staff-single-header div.head-info {
    font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif !important;
    position: absolute;
    left: 30px;
    font-weight: 200;
    z-index: 2;
    top: 50%;
    height: auto !important;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    opacity: 0;
    -webkit-transition: 2s;
    -o-transition: 2s;
    transition: 2s; }
    #staff-single-header div.head-info.on {
      opacity: 1; }
    #staff-single-header div.head-info p.lead_text {
      position: static;
      font-size: 40px;
      line-height: 1.3;
      color: #0F6EB5;
      margin-bottom: 15px;
      font-weight: 200; }
    #staff-single-header div.head-info > p {
      line-height: 1;
      position: static; }
    #staff-single-header div.head-info .sub-section {
      font-size: 16px;
      display: block;
      margin-top: 5px; }
    #staff-single-header div.head-info .name {
      font-size: 26px;
      color: #0F6EB5;
      display: block;
      margin-top: 5px;
      margin-bottom: 5px; }
    #staff-single-header div.head-info .eng_name {
      margin-top: 5px !important;
      display: block; }
    #staff-single-header div.head-info p.faculty_year {
      font-size: 12px;
      color: #0F6EB5; }
      #staff-single-header div.head-info p.faculty_year span {
        display: block;
        margin-top: 5px; }

/* !! 本文 */
#text {
  overflow: hidden; }
  #text > img, #text > p {
    display: block; }
    #text > img.left, #text > img.alignleft, #text > p.left, #text > p.alignleft {
      float: left;
      margin-right: 30px;
      margin-bottom: 30px; }
    #text > img.right, #text > img.alignright, #text > p.right, #text > p.alignright {
      float: right;
      margin-left: 30px;
      margin-bottom: 30px; }
  #text > div {
    position: relative;
    overflow: hidden; }
  #text h2 {
    font-size: 18px;
    line-height: 1;
    color: #0F6EB5;
    font-weight: 100;
    margin-bottom: 18px; }
  #text p {
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 24px;
    margin-bottom: 24px; }
  #text .wrap {
    overflow: hidden;
    padding-left: 430px; }
  #text .additional_img1 {
    position: absolute;
    left: 0;
    top: 0; }

#q1, #q2 {
  border-bottom: 1px solid #ccc;
  margin-bottom: 18px; }

#q3 {
  border-bottom: 1px solid #ccc;
  margin-bottom: 50px; }

#q4 {
  margin-bottom: 50px;
  overflow: hidden; }
  #q4 > img {
    float: right;
    margin-left: 50px;
    margin-bottom: 50px; }

/* !!------------------------------------ */
/* !! 社員紹介リスト */
#staff-list-wrap {
  background: none; }
  #staff-list-wrap > .wrap {
    margin: 45px auto !important;
    margin-bottom: 100px !important; }

ul.staff-list {
  margin-top: 40px;
  font-size: 0;
  font-family: 'Noto Sans Japanese', serif; }
  ul.staff-list li {
    position: relative;
    opacity: 1;
    display: inline-block;
    vertical-align: top;
    width: 304px !important;
    height: 204px !important;
    overflow: hidden;
    margin: 0 20px 20px 0;
    text-shadow: 0px 0px 4px #fff;
    -webkit-box-shadow: 0 0 0 1px #fff,0 0 0 2px #ccc;
            box-shadow: 0 0 0 1px #fff,0 0 0 2px #ccc;
    -webkit-transition: 1s;
    -o-transition: 1s;
    transition: 1s; }
    ul.staff-list li.on {
      opacity: 1; }
    ul.staff-list li > a {
      position: absolute;
      display: block;
      z-index: 1;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 3; }
    ul.staff-list li .thumb {
      width: 100%;
      height: 100%; }
      ul.staff-list li .thumb:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        background-image: -webkit-linear-gradient(0deg, #ffffff 35%, rgba(255, 255, 255, 0) 78%);
        background-image: -ms-linear-gradient(0deg, #ffffff 35%, rgba(255, 255, 255, 0) 78%);
        height: 100%;
        width: 100%;
        display: block; }
      ul.staff-list li .thumb img {
        display: block;
        float: right;
        height: 100% !important;
        width: auto !important;
        margin-right: -15px; }
    ul.staff-list li:after {
      content: "";
      background: url(../static/img/shade-thumb.png);
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-size: 100%;
      z-index: 1; }
    ul.staff-list li .index_num {
      position: absolute;
      font-size: 12px;
      top: 0;
      left: 0;
      height: 30px;
      width: 90px;
      background: #0F6EB5;
      z-index: 2;
      text-align: center;
      color: #fff;
      line-height: 30px;
      font-weight: 600;
      text-shadow: none; }
    ul.staff-list li .info1 {
      position: absolute;
      top: 50%;
      left: 15px;
      z-index: 2;
      color: #0F6EB5;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      font-size: 12px; }
      ul.staff-list li .info1 span {
        display: block;
        line-height: 1; }
      ul.staff-list li .info1 .sub_section {
        line-height: 1.4; }
      ul.staff-list li .info1 .name {
        font-size: 26px;
        margin: 5px 0; }
    ul.staff-list li .info2 {
      font-size: 12px;
      color: #0F6EB5;
      position: absolute;
      bottom: 15px;
      left: 15px;
      z-index: 2; }
      ul.staff-list li .info2 span {
        display: block;
        line-height: 1;
        margin-top: 4px; }

#architecture-task,
#realestate-task-staff {
  margin-bottom: 0 !important;
  min-height: 100px !important; }
  #architecture-task ul.staff-list,
  #realestate-task-staff ul.staff-list {
    margin-right: -100px;
    width: auto; }
    #architecture-task ul.staff-list li,
    #realestate-task-staff ul.staff-list li {
      margin: 26px; }

/* !!------------------------------------ */
/* !! 採用情報トップ */
#loading.recruit {
  top: 30px;
  left: 270px !important;
  width: 982px !important;
  height: 500px; }

body.recruiting-top {
  background: url(../img/recruiting-top/bg.jpg) no-repeat;
  background-position: right top;
  background-size: 1300px; }
  body.recruiting-top #gnav-wrap .wrap {
    width: 1280px !important; }
  body.recruiting-top #section-menu-wrap {
    display: none; }
  body.recruiting-top #outer-section {
    min-height: 0; }

#slide-wrap .mvTitle {
  position: absolute;
  left: 30px;
  top: 30px;
  z-index: 1;
  color: #fff;
  margin: 0 !important;
  font-size: 60px;
  font-weight: 600;
  line-height: 1.3;
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
  font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif !important;
  pointer-events: none;
  height: 100%; }

#slide-wrap p.lead {
  pointer-events: none;
  position: absolute;
  bottom: 30px;
  right: 30px;
  font-size: 36px;
  font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif !important;
  color: #fff;
  font-weight: 600;
  z-index: 1;
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3); }

#slide-wrap .blue p {
  color: #0F6EB5 !important;
  text-shadow: 2px 2px 0px white; }

.mv {
  width: 100%;
  height: 500px !important;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  background-image: url(/recruiting/img/2017-2018/mv.jpg);
  background-size: cover;
  background-position: center center; }
  .mv a {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

#recruiting.contents {
  padding-bottom: 0; }
  #recruiting.contents > section.wrap {
    margin: 0 auto !important;
    width: 1252px;
    padding: 30px 0px;
    padding-bottom: 20px; }
  #recruiting.contents header {
    min-width: 0;
    width: 250px;
    position: absolute;
    left: 0px;
    top: 30px; }
  #recruiting.contents div.inquiry.pc {
    width: 250px;
    margin-top: 40px;
    border: none !important; }
    #recruiting.contents div.inquiry.pc section {
      height: 230px;
      padding-top: 10px; }
  #recruiting.contents .page-contents {
    margin-left: 270px;
    display: block;
    float: none;
    width: auto;
    position: static;
    overflow: hidden; }
    #recruiting.contents .page-contents h1 {
      margin-top: 36px;
      margin-left: 12px;
      margin-bottom: 0;
      height: auto !important; }
      #recruiting.contents .page-contents h1 img {
        position: static; }
  #recruiting.contents .bnr-wrap {
    font-size: 0;
    margin: 0; }
    #recruiting.contents .bnr-wrap > div {
      display: block;
      margin-bottom: 10px;
      height: 128px;
      border: 1px solid #ccc;
      padding: 10px;
      position: relative; }
      #recruiting.contents .bnr-wrap > div:last-of-type {
        margin-bottom: 0; }
      #recruiting.contents .bnr-wrap > div .hd {
        font-size: 24px; }
        #recruiting.contents .bnr-wrap > div .hd strong {
          font-weight: 500;
          font-size: 14px; }
      #recruiting.contents .bnr-wrap > div .info {
        position: absolute;
        bottom: 10px;
        right: 10px;
        text-align: justify;
        font-size: 14px; }
        #recruiting.contents .bnr-wrap > div .info a {
          display: block;
          position: relative;
          text-decoration: none;
          line-height: 1;
          vertical-align: baseline;
          color: #9F9FA0; }
          #recruiting.contents .bnr-wrap > div .info a b {
            font-size: 20px;
            font-weight: normal;
            vertical-align: baseline; }
          #recruiting.contents .bnr-wrap > div .info a i {
            position: absolute;
            left: -30px;
            bottom: 3px; }
          #recruiting.contents .bnr-wrap > div .info a img {
            position: relative;
            vertical-align: baseline;
            display: inline-block;
            margin-right: 3px; }
          #recruiting.contents .bnr-wrap > div .info a.mail img {
            top: 4px; }
          #recruiting.contents .bnr-wrap > div .info a.mail b {
            font-size: 14px;
            text-decoration: underline; }
    #recruiting.contents .bnr-wrap a {
      display: inline-block;
      margin-right: 5px;
      vertical-align: middle; }
      #recruiting.contents .bnr-wrap a.other {
        margin-top: 0px; }
      #recruiting.contents .bnr-wrap a img {
        vertical-align: middle; }
    #recruiting.contents .bnr-wrap .architecture {
      border-color: #0F6EB5; }
      #recruiting.contents .bnr-wrap .architecture .hd {
        color: #0F6EB5; }
    #recruiting.contents .bnr-wrap .general {
      border-color: #ED833B; }
      #recruiting.contents .bnr-wrap .general .hd {
        color: #ED833B; }
    #recruiting.contents .bnr-wrap .career {
      border-color: #6D8A8C; }
      #recruiting.contents .bnr-wrap .career .hd {
        color: #6D8A8C; }
  #recruiting.contents .banner.intern {
    height: 250px;
    height: 143px;
    background-image: url(../img/recruiting-top/bnr-intern-bg.jpg);
    background-size: cover;
    background-position: center center bottom;
    overflow: hidden;
    border-radius: 5px;
    border: 2px solid #4B98CD;
    padding: 12px;
    text-align: center; }
    #recruiting.contents .banner.intern p {
      margin-bottom: 10px; }
      #recruiting.contents .banner.intern p.note {
        margin: 0 !important;
        font-size: 10px;
        white-space: nowrap;
        font-weight: bold; }
    #recruiting.contents .banner.intern a {
      display: block;
      color: #000;
      line-height: 24px;
      background: #006CB7;
      text-decoration: none;
      color: #fff;
      border: 1px solid rgba(255, 255, 255, 0.49);
      font-size: 14px;
      margin-bottom: 7px; }
      #recruiting.contents .banner.intern a.all {
        background: #87D0F2;
        margin-bottom: 0 !important; }
      #recruiting.contents .banner.intern a:hover {
        background: #fff !important;
        color: #0F6EB5; }
  #recruiting.contents #slide-wrap {
    background: #eee;
    height: 500px; }

/* !! 　セクションメニュー */
ul#section-menu.recruiting.loaded li {
  width: calc(100% / 6); }

#recruiting-staff h1.hd {
  font-size: 40px;
  color: #0F6EB5;
  padding: 80px 0 30px 0;
  margin-bottom: 50px !important;
  font-weight: 600;
  text-align: center;
  letter-spacing: 3px;
  margin-top: 0; }

#recruiting-staff .staff-recruit {
  display: inline-block !important; }

#recruiting-staff section:not(.wrap) {
  padding-left: 115px;
  position: relative; }
  #recruiting-staff section:not(.wrap) > h1:not(.hd) {
    position: absolute;
    top: 0;
    left: 0;
    width: 92px;
    height: 92px;
    background: #0F6EB5;
    margin-right: 10px;
    font-size: 16px;
    color: #fff;
    letter-spacing: .1em;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }

#recruiting-staff ul.staff-list {
  display: inline-block; }
  #recruiting-staff ul.staff-list.nb li {
    border: none !important; }
    #recruiting-staff ul.staff-list.nb li .info1 {
      left: 85px !important;
      padding: 10px 5px;
      width: 130px; }
  #recruiting-staff ul.staff-list li {
    width: 224px !important;
    height: 92px !important;
    -webkit-box-shadow: none;
            box-shadow: none;
    border: 1px solid  #ddd;
    opacity: 1; }
    #recruiting-staff ul.staff-list li:after {
      display: none; }
    #recruiting-staff ul.staff-list li .thumb {
      width: 75px;
      height: 75px;
      position: absolute;
      top: 7px;
      left: 7px;
      overflow: hidden; }
      #recruiting-staff ul.staff-list li .thumb:before {
        display: none; }
      #recruiting-staff ul.staff-list li .thumb img {
        margin: 0 !important;
        height: 100%;
        margin-right: 0px !important;
        width: auto !important; }
    #recruiting-staff ul.staff-list li .info1 {
      left: 90px;
      position: absolute;
      z-index: 1;
      background: #fff; }
      #recruiting-staff ul.staff-list li .info1 .sub_section {
        font-size: 10px; }
      #recruiting-staff ul.staff-list li .info1 .name {
        font-size: 20px; }
    #recruiting-staff ul.staff-list li .index_num, #recruiting-staff ul.staff-list li .info2 {
      display: none; }

#recruiting-staff #architecture2 {
  margin-left: 0; }

#recruiting-story h1.hd {
  font-size: 32px;
  color: #0F6EB5;
  padding: 50px 0 30px 0;
  margin-bottom: 0 !important;
  font-weight: 600;
  text-align: center;
  letter-spacing: 3px;
  margin-top: 0;
  line-height: 1em; }

#news-wrap-recuit {
  width: 1252px;
  padding: 0;
  margin: 0 auto; }
  #news-wrap-recuit .hd {
    background: #0F6EB5;
    width: 160px;
    height: 160px;
    position: absolute;
    top: 0px;
    left: 0px;
    color: #fff;
    padding: 12px;
    line-height: 1;
    font-size: 20px; }

ul#news-list-recuit {
  width: auto !important;
  height: 160px;
  overflow: scroll;
  display: block;
  padding: 10px;
  margin-left: 170px;
  border: 1px solid #ccc; }
  ul#news-list-recuit li {
    display: block;
    position: relative;
    padding-left: 150px;
    margin-bottom: 5px; }
    ul#news-list-recuit li img {
      display: none; }
    ul#news-list-recuit li i.date {
      position: absolute;
      left: 0;
      top: 0;
      background: rgba(15, 110, 181, 0.5);
      color: #fff;
      line-height: 1;
      padding: 5px;
      width: 130px;
      text-align: center;
      border-radius: 4px; }
    ul#news-list-recuit li a {
      font-size: 15px; }

#outer-section.recruit {
  overflow: hidden;
  padding-bottom: 50px;
  background: #fff; }

.bnr-large-wrap {
  font-size: 0;
  width: 1252px;
  margin: 20px auto;
  white-space: nowrap;
  color: #9F9FA0; }
  .bnr-large-wrap > div {
    display: inline-block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin-right: 14px;
    width: 408px;
    height: 250px;
    overflow: hidden;
    padding: 20px;
    position: relative;
    -webkit-transition: 420ms;
    -o-transition: 420ms;
    transition: 420ms;
    -webkit-transition-delay: 420ms;
         -o-transition-delay: 420ms;
            transition-delay: 420ms; }
    .bnr-large-wrap > div .hd {
      -webkit-transition: 280ms;
      -o-transition: 280ms;
      transition: 280ms;
      -webkit-transition-delay: 280ms;
           -o-transition-delay: 280ms;
              transition-delay: 280ms;
      font-size: 28px; }
      .bnr-large-wrap > div .hd strong {
        font-size: 18px;
        font-weight: 500; }
    .bnr-large-wrap > div .note {
      position: absolute;
      -webkit-transition: 280ms;
      -o-transition: 280ms;
      transition: 280ms;
      -webkit-transition-delay: 280ms;
           -o-transition-delay: 280ms;
              transition-delay: 280ms;
      bottom: 20px;
      right: 20px;
      font-size: 12px;
      line-height: 1.7; }
      .bnr-large-wrap > div .note.left {
        right: auto;
        left: 20px; }
      .bnr-large-wrap > div .note b {
        font-weight: normal;
        font-size: 13px; }
    .bnr-large-wrap > div .wrap {
      position: absolute;
      left: 20px;
      top: 60px;
      font-size: 16px;
      width: 368px !important;
      margin-right: 20px !important; }
      .bnr-large-wrap > div .wrap a {
        -webkit-transition: .4s;
        -o-transition: .4s;
        transition: .4s;
        display: block;
        z-index: 2;
        line-height: 32px;
        border: 1px solid #ccc;
        margin-bottom: 5px;
        padding: 0 10px;
        position: relative;
        text-decoration: none;
        overflow: hidden;
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden;
        -webkit-font-smoothing: antialiased; }
        .bnr-large-wrap > div .wrap a:before {
          content: "";
          -webkit-transition: .3s ease-in-out;
          -o-transition: .3s ease-in-out;
          transition: .3s ease-in-out;
          display: block;
          width: 100% !important;
          height: 100% !important;
          background: #fff;
          position: absolute;
          top: 0;
          left: 0;
          -webkit-transform: translateX(-120%);
          -ms-transform: translateX(-120%);
          transform: translateX(-120%);
          z-index: -1; }
        .bnr-large-wrap > div .wrap a:after {
          content: "＞";
          position: absolute;
          right: 10px;
          top: 0;
          line-height: 32px; }
        .bnr-large-wrap > div .wrap a:hover {
          color: #fff !important; }
          .bnr-large-wrap > div .wrap a:hover:before {
            -webkit-transform: translateX(0%);
            -ms-transform: translateX(0%);
            transform: translateX(0%); }
    .bnr-large-wrap > div > a {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
      width: 100%;
      height: 100%;
      border: 1px solid #ccc; }
    .bnr-large-wrap > div > i {
      position: absolute;
      background: #000;
      z-index: 2;
      -webkit-transition: 70ms;
      -o-transition: 70ms;
      transition: 70ms; }
      .bnr-large-wrap > div > i.t {
        height: 1px;
        width: 100%;
        top: 0;
        left: 0;
        -webkit-transform: translate(-100%, 0);
        -ms-transform: translate(-100%, 0);
        transform: translate(-100%, 0);
        -webkit-transition-delay: 210ms;
             -o-transition-delay: 210ms;
                transition-delay: 210ms; }
      .bnr-large-wrap > div > i.r {
        height: 100%;
        width: 1px;
        top: 0;
        right: 0;
        -webkit-transform: translate(0, -100%);
        -ms-transform: translate(0, -100%);
        transform: translate(0, -100%);
        -webkit-transition-delay: 140ms;
             -o-transition-delay: 140ms;
                transition-delay: 140ms; }
      .bnr-large-wrap > div > i.b {
        height: 1px;
        width: 100%;
        bottom: 0;
        left: 0;
        -webkit-transform: translate(100%, 0);
        -ms-transform: translate(100%, 0);
        transform: translate(100%, 0);
        -webkit-transition-delay: 70ms;
             -o-transition-delay: 70ms;
                transition-delay: 70ms; }
      .bnr-large-wrap > div > i.l {
        height: 100%;
        width: 1px;
        bottom: 0;
        left: 0;
        -webkit-transform: translate(0, 100%);
        -ms-transform: translate(0, 100%);
        transform: translate(0, 100%);
        -webkit-transition-delay: 0;
             -o-transition-delay: 0;
                transition-delay: 0; }
    .bnr-large-wrap > div:hover i, .bnr-large-wrap > div.inview i {
      -webkit-transform: translate(0) !important;
      -ms-transform: translate(0) !important;
      transform: translate(0) !important; }
      .bnr-large-wrap > div:hover i.t, .bnr-large-wrap > div.inview i.t {
        -webkit-transition-delay: 0;
             -o-transition-delay: 0;
                transition-delay: 0; }
      .bnr-large-wrap > div:hover i.r, .bnr-large-wrap > div.inview i.r {
        -webkit-transition-delay: 70ms;
             -o-transition-delay: 70ms;
                transition-delay: 70ms; }
      .bnr-large-wrap > div:hover i.b, .bnr-large-wrap > div.inview i.b {
        -webkit-transition-delay: 140ms;
             -o-transition-delay: 140ms;
                transition-delay: 140ms; }
      .bnr-large-wrap > div:hover i.l, .bnr-large-wrap > div.inview i.l {
        -webkit-transition-delay: 210ms;
             -o-transition-delay: 210ms;
                transition-delay: 210ms; }
    .bnr-large-wrap > div:hover .hd, .bnr-large-wrap > div.inview .hd {
      color: #fff; }
    .bnr-large-wrap > div:hover .note, .bnr-large-wrap > div.inview .note {
      color: #fff; }
    .bnr-large-wrap > div.architecture i {
      background: #0F6EB5; }
    .bnr-large-wrap > div.architecture.inview, .bnr-large-wrap > div.architecture:hover {
      background: #0F6EB5; }
      .bnr-large-wrap > div.architecture.inview .wrap a, .bnr-large-wrap > div.architecture:hover .wrap a {
        border-color: #fff;
        color: #fff; }
        .bnr-large-wrap > div.architecture.inview .wrap a:hover, .bnr-large-wrap > div.architecture:hover .wrap a:hover {
          color: #0F6EB5 !important; }
    .bnr-large-wrap > div.general i {
      background: #ED833B; }
    .bnr-large-wrap > div.general.inview, .bnr-large-wrap > div.general:hover {
      background: #ED833B; }
      .bnr-large-wrap > div.general.inview .wrap a, .bnr-large-wrap > div.general:hover .wrap a {
        border-color: #fff;
        color: #fff; }
        .bnr-large-wrap > div.general.inview .wrap a:hover, .bnr-large-wrap > div.general:hover .wrap a:hover {
          color: #ED833B !important; }
    .bnr-large-wrap > div.career i {
      background: #6D8A8C; }
    .bnr-large-wrap > div.career.inview, .bnr-large-wrap > div.career:hover {
      background: #6D8A8C; }

.contact-wrap.pc {
  border: 1px solid #0F6EB5; }
  .contact-wrap.pc h2 {
    color: #0F6EB5;
    text-align: center;
    line-height: 50px;
    background: #fff;
    border-bottom: 1px solid #0F6EB5; }
  .contact-wrap.pc .hd {
    font-size: 18px;
    margin-top: 10px; }
    .contact-wrap.pc .hd strong {
      font-size: 13px;
      font-weight: normal; }
  .contact-wrap.pc a {
    display: block;
    text-decoration: none;
    padding-left: 60px;
    position: relative;
    color: #9F9FA0; }
    .contact-wrap.pc a i {
      position: absolute;
      left: 0px;
      top: 0; }
    .contact-wrap.pc a img {
      display: inline-block;
      vertical-align: baseline;
      margin: 0 5px;
      top: 3px;
      position: relative; }
  .contact-wrap.pc div {
    border-bottom: 1px solid #ccc;
    margin: 0 10px;
    padding-bottom: 10px; }
    .contact-wrap.pc div.architecture .hd {
      color: #0F6EB5; }
    .contact-wrap.pc div.general .hd {
      color: #ED833B; }
    .contact-wrap.pc div.career .hd {
      color: #6D8A8C; }
    .contact-wrap.pc div:last-of-type {
      border-bottom: none; }

#recruit-top-fnav {
  background: #fff;
  overflow: hidden; }

#gnav-recruit-footer {
  width: 1252px;
  margin: 20px auto;
  text-align: center; }
  #gnav-recruit-footer > li {
    width: auto !important;
    display: inline-block;
    vertical-align: top;
    margin: 0 20px;
    text-align: left; }
    #gnav-recruit-footer > li > a {
      font-size: 16px;
      text-decoration: none;
      font-weight: bold; }
    #gnav-recruit-footer > li.network {
      margin-right: 0; }
  #gnav-recruit-footer ul.sub-nav li {
    line-height: 1.7; }
  #gnav-recruit-footer ul.sub-nav a {
    font-size: 13px;
    text-decoration: none;
    line-height: 1.7; }
  #gnav-recruit-footer .hq,
  #gnav-recruit-footer .recruiting,
  #gnav-recruit-footer .company,
  #gnav-recruit-footer .blog {
    display: none; }
  #gnav-recruit-footer a:hover {
    text-decoration: underline !important; }

@media screen and (min-width: 768px) {
  div[id^=recruiting-recruitment] .entry-nav {
    width: 840px;
    margin: 0 auto !important;
    text-align: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  div[id^=recruiting-recruitment] .btn-entry-1 {
    margin: 0 auto; }
  div[id^=recruiting-recruitment] h1 {
    background: none !important;
    color: #0F6EB5 !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100%;
    font-size: 32px;
    margin-bottom: 50px !important;
    text-align: center;
    padding-top: 50px !important;
    margin-bottom: 30px !important; }
  div[id^=recruiting-recruitment] .entry-button, div[id^=recruiting-recruitment] .entry-nav {
    text-align: center;
    font-size: 0; }
  div[id^=recruiting-recruitment] a.btn-entry-1, div[id^=recruiting-recruitment] .btn-entry-2 {
    line-height: 50px;
    margin: 10px;
    display: inline-block;
    font-size: 18px;
    font-weight: bold;
    width: 400px;
    height: 50px; }
    div[id^=recruiting-recruitment] a.btn-entry-1:after, div[id^=recruiting-recruitment] .btn-entry-2:after {
      top: 18px; }
  div[id^=recruiting-recruitment] #youkou .btn-entry-1 {
    display: block;
    font-size: 18px;
    font-weight: bold;
    width: 400px;
    line-height: 50px;
    margin: 0 auto; }
  div[id^=recruiting-recruitment] .note {
    line-height: 1.4 !important;
    font-size: 14px; } }

/* !!------------------------------------ */
/* !! 建築系採用トップ */
#loading.architecture {
  top: 0px;
  left: 0px !important;
  width: 100% !important;
  height: 511px; }

#recruiting-architecture #slide-wrap {
  height: 511px !important;
  background: #eee; }
  #recruiting-architecture #slide-wrap .slick-dots {
    bottom: 30px !important; }
  #recruiting-architecture #slide-wrap .mv {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    height: 200px; }
  #recruiting-architecture #slide-wrap .wrap {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 92px;
    width: 100% !important;
    text-align: right;
    padding: 0 25px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden; }
    #recruiting-architecture #slide-wrap .wrap > p {
      display: inline-block;
      color: #fff;
      position: relative;
      z-index: 1;
      vertical-align: baseline;
      top: 15px;
      margin-left: 20px;
      -webkit-transition: 1s;
      -o-transition: 1s;
      transition: 1s;
      -webkit-transition-delay: .5s;
           -o-transition-delay: .5s;
              transition-delay: .5s;
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
      -ms-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      overflow: hidden; }
    #recruiting-architecture #slide-wrap .wrap p.name {
      text-align: center; }
      #recruiting-architecture #slide-wrap .wrap p.name span {
        display: block; }
      #recruiting-architecture #slide-wrap .wrap p.name .en {
        font-size: 22px; }
      #recruiting-architecture #slide-wrap .wrap p.name .ja {
        font-size: 28px; }
    #recruiting-architecture #slide-wrap .wrap p.sec {
      font-size: 22px; }
    #recruiting-architecture #slide-wrap .wrap:before {
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      overflow: hidden;
      content: "";
      display: block;
      z-index: 0;
      height: 100%;
      width: 100%;
      position: absolute;
      bottom: 0;
      left: 0;
      -webkit-transition: 1s;
      -o-transition: 1s;
      transition: 1s;
      -webkit-transform: translate3d(0, 0, 0);
      -ms-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
      background: -webkit-linear-gradient(0deg, transparent 0%, rgba(0, 0, 0, 0.9) 100%);
      background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, transparent), color-stop(1, rgba(0, 0, 0, 0.9)));
      background: -o-linear-gradient(0deg, transparent 0%, rgba(0, 0, 0, 0.9) 100%);
      background: -ms-linear-gradient(0deg, transparent 0%, rgba(0, 0, 0, 0.9) 100%);
      -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr='#000000' ,GradientType=0)";
      background: -webkit-gradient(linear, left top, right top, from(transparent), to(rgba(0, 0, 0, 0.9)));
      background: -webkit-linear-gradient(left, transparent 0%, rgba(0, 0, 0, 0.9) 100%);
      background: -o-linear-gradient(left, transparent 0%, rgba(0, 0, 0, 0.9) 100%);
      background: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.9) 100%);
      filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000',endColorstr='#000000' , GradientType=1); }
  #recruiting-architecture #slide-wrap .mv.rdy .wrap:before {
    -webkit-transform: translate3d(100%, 0, 0);
    -ms-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  #recruiting-architecture #slide-wrap .mv.rdy .wrap p {
    opacity: 0;
    -webkit-transform: translate3d(-50px, 0, 0);
    -ms-transform: translate3d(-50px, 0, 0);
    transform: translate3d(-50px, 0, 0); }

#recruiting-architecture h1 {
  margin: 50px auto;
  text-align: center;
  -webkit-filter: blur(0px);
  -moz-filter: blur(0px);
  -ms-filter: blur(0px);
  -o-filter: blur(0px);
  filter: blur(0px);
  opacity: 1;
  -webkit-transition: 2s;
  -o-transition: 2s;
  transition: 2s; }
  #recruiting-architecture h1.rdy {
    -webkit-filter: blur(10px);
    -moz-filter: blur(10px);
    -ms-filter: blur(10px);
    -o-filter: blur(10px);
    filter: blur(10px);
    opacity: 0; }

#recruiting-architecture .bnr-wrap.architecture {
  font-weight: 400;
  text-align: center;
  font-size: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  #recruiting-architecture .bnr-wrap.architecture a {
    display: inline-block;
    width: calc((100% - 20px) / 3);
    margin: 0;
    position: relative; }
    #recruiting-architecture .bnr-wrap.architecture a img {
      display: block;
      width: 100% !important;
      height: auto !important; }
    #recruiting-architecture .bnr-wrap.architecture a.na:after {
      content: "COMING SOON !";
      position: absolute;
      top: 50%;
      left: 50%;
      z-index: 1;
      font-size: 18px;
      background: #0F6EB5;
      color: #fff;
      line-height: 1;
      padding: 10px 15px;
      -webkit-font-smoothing: antialiased;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }
    #recruiting-architecture .bnr-wrap.architecture a.na img {
      opacity: .5; }

#recruiting-architecture a.recruiting {
  width: 640px;
  height: 80px;
  background: rgba(0, 0, 0, 0.59);
  margin: 50px auto;
  display: block;
  line-height: 80px;
  color: #FFF;
  text-align: center !important;
  text-decoration: none;
  font-size: 30px;
  -webkit-transition: .5s;
  -o-transition: .5s;
  transition: .5s;
  -webkit-font-smoothing: antialiased;
  position: relative;
  top: -4px;
  left: -4px;
  -webkit-box-shadow: 4px 4px 0px rgba(0, 0, 0, 0.2);
          box-shadow: 4px 4px 0px rgba(0, 0, 0, 0.2);
  border: 1px solid transparent; }
  #recruiting-architecture a.recruiting:hover {
    border: 1px solid rgba(0, 0, 0, 0.59);
    background: #fff;
    color: #666;
    -webkit-box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.2);
            box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.2); }

#recruiting-architecture #event-map {
  width: 1000px;
  margin: 50px auto;
  display: block;
  overflow: hidden;
  position: relative;
  min-height: 652px; }
  #recruiting-architecture #event-map > img {
    z-index: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) scale(1);
    -ms-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1); }
  #recruiting-architecture #event-map > svg {
    position: relative;
    z-index: 1; }
    #recruiting-architecture #event-map > svg path {
      stroke-width: 2px !important;
      -webkit-transition: linear;
      -o-transition: linear;
      transition: linear;
      -webkit-animation: stroke 1s infinite linear;
              animation: stroke 1s infinite linear; }

@-webkit-keyframes stroke {
  0% {
    stroke-dasharray: 10 10;
    stroke-dashoffset: 0; }
  99.9% {
    stroke-dasharray: 10 10;
    stroke-dashoffset: -20; } }

@keyframes stroke {
  0% {
    stroke-dasharray: 10 10;
    stroke-dashoffset: 0; }
  99.9% {
    stroke-dasharray: 10 10;
    stroke-dashoffset: -20; } }
  #recruiting-architecture #event-map > div {
    width: auto;
    text-align: center;
    position: relative;
    z-index: 1; }
    #recruiting-architecture #event-map > div h3 {
      text-align: center; }
    #recruiting-architecture #event-map > div ul {
      margin-top: 20px;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      text-align: left;
      width: 405px; }
      #recruiting-architecture #event-map > div ul li {
        width: 180px !important;
        display: inline-block;
        vertical-align: top;
        margin: 5px 10px;
        margin-bottom: 15px;
        position: relative;
        -webkit-font-smoothing: antialiased; }
        #recruiting-architecture #event-map > div ul li a {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          z-index: 1; }
        #recruiting-architecture #event-map > div ul li .thumb {
          overflow: hidden;
          height: 150px;
          margin: 0 auto;
          margin-bottom: 10px;
          width: 150px;
          background: #eee;
          border-radius: 75px;
          position: relative;
          -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
          -webkit-backface-visibility: hidden; }
          #recruiting-architecture #event-map > div ul li .thumb img {
            width: 100% !important;
            height: auto !important; }
          #recruiting-architecture #event-map > div ul li .thumb .date {
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
            overflow: hidden;
            line-height: 40px;
            height: 40px;
            width: 100%;
            text-align: center;
            bottom: 0;
            left: 0;
            position: absolute;
            z-index: 1;
            -webkit-transform: none;
                -ms-transform: none;
                    transform: none;
            display: block;
            background: #0F6EB5;
            color: #fff;
            font-size: 20px;
            z-index: 1; }
        #recruiting-architecture #event-map > div ul li .title {
          text-align: left;
          font-size: 12px;
          line-height: 1.5; }
          #recruiting-architecture #event-map > div ul li .title strong {
            font-size: 14px;
            display: block;
            padding-bottom: 5px;
            color: #0F6EB5; }
        #recruiting-architecture #event-map > div ul li:hover .title {
          text-decoration: underline; }
        #recruiting-architecture #event-map > div ul li.passed a {
          pointer-events: none; }
        #recruiting-architecture #event-map > div ul li.passed .title {
          text-decoration: none; }
        #recruiting-architecture #event-map > div ul li.passed .thumb {
          background: #ccc; }
          #recruiting-architecture #event-map > div ul li.passed .thumb img {
            opacity: .2; }
        #recruiting-architecture #event-map > div ul li.passed .date {
          background: #ccc; }
        #recruiting-architecture #event-map > div ul li.passed.hasReport a {
          pointer-events: auto; }
        #recruiting-architecture #event-map > div ul li.passed.hasReport:hover .title {
          text-decoration: underline; }
        #recruiting-architecture #event-map > div ul li.passed.hasReport b {
          color: #0F6EB5;
          font-weight: bold; }
  #recruiting-architecture #event-map .osaka {
    position: absolute;
    top: 0;
    left: 0; }
  #recruiting-architecture #event-map .tokyo {
    position: absolute;
    top: 0;
    right: 0; }

/* !!------------------------------------ */
/* !! 建築系採用メッセージ */
#recruiting-architecture.message {
  width: 800px;
  margin: 100px auto; }
  #recruiting-architecture.message #mv {
    -webkit-transition: linear;
    -o-transition: linear;
    transition: linear;
    margin: 0;
    font-size: 0;
    overflow: hidden;
    position: relative; }
    #recruiting-architecture.message #mv img {
      display: inline-block; }
    #recruiting-architecture.message #mv .inner {
      opacity: 1;
      background: #0F6EB5;
      -webkit-transition: 0s;
      -o-transition: 0s;
      transition: 0s;
      -webkit-transition-delay: .8s;
           -o-transition-delay: .8s;
              transition-delay: .8s; }
    #recruiting-architecture.message #mv.on .inner {
      opacity: 1; }
    #recruiting-architecture.message #mv .wrap {
      padding: 30px;
      width: auto !important;
      display: inline-block;
      font-size: 18px;
      border: 1px solid #0F6EB5;
      color: #fff; }
      #recruiting-architecture.message #mv .wrap span {
        display: block;
        line-height: 1;
        margin-bottom: 5px; }
      #recruiting-architecture.message #mv .wrap .ja {
        font-size: 50px;
        margin-bottom: 10px; }
    #recruiting-architecture.message #mv .shade {
      position: absolute;
      display: none;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: #0F6EB5;
      /*
			@include transform(translate3d(100%,0,0));
			animation: shade 1.6s ease-in;
			@keyframes shade {
			  0% {
				  @include transform(translate3d(100%,0,0));
					}
			  50%{
				  @include transform(translate3d(0,0,0));
				  }
			  to{
				  @include transform(translate3d(100%,0,0));
			  }

			}
*/ }
  #recruiting-architecture.message > h3 {
    font-size: 36px;
    margin-top: 1.5em;
    line-height: 1.6; }
  #recruiting-architecture.message > p {
    text-align: justify;
    font-size: 16px;
    line-height: 2;
    margin-top: 1em; }
    #recruiting-architecture.message > p img {
      width: 100% !important;
      height: auto !important; }
  #recruiting-architecture.message > h3, #recruiting-architecture.message > p {
    opacity: 0;
    -webkit-transition: 1s;
    -o-transition: 1s;
    transition: 1s;
    -webkit-transform: translateY(100px);
    -ms-transform: translateY(100px);
    transform: translateY(100px); }
    #recruiting-architecture.message > h3.on, #recruiting-architecture.message > p.on {
      opacity: 1;
      -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
      transform: translateY(0); }

.recruit-arc footer.page-footer {
  position: static !important;
  height: auto;
  padding-bottom: 50px; }

.recruit-arc .enrty-btn-wrap {
  display: none; }

.recruit-arc .enrty-btn-wrap.footer {
  display: block;
  z-index: 101;
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  padding: 10px;
  padding-left: 60px;
  background: #fff !important; }
  .recruit-arc .enrty-btn-wrap.footer a.recruiting {
    width: 100%;
    height: 50px;
    background: rgba(0, 0, 0, 0.59);
    margin: 0  auto;
    display: block;
    line-height: 50px;
    color: #FFF;
    text-align: center !important;
    text-decoration: none;
    font-size: 20px;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
    -webkit-font-smoothing: antialiased;
    position: relative;
    border: 1px solid transparent; }
    .recruit-arc .enrty-btn-wrap.footer a.recruiting:hover {
      background: #fff;
      color: #666;
      -webkit-box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.2);
              box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.2); }
  .recruit-arc .enrty-btn-wrap.footer .remove {
    position: absolute;
    width: 40px;
    height: 40px;
    background: #ccc;
    top: 15px;
    left: 10px;
    border-radius: 20px;
    cursor: pointer; }
    .recruit-arc .enrty-btn-wrap.footer .remove:before, .recruit-arc .enrty-btn-wrap.footer .remove:after {
      content: "";
      width: 20px;
      height: 2px;
      background: #fff;
      position: absolute;
      top: 19px;
      left: 10px;
      display: block; }
    .recruit-arc .enrty-btn-wrap.footer .remove:before {
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg); }
    .recruit-arc .enrty-btn-wrap.footer .remove:after {
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg); }

/* !!------------------------------------ */
/* !! 共同体 */
#recruiting-philosophy #section1 .text-field {
  width: auto !important; }

.philosophy-images {
  text-align: center; }

#strength1 {
  padding-bottom: 50px !important; }

/* !!------------------------------------ */
/* !! 縦幅の小さい画面の時 */
@media screen and (max-height: 800px) {
  body {
    padding: 0;
    min-height: 0;
    padding-top: 40px;
    min-height: 100vh !important;
    -webkit-box-sizing: border-box !important;
            box-sizing: border-box !important; }
  /*
#gnav-wrap{
	> .wrap{
		width: 1080px;
		margin: 0 auto;
	}
	ul#gnav{
		//background: #eee;
		height: 40px;
		margin-right: 0;
		width: 940px;
	}
}
*/
  .contents#architecture {
    opacity: 1 !important;
    height: 37.54vw;
    top: 0;
    margin-left: auto;
    margin-right: auto; }
  /*
#section-header{
	position: absolute;
	width: 100%;
	z-index: 1;
	top: 0px;left: 0;
	margin: 0;
	overflow: hidden;
	pointer-events: none;
	.inner{
		min-width: 1080px;
		//max-width: 1600px;
		margin: 0 auto;
		padding:0 18px;
	}
	h1{
		margin-bottom: 15px;
		margin-left: 30px;
		margin-top: 30px;
	}
	p{
		padding: 10px 15px;
		width: 500px;
		background: rgba(255, 255, 255, 0.9);
		font-size: 13px;line-height: 1.5;
		margin-left: 30px;
	}

}
*/
  #slide-wrap {
    height: 37.54vw; }
    #slide-wrap .cell {
      background-position: left top;
      background-repeat: no-repeat;
      background-size: 100% auto; }
  div#section-menu-wrap {
    width: 1080px; }
    div#section-menu-wrap ul {
      padding: 0; }
  #outer-section {
    opacity: 1 !important; }
  #news-wrap {
    width: 1080px;
    min-height: 220px;
    margin: 0 auto;
    padding-bottom: 50px; }
    #news-wrap .inner {
      padding: 0; }
  .page-footer.fixed,
  .page-footer {
    position: absolute !important; }
  body > img {
    display: none; }
  #gnav-recruit-footer {
    margin-bottom: 40px !important; } }

/* !!------------------------------------ */
/* !!------------------------------------ */
/* !!------------------------------------ */
/* !! 個別ページ */
/* !!------------------------------------ */
/* !!------------------------------------ */
/* !!------------------------------------ */
.btn-site {
  text-align: right;
  margin: 20px 0 !important; }
  .btn-site a {
    background: rgba(15, 110, 181, 0.15);
    line-height: 36px;
    font-size: 13px;
    text-decoration: none;
    padding-left: 15px;
    padding-right: 25px;
    display: inline-block;
    width: auto;
    text-align: left;
    position: relative; }
    .btn-site a:after {
      display: block;
      position: absolute;
      left: 0;
      top: 10px;
      content: "";
      width: 8px;
      height: 8px;
      border: 1px solid #000;
      border-width: 0 1px 1px 0;
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg);
      -webkit-transform-origin: center center;
          -ms-transform-origin: center center;
              transform-origin: center center;
      position: absolute;
      top: 13px;
      left: auto;
      right: 10px;
      border-color: #0F6EB5; }

/* !! プロジェクトストーリー共通 */
div.contents.story .title {
  position: relative;
  height: 33px;
  background: #0C3A5B !important;
  color: #fff;
  padding-left: 10px;
  font-size: 18px;
  line-height: 36px; }

h1.title {
  font-size: 40px;
  font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif !important;
  font-weight: normal;
  margin: 30px 0 !important;
  text-align: center;
  color: #0F6EB5; }

h1.section-page-title {
  font-size: 40px;
  color: #0F6EB5;
  padding: 50px 0 30px 0;
  margin-bottom: 0 !important;
  font-weight: 600;
  text-align: center;
  letter-spacing: 3px;
  margin-top: 0;
  line-height: 1em; }

/* !!------------------------------------ */
/* !! 類設計室 */
/* !! 体制・社員紹介 */
/* !! 動画 */
#architecture-iv-section {
  height: calc(100vh - 72px - 75px);
  background: #EEE;
  position: relative;
  overflow: hidden;
  z-index: 0; }
  @media screen and (max-width: 767px) {
    #architecture-iv-section {
      height: auto; } }
  @media screen and (min-width: 768px) {
    #architecture-iv-section #iv-wrap {
      position: absolute;
      top: 50%;
      left: 50%;
      width: calc((100vh - 72px - 75px)*2);
      height: 110%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); } }
  @media screen and (min-width: 768px) and (min-aspect-ratio: 1724 / 1200) {
    #architecture-iv-section #iv-wrap {
      width: 110vw;
      height: 60vw; } }
  #architecture-iv-section #iv-wrap iframe, #architecture-iv-section #iv-wrap video {
    width: 100% !important;
    height: 100% !important; }
  @media screen and (max-width: 767px) {
    #architecture-iv-section #iv-wrap {
      position: relative;
      width: 100vw;
      height: 56.337vw; } }

#architecture-task {
  background: #fff;
  position: relative;
  z-index: 1; }
  #architecture-task section1 {
    margin-bottom: 30px; }
  #architecture-task p {
    margin: 0;
    padding: 0 15px 0 15px;
    font-size: 14px;
    line-height: 28px;
    color: #727171;
    /*text-indent: 1em;*/ }
  #architecture-task h1 {
    font-size: 40px;
    color: #0F6EB5;
    font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
    font-weight: 600;
    letter-spacing: 3px;
    margin-top: 45px;
    line-height: 1em; }
  #architecture-task .survice {
    font-size: 45px;
    color: #0F6EB5;
    font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
    font-weight: 300;
    letter-spacing: 3px;
    margin-top: 8px;
    line-height: 1em; }
  #architecture-task h2 {
    font-size: 22px;
    line-height: 30px;
    color: #0F6EB5;
    margin-bottom: 10px;
    font-weight: 500;
    padding-bottom: .1em;
    border-bottom: 1px solid #006CB8;
    padding-left: 40px;
    height: 30px; }
  #architecture-task .text-field2 {
    overflow: hidden;
    width: 1044px; }
    #architecture-task .text-field2 h2 {
      font-size: 22px;
      line-height: 30px;
      color: #0F6EB5;
      margin-top: 10px;
      margin-bottom: 10px;
      font-weight: 500;
      padding-bottom: .1em;
      border-bottom: 1px solid #006CB8;
      padding-left: 40px;
      height: 30px; }
  #architecture-task .tgs {
    margin-left: auto;
    text-align: right;
    color: #006CB8; }
  #architecture-task .right-img {
    float: right;
    margin-left: 15px; }
  #architecture-task .jirei-wrap {
    width: 1044px;
    background: #e9e9e9;
    -webkit-box-shadow: 0px 5px 8px -5px rgba(0, 0, 0, 0.8);
            box-shadow: 0px 5px 8px -5px rgba(0, 0, 0, 0.8);
    padding-bottom: 10px;
    margin-bottom: 30px; }
  #architecture-task .jirei-title {
    padding: 6px;
    background: -webkit-linear-gradient(top, #69b4e6 0%, #3498db 100%);
    background: -prefix-linear-gradient(top, #69b4e6 0%, #3498db 100%);
    background: -webkit-gradient(linear, left top, left bottom, from(#69b4e6), to(#3498db));
    background: -o-linear-gradient(top, #69b4e6 0%, #3498db 100%);
    background: linear-gradient(to bottom, #69b4e6 0%, #3498db 100%);
    /*		background: url(../architecture/img/task/titlebase.jpg) no-repeat left center;*/
    color: #fff;
    font-size: 19px;
    text-indent: 1em;
    width: 1044px;
    margin-bottom: 10px; }
  #architecture-task .jirei {
    position: relative;
    width: 300px;
    display: inline-block;
    margin: 10px 0px 10px 33px;
    -webkit-box-shadow: 0px 5px 15px -5px rgba(0, 0, 0, 0.8);
            box-shadow: 0px 5px 15px -5px rgba(0, 0, 0, 0.8); }
    #architecture-task .jirei :hover {
      opacity: 0.75;
      filter: alpha(opacity=75);
      -moz-opacity: 0.75; }
    #architecture-task .jirei span {
      position: absolute;
      bottom: 0px;
      left: 0px;
      width: 300px;
      text-align: center;
      line-height: 270%;
      background-color: rgba(0, 0, 0, 0.5);
      color: #ffffff; }
  #architecture-task .jirei-end {
    position: relative;
    width: 972px;
    display: inline-block;
    margin: 10px auto 20px 36px;
    -webkit-box-shadow: 0px 5px 15px -5px rgba(0, 0, 0, 0.8);
            box-shadow: 0px 5px 15px -5px rgba(0, 0, 0, 0.8); }
    #architecture-task .jirei-end span {
      position: absolute;
      bottom: 0px;
      left: 0px;
      width: 972px;
      text-align: center;
      color: #fff;
      line-height: 270%;
      background-color: rgba(0, 0, 0, 0.5); }
    #architecture-task .jirei-end :hover {
      opacity: 0.75;
      filter: alpha(opacity=75);
      -moz-opacity: 0.75; }
  #architecture-task .toform {
    width: 100%;
    margin: 0px auto 20px auto; }
  #architecture-task hr {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    margin-top: 30px; }
  #architecture-task .toform p {
    font-size: 17px;
    text-indent: 0;
    margin-top: 15px; }
  #architecture-task .toform img {
    display: block;
    margin: 20px auto 0 auto; }
  #architecture-task .toform a:hover {
    opacity: 0.75;
    filter: alpha(opacity=75);
    -moz-opacity: 0.75; }
  #architecture-task .toform img:hover {
    opacity: 0.75;
    filter: alpha(opacity=75);
    -moz-opacity: 0.75;
    -webkit-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out; }
  #architecture-task .text-field {
    /* width: 1044px; */
    margin-bottom: 40px; }

div[id^=architecture-story] {
  /*声*/
  /*
	.voice {
	    background-color: beige;
	    padding: 20px;
	    overflow: hidden;
	    margin: $m !important;
	    float: none;
	    h3 {
    	    font-size: 2em;
    	    margin-bottom: 1em;
    	    padding-bottom: 0.5em;
    	    border-bottom: 3px dotted #ccc;
    	}
    	.peason {
			text-align: center;
			float: none !important;
			p{
				//display: inline-block;
			}
    	}
    	
	}
*/ }
  div[id^=architecture-story] article.wrap {
    overflow: hidden;
    padding-bottom: 50px !important;
    display: block;
    padding: 0 !important;
    background-image: none !important;
    background: #fff !important; }
    div[id^=architecture-story] article.wrap:after {
      display: none; }
  div[id^=architecture-story] p {
    max-width: 100% !important; }
  div[id^=architecture-story] .fl {
    margin-right: 20px;
    margin-bottom: 20px; }
  div[id^=architecture-story] .fr {
    margin-left: 20px;
    margin-bottom: 20px; }
  div[id^=architecture-story] .summary .wrap {
    position: absolute;
    top: 50px;
    left: 0; }
    div[id^=architecture-story] .summary .wrap .tag {
      background: #fff;
      margin-top: 10px;
      padding: 0 5px;
      line-height: 1.4;
      display: inline-block;
      padding: 5px 20px;
      font-size: 16px; }
      div[id^=architecture-story] .summary .wrap .tag span {
        font-size: 10px;
        display: block;
        margin-top: 3px; }
    div[id^=architecture-story] .summary .wrap h1 {
      padding: 20px;
      color: #fff;
      font-size: 50px;
      margin: 0;
      text-shadow: 0 0 3px #000;
      line-height: 1.3;
      font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif !important; }
    div[id^=architecture-story] .summary .wrap .author {
      font-size: 16px;
      color: #fff;
      font-weight: bold;
      text-shadow: 0 0 4px #000, 0 0 8px #000;
      margin: 0;
      padding-left: 20px;
      line-height: 1; }
  div[id^=architecture-story] .staff {
    margin: 20px !important; }
    div[id^=architecture-story] .staff li {
      margin-top: 15px; }
    div[id^=architecture-story] .staff img {
      display: block;
      width: 100% !important;
      height: auto !important; }
  div[id^=architecture-story] .common-section h1 {
    padding-left: 0 !important; }
  div[id^=architecture-story] .images {
    margin-bottom: 15px; }
  div[id^=architecture-story] section {
    background-image: none !important; }
  div[id^=architecture-story] .sukima {
    display: none; }
  div[id^=architecture-story] .clearfix, div[id^=architecture-story] .fix {
    margin: 20px !important; }
  div[id^=architecture-story] .lightbox-button-wrap {
    margin: 20px;
    text-align: center;
    clear: both;
    overflow: hidden; }
    div[id^=architecture-story] .lightbox-button-wrap.nm {
      margin: 20px 0; }
    div[id^=architecture-story] .lightbox-button-wrap .lightbox-button {
      width: 300px;
      display: inline-block;
      margin: 10px; }
      div[id^=architecture-story] .lightbox-button-wrap .lightbox-button input {
        position: absolute;
        top: 0;
        left: 0;
        pointer-events: none; }
      div[id^=architecture-story] .lightbox-button-wrap .lightbox-button a {
        display: block;
        line-height: 40px;
        background: #E7F1F8;
        text-align: center;
        position: relative;
        text-decoration: none;
        padding: 0 40px 0 40px;
        white-space: nowrap;
        overflow: hidden;
        -o-text-overflow: ellipsis;
           text-overflow: ellipsis; }
        div[id^=architecture-story] .lightbox-button-wrap .lightbox-button a:before {
          position: absolute;
          top: 10px;
          left: 0;
          width: 40px;
          height: 20px;
          content: "";
          background-image: url(../img/section-menu-icon.svg);
          background-repeat: no-repeat;
          background-size: 40px auto;
          background-position: 0 0;
          background-position: 0 -80px !important; }
      div[id^=architecture-story] .lightbox-button-wrap .lightbox-button.prj a:before {
        background-position: 0 -40px !important; }
  div[id^=architecture-story] .common-section .lightbox-button-wrap {
    margin: 20px 0; }
  div[id^=architecture-story] div.voice, div[id^=architecture-story] section.voice {
    margin: 20px !important;
    padding: 20px !important; }
    div[id^=architecture-story] div.voice h3 span, div[id^=architecture-story] section.voice h3 span {
      vertical-align: middle; }
    div[id^=architecture-story] div.voice .person, div[id^=architecture-story] section.voice .person {
      float: left !important;
      overflow: hidden;
      padding: 0 !important;
      width: 200px;
      margin: 0 auto;
      text-align: center;
      margin-bottom: 20px; }
      div[id^=architecture-story] div.voice .person img, div[id^=architecture-story] section.voice .person img {
        display: block;
        margin-right: 0;
        margin-bottom: 10px;
        width: 120px !important;
        height: auto; }
      div[id^=architecture-story] div.voice .person p, div[id^=architecture-story] section.voice .person p {
        margin: 0 !important;
        text-align: left; }
    div[id^=architecture-story] div.voice > p, div[id^=architecture-story] section.voice > p {
      margin-bottom: 0 !important; }
  div[id^=architecture-story] table.person {
    height: auto !important;
    margin: 20px 0 !important; }
    div[id^=architecture-story] table.person tr, div[id^=architecture-story] table.person td, div[id^=architecture-story] table.person th {
      display: block;
      height: auto !important;
      width: auto !important; }
    div[id^=architecture-story] table.person td {
      padding: 15px !important;
      text-align: center;
      line-height: 150%; }
      div[id^=architecture-story] table.person td img {
        display: inline-block !important; }

#architecture-works {
  padding-bottom: 200px !important; }

.filter-text {
  background: #0F6EB5;
  height: 20px;
  line-height: 20px;
  text-align: center;
  width: 60px;
  color: #fff;
  font-size: 12px !important;
  font-weight: bold;
  margin-right: 10px; }
  .filter-text + span {
    padding-left: 6px !important; }

#architecture-works {
  padding: 20px 0; }
  #architecture-works header > h1 {
    border: 1px solid #0F6EB5;
    line-height: 1;
    color: #0F6EB5;
    padding: 10px 0;
    font-size: 20px;
    width: 200px;
    float: none !important;
    text-align: center; }
  #architecture-works header > .text {
    margin: 1em 0px; }

.portfolio-lightbox {
  height: auto !important; }
  .portfolio-lightbox .main-image, .portfolio-lightbox .thumbnail {
    background: #fff !important; }
  .portfolio-lightbox section.details {
    background: #fff !important; }
  .portfolio-lightbox .close {
    position: absolute;
    top: 10px !important;
    right: auto !important;
    left: 50%;
    z-index: 10;
    margin-left: 395px; }

.portfolio-lightbox .bg {
  background: rgba(0, 0, 0, 0.5) !important;
  height: 100vh !important; }

.story #sp-footer-wrap {
  margin-top: 0; }

.main-image img {
  width: 100% !important;
  height: auto !important; }

table.lightbox-button-grp {
  margin: 15px auto; }
  table.lightbox-button-grp tr, table.lightbox-button-grp th, table.lightbox-button-grp td {
    display: block !important; }
  table.lightbox-button-grp a {
    display: block;
    margin-top: 15px; }
    table.lightbox-button-grp a img {
      width: 100% !important;
      height: auto !important; }

div.fix, div.floating-block {
  margin: 15px;
  width: auto !important;
  margin-bottom: 15px !important;
  height: auto !important; }
  div.fix img, div.floating-block img {
    width: 100% !important;
    height: auto !important; }

.works .sns-blog {
  margin-top: 0; }

#dsp-wrap.filterd p {
  display: none; }

#dsp-wrap.filterd #dsp {
  display: block !important; }

.portfolio-list-wp {
  max-width: 1044px; }
  .portfolio-list-wp ul {
    width: 100% !important;
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: relative; }
    .portfolio-list-wp ul li {
      position: relative !important;
      width: calc((100% - 40px)/5);
      margin-bottom: 10px;
      -webkit-transition: 500ms;
      -o-transition: 500ms;
      transition: 500ms; }
      .portfolio-list-wp ul li.ckNew:before {
        content: "";
        width: 100%;
        height: 50%;
        position: absolute;
        top: 0;
        left: 0;
        background-image: url(../img/new.gif);
        background-repeat: no-repeat;
        background-size: 100% auto;
        background-position: top left; }
      .portfolio-list-wp ul li.nt {
        -webkit-transition: 0 !important;
        -o-transition: 0 !important;
        transition: 0 !important; }
      .portfolio-list-wp ul li.rdy {
        opacity: 0; }
      .portfolio-list-wp ul li a {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 2; }
      .portfolio-list-wp ul li img {
        width: 100% !important;
        height: auto !important; }
    .portfolio-list-wp ul .wrap {
      width: 100%;
      height: 100%;
      position: relative; }
    .portfolio-list-wp ul li:hover .filter {
      opacity: 1; }
    .portfolio-list-wp ul .filter {
      position: absolute;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      opacity: 0;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      padding: 15px;
      color: #ffffff;
      background-color: rgba(0, 47, 80, 0.8);
      z-index: 1;
      -webkit-transition: 500ms;
      -o-transition: 500ms;
      transition: 500ms; }
      .portfolio-list-wp ul .filter .lead {
        font-size: 1.2rem;
        display: block;
        white-space: nowrap;
        line-height: 1;
        overflow: hidden;
        -o-text-overflow: ellipsis;
           text-overflow: ellipsis; }
      .portfolio-list-wp ul .filter .caption {
        font-size: 1.5rem;
        font-weight: 600;
        line-height: 1.4;
        margin-top: 10px; }
      .portfolio-list-wp ul .filter .text {
        font-size: 1.2rem;
        line-height: 1.6;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%; }

nav.portfolio-nav {
  height: auto !important;
  line-height: 1;
  text-align: center;
  bottom: 0; }
  nav.portfolio-nav.filterd .refine b {
    display: none; }
  nav.portfolio-nav.filterd .refine a {
    display: block; }
  nav.portfolio-nav > ul {
    height: auto !important;
    padding: 0 !important;
    width: auto !important;
    display: inline-block !important;
    font-size: 0;
    position: relative;
    bottom: 72px;
    border: 1px solid #0F6EB5;
    border-radius: 4px;
    background: #fff !important; }
    nav.portfolio-nav > ul > li {
      display: inline-block !important;
      vertical-align: top;
      float: none !important;
      font-size: 16px !important;
      line-height: 40px;
      padding: 0 15px;
      z-index: 4; }
      nav.portfolio-nav > ul > li > a {
        z-index: 4;
        white-space: nowrap; }
      nav.portfolio-nav > ul > li.refine {
        background: #0F6EB5;
        color: #fff; }
        nav.portfolio-nav > ul > li.refine a {
          color: #fff;
          font-weight: bold;
          display: none; }
      nav.portfolio-nav > ul > li:last-of-type:before {
        content: "";
        height: 100%;
        display: block;
        width: 1px;
        background: #0F6EB5;
        position: absolute;
        top: 0px;
        left: 0; }
      nav.portfolio-nav > ul > li:hover .inner-list {
        display: block !important; }
      nav.portfolio-nav > ul > li .inner-list {
        font-size: 16px !important;
        left: 50%;
        width: 260px;
        border-radius: 8px;
        line-height: 1;
        height: 400px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        bottom: 50px;
        padding: 5px;
        background: #fff;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%); }
        nav.portfolio-nav > ul > li .inner-list ul {
          overflow: auto;
          height: 100%;
          position: relative;
          z-index: 3;
          background: #fff; }
        nav.portfolio-nav > ul > li .inner-list:before {
          content: "";
          -webkit-box-sizing: border-box;
                  box-sizing: border-box;
          height: 100%;
          position: absolute;
          top: 10px;
          left: 0;
          width: 100%;
          background: none;
          z-index: -1; }
        nav.portfolio-nav > ul > li .inner-list:after {
          content: "";
          z-index: 0;
          display: block;
          width: 30px;
          height: 30px;
          background: #fff;
          position: absolute;
          bottom: 0;
          left: 50%;
          -webkit-transform: rotate(45deg) translate(-50%, 50%);
          -ms-transform: rotate(45deg) translate(-50%, 50%);
          transform: rotate(45deg) translate(-50%, 50%); }
        nav.portfolio-nav > ul > li .inner-list li {
          height: auto !important;
          z-index: 1;
          position: relative;
          width: 100%;
          padding: 0px;
          -webkit-box-sizing: border-box;
                  box-sizing: border-box;
          white-space: nowrap;
          display: inline-block !important; }
          nav.portfolio-nav > ul > li .inner-list li:last-of-type {
            border-bottom: 0; }
          nav.portfolio-nav > ul > li .inner-list li a {
            line-height: 36px !important;
            font-size: 14px !important;
            width: auto !important;
            color: #0F6EB5;
            font-weight: bold;
            padding: 0;
            padding: 0 !important; }

/* !!   */
/* !! 作品集シングルページ */
.works-article-page {
  /* !! - mv */ }
  .works-article-page #article-wrap {
    width: 784px; }
  .works-article-page #gallery-wrap {
    width: 100%;
    margin: 0 auto;
    margin-top: 50px;
    position: relative; }
    .works-article-page #gallery-wrap ul.main {
      width: 660px;
      height: 494px;
      overflow: hidden;
      position: relative; }
      .works-article-page #gallery-wrap ul.main li {
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        -webkit-transition: 500ms;
        -o-transition: 500ms;
        transition: 500ms;
        width: 100%;
        height: 100%; }
        .works-article-page #gallery-wrap ul.main li img {
          display: block;
          width: 100% !important;
          height: 100% !important;
          -o-object-fit: contain;
             object-fit: contain; }
          .msIE .works-article-page #gallery-wrap ul.main li img {
            height: 100%;
            width: auto !important;
            margin: 0 auto; }
        .works-article-page #gallery-wrap ul.main li.on {
          opacity: 1; }
    .works-article-page #gallery-wrap ul.thumb {
      position: absolute;
      font-size: 0;
      line-height: 1;
      top: 0;
      right: 0;
      width: calc(482px / 4); }
      .works-article-page #gallery-wrap ul.thumb li {
        margin-bottom: 4px;
        cursor: pointer;
        opacity: .6;
        -webkit-transition: 500ms;
        -o-transition: 500ms;
        transition: 500ms; }
        .works-article-page #gallery-wrap ul.thumb li:hover, .works-article-page #gallery-wrap ul.thumb li.on {
          opacity: 1; }
        .works-article-page #gallery-wrap ul.thumb li img {
          width: 100% !important;
          height: auto !important; }
  .works-article-page h1 {
    letter-spacing: .05em;
    font-weight: 400 !important;
    color: #202020; }
  .works-article-page .data {
    border: 1px solid  #ccc;
    border-width: 1px 0px;
    padding: 20px 0;
    white-space: nowrap;
    margin-bottom: 20px; }
    .works-article-page .data li {
      display: inline-block;
      line-height: 24px;
      margin-right: 15px; }
      .works-article-page .data li:last-of-type {
        margin-right: 0; }
      .works-article-page .data li i.pc {
        display: inline !important; }
    .works-article-page .data span {
      background: #efefef;
      display: inline-block;
      width: 4em;
      line-height: 24px;
      font-size: 1.3rem;
      margin-right: 5px;
      border-radius: 4px;
      text-align: center; }
  .works-article-page a.btn {
    width: 80%;
    margin: 50px auto;
    max-width: 400px;
    display: block;
    line-height: 40px;
    background: #E7F1F8;
    text-align: center;
    position: relative;
    text-decoration: none;
    padding: 0 40px 0 40px;
    white-space: nowrap;
    overflow: hidden;
    -o-text-overflow: ellipsis;
       text-overflow: ellipsis;
    position: relative; }
    .works-article-page a.btn:after {
      position: absolute;
      top: 10px;
      left: 0;
      width: 40px;
      height: 20px;
      content: "";
      display: block;
      background-image: url(../img/section-menu-icon.svg);
      background-repeat: no-repeat;
      background-size: 40px auto;
      background-position: 0 -40px !important; }
  .works-article-page .screen-reader-text {
    display: none; }
  .works-article-page .nav-links {
    text-align: center;
    width: 400px;
    margin: 50px auto 150px auto; }
    .works-article-page .nav-links div {
      display: inline-block;
      font-size: 0;
      vertical-align: top;
      margin: 0 30px; }
      .works-article-page .nav-links div a {
        text-decoration: none;
        display: block;
        font-size: 0;
        line-height: 1;
        width: auto;
        padding: 10px; }
        .works-article-page .nav-links div a:after {
          white-space: nowrap;
          content: "";
          font-size: 1.4rem;
          display: block;
          padding-bottom: 8px; }
    .works-article-page .nav-links .nav-previous a:after {
      content: "前の作品";
      text-align: left;
      padding: 0 0 6px 19px;
      background-image: url(../img/btn-more-arrw-left.svg);
      background-repeat: no-repeat;
      background-size: auto 10px;
      background-position: left bottom; }
    .works-article-page .nav-links .nav-next a:after {
      content: "次の作品";
      text-align: left;
      padding: 0 19px 6px 0;
      background-image: url(../img/btn-more-arrw.svg);
      background-repeat: no-repeat;
      background-size: auto 10px;
      background-position: right bottom; }

/* !!------------------------------------ */
/* !! 類塾 */
/* !!  */
/* !! プロジェクトストーリー */
#education-story #section8 .images img {
  height: auto; }

/* !!  */
/* !! 事業紹介 */
#education-task {
  margin-bottom: 0 !important; }
  #education-task h1.hd {
    font-size: 32px;
    color: #0F6EB5;
    padding: 13.5vw 0 8.1vw 0;
    margin-bottom: 0 !important;
    font-weight: 600;
    text-align: center;
    letter-spacing: 3px;
    margin-top: 0;
    line-height: 1em; }
  #education-task h2 {
    background: #0F6EB5;
    text-align: center;
    margin: 20px 0;
    color: #fff; }
  #education-task p {
    max-width: 100%;
    line-height: 2; }
  #education-task p.btn-site {
    width: 100%; }

/* !!------------------------------------ */
/* !! 類地所 */
/* !!  */
/* !! 体制・社員紹介 */
#realestate-task {
  margin-bottom: 100px; }
  #realestate-task h1 {
    font-size: 32px;
    color: #0F6EB5;
    padding: 50px 0 30px 0;
    margin-bottom: 0 !important;
    font-weight: 600;
    text-align: center;
    letter-spacing: 3px;
    margin-top: 0;
    line-height: 1em; }
  #realestate-task h2 {
    font-size: 20px;
    line-height: 1.5;
    color: #0F6EB5;
    margin-bottom: 10px;
    font-weight: 500;
    padding-bottom: .1em;
    border-bottom: 1px solid #006CB8;
    background: none;
    padding-left: 0;
    height: auto; }
  #realestate-task section {
    margin-top: 0 !important;
    padding: 0 20px;
    margin-bottom: 30px !important; }
    #realestate-task section .btn-more {
      padding: 0;
      margin: 1em 0px; }
    #realestate-task section .contents.staff-index2 {
      margin-bottom: 0px !important; }
  #realestate-task a.toBlog-estate img {
    width: 100% !important;
    height: auto !important; }

/* !!  */
/* !! プロジェクトストーリー */
#realestate-story.story {
  /*
	.images{
		width: 100vw;
		margin: $m;
		margin-left: -$m;
		img{
			width: 100% !important;
			height: auto !important;
		}
	}
*/ }
  #realestate-story.story section {
    overflow: hidden !important; }

/* !!  */
/* !! 事業紹介 */
#realestate-task .section {
  margin: 0;
  padding: 0; }
  #realestate-task .section .ph01 {
    margin-bottom: 1em; }
  #realestate-task .section p {
    padding: 0;
    margin-top: 1em; }

#realestate-task .ow_mokuji li {
  position: relative; }
  #realestate-task .ow_mokuji li a {
    position: absolute;
    display: block;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

#realestate-task .client-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  #realestate-task .client-wrap dl {
    float: none;
    margin: 0;
    position: relative; }
    #realestate-task .client-wrap dl a {
      position: absolute;
      display: block;
      z-index: 1;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }

#realestate-task .panf p {
  padding-top: 2em; }

#realestate-task .portfolio-pagelist a {
  display: inline-block; }

#realestate-task .portfolio-pagelist a:first-of-type {
  margin-right: 50px; }

/* !!------------------------------------ */
/* !! 本社 */
/* !!  */
/* !! 事業紹介 */
#headquarters.task p {
  max-width: 100%;
  line-height: 2;
  font-size: 14px; }

#headquarters.task h1.hd {
  font-size: 40px;
  color: #0F6EB5;
  padding: 50px 0 30px 0;
  margin-bottom: 0 !important;
  font-weight: 600;
  text-align: center;
  letter-spacing: 3px;
  margin-top: 0;
  line-height: 1em; }

#headquarters.task h2 {
  background: #0F6EB5;
  text-align: center;
  color: #fff;
  margin-bottom: 10px;
  font-size: 20px;
  line-height: 36px; }

#headquarters.task p.lead {
  margin: 0 0 20px;
  color: #006CB8;
  font-size: 28px;
  font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif !important;
  line-height: 1.5; }

#headquarters.task section .lead {
  font-family: "Hiragino Kaku Gothic ProN","YuGothic",Meiryo,"メイリオ",sans-serif !important;
  font-size: 24px; }

#headquarters.task section:last-of-type {
  margin-bottom: 0 !important; }

/* !!------------------------------------ */
/* !! 会社概要 */
#profile .profile {
  width: 900px;
  margin: 0 auto;
  margin-bottom: 50px;
  border-collapse: collapse; }
  #profile .profile tr th {
    width: 132px;
    padding: 15px 0 10px;
    border-bottom: 1px dotted #B6B7B7; }
    #profile .profile tr th span {
      display: block;
      width: 132px;
      height: 34px;
      text-align: center;
      color: #333232;
      font-size: 13px;
      font-weight: bold;
      line-height: 34px;
      background-color: #EDF6FC; }
  #profile .profile tr td {
    padding: 23px 15px 0;
    border-bottom: 1px dotted #B6B7B7;
    color: #333232;
    font-size: 14px;
    line-height: 19px; }
    #profile .profile tr td dl dt {
      margin: 0 0 8px;
      color: #006CB8;
      font-weight: bold; }
    #profile .profile tr td dl dd {
      margin: 0 0 20px; }

#profile section {
  margin: 0 auto 30px auto;
  width: 900px; }
  #profile section h1 {
    font-size: 24px; }
  #profile section h2.keiei-title {
    font-size: 14px;
    color: #006cb8;
    padding: 8px;
    margin-bottom: 20px;
    background-color: #e1eef5;
    width: 180px;
    text-align: center;
    vertical-align: middle;
    float: left; }
  #profile section p {
    margin: 0 0 15px;
    color: #333232;
    font-size: 14px;
    line-height: 19px; }
    #profile section p.caption {
      margin: 0 0 5px;
      color: #006CB8; }
    #profile section p.notice {
      font-size: 12px; }
    #profile section p.notice-fl {
      font-size: 12px;
      float: left;
      margin-top: 22px; }
  #profile section table {
    margin: 0 0 10px;
    border-collapse: collapse;
    clear: both;
    width: 100%; }
    #profile section table tr th {
      height: 40px;
      border: 1px solid #006CB8;
      text-align: center;
      font-size: 13px;
      font-weight: bold;
      line-height: 40px;
      background-color: #EDF6FC; }
    #profile section table tr .th1 {
      background-color: #D2EAFC; }
    #profile section table tr td {
      height: 60px;
      border: 1px solid #006CB8;
      text-align: center;
      line-height: 60px; }

#profile-inquiry .main-office h1 {
  line-height: 32px;
  background: #0F6EB5;
  font-size: 16px;
  padding-left: 12px;
  color: #fff !important; }

#profile-inquiry .main-office .map {
  width: 100% !important; }

#profile-inquiry .main-office iframe {
  width: 100% !important;
  display: block; }

#profile-inquiry .inquiry {
  margin: 0;
  margin-top: 30px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  #profile-inquiry .inquiry section {
    float: left;
    height: auto;
    font-size: 0;
    background: #fff !important;
    width: calc((100% - 40px) / 2); }
    #profile-inquiry .inquiry section.fr {
      float: right !important; }
    #profile-inquiry .inquiry section#juku {
      height: auto !important; }
      #profile-inquiry .inquiry section#juku .float {
        width: 100% !important;
        margin: 0; }
    #profile-inquiry .inquiry section h1 {
      line-height: 32px;
      background: rgba(15, 110, 181, 0.1);
      font-size: 16px;
      padding-left: 12px;
      color: #0F6EB5 !important;
      margin-bottom: 20px; }
    #profile-inquiry .inquiry section .float {
      display: inline-block !important;
      width: calc(50% - 10px) !important;
      vertical-align: top;
      margin: 20px 20px 20px 0; }
      #profile-inquiry .inquiry section .float:nth-of-type(2n) {
        margin-right: 0; }
    #profile-inquiry .inquiry section .link {
      width: 100%; }
    #profile-inquiry .inquiry section p {
      font-size: 12px !important;
      font-size: 12px; }
      #profile-inquiry .inquiry section p strong {
        font-size: 1.2em !important; }

/* !!------------------------------------ */
/* !! 404 */
@media screen and (min-width: 768px) {
  body.error404 {
    height: 100vh; }
    body.error404 .sns-blog {
      position: fixed;
      bottom: 0;
      left: 0;
      width: 100%; }
  ._404 {
    text-align: center;
    margin-top: 100px; }
    ._404 .inner {
      width: 500px !important;
      min-width: 0 !important;
      margin: 0 !important;
      display: inline-block; }
    ._404 .btn {
      border: 1px solid #ddd;
      display: block;
      color: #333;
      text-align: center;
      line-height: 36px;
      border-radius: 5px;
      text-decoration: none;
      width: 80%;
      margin: 20px auto; } }

.pc {
  display: block; }

.sp {
  display: none !important; }

#responsive_flg {
  display: none; }

body {
  overflow-x: hidden; }

#spmenu-wrap {
  display: none; }

.ov {
  overflow: visible !important; }

.mb0 {
  margin-bottom: 0 !important; }

/* !!------------------------------------ */
/* !! パーツ */
.btn-entry-1, .btn-entry-2 {
  background: -webkit-linear-gradient(#ffffff 0%, #d6d6d6 100%);
  border: 1px solid #ddd;
  font-weight: bold;
  line-height: 40px;
  display: block;
  text-align: center;
  text-decoration: none;
  position: relative;
  border-radius: 4px; }
  .btn-entry-1:after, .btn-entry-2:after {
    display: block;
    position: absolute;
    left: 0;
    top: 10px;
    content: "";
    width: 8px;
    height: 8px;
    border: 1px solid #000;
    border-width: 0 1px 1px 0;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: center center;
        -ms-transform-origin: center center;
            transform-origin: center center;
    width: 12px;
    height: 12px;
    top: 13px;
    left: 10px;
    border-color: #0F6EB5; }

.btn-entry-2 {
  background: #fff;
  border-color: #0F6EB5;
  color: #666; }

lower-contents .label {
  display: inline-block;
  padding: 0;
  text-align: center;
  white-space: nowrap;
  line-height: 30px;
  border: 2px solid #006cb8;
  border-radius: 5px;
  color: #006cb8;
  margin: 0 0 10px;
  font-size: 1.1em;
  width: 120px;
  font-weight: bold !important; }

/* !!------------------------------------ */
/* !!------------------------------------ */
/* !! ----------- SP -------------------- */
/* !!------------------------------------ */
/* !!------------------------------------ */
@media screen and (max-width: 767px) {
  img {
    max-width: 100%;
    height: auto; }
  .preload {
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important; }
  .fl, .fr {
    float: none; }
  .pc {
    display: none !important; }
  .sp {
    display: block !important; }
  a.post-edit-link {
    display: none; }
  a.post-edit-link {
    z-index: 22;
    position: fixed;
    font-size: 13px;
    color: #fff;
    line-height: 1;
    padding: 10px 20px;
    border-radius: 4px;
    background: #0F6EB5;
    right: 60px;
    top: 15px;
    text-decoration: none; }
  body {
    padding-top: 50px; }
  #gnav-wrap {
    min-width: 0 !important; }
  .wrap {
    min-width: 0;
    width: auto !important; }
  p.btn-more {
    text-align: right;
    margin: 30px 5.4vw;
    line-height: 1;
    min-width: 0; }
    p.btn-more a {
      display: inline-block;
      text-decoration: none;
      font-size: 12px;
      color: #0F6EB5;
      display: inline-block;
      line-height: 1;
      padding: 0 19px 6px 0;
      background-image: url(../img/btn-more-arrw.svg);
      background-repeat: no-repeat;
      background-size: 235px 10px;
      background-position: bottom right; }
  .header-btn {
    position: fixed;
    top: 8px;
    right: 58px;
    z-index: 21;
    background: #0F6EB5;
    border-radius: 4px;
    height: 34px;
    -webkit-transition: 200ms cubic-bezier(0, 2, 0.56, 0.98);
    -o-transition: 200ms cubic-bezier(0, 2, 0.56, 0.98);
    transition: 200ms cubic-bezier(0, 2, 0.56, 0.98);
    -webkit-tap-highlight-color: transparent;
    cursor: pointer; }
    .header-btn a {
      -webkit-tap-highlight-color: transparent; }
    .header-btn:active {
      -webkit-transform: scale(0.95);
      -ms-transform: scale(0.95);
      transform: scale(0.95);
      will-change: transform; }
    .header-btn a {
      color: #fff;
      text-decoration: none;
      font-size: 10px !important;
      line-height: 1.2;
      display: block;
      padding: 0 10px;
      font-weight: 600;
      top: 50%;
      position: relative;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
  #sp-recruiting {
    position: fixed;
    top: 8px;
    right: 58px;
    z-index: 21; }
    #sp-recruiting div {
      background: #0F6EB5;
      border-radius: 4px;
      height: 34px;
      -webkit-transition: 200ms cubic-bezier(0, 2, 0.56, 0.98);
      -o-transition: 200ms cubic-bezier(0, 2, 0.56, 0.98);
      transition: 200ms cubic-bezier(0, 2, 0.56, 0.98);
      -webkit-tap-highlight-color: transparent;
      cursor: pointer;
      display: inline-block;
      margin-left: 5px;
      vertical-align: top; }
      #sp-recruiting div a {
        -webkit-tap-highlight-color: transparent; }
      #sp-recruiting div:active {
        -webkit-transform: scale(0.95);
        -ms-transform: scale(0.95);
        transform: scale(0.95);
        will-change: transform; }
    #sp-recruiting a {
      color: #fff;
      text-decoration: none;
      font-size: 10px !important;
      line-height: 1.2;
      display: block;
      padding: 0 8px;
      font-weight: 600;
      top: 50%;
      position: relative;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
    #sp-recruiting.ar {
      text-align: right; }
  p {
    text-align: justify; }
  .text-field {
    max-width: 100%; }
  /* !!------------------------------------ */
  /* !! SPメニュー */
  #gnav-wrap {
    height: 50px !important;
    background: #fff !important;
    border-bottom: 1px solid  #eee; }
  h1#spLogo {
    position: fixed;
    top: 15px;
    left: 10px;
    z-index: 10;
    height: 20px;
    z-index: 21;
    margin: 0; }
    h1#spLogo img {
      height: 20px;
      width: auto !important; }
  #menu-btn {
    position: fixed;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    z-index: 23;
    background: #E7F1F8; }
    #menu-btn:after {
      -webkit-transition: 200ms cubic-bezier(0, 2, 0.56, 0.98) -webkit-transform;
      transition: 200ms cubic-bezier(0, 2, 0.56, 0.98) -webkit-transform;
      -o-transition: 200ms cubic-bezier(0, 2, 0.56, 0.98) transform;
      transition: 200ms cubic-bezier(0, 2, 0.56, 0.98) transform;
      transition: 200ms cubic-bezier(0, 2, 0.56, 0.98) transform, 200ms cubic-bezier(0, 2, 0.56, 0.98) -webkit-transform;
      position: absolute;
      width: 100%;
      height: 100%;
      content: "";
      display: block;
      background-image: url(../img/btn-spmenu.svg);
      background-repeat: no-repeat;
      background-size: 100px 50px;
      background-position: top left; }
    .menu-on #menu-btn {
      background: #fff; }
      .menu-on #menu-btn:after {
        background-position: top right !important; }
    #menu-btn:active:after {
      -webkit-transform: scale(0.8);
      -ms-transform: scale(0.8);
      transform: scale(0.8); }
  #spmenu-wrap {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 22;
    width: 100%;
    height: 100%;
    background: #fff;
    width: 300px;
    -webkit-transform: translate(300px, 0);
    -ms-transform: translate(300px, 0);
    transform: translate(300px, 0);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    background: #eee;
    border-left: 1px solid  #ccc;
    -webkit-transition: 500ms;
    -o-transition: 500ms;
    transition: 500ms; }
  body.menu-on #spmenu-wrap {
    display: block;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0); }
  #wrapper, .contents, header.page-header, .page-footer, #header, div#recruiting, div#strength, div#strength, #gnav-wrap {
    -webkit-transition: 0.2s ease-out;
    -o-transition: 0.2s ease-out;
    transition: 0.2s ease-out;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  body.menu-on #wrapper, body.menu-on .contents, body.menu-on header.page-header, body.menu-on .page-footer, body.menu-on #header, body.menu-on div#recruiting, body.menu-on div#strength, body.menu-on div#strength1,
  body.menu-on #philosophy, body.menu-on #gnav-wrap {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-transition: 0.2s ease-out;
    -o-transition: 0.2s ease-out;
    transition: 0.2s ease-out; }
  /* 	!!メニュー */
  .spmenu {
    overflow: hidden !important;
    padding-bottom: 50px; }
    .spmenu a {
      font-weight: normal !important; }
  .spmenu > li:first-of-type {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-top: 0 !important; }
  .footer-only {
    display: none; }
  .spmenu li.top a {
    line-height: 50px; }
  .spmenu li {
    /* 			height: 40px; */
    border-top: 1px solid #ddd;
    border-bottom: none !important;
    margin-left: 0em;
    list-style: none;
    background: none !important;
    overflow: hidden; }
    .spmenu li a {
      position: relative; }
  a.has_ul:after {
    content: "＋";
    color: #666;
    text-align: center;
    font-size: 14px;
    line-height: 50px;
    margin-right: 0px;
    width: 50px;
    position: absolute;
    top: 0;
    right: 0;
    font-weight: bold;
    color: rgba(0, 0, 0, 0.3); }
  .spmenu li a.open {
    color: #0F6EB5;
    font-weight: bold !important;
    background: rgba(255, 255, 255, 0.52); }
    .spmenu li a.open:after {
      content: "−"; }
  .spmenu li.has_open_ul {
    background: rgba(255, 255, 255, 0.3) !important; }
  .spmenu > li > a {
    display: block;
    width: 100%;
    height: 100%;
    line-height: 50px;
    font-size: 15px;
    font-weight: 600;
    padding-left: 12px;
    color: #666;
    text-decoration: none;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
  /* !! PCサイトへ */
  .spmenu > li a._pc {
    display: block !important;
    position: relative; }
  .spmenu > li a._pc:before {
    content: "PCサイトへ";
    float: right;
    background: #fff;
    color: #666;
    font-size: 11px;
    padding: 5px;
    border-radius: 4px;
    line-height: 100%;
    margin-top: 10px;
    margin-right: 12px; }
  .spmenu > li > a.ext:after {
    content: "別サイトへ";
    float: right;
    background: #fff;
    color: #666;
    font-size: 11px;
    padding: 5px;
    border-radius: 4px;
    line-height: 100%;
    margin-top: 14px;
    margin-right: 12px; }
  /* 検索 */
  .spmenu > li form {
    display: block;
    position: relative; }
  .sp-menu-srch {
    position: static;
    display: inline-block;
    border-radius: 4px;
    border: 1px solid #ccc;
    padding: 4px;
    width: 240px;
    margin: 10px 4px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    height: 30px;
    font-size: 14px; }
  .sp-menu-btn {
    position: absolute;
    top: 18px;
    right: 16px; }
  /* !!サブメニュー	 */
  .spmenu .sub {
    display: none;
    margin: 5px 0; }
  .spmenu .sub li {
    border: none; }
  .spmenu .sub li a {
    text-decoration: none;
    display: block;
    font-weight: normal;
    font-size: 13px;
    line-height: 36px;
    height: 36px;
    padding-left: 12px;
    color: #0F6EB5;
    background-size: 14px;
    background-position: left center; }
    .spmenu .sub li a[target="_blank"]:after {
      content: "別サイトへ";
      float: right;
      background: #fff;
      color: #666;
      font-size: 11px;
      padding: 5px;
      border-radius: 4px;
      line-height: 100%;
      margin-top: 7px;
      margin-right: 12px;
      line-height: 1 !important; }
  /* !!サブメニューのサブメニュー	 */
  .spmenu .sub li .sub {
    display: block; }
  .spmenu .sub li .sub li a {
    background: none;
    padding-left: 1em;
    font-size: 13px;
    margin-bottom: 10px;
    height: auto !important;
    text-decoration: underline;
    line-height: 180%; }
  .spmenu li.nb {
    border: none; }
  .spmenu a.shiryou {
    background: url(/pub/img_sp/shiryouseikyu.svg) no-repeat;
    background-position: top center;
    margin-right: 10px;
    display: block;
    width: auto !important;
    margin: 10px 5px;
    border-radius: 4px;
    height: 35px;
    background-size: auto 100%;
    margin-left: 4px; }
  /* 	コンテナの処理 */
  #container {
    width: 100%; }
  #container-shade {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 20;
    pointer-events: none;
    cursor: pointer;
    opacity: 0;
    -webkit-transition: 500ms;
    -o-transition: 500ms;
    transition: 500ms; }
  body.menu-on #container-shade {
    z-index: 20;
    opacity: 1; }
  /* !!------------------------------------ */
  /* !! フッター */
  #sp-footer-wrap {
    margin-top: 50px; }
    #sp-footer-wrap.recruiting {
      margin-top: 0; }
    #sp-footer-wrap ul.spmenu {
      background: #efefef;
      padding-bottom: 0; }
      #sp-footer-wrap ul.spmenu .footer-only {
        display: block; }
      #sp-footer-wrap ul.spmenu > li:first-of-type {
        border-top: 1px solid #ddd !important; }
      #sp-footer-wrap ul.spmenu > li a {
        line-height: 40px;
        font-size: 13px; }
        #sp-footer-wrap ul.spmenu > li a:after {
          line-height: 40px; }
        #sp-footer-wrap ul.spmenu > li a.ext:after {
          line-height: 1;
          margin-top: 10px;
          margin-right: 10px; }
      #sp-footer-wrap ul.spmenu > li a.noBtn:not(.ext):after {
        content: "";
        height: 0;
        width: 0;
        border-left: 5px solid #aaa;
        border-right: 5px solid transparent;
        border-bottom: 5px solid transparent;
        border-top: 5px solid transparent;
        position: absolute;
        top: 15px;
        right: 10px; }
      #sp-footer-wrap ul.spmenu li.profile {
        display: none; }
  .sns-blog {
    border-top: 1px solid #ddd;
    background: #eee;
    text-align: center;
    padding: 15px 0;
    font-size: 0;
    margin-top: 0; }
    .sns-blog a {
      display: inline-block;
      vertical-align: top;
      margin: 0 8px; }
      .sns-blog a img {
        width: 32px;
        height: 32px; }
    .sns-blog .blog {
      font-size: 12px;
      text-decoration: none;
      font-weight: bold;
      line-height: 32px;
      border-radius: 4px;
      background: #0F6EB5;
      display: inline-block;
      color: #fff;
      padding: 0 10px;
      padding-left: 32px;
      background-image: url(../img/icon_pen.svg);
      background-repeat: no-repeat;
      background-size: 16px 16px;
      background-position: 10px center; }
  .page-footer {
    position: relative !important;
    width: 100%;
    height: auto !important;
    background-color: #ddd;
    z-index: 100;
    padding: 0 5.4vw;
    text-align: center;
    overflow: hidden; }
    .lower .page-footer, .recruiting .page-footer, .lower-contents .page-footer {
      padding-bottom: 50px; }
    .page-footer.fixed {
      position: static !important;
      left: 0;
      bottom: 0; }
    .page-footer .nav {
      float: none;
      text-align: center;
      border-bottom: 1px solid #ccc; }
      .page-footer .nav li {
        display: inline-table;
        color: #666;
        margin: 0;
        font-size: 12px;
        text-align: center; }
        .page-footer .nav li a {
          color: #666;
          display: block;
          line-height: 36px;
          margin: 0 10px;
          text-decoration: none;
          font-size: 13px; }
          .page-footer .nav li a:hover {
            text-decoration: underline; }
    .page-footer a.f-logo {
      display: inline-block;
      line-height: 1;
      margin: 15px 0;
      margin-bottom: 10px; }
      .page-footer a.f-logo img {
        width: 100px;
        height: auto; }
    .page-footer p.copyright {
      font-size: 10px;
      float: none;
      color: #666;
      text-align: center;
      line-height: 1;
      margin-top: 0;
      margin-bottom: 15px !important; }
  /* !!------------------------------------ */
  /* !! パンくず */
  #path {
    display: block;
    background: #559CD0;
    color: #fff;
    font-weight: normal;
    font-size: 11px;
    padding: 0 10px;
    font-size: 0;
    height: 32px;
    width: 100%;
    white-space: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    /*スクロールバー全体*/
    /*スクロールバーの軌道*/
    /*スクロールバーの動く部分*/ }
    #path ul {
      max-width: 10000px;
      margin: 0 auto;
      padding: 0px; }
    #path li {
      margin-right: 25px;
      opacity: .7;
      display: inline-block;
      vertical-align: top;
      font-size: 11px;
      position: relative; }
      #path li:active {
        opacity: 1; }
      #path li:after {
        content: "";
        height: 0px;
        width: 0px;
        display: block;
        border-left: 5px solid #fff;
        border-right: 5px solid transparent;
        border-bottom: 5px solid transparent;
        border-top: 5px solid transparent;
        position: absolute;
        top: 10px;
        right: -21px; }
      #path li:last-of-type {
        opacity: 1;
        padding-left: 15px;
        background-image: url(../img/path-flag-icon.svg);
        background-repeat: no-repeat;
        background-size: 10px 12px;
        background-position: 0 9px; }
        #path li:last-of-type:after {
          content: none; }
    #path span, #path a {
      color: #fff;
      line-height: 32px;
      padding: 0px;
      text-decoration: none; }
    #path::-webkit-scrollbar {
      width: 0;
      height: 4px; }
    #path::-webkit-scrollbar-track {
      border-radius: 0;
      background: rgba(0, 0, 0, 0.1); }
    #path::-webkit-scrollbar-thumb {
      background-color: #0f6eb5;
      border-radius: 0;
      width: 3px; }
  /* !!------------------------------------ */
  /* !! 事業トップ */
  .contents.top {
    height: auto !important;
    opacity: 1; }
  #slide-wrap {
    background: #fff;
    width: 100vw;
    overflow: visible;
    min-height: 0;
    height: 60vw !important; }
    #recruiting #slide-wrap {
      height: 200px !important; }
      #recruiting #slide-wrap .slick-slide {
        height: 200px !important; }
    #slide-wrap.architecture {
      height: 37.6vw !important; }
    #group-top #slide-wrap:after {
      background: -webkit-linear-gradient(rgba(255, 255, 255, 0) 0%, #ffffff 100%);
      content: none;
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 80px; }
    #slide-wrap .mvTitle {
      left: 15px;
      top: 15px;
      color: #fff;
      margin-right: 15px !important;
      font-size: 28px;
      font-weight: 1600;
      font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif !important; }
      #slide-wrap .mvTitle img {
        height: 50px !important;
        width: auto !important; }
    #slide-wrap p.lead {
      bottom: 15px;
      right: 15px;
      font-size: 24px;
      font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif !important; }
      #slide-wrap p.lead img {
        height: 24px !important;
        width: auto !important; }
    #slide-wrap .flex-control-nav {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      width: 100% !important;
      height: auto !important;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      bottom: 0 !important; }
      #slide-wrap .flex-control-nav li {
        margin: 0 1px !important;
        border-radius: 0 !important;
        width: 100%;
        height: 3px; }
        #slide-wrap .flex-control-nav li a {
          display: block !important;
          width: 100%;
          height: 100%;
          margin: 0 !important;
          border-radius: 0 !important;
          background: rgba(0, 0, 0, 0.2) !important; }
          #slide-wrap .flex-control-nav li a.flex-active {
            background: rgba(0, 0, 0, 0.54) !important; }
  .mv {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    background-image: url(/recruiting/img/2017-2018/mv.jpg);
    background-size: cover;
    background-position: center center; }
  #slide-wrap + p.btn {
    display: none !important;
    font-size: 0;
    line-height: 1;
    width: auto;
    white-space: nowrap; }
    #slide-wrap + p.btn a {
      width: 16.2vw !important; }
    #slide-wrap + p.btn img {
      height: auto;
      width: 100% !important;
      height: auto !important; }
  .lead {
    margin: 50px 5.4vw;
    opacity: 1;
    -webkit-transition: 1000ms;
    -o-transition: 1000ms;
    transition: 1000ms;
    -webkit-transition-delay: 500ms;
         -o-transition-delay: 500ms;
            transition-delay: 500ms;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); }
    .lead.fade {
      opacity: 0;
      -webkit-transform: translateY(30px);
      -ms-transform: translateY(30px);
      transform: translateY(30px); }
    .lead h1 {
      font-size: 24px;
      text-align: center;
      margin-bottom: 30px;
      line-height: 1.3;
      font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif !important;
      font-weight: normal;
      letter-spacing: .1em; }
    .lead img {
      display: none; }
    .lead p {
      font-size: 1.2rem;
      line-height: 1.67; }
    .lead.group-top {
      margin-top: 30px;
      margin-bottom: 30px; }
    .lead div h1 {
      display: none; }
  #outer-section section .inner > h2, #news-wrap.index .inner h2 {
    font-size: 24px;
    font-weight: 600;
    line-height: 1;
    width: 100%;
    text-align: center;
    margin: 80px 0 30px 0;
    color: #0F6EB5;
    font-family: 'Roboto Condensed', sans-serif !important; }
    #outer-section section .inner > h2.jp, #news-wrap.index .inner h2.jp {
      font-size: 20px;
      letter-spacing: 2px; }
    #outer-section section .inner > h2 span, #news-wrap.index .inner h2 span {
      display: block;
      font-size: 12px;
      margin-top: 5px;
      color: #666; }
  #outer-section {
    min-height: 0;
    opacity: 1; }
    #outer-section .inner {
      min-width: 0px;
      padding: 0; }
  #section-guide {
    display: block; }
    #section-guide ul.section-list {
      width: 100%;
      font-size: 0;
      white-space: nowrap; }
      #section-guide ul.section-list li {
        position: relative;
        line-height: 1;
        background: #efefef;
        overflow: hidden;
        padding: 0.81vw !important;
        padding-right: 6.21vw !important;
        background: #E8F1F9;
        height: 29.7vw;
        cursor: pointer;
        margin: 0; }
        #section-guide ul.section-list li > a {
          position: absolute;
          display: block;
          z-index: 1;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          padding: 0.81vw !important; }
          #section-guide ul.section-list li > a:before {
            background: #fff;
            width: 4.59vw;
            content: "";
            height: 100%;
            display: block;
            float: right; }
          #section-guide ul.section-list li > a:after {
            content: "";
            display: block;
            border: 1px solid #888;
            border-width: 1px 1px 0 0;
            width: 10px;
            height: 10px;
            position: absolute;
            right: 2.16vw;
            top: 50%;
            -webkit-transform: translateY(-50%) rotate(45deg);
            -ms-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotate(45deg); }
        #section-guide ul.section-list li img {
          display: block;
          margin: 0;
          width: 100%;
          height: auto;
          margin: 0; }
        #section-guide ul.section-list li > div {
          width: 50%;
          display: inline-block;
          vertical-align: top; }
        #section-guide ul.section-list li .thumb {
          display: inline-block;
          line-height: 1;
          font-size: 0; }
        #section-guide ul.section-list li .txt {
          font-size: 18px;
          color: #0F6EB5;
          white-space: normal;
          position: relative;
          height: 100%;
          text-align: center;
          width: 50%;
          vertical-align: middle; }
          #section-guide ul.section-list li .txt .inner {
            padding: 0;
            width: calc(100% - 30px);
            -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
            transform: translateY(-50%);
            text-align: left;
            vertical-align: middle;
            top: 50%;
            left: 15px;
            position: absolute;
            height: auto; }
          #section-guide ul.section-list li .txt h3 {
            font-size: 4.32vw; }
          #section-guide ul.section-list li .txt p {
            font-size: 2.97vw;
            margin-top: 5px;
            padding: 0;
            line-height: 1.4; }
        #section-guide ul.section-list li:nth-of-type(2n) {
          background: #f7f7f7; }
          #section-guide ul.section-list li:nth-of-type(2n) .thumb {
            float: right; }
        #section-guide ul.section-list li:active, #section-guide ul.section-list li.active {
          background: #0F6EB5; }
          #section-guide ul.section-list li:active a:before, #section-guide ul.section-list li.active a:before {
            background: rgba(255, 255, 255, 0.3); }
          #section-guide ul.section-list li:active a:after, #section-guide ul.section-list li.active a:after {
            border-color: #fff; }
          #section-guide ul.section-list li:active .txt, #section-guide ul.section-list li.active .txt {
            color: #fff; }
  .section-pict {
    min-height: 37.8vw;
    margin: 5.4vw;
    background: #eee;
    width: auto !important; }
    .section-pict img {
      width: 100% !important;
      height: auto !important; }
  div#section-menu-wrap {
    min-width: 0 !important;
    width: 100% !important; }
    div#section-menu-wrap.fixed.bottom {
      bottom: 0px !important; }
  ul.section-menu {
    border-top: 1px solid rgba(15, 110, 181, 0.3);
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding: 0px;
    font-size: 0;
    position: relative;
    z-index: 19;
    white-space: nowrap; }
    ul.section-menu:before {
      content: "";
      position: absolute;
      left: 33.3%;
      width: 33.3%;
      height: 100%;
      pointer-events: none;
      border: 1px solid rgba(15, 110, 181, 0.3);
      border-width: 0 1px; }
    ul.section-menu._2:before, ul.section-menu._4:before {
      left: 50%;
      width: 1px;
      border: none !important;
      background: rgba(15, 110, 181, 0.3); }
    ul.section-menu._2 > li, ul.section-menu._4 > li {
      width: calc(100% / 2); }
    ul.section-menu .onMenu {
      display: none; }
    ul.section-menu > li {
      border: 1px solid rgba(15, 110, 181, 0.3);
      border-width: 0 0 1px 0 !important;
      display: inline-block;
      width: calc(100% / 3);
      position: relative;
      height: 60px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      ul.section-menu > li > a {
        -webkit-tap-highlight-color: transparent;
        display: block;
        width: 100%;
        height: 60px;
        text-align: center;
        font-size: 10px;
        white-space: nowrap;
        text-decoration: none;
        color: #0F6EB5;
        padding-top: 0;
        padding-bottom: 0;
        position: relative;
        overflow: hidden;
        line-height: 1;
        -webkit-transition: 200ms cubic-bezier(0, 2, 0.56, 0.98) -webkit-transform;
        transition: 200ms cubic-bezier(0, 2, 0.56, 0.98) -webkit-transform;
        -o-transition: 200ms cubic-bezier(0, 2, 0.56, 0.98) transform;
        transition: 200ms cubic-bezier(0, 2, 0.56, 0.98) transform;
        transition: 200ms cubic-bezier(0, 2, 0.56, 0.98) transform, 200ms cubic-bezier(0, 2, 0.56, 0.98) -webkit-transform; }
        ul.section-menu > li > a span {
          line-height: 1;
          white-space: nowrap;
          display: block;
          margin-top: 8px;
          text-align: center; }
      ul.section-menu > li:hover > a {
        background: none;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        color: #0F6EB5; }
        ul.section-menu > li:hover > a:before {
          -webkit-transform: none;
          -ms-transform: none;
          transform: none; }
      ul.section-menu > li > a:before {
        content: "";
        width: 40px;
        height: 20px;
        border: none;
        position: static;
        display: block;
        margin: 0 auto;
        margin-top: 12px;
        background-image: url(../img/section-menu-icon.svg);
        background-repeat: no-repeat;
        background-size: 40px auto;
        background-position: 0 0;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none; }
      ul.section-menu > li > a:active {
        -webkit-transform: scale(0.9);
        -ms-transform: scale(0.9);
        transform: scale(0.9); }
      ul.section-menu > li.secTop {
        display: none; }
      ul.section-menu > li.news > a:before {
        background-position: 0 -20px !important; }
      ul.section-menu > li.project-story > a:before {
        background-position: 0 -40px !important; }
      ul.section-menu > li.task > a:before {
        background-position: 0 -60px !important; }
      ul.section-menu > li.staff > a:before {
        background-position: 0 -100px !important; }
      ul.section-menu > li.works > a:before {
        background-position: 0 -80px !important; }
      ul.section-menu > li.contact > a:before {
        background-position: 0 -120px !important; }
      ul.section-menu > li.website > a:before {
        background-position: 0 -140px !important; }
      ul.section-menu > li.intern > a:before {
        background-position: 0 -160px !important; }
      ul.section-menu > li.message > a:before {
        background-position: 0 -180px !important; }
      ul.section-menu > li.philosophy > a:before {
        background-position: 0 -200px !important; }
      ul.section-menu > li.feature > a:before {
        background-position: 0 -220px !important; }
      ul.section-menu > li.analysis > a:before {
        background-position: 0 -240px !important; }
    ul.section-menu ul.sub {
      display: none; }
  #section-menu-wrap.fixed,
  #section-menu-wrap.group-top {
    position: fixed;
    bottom: 0 !important;
    left: 0;
    z-index: 10;
    background: #fff;
    margin-bottom: 0;
    height: 50px !important; }
    #section-menu-wrap.fixed.group-top,
    #section-menu-wrap.group-top.group-top {
      position: static;
      height: 50px !important; }
      #section-menu-wrap.fixed.group-top ul.section-menu,
      #section-menu-wrap.group-top.group-top ul.section-menu {
        height: 100% !important; }
        #section-menu-wrap.fixed.group-top ul.section-menu a,
        #section-menu-wrap.group-top.group-top ul.section-menu a {
          height: 100% !important; }
    #section-menu-wrap.fixed ul.section-menu,
    #section-menu-wrap.group-top ul.section-menu {
      width: 100%;
      display: table !important;
      table-layout: fixed;
      height: 50px !important; }
      #section-menu-wrap.fixed ul.section-menu:before,
      #section-menu-wrap.group-top ul.section-menu:before {
        display: none; }
      #section-menu-wrap.fixed ul.section-menu li.secTop,
      #section-menu-wrap.fixed ul.section-menu li.top,
      #section-menu-wrap.group-top ul.section-menu li.secTop,
      #section-menu-wrap.group-top ul.section-menu li.top {
        display: none !important; }
      #section-menu-wrap.fixed ul.section-menu._2 .project-story i, #section-menu-wrap.fixed ul.section-menu._4 .project-story i,
      #section-menu-wrap.group-top ul.section-menu._2 .project-story i,
      #section-menu-wrap.group-top ul.section-menu._4 .project-story i {
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
        position: relative;
        left: 0;
        -webkit-transform-origin: center center;
            -ms-transform-origin: center center;
                transform-origin: center center;
        display: inline-block; }
      #section-menu-wrap.fixed ul.section-menu li,
      #section-menu-wrap.group-top ul.section-menu li {
        display: table-cell;
        height: 50px !important;
        padding: 0 !important;
        width: auto;
        border-right: 1px solid rgba(15, 110, 181, 0.3) !important; }
        #section-menu-wrap.fixed ul.section-menu li:last-of-type,
        #section-menu-wrap.group-top ul.section-menu li:last-of-type {
          border-right: none !important; }
        #section-menu-wrap.fixed ul.section-menu li a:before,
        #section-menu-wrap.group-top ul.section-menu li a:before {
          -webkit-transform: scale(0.8);
          -ms-transform: scale(0.8);
          transform: scale(0.8);
          margin-top: 8px; }
        #section-menu-wrap.fixed ul.section-menu li a span,
        #section-menu-wrap.group-top ul.section-menu li a span {
          font-size: 2.16vw;
          margin-top: 6px; }
        #section-menu-wrap.fixed ul.section-menu li.project-story a span,
        #section-menu-wrap.group-top ul.section-menu li.project-story a span {
          display: block;
          text-align: center; }
          #section-menu-wrap.fixed ul.section-menu li.project-story a span i,
          #section-menu-wrap.group-top ul.section-menu li.project-story a span i {
            -webkit-transform: translateX(-50%) scale(0.8, 1);
            -ms-transform: translateX(-50%) scale(0.8, 1);
            transform: translateX(-50%) scale(0.8, 1);
            position: relative;
            left: 50%;
            -webkit-transform-origin: center center;
                -ms-transform-origin: center center;
                    transform-origin: center center;
            display: inline-block; }
  #news-wrap {
    width: auto !important;
    max-width: 100% !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important; }
  ul#news-list {
    padding: 0 5.4vw;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    ul#news-list li {
      width: calc((100% - 5.4vw)/2) !important;
      margin: 0 !important;
      margin-bottom: 5.4vw !important; }
      ul#news-list li:first-of-type, ul#news-list li.first, ul#news-list li:nth-of-type(5n + 1) {
        margin-left: 0; }
      ul#news-list li.out img {
        -webkit-animation: none !important;
                animation: none !important; }
      ul#news-list li img {
        -webkit-box-shadow: none !important;
                box-shadow: none !important; }
      ul#news-list li .data {
        height: 8.1vw;
        position: relative; }
        ul#news-list li .data .date {
          line-height: 30 0.27vw;
          font-size: 2.97vw; }
        ul#news-list li .data .cat {
          background: #6EAAD7;
          color: #FFF;
          line-height: 1;
          font-size: 2.43vw;
          padding: 3px 5px;
          position: absolute;
          top: 6px;
          right: 0;
          z-index: 4;
          font-weight: bold;
          text-decoration: none; }
      ul#news-list li .title {
        font-size: 1.2rem !important;
        line-height: 1.6;
        position: static;
        -webkit-transition: all 500ms ease-out;
        -o-transition: all 500ms ease-out;
        transition: all 500ms ease-out; }
      ul#news-list li:hover img {
        -webkit-animation: none !important;
                animation: none !important;
        -webkit-box-shadow: none !important;
                box-shadow: none !important; }
      ul#news-list li:hover span {
        color: #0F6EB5; }
      ul#news-list li:nth-of-type(n + 5) {
        display: none; }
      ul#news-list li:nth-of-type(n + 2) {
        margin-bottom: 0 !important; }
  #section-staff {
    width: auto; }
    #section-staff h2.jp {
      font-size: 30px !important; }
    #section-staff h3 {
      margin: 0 5.4vw;
      text-align: left;
      margin-bottom: 5px; }
      #section-staff h3 span {
        display: inline-block;
        background: #eee;
        font-size: 13px;
        text-align: center;
        width: 120px;
        white-space: nowrap;
        padding: 0;
        line-height: 30px; }
    #section-staff ul.staff-list {
      width: auto;
      padding: 0;
      display: block;
      margin-bottom: 20px; }
      #section-staff ul.staff-list li {
        margin: 0 !important;
        margin-bottom: 10px !important;
        text-align: left;
        width: 50% !important; }
      #section-staff ul.staff-list .thumb:before {
        display: none !important; }
      #section-staff ul.staff-list + p.btn-more {
        width: auto; }
  ul.projectstory {
    margin: 0 5.4vw; }
    ul.projectstory li {
      position: relative;
      padding-left: 34.02vw;
      min-height: 18.9vw;
      margin: 0;
      margin-bottom: 5.4vw;
      width: 100% !important; }
      ul.projectstory li:last-of-type {
        margin-bottom: 0 !important; }
      ul.projectstory li a {
        position: absolute;
        display: block;
        z-index: 1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
      ul.projectstory li .thumb {
        width: 29.97vw;
        height: 18.9vw;
        background: none;
        position: relative;
        position: absolute;
        top: 0;
        left: 0;
        overflow: hidden; }
        ul.projectstory li .thumb img {
          width: 100% !important;
          height: auto !important; }
      ul.projectstory li .label {
        font-size: 12px;
        color: #0F6EB5;
        font-family: 'Roboto Condensed', sans-serif !important;
        line-height: 1;
        margin-bottom: 1.35vw; }
      ul.projectstory li .title {
        font-size: 3.51vw;
        font-weight: 600;
        line-height: 1.4;
        margin-bottom: 3px; }
      ul.projectstory li .name {
        font-size: 10px;
        line-height: 1.3;
        position: relative;
        left: 0;
        bottom: 0; }
  .task-desc {
    padding: 0 5.4vw; }
    .task-desc .lead {
      -webkit-transition: 0;
      -o-transition: 0;
      transition: 0;
      background: none !important;
      margin: 0;
      padding: 0;
      color: #666;
      text-align: center;
      font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif !important;
      border: 1px solid  #ddd; }
      .task-desc .lead a {
        font-size: 4.32vw;
        color: #666;
        text-decoration: none;
        padding: 5px; }
      .task-desc .lead + p {
        font-size: 14px;
        margin-top: 10px;
        color: #0F6EB5; }
    .task-desc ul {
      margin-top: 0; }
      .task-desc ul li {
        position: relative;
        margin-top: 10px;
        padding-left: 70px;
        font-size: 15px !important;
        font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif !important;
        font-weight: 600;
        line-height: 1.5;
        min-height: 60px;
        height: 60px;
        white-space: normal !important; }
        .task-desc ul li span {
          display: block;
          position: relative;
          top: 50%;
          font-size: 15px;
          white-space: normal;
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
        .task-desc ul li strong {
          position: absolute;
          left: 0;
          top: 0;
          width: 60px;
          height: 60px;
          line-height: 58px;
          border-radius: 50%;
          text-align: center;
          color: #0F6EB5;
          font-size: 14px;
          border: 2px solid #0F6EB5; }
  ul.works-list {
    padding: 0 5.4vw;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    ul.works-list li {
      width: calc((100% - 5.4vw)/2) !important;
      margin: 0 !important;
      margin-bottom: 5.4vw !important; }
      ul.works-list li a {
        position: absolute;
        display: block;
        z-index: 1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
      ul.works-list li .thumb {
        width: 100%;
        height: 26.46vw;
        background: #eee;
        position: relative;
        overflow: hidden; }
        ul.works-list li .thumb img {
          width: 110%;
          height: auto;
          position: relative;
          top: 50%;
          left: 50%;
          -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
      ul.works-list li .cat {
        background: #6EAAD7;
        color: #FFF;
        line-height: 1;
        font-size: 2.7vw;
        padding: 3px 5px;
        position: static;
        font-weight: bold;
        text-align: center;
        text-decoration: none;
        margin: 5px 0; }
      ul.works-list li .title {
        font-size: 1.2rem !important;
        line-height: 1.6;
        position: static;
        color: #666; }
  ul#rui-blog, ul#rui-blog-fixed {
    margin: 0 5.4vw;
    min-width: 0; }
    ul#rui-blog li, ul#rui-blog-fixed li {
      position: relative;
      padding-left: 34.02vw;
      min-height: 18.9vw;
      margin: 0;
      margin-bottom: 5.4vw;
      width: auto;
      border: none; }
      ul#rui-blog li a, ul#rui-blog-fixed li a {
        position: absolute;
        display: block;
        z-index: 1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
      ul#rui-blog li .thumb, ul#rui-blog-fixed li .thumb {
        width: 29.97vw;
        height: 18.9vw;
        background: #eee;
        position: relative;
        position: absolute;
        top: 0;
        left: 0;
        overflow: hidden; }
        ul#rui-blog li .thumb img, ul#rui-blog-fixed li .thumb img {
          width: 100% !important;
          height: auto !important;
          opacity: 0;
          -webkit-transition: 500ms;
          -o-transition: 500ms;
          transition: 500ms; }
          ul#rui-blog li .thumb img.on, ul#rui-blog-fixed li .thumb img.on {
            opacity: 1; }
          ul#rui-blog li .thumb img.dummy, ul#rui-blog-fixed li .thumb img.dummy {
            display: none !important; }
          ul#rui-blog li .thumb img.hr, ul#rui-blog-fixed li .thumb img.hr {
            height: 100% !important;
            width: auto !important; }
        ul#rui-blog li .thumb .inner, ul#rui-blog-fixed li .thumb .inner {
          background-size: cover; }
      ul#rui-blog li .label, ul#rui-blog-fixed li .label {
        font-size: 12px;
        color: #0F6EB5;
        font-family: 'Roboto Condensed', sans-serif !important;
        line-height: 1;
        margin-bottom: 1.35vw; }
      ul#rui-blog li .title, ul#rui-blog-fixed li .title {
        font-size: 3.51vw;
        font-weight: 600;
        line-height: 1.4; }
      ul#rui-blog li .data, ul#rui-blog-fixed li .data {
        position: absolute;
        bottom: 0;
        left: 34.02vw;
        white-space: nowrap;
        padding-left: 70px;
        width: calc(100% - 34.02vw) !important; }
      ul#rui-blog li .date, ul#rui-blog-fixed li .date {
        font-size: 10px;
        line-height: 4.05vw;
        left: 34.02vw;
        bottom: 0;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        height: auto !important; }
      ul#rui-blog li .cat, ul#rui-blog-fixed li .cat {
        display: block;
        white-space: nowrap;
        overflow: hidden;
        -o-text-overflow: ellipsis;
           text-overflow: ellipsis;
        display: block;
        width: auto;
        background: #6EAAD7;
        color: #FFF;
        line-height: 4.05vw;
        font-size: 2.7vw;
        text-align: center;
        padding: 0px 5px;
        z-index: 4;
        font-weight: bold;
        text-decoration: none; }
  /* !!------------------------------------ */
  /* !! グループトップ */
  /* !!  */
  /* !! 代表メッセージ */
  #recruiting-philosophy h1 img {
    margin: 50px auto;
    display: block;
    width: 200px;
    line-height: 1; }
  #recruiting-philosophy section {
    margin-top: 50px;
    margin-bottom: 0 !important; }
    #recruiting-philosophy section .text-field {
      padding: 0 !important; }
    #recruiting-philosophy section .text-field h1 {
      padding-top: 0px !important;
      margin: 0 !important;
      margin-bottom: 15px !important;
      line-height: 1.4 !important; }
    #recruiting-philosophy section p {
      font-size: 14px;
      line-height: 2; }
  /* !!  */
  /* !! 共同体 */
  #strength1 {
    padding: 0 5.4vw;
    padding-bottom: 0 !important; }
    #strength1 hgroup {
      display: block;
      overflow: visible; }
    #strength1 .sub {
      padding: 0;
      line-height: 30px;
      padding: 0 10px;
      display: inline-block; }
    #strength1 h1 {
      font-size: 25px;
      margin: 0; }
    #strength1 .unit {
      padding: 0;
      margin: 0;
      margin-bottom: 30px; }
      #strength1 .unit:last-of-type {
        margin-bottom: 0 !important; }
      #strength1 .unit > .bl_bold {
        margin-left: 0 !important;
        margin-bottom: .5em; }
      #strength1 .unit h3.prepend-item {
        margin-bottom: 15px !important; }
  #strength1 .top-text {
    margin: 0;
    width: 100% !important; }
  #strength1 h2 {
    width: 100vw;
    margin: 0 !important;
    margin-bottom: 5.4vw !important;
    margin-left: -5.4vw !important; }
  #strength1 .unit > img {
    float: none !important;
    width: 100% !important;
    height: auto !important;
    margin: 0;
    margin-bottom: 5.4vw !important; }
  #strength1 .text-field2 {
    display: block !important;
    width: 100% !important;
    margin: 0 !important; }
  #strength1 .book-list {
    font-size: 0; }
    #strength1 .book-list h4 {
      -webkit-flex-basis: 1000px;
          -ms-flex-preferred-size: 1000px;
              flex-basis: 1000px;
      width: 100% !important;
      margin-bottom: 20px; }
    #strength1 .book-list .box2 {
      margin: 0;
      display: inline-block;
      width: calc(50% - 10px);
      margin-right: 20px;
      margin-bottom: 20px; }
      #strength1 .book-list .box2 p {
        font-size: 12px;
        line-height: 1.6;
        margin: 0;
        margin-top: 10px; }
      #strength1 .book-list .box2:nth-of-type(2n) {
        margin: 0; }
  /* !!------------------------------------ */
  /* !! 採用情報トップ */
  body.recruiting {
    background: #fff !important; }
    body.recruiting .page-footer {
      background: #eee !important; }
  #loading.recruit {
    top: 86px;
    left: 0 !important;
    width: 100% !important;
    height: 200px; }
  body {
    background: none !important;
    min-height: 0 !important;
    min-width: 0; }
  body.recruiting-top #gnav-wrap .wrap {
    width: auto !important; }
  #recruiting.contents {
    overflow: visible; }
    #recruiting.contents .page-contents {
      margin-top: 0 !important;
      overflow: visible !important; }
    #recruiting.contents > section.wrap {
      margin: 0 !important;
      overflow: visible; }
    #recruiting.contents .page-name {
      margin: 15px !important; }
    #recruiting.contents.top {
      overflow: hidden; }
  #gnav-wrap,
  .news-article-page,
  .news-list-page {
    -webkit-transition: 0.2s ease-out;
    -o-transition: 0.2s ease-out;
    transition: 0.2s ease-out; }
  #gnav-wrap {
    pointer-events: none; }
    #gnav-wrap a {
      pointer-events: auto; }
  body.menu-on #gnav-wrap,
  body.menu-on .news-article-page,
  body.menu-on .news-list-page,
  body.menu-on #outer-section {
    -webkit-transition: 0.2s ease-out;
    -o-transition: 0.2s ease-out;
    transition: 0.2s ease-out; }
  #gnav-wrap {
    width: 100% !important;
    min-width: 0 !important; }
    #gnav-wrap .wrap {
      background: none !important; }
  p.welcome-text {
    height: auto !important; }
    p.welcome-text img {
      width: 100% !important;
      height: auto !important;
      position: static !important; }
  .inner {
    min-width: 0;
    margin: 0;
    height: 100%;
    position: relative; }
  #recruiting.contents {
    padding-bottom: 0; }
    #recruiting.contents > section.wrap {
      margin-top: 15px !important;
      width: auto;
      padding: 0; }
    #recruiting.contents header {
      min-width: 0;
      width: auto;
      position: static !important; }
    #recruiting.contents div.inquiry.pc {
      width: 250px;
      border: none !important; }
    #recruiting.contents .page-contents {
      margin-left: 0;
      float: none;
      width: auto;
      position: static;
      overflow: hidden; }
      #recruiting.contents .page-contents header.sp {
        position: static !important; }
      #recruiting.contents .page-contents h1 {
        margin-top: 0px;
        margin-left: 0px;
        height: auto !important; }
        #recruiting.contents .page-contents h1 img {
          position: static; }
    #recruiting.contents .bnr-wrap {
      font-size: 0;
      margin-top: 40px;
      margin-bottom: 40px;
      white-space: nowrap; }
      #recruiting.contents .bnr-wrap a {
        display: block;
        margin-right: 0px;
        vertical-align: middle; }
        #recruiting.contents .bnr-wrap a.other {
          margin-top: 0px; }
          #recruiting.contents .bnr-wrap a.other img {
            display: block;
            width: 240px !important;
            margin: 10px auto; }
        #recruiting.contents .bnr-wrap a img {
          vertical-align: middle;
          width: 100% !important;
          height: auto !important; }
    #recruiting.contents .banner.intern {
      height: auto;
      padding: 12px;
      text-align: center !important; }
      #recruiting.contents .banner.intern p {
        margin-bottom: 10px;
        text-align: center; }
        #recruiting.contents .banner.intern p.note {
          margin: 0 !important;
          font-size: 3.4vw;
          white-space: nowrap;
          font-weight: bold; }
      #recruiting.contents .banner.intern a {
        display: block;
        text-align: center;
        color: #000;
        line-height: 1;
        padding: 10px 0;
        background: #006CB7;
        text-decoration: none;
        color: #fff;
        border: 1px solid rgba(255, 255, 255, 0.49);
        font-size: 5vw;
        font-weight: 600;
        margin-bottom: 10px; }
        #recruiting.contents .banner.intern a.all {
          background: #87D0F2;
          margin-bottom: 0 !important; }
        #recruiting.contents .banner.intern a:hover {
          background: #fff !important;
          color: #0F6EB5; }
    #recruiting.contents .lead-wrap {
      margin-top: 30px !important;
      white-space: nowrap; }
      #recruiting.contents .lead-wrap > div {
        display: block;
        width: auto;
        height: auto !important;
        border-bottom: 1px solid #0F6EB5;
        position: relative;
        margin-right: 20px;
        margin-bottom: 30px; }
        #recruiting.contents .lead-wrap > div h3 img {
          width: 100% !important;
          height: auto !important; }
        #recruiting.contents .lead-wrap > div > img {
          display: none; }
        #recruiting.contents .lead-wrap > div ul {
          margin: 12px;
          margin-top: 0;
          margin-bottom: 30px; }
          #recruiting.contents .lead-wrap > div ul li {
            font-size: 16px;
            font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif !important;
            border-bottom: 1px dotted  #ccc;
            padding-left: 12px; }
            #recruiting.contents .lead-wrap > div ul li a {
              line-height: 36px;
              text-decoration: none;
              color: #000; }
  #outer-section.recruit {
    padding: 15px;
    margin-top: 30px; }
  .contents.recruiting #section3 {
    display: block;
    margin: 0 !important; }
  #recruiting-story h1.hd {
    font-size: 24px;
    color: #0F6EB5;
    padding: 13.5vw 0 8.1vw 0;
    margin-bottom: 0 !important;
    font-weight: 600;
    text-align: center;
    letter-spacing: .1em;
    margin-top: 0;
    line-height: 1em; }
  #recruiting-story ul.stories {
    padding: 0 8.1vw;
    width: 100%;
    margin-bottom: 13.5vw; }
    #recruiting-story ul.stories li {
      float: none;
      margin: 0;
      margin-bottom: 30px; }
      #recruiting-story ul.stories li img {
        width: 100% !important;
        height: auto !important; }
  #news-wrap-recuit {
    width: auto;
    padding: 0;
    margin: 0 auto; }
    #news-wrap-recuit .hd {
      background: #0F6EB5;
      width: auto !important;
      height: auto;
      position: static;
      top: 0px;
      left: 0px;
      color: #fff;
      padding: 10x;
      line-height: 1;
      font-size: 16px; }
  ul#news-list-recuit {
    width: 100% !important;
    height: 160px;
    margin-left: 0;
    overflow: scroll;
    display: block;
    padding: 10px;
    border: 1px solid #ccc; }
    ul#news-list-recuit li {
      display: block;
      position: relative;
      padding-left: 80px;
      margin-bottom: 5px; }
      ul#news-list-recuit li img {
        display: none; }
      ul#news-list-recuit li i.date {
        position: absolute;
        left: 0;
        top: 0px;
        font-size: 10px;
        background: rgba(15, 110, 181, 0.5);
        color: #fff;
        line-height: 1;
        padding: 5px;
        width: 70px;
        text-align: center;
        border-radius: 4px; }
      ul#news-list-recuit li a {
        font-size: 13px; }
        ul#news-list-recuit li a span {
          line-height: 1.5 !important;
          display: block; }
  #outer-section.recruit {
    overflow: hidden;
    padding-bottom: 50px;
    background: #fff; }
  .bnr-large-wrap {
    font-size: 0;
    width: 100%;
    margin: 20px auto;
    white-space: normal;
    color: #9F9FA0; }
    .bnr-large-wrap > div {
      display: block;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      margin-right: 14px;
      min-height: 74px;
      width: 100%;
      height: auto;
      overflow: hidden;
      padding: 10px;
      position: relative;
      padding-left: 140px;
      margin-bottom: 10px; }
      .bnr-large-wrap > div .hd {
        font-size: 28px;
        position: absolute;
        top: 10px;
        left: 10px; }
        .bnr-large-wrap > div .hd strong {
          display: block;
          font-size: 14px;
          font-weight: 500; }
      .bnr-large-wrap > div .note {
        position: static;
        -webkit-transition: 280ms;
        -o-transition: 280ms;
        transition: 280ms;
        -webkit-transition-delay: 280ms;
             -o-transition-delay: 280ms;
                transition-delay: 280ms;
        top: 10px;
        right: 10px;
        bottom: auto;
        font-size: 11px;
        text-align: justify;
        line-height: 1.7; }
        .bnr-large-wrap > div .note br {
          display: none; }
        .bnr-large-wrap > div .note b {
          font-weight: 600;
          font-size: 11px;
          display: block; }
      .bnr-large-wrap > div.architecture, .bnr-large-wrap > div.general {
        padding-left: 10px !important;
        padding-top: 50px; }
        .bnr-large-wrap > div.architecture .hd strong, .bnr-large-wrap > div.general .hd strong {
          display: inline;
          padding-left: 5px; }
      .bnr-large-wrap > div .wrap {
        position: static;
        width: auto !important;
        margin-right: 0px !important;
        background: none !important; }
        .bnr-large-wrap > div .wrap a {
          -webkit-tap-highlight-color: transparent;
          -webkit-transition: .2s;
          -o-transition: .2s;
          transition: .2s;
          line-height: 44px;
          margin-bottom: 10px;
          padding: 0 10px; }
          .bnr-large-wrap > div .wrap a:before {
            content: none;
            -webkit-transform: translateX(0);
            -ms-transform: translateX(0);
            transform: translateX(0); }
          .bnr-large-wrap > div .wrap a:after {
            line-height: 44px; }
          .bnr-large-wrap > div .wrap a:hover, .bnr-large-wrap > div .wrap a:active {
            background: #ED833B;
            color: #fff !important; }
            .bnr-large-wrap > div .wrap a:hover:before, .bnr-large-wrap > div .wrap a:active:before {
              -webkit-transform: translateX(0%);
              -ms-transform: translateX(0%);
              transform: translateX(0%); }
      .bnr-large-wrap > div > a {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        width: 100%;
        height: 100%;
        border: 1px solid #ccc; }
      .bnr-large-wrap > div > i {
        position: absolute;
        background: #000;
        z-index: 2;
        -webkit-transition: 70ms;
        -o-transition: 70ms;
        transition: 70ms; }
        .bnr-large-wrap > div > i.t {
          height: 1px;
          width: 100%;
          top: 0;
          left: 0;
          -webkit-transform: translate(-100%, 0);
          -ms-transform: translate(-100%, 0);
          transform: translate(-100%, 0);
          -webkit-transition-delay: 210ms;
               -o-transition-delay: 210ms;
                  transition-delay: 210ms; }
        .bnr-large-wrap > div > i.r {
          height: 100%;
          width: 1px;
          top: 0;
          right: 0;
          -webkit-transform: translate(0, -100%);
          -ms-transform: translate(0, -100%);
          transform: translate(0, -100%);
          -webkit-transition-delay: 140ms;
               -o-transition-delay: 140ms;
                  transition-delay: 140ms; }
        .bnr-large-wrap > div > i.b {
          height: 1px;
          width: 100%;
          bottom: 0;
          left: 0;
          -webkit-transform: translate(100%, 0);
          -ms-transform: translate(100%, 0);
          transform: translate(100%, 0);
          -webkit-transition-delay: 70ms;
               -o-transition-delay: 70ms;
                  transition-delay: 70ms; }
        .bnr-large-wrap > div > i.l {
          height: 100%;
          width: 1px;
          bottom: 0;
          left: 0;
          -webkit-transform: translate(0, 100%);
          -ms-transform: translate(0, 100%);
          transform: translate(0, 100%);
          -webkit-transition-delay: 0;
               -o-transition-delay: 0;
                  transition-delay: 0; }
      .bnr-large-wrap > div:hover i {
        -webkit-transform: translate(0);
        -ms-transform: translate(0);
        transform: translate(0); }
        .bnr-large-wrap > div:hover i.t {
          -webkit-transition-delay: 0;
               -o-transition-delay: 0;
                  transition-delay: 0; }
        .bnr-large-wrap > div:hover i.r {
          -webkit-transition-delay: 70ms;
               -o-transition-delay: 70ms;
                  transition-delay: 70ms; }
        .bnr-large-wrap > div:hover i.b {
          -webkit-transition-delay: 140ms;
               -o-transition-delay: 140ms;
                  transition-delay: 140ms; }
        .bnr-large-wrap > div:hover i.l {
          -webkit-transition-delay: 210ms;
               -o-transition-delay: 210ms;
                  transition-delay: 210ms; }
      .bnr-large-wrap > div.architecture i {
        background: #0F6EB5; }
      .bnr-large-wrap > div.architecture.inview, .bnr-large-wrap > div.architecture:hover {
        background: #0F6EB5; }
        .bnr-large-wrap > div.architecture.inview .wrap a, .bnr-large-wrap > div.architecture:hover .wrap a {
          border-color: #fff;
          color: #fff; }
          .bnr-large-wrap > div.architecture.inview .wrap a:hover, .bnr-large-wrap > div.architecture:hover .wrap a:hover {
            color: #fff !important;
            background: none; }
      .bnr-large-wrap > div.general i {
        background: #ED833B; }
      .bnr-large-wrap > div.general.inview, .bnr-large-wrap > div.general:hover {
        background: #ED833B; }
        .bnr-large-wrap > div.general.inview .wrap a, .bnr-large-wrap > div.general:hover .wrap a {
          border-color: #fff;
          color: #fff; }
          .bnr-large-wrap > div.general.inview .wrap a:hover, .bnr-large-wrap > div.general:hover .wrap a:hover {
            color: #fff !important; }
      .bnr-large-wrap > div.career i {
        background: #6D8A8C; }
      .bnr-large-wrap > div.career.inview, .bnr-large-wrap > div.career:hover {
        background: #6D8A8C; }
  .contact-wrap.sp {
    border: 1px solid #0F6EB5; }
    .contact-wrap.sp h2 {
      background: #0F6EB5;
      text-align: center;
      color: #fff; }
    .contact-wrap.sp .hd {
      font-size: 18px;
      margin-top: 10px; }
      .contact-wrap.sp .hd strong {
        font-size: 13px;
        font-weight: normal; }
    .contact-wrap.sp a {
      display: block;
      text-decoration: none;
      padding-left: 60px;
      position: relative;
      color: #9F9FA0; }
      .contact-wrap.sp a i {
        position: absolute;
        left: 0px;
        top: 0; }
      .contact-wrap.sp a img {
        display: inline-block;
        vertical-align: baseline;
        margin: 0 5px;
        top: 3px;
        position: relative; }
    .contact-wrap.sp div {
      border-bottom: 1px solid #ccc;
      margin: 0 10px;
      padding-bottom: 10px; }
      .contact-wrap.sp div.architecture .hd {
        color: #0F6EB5; }
      .contact-wrap.sp div.general .hd {
        color: #ED833B; }
      .contact-wrap.sp div.career .hd {
        color: #6D8A8C; }
      .contact-wrap.sp div:last-of-type {
        border-bottom: none; }
  #recruiting-recruitment02 {
    padding: 5.4vw;
    padding-bottom: 0 !important; }
  article#internship h1 img {
    width: 100% !important;
    height: auto !important; }
  article#internship h1 + img {
    width: 100vw;
    height: auto;
    margin-left: -5.4vw; }
  article#internship .flow {
    overflow: visible; }
  article#internship .next-stage img {
    width: 100% !important;
    height: auto !important; }
  /* !!------------------------------------ */
  /* !! 建築系採用トップ */
  #loading.architecture {
    top: 20px;
    left: 0 !important;
    width: 100% !important;
    height: 200px; }
  #recruiting-architecture #slide-wrap {
    height: 200px !important;
    background: #eee; }
    #recruiting-architecture #slide-wrap .slick-dots {
      bottom: -43px !important; }
    #recruiting-architecture #slide-wrap .slick-slide {
      height: 200px !important; }
    #recruiting-architecture #slide-wrap .wrap {
      background: none !important;
      position: absolute;
      bottom: 0;
      left: 0;
      height: 50px;
      width: 100%;
      text-align: right;
      padding: 0 25px; }
      #recruiting-architecture #slide-wrap .wrap > p {
        -webkit-transition: 1s;
        -o-transition: 1s;
        transition: 1s;
        display: inline-block;
        color: #fff;
        position: relative;
        z-index: 1;
        vertical-align: baseline;
        top: 6px;
        margin-left: 15px; }
      #recruiting-architecture #slide-wrap .wrap p.name {
        text-align: center; }
        #recruiting-architecture #slide-wrap .wrap p.name span {
          display: block;
          line-height: 1.3; }
        #recruiting-architecture #slide-wrap .wrap p.name .en {
          font-size: 12px; }
        #recruiting-architecture #slide-wrap .wrap p.name .ja {
          font-size: 18px; }
      #recruiting-architecture #slide-wrap .wrap p.sec {
        font-size: 12px; }
  #recruiting-architecture h1 {
    margin: 50px 15px !important;
    text-align: center;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
    opacity: 1;
    -webkit-transition: 2s;
    -o-transition: 2s;
    transition: 2s; }
    #recruiting-architecture h1 img {
      width: 100% !important;
      height: auto !important; }
    #recruiting-architecture h1.rdy {
      -webkit-filter: blur(10px);
      -moz-filter: blur(10px);
      -ms-filter: blur(10px);
      -o-filter: blur(10px);
      filter: blur(10px);
      opacity: 0; }
  #recruiting-architecture .bnr-wrap.architecture {
    font-weight: 400;
    text-align: center;
    font-size: 0;
    display: block; }
    #recruiting-architecture .bnr-wrap.architecture a {
      display: block !important;
      width: auto !important;
      margin: 10px 15px !important; }
      #recruiting-architecture .bnr-wrap.architecture a img {
        display: block;
        width: 100% !important;
        height: auto !important; }
      #recruiting-architecture .bnr-wrap.architecture a.na:after {
        text-align: center;
        width: 200px !important; }
  #recruiting-architecture a.recruiting {
    width: auto;
    height: auto;
    background: rgba(0, 0, 0, 0.59);
    margin: 50px 15px;
    display: block;
    font-size: 24px;
    line-height: 50px; }
    #recruiting-architecture a.recruiting img {
      width: 100% !important;
      height: auto !important; }
  #recruiting-architecture #event-map {
    width: auto;
    margin: 50px auto;
    display: block;
    overflow: hidden; }
    #recruiting-architecture #event-map H3 {
      text-align: center; }
    #recruiting-architecture #event-map > img {
      position: static;
      display: block;
      width: 70% !important;
      height: auto !important;
      z-index: 0;
      -webkit-transform: none;
      -ms-transform: none;
      transform: none;
      margin: 0px auto;
      opacity: .5; }
    #recruiting-architecture #event-map svg {
      display: none; }
    #recruiting-architecture #event-map > div {
      width: 100%;
      position: relative !important;
      text-align: center !important; }
      #recruiting-architecture #event-map > div ul {
        margin: 15px !important; }
        #recruiting-architecture #event-map > div ul > br {
          display: none; }
        #recruiting-architecture #event-map > div ul li {
          width: 100% !important;
          display: block !important;
          margin: 5px;
          margin-left: 0;
          margin-bottom: 15px;
          position: relative; }
          #recruiting-architecture #event-map > div ul li .thumb {
            height: 100px !important;
            margin: 0;
            margin-bottom: 10px;
            width: 100px !important;
            background: #eee;
            border-radius: 50px;
            position: relative; }
            #recruiting-architecture #event-map > div ul li .thumb .date {
              line-height: 30px !important;
              height: 30px !important;
              text-align: center;
              bottom: 0;
              right: 0;
              position: absolute;
              z-index: 1;
              -webkit-transform: none;
                  -ms-transform: none;
                      transform: none;
              display: block;
              background: #0F6EB5;
              color: #fff;
              font-size: 13px !important;
              z-index: 1; }
          #recruiting-architecture #event-map > div ul li .title {
            position: absolute !important;
            width: calc(100% - 110px);
            top: 50%;
            left: 110px;
            -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
            #recruiting-architecture #event-map > div ul li .title strong {
              white-space: normal !important;
              font-size: 13px; }
              #recruiting-architecture #event-map > div ul li .title strong br {
                display: none !important; }
    #recruiting-architecture #event-map .osaka {
      top: 0;
      margin-bottom: 50px; }
  /* !!------------------------------------ */
  /* !! 建築系採用メッセージ */
  #recruiting-architecture.message {
    width: 100%;
    margin: 0; }
    #recruiting-architecture.message #mv img {
      display: inline-block;
      width: 50% !important;
      height: auto !important; }
    #recruiting-architecture.message #mv .inner {
      opacity: 1; }
    #recruiting-architecture.message #mv.on .inner {
      opacity: 1; }
    #recruiting-architecture.message #mv .wrap {
      padding: 20px;
      width: 50% !important;
      display: inline-block;
      font-size: 12px;
      background: none !important;
      border: 1px solid #0F6EB5;
      color: #fff; }
      #recruiting-architecture.message #mv .wrap span {
        display: block;
        line-height: 1;
        margin-bottom: 5px; }
      #recruiting-architecture.message #mv .wrap .ja {
        font-size: 24px;
        margin-bottom: 10px; }
    #recruiting-architecture.message #mv .shade {
      /*
			@keyframes shade {
			  0% {
				  @include transform(translate3d(100%,0,0));
					}
			  50%{
				  @include transform(translate3d(0,0,0));
				  }
			  to{
				  @include transform(translate3d(100%,0,0));
			  }

			}
*/ }
    #recruiting-architecture.message > h3 {
      font-size: 30px;
      margin-top: 1.5em;
      line-height: 1.5;
      margin: 8vw; }
      #recruiting-architecture.message > h3 br {
        display: none; }
    #recruiting-architecture.message > p {
      text-align: justify;
      font-size: 16px;
      line-height: 2;
      opacity: 0;
      margin: 8vw;
      margin-top: 1em; }
      #recruiting-architecture.message > p img {
        width: 100% !important;
        height: auto !important; }
    #recruiting-architecture.message > h3, #recruiting-architecture.message > p {
      opacity: 0;
      -webkit-transition: 1s;
      -o-transition: 1s;
      transition: 1s;
      -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
      transform: translateY(0); }
      #recruiting-architecture.message > h3.on, #recruiting-architecture.message > p.on {
        opacity: 1;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0); }
  /* !!------------------------------------ */
  /* !! 応募要項 */
  body.guideline {
    padding-top: 50px !important; }
    body.guideline #recruiting-recruitment01 {
      padding-top: 0 !important; }
    body.guideline #section1 {
      margin-top: 0 !important; }
    body.guideline #section2:last-of-type {
      margin-bottom: 0 !important; }
    body.guideline table.type {
      display: table !important; }
      body.guideline table.type tbody {
        display: table-row-group !important; }
      body.guideline table.type thead {
        display: table-header-group !important; }
        body.guideline table.type thead tr {
          display: table-row !important; }
  /* !!------------------------------------ */
  /* !! 記事シングルページ */
  .news-article-page {
    width: 100% !important;
    margin-top: 0 !important;
    background: #fff;
    padding: 0 5.4vw !important;
    padding-top: 0 !important;
    min-width: 0; }
    .news-article-page #article-wrap {
      width: 100%;
      padding: 0 !important;
      margin-bottom: 0 !important; }
      .news-article-page #article-wrap .eyecatch {
        width: 100vw !important;
        margin-left: -5.4vw !important;
        margin-bottom: 30px; }
        .news-article-page #article-wrap .eyecatch + p.ar {
          margin: 0;
          line-height: 26px;
          font-size: 14px; }
      .news-article-page #article-wrap h1 {
        font-size: 20px !important;
        margin: 0 0 30px 0 !important;
        font-weight: 600; }
        .news-article-page #article-wrap h1 br {
          display: none; }
      .news-article-page #article-wrap p {
        font-size: 14px; }
  /* !! 関連記事 */
  .relatedpost-wrap, .wp_rp_content {
    margin-top: 80px; }
    .relatedpost-wrap h3, .wp_rp_content h3 {
      font-size: 20px !important;
      letter-spacing: 2px;
      text-align: center;
      color: #0F6EB5;
      padding-left: 0 !important;
      line-height: 1;
      border-left: 0 !important; }
  h3.related_post_title {
    margin-top: 0px;
    font-size: 18px;
    padding-left: 15px;
    line-height: 1;
    border-left: 2px solid #d9dad5; }
  ul.related_post li {
    position: relative;
    padding-right: 0;
    padding-left: 34.02vw;
    padding-top: 5.4vw;
    padding-bottom: 5.4vw;
    border-bottom: 1px solid  #ddd;
    min-height: 40.77vw; }
  ul.related_post .wp_rp_publish_date {
    display: block;
    padding-left: 0px;
    font-size: 12px;
    line-height: 1;
    font-family: 'Abel', sans-serif;
    vertical-align: top; }
  ul.related_post .wp_rp_title {
    font-size: 14px !important;
    display: block;
    text-decoration: none;
    margin: 5px 0;
    line-height: 1.5; }
  ul.related_post .wp_rp_thumbnail {
    position: absolute;
    top: 20px;
    right: auto;
    left: 0;
    width: 29.97vw;
    height: 29.97vw; }
    ul.related_post .wp_rp_thumbnail img {
      width: 100% !important;
      height: auto !important; }
  ul.related_post .wp_rp_excerpt {
    display: block;
    display: none;
    font-size: 10px !important;
    line-height: 1.5 !important;
    text-align: justify;
    color: #666; }
    ul.related_post .wp_rp_excerpt p {
      font-size: 13px !important; }
  div.wp_rp_footer {
    text-align: right;
    margin-top: 10px; }
  /* !! 前後の記事 */
  h2.sec {
    font-size: 20px !important;
    letter-spacing: 2px;
    text-align: center;
    color: #0F6EB5;
    line-height: 1;
    margin: 80px 0 30px; }
  ul.prev-next {
    overflow: hidden;
    position: relative;
    margin-top: 0px; }
    ul.prev-next li {
      width: 100%;
      height: auto;
      overflow: hidden;
      position: relative;
      margin-bottom: 15px; }
      ul.prev-next li:last-of-type {
        margin-bottom: 0; }
      ul.prev-next li img {
        width: 100% !important;
        height: auto !important; }
      ul.prev-next li.prev {
        float: left; }
      ul.prev-next li.next {
        float: right; }
        ul.prev-next li.next i {
          right: 10px !important;
          left: auto !important; }
      ul.prev-next li a {
        position: absolute;
        display: block;
        z-index: 1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.32);
        padding: 0 30px;
        color: #fff;
        text-decoration: none;
        font-size: 15px;
        -webkit-transition: all .5s;
        -o-transition: all .5s;
        transition: all .5s; }
        ul.prev-next li a:hover {
          background: rgba(0, 0, 0, 0.6); }
        ul.prev-next li a span {
          display: block;
          font-size: 14px;
          font-weight: bold;
          margin-bottom: 0px;
          line-height: 1.4;
          top: 50%;
          position: relative;
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          transform: translateY(-50%);
          text-align: justify; }
          ul.prev-next li a span > i {
            font-style: normal;
            display: block;
            font-size: 12px;
            font-family: 'Abel', sans-serif; }
        ul.prev-next li a > i {
          font-style: normal;
          font-size: 10px;
          position: absolute;
          line-height: 100%;
          left: 12px;
          top: 50%;
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
  /* !!------------------------------------ */
  /* !! 記事リストページ */
  #news-wrap.index .inner {
    width: 100% !important;
    min-width: 0 !important;
    padding: 0; }
    #news-wrap.index .inner h2 {
      margin: 30px 0 30px 0; }
    #news-wrap.index .inner ul#news-list li:nth-of-type(n + 5) {
      display: block; }
  .wp-pagenavi {
    font-size: 13px;
    text-align: center !important;
    margin-top: 30px;
    width: 100% !important;
    white-space: nowrap; }
    .wp-pagenavi > a, .wp-pagenavi > span {
      display: inline-block;
      width: 32px;
      height: 32px;
      line-height: 32px;
      padding: 0 !important;
      text-align: center;
      border: none !important;
      font-weight: bold; }
      .wp-pagenavi > a.current, .wp-pagenavi > span.current {
        background: rgba(15, 110, 181, 0.5);
        color: #fff;
        border-radius: 4px; }
  /* !! イベントページ */
  #recruiting-event h1 img {
    margin-bottom: 0 !important; }
  /* !!------------------------------------ */
  /* !! 社員紹介 */
  body.staff.index #section-staff h2 {
    margin-top: 50px; }
  body.staff.index ul.staff-list {
    margin-top: 30px !important; }
    body.staff.index ul.staff-list .thumb {
      position: relative; }
      body.staff.index ul.staff-list .thumb img {
        margin: 0 !important;
        position: relative;
        left: 50%;
        display: block; }
    body.staff.index ul.staff-list .thumb:before {
      display: none !important; }
  div.contents.staff-lower {
    margin-bottom: 0; }
    div.contents.staff-lower h1 {
      margin-bottom: 0; }
    div.contents.staff-lower .to-summary {
      margin-bottom: 23px; }
  .btn-back {
    text-align: center;
    font-weight: 600;
    margin: 50px 0;
    margin-bottom: 0; }
    .btn-back a {
      text-decoration: none; }
  /* !! ページヘッダー */
  #staff-single-header {
    width: 100%;
    margin-top: 0;
    height: auto;
    margin-bottom: 0;
    position: relative;
    z-index: 0; }
    #staff-single-header .eyecatch {
      width: auto;
      height: 100% !important;
      position: relative;
      top: 0;
      right: 0; }
    #staff-single-header:after {
      content: none; }
    #staff-single-header img#shade {
      display: none; }
    #staff-single-header div.head-info {
      font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif !important;
      padding: 5.4vw;
      position: relative;
      left: 0;
      top: 0;
      height: auto !important;
      -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
      transform: translateY(0);
      -webkit-transition: 1s;
      -o-transition: 1s;
      transition: 1s; }
      #staff-single-header div.head-info.on {
        opacity: 1; }
      #staff-single-header div.head-info p.lead_text {
        position: static;
        font-size: 24px;
        line-height: 1.3;
        color: #0F6EB5;
        margin-bottom: 15px;
        font-weight: 200; }
      #staff-single-header div.head-info > p {
        line-height: 1;
        position: static; }
      #staff-single-header div.head-info .sub_section {
        font-size: 12px;
        display: block;
        margin-top: 5px; }
      #staff-single-header div.head-info .name {
        font-size: 20px;
        color: #0F6EB5;
        display: inline-block;
        margin-top: 5px;
        margin-bottom: 5px; }
      #staff-single-header div.head-info .eng_name {
        margin-top: 5px !important;
        display: inline-block; }
      #staff-single-header div.head-info p.faculty_year {
        font-size: 12px;
        color: #0F6EB5;
        white-space: nowrap; }
        #staff-single-header div.head-info p.faculty_year span {
          display: inline-block;
          margin-top: 5px;
          margin-right: 10px; }
  /* !! 本文 */
  #text {
    overflow: hidden;
    padding: 0 5.4vw;
    padding-top: 5.4vw; }
    #text > img, #text > p {
      display: block;
      width: 100% !important; }
      #text > img.left, #text > img.alignleft, #text > p.left, #text > p.alignleft {
        float: left;
        margin-right: 0;
        margin-bottom: 0; }
      #text > img.right, #text > img.alignright, #text > p.right, #text > p.alignright {
        float: right;
        margin-left: 0;
        margin-bottom: 0; }
      #text > img > img, #text > p > img {
        width: 100% !important;
        height: auto !important;
        margin-bottom: 1em; }
    #text > div {
      position: relative;
      overflow: hidden; }
    #text h2 {
      font-size: 18px;
      line-height: 1;
      color: #0F6EB5;
      font-weight: 100;
      margin-bottom: 18px; }
    #text p {
      font-size: 14px;
      line-height: 1.7;
      margin-bottom: 1.7em; }
      #text p:last-of-type {
        margin-bottom: 0; }
    #text .wrap {
      overflow: hidden;
      padding-left: 430px; }
    #text .additional_img1 {
      position: absolute;
      left: 0;
      top: 0; }
  #q1, #q2 {
    border-bottom: 1px solid #ccc;
    margin-bottom: 18px; }
  #q3 {
    border-bottom: 1px solid #ccc;
    margin-bottom: 50px; }
  #q4 {
    margin-bottom: 50px;
    overflow: hidden; }
    #q4 > img {
      float: right;
      margin-left: 50px;
      margin-bottom: 50px; }
  /* !!------------------------------------ */
  /* !! 採用情報 */
  #recruiting.contents header {
    display: none; }
  #recruiting.contents .lead {
    margin: 0; }
  #recruiting.contents > section.wrap {
    margin-top: 0 !important;
    padding: 0px 0px;
    padding-bottom: 20px; }
  .recruiting #gnav-recruit-footer {
    margin: 0; }
  .recruiting #sp-footer-wrap {
    margin-top: 0 !important; }
  #recruiting-staff, #section-staff, .staff-index2 {
    padding: 0 5.4vw; }
    #recruiting-staff h1.hd, #section-staff h1.hd, .staff-index2 h1.hd {
      font-size: 32px;
      color: #0F6EB5;
      padding: 13.5vw 0 8.1vw 0;
      margin-bottom: 0vw !important;
      font-weight: 600;
      text-align: center;
      letter-spacing: 3px;
      margin-top: 0;
      line-height: 1em; }
    #recruiting-staff .staff-recruit, #section-staff .staff-recruit, .staff-index2 .staff-recruit {
      display: block !important; }
    #recruiting-staff section:not(.wrap), #section-staff section:not(.wrap), .staff-index2 section:not(.wrap) {
      padding-left: 0; }
    #recruiting-staff h1:not(.hd), #section-staff h1:not(.hd), .staff-index2 h1:not(.hd) {
      height: 30px !important;
      width: 160px !important;
      position: relative !important;
      margin: 20px auto !important;
      margin-bottom: 20px !important;
      float: none;
      clip-path: polygon(0 0, 10px 50%, 0 100%, 100% 100%, calc(100% - 10px) 50%, 100% 0);
      -webkit-clip-path: polygon(0 0, 10px 50%, 0 100%, 100% 100%, calc(100% - 10px) 50%, 100% 0); }
    #recruiting-staff ul.staff-list, #section-staff ul.staff-list, .staff-index2 ul.staff-list {
      display: block;
      max-width: 100%; }
      #recruiting-staff ul.staff-list.nb li, #section-staff ul.staff-list.nb li, .staff-index2 ul.staff-list.nb li {
        border: none !important;
        position: relative;
        display: block; }
        #recruiting-staff ul.staff-list.nb li:after, #section-staff ul.staff-list.nb li:after, .staff-index2 ul.staff-list.nb li:after {
          display: block;
          position: absolute;
          right: 0;
          top: 0;
          left: auto;
          background: #fff;
          -webkit-box-sizing: border-box;
                  box-sizing: border-box;
          height: 100%;
          border: 1px solid  #ddd;
          border-left: none;
          width: calc(100% - 210px); }
        #recruiting-staff ul.staff-list.nb li .info1, #section-staff ul.staff-list.nb li .info1, .staff-index2 ul.staff-list.nb li .info1 {
          left: 85px !important;
          padding: 10px 5px;
          width: 130px;
          z-index: 2; }
      #recruiting-staff ul.staff-list li, #section-staff ul.staff-list li, .staff-index2 ul.staff-list li {
        width: 100% !important;
        height: 92px !important;
        -webkit-box-shadow: none;
                box-shadow: none;
        border: 1px solid  #ddd;
        opacity: 1;
        margin: 0;
        margin-bottom: 15px; }
        #recruiting-staff ul.staff-list li > a, #section-staff ul.staff-list li > a, .staff-index2 ul.staff-list li > a {
          display: block;
          height: 100%; }
        #recruiting-staff ul.staff-list li > img, #section-staff ul.staff-list li > img, .staff-index2 ul.staff-list li > img {
          height: 100% !important;
          width: auto !important; }
        #recruiting-staff ul.staff-list li:after, #section-staff ul.staff-list li:after, .staff-index2 ul.staff-list li:after {
          display: none; }
        #recruiting-staff ul.staff-list li .thumb, #section-staff ul.staff-list li .thumb, .staff-index2 ul.staff-list li .thumb {
          width: 75px;
          height: 75px;
          position: absolute;
          top: 7px;
          left: 7px;
          overflow: hidden; }
          #recruiting-staff ul.staff-list li .thumb img, #section-staff ul.staff-list li .thumb img, .staff-index2 ul.staff-list li .thumb img {
            max-width: 200%;
            margin: 0 !important;
            margin-right: 0 !important;
            height: 100% !important;
            width: auto !important;
            float: none;
            left: 50% !important;
            display: block;
            position: relative;
            -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
        #recruiting-staff ul.staff-list li .info1, #section-staff ul.staff-list li .info1, .staff-index2 ul.staff-list li .info1 {
          left: 90px;
          position: absolute;
          z-index: 1;
          background: #fff; }
          #recruiting-staff ul.staff-list li .info1 .sub_section, #section-staff ul.staff-list li .info1 .sub_section, .staff-index2 ul.staff-list li .info1 .sub_section {
            font-size: 10px;
            white-space: nowrap; }
          #recruiting-staff ul.staff-list li .info1 .name, #section-staff ul.staff-list li .info1 .name, .staff-index2 ul.staff-list li .info1 .name {
            font-size: 20px; }
        #recruiting-staff ul.staff-list li .index_num, #recruiting-staff ul.staff-list li .info2, #section-staff ul.staff-list li .index_num, #section-staff ul.staff-list li .info2, .staff-index2 ul.staff-list li .index_num, .staff-index2 ul.staff-list li .info2 {
          display: none; }
    #recruiting-staff #architecture ul, #section-staff #architecture ul, .staff-index2 #architecture ul {
      margin-bottom: 0 !important; }
    #recruiting-staff #architecture2, #section-staff #architecture2, .staff-index2 #architecture2 {
      margin-left: 0px; }
  #recruiting-recruitment02 {
    color: #191919;
    font-size: 13px;
    line-height: 21px; }
    #recruiting-recruitment02 * {
      float: none !important; }
    #recruiting-recruitment02 .btn-entry-1 {
      margin: 0 5.4vw; }
    #recruiting-recruitment02 > .wrap {
      padding: 0 5.4vw !important; }
      #recruiting-recruitment02 > .wrap > h1 {
        background: none !important;
        color: #0F6EB5 !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100%;
        font-size: 8.64vw;
        text-align: center;
        padding-top: 8.1vw !important;
        margin-bottom: 30px !important; }
    #recruiting-recruitment02 section {
      overflow: visible; }
      #recruiting-recruitment02 section h2 {
        font-weight: 300;
        font-size: 1.5em;
        color: #0F6EB5;
        padding: 0 5.4vw;
        line-height: 36px;
        background-color: #E7F1F8;
        width: 100vw;
        margin-top: 50px;
        margin-left: -5.4vw !important; }
    #recruiting-recruitment02 p {
      margin: 25px 0 25px; }
    #recruiting-recruitment02 .setumeikai-intro {
      font-size: 15px;
      margin: 0px;
      line-height: 180%; }
    #recruiting-recruitment02 .setumeikai-flow {
      background-color: #006cb8;
      padding: 0.5em;
      font-size: 2em;
      color: #fff;
      font-weight: 300;
      overflow: visible; }
    #recruiting-recruitment02 .last-line {
      margin: 0; }
    #recruiting-recruitment02 .hope {
      margin: 0 0 9px; }
    #recruiting-recruitment02 article > h1 {
      margin: 0 0 18px; }
    #recruiting-recruitment02 .main-image {
      margin: 0 0 36px; }
    #recruiting-recruitment02 .employment-nav {
      width: 100%;
      margin: 0 0 46px;
      overflow: hidden; }
      #recruiting-recruitment02 .employment-nav ul li {
        float: left;
        margin: 0 24px 0 0; }
    #recruiting-recruitment02 .about-employment {
      margin: 0 0 15px;
      border-bottom: 1px solid #dde3e8; }
      #recruiting-recruitment02 .about-employment .tel {
        margin: 0 0 11px; }
        #recruiting-recruitment02 .about-employment .tel span {
          display: block;
          color: #006cb8; }
    #recruiting-recruitment02 #recruiting-info_session {
      overflow: visible;
      width: 100%; }
      #recruiting-recruitment02 #recruiting-info_session .flow {
        margin-top: 0 !important;
        overflow: visible; }
        #recruiting-recruitment02 #recruiting-info_session .flow ol {
          margin: 15px; }
          #recruiting-recruitment02 #recruiting-info_session .flow ol li {
            padding-bottom: 30px !important; }
            #recruiting-recruitment02 #recruiting-info_session .flow ol li:last-child {
              padding-bottom: 0 !important;
              margin-bottom: 0 !important; }
          #recruiting-recruitment02 #recruiting-info_session .flow ol h1 {
            background: none;
            font-size: 16px !important;
            padding: 0 !important; }
          #recruiting-recruitment02 #recruiting-info_session .flow ol p {
            margin: 0 15px !important; }
    #recruiting-recruitment02 .apply-guide {
      margin: 0 0 28px; }
      #recruiting-recruitment02 .apply-guide > dl > dt {
        margin: 0 0 16px; }
      #recruiting-recruitment02 .apply-guide > dl > dd {
        padding: 0 0 10px;
        margin: 0 0 16px;
        border-bottom: 1px solid #dde3e8; }
        #recruiting-recruitment02 .apply-guide > dl > dd > a:link, #recruiting-recruitment02 .apply-guide > dl > dd > a:visited {
          text-decoration: none; }
      #recruiting-recruitment02 .apply-guide .treatment {
        width: 100%;
        margin: 0 0 5px;
        border-top: 1px solid #006cb8;
        border-left: 1px solid #006cb8;
        border-spacing: 0;
        color: #333232;
        line-height: 19px; }
        #recruiting-recruitment02 .apply-guide .treatment th {
          height: 60px;
          border-bottom: 1px solid #006cb8;
          border-right: 1px solid #006cb8;
          background-color: #edf6fc;
          font-weight: normal;
          vertical-align: middle; }
        #recruiting-recruitment02 .apply-guide .treatment td {
          padding: 11px 20px;
          border-bottom: 1px solid #006cb8;
          border-right: 1px solid #006cb8;
          color: #333232;
          font-size: 14px;
          vertical-align: middle; }
    #recruiting-recruitment02 .entry-button {
      text-align: center; }
    #recruiting-recruitment02 .inquiry {
      width: 683px;
      margin: 3px 0 5px; }
      #recruiting-recruitment02 .inquiry h1 {
        font-weight: normal; }
    #recruiting-recruitment02 #employment-education {
      margin: 0 0 86px; }
    #recruiting-recruitment02 .apply-guide dl dd dl dt {
      color: #006cb8;
      font-weight: bold; }
    #recruiting-recruitment02 .apply-guide dl dd dl dd {
      line-height: 29px;
      text-indent: 1em; }
    #recruiting-recruitment02 .center {
      margin: 0px auto 20px auto; }
    #recruiting-recruitment02 #internship {
      width: 908px;
      margin: auto; }
      #recruiting-recruitment02 #internship p {
        line-height: 160%; }
      #recruiting-recruitment02 #internship #briefing ul.waku-point {
        margin: 1.5em 0; }
        #recruiting-recruitment02 #internship #briefing ul.waku-point li {
          margin: 0 1em;
          padding: 0.2em;
          border-bottom: none;
          width: auto;
          font-size: 1em; }
      #recruiting-recruitment02 #internship .waku-point h3 {
        font-size: 1.2em;
        color: #006cb8;
        margin-botom: 1em; }
      #recruiting-recruitment02 #internship .next-stage {
        margin: 5em 0;
        padding: 1em;
        border-top: 1px solid #ccc;
        border-bottom: 1px solid #ccc;
        background-color: #e6f4ff; }
  /* !!------------------------------------ */
  /* !! 代表メッセージ */
  #recruiting-philosophy section h1 {
    margin: 15px !important; }
  .bottom-nav {
    display: none !important; }
  /* !!------------------------------------ */
  /* !!------------------------------------ */
  /* !! 個別ページ */
  /* !!------------------------------------ */
  /* !!------------------------------------ */
  body.lower-contents div.contents {
    padding-bottom: 0 !important; }
  .lower-contents .contents {
    padding: 0; }
    .lower-contents .contents > article {
      margin: 0; }
    .lower-contents .contents > .wrap {
      padding: 0 5.4vw; }
  h1.title {
    font-size: 36px;
    font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif !important;
    font-weight: normal;
    margin: 8.1vw 0 !important;
    text-align: center;
    color: #0F6EB5; }
  h1.section-page-title {
    font-size: 32px;
    color: #0F6EB5;
    padding: 13.5vw 0 8.1vw 0;
    margin-bottom: 0 !important;
    font-weight: 600;
    text-align: center;
    letter-spacing: 3px;
    margin-top: 0;
    line-height: 1em; }
  .btn-site {
    text-align: right;
    margin: 5.4vw 0 !important; }
    .btn-site a {
      background: rgba(15, 110, 181, 0.15);
      line-height: 36px;
      font-size: 13px;
      text-decoration: none;
      padding-left: 15px;
      padding-right: 25px;
      display: inline-block;
      width: auto;
      text-align: left;
      position: relative; }
      .btn-site a:after {
        display: block;
        position: absolute;
        left: 0;
        top: 10px;
        content: "";
        width: 8px;
        height: 8px;
        border: 1px solid #000;
        border-width: 0 1px 1px 0;
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
        -webkit-transform-origin: center center;
            -ms-transform-origin: center center;
                transform-origin: center center;
        position: absolute;
        top: 13px;
        left: auto;
        right: 10px;
        border-color: #0F6EB5; }
  /* !! プロジェクトストーリー共通 */
  div.contents.story {
    padding: 0 !important;
    background: #fff !important; }
    div.contents.story .title {
      position: relative;
      margin: 0px;
      margin-bottom: 0; }
    div.contents.story > article {
      padding: 0 !important;
      background: #fff !important;
      background-image: none !important;
      overflow: hidden; }
      div.contents.story > article:after {
        content: none !important; }
    div.contents.story .summary {
      width: 100% !important;
      height: auto !important;
      padding: 0px;
      background: none !important;
      margin: 0 !important;
      padding-top: 0; }
      div.contents.story .summary img {
        width: 100% !important;
        height: auto !important; }
    div.contents.story .common-section {
      margin: 5.4vw !important;
      text-align: justify; }
      div.contents.story .common-section .text-field {
        float: none !important;
        width: 100% !important; }
        div.contents.story .common-section .text-field table.person {
          width: 100% !important;
          display: block;
          padding: 20px;
          height: auto; }
          div.contents.story .common-section .text-field table.person tr, div.contents.story .common-section .text-field table.person td {
            display: block !important;
            padding: 0 !important;
            height: auto !important;
            position: relative;
            margin-top: 10px; }
            div.contents.story .common-section .text-field table.person tr strong, div.contents.story .common-section .text-field table.person td strong {
              font-size: 16px;
              display: block; }
            div.contents.story .common-section .text-field table.person tr .data, div.contents.story .common-section .text-field table.person td .data {
              line-height: 1.5; }
          div.contents.story .common-section .text-field table.person img {
            width: 100% !important;
            height: auto !important; }
      div.contents.story .common-section h1 {
        line-height: 1.5;
        font-size: 24px;
        margin: 8.1vw 0 !important; }
      div.contents.story .common-section .text-field2 {
        float: none !important;
        width: 100% !important; }
    div.contents.story .images img {
      width: 100% !important;
      height: auto !important; }
  /* !!------------------------------------ */
  /* !! 事実報道・類広宣社 */
  /* !! 事業紹介 */
  #network-task section {
    overflow: visible !important; }
  #network-task h1.busho {
    font-size: 20px;
    line-height: 36px;
    color: #fff;
    background: rgba(15, 110, 181, 0.6);
    width: 100vw;
    margin-top: 8.1vw;
    margin-left: -5.4vw;
    font-weight: normal !important; }
  #network-task h2.bumon {
    font-size: 16px;
    line-height: 30px;
    color: #fff;
    background: rgba(15, 110, 181, 0.6);
    width: 100vw;
    margin-top: 8.1vw;
    width: 100%;
    font-weight: normal !important; }
  #network-task .images {
    float: none !important; }
    #network-task .images img {
      width: 100% !important;
      height: auto !important; }
  #network-task .text-field {
    width: 100% !important; }
    #network-task .text-field h2 {
      margin: .5em 0; }
  #network-task .accordion {
    margin: 0;
    padding: 0 !important; }
    #network-task .accordion > li {
      padding: 0 !important; }
      #network-task .accordion > li .triger-title {
        margin: 0 !important;
        width: 100%;
        margin-top: 10px !important; }
        #network-task .accordion > li .triger-title span {
          display: block;
          line-height: 1.6 !important;
          text-align: justify !important; }
      #network-task .accordion > li .lead {
        font-size: 14px;
        line-height: 1.5; }
      #network-task .accordion > li .topic {
        font-size: 20px !important;
        line-height: 1.5;
        margin-bottom: 1em; }
      #network-task .accordion > li .person {
        margin-bottom: 15px; }
  #network-task .kousen-top .subtitle {
    margin: 1em -0px; }
  #network-task .bumon-section h2 {
    margin-top: 30px !important; }
  /* !!------------------------------------ */
  /* !! 類設計室 */
  /* !! 体制・社員紹介 */
  #architecture-task {
    padding: 0 5.4vw;
    margin: 0 !important; }
    #architecture-task section1 {
      margin-bottom: 30px; }
    #architecture-task ul.staff-list {
      margin-top: 20px !important;
      margin-right: 0 !important; }
      #architecture-task ul.staff-list li {
        margin: 0;
        margin-bottom: 10px;
        margin-right: 0 !important; }
    #architecture-task .staff-index2 {
      margin-bottom: 0; }
    #architecture-task p {
      margin: 1em 0;
      padding: 0;
      font-size: 14px;
      line-height: 2;
      color: #727171;
      /*text-indent: 1em;*/ }
    #architecture-task h1 {
      font-size: 32px;
      color: #0F6EB5;
      padding: 13.5vw 0 8.1vw 0;
      margin-bottom: 0 !important;
      font-weight: 600;
      text-align: center;
      letter-spacing: 3px;
      margin-top: 0;
      line-height: 1em; }
    #architecture-task .survice {
      font-size: 45px;
      color: #0F6EB5;
      font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
      font-weight: 300;
      letter-spacing: 3px;
      margin-top: 8px;
      line-height: 1em; }
    #architecture-task h2 {
      font-size: 20px;
      line-height: 1.5;
      color: #0F6EB5;
      margin-bottom: 10px;
      font-weight: 500;
      padding-bottom: .1em;
      border-bottom: 1px solid #006CB8;
      background: none;
      padding-left: 0;
      height: auto; }
    #architecture-task .images {
      width: 100vw;
      margin-left: -5.4vw; }
      #architecture-task .images img {
        width: 100% !important;
        height: auto !important; }
    #architecture-task .text-field2 {
      overflow: visible;
      width: 100%; }
      #architecture-task .text-field2 h2 {
        font-size: 20px;
        line-height: 1.5;
        color: #0F6EB5;
        margin-bottom: 10px;
        font-weight: 500;
        padding-bottom: .1em;
        border-bottom: 1px solid #006CB8;
        background: none;
        padding-left: 0;
        height: auto; }
    #architecture-task .tgs {
      margin-left: auto;
      text-align: right;
      color: #006CB8; }
    #architecture-task .right-img {
      float: right;
      margin-left: 0px; }
    #architecture-task article.wrap {
      margin-top: 0;
      padding: 0 !important; }
    #architecture-task .jirei-wrap {
      width: 100%;
      -webkit-box-shadow: 0px 5px 8px -5px rgba(0, 0, 0, 0.8);
              box-shadow: 0px 5px 8px -5px rgba(0, 0, 0, 0.8);
      padding-bottom: 0;
      margin-bottom: 20px;
      padding: 10px;
      font-size: 0; }
    #architecture-task .jirei-title {
      padding: 6px;
      background: -webkit-linear-gradient(top, #69b4e6 0%, #3498db 100%);
      background: -prefix-linear-gradient(top, #69b4e6 0%, #3498db 100%);
      background: -webkit-gradient(linear, left top, left bottom, from(#69b4e6), to(#3498db));
      background: -o-linear-gradient(top, #69b4e6 0%, #3498db 100%);
      background: linear-gradient(to bottom, #69b4e6 0%, #3498db 100%);
      /*		background: url(../architecture/img/task/titlebase.jpg) no-repeat left center;*/
      color: #fff;
      font-size: 19px;
      text-indent: 1em;
      width: 100%;
      text-align: center;
      margin-bottom: 10px; }
    #architecture-task .jirei {
      position: relative;
      width: calc((100% - 10px) / 2);
      display: inline-block;
      display: inline-block;
      margin: 0 10px 10px 0;
      -webkit-box-shadow: 0px 5px 15px -5px rgba(0, 0, 0, 0.8);
              box-shadow: 0px 5px 15px -5px rgba(0, 0, 0, 0.8); }
      #architecture-task .jirei:nth-of-type(2n + 1) {
        margin: 0 0 10px 0px !important; }
      #architecture-task .jirei :hover {
        opacity: 0.75;
        filter: alpha(opacity=75);
        -moz-opacity: 0.75; }
      #architecture-task .jirei span {
        position: absolute;
        bottom: 0px;
        left: 0px;
        width: 100%;
        font-size: 2.7vw;
        text-align: center;
        line-height: 1.6;
        padding: 5px 0;
        white-space: nowrap;
        background-color: rgba(0, 0, 0, 0.7);
        color: #ffffff; }
    #architecture-task .jirei-end {
      position: relative;
      width: 100%;
      display: inline-block;
      margin: 0 !important;
      -webkit-box-shadow: 0px 5px 15px -5px rgba(0, 0, 0, 0.8);
              box-shadow: 0px 5px 15px -5px rgba(0, 0, 0, 0.8); }
      #architecture-task .jirei-end span {
        position: static;
        display: block;
        bottom: 0px;
        left: 0px;
        width: 100%;
        text-align: left;
        color: #fff;
        line-height: 1.6;
        font-size: 10px;
        padding: 5px 10px;
        background-color: rgba(0, 0, 0, 0.7); }
      #architecture-task .jirei-end :hover {
        opacity: 0.75;
        filter: alpha(opacity=75);
        -moz-opacity: 0.75; }
    #architecture-task .toform {
      width: 100%;
      margin: 0px auto 20px auto; }
    #architecture-task hr {
      border-top: 1px solid rgba(0, 0, 0, 0.1);
      margin-top: 30px; }
    #architecture-task .toform p {
      font-size: 17px;
      text-indent: 0;
      margin-top: 15px; }
    #architecture-task .toform img {
      display: block;
      margin: 20px auto 0 auto; }
    #architecture-task .toform a:hover {
      opacity: 0.75;
      filter: alpha(opacity=75);
      -moz-opacity: 0.75; }
    #architecture-task .toform img:hover {
      opacity: 0.75;
      filter: alpha(opacity=75);
      -moz-opacity: 0.75;
      -webkit-transition: 0.3s ease-in-out;
      -o-transition: 0.3s ease-in-out;
      transition: 0.3s ease-in-out; }
    #architecture-task .text-field {
      width: 100%;
      margin-bottom: 40px; }
  div.contents.story {
    padding: 5.4vw;
    background: #fff; }
    div.contents.story.index {
      padding-top: 5.4vw !important; }
    div.contents.story h3.sub-title-ps {
      text-align: center;
      margin: 0;
      margin-bottom: 10px;
      width: 100% !important; }
    div.contents.story ul.project-stories {
      width: 100% !important;
      margin: 0 !important;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      margin-bottom: 50px !important; }
      div.contents.story ul.project-stories li {
        width: calc((100% - 10px )/2) !important;
        height: auto;
        margin: 0 !important;
        margin-bottom: 10px !important; }
        div.contents.story ul.project-stories li a {
          display: block; }
        div.contents.story ul.project-stories li img {
          width: 100% !important;
          height: auto !important;
          display: block; }
  div[id^=architecture-story] {
    /*声*/ }
    div[id^=architecture-story] article.wrap {
      padding-bottom: 13.5vw !important;
      display: block; }
    div[id^=architecture-story] p {
      max-width: 100% !important; }
    div[id^=architecture-story] .summary .wrap {
      position: absolute;
      top: 0;
      left: 0; }
      div[id^=architecture-story] .summary .wrap .tag {
        background: #fff;
        margin-top: 10px;
        padding: 0 5px;
        line-height: 1.4;
        display: inline-block;
        padding: 5px 10px;
        font-size: 13px; }
        div[id^=architecture-story] .summary .wrap .tag span {
          font-size: 10px;
          display: block;
          margin-top: 3px; }
      div[id^=architecture-story] .summary .wrap h1 {
        padding: 10px;
        color: #fff;
        font-size: 24px;
        margin: 0;
        line-height: 1.3;
        text-shadow: 0 0 3px #000;
        font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif !important; }
      div[id^=architecture-story] .summary .wrap .author {
        font-size: 12px;
        color: #fff;
        font-weight: bold;
        text-shadow: 0 0 4px #000, 0 0 8px #000;
        margin: 0;
        padding-left: 10px;
        line-height: 1; }
    div[id^=architecture-story] .staff {
      margin: 5.4vw !important; }
      div[id^=architecture-story] .staff li {
        margin-top: 15px; }
      div[id^=architecture-story] .staff img {
        display: block;
        width: 100% !important;
        height: auto !important; }
    div[id^=architecture-story] .common-section h1 {
      padding-left: 0 !important; }
    div[id^=architecture-story] .images {
      margin: 4.05vw 0 !important;
      margin-left: -5.4vw !important;
      width: 100vw !important;
      float: none !important; }
      div[id^=architecture-story] .images.nm {
        margin-left: 0 !important;
        width: 100% !important; }
    div[id^=architecture-story] section {
      overflow: visible !important;
      background-image: none !important; }
    div[id^=architecture-story] .sukima {
      display: none; }
    div[id^=architecture-story] .clearfix, div[id^=architecture-story] .fix {
      margin: 0 !important; }
    div[id^=architecture-story] .lightbox-button-wrap {
      margin: 5.4vw; }
      div[id^=architecture-story] .lightbox-button-wrap.nm {
        margin: 5.4vw 0; }
      div[id^=architecture-story] .lightbox-button-wrap .lightbox-button {
        width: 100%;
        margin-top: 10px; }
        div[id^=architecture-story] .lightbox-button-wrap .lightbox-button input {
          position: absolute;
          top: 0;
          left: 0;
          pointer-events: none; }
        div[id^=architecture-story] .lightbox-button-wrap .lightbox-button a {
          display: block;
          line-height: 40px;
          background: #E7F1F8;
          text-align: center;
          position: relative;
          text-decoration: none;
          padding: 0 40px 0 40px;
          white-space: nowrap;
          overflow: hidden;
          -o-text-overflow: ellipsis;
             text-overflow: ellipsis; }
          div[id^=architecture-story] .lightbox-button-wrap .lightbox-button a:before {
            position: absolute;
            top: 10px;
            left: 0;
            width: 40px;
            height: 20px;
            content: "";
            background-image: url(../img/section-menu-icon.svg);
            background-repeat: no-repeat;
            background-size: 40px auto;
            background-position: 0 0;
            background-position: 0 -80px !important; }
        div[id^=architecture-story] .lightbox-button-wrap .lightbox-button.prj a:before {
          background-position: 0 -40px !important; }
    div[id^=architecture-story] .common-section .lightbox-button-wrap {
      margin: 5.4vw 0; }
    div[id^=architecture-story] div.voice {
      margin: 5.4vw !important;
      padding: 20px !important; }
      div[id^=architecture-story] div.voice h3 {
        font-size: 16px !important; }
        div[id^=architecture-story] div.voice h3 span {
          display: inline-block;
          font-size: .7em !important;
          font-weight: 100;
          background-color: #006CB8;
          border-radius: 10px;
          padding: 10px !important;
          margin-left: 1em;
          color: #fff;
          line-height: 1;
          vertical-align: bottom; }
      div[id^=architecture-story] div.voice .person {
        float: none !important;
        overflow: hidden;
        padding: 0 !important;
        margin-bottom: 15px !important; }
        div[id^=architecture-story] div.voice .person img {
          float: left;
          margin-right: 10px; }
        div[id^=architecture-story] div.voice .person p {
          margin: 0 !important; }
      div[id^=architecture-story] div.voice > p {
        margin-bottom: 0 !important; }
    div[id^=architecture-story] table.person {
      height: auto !important;
      margin: 5.4vw 0 !important;
      width: auto !important;
      display: block; }
      div[id^=architecture-story] table.person tr, div[id^=architecture-story] table.person td, div[id^=architecture-story] table.person th {
        display: block;
        height: auto !important;
        width: auto !important; }
      div[id^=architecture-story] table.person td {
        padding: 15px !important;
        text-align: center;
        line-height: 150%; }
        div[id^=architecture-story] table.person td img {
          display: inline-block !important; }
    div[id^=architecture-story] .voice {
      background-color: beige;
      padding: 20px;
      overflow: hidden;
      margin: 5.4vw !important;
      float: none; }
      div[id^=architecture-story] .voice h3 {
        font-size: 2em;
        margin-bottom: 1em;
        padding-bottom: 0.5em;
        border-bottom: 3px dotted #ccc; }
      div[id^=architecture-story] .voice .peason, div[id^=architecture-story] .voice .person {
        text-align: center;
        float: none !important;
        margin: 0 !important;
        width: 100% !important; }
        div[id^=architecture-story] .voice .peason img, div[id^=architecture-story] .voice .person img {
          float: left !important;
          margin-right: 10px !important;
          margin-bottom: 10px !important;
          width: 100px !important; }
        div[id^=architecture-story] .voice .peason p, div[id^=architecture-story] .voice .person p {
          font-size: 12px !important;
          line-height: 1.6 !important; }
          div[id^=architecture-story] .voice .peason p span, div[id^=architecture-story] .voice .person p span {
            margin-top: 10px !important;
            display: block; }
  .story #sp-footer-wrap {
    margin-top: 0; }
  .main-image img {
    width: 100% !important;
    height: auto !important; }
  table.lightbox-button-grp {
    margin: 15px auto; }
    table.lightbox-button-grp tr, table.lightbox-button-grp th, table.lightbox-button-grp td {
      display: block !important; }
    table.lightbox-button-grp a {
      display: block;
      margin-top: 15px; }
      table.lightbox-button-grp a img {
        width: 100% !important;
        height: auto !important; }
  div.fix, div.floating-block {
    float: none !important;
    margin: 15px;
    width: auto !important;
    margin-bottom: 15px !important;
    height: auto !important; }
    div.fix img, div.floating-block img {
      width: 100% !important;
      height: auto !important; }
  /* !!  */
  /* !! 事業紹介 */
  #architecture-task.contents.task .sub-title {
    margin-top: 5.4vw;
    display: inline-block;
    padding: 10px;
    line-height: 1; }
  #architecture-task.contents.task h1.survice {
    font-size: 32px !important;
    text-align: left !important;
    line-height: 1.3 !important;
    padding: 0 !important;
    margin-bottom: 4.05vw !important; }
  #architecture-task.contents.task.index h2 {
    padding-left: 0; }
  #architecture-task.contents.task h2 {
    height: auto !important;
    background-position: left center;
    background-size: 70px;
    padding-left: 0px;
    width: 100%; }
  #architecture-task.contents.task img {
    float: none !important; }
  #architecture-task.contents.task .photo {
    margin-bottom: 10px;
    margin-left: 0;
    float: none !important; }
    #architecture-task.contents.task .photo:after {
      content: none; }
    #architecture-task.contents.task .photo .caption {
      position: static; }
  #architecture-task.contents.task .photo-wide {
    height: auto; }
  #architecture-task.contents.task .seika {
    float: none;
    margin: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    #architecture-task.contents.task .seika > a {
      display: block; }
      #architecture-task.contents.task .seika > a img {
        width: 100% !important;
        height: auto !important; }
  #architecture-task.contents.task .seika2 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 0 !important; }
  #architecture-task.contents.task section .ph01 {
    margin: 0 auto !important;
    display: block; }
  #architecture-task.contents.task.service h2 {
    padding-left: 0; }
  #architecture-task.contents.task.service .images {
    margin: 0 !important;
    width: 100% !important; }
    #architecture-task.contents.task.service .images img {
      margin: 0; }
  #architecture-task.contents.task.service .section .box {
    padding: 15px; }
    #architecture-task.contents.task.service .section .box > div {
      width: 100% !important;
      float: none !important;
      margin: 0 !important; }
      #architecture-task.contents.task.service .section .box > div .boxinner-l-title {
        width: 100% !important;
        height: auto !important;
        display: block;
        line-height: 1;
        padding: 5px 10px; }
      #architecture-task.contents.task.service .section .box > div h3 {
        padding: 0 !important; }
      #architecture-task.contents.task.service .section .box > div .photo2 {
        height: auto !important; }
      #architecture-task.contents.task.service .section .box > div .caption-inbox {
        top: auto;
        bottom: 0;
        margin: 0; }
  /* !!  */
  /* !! 作品集 */
  body.works #sp-footer-wrap {
    margin-top: 0; }
  #architecture-works {
    padding-bottom: 50px !important; }
  #architecture-works {
    padding: 5.4vw 0; }
    #architecture-works header > h1 {
      border: 1px solid #0F6EB5;
      line-height: 1;
      color: #0F6EB5;
      padding: 10px 0;
      font-size: 20px;
      width: 100%;
      float: none;
      text-align: center; }
    #architecture-works header > .text {
      margin: 1em 0px; }
    #architecture-works div.portfolio-list ul {
      width: 100% !important;
      height: auto !important;
      font-size: 0;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      -o-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; }
    #architecture-works div.portfolio-list li {
      width: calc(50% - 2.7vw) !important;
      position: static !important;
      margin-right: 0;
      margin-bottom: 5.4vw !important;
      vertical-align: top; }
      #architecture-works div.portfolio-list li:nth-of-type(2n) {
        margin-right: 0 !important; }
      #architecture-works div.portfolio-list li a {
        text-decoration: none;
        font-size: 12px; }
      #architecture-works div.portfolio-list li .filter {
        display: block !important;
        opacity: 1 !important;
        position: static !important;
        background: #eee !important;
        color: #666 !important;
        width: 100% !important;
        padding: 0 !important;
        height: auto !important; }
        #architecture-works div.portfolio-list li .filter p {
          padding-top: 7px !important;
          font-size: 12px !important;
          height: auto !important; }
        #architecture-works div.portfolio-list li .filter .lead, #architecture-works div.portfolio-list li .filter .text {
          display: none !important; }
  /* !! - lightbox */
  div.portfolio-lightbox {
    width: 100% !important; }
    div.portfolio-lightbox a.close {
      position: absolute;
      top: 5px !important;
      right: 5px !important;
      left: auto !important;
      margin-left: 0 !important;
      z-index: 2; }
    div.portfolio-lightbox div.lightbox {
      margin: 5px !important;
      margin-top: 65px !important;
      width: auto !important;
      position: relative !important;
      left: 0;
      padding: 0 !important;
      background: #fff !important; }
      div.portfolio-lightbox div.lightbox .slide-data > div {
        width: auto !important;
        height: auto !important; }
        div.portfolio-lightbox div.lightbox .slide-data > div .main-image {
          position: static;
          padding: 0 10px  !important;
          width: auto !important;
          overflow: hidden !important;
          height: auto; }
          div.portfolio-lightbox div.lightbox .slide-data > div .main-image ul {
            position: static !important;
            width: auto !important;
            height: auto !important; }
            div.portfolio-lightbox div.lightbox .slide-data > div .main-image ul li {
              position: static !important; }
        div.portfolio-lightbox div.lightbox .slide-data > div div.thumbnail {
          position: static !important;
          background: none !important; }
          div.portfolio-lightbox div.lightbox .slide-data > div div.thumbnail ul {
            overflow: hidden;
            margin: 0;
            width: auto !important;
            margin: 0 10px;
            padding: 0 !important; }
            div.portfolio-lightbox div.lightbox .slide-data > div div.thumbnail ul li {
              width: 25%;
              float: left !important;
              padding: 0 !important;
              overflow: hidden !important;
              margin: 0 !important; }
              div.portfolio-lightbox div.lightbox .slide-data > div div.thumbnail ul li img {
                width: 100% !important;
                height: auto !important; }
      div.portfolio-lightbox div.lightbox .slide-data section.details {
        margin: 10px !important;
        margin-top: 0 !important;
        width: auto !important;
        padding: 0 !important;
        overflow: visible !important;
        background: none; }
        div.portfolio-lightbox div.lightbox .slide-data section.details h1 {
          padding: 0 !important;
          width: 100% !important;
          background: none !important; }
        div.portfolio-lightbox div.lightbox .slide-data section.details table {
          table-layout: fixed !important;
          width: 100% !important; }
          div.portfolio-lightbox div.lightbox .slide-data section.details table tr {
            width: 100% !important; }
        div.portfolio-lightbox div.lightbox .slide-data section.details > div {
          padding: 0 !important;
          width: auto !important;
          padding-bottom: 10px !important;
          background: none !important; }
  .portfolio-lightbox .lightbox .slide-button {
    width: 100px;
    position: absolute;
    bottom: -50px;
    left: 50%;
    background: #eee;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
    .portfolio-lightbox .lightbox .slide-button li {
      top: auto !important;
      bottom: 0px !important;
      height: 36px !important;
      width: 36px !important; }
      .portfolio-lightbox .lightbox .slide-button li.prev a:after {
        content: "◀︎"; }
      .portfolio-lightbox .lightbox .slide-button li.next a:after {
        content: "▶︎"; }
      .portfolio-lightbox .lightbox .slide-button li img {
        display: none !important; }
      .portfolio-lightbox .lightbox .slide-button li a {
        display: block;
        width: 100%;
        height: 100%;
        background: #0F6EB5;
        color: #fff;
        font-size: 12px;
        line-height: 36px;
        border-radius: 50%;
        text-decoration: none;
        text-align: center; }
  .portfolio-lightbox .bg {
    background: rgba(0, 0, 0, 0.5) !important; }
  .portfolio-list-wp {
    max-width: 1044px; }
    .portfolio-list-wp ul {
      width: 100% !important; }
      .portfolio-list-wp ul li {
        width: calc((100% - 10px)/2);
        margin-bottom: 15px;
        /*
			&.nt{
			transition: 0 !important;
			}
			&.rdy{
			opacity: 0;
			}
			*/ }
        .portfolio-list-wp ul li a {
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          z-index: 2; }
        .portfolio-list-wp ul li img {
          width: 100% !important;
          height: auto !important; }
      .portfolio-list-wp ul .wrap {
        width: 100%;
        height: 100%;
        position: relative; }
      .portfolio-list-wp ul li:hover .filter {
        opacity: 1; }
      .portfolio-list-wp ul .filter {
        position: static;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        opacity: 1;
        top: 0;
        left: 0;
        width: 100%;
        height: auto;
        padding: 0px;
        background: none !important; }
        .portfolio-list-wp ul .filter .lead {
          display: none !important;
          font-size: 1.2rem;
          display: block;
          white-space: nowrap;
          line-height: 1;
          overflow: hidden;
          -o-text-overflow: ellipsis;
             text-overflow: ellipsis; }
        .portfolio-list-wp ul .filter .caption {
          color: #333;
          font-size: 1.2rem;
          font-weight: 500;
          line-height: 1.4;
          margin-top: 5px; }
        .portfolio-list-wp ul .filter .text {
          display: none !important;
          font-size: 1.2rem;
          line-height: 1.6;
          position: absolute;
          bottom: 0;
          left: 0;
          width: 100%; }
  #sp-filter-nav-wrap {
    margin-bottom: 5.4vw; }
  nav.portfolio-nav {
    height: auto !important;
    line-height: 1;
    text-align: center;
    bottom: 0;
    position: relative;
    margin-top: -15px; }
    nav.portfolio-nav.filterd .refine b {
      display: none; }
    nav.portfolio-nav > ul {
      height: auto !important;
      padding: 0 !important;
      display: inline-block !important;
      font-size: 0;
      position: relative;
      bottom: 0;
      border: 1px solid #0F6EB5;
      border-radius: 4px;
      background: #fff !important;
      width: calc(100vw - 10.8vw) !important;
      padding: 0;
      line-height: 1; }
      nav.portfolio-nav > ul > li {
        display: inline-block !important;
        vertical-align: top;
        float: none !important;
        font-size: 16px !important;
        line-height: 40px;
        padding: 0;
        z-index: 4;
        width: 35%;
        position: static;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        white-space: nowrap;
        line-height: 1; }
        nav.portfolio-nav > ul > li > a {
          z-index: 4;
          line-height: 36px;
          font-size: 3.51vw !important; }
        nav.portfolio-nav > ul > li.refine {
          background: #0F6EB5;
          color: #fff;
          width: 30%;
          height: 100%;
          line-height: 36px;
          font-size: 3.51vw !important; }
          nav.portfolio-nav > ul > li.refine a {
            color: #fff;
            font-weight: bold;
            display: none;
            font-size: 3.51vw !important; }
        nav.portfolio-nav > ul > li:last-of-type:before {
          content: "";
          height: 100%;
          display: block;
          width: 1px;
          background: #0F6EB5;
          position: absolute;
          top: 0px;
          left: 0; }
        nav.portfolio-nav > ul > li:hover .inner-list {
          display: block !important; }
        nav.portfolio-nav > ul > li .inner-list {
          display: block !important;
          opacity: 0;
          pointer-events: none;
          font-size: 16px !important;
          left: 50%;
          white-space: normal;
          width: 260px;
          border-radius: 8px;
          line-height: 1;
          height: 300px;
          -webkit-box-sizing: border-box;
                  box-sizing: border-box;
          bottom: auto;
          top: 50px;
          padding: 5px;
          background: #fff;
          border: none;
          -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
          transform: translateX(-50%); }
          nav.portfolio-nav > ul > li .inner-list.on {
            opacity: 1;
            pointer-events: auto; }
          nav.portfolio-nav > ul > li .inner-list ul {
            overflow: auto;
            height: 100%;
            position: relative;
            z-index: 3;
            background: #fff; }
          nav.portfolio-nav > ul > li .inner-list:before {
            content: "";
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            height: 100%;
            position: absolute;
            top: -20px;
            left: 0;
            width: 100%;
            background: none;
            z-index: -1; }
          nav.portfolio-nav > ul > li .inner-list:after {
            content: "";
            z-index: 0;
            display: block;
            width: 30px;
            height: 30px;
            background: #fff;
            position: absolute;
            bottom: auto;
            left: 50%;
            top: 0;
            -webkit-transform: rotate(45deg) translate(-50%, 50%);
            -ms-transform: rotate(45deg) translate(-50%, 50%);
            transform: rotate(45deg) translate(-50%, 50%); }
          nav.portfolio-nav > ul > li .inner-list li {
            height: auto !important;
            z-index: 1;
            position: relative;
            width: 100%;
            padding: 0px;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            white-space: nowrap;
            display: inline-block !important; }
            nav.portfolio-nav > ul > li .inner-list li:last-of-type {
              border-bottom: 0; }
            nav.portfolio-nav > ul > li .inner-list li a {
              line-height: 36px !important;
              font-size: 14px !important;
              width: auto !important;
              color: #0F6EB5;
              font-weight: bold;
              padding: 0;
              padding: 0 !important; }
  /* !!   */
  /* !! 作品集シングルページ */
  .works-article-page {
    /* !! - mv */ }
    .works-article-page #article-wrap {
      width: 100%; }
    .works-article-page #gallery-wrap {
      width: 100%;
      margin: 0;
      margin-top: 0;
      position: relative; }
      .works-article-page #gallery-wrap ul.main {
        width: 100%;
        height: auto; }
        .works-article-page #gallery-wrap ul.main li {
          position: absolute;
          top: 0;
          left: 0;
          opacity: 0; }
          .works-article-page #gallery-wrap ul.main li:first-of-type {
            position: relative; }
          .works-article-page #gallery-wrap ul.main li.on {
            opacity: 1; }
      .works-article-page #gallery-wrap ul.thumb {
        position: relative;
        width: 100%;
        margin-top: 3px;
        font-size: 0;
        white-space: nowrap; }
        .works-article-page #gallery-wrap ul.thumb li {
          width: calc((100% - 9px) / 4);
          margin-bottom: 0px;
          display: inline-block;
          margin-right: 3px;
          /*
				&:hover,&.on{
				opacity: 1;
				}
				img{
				
				width: 100% !important;
				height: auto !important;
				}
				*/ }
          .works-article-page #gallery-wrap ul.thumb li:last-of-type {
            margin-right: 0; }
    .works-article-page h1 {
      font-size: 2.5rem !important;
      padding: 5.4vw;
      margin: 0 !important; }
    .works-article-page .data {
      border: 1px solid  #ccc;
      border-width: 1px 0px;
      white-space: nowrap;
      margin-bottom: 20px;
      padding: 10px 5.4vw;
      text-align: center; }
      .works-article-page .data ul {
        width: 100% !important;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between; }
      .works-article-page .data li {
        display: inline-block;
        line-height: 1;
        margin-right: 2.7vw;
        font-size: 3.24vw;
        text-align: left;
        line-height: 1.5;
        white-space: normal; }
        .works-article-page .data li:last-of-type {
          margin-right: 0; }
        .works-article-page .data li i.pc {
          display: none !important; }
        .works-article-page .data li i {
          display: inline-block !important; }
      .works-article-page .data span {
        background: #efefef;
        display: block;
        width: 5em;
        margin-bottom: 2.7vw;
        line-height: 20px;
        font-size: 3.24vw;
        margin-right: 10px;
        border-radius: 4px;
        text-align: center; }
    .works-article-page .txt {
      padding: 0 5.4vw; }
    .works-article-page .screen-reader-text {
      display: none; }
    .works-article-page .nav-links {
      text-align: center;
      width: auto;
      margin: 0;
      margin-top: 50px; }
      .works-article-page .nav-links div {
        display: inline-block;
        font-size: 0;
        vertical-align: top;
        margin: 0 10px; }
        .works-article-page .nav-links div a {
          text-decoration: none;
          display: block;
          font-size: 0;
          line-height: 1;
          width: auto;
          padding: 10px; }
          .works-article-page .nav-links div a:after {
            white-space: nowrap;
            content: "";
            font-size: 1.4rem;
            display: block;
            padding-bottom: 8px; }
      .works-article-page .nav-links .nav-previous a:after {
        content: "前の作品";
        text-align: left;
        padding: 0 0 6px 19px;
        background-image: url(../img/btn-more-arrw-left.svg);
        background-repeat: no-repeat;
        background-size: auto 10px;
        background-position: left bottom; }
      .works-article-page .nav-links .nav-next a:after {
        content: "次の作品";
        text-align: left;
        padding: 0 19px 6px 0;
        background-image: url(../img/btn-more-arrw.svg);
        background-repeat: no-repeat;
        background-size: auto 10px;
        background-position: right bottom; }
  /* !!------------------------------------ */
  /* !! 類塾 */
  /* !!  */
  /* !! プロジェクトストーリー */
  #education-story #section8 {
    padding: 15px !important; }
    #education-story #section8 h1 {
      margin: 0 !important; }
    #education-story #section8 .images {
      margin: 10px 0 !important;
      float: none !important;
      width: 100%; }
      #education-story #section8 .images img {
        width: 100%;
        height: auto; }
  /* !!  */
  /* !! 事業紹介 */
  #education-task {
    margin-bottom: 0 !important; }
    #education-task section {
      margin-top: 0; }
      #education-task section:last-of-type {
        margin-bottom: 0 !important; }
    #education-task h1.hd {
      font-size: 32px;
      color: #0F6EB5;
      padding: 13.5vw 0 8.1vw 0;
      margin-bottom: 0 !important;
      font-weight: 600;
      text-align: center;
      letter-spacing: 3px;
      margin-top: 0;
      line-height: 1em; }
    #education-task h2 {
      background: #0F6EB5;
      text-align: center;
      color: #fff;
      margin-bottom: 10px; }
    #education-task .text-field {
      width: 100% !important;
      height: auto !important;
      float: none; }
      #education-task .text-field .lead {
        line-height: 1.5; }
    #education-task p {
      max-width: 100%;
      line-height: 2; }
    #education-task .images {
      margin: 0;
      float: none !important; }
      #education-task .images img {
        width: 100% !important;
        height: auto !important; }
      #education-task .images p {
        margin-top: 5px; }
  /* !!------------------------------------ */
  /* !! 類地所 */
  /* !!  */
  /* !! 体制・社員紹介 */
  #realestate-task.staff {
    padding: 0 5.4vw !important;
    margin: 0 !important;
    margin-bottom: 0; }
    #realestate-task.staff h1 {
      font-size: 32px;
      color: #0F6EB5;
      padding: 13.5vw 0 8.1vw 0;
      margin-bottom: 0 !important;
      font-weight: 600;
      text-align: center;
      letter-spacing: 3px;
      margin-top: 0;
      line-height: 1em; }
    #realestate-task.staff h2 {
      font-size: 20px;
      line-height: 1.5;
      color: #0F6EB5;
      margin-bottom: 10px;
      font-weight: 500;
      padding-bottom: .1em;
      border-bottom: 1px solid #006CB8;
      background: none;
      padding-left: 0;
      height: auto; }
    #realestate-task.staff section {
      margin-top: 0 !important;
      padding: 0;
      margin-bottom: 30px !important; }
      #realestate-task.staff section .btn-more {
        padding: 0;
        margin: 1em 0px; }
      #realestate-task.staff section .contents.staff-index2 {
        margin-bottom: 0px !important; }
    #realestate-task.staff img.right {
      float: none;
      width: 100% !important;
      height: auto !important;
      display: block;
      margin: 0;
      margin: 1em 0; }
      #realestate-task.staff img.right + h3 {
        padding: 0;
        line-height: 1.6;
        font-weight: normal;
        margin: 1em 0; }
        #realestate-task.staff img.right + h3 + p {
          padding: 0;
          text-align: justify; }
    #realestate-task.staff a.toBlog-estate img {
      width: 100% !important;
      height: auto !important; }
  /* !!  */
  /* !! プロジェクトストーリー */
  #realestate-story.story * {
    float: none !important; }
  #realestate-story.story section {
    overflow: visible !important; }
  #realestate-story.story .images {
    width: 100vw;
    margin: 5.4vw;
    margin-left: -5.4vw; }
    #realestate-story.story .images img {
      width: 100% !important;
      height: auto !important; }
  /* !!  */
  /* !! 事業紹介 */
  #realestate-task .sub-title {
    margin-top: 50px !important;
    display: inline-block; }
    #realestate-task .sub-title + h1 {
      padding: 10px 0 !important; }
  #realestate-task h1 {
    text-align: justify;
    line-height: 1.4; }
    #realestate-task h1.survice {
      font-size: 32px !important;
      font-weight: bold !important; }
  #realestate-task .section {
    margin: 0;
    padding: 0; }
    #realestate-task .section .ph01 {
      margin: 0;
      float: none;
      margin-bottom: 1em;
      width: 100% !important;
      height: auto !important; }
    #realestate-task .section p {
      padding: 0;
      margin-top: 1em; }
  #realestate-task .portfolio-pagelist {
    display: inline-block !important;
    text-align: left;
    margin: 0 auto;
    white-space: nowrap;
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
  #realestate-task .client-wrap {
    display: block; }
    #realestate-task .client-wrap dl {
      float: none;
      width: 100%;
      margin-bottom: 15px; }
  #realestate-task .kanri, #realestate-task .kanri_r {
    width: 100%; }
    #realestate-task .kanri .kanri-obi, #realestate-task .kanri_r .kanri-obi {
      width: 100%; }
  #realestate-task .form_btn.icon {
    padding: 0;
    line-height: 3em;
    background-position: 10px center;
    background-size: 50px; }
  #realestate-task .ow_mokuji li {
    margin: 2px 0;
    width: auto;
    padding: 15px;
    height: auto;
    line-height: 1em;
    position: relative; }
    #realestate-task .ow_mokuji li a {
      position: absolute;
      display: block;
      z-index: 1;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    #realestate-task .ow_mokuji li img {
      width: 100% !important;
      height: auto !important;
      max-width: 1000px;
      margin-top: 10px; }
  #realestate-task .panf img {
    width: 200px;
    float: none !important;
    margin: 0 auto;
    display: block; }
  #realestate-task .panf p {
    display: inline-block; }
  #realestate-task .photo {
    float: none !important;
    margin: 0;
    margin-top: 1em; }
  #realestate-task .leasing-h3 {
    padding-left: 40px;
    position: relative;
    line-height: 36px !important; }
    #realestate-task .leasing-h3 .num_ita {
      position: absolute;
      top: 0;
      left: 0; }
    #realestate-task .leasing-h3 .leasing-h3_keyword {
      display: inline-block !important; }
  #realestate-task ul.leasing-inner li {
    padding-left: 0;
    list-style-position: outside;
    text-indent: 0;
    margin-left: 40px;
    overflow: visible; }
  #realestate-task .leasing-point > li {
    margin-bottom: 30px; }
  #realestate-task .leasing-point .append-item {
    margin-top: 1em;
    display: block; }
  #realestate-task .portfolio h3.portfolio-title {
    margin-top: 1.5em; }
    #realestate-task .portfolio h3.portfolio-title span {
      display: block;
      font-size: 16px;
      text-align: center;
      padding: 0;
      margin: 0; }
    #realestate-task .portfolio h3.portfolio-title strong {
      font-size: 16px;
      padding: 10px; }
  #realestate-task .portfolio .inner-left {
    float: none;
    width: 100%; }
    #realestate-task .portfolio .inner-left p:first-of-type {
      margin-top: 0; }
    #realestate-task .portfolio .inner-left + div {
      font-size: 12px !important;
      line-height: 1.5; }
      #realestate-task .portfolio .inner-left + div img {
        display: block;
        width: 100% !important;
        height: auto !important; }
      #realestate-task .portfolio .inner-left + div .boshu {
        padding: 15px;
        background: #eee;
        font-size: 12px !important; }
  #realestate-task.case h1 + p {
    padding: 0; }
  #realestate-task.case ul.toplist li {
    width: 100% !important;
    display: block !important;
    margin: 0;
    margin-bottom: 2.7vw;
    position: relative; }
    #realestate-task.case ul.toplist li a {
      position: absolute;
      display: block;
      z-index: 1;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
  #realestate-task.case .section {
    margin-top: 50px !important; }
    #realestate-task.case .section .case-wap {
      margin: 0 !important; }
      #realestate-task.case .section .case-wap .photo {
        text-align: center;
        display: block;
        margin-bottom: 15px; }
        #realestate-task.case .section .case-wap .photo img {
          display: inline-block !important; }
      #realestate-task.case .section .case-wap h3 {
        margin-top: 30px !important; }
      #realestate-task.case .section .case-wap .case-contents {
        margin: 0 !important; }
        #realestate-task.case .section .case-wap .case-contents dl {
          width: 100% !important;
          height: auto !important;
          margin: 0 !important; }
          #realestate-task.case .section .case-wap .case-contents dl dd {
            text-align: center; }
    #realestate-task.case .section img.right {
      display: block;
      margin: 0;
      float: none;
      width: 100% !important;
      height: auto !important; }
  #realestate-task .customer_list {
    margin: 0 !important;
    width: 100%;
    display: block;
    font-size: 13px; }
    #realestate-task .customer_list li {
      font-size: 13px;
      line-height: 1.6; }
  #realestate-task .portfolio-title {
    text-align: center;
    font-size: 16px; }
  /* !!------------------------------------ */
  /* !! [類農園] */
  /* !! 事業紹介 */
  #agriculture-task * {
    float: none !important;
    max-width: 100%; }
  #agriculture-task p:last-of-type {
    margin-bottom: 0; }
  #agriculture-task section {
    overflow: visible !important; }
    #agriculture-task section h1 {
      margin-left: -5.4vw;
      max-width: 1000px;
      width: 100vw !important;
      height: auto; }
      #agriculture-task section h1 p.title {
        padding: 5px 5.4vw;
        line-height: 1.6;
        height: auto !important; }
    #agriculture-task section:last-of-type {
      margin-bottom: 0; }
  #agriculture-task .image {
    float: none; }
  #agriculture-task .bt {
    border-top: 1px solid rgba(15, 110, 181, 0.5);
    padding-top: 20px; }
  #agriculture-task .text-field {
    float: none !important; }
  #agriculture-task .subtitle {
    width: 100%;
    margin-bottom: 10px !important; }
  #agriculture-task .images {
    margin-top: 10px; }
  #agriculture-task p.topic {
    padding: 0 5.4vw; }
  #agriculture-task .awards h1 {
    width: 100% !important;
    margin: 0 !important; }
    #agriculture-task .awards h1 p {
      width: 100% !important; }
  #agriculture-task .awards table td {
    padding: 10px !important;
    line-height: 1.6; }
  #agriculture-task .history table {
    width: 100% !important; }
    #agriculture-task .history table th {
      width: 100px; }
    #agriculture-task .history table td {
      padding: 10px !important;
      line-height: 1.6; }
  #agriculture-task .btn-site {
    width: 100% !important;
    display: block;
    margin-bottom: 5px !important;
    margin-top: 0 !important;
    margin-bottom: 15px !important; }
    #agriculture-task .btn-site a {
      display: block !important;
      text-align: center; }
  #agriculture-task .text-field3.bt {
    margin-top: 30px; }
  div[id^=agriculture-story] .images.logo {
    font-size: 0; }
    div[id^=agriculture-story] .images.logo img {
      width: 50% !important;
      display: inline-block; }
    div[id^=agriculture-story] .images.logo h1 {
      text-align: center;
      margin: 10px 0; }
  /* !!------------------------------------ */
  /* !! 本社 */
  /* !!  */
  /* !! 事業紹介 */
  #headquarters.task .text-field {
    float: none !important;
    max-width: 100% !important; }
  #headquarters.task p {
    max-width: 100%;
    line-height: 2; }
  #headquarters.task h1.hd {
    font-size: 32px;
    color: #0F6EB5;
    padding: 13.5vw 0 8.1vw 0;
    margin-bottom: 0 !important;
    font-weight: 600;
    text-align: center;
    letter-spacing: 3px;
    margin-top: 0;
    line-height: 1em; }
  #headquarters.task h2 {
    background: #0F6EB5;
    text-align: center;
    color: #fff;
    margin-bottom: 10px; }
  #headquarters.task p.lead {
    margin: 0 0 20px;
    color: #006CB8;
    font-size: 20px;
    font-family: "游明朝", "YuMincho Medium", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif !important;
    line-height: 1.5; }
  #headquarters.task section .lead {
    font-family: "Hiragino Kaku Gothic ProN","YuGothic",Meiryo,"メイリオ",sans-serif !important; }
  #headquarters.task .images {
    float: none !important;
    margin: 0; }
    #headquarters.task .images img {
      width: 100% !important;
      height: auto !important; }
  #headquarters.task section:last-of-type {
    margin-bottom: 0 !important; }
  /* !!------------------------------------ */
  /* !! 新卒採用 */
  div[id^="recruiting-recruitment0"] {
    padding: 0 !important;
    /* !!------------------------------------ */
    /* !! 応募要項 */ }
    div[id^="recruiting-recruitment0"] .wrap h1.title-oubo {
      background: none !important;
      color: #0F6EB5 !important;
      padding: 0 !important;
      margin: 0 !important;
      width: 100%;
      padding-top: 8.1vw !important; }
    div[id^="recruiting-recruitment0"] .wrap .main-image img {
      height: auto; }
    div[id^="recruiting-recruitment0"] .wrap .recruitment-lead strong {
      font-size: 16px; }
    div[id^="recruiting-recruitment0"] .wrap .recruitment-lead p {
      font-size: 14px; }
    div[id^="recruiting-recruitment0"] .wrap section > dl dt:not(.hd) {
      margin-top: 10px !important;
      display: inline-block;
      padding: 0 !important;
      text-align: center;
      white-space: nowrap;
      line-height: 30px;
      border: 2px solid #006cb8;
      color: #006cb8;
      margin: 0 0 10px;
      font-size: 1.1em;
      width: 120px;
      font-weight: bold !important; }
      div[id^="recruiting-recruitment0"] .wrap section > dl dt:not(.hd) + dd {
        margin-top: .8em !important; }
    div[id^="recruiting-recruitment0"] .wrap div.topics {
      position: relative;
      margin: 15px !important;
      width: auto !important;
      height: auto !important;
      padding-top: 30px !important; }
      div[id^="recruiting-recruitment0"] .wrap div.topics section {
        display: block !important;
        margin-bottom: 0 !important; }
      div[id^="recruiting-recruitment0"] .wrap div.topics h1 {
        position: absolute !important;
        top: 0;
        left: 0;
        width: 100% !important;
        float: none;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        background: #0F6EB5;
        text-align: center;
        padding: 3px;
        color: #fff;
        height: 30px;
        line-height: 30px; }
      div[id^="recruiting-recruitment0"] .wrap div.topics ul {
        height: 200px !important;
        display: block !important;
        padding: 10px;
        overflow: scroll;
        width: auto !important; }
      div[id^="recruiting-recruitment0"] .wrap div.topics dt, div[id^="recruiting-recruitment0"] .wrap div.topics dd {
        display: block !important;
        width: 100% !important; }
    div[id^="recruiting-recruitment0"] p.entry-nav {
      margin: 0 !important; }
      div[id^="recruiting-recruitment0"] p.entry-nav img {
        width: 100% !important;
        height: auto !important; }
      div[id^="recruiting-recruitment0"] p.entry-nav a {
        margin-top: 15px !important;
        display: block; }
      div[id^="recruiting-recruitment0"] p.entry-nav .note {
        text-align: justify;
        border: 1px dashed #0F6EB5;
        padding: 15px; }
    div[id^="recruiting-recruitment0"] section[id^="section"] h1, div[id^="recruiting-recruitment0"] section[id^="section"] dt.hd, div[id^="recruiting-recruitment0"] .guide-inquiry h1, div[id^="recruiting-recruitment0"] .guide-inquiry dt.hd, div[id^="recruiting-recruitment0"] .apply-guide h1, div[id^="recruiting-recruitment0"] .apply-guide dt.hd {
      margin-left: -5.4vw !important;
      background: #E1EEF5;
      width: 100vw;
      color: #0F6EB5;
      padding: 10px 5.4vw !important;
      font-size: 20px;
      line-height: 100%;
      font-weight: bold; }
      div[id^="recruiting-recruitment0"] section[id^="section"] h1 p, div[id^="recruiting-recruitment0"] section[id^="section"] dt.hd p, div[id^="recruiting-recruitment0"] .guide-inquiry h1 p, div[id^="recruiting-recruitment0"] .guide-inquiry dt.hd p, div[id^="recruiting-recruitment0"] .apply-guide h1 p, div[id^="recruiting-recruitment0"] .apply-guide dt.hd p {
        margin: 0 !important;
        color: #0F6EB5 !important;
        line-height: 100%;
        font-size: 20px; }
    div[id^="recruiting-recruitment0"] section[id^="section"] .inquiry h1, div[id^="recruiting-recruitment0"] .guide-inquiry .inquiry h1, div[id^="recruiting-recruitment0"] .apply-guide .inquiry h1 {
      width: 100% !important;
      margin: 0 !important;
      text-align: center; }
    div[id^="recruiting-recruitment0"] section[id^="section"] .label, div[id^="recruiting-recruitment0"] .guide-inquiry .label, div[id^="recruiting-recruitment0"] .apply-guide .label {
      margin-top: 30px; }
    div[id^="recruiting-recruitment0"] section[id^="section"] ul.saiyou li, div[id^="recruiting-recruitment0"] .guide-inquiry ul.saiyou li, div[id^="recruiting-recruitment0"] .apply-guide ul.saiyou li {
      margin-bottom: 1em !important; }
      div[id^="recruiting-recruitment0"] section[id^="section"] ul.saiyou li span, div[id^="recruiting-recruitment0"] .guide-inquiry ul.saiyou li span, div[id^="recruiting-recruitment0"] .apply-guide ul.saiyou li span {
        font-weight: bold; }
      div[id^="recruiting-recruitment0"] section[id^="section"] ul.saiyou li div, div[id^="recruiting-recruitment0"] .guide-inquiry ul.saiyou li div, div[id^="recruiting-recruitment0"] .apply-guide ul.saiyou li div {
        position: relative;
        padding: 8px;
        padding: 6px 15px;
        font-size: 13px; }
        div[id^="recruiting-recruitment0"] section[id^="section"] ul.saiyou li div:before, div[id^="recruiting-recruitment0"] .guide-inquiry ul.saiyou li div:before, div[id^="recruiting-recruitment0"] .apply-guide ul.saiyou li div:before {
          content: "";
          position: absolute;
          top: 0;
          left: 0;
          border: 1px solid #666;
          border-right-width: 0;
          height: 100%;
          width: 8px; }
        div[id^="recruiting-recruitment0"] section[id^="section"] ul.saiyou li div:after, div[id^="recruiting-recruitment0"] .guide-inquiry ul.saiyou li div:after, div[id^="recruiting-recruitment0"] .apply-guide ul.saiyou li div:after {
          content: "";
          position: absolute;
          top: 0;
          right: 0;
          border: 1px solid #666;
          border-left-width: 0;
          height: 100%;
          width: 8px; }
        div[id^="recruiting-recruitment0"] section[id^="section"] ul.saiyou li div:before, div[id^="recruiting-recruitment0"] section[id^="section"] ul.saiyou li div:after, div[id^="recruiting-recruitment0"] .guide-inquiry ul.saiyou li div:before, div[id^="recruiting-recruitment0"] .guide-inquiry ul.saiyou li div:after, div[id^="recruiting-recruitment0"] .apply-guide ul.saiyou li div:before, div[id^="recruiting-recruitment0"] .apply-guide ul.saiyou li div:after {
          border-color: #888; }
    div[id^="recruiting-recruitment0"] section[id^="section"] ul.kinmuchi li, div[id^="recruiting-recruitment0"] .guide-inquiry ul.kinmuchi li, div[id^="recruiting-recruitment0"] .apply-guide ul.kinmuchi li {
      margin-bottom: 1em !important; }
      div[id^="recruiting-recruitment0"] section[id^="section"] ul.kinmuchi li span, div[id^="recruiting-recruitment0"] .guide-inquiry ul.kinmuchi li span, div[id^="recruiting-recruitment0"] .apply-guide ul.kinmuchi li span {
        font-weight: bold; }
    div[id^="recruiting-recruitment0"] section[id^="section"] ul.taiguu li, div[id^="recruiting-recruitment0"] .guide-inquiry ul.taiguu li, div[id^="recruiting-recruitment0"] .apply-guide ul.taiguu li {
      margin-bottom: 1em !important; }
      div[id^="recruiting-recruitment0"] section[id^="section"] ul.taiguu li span, div[id^="recruiting-recruitment0"] .guide-inquiry ul.taiguu li span, div[id^="recruiting-recruitment0"] .apply-guide ul.taiguu li span {
        font-weight: bold; }
    div[id^="recruiting-recruitment0"] section[id^="section"] > p, div[id^="recruiting-recruitment0"] .guide-inquiry > p, div[id^="recruiting-recruitment0"] .apply-guide > p {
      margin: 15px 0;
      text-align: justify; }
      div[id^="recruiting-recruitment0"] section[id^="section"] > p > b, div[id^="recruiting-recruitment0"] .guide-inquiry > p > b, div[id^="recruiting-recruitment0"] .apply-guide > p > b {
        font-size: 15px; }
    div[id^="recruiting-recruitment0"] section[id^="section"] > br, div[id^="recruiting-recruitment0"] .guide-inquiry > br, div[id^="recruiting-recruitment0"] .apply-guide > br {
      display: block; }
    div[id^="recruiting-recruitment0"] section[id^="section"] > dl dt, div[id^="recruiting-recruitment0"] section[id^="section"] > dl dd, div[id^="recruiting-recruitment0"] .guide-inquiry > dl dt, div[id^="recruiting-recruitment0"] .guide-inquiry > dl dd, div[id^="recruiting-recruitment0"] .apply-guide > dl dt, div[id^="recruiting-recruitment0"] .apply-guide > dl dd {
      margin: 5.4vw 0 0 0 !important; }
      div[id^="recruiting-recruitment0"] section[id^="section"] > dl dt span, div[id^="recruiting-recruitment0"] section[id^="section"] > dl dd span, div[id^="recruiting-recruitment0"] .guide-inquiry > dl dt span, div[id^="recruiting-recruitment0"] .guide-inquiry > dl dd span, div[id^="recruiting-recruitment0"] .apply-guide > dl dt span, div[id^="recruiting-recruitment0"] .apply-guide > dl dd span {
        display: block !important;
        width: auto !important;
        margin-top: 1em;
        height: auto !important; }
        div[id^="recruiting-recruitment0"] section[id^="section"] > dl dt span:first-child, div[id^="recruiting-recruitment0"] section[id^="section"] > dl dd span:first-child, div[id^="recruiting-recruitment0"] .guide-inquiry > dl dt span:first-child, div[id^="recruiting-recruitment0"] .guide-inquiry > dl dd span:first-child, div[id^="recruiting-recruitment0"] .apply-guide > dl dt span:first-child, div[id^="recruiting-recruitment0"] .apply-guide > dl dd span:first-child {
          margin-top: 0 !important; }
      div[id^="recruiting-recruitment0"] section[id^="section"] > dl dt br, div[id^="recruiting-recruitment0"] section[id^="section"] > dl dd br, div[id^="recruiting-recruitment0"] .guide-inquiry > dl dt br, div[id^="recruiting-recruitment0"] .guide-inquiry > dl dd br, div[id^="recruiting-recruitment0"] .apply-guide > dl dt br, div[id^="recruiting-recruitment0"] .apply-guide > dl dd br {
        display: none; }
    div[id^="recruiting-recruitment0"] section[id^="section"] > dl dd, div[id^="recruiting-recruitment0"] .guide-inquiry > dl dd, div[id^="recruiting-recruitment0"] .apply-guide > dl dd {
      overflow: hidden !important; }
      div[id^="recruiting-recruitment0"] section[id^="section"] > dl dd p b, div[id^="recruiting-recruitment0"] .guide-inquiry > dl dd p b, div[id^="recruiting-recruitment0"] .apply-guide > dl dd p b {
        display: block; }
      div[id^="recruiting-recruitment0"] section[id^="section"] > dl dd > .address, div[id^="recruiting-recruitment0"] section[id^="section"] > dl dd .entry-nav, div[id^="recruiting-recruitment0"] .guide-inquiry > dl dd > .address, div[id^="recruiting-recruitment0"] .guide-inquiry > dl dd .entry-nav, div[id^="recruiting-recruitment0"] .apply-guide > dl dd > .address, div[id^="recruiting-recruitment0"] .apply-guide > dl dd .entry-nav {
        margin-left: 0;
        margin-right: 0; }
    div[id^="recruiting-recruitment0"] div.address {
      margin: 15px;
      width: auto !important;
      font-size: 13px; }
    div[id^="recruiting-recruitment0"] dd > table {
      width: 100% !important;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      padding: 10px !important;
      overflow: hidden;
      margin: 0 !important;
      display: block !important; }
      div[id^="recruiting-recruitment0"] dd > table th {
        padding: 5px 10px !important; }
      div[id^="recruiting-recruitment0"] dd > table tr {
        display: block; }
      div[id^="recruiting-recruitment0"] dd > table td {
        display: inline-block;
        width: 50%;
        font-size: 13px !important; }
    div[id^="recruiting-recruitment0"] body.guideline {
      padding-top: 50px !important; }
      div[id^="recruiting-recruitment0"] body.guideline #recruiting-recruitment01 {
        padding-top: 0 !important; }
      div[id^="recruiting-recruitment0"] body.guideline #section1 {
        margin-top: 0 !important; }
      div[id^="recruiting-recruitment0"] body.guideline table.type {
        display: table !important; }
        div[id^="recruiting-recruitment0"] body.guideline table.type tbody {
          display: table-row-group !important; }
        div[id^="recruiting-recruitment0"] body.guideline table.type thead {
          display: table-header-group !important; }
          div[id^="recruiting-recruitment0"] body.guideline table.type thead th {
            white-space: nowrap !important;
            min-width: 100px !important; }
          div[id^="recruiting-recruitment0"] body.guideline table.type thead tr {
            display: table-row !important; }
    div[id^="recruiting-recruitment0"] section.guide-inquiry {
      margin: 0 !important;
      width: auto !important; }
      div[id^="recruiting-recruitment0"] section.guide-inquiry > h1 {
        background: #0F6EB5 !important; }
      div[id^="recruiting-recruitment0"] section.guide-inquiry h1 {
        text-align: center;
        color: #fff !important;
        font-size: 15px !important;
        background: #E1EEF5;
        padding: 0 !important; }
        div[id^="recruiting-recruitment0"] section.guide-inquiry h1 span {
          font-size: 1em !important; }
      div[id^="recruiting-recruitment0"] section.guide-inquiry h1 + p {
        text-align: right !important;
        display: block;
        float: none !important; }
      div[id^="recruiting-recruitment0"] section.guide-inquiry .captions {
        line-height: 160%; }
      div[id^="recruiting-recruitment0"] section.guide-inquiry .inquiry {
        margin-bottom: 0 !important; }
      div[id^="recruiting-recruitment0"] section.guide-inquiry .inquiry-detail dl {
        padding-left: 4em;
        position: relative; }
        div[id^="recruiting-recruitment0"] section.guide-inquiry .inquiry-detail dl dt {
          position: absolute;
          top: 0;
          left: 0;
          font-weight: bold; }
  /* !!------------------------------------ */
  /* !! 中途作用 */
  p font br {
    display: none; }
  p font span {
    display: block;
    margin-top: 1em; }
  div.entry-button {
    margin: 10px 0;
    text-align: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    div.entry-button a {
      display: inline-block;
      margin-bottom: 10px;
      width: calc(50% - 10px);
      float: none; }
      div.entry-button a img {
        width: 100% !important;
        height: auto !important;
        margin: 0 !important; }
    div.entry-button + center {
      margin: 0 !important;
      margin: 15px !important; }
      div.entry-button + center .main-image {
        width: 100% !important;
        height: auto !important; }
    div.entry-button.col1 a {
      display: block;
      margin-bottom: 10px;
      width: 100%;
      padding: 5px !important;
      float: none; }
      div.entry-button.col1 a img {
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        max-width: 1000px !important; }
  center {
    margin: 0 !important; }
    center .main-image {
      margin: 0 !important;
      width: 100% !important;
      height: auto !important; }
  section#youkou > h1 {
    margin: 0 !important;
    background: #E1EEF5;
    color: #0F6EB5;
    padding: 10px !important;
    font-size: 16px;
    line-height: 100%;
    font-size: 20px !important; }
    section#youkou > h1 p {
      margin: 0 !important;
      color: #0F6EB5 !important;
      line-height: 100%;
      font-size: 16px; }
  section#youkou dl {
    margin: 0px; }
  section#youkou table.treatment {
    display: block;
    border: none !important;
    padding: 0 !important; }
    section#youkou table.treatment tr, section#youkou table.treatment th, section#youkou table.treatment td {
      display: block !important;
      border: none !important; }
    section#youkou table.treatment tr {
      border: 1px solid #0F6EB5 !important;
      height: auto !important;
      overflow: hidden !important;
      margin-bottom: 10px; }
    section#youkou table.treatment th {
      display: block;
      line-height: 30px;
      height: auto !important;
      text-align: center;
      font-size: 15px;
      color: #0F6EB5; }
    section#youkou table.treatment td {
      width: auto !important; }
      section#youkou table.treatment td li {
        margin-bottom: 5px; }
  section#youkou section.about-employment {
    border-bottom: 0 !important;
    margin: 0 !important; }
    section#youkou section.about-employment dl, section#youkou section.about-employment dt, section#youkou section.about-employment dd, section#youkou section.about-employment p, section#youkou section.about-employment span {
      margin-left: 0 !important;
      margin-right: 0 !important;
      text-indent: 0 !important; }
    section#youkou section.about-employment > dt {
      margin-left: 15px !important; }
      section#youkou section.about-employment > dt + p {
        margin-left: 15px !important;
        margin-right: 15px !important; }
  section#youkou .entry-button a {
    float: none !important; }
  body.guideline #recruiting-recruitment01 {
    padding-top: 0 !important; }
  body.guideline #section1 {
    margin-top: 0 !important; }
  body.guideline table.type {
    display: table !important; }
    body.guideline table.type tbody {
      display: table-row-group !important; }
    body.guideline table.type thead {
      display: table-header-group !important; }
    body.guideline table.type tr {
      display: table-row !important; }
    body.guideline table.type td, body.guideline table.type th {
      display: table-cell !important; }
  body.guideline .form_btn {
    margin: 0 !important;
    width: 100% !important;
    height: auto !important;
    font-size: 15px !important;
    font-weight: bold;
    margin-top: 10px !important; }
  /* !!------------------------------------ */
  /* !! 会社概要 */
  #profile.contents section {
    width: 100%; }
    #profile.contents section h1 {
      font-size: 18px; }
  #profile.contents h2.keiei-title {
    margin-bottom: 10px; }
  #profile.contents .notice-fl {
    margin-top: 0; }
  #profile.contents table.profile {
    table-layout: fixed;
    width: 100% !important; }
    #profile.contents table.profile tr > th {
      width: 80px !important; }
      #profile.contents table.profile tr > th span {
        width: 100%; }
    #profile.contents table.profile td {
      width: auto !important;
      padding: 10px !important; }
  #profile.contents section:last-of-type {
    margin-bottom: 0; }
  div#profile-inquiry * {
    float: none !important; }
  div#profile-inquiry .main-office {
    margin: 0 !important;
    overflow: visible !important;
    border: none !important; }
    div#profile-inquiry .main-office section {
      width: 100% !important;
      display: block;
      margin: 0 !important;
      overflow: visible !important;
      float: none !important; }
    div#profile-inquiry .main-office h1 {
      line-height: 32px;
      overflow: hidden;
      margin-left: -5.4vw !important;
      width: 100vw;
      background: #0F6EB5;
      font-size: 16px;
      padding-left: 5.4vw;
      color: #fff !important; }
    div#profile-inquiry .main-office .map {
      width: 100% !important; }
    div#profile-inquiry .main-office iframe {
      width: 100% !important;
      display: block; }
  div#profile-inquiry .inquiry {
    overflow: visible !important;
    margin: 0;
    margin-top: 8.1vw; }
    div#profile-inquiry .inquiry section {
      float: none !important;
      height: auto;
      width: 100%;
      font-size: 0; }
      div#profile-inquiry .inquiry section.fr {
        float: none !important; }
      div#profile-inquiry .inquiry section#juku {
        height: auto !important; }
        div#profile-inquiry .inquiry section#juku .float {
          width: 100% !important;
          margin: 0; }
      div#profile-inquiry .inquiry section h1 {
        line-height: 32px;
        margin-left: -5.4vw !important;
        width: 100vw;
        background: rgba(15, 110, 181, 0.1);
        font-size: 16px;
        padding-left: 5.4vw;
        color: #0F6EB5 !important;
        margin-bottom: 5.4vw; }
      div#profile-inquiry .inquiry section .float {
        display: inline-block !important;
        width: calc(50% - 10px) !important;
        vertical-align: top;
        margin: 20px 20px 20px 0; }
        div#profile-inquiry .inquiry section .float:nth-of-type(2n) {
          margin-right: 0; }
      div#profile-inquiry .inquiry section .link {
        width: 100%; }
      div#profile-inquiry .inquiry section p {
        font-size: 12px !important;
        font-size: 12px; }
        div#profile-inquiry .inquiry section p strong {
          font-size: 1.2em !important; }
  /* !! - - -  */
  /* !! 沿革 */
  #profile-history table.history {
    border: none;
    display: block;
    position: relative; }
    #profile-history table.history:after {
      content: "";
      width: 1px;
      height: 100%;
      background: #0F6EB5;
      position: absolute;
      left: 63px;
      top: 0;
      display: block;
      opacity: .4; }
    #profile-history table.history tbody, #profile-history table.history tr, #profile-history table.history th, #profile-history table.history td {
      display: block;
      border: none !important;
      position: relative; }
    #profile-history table.history thead {
      display: none; }
    #profile-history table.history tr {
      padding-left: 80px;
      margin-bottom: 10px; }
    #profile-history table.history td[rowspan], #profile-history table.history .y {
      position: absolute;
      left: 0;
      right: 0;
      font-family: 'Roboto Condensed', sans-serif !important;
      font-size: 20px;
      font-weight: bold;
      color: #0F6EB5;
      opacity: .6;
      letter-spacing: .1em;
      line-height: 1; }
    #profile-history table.history td {
      padding: 0px;
      font-size: 15px;
      font-weight: bold;
      line-height: 1.5; }
      #profile-history table.history td:last-of-type {
        margin: 5px 0;
        font-size: 12px;
        font-weight: normal;
        margin-bottom: 20px; }
  /* !! - - -  */
  /* !! 組織図 */
  #organization-map-zoom {
    overflow: hidden;
    height: auto;
    background: #fff !important;
    margin: 8.1vw 4.05vw;
    margin-top: 8.1vw;
    position: relative; }
    #organization-map-zoom:after {
      content: "";
      width: 100%;
      height: 100%;
      border: #eee;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 2;
      pointer-events: none; }
    #organization-map-zoom img {
      width: 100%;
      height: auto;
      z-index: 0; }
  /* !!------------------------------------ */
  /* !! 404 */
  ._404 {
    margin: 5.4vw; }
    ._404 .btn {
      border: 1px solid #ddd;
      display: block;
      color: #333;
      text-align: center;
      line-height: 36px;
      border-radius: 5px;
      text-decoration: none;
      width: 80%;
      margin: 20px auto; } }

/* !!------------------------------------ */
/* !! お問い合わせフォーム */
#page-form {
  padding-top: 0;
  padding: 0 !important; }

#wrapper.form {
  margin: 0 auto !important;
  width: 100% !important; }
  #wrapper.form h1 {
    margin: 0;
    text-align: center;
    color: #666; }
  #wrapper.form h2 {
    background: #E7F1F8;
    text-align: center;
    line-height: 30px;
    font-size: 20px;
    margin: 36px 0;
    margin-left: -20px;
    width: 100vw !important;
    text-align: center;
    max-width: 800px !important; }
  #wrapper.form #contents {
    padding: 20px; }
    #wrapper.form #contents br {
      display: none; }
  #wrapper.form p.lead {
    margin: 0;
    -webkit-transition: 0;
    -o-transition: 0;
    transition: 0; }
  #wrapper.form ul.tel li {
    display: block; }
    #wrapper.form ul.tel li a {
      text-align: center;
      line-height: 36px;
      display: block;
      border: 1px solid #0F6EB5;
      color: #0F6EB5;
      border-radius: 4px;
      font-weight: bold;
      margin-bottom: 15px;
      font-size: 16px; }
  #wrapper.form .caution {
    color: red; }
  #wrapper.form input[type=text] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: 5px;
    background: #efefef;
    line-height: 24px;
    width: auto;
    border: none !important;
    display: inline-block;
    width: 100% !important;
    font-size: 14px; }
  #wrapper.form select {
    display: block;
    width: 100%;
    line-height: 30px;
    font-size: 15px !important;
    height: 30px; }
  #wrapper.form textarea {
    width: 100% !important; }
  #wrapper.form table {
    min-width: 0;
    width: 100% !important;
    overflow: hidden; }
    #wrapper.form table th {
      width: 120px !important;
      text-align: left;
      background: #E7F1F8;
      padding: 10px;
      font-size: 12px; }
    #wrapper.form table td {
      padding: 10px;
      width: auto !important; }
  #wrapper.form label {
    display: block;
    position: relative;
    padding-left: 20px;
    margin-bottom: 15px; }
    #wrapper.form label:last-of-type {
      margin: 0; }
    #wrapper.form label input {
      position: absolute;
      left: 0;
      top: 3px; }
  #wrapper.form #button {
    text-align: center; }
    #wrapper.form #button input {
      font-size: 16px;
      display: block;
      margin: 20px auto;
      background: #0F6EB5;
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      border: none;
      color: #fff;
      border-radius: 8px;
      width: 200px;
      -webkit-box-shadow: none;
              box-shadow: none;
      line-height: 36px;
      font-weight: bold; }
    #wrapper.form #button .edit {
      background: #ccc; }
    #wrapper.form #button .caution {
      display: block; }
      #wrapper.form #button .caution br {
        display: block; }

@media screen and (min-width: 768px) {
  #page-form {
    padding-top: 0; }
  #wrapper.form {
    width: 800px !important; }
    #wrapper.form h1 {
      margin: 50px 0 !important; }
    #wrapper.form h2 {
      text-align: center;
      line-height: 50px;
      margin: 50px 0 !important;
      width: 100% !important; }
    #wrapper.form #contents {
      padding: 20px; }
      #wrapper.form #contents br {
        display: none; }
    #wrapper.form p.lead {
      margin: 20px 0;
      -webkit-transition: 0;
      -o-transition: 0;
      transition: 0; }
    #wrapper.form ul.tel {
      text-align: center; }
      #wrapper.form ul.tel li {
        width: 300px;
        display: inline-block !important; }
        #wrapper.form ul.tel li a {
          text-align: center;
          margin: 10px;
          line-height: 50px;
          display: block;
          border: 1px solid #0F6EB5;
          color: #0F6EB5;
          border-radius: 4px;
          font-weight: bold;
          margin-bottom: 15px;
          font-size: 28px; }
    #wrapper.form .caution {
      color: red; }
    #wrapper.form input[type=text] {
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      padding: 5px;
      background: #efefef;
      line-height: 24px;
      width: auto;
      border: none !important;
      display: inline-block;
      width: 100% !important;
      font-size: 14px; }
    #wrapper.form select {
      display: block;
      width: 100%;
      line-height: 30px;
      width: 300px;
      font-size: 15px !important;
      height: 30px; }
      #wrapper.form select option {
        font-size: 15px !important; }
    #wrapper.form textarea {
      width: 100% !important; }
    #wrapper.form table {
      border-collapse: collapse;
      min-width: 0;
      width: 100% !important;
      overflow: hidden; }
      #wrapper.form table th {
        width: 230px !important;
        text-align: left;
        background: #E7F1F8;
        padding: 10px;
        font-size: 14px;
        border: 1px solid  #ddd; }
      #wrapper.form table td {
        padding: 20px;
        width: auto !important;
        border: 1px solid  #ddd; }
        #wrapper.form table td.row1 {
          font-size: 0;
          white-space: nowrap; }
          #wrapper.form table td.row1 input[type=text] {
            display: inline-block;
            width: calc(50% - 10px) !important;
            margin-right: 20px; }
    #wrapper.form label {
      display: block;
      position: relative;
      padding-left: 20px;
      margin-bottom: 15px; }
      #wrapper.form label:last-of-type {
        margin: 0; }
      #wrapper.form label input {
        position: absolute;
        left: 0;
        top: 3px; }
    #wrapper.form #button {
      text-align: center;
      border: none !important; }
      #wrapper.form #button input {
        font-size: 16px;
        display: inline-block;
        margin: 20px 10px;
        background: #0F6EB5;
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        border: none;
        color: #fff;
        border-radius: 8px;
        width: 200px;
        -webkit-box-shadow: none;
                box-shadow: none;
        line-height: 36px;
        font-weight: bold; }
      #wrapper.form #button .caution {
        display: block; }
        #wrapper.form #button .caution br {
          display: block; } }

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