.work h2 {
  text-align: center; }
  .work h2 span {
    display: inline-block; }
.work .mainvisual {
  margin: 0 auto;
  width: 100%;
  min-height: 500px;
  position: relative;
  background: url(/recruit/img/bg_recruit.jpg) no-repeat;
  background-position: center;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden; }
  .work .mainvisual:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 1; }
  .work .mainvisual .descr {
    width: 60%;
    padding: 5%;
    z-index: 2;
    color: #fff; }
    .work .mainvisual .descr .inner h2 {
      margin: 0 0 30px;
      font-size: 24px; }
      .work .mainvisual .descr .inner h2 span {
        display: inline-block; }
    .work .mainvisual .descr .inner p + .btn-form {
      margin-top: 50px; }
    .work .mainvisual .descr .inner .btn-form {
      font-size: 18px;
      text-align: center; }
      .work .mainvisual .descr .inner .btn-form a {
        color: #fff;
        background: #08BBF2;
        margin-left: auto;
        margin-right: auto;
        display: block;
        width: 200px;
        height: 50px;
        line-height: 50px; }
  .work .mainvisual .outline {
    width: 40%;
    padding: 5%;
    z-index: 3;
    background: rgba(255, 255, 255, 0.8); }
    .work .mainvisual .outline .inner h2 {
      margin: 0 0 20px;
      font-size: 24px; }
    .work .mainvisual .outline .inner dl {
      overflow: hidden;
      margin: 0 0 15px;
      font-size: 16px;
      display: table; }
      .work .mainvisual .outline .inner dl dt, .work .mainvisual .outline .inner dl dd {
        display: table-cell;
        vertical-align: top;
        margin: 0; }
      .work .mainvisual .outline .inner dl dt span {
        padding: 3px 0;
        display: block;
        width: 107px;
        border: 1px solid #382218;
        text-align: center; }
      .work .mainvisual .outline .inner dl dd {
        padding: 4px 0 0 15px; }
.work .contents01 {
  background: #1f83bd url(/common/img/bg_thread.png) repeat;
  padding: 30px 0 40px;
  width: 100%;
  text-align: center; }
  .work .contents01 h2 {
    margin: 0 auto 30px;
    color: #fff;
    font-size: 24px; }
  .work .contents01 .wrapper {
    margin: 0 auto;
    max-width: 1160px;
    overflow: hidden;
    display: flex; }
    .work .contents01 .wrapper .inner {
      color: #fff;
      border-right: 1px solid #fff;
      padding: 0 25px; }
      .work .contents01 .wrapper .inner > span {
        font-size: 90px; }
      .work .contents01 .wrapper .inner h3 {
        font-size: 18px;
        margin: 10px 0 20px; }
        .work .contents01 .wrapper .inner h3 span {
          display: inline-block; }
      .work .contents01 .wrapper .inner p {
        font-size: 15px;
        text-align: left; }
      .work .contents01 .wrapper .inner:last-child {
        border-right: none; }
.work .appendage {
  margin: 50px 0;
  padding: 40px 0;
  background: #f3f3f3 url(/common/img/bg_thread.png) repeat; }
  .work .appendage h4 {
    margin: 0 auto 25px;
    font-size: 16px;
    text-align: center; }
  .work .appendage p {
    margin-left: auto;
    margin-right: auto;
    font-size: 14px;
    max-width: 1160px; }
.work .contents02 {
  margin: 0 0 50px;
  width: 100%; }
  .work .contents02 h2 {
    margin-bottom: 25px;
    font-size: 33px;
    line-height: 1.5; }
  .work .contents02 .inner {
    margin: 0 auto;
    width: 1160px; }
    .work .contents02 .inner dl {
      margin: 0 0 10px;
      overflow: hidden;
      background: #dadada; }
      .work .contents02 .inner dl dt, .work .contents02 .inner dl dd {
        padding: 10px 0 10px 20px; }
      .work .contents02 .inner dl dt {
        float: left;
        width: 22.55%; }
        .work .contents02 .inner dl dt h3 {
          box-sizing: border-box;
          float: left;
          font-size: 16px;
          line-height: 1.7;
          font-family: "Rounded Mplus 1c", meiryo, sans-serif;
          font-weight: normal;
          color: #382218;
          letter-spacing: .094em;
          font-feature-settings: 'palt' 1;
          font-kerning: auto;
          line-break: strict;
          padding: 0;
          margin: 0; }
      .work .contents02 .inner dl dd {
        margin: 0 0 0 22.55%;
        background-color: #f3f3f3; }
  .work .contents02 .btn-tel {
    margin-top: 30px; }
    .work .contents02 .btn-tel a {
      display: block;
      text-align: center;
      background: #08BBF2;
      color: #fff;
      font-size: 18px;
      width: 300px;
      margin-left: auto;
      margin-right: auto;
      padding: 5px 10px; }
      .work .contents02 .btn-tel a svg {
        margin-right: .5em; }
.work .contents03 {
  overflow: hidden; }
  .work .contents03 h2 {
    font-size: 33px;
    line-height: 1.5;
    margin-bottom: 0; }

@media (max-width: 1160px) {
  .appendage h4, .appendage p {
    width: 90%; } }
@media (min-width: 981px) {
  .work .mainvisual .outline {
    -webkit-clip-path: ellipse(farthest-side closest-side at 50% 50%);
    clip-path: ellipse(farthest-side closest-side at 50% 50%); } }
@media (min-width: 981px) and (max-width: 1160px) {
  .work .mainvisual .descr, .work .mainvisual .outline {
    width: 50%; } }
@media (max-width: 980px) {
  .work .mainvisual {
    flex-direction: column; }
    .work .mainvisual .descr, .work .mainvisual .outline {
      width: 100%; }
    .work .mainvisual .descr {
      font-size: 14px; }
  .work .contents01 h2 {
    margin-bottom: 0; }
  .work .contents01 .wrapper {
    flex-direction: column;
    width: 90%; }
    .work .contents01 .wrapper .inner {
      border-right: none;
      border-bottom: 1px solid #fff;
      padding: 30px 15px; }
      .work .contents01 .wrapper .inner:last-of-type {
        border-bottom: none; }
  .work .contents02 .inner {
    width: 90%; } }
@media (max-width: 600px) {
  .work section[class^="contents"] h2 {
    font-size: 24px;
    margin-left: 15px;
    margin-right: 15px; }
  .work .mainvisual .descr .inner h2 {
    margin-top: 30px; }
  .work .mainvisual .descr .inner p + .btn-form {
    margin: 30px auto; }
  .work .mainvisual .outline .inner dl {
    font-size: 14px; }
  .work .contents02 .inner dl dt {
    float: none;
    width: 100%; }
    .work .contents02 .inner dl dt h3 {
      box-sizing: border-box;
      width: 100%;
      float: none;
      font-size: 16px;
      line-height: 1.7;
      font-family: "Rounded Mplus 1c", meiryo, sans-serif;
      font-weight: normal;
      color: #382218;
      letter-spacing: .094em;
      font-feature-settings: 'palt' 1;
      font-kerning: auto;
      line-break: strict;
      padding: 0;
      margin: 0; }
  .work .contents02 .inner dl dd {
    margin-left: 0;
    padding: 10px; } }
