@charset "UTF-8";
* {
  box-sizing: border-box; }

html,
body {
  height: 100%;
  margin: 0; }

body {
  background-color: #fff;
  color: #222;
  font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  font-size: 14px;
  line-height: 1.6; }

a {
  color: #4277fb;
  text-decoration: none; }

select {
  -webkit-appearance: none;
  background: url("/resources/images/down_arrow_gray_fill.svg") no-repeat scroll right 5px center transparent;
  border: 0;
  height: auto;
  padding: 0; }

.fixed {
  position: fixed;
  z-index: 1; }
  .fixed.bottom {
    bottom: 0; }
  .fixed.fill-horizontal {
    left: 0;
    right: 0; }

.circle-icon, .infeed-cell .cell-header .header-icon, .infeed-cell .cover-content .band-icon {
  border-radius: 9px;
  height: 18px;
  padding-top: 4px;
  text-align: center;
  width: 18px; }
  .circle-icon .material-icons, .infeed-cell .cell-header .header-icon .material-icons, .infeed-cell .cover-content .band-icon .material-icons {
    display: block;
    font-size: 10px; }

.section-header {
  border-bottom: 1px solid #eaeaea;
  padding: 12px; }
  .section-header::after {
    clear: both;
    content: '';
    display: block; }
  .section-header .section-icon {
    background-image: url("/resources/images/company_icon.png");
    background-size: contain;
    float: left;
    height: 16px;
    margin-right: 8px;
    width: 16px; }
  .section-header .section-title {
    float: left;
    font-weight: bold;
    line-height: 16px; }

.bulk-input-form {
  height: auto; }
  .bulk-input-form .form-header {
    padding: 10px; }
    .bulk-input-form .form-header .close {
      background-image: url("/resources/images/icon_close.svg");
      background-size: contain;
      float: right;
      height: 16px;
      width: 16px; }
    .bulk-input-form .form-header::after {
      clear: both;
      content: '';
      display: block; }
  .bulk-input-form .form-content {
    padding: 15px; }
    .bulk-input-form .form-content .title {
      font-size: 17.5px;
      font-weight: bold;
      margin: 15px 0 30px;
      text-align: center;
      white-space: pre-wrap; }
    .bulk-input-form .form-content .required-item-message {
      color: #de3535;
      padding-top: 16px; }
  .bulk-input-form a {
    border-bottom: 1px solid #146af5;
    color: #146af5; }
    .bulk-input-form a:hover {
      border-bottom: 1px solid #0032ca;
      color: #0032ca; }
  .bulk-input-form button {
    border: 0;
    border-radius: 4px;
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    font-size: 14px;
    font-weight: bold;
    margin: 15px 0 32px;
    max-width: 100%;
    outline: 0;
    padding: 14px;
    text-align: center;
    text-decoration: none;
    width: 100%; }
    .bulk-input-form button.form-submit {
      background-color: #146af5;
      color: #fff; }
      .bulk-input-form button.form-submit.inactive {
        background-color: #999;
        color: #eaeaea; }
        .bulk-input-form button.form-submit.inactive:hover {
          cursor: wait; }
      .bulk-input-form button.form-submit:not(.inactive):enabled:hover {
        background-color: #0032ca; }
    .bulk-input-form button.form-cancel {
      background-color: #eaeaea;
      color: #222; }
  .bulk-input-form .errors {
    background: #fff0f0;
    border: 0;
    border-radius: 4px;
    display: flex;
    line-height: 150%;
    margin: 24px 0 32px;
    padding: 12px 16px;
    position: relative;
    width: 100%; }
    .bulk-input-form .errors .error-icon {
      background-image: url("/resources/images/icon_alert.svg");
      background-repeat: no-repeat;
      background-size: contain;
      display: inline-block;
      margin-right: 8px;
      min-height: 24px;
      min-width: 24px; }
    .bulk-input-form .errors .error-title {
      color: #222;
      font-size: 16px;
      font-weight: bold;
      padding-bottom: 4px; }
    .bulk-input-form .errors .error-message {
      color: rgba(34, 34, 34, 0.7);
      font-size: 14px;
      font-weight: 400;
      overflow-wrap: break-word;
      white-space: pre-wrap; }
  .bulk-input-form form .form-group {
    margin: 20px 0; }
    .bulk-input-form form .form-group label {
      color: #222;
      display: block;
      font-size: 14px;
      font-weight: bold;
      margin-bottom: 8px; }
      .bulk-input-form form .form-group label.label-text {
        align-items: center;
        display: flex;
        line-height: 150%; }
      .bulk-input-form form .form-group label .required-marker {
        color: #de3535;
        padding-left: 4px; }
      .bulk-input-form form .form-group label:has(input[type='checkbox']:hover), .bulk-input-form form .form-group label:has(input[type='checkbox']:focus) {
        background: #f5f5f5; }
      .bulk-input-form form .form-group label:has(input[type='checkbox']:checked:hover), .bulk-input-form form .form-group label:has(input[type='checkbox']:checked:focus) {
        background: #d6e6ff; }
      .bulk-input-form form .form-group label:has(input[type='radio']), .bulk-input-form form .form-group label:has(input[type='checkbox']) {
        cursor: pointer;
        font-weight: normal;
        margin: 4px 0;
        padding: 12px; }
      .bulk-input-form form .form-group label:has(input[type='checkbox']) {
        border: 1px solid rgba(34, 34, 34, 0.12);
        border-radius: 4px;
        font-weight: bold; }
      .bulk-input-form form .form-group label:has(input[type='radio']:hover)::before, .bulk-input-form form .form-group label:has(input[type='radio']:focus)::before {
        background: #f5f5f5;
        border: 0;
        border-radius: 50%;
        content: '';
        height: 24px;
        margin-left: -4px;
        margin-top: -1px;
        position: absolute;
        width: 24px; }
    .bulk-input-form form .form-group input,
    .bulk-input-form form .form-group select,
    .bulk-input-form form .form-group textarea {
      border: 1px solid rgba(34, 34, 34, 0.12);
      border-radius: 4px;
      box-shadow: none;
      font-size: 16px;
      outline: 0;
      width: 100%; }
      .bulk-input-form form .form-group input:hover,
      .bulk-input-form form .form-group select:hover,
      .bulk-input-form form .form-group textarea:hover {
        border-color: rgba(34, 34, 34, 0.24); }
      .bulk-input-form form .form-group input:not(input[type='checkbox']):focus,
      .bulk-input-form form .form-group select:not(input[type='checkbox']):focus,
      .bulk-input-form form .form-group textarea:not(input[type='checkbox']):focus {
        border-color: #146af5; }
      .bulk-input-form form .form-group input:not(input[type='checkbox']):not(input[type='radio']),
      .bulk-input-form form .form-group select:not(input[type='checkbox']):not(input[type='radio']),
      .bulk-input-form form .form-group textarea:not(input[type='checkbox']):not(input[type='radio']) {
        padding: 12px; }
        .bulk-input-form form .form-group input:not(input[type='checkbox']):not(input[type='radio']).invalid,
        .bulk-input-form form .form-group select:not(input[type='checkbox']):not(input[type='radio']).invalid,
        .bulk-input-form form .form-group textarea:not(input[type='checkbox']):not(input[type='radio']).invalid {
          border-color: #de3535; }
      .bulk-input-form form .form-group input::placeholder,
      .bulk-input-form form .form-group select::placeholder,
      .bulk-input-form form .form-group textarea::placeholder {
        color: #a3a3a3; }
    .bulk-input-form form .form-group input[type='radio'], .bulk-input-form form .form-group input[type='checkbox'] {
      accent-color: #146af5;
      cursor: pointer;
      display: inline-block;
      height: 16px;
      margin-right: 10px;
      margin-top: -4px;
      vertical-align: middle;
      width: 16px; }
      .bulk-input-form form .form-group input[type='radio']:not(:checked), .bulk-input-form form .form-group input[type='checkbox']:not(:checked) {
        appearance: none;
        padding: 0; }
      .bulk-input-form form .form-group input[type='radio']:hover, .bulk-input-form form .form-group input[type='radio']:focus, .bulk-input-form form .form-group input[type='checkbox']:hover, .bulk-input-form form .form-group input[type='checkbox']:focus {
        position: relative; }
    .bulk-input-form form .form-group input[type='checkbox'] {
      border-radius: 2px; }
    .bulk-input-form form .form-group input[type='radio'] {
      border-radius: 16px; }
    .bulk-input-form form .form-group select {
      appearance: none;
      background: url("/resources/images/down_arrow_black_fill.svg") no-repeat scroll right 12px center transparent;
      color: #222;
      height: auto;
      margin-bottom: 8px; }
    .bulk-input-form form .form-group textarea {
      height: 5.8em;
      line-height: 1.6;
      padding: .5em;
      resize: none; }
    .bulk-input-form form .form-group .description {
      color: rgba(34, 34, 34, 0.7);
      margin-bottom: 8px;
      overflow-wrap: break-word;
      white-space: pre-wrap; }
    .bulk-input-form form .form-group .error {
      color: #de3535;
      display: none;
      margin-top: 8px; }
    .bulk-input-form form .form-group:has(input.invalid) .error, .bulk-input-form form .form-group:has(select.invalid) .error, .bulk-input-form form .form-group:has(textarea.invalid) .error {
      display: inline-block; }
  .bulk-input-form .hidden {
    display: none; }

.multi-step-form {
  position: relative; }
  .multi-step-form .progress {
    border-bottom: 1px solid #edeeef;
    display: table;
    left: 0;
    position: fixed;
    right: 0;
    table-layout: fixed;
    top: 0;
    width: 100%;
    z-index: 1; }
    .multi-step-form .progress .step {
      background: #fff;
      border-right: 1px solid #edeeef;
      display: table-cell;
      height: 10px; }
      .multi-step-form .progress .step:last-child {
        border-right: 0; }
      .multi-step-form .progress .step.done {
        background: #4277fb; }
      .multi-step-form .progress .step.current {
        background: #dadbdd; }
  .multi-step-form .step-title {
    font-weight: bold;
    margin: 0 24px 32px; }
  .multi-step-form .confirm .step-title {
    font-size: 20px; }
  .multi-step-form .step-content .step-title {
    font-size: 16px; }
  .multi-step-form [data-type='select'] .step-title {
    margin-bottom: 0; }
  .multi-step-form input,
  .multi-step-form textarea {
    border: 1px solid transparent;
    outline: 0;
    padding: 0;
    width: 100%; }
    .multi-step-form input.has-error,
    .multi-step-form textarea.has-error {
      border: 1px solid #f66; }
  .multi-step-form select {
    background-color: #fff;
    border-radius: 0;
    height: 64px;
    outline: 0;
    padding: 4px 24px;
    width: 100%; }
    .multi-step-form select.has-error {
      border: 1px solid #f66; }
  .multi-step-form textarea {
    height: 7.4em;
    line-height: 1.6;
    padding: .5em;
    resize: none; }
  .multi-step-form .form-step {
    background: #eaeaea;
    bottom: 0;
    display: none;
    position: absolute;
    top: 10px;
    width: 100%; }
    .multi-step-form .form-step.current {
      display: block; }
    .multi-step-form .form-step .step-description {
      font-size: 16px;
      font-weight: bold;
      margin: 0 24px 24px; }
    .multi-step-form .form-step .step-content-container {
      display: none;
      min-height: 156px;
      width: 100%; }
      .multi-step-form .form-step .step-content-container .step-content {
        display: table-cell;
        vertical-align: middle; }
        .multi-step-form .form-step .step-content-container .step-content .errors {
          color: #f66;
          padding: 0 16px; }
      .multi-step-form .form-step .step-content-container input[type='text'],
      .multi-step-form .form-step .step-content-container input[type='email'] {
        font-size: 16px;
        height: 64px;
        padding: 6px 16px; }
      .multi-step-form .form-step .step-content-container.computed {
        display: table; }
    .multi-step-form .form-step .buttons {
      -webkit-overflow-scrolling: touch;
      overflow: auto; }
      .multi-step-form .form-step .buttons .step-button {
        background: #fff url("/resources/images/icon_next.svg") no-repeat right 8px center;
        border-top: 1px solid #edeeef;
        color: #999;
        line-height: 1;
        padding: 16px 0;
        position: relative;
        text-align: center; }
        .multi-step-form .form-step .buttons .step-button span {
          pointer-events: none; }
        .multi-step-form .form-step .buttons .step-button.emphasis {
          height: 80px;
          line-height: 80px;
          padding: 0; }
  .multi-step-form .confirm {
    -webkit-overflow-scrolling: touch;
    background: #eaeaea;
    display: none;
    overflow: auto;
    position: relative;
    z-index: 2; }
    .multi-step-form .confirm.show {
      display: block; }
    .multi-step-form .confirm .step-title {
      margin-top: 32px; }
    .multi-step-form .confirm .step-description {
      color: #222;
      font-size: 16px;
      margin: 24px; }
    .multi-step-form .confirm .submit-container {
      background: #fff; }
    .multi-step-form .confirm .submit-button-container {
      position: relative; }
      .multi-step-form .confirm .submit-button-container .cover {
        display: none; }
      .multi-step-form .confirm .submit-button-container.inactive .cover {
        background-color: rgba(96, 96, 96, 0.6);
        border: 0;
        border-radius: 4px;
        display: block;
        height: 48px;
        left: 0;
        margin: 4px;
        position: absolute;
        width: calc(100% - 8px); }
        .multi-step-form .confirm .submit-button-container.inactive .cover:hover {
          cursor: wait; }
      .multi-step-form .confirm .submit-button-container .form-submit {
        background: #57a82f;
        border: 0;
        border-radius: 4px;
        color: #fff;
        margin: 4px;
        padding: 16px 0;
        width: calc(100% - 8px); }
    .multi-step-form .confirm .leaflet-item {
      background: #fff;
      border-radius: 2px;
      margin-bottom: 16px; }
      .multi-step-form .confirm .leaflet-item h4 {
        border-bottom: 1px solid #edeeef;
        color: #04285d;
        font-size: 10px;
        margin: 0;
        padding: 12px 20px; }
      .multi-step-form .confirm .leaflet-item table {
        width: 100%; }
      .multi-step-form .confirm .leaflet-item th {
        color: #777f97;
        font-size: 10px;
        padding: 10px 20px;
        width: 60px; }
      .multi-step-form .confirm .leaflet-item td {
        color: #222;
        font-size: 16px; }
    .multi-step-form .confirm .values {
      margin-bottom: 120px; }
    .multi-step-form .confirm .block {
      margin-bottom: 16px; }
      .multi-step-form .confirm .block .block-title {
        color: #222;
        font-size: 12px;
        margin: 24px 0 12px 12px; }
      .multi-step-form .confirm .block .grouped input {
        padding-left: 0;
        padding-right: 0; }
      .multi-step-form .confirm .block:not(.grouped) .field-name {
        display: none; }
      .multi-step-form .confirm .block:not(.grouped) .field-value {
        padding-left: 12px;
        padding-right: 12px; }
    .multi-step-form .confirm .block-field {
      background: #fff;
      border-bottom: 1px solid #edeeef;
      display: table;
      height: 48px;
      table-layout: fixed;
      width: 100%; }
      .multi-step-form .confirm .block-field .field-name,
      .multi-step-form .confirm .block-field .field-value {
        display: table-cell;
        vertical-align: middle; }
      .multi-step-form .confirm .block-field .field-name {
        color: #999;
        font-size: 10px;
        padding-left: 8px;
        width: 96px; }
      .multi-step-form .confirm .block-field:last-child {
        border-bottom: 0; }
      .multi-step-form .confirm .block-field select {
        height: auto;
        padding: 0; }
      .multi-step-form .confirm .block-field.has-error {
        background: #fee; }
        .multi-step-form .confirm .block-field.has-error input,
        .multi-step-form .confirm .block-field.has-error select {
          background-color: transparent; }
    .multi-step-form .confirm .notice {
      background: #eaeaea;
      color: #999;
      font-size: 10px;
      padding: 8px 16px; }
    .multi-step-form .confirm .errors {
      color: #f66;
      padding: 0 12px; }

.company-profile .block {
  padding: 16px; }

.company-profile .block-title {
  color: #04285d;
  font-size: 22px;
  margin-bottom: 24px; }

.company-profile .block-image {
  margin-bottom: 16px;
  position: relative; }
  .company-profile .block-image::before {
    content: '';
    display: block;
    padding-top: 45%; }
  .company-profile .block-image .image-content {
    background: #eaeaea center no-repeat;
    background-size: cover;
    border-radius: 4px;
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0; }

.company-profile .block-content {
  border-bottom: 1px solid #edeeef;
  line-height: 1.8;
  padding-bottom: 24px; }

.company-profile .block:last-child {
  padding-bottom: 0; }
  .company-profile .block:last-child .block-content {
    border: 0; }

.company-overview .block {
  border-bottom: 1px solid #edeeef;
  padding: 24px; }

.company-overview .block-title {
  color: #04285d;
  font-weight: bold; }

.infeed-cell {
  height: auto; }
  .infeed-cell .cell-header {
    border-bottom: 1px solid #edeeef;
    padding: 8px 16px; }
    .infeed-cell .cell-header .header-icon {
      background: #3e5dbb;
      color: #fff;
      float: left;
      margin-right: 8px; }
    .infeed-cell .cell-header .header-title {
      line-height: 1;
      margin-top: 2px; }
    .infeed-cell .cell-header::after {
      clear: both;
      content: '';
      display: block; }
  .infeed-cell .cover {
    display: block;
    margin: 16px; }
  .infeed-cell .cover-content {
    border-radius: 5px;
    position: relative;
    width: 100%; }
    .infeed-cell .cover-content::before {
      content: '';
      display: block;
      padding-top: 40%; }
    .infeed-cell .cover-content .cover-image {
      background-position: center;
      background-size: cover;
      border-radius: 5px;
      bottom: 0;
      box-shadow: 0 0 4px 2px #ccc;
      left: 0;
      position: absolute;
      right: 0;
      top: 0; }
    .infeed-cell .cover-content .cover-band {
      bottom: 0;
      left: 0;
      padding: 8px 16px;
      position: absolute;
      right: 0; }
      .infeed-cell .cover-content .cover-band::before {
        background: #fff;
        border-bottom-left-radius: 5px;
        border-bottom-right-radius: 5px;
        bottom: 0;
        content: '';
        display: block;
        left: 0;
        opacity: .8;
        position: absolute;
        right: 0;
        top: 0; }
    .infeed-cell .cover-content .band-label {
      position: relative; }
    .infeed-cell .cover-content .band-icon {
      background: #2aba8c;
      color: #fff;
      margin-top: -9px;
      padding-top: 2px;
      position: absolute;
      right: 8px;
      top: 50%; }
      .infeed-cell .cover-content .band-icon .material-icons {
        font-size: 14px; }
  .infeed-cell .leaflet-item {
    border-bottom: 1px solid #edeeef;
    display: block;
    padding: 16px;
    position: relative; }
    .infeed-cell .leaflet-item .item-title {
      font-weight: bold; }
    .infeed-cell .leaflet-item .item-subtitle {
      color: #999;
      font-size: 12px; }
    .infeed-cell .leaflet-item .item-icon {
      background: #ddd;
      border-radius: 20px;
      color: #666;
      float: left;
      height: 40px;
      margin-right: 8px;
      padding-top: 8px;
      text-align: center;
      width: 40px; }
    .infeed-cell .leaflet-item .item-indicator {
      line-height: 1;
      margin-top: -12px;
      position: absolute;
      right: 16px;
      top: 50%; }

.leaflet-detail {
  height: auto;
  padding-bottom: 54px; }
  .leaflet-detail .job-summary {
    background: #fff;
    padding: 16px; }
    .leaflet-detail .job-summary .item-title {
      font-size: 24px;
      margin: 0; }
    .leaflet-detail .job-summary .company {
      display: table;
      margin: 8px 0;
      table-layout: fixed;
      width: 100%; }
      .leaflet-detail .job-summary .company .company-icon {
        background-size: contain;
        border-radius: 12px;
        display: table-cell;
        height: 24px;
        width: 24px; }
      .leaflet-detail .job-summary .company .company-name {
        color: #636466;
        display: table-cell;
        font-size: 12px;
        height: 24px;
        padding-left: 8px;
        vertical-align: middle; }
    .leaflet-detail .job-summary .description,
    .leaflet-detail .job-summary .salary {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      font-size: 12px; }
  .leaflet-detail .company-profile {
    border-top: 12px solid #eaeaea; }
  .leaflet-detail .section:not(:first-child) {
    border-top: 12px solid #eaeaea; }
  .leaflet-detail .descriptions .block {
    padding: 16px; }
    .leaflet-detail .descriptions .block:not(:first-child) {
      border-top: 1px solid #eaeaea; }
  .leaflet-detail .descriptions .block-title {
    color: #04285d;
    font-size: 22px;
    margin-bottom: 16px; }
  .leaflet-detail .fixed.bottom {
    background: #fff; }
  .leaflet-detail .btn {
    background: #57a82f;
    border-radius: 4px;
    color: #fff;
    display: block;
    line-height: 1;
    margin: 4px;
    padding: 16px;
    text-align: center; }
    .leaflet-detail .btn.applied {
      background: #eaeaea !important;
      border: 1px solid #999;
      color: #666 !important;
      cursor: default;
      font-size: 12px; }

.creator-page .section-header {
  border-top: 12px solid #dadbdd; }

.creator-page .company-profile {
  border-top: 12px solid #dadbdd; }

.creator-page .asof {
  color: #999;
  font-size: 12px;
  padding: 8px;
  text-align: right; }

.leaflet-item-list {
  background-color: initial;
  height: auto; }
  .leaflet-item-list .content {
    padding: 0 0 1px; }
  .leaflet-item-list.as-page {
    background: #f0f0f0;
    height: 100%; }
    .leaflet-item-list.as-page .close {
      background: url("/resources/images/icon_close.svg") no-repeat center;
      cursor: pointer;
      height: 16px;
      position: absolute;
      right: 16px;
      top: 20px;
      width: 16px; }
    .leaflet-item-list.as-page h2 {
      margin-top: 0; }
  .leaflet-item-list .leaflet .close {
    cursor: pointer;
    display: none;
    float: right;
    margin-top: 8px; }
  .leaflet-item-list .leaflet.full {
    bottom: 0;
    left: 0;
    overflow-y: auto;
    position: fixed;
    right: 0;
    top: 0; }
    .leaflet-item-list .leaflet.full .close {
      display: block; }
  .leaflet-item-list .leaflet-item-description p {
    margin-top: 0; }
  .leaflet-item-list .description-title {
    color: #38529a;
    cursor: pointer;
    margin-bottom: 8px; }
    .leaflet-item-list .description-title .icon {
      background: url("/resources/images/icon_arrow_down_blue.svg") no-repeat center;
      background-size: contain;
      display: inline-block;
      height: 20px;
      vertical-align: -.4em;
      width: 20px; }
  .leaflet-item-list .description {
    display: none; }
    .leaflet-item-list .description.open {
      display: block; }
  .leaflet-item-list .empty-leaflet-items-message {
    color: #333;
    font-weight: bold;
    margin: 30px;
    text-align: center; }
  @media only screen and (max-width: 414px) {
    .leaflet-item-list .leaflet {
      background: #f0f0f0;
      padding: 20px 16px; }
      .leaflet-item-list .leaflet h2 {
        font-size: 16px; }
    .leaflet-item-list .np-leaflet {
      box-shadow: 0 1px 1px 1px #ccc;
      font-size: 96%;
      margin-left: -16px;
      margin-right: -16px;
      padding: 16px; }
      .leaflet-item-list .np-leaflet .leaflet-item-title {
        font-size: 14px;
        white-space: pre-wrap; }
      .leaflet-item-list .np-leaflet .description-switch {
        margin-top: 14px; }
      .leaflet-item-list .np-leaflet.marketing .leaflet-item-description {
        margin: 12px 0; }
    .leaflet-item-list .leaflet-item-requirement {
      padding: 8px 0; }
      .leaflet-item-list .leaflet-item-requirement table th {
        width: 40px; }
    .leaflet-item-list .leaflet-application-btn {
      margin-top: 16px; } }
  @media only screen and (min-width: 415px) and (max-width: 767px) {
    .leaflet-item-list .leaflet {
      background: none;
      border-top: 1px solid #ccc;
      margin: 0 24px; }
      .leaflet-item-list .leaflet h2 {
        font-size: 20px;
        font-weight: 700; }
    .leaflet-item-list .np-leaflet {
      margin-bottom: 24px; } }

.np-leaflet {
  background-color: #fff;
  box-shadow: 0 1px 3px 1px #ccc;
  cursor: pointer;
  font-size: 16px;
  margin-bottom: 20px;
  padding: 32px; }
  .np-leaflet .leaflet-application-btn {
    border: 1px solid #54ab23;
    border-radius: 2px;
    color: #54ab23;
    display: block;
    font-size: 14px;
    margin-top: 32px;
    padding: 10px 0;
    text-align: center;
    text-decoration: none; }
    .np-leaflet .leaflet-application-btn.applied {
      background: #eaeaea !important;
      border: 1px solid #999;
      color: #666 !important;
      cursor: default;
      font-size: 12px; }

.recruiting-leaflet {
  background: #dadbdd; }
  .recruiting-leaflet .related-news {
    background: #fff;
    color: inherit;
    display: block;
    margin-top: 8px;
    padding: 16px; }
    .recruiting-leaflet .related-news .block-title {
      font-weight: bold;
      margin-bottom: 16px; }
      .recruiting-leaflet .related-news .block-title::before {
        background: #3e5dbb;
        border-radius: 9px;
        content: '';
        display: block;
        float: left;
        height: 18px;
        margin-right: 8px;
        margin-top: 2px;
        width: 18px; }
    .recruiting-leaflet .related-news .text-content::after {
      clear: both;
      content: '';
      display: block; }
    .recruiting-leaflet .related-news .text-content .title {
      font-size: 16px;
      font-weight: bold;
      height: 48px;
      line-height: 1.5;
      overflow: hidden; }
    .recruiting-leaflet .related-news .text-content .publisher {
      color: #999;
      font-size: 10px;
      line-height: 1;
      margin-top: 6px; }
    .recruiting-leaflet .related-news .eyecatch {
      background-position: center;
      background-size: cover;
      border-radius: 2px;
      float: right;
      height: 64px;
      margin-left: 20px;
      width: 80px; }
  .recruiting-leaflet .section-title {
    color: #777f97;
    font-size: 10px;
    font-weight: bold;
    line-height: 14px;
    margin: 10px 12px; }
  .recruiting-leaflet .empty-leaflet-items-message {
    color: #333;
    font-weight: bold;
    margin: 30px;
    text-align: center; }

.np-leaflet.marketing .leaflet-item-description {
  margin: 24px 48px 24px 0;
  max-height: 40px;
  overflow: hidden; }
  .np-leaflet.marketing .leaflet-item-description.expand {
    max-height: initial;
    overflow: auto; }

.np-leaflet.marketing .leaflet-item-title {
  display: table-cell;
  font-size: 14px;
  font-weight: bold;
  height: 40px;
  line-height: 1.4;
  overflow: hidden;
  vertical-align: middle; }

.np-leaflet.marketing .description-switch {
  background: no-repeat center;
  background-image: url("/resources/images/icon_arrow_down_gray.svg");
  background-size: 18px;
  border: 1px solid #ccc;
  display: inline-block;
  float: right;
  height: 34px;
  line-height: 1;
  margin-top: 14px;
  padding: 8px;
  vertical-align: -.4em;
  width: 34px; }
  .np-leaflet.marketing .description-switch.expand {
    background-image: url("/resources/images/icon_arrow_up_gray.svg"); }

.np-leaflet.marketing .leaflet-item-icon {
  background-repeat: no-repeat;
  background-size: contain;
  border: 1px solid #ccc;
  float: left;
  height: 40px;
  width: 40px;
  margin-right: 8px; }

.np-leaflet.marketing .leaflet-item-requirement {
  border-bottom: 1px solid #ededed;
  border-top: 1px solid #ededed;
  padding: 20px 0; }
  .np-leaflet.marketing .leaflet-item-requirement table td,
  .np-leaflet.marketing .leaflet-item-requirement table th {
    padding: 4px 0;
    vertical-align: top; }
  .np-leaflet.marketing .leaflet-item-requirement table th {
    font-weight: normal;
    text-align: left;
    vertical-align: middle;
    width: 60px; }

.np-leaflet.recruiting {
  padding: 16px; }
  .np-leaflet.recruiting .leaflet-item-description {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: #222;
    display: -webkit-box;
    font-size: 12px;
    line-height: 16px;
    margin-top: 4px;
    overflow: hidden; }
  .np-leaflet.recruiting .leaflet-item-title {
    background: url("/resources/images/icon_next.svg") no-repeat right -5px center;
    color: #4277fb;
    display: block;
    font-size: 16px;
    line-height: 24px; }
  .np-leaflet.recruiting .company-name {
    color: #777f97;
    font-size: 12px; }
  .np-leaflet.recruiting .leaflet-item-requirement {
    border-top: 2px solid #f9f9f9;
    font-size: 12px;
    margin-top: 8px;
    padding-top: 8px; }
    .np-leaflet.recruiting .leaflet-item-requirement table {
      table-layout: fixed; }
    .np-leaflet.recruiting .leaflet-item-requirement th,
    .np-leaflet.recruiting .leaflet-item-requirement td {
      vertical-align: top; }
    .np-leaflet.recruiting .leaflet-item-requirement th {
      color: #777f97;
      font-size: 10px;
      padding: 4px 0 2px;
      text-align: left;
      width: 44px; }
    .np-leaflet.recruiting .leaflet-item-requirement td {
      color: #222;
      padding: 2px 0; }
  .np-leaflet.recruiting .leaflet-application-btn {
    background: #57a82f;
    border-radius: 4px;
    color: #fff;
    margin-top: 8px; }

.np-marketing-leaflet-empty {
  background-color: #fff;
  padding: 0 32px; }
  @media only screen and (max-width: 414px) {
    .np-marketing-leaflet-empty {
      margin: -32px -16px -21px;
      padding: 0 16px; } }
  .np-marketing-leaflet-empty .leaflet-item-title {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    padding: 20px 0; }
  .np-marketing-leaflet-empty .leaflet-item-description {
    font-size: 16px;
    padding: 20px 0; }
  .np-marketing-leaflet-empty .leaflet-item-requirement {
    border-bottom: 1px solid #ededed;
    border-top: 1px solid #ededed;
    font-size: 16px;
    padding: 20px 0; }
  .np-marketing-leaflet-empty .leaflet-item-empty-message {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    padding: 20px 0; }