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

* {
  font-size: inherit;
  line-height: inherit;
  letter-spacing: 0.06em; }

::before,
::after {
  display: inline-block;
  text-decoration: inherit;
  vertical-align: inherit; }

html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  background: #fff;
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased; }

footer,
header,
hgroup,
nav,
section {
  display: block; }

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden] {
  display: none; }

a {
  background-color: transparent; }

a:active,
a:hover {
  outline: 0; }

b,
strong {
  font-weight: bold; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

img {
  border: 0;
  vertical-align: bottom;
  max-width: 100%; }
  img.pdf_icon {
    vertical-align: middle; }

svg:not(:root) {
  overflow: hidden; }

hr {
  box-sizing: content-box;
  height: 0; }

*:not(input):not(select):not(button):not(textarea):not(label):focus {
  outline: none; }

select {
  height: 30px;
  color: inherit;
  font: inherit;
  margin: 0;
  padding: 0 20px 0 5px;
  line-height: 1; }

button,
input,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
  padding: 4px 6px;
  border: 1px solid #ccc;
  border-radius: 4px;
  outline: none; }

input:not([type="checkbox"]):not([type="radio"]),
textarea,
button {
  -webkit-appearance: none; }

input {
  padding: 0 6px; }

input:focus,
textarea:focus {
  outline: none; }

input[type="button"],
input[type="submit"] {
  background-color: transparent;
  border: none; }

button {
  overflow: visible;
  background-color: transparent;
  border-radius: 0;
  border: none; }

button,
select {
  text-transform: none; }

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: none;
  cursor: pointer; }

button[disabled],
input[disabled] {
  cursor: default; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

input {
  line-height: normal; }

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0 5px 0 0; }

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

input[type="text"],
select,
textarea {
  font-size: 100%; }

input[type="text"]:focus,
textarea:focus {
  transition: 0.2s; }

input[type="text"]:focus,
textarea:focus {
  border-color: rgba(82, 168, 236, 0.8);
  outline: 0;
  outline: thin dotted \9;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); }

textarea {
  overflow: auto;
  resize: vertical; }

label {
  display: inline-block; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0;
  text-align: left;
  vertical-align: top; }

ol {
  list-style-position: inside; }

li {
  list-style-type: none; }

address {
  font-style: normal; }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
p,
table,
thead,
tbody,
tfoot,
address {
  margin: 0;
  padding: 0; }

input,
textarea,
table,
thead,
tbody,
tfoot,
address {
  text-align: left; }

div,
dl,
dt,
dd,
ul,
ol,
li,
form,
p {
  text-align: inherit; }

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: normal;
  font-weight: normal; }

figure {
  margin: 0; }

@media print {
  .tb,
  .sp {
    display: none !important; }

  .l-container {
    overflow: visible !important; }

  header {
    position: inherit !important; } }
@media only screen and (max-width: 1110px) {
  .pc {
    display: none !important; } }

@media only screen and (max-width: 480px) {
  .pctb {
    display: none !important; } }

@media only screen and (min-width: 1111px) {
  .tb {
    display: none !important; } }

@media only screen and (min-width: 481px) {
  .sp {
    display: none !important; } }

.container {
  width: 1130px;
  padding: 0 15px;
  margin: auto; }
  @media only screen and (max-width: 1110px) {
    .container {
      max-width: 100%; } }

body {
  color: #222;
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2; }
  @media only screen and (max-width: 1110px) {
    body {
      font-size: 16px; } }
  @media only screen and (max-width: 480px) {
    body {
      font-size: 16px; } }

p,
a,
dt,
dd,
li,
th,
td {
  line-height: 2; }

a {
  color: #0000ee; }
  a:hover {
    color: #0000ee; }

.l-container section {
  margin-bottom: 100px;
  /* 製品サービス */
  /* 会社案内 */
  /* 採用情報 */
  /* 事業所案内 */
  /* お問い合わせ */
  /* お問い合わせ */ }
  @media only screen and (max-width: 1110px) {
    .l-container section {
      margin-bottom: 60px; } }
  @media only screen and (max-width: 480px) {
    .l-container section {
      margin-bottom: 50px; } }
  .l-container section .service-main-wrapper {
    margin-bottom: 100px; }
    @media only screen and (max-width: 1110px) {
      .l-container section .service-main-wrapper {
        margin-bottom: 60px; } }
    @media only screen and (max-width: 480px) {
      .l-container section .service-main-wrapper {
        margin-bottom: 50px; } }
    .l-container section .service-main-wrapper .service-block {
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      margin-bottom: 100px; }
      @media only screen and (max-width: 1110px) {
        .l-container section .service-main-wrapper .service-block {
          margin-bottom: 60px; } }
      @media only screen and (max-width: 480px) {
        .l-container section .service-main-wrapper .service-block {
          margin-bottom: 50px; } }
      .l-container section .service-main-wrapper .service-block:nth-child(even) {
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap; }
      .l-container section .service-main-wrapper .service-block .service-text {
        width: 520px; }
        @media only screen and (max-width: 1110px) {
          .l-container section .service-main-wrapper .service-block .service-text {
            width: 48.5%; } }
        @media only screen and (max-width: 480px) {
          .l-container section .service-main-wrapper .service-block .service-text {
            width: 100%; } }
      .l-container section .service-main-wrapper .service-block .service-image {
        width: 520px; }
        @media only screen and (max-width: 1110px) {
          .l-container section .service-main-wrapper .service-block .service-image {
            width: 48.5%; } }
        @media only screen and (max-width: 480px) {
          .l-container section .service-main-wrapper .service-block .service-image {
            width: 100%;
            margin-top: 20px; } }
  .l-container section .service-maker-wrapper .tab-wrap {
    position: relative;
    margin-left: 100px; }
    @media only screen and (max-width: 910px) {
      .l-container section .service-maker-wrapper .tab-wrap {
        margin-left: 0;
        margin-bottom: 30px; } }
    .l-container section .service-maker-wrapper .tab-wrap .tab-block {
      position: absolute;
      top: 0;
      left: 0; }
      @media only screen and (max-width: 910px) {
        .l-container section .service-maker-wrapper .tab-wrap .tab-block {
          position: relative; } }
      .l-container section .service-maker-wrapper .tab-wrap .tab-block > ul {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
        flex-wrap: wrap;
        gap: 20px; }
        @media only screen and (max-width: 1110px) {
          .l-container section .service-maker-wrapper .tab-wrap .tab-block > ul {
            gap: 15px; } }
        @media only screen and (max-width: 480px) {
          .l-container section .service-maker-wrapper .tab-wrap .tab-block > ul {
            gap: 15px 10px; } }
        .l-container section .service-maker-wrapper .tab-wrap .tab-block > ul li a {
          display: block;
          color: #0D50D5;
          padding: 8px 20px;
          line-height: 1.4;
          text-align: center;
          border: 1px solid #0D50D5;
          border-radius: 100px;
          text-decoration: none;
          font-weight: 500;
          transition: .4s all; }
          @media only screen and (max-width: 480px) {
            .l-container section .service-maker-wrapper .tab-wrap .tab-block > ul li a {
              padding: 8px 16px; } }
          .l-container section .service-maker-wrapper .tab-wrap .tab-block > ul li a.current {
            background: #0D50D5;
            color: #fff; }
  @media only screen and (max-width: 480px) {
    .l-container section .service-maker-wrapper .service-maker {
      overflow-x: scroll; } }
  .l-container section .service-maker-wrapper .service-maker .title > h4 {
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 40px; }
    @media only screen and (max-width: 910px) {
      .l-container section .service-maker-wrapper .service-maker .title > h4 {
        margin-bottom: 10px; } }
  .l-container section .service-maker-wrapper .service-maker table.maker-table {
    width: 100%;
    min-width: 500px; }
    .l-container section .service-maker-wrapper .service-maker table.maker-table thead tr th {
      text-align: center;
      padding: 18px 0;
      width: 50%;
      background: #DAE4F8;
      border: 1px solid #ccc; }
      @media only screen and (max-width: 480px) {
        .l-container section .service-maker-wrapper .service-maker table.maker-table thead tr th {
          padding: 15px 0; } }
    .l-container section .service-maker-wrapper .service-maker table.maker-table tbody tr td {
      padding: 18px 20px;
      border: 1px solid #ccc; }
      @media only screen and (max-width: 480px) {
        .l-container section .service-maker-wrapper .service-maker table.maker-table tbody tr td {
          padding: 12px 10px;
          font-size: 14px; } }
  .l-container section .company-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap; }
    .l-container section .company-wrapper .heading-block {
      width: 260px; }
      @media only screen and (max-width: 1110px) {
        .l-container section .company-wrapper .heading-block {
          width: 100%;
          margin-bottom: 20px; } }
      @media only screen and (max-width: 480px) {
        .l-container section .company-wrapper .heading-block {
          width: 100%;
          margin-bottom: 10px; } }
      .l-container section .company-wrapper .heading-block > h3 {
        font-size: 33px;
        font-weight: 700;
        font-family: "Murecho"; }
        @media only screen and (max-width: 1110px) {
          .l-container section .company-wrapper .heading-block > h3 {
            font-size: 32px; } }
        @media only screen and (max-width: 480px) {
          .l-container section .company-wrapper .heading-block > h3 {
            font-size: 27px; } }
    .l-container section .company-wrapper .content-block {
      width: 840px; }
      @media only screen and (max-width: 1110px) {
        .l-container section .company-wrapper .content-block {
          width: 100%; } }
      .l-container section .company-wrapper .content-block .top-message {
        padding: 0 0 0 50px; }
        @media only screen and (max-width: 1110px) {
          .l-container section .company-wrapper .content-block .top-message {
            padding: 0; } }
        .l-container section .company-wrapper .content-block .top-message p.manager {
          font-size: 20px;
          font-weight: 500;
          margin-top: 20px;
          line-height: 1.4;
          text-align: right; }
          @media only screen and (max-width: 1110px) {
            .l-container section .company-wrapper .content-block .top-message p.manager {
              font-size: 15px; } }
          .l-container section .company-wrapper .content-block .top-message p.manager > span {
            font-size: 30px;
            font-weight: 700;
            display: block; }
            @media only screen and (max-width: 1110px) {
              .l-container section .company-wrapper .content-block .top-message p.manager > span {
                font-size: 22px; } }
      .l-container section .company-wrapper .content-block .company-detail > table {
        width: 100%; }
        .l-container section .company-wrapper .content-block .company-detail > table tr {
          border-top: 1px solid #ccc;
          border-bottom: 1px solid #ccc; }
          .l-container section .company-wrapper .content-block .company-detail > table tr th, .l-container section .company-wrapper .content-block .company-detail > table tr td {
            vertical-align: middle;
            padding: 18px 20px; }
            @media only screen and (max-width: 1110px) {
              .l-container section .company-wrapper .content-block .company-detail > table tr th, .l-container section .company-wrapper .content-block .company-detail > table tr td {
                padding: 15px 20px; } }
          .l-container section .company-wrapper .content-block .company-detail > table tr th {
            width: 240px;
            text-align: center; }
            @media only screen and (max-width: 1110px) {
              .l-container section .company-wrapper .content-block .company-detail > table tr th {
                width: 28%; } }
            @media only screen and (max-width: 480px) {
              .l-container section .company-wrapper .content-block .company-detail > table tr th {
                width: 100%;
                text-align: left;
                display: block;
                padding: 12px 10px 0 10px; } }
          .l-container section .company-wrapper .content-block .company-detail > table tr td {
            width: 600px; }
            @media only screen and (max-width: 1110px) {
              .l-container section .company-wrapper .content-block .company-detail > table tr td {
                width: 72%; } }
            @media only screen and (max-width: 480px) {
              .l-container section .company-wrapper .content-block .company-detail > table tr td {
                width: 100%;
                display: block;
                padding: 0 10px 12px 10px; } }
      .l-container section .company-wrapper .content-block .history-detail {
        position: relative; }
        .l-container section .company-wrapper .content-block .history-detail:after {
          content: '';
          background-size: contain;
          display: inline-block;
          position: absolute;
          background-repeat: no-repeat;
          background-image: url(../images/main/page/company/history.png);
          top: 50px;
          right: 0;
          width: 250px;
          height: 1200px; }
          @media only screen and (max-width: 480px) {
            .l-container section .company-wrapper .content-block .history-detail:after {
              display: none; } }
        .l-container section .company-wrapper .content-block .history-detail dl {
          display: flex;
          flex-direction: row;
          justify-content: space-between;
          align-items: stretch;
          flex-wrap: wrap;
          margin-bottom: 30px; }
          .l-container section .company-wrapper .content-block .history-detail dl dt {
            width: 160px;
            font-weight: 700;
            text-align: center; }
            @media only screen and (max-width: 1110px) {
              .l-container section .company-wrapper .content-block .history-detail dl dt {
                width: 100%;
                text-align: left; } }
          .l-container section .company-wrapper .content-block .history-detail dl dd {
            width: 680px;
            padding: 0 0 0 20px; }
            @media only screen and (max-width: 1110px) {
              .l-container section .company-wrapper .content-block .history-detail dl dd {
                width: 100%;
                padding: 0; } }
            .l-container section .company-wrapper .content-block .history-detail dl dd > ul li {
              padding-left: 20px;
              font-size: 17px; }
              .l-container section .company-wrapper .content-block .history-detail dl dd > ul li:before {
                content: '・';
                margin-left: -20px; }
      .l-container section .company-wrapper .content-block .permission-detail > table {
        width: 100%; }
        .l-container section .company-wrapper .content-block .permission-detail > table tr {
          border-top: 1px solid #ccc;
          border-bottom: 1px solid #ccc; }
          .l-container section .company-wrapper .content-block .permission-detail > table tr th, .l-container section .company-wrapper .content-block .permission-detail > table tr td {
            vertical-align: middle;
            padding: 18px 20px; }
            @media only screen and (max-width: 1110px) {
              .l-container section .company-wrapper .content-block .permission-detail > table tr th, .l-container section .company-wrapper .content-block .permission-detail > table tr td {
                padding: 15px 20px; } }
          .l-container section .company-wrapper .content-block .permission-detail > table tr th {
            width: 460px; }
            @media only screen and (max-width: 1110px) {
              .l-container section .company-wrapper .content-block .permission-detail > table tr th {
                width: 55%; } }
            @media only screen and (max-width: 480px) {
              .l-container section .company-wrapper .content-block .permission-detail > table tr th {
                width: 100%;
                display: block;
                padding: 12px 10px 0 10px; } }
          .l-container section .company-wrapper .content-block .permission-detail > table tr td {
            width: 380px; }
            @media only screen and (max-width: 1110px) {
              .l-container section .company-wrapper .content-block .permission-detail > table tr td {
                width: 45%; } }
            @media only screen and (max-width: 480px) {
              .l-container section .company-wrapper .content-block .permission-detail > table tr td {
                width: 100%;
                display: block;
                padding: 10px 10px 12px 10px; } }
            .l-container section .company-wrapper .content-block .permission-detail > table tr td > ul {
              display: flex;
              flex-direction: row;
              justify-content: center;
              align-items: center;
              flex-wrap: wrap;
              gap: 20px; }
              .l-container section .company-wrapper .content-block .permission-detail > table tr td > ul li a {
                padding: 5px 20px;
                color: #fff;
                text-decoration: none;
                transition: .4s all;
                display: block;
                border-radius: 100px;
                font-weight: 500; }
                .l-container section .company-wrapper .content-block .permission-detail > table tr td > ul li a.tokyo {
                  background: #DB4455;
                  border: 1px solid #DB4455; }
                .l-container section .company-wrapper .content-block .permission-detail > table tr td > ul li a.chiba {
                  background: #F6BB43;
                  border: 1px solid #F6BB43; }
                .l-container section .company-wrapper .content-block .permission-detail > table tr td > ul li a.saitama {
                  background: #109954;
                  border: 1px solid #109954; }
                .l-container section .company-wrapper .content-block .permission-detail > table tr td > ul li a:hover {
                  background: #fff; }
                  .l-container section .company-wrapper .content-block .permission-detail > table tr td > ul li a:hover.tokyo {
                    color: #DB4455; }
                  .l-container section .company-wrapper .content-block .permission-detail > table tr td > ul li a:hover.chiba {
                    color: #F6BB43; }
                  .l-container section .company-wrapper .content-block .permission-detail > table tr td > ul li a:hover.saitama {
                    color: #109954; }
  .l-container section .recruit-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap; }
    .l-container section .recruit-wrapper .heading-block {
      width: 260px; }
      .l-container section .recruit-wrapper .heading-block.w100 {
        width: 100%; }
      @media only screen and (max-width: 1110px) {
        .l-container section .recruit-wrapper .heading-block {
          width: 100%;
          margin-bottom: 20px; } }
      @media only screen and (max-width: 480px) {
        .l-container section .recruit-wrapper .heading-block {
          width: 100%;
          margin-bottom: 10px; } }
      .l-container section .recruit-wrapper .heading-block > h3 {
        font-size: 33px;
        font-weight: 700;
        font-family: "Murecho"; }
        @media only screen and (max-width: 1110px) {
          .l-container section .recruit-wrapper .heading-block > h3 {
            font-size: 32px; } }
        @media only screen and (max-width: 480px) {
          .l-container section .recruit-wrapper .heading-block > h3 {
            font-size: 27px; } }
    .l-container section .recruit-wrapper .content-block {
      width: 840px; }
      .l-container section .recruit-wrapper .content-block.w100 {
        width: 100%; }
      @media only screen and (max-width: 1110px) {
        .l-container section .recruit-wrapper .content-block {
          width: 100%; } }
      @media only screen and (max-width: 1110px) {
        .l-container section .recruit-wrapper .content-block.voice {
          width: 840px;
          max-width: 100%;
          margin: auto; } }
      .l-container section .recruit-wrapper .content-block .recruit-detail > table {
        width: 100%; }
        .l-container section .recruit-wrapper .content-block .recruit-detail > table tr {
          border: 1px solid #ccc; }
          .l-container section .recruit-wrapper .content-block .recruit-detail > table tr th, .l-container section .recruit-wrapper .content-block .recruit-detail > table tr td {
            vertical-align: middle;
            padding: 18px 20px; }
            @media only screen and (max-width: 1110px) {
              .l-container section .recruit-wrapper .content-block .recruit-detail > table tr th, .l-container section .recruit-wrapper .content-block .recruit-detail > table tr td {
                padding: 15px 20px; } }
            @media only screen and (max-width: 1110px) {
              .l-container section .recruit-wrapper .content-block .recruit-detail > table tr th, .l-container section .recruit-wrapper .content-block .recruit-detail > table tr td {
                padding: 10px 15px; } }
          .l-container section .recruit-wrapper .content-block .recruit-detail > table tr th {
            width: 180px;
            text-align: center;
            background: #DAE4F8; }
            @media only screen and (max-width: 1110px) {
              .l-container section .recruit-wrapper .content-block .recruit-detail > table tr th {
                width: 28%; } }
            @media only screen and (max-width: 480px) {
              .l-container section .recruit-wrapper .content-block .recruit-detail > table tr th {
                width: 100%;
                text-align: left;
                display: block; } }
          .l-container section .recruit-wrapper .content-block .recruit-detail > table tr td {
            width: 660px; }
            @media only screen and (max-width: 1110px) {
              .l-container section .recruit-wrapper .content-block .recruit-detail > table tr td {
                width: 72%; } }
            @media only screen and (max-width: 480px) {
              .l-container section .recruit-wrapper .content-block .recruit-detail > table tr td {
                width: 100%;
                display: block; } }
      .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box {
        position: relative;
        margin-bottom: 60px; }
        .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box:last-of-type {
          margin-bottom: 0; }
        .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box.person01 {
          height: 423px;
          position: relative; }
          @media only screen and (max-width: 480px) {
            .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box.person01 {
              height: auto; } }
          .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box.person01:after {
            content: '';
            background-size: contain;
            display: inline-block;
            position: absolute;
            background-repeat: no-repeat;
            background-image: url(../images/main/page/recruit/deco01.png);
            top: -60px;
            right: 10px;
            width: 258px;
            height: 184px; }
            @media only screen and (max-width: 480px) {
              .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box.person01:after {
                display: none; } }
        .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box.person02 {
          height: 544px;
          position: relative; }
          @media only screen and (max-width: 480px) {
            .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box.person02 {
              height: auto; } }
          .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box.person02:after {
            content: '';
            background-size: contain;
            display: inline-block;
            position: absolute;
            background-repeat: no-repeat;
            background-image: url(../images/main/page/recruit/deco02.png);
            top: -10px;
            right: 10px;
            width: 268px;
            height: 171px; }
            @media only screen and (max-width: 480px) {
              .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box.person02:after {
                display: none; } }
        .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box.person03 {
          height: 406px;
          position: relative; }
          @media only screen and (max-width: 480px) {
            .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box.person03 {
              height: auto; } }
          .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box.person03:before {
            content: '';
            background-size: contain;
            display: inline-block;
            position: absolute;
            background-repeat: no-repeat;
            background-image: url(../images/main/page/recruit/deco03a.png);
            top: 0;
            left: 10px;
            width: 188px;
            height: 173px;
            z-index: -10; }
            @media only screen and (max-width: 480px) {
              .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box.person03:before {
                display: none; } }
          .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box.person03:after {
            content: '';
            background-size: contain;
            display: inline-block;
            position: absolute;
            background-repeat: no-repeat;
            background-image: url(../images/main/page/recruit/deco03b.png);
            top: 290px;
            right: 30px;
            width: 125px;
            height: 103px; }
            @media only screen and (max-width: 480px) {
              .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box.person03:after {
                display: none; } }
        .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .image {
          position: relative; }
          @media only screen and (max-width: 480px) {
            .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .image {
              text-align: center;
              margin-bottom: 20px; } }
          .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .image img {
            width: 285px; }
          .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .image .name {
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translate(-50%, -50%);
            background: #fff;
            font-size: 16px;
            font-weight: 700;
            line-height: 1;
            padding: 10px 15px; }
            .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .image .name.person01 {
              border: 2px solid #ff7800; }
            .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .image .name.person02 {
              border: 2px solid #5C3D78; }
            .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .image .name.person03 {
              border: 2px solid #487E14; }
          .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .image.person01 {
            position: absolute;
            left: 0;
            top: 140px; }
            @media only screen and (max-width: 480px) {
              .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .image.person01 {
                position: relative;
                top: 0;
                bottom: 0;
                left: 0;
                right: 0; } }
          .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .image.person02 {
            position: absolute;
            right: 0;
            top: 140px; }
            @media only screen and (max-width: 480px) {
              .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .image.person02 {
                position: relative;
                top: 0;
                bottom: 0;
                left: 0;
                right: 0; } }
          .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .image.person03 {
            position: absolute;
            left: 20px;
            top: 120px; }
            @media only screen and (max-width: 480px) {
              .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .image.person03 {
                position: relative;
                top: 0;
                bottom: 0;
                left: 0;
                right: 0; } }
        .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi {
          font-size: 17px;
          line-height: 1.85; }
          .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person01 {
            background: #FFF2CF;
            padding: 20px;
            border-radius: 16px;
            position: relative; }
            @media only screen and (max-width: 480px) {
              .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person01 {
                padding: 15px;
                font-size: 15px; } }
            .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person01.p01 {
              width: 540px;
              position: absolute;
              top: 0;
              left: 0; }
              @media only screen and (max-width: 480px) {
                .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person01.p01 {
                  position: relative;
                  width: 100%;
                  top: 0;
                  bottom: 0;
                  left: 0;
                  right: 0; } }
              .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person01.p01:after {
                content: "";
                position: absolute;
                bottom: 0;
                left: 16%;
                border-style: solid;
                border-width: 20px 10px 0 10px;
                border-color: #FFF2CF transparent transparent;
                translate: -50% 100%; }
                @media only screen and (max-width: 480px) {
                  .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person01.p01:after {
                    display: none;
                    position: relative;
                    top: 0;
                    bottom: 0;
                    left: 0;
                    right: 0; } }
            .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person01.p02 {
              width: 540px;
              position: absolute;
              top: 132px;
              right: 0; }
              @media only screen and (max-width: 480px) {
                .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person01.p02 {
                  position: relative;
                  width: 100%;
                  top: 0;
                  bottom: 0;
                  left: 0;
                  right: 0;
                  margin-top: 20px; } }
              .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person01.p02:after {
                content: "";
                position: absolute;
                bottom: 0;
                left: 6%;
                border-style: solid;
                border-width: 20px 10px 0 10px;
                border-color: #FFF2CF transparent transparent;
                translate: -50% 100%; }
                @media only screen and (max-width: 480px) {
                  .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person01.p02:after {
                    display: none;
                    position: relative;
                    top: 0;
                    bottom: 0;
                    left: 0;
                    right: 0; } }
            .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person01.p03 {
              width: 467px;
              position: absolute;
              top: 266px;
              right: 20px; }
              @media only screen and (max-width: 480px) {
                .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person01.p03 {
                  position: relative;
                  width: 100%;
                  top: 0;
                  bottom: 0;
                  left: 0;
                  right: 0;
                  margin-top: 20px; } }
              .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person01.p03:after {
                content: "";
                position: absolute;
                top: 35%;
                left: 0;
                border-style: solid;
                border-width: 10px 20px 10px 0;
                border-color: transparent #FFF2CF transparent transparent;
                translate: -100% -50%; }
                @media only screen and (max-width: 480px) {
                  .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person01.p03:after {
                    display: none;
                    position: relative;
                    top: 0;
                    bottom: 0;
                    left: 0;
                    right: 0; } }
          .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person02 {
            background: #D8CEE0;
            padding: 20px;
            border-radius: 16px;
            position: relative; }
            @media only screen and (max-width: 480px) {
              .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person02 {
                padding: 15px;
                font-size: 15px; } }
            .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person02.p01 {
              width: 560px;
              position: absolute;
              top: 50px;
              left: 0; }
              @media only screen and (max-width: 480px) {
                .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person02.p01 {
                  position: relative;
                  width: 100%;
                  top: 0;
                  bottom: 0;
                  left: 0;
                  right: 0; } }
              .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person02.p01:after {
                content: "";
                position: absolute;
                top: 75%;
                right: 0;
                border-style: solid;
                border-width: 10px 0 10px 20px;
                border-color: transparent transparent transparent #D8CEE0;
                translate: 100% -50%; }
                @media only screen and (max-width: 480px) {
                  .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person02.p01:after {
                    display: none;
                    position: relative; } }
            .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person02.p02 {
              width: 540px;
              position: absolute;
              top: 191px;
              left: 0; }
              @media only screen and (max-width: 480px) {
                .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person02.p02 {
                  position: relative;
                  width: 100%;
                  top: 0;
                  bottom: 0;
                  left: 0;
                  right: 0;
                  margin-top: 20px; } }
              .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person02.p02:after {
                content: "";
                position: absolute;
                top: 25%;
                right: 0;
                border-style: solid;
                border-width: 10px 0 10px 20px;
                border-color: transparent transparent transparent #D8CEE0;
                translate: 100% -50%; }
                @media only screen and (max-width: 480px) {
                  .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person02.p02:after {
                    display: none;
                    position: relative; } }
            .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person02.p03 {
              width: 467px;
              position: absolute;
              top: 366px;
              left: 20px; }
              @media only screen and (max-width: 480px) {
                .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person02.p03 {
                  position: relative;
                  width: 100%;
                  top: 0;
                  bottom: 0;
                  left: 0;
                  right: 0;
                  margin-top: 20px; } }
              .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person02.p03:after {
                content: "";
                position: absolute;
                top: 25%;
                right: 0;
                border-style: solid;
                border-width: 10px 0 10px 20px;
                border-color: transparent transparent transparent #D8CEE0;
                translate: 100% -50%; }
                @media only screen and (max-width: 480px) {
                  .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person02.p03:after {
                    display: none;
                    position: relative; } }
          .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person03 {
            background: #DFF5D6;
            padding: 20px;
            border-radius: 16px;
            position: relative; }
            @media only screen and (max-width: 480px) {
              .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person03 {
                padding: 15px;
                font-size: 15px; } }
            .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person03.p01 {
              width: 540px;
              position: absolute;
              top: 0;
              right: 0; }
              @media only screen and (max-width: 480px) {
                .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person03.p01 {
                  position: relative;
                  width: 100%;
                  top: 0;
                  bottom: 0;
                  left: 0;
                  right: 0; } }
              .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person03.p01:after {
                content: "";
                position: absolute;
                top: 65%;
                left: 0;
                border-style: solid;
                border-width: 10px 20px 10px 0;
                border-color: transparent #DFF5D6 transparent transparent;
                translate: -100% -50%; }
                @media only screen and (max-width: 480px) {
                  .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person03.p01:after {
                    display: none;
                    position: relative; } }
            .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person03.p02 {
              width: 500px;
              position: absolute;
              top: 142px;
              right: 0; }
              @media only screen and (max-width: 480px) {
                .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person03.p02 {
                  position: relative;
                  width: 100%;
                  top: 0;
                  bottom: 0;
                  left: 0;
                  right: 0;
                  margin-top: 20px; } }
              .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person03.p02:after {
                content: "";
                position: absolute;
                top: 50%;
                left: 0;
                border-style: solid;
                border-width: 10px 20px 10px 0;
                border-color: transparent #DFF5D6 transparent transparent;
                translate: -100% -50%; }
                @media only screen and (max-width: 480px) {
                  .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person03.p02:after {
                    display: none;
                    position: relative; } }
            .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person03.p03 {
              width: 350px;
              position: absolute;
              top: 286px;
              right: 140px; }
              @media only screen and (max-width: 480px) {
                .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person03.p03 {
                  position: relative;
                  width: 100%;
                  top: 0;
                  bottom: 0;
                  left: 0;
                  right: 0;
                  margin-top: 20px; } }
              .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person03.p03:after {
                content: "";
                position: absolute;
                top: 35%;
                left: 0;
                border-style: solid;
                border-width: 10px 20px 10px 0;
                border-color: transparent #DFF5D6 transparent transparent;
                translate: -100% -50%; }
                @media only screen and (max-width: 480px) {
                  .l-container section .recruit-wrapper .content-block .recruit-voice .voice-box .fukidashi p.person03.p03:after {
                    display: none;
                    position: relative; } }
      .l-container section .recruit-wrapper .content-block .entry-form {
        margin-top: 30px; }
        @media only screen and (max-width: 480px) {
          .l-container section .recruit-wrapper .content-block .entry-form {
            margin-top: 10px; } }
        .l-container section .recruit-wrapper .content-block .entry-form .inner {
          background: #f8f8f8;
          border-radius: 10px;
          width: 880px;
          max-width: 100%;
          margin: auto;
          padding: 50px; }
          @media only screen and (max-width: 480px) {
            .l-container section .recruit-wrapper .content-block .entry-form .inner {
              padding: 20px; } }
          .l-container section .recruit-wrapper .content-block .entry-form .inner p.notice {
            margin-bottom: 30px; }
            @media only screen and (max-width: 480px) {
              .l-container section .recruit-wrapper .content-block .entry-form .inner p.notice {
                font-size: 14px;
                margin-bottom: 20px; } }
            .l-container section .recruit-wrapper .content-block .entry-form .inner p.notice span {
              color: #DB4455; }
          .l-container section .recruit-wrapper .content-block .entry-form .inner dl {
            margin-bottom: 30px; }
            @media only screen and (max-width: 480px) {
              .l-container section .recruit-wrapper .content-block .entry-form .inner dl {
                margin-bottom: 20px; } }
            .l-container section .recruit-wrapper .content-block .entry-form .inner dl a.privacy-link {
              font-weight: 700;
              color: #A74C0C;
              text-decoration: none; }
              .l-container section .recruit-wrapper .content-block .entry-form .inner dl a.privacy-link:hover {
                color: #DB4455; }
            .l-container section .recruit-wrapper .content-block .entry-form .inner dl dt {
              font-size: 20px;
              font-weight: 700;
              margin-bottom: 3px; }
              @media only screen and (max-width: 480px) {
                .l-container section .recruit-wrapper .content-block .entry-form .inner dl dt {
                  font-size: 16px;
                  margin-bottom: 2px; } }
              .l-container section .recruit-wrapper .content-block .entry-form .inner dl dt span {
                color: #DB4455; }
            .l-container section .recruit-wrapper .content-block .entry-form .inner dl dd input, .l-container section .recruit-wrapper .content-block .entry-form .inner dl dd textarea {
              font-size: 16px;
              padding: 10px 20px;
              border: 1px solid #aaa;
              border-radius: 5px; }
              @media only screen and (max-width: 480px) {
                .l-container section .recruit-wrapper .content-block .entry-form .inner dl dd input, .l-container section .recruit-wrapper .content-block .entry-form .inner dl dd textarea {
                  padding: 8px 12px; } }
            .l-container section .recruit-wrapper .content-block .entry-form .inner dl dd input.input01, .l-container section .recruit-wrapper .content-block .entry-form .inner dl dd input.input02, .l-container section .recruit-wrapper .content-block .entry-form .inner dl dd input.input05, .l-container section .recruit-wrapper .content-block .entry-form .inner dl dd input.input06 {
              width: 485px;
              max-width: 100%; }
            .l-container section .recruit-wrapper .content-block .entry-form .inner dl dd input.input03 {
              width: 180px;
              max-width: 100%; }
            .l-container section .recruit-wrapper .content-block .entry-form .inner dl dd input.input04, .l-container section .recruit-wrapper .content-block .entry-form .inner dl dd input.input07 {
              width: 100%; }
            .l-container section .recruit-wrapper .content-block .entry-form .inner dl dd textarea.text01 {
              width: 100%;
              height: 180px; }
            .l-container section .recruit-wrapper .content-block .entry-form .inner dl dd ::placeholder {
              color: #aaa; }
          .l-container section .recruit-wrapper .content-block .entry-form .inner .button {
            margin-top: 60px;
            display: flex;
            justify-content: center; }
            @media only screen and (max-width: 480px) {
              .l-container section .recruit-wrapper .content-block .entry-form .inner .button {
                margin-top: 40px; } }
            .l-container section .recruit-wrapper .content-block .entry-form .inner .button .submit-button {
              background: #0D50D5;
              border-radius: 100px;
              width: 350px;
              max-width: 100%;
              padding: 20px 0;
              line-height: 1;
              font-size: 20px;
              font-weight: 700;
              color: #fff;
              text-align: center;
              display: block;
              transition: .4s all; }
              @media only screen and (max-width: 480px) {
                .l-container section .recruit-wrapper .content-block .entry-form .inner .button .submit-button {
                  font-size: 16px; } }
              .l-container section .recruit-wrapper .content-block .entry-form .inner .button .submit-button:hover {
                background: #073EA9; }
  .l-container section .office-wrapper .info-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap; }
    .l-container section .office-wrapper .info-wrapper .add-box {
      width: 460px; }
      @media only screen and (max-width: 1110px) {
        .l-container section .office-wrapper .info-wrapper .add-box {
          width: 40%; } }
      @media only screen and (max-width: 480px) {
        .l-container section .office-wrapper .info-wrapper .add-box {
          width: 100%; } }
      .l-container section .office-wrapper .info-wrapper .add-box p.address {
        font-size: 20px;
        margin-bottom: 20px; }
        @media only screen and (max-width: 1110px) {
          .l-container section .office-wrapper .info-wrapper .add-box p.address {
            font-size: 18px; } }
        @media only screen and (max-width: 480px) {
          .l-container section .office-wrapper .info-wrapper .add-box p.address {
            font-size: 16px; } }
      .l-container section .office-wrapper .info-wrapper .add-box .train-box {
        padding: 20px;
        background: #f8f8f8; }
        .l-container section .office-wrapper .info-wrapper .add-box .train-box > h4 {
          font-size: 20px;
          font-weight: 700;
          margin-bottom: 10px; }
          @media only screen and (max-width: 1110px) {
            .l-container section .office-wrapper .info-wrapper .add-box .train-box > h4 {
              font-size: 18px; } }
          @media only screen and (max-width: 480px) {
            .l-container section .office-wrapper .info-wrapper .add-box .train-box > h4 {
              font-size: 17px; } }
        @media only screen and (max-width: 480px) {
          .l-container section .office-wrapper .info-wrapper .add-box .train-box > ul li {
            font-size: 14px; } }
        .l-container section .office-wrapper .info-wrapper .add-box .train-box > ul li:before {
          content: '・';
          color: #0D50D5; }
    .l-container section .office-wrapper .info-wrapper .map-box {
      width: 600px; }
      @media only screen and (max-width: 1110px) {
        .l-container section .office-wrapper .info-wrapper .map-box {
          width: 58%; } }
      @media only screen and (max-width: 480px) {
        .l-container section .office-wrapper .info-wrapper .map-box {
          width: 100%; } }
  .l-container section .contact-text {
    font-size: 20px;
    margin-bottom: 60px; }
    @media only screen and (max-width: 1110px) {
      .l-container section .contact-text {
        font-size: 16px;
        margin-bottom: 40px; } }
    @media only screen and (max-width: 480px) {
      .l-container section .contact-text {
        font-size: 15px;
        margin-bottom: 30px; } }
  .l-container section .contact-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 40px; }
    .l-container section .contact-wrapper .contact-box {
      background: #f8f8f8;
      padding: 35px;
      border-radius: 10px;
      text-align: center;
      width: 47.25%; }
      @media only screen and (max-width: 1110px) {
        .l-container section .contact-wrapper .contact-box {
          width: 48.5%;
          padding: 35px 30px; } }
      @media only screen and (max-width: 910px) {
        .l-container section .contact-wrapper .contact-box {
          width: 550px;
          max-width: 100%; } }
      @media only screen and (max-width: 480px) {
        .l-container section .contact-wrapper .contact-box {
          padding: 30px 20px; } }
      .l-container section .contact-wrapper .contact-box > h3 {
        font-size: 32px;
        font-weight: 700;
        margin-bottom: 25px; }
        @media only screen and (max-width: 1110px) {
          .l-container section .contact-wrapper .contact-box > h3 {
            font-size: 30px; } }
        @media only screen and (max-width: 480px) {
          .l-container section .contact-wrapper .contact-box > h3 {
            font-size: 24px; } }
      .l-container section .contact-wrapper .contact-box .cv-button {
        margin-top: 30px;
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        flex-wrap: nowrap; }

header {
  height: 120px;
  padding: 20px 40px; }
  @media only screen and (max-width: 1110px) {
    header {
      height: 100px;
      padding: 10px 30px;
      display: flex;
      align-items: center; } }
  @media only screen and (max-width: 480px) {
    header {
      height: 60px;
      padding: 10px 15px; } }
  header .header-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap; }
    header .header-container .left-logo a {
      text-decoration: none; }
    header .header-container .left-logo p.logo {
      color: #222;
      text-decoration: none;
      font-size: 33px;
      font-weight: 700;
      line-height: 1.2;
      letter-spacing: 0; }
      @media only screen and (max-width: 1110px) {
        header .header-container .left-logo p.logo {
          font-size: 30px; } }
      @media only screen and (max-width: 480px) {
        header .header-container .left-logo p.logo {
          font-size: 21px;
          line-height: 1; } }
      header .header-container .left-logo p.logo span {
        font-size: 24px;
        font-weight: 500;
        font-family: "Albert Sans";
        display: block;
        margin-top: 10px;
        letter-spacing: 0; }
        @media only screen and (max-width: 1110px) {
          header .header-container .left-logo p.logo span {
            font-size: 22px;
            margin-top: 5px; } }
        @media only screen and (max-width: 480px) {
          header .header-container .left-logo p.logo span {
            font-size: 15.5px; } }
      header .header-container .left-logo p.logo:hover {
        transition: .4s all;
        opacity: .7; }
    header .header-container .right-menu ul.navi-menu {
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap; }
      header .header-container .right-menu ul.navi-menu li.pull-down-navi {
        position: relative;
        transition: .4s all;
        margin-right: 30px; }
        header .header-container .right-menu ul.navi-menu li.pull-down-navi > a {
          color: #222;
          font-size: 20px;
          font-weight: 700;
          padding: 20px 0px;
          text-decoration: none;
          transition: .1s all; }
          header .header-container .right-menu ul.navi-menu li.pull-down-navi > a:after {
            margin-left: 5px;
            content: '\f140';
            font-family: "Material Design Icons"; }
        header .header-container .right-menu ul.navi-menu li.pull-down-navi .s-menu {
          background-color: #333;
          /*pri*/
          left: 0;
          opacity: 0;
          position: absolute;
          visibility: hidden;
          transition: opacity 0.2s ease; }
          header .header-container .right-menu ul.navi-menu li.pull-down-navi .s-menu ul.s-menu-list {
            display: flex;
            justify-content: flex-start;
            flex-wrap: wrap;
            transition: .1s all; }
            header .header-container .right-menu ul.navi-menu li.pull-down-navi .s-menu ul.s-menu-list li {
              background: #333;
              /*pri*/ }
              header .header-container .right-menu ul.navi-menu li.pull-down-navi .s-menu ul.s-menu-list li a {
                color: #fff;
                font-size: 16px;
                width: 180px;
                display: block;
                padding: 12px 16px;
                transition: background 0.1s ease;
                text-decoration: none; }
                header .header-container .right-menu ul.navi-menu li.pull-down-navi .s-menu ul.s-menu-list li a:hover {
                  background: #0D50D5;
                  /*333*/ }
        header .header-container .right-menu ul.navi-menu li.pull-down-navi:hover > .s-menu {
          opacity: 1;
          visibility: visible; }
      header .header-container .right-menu ul.navi-menu li.recruit > a {
        width: 160px;
        display: block;
        color: #fff;
        background: #0D50D5;
        padding: 20px 0;
        text-align: center;
        border-radius: 10px;
        text-decoration: none;
        font-weight: 700;
        border: 2px solid #0D50D5;
        transition: .4s all; }
        header .header-container .right-menu ul.navi-menu li.recruit > a:hover {
          background: #fff;
          color: #0D50D5; }
    header .header-container .slide-menu .menu-button {
      position: fixed;
      top: 10px;
      right: 35px;
      display: flex;
      height: 60px;
      width: 60px;
      justify-content: center;
      align-items: center;
      z-index: 999990;
      cursor: pointer; }
      @media only screen and (max-width: 480px) {
        header .header-container .slide-menu .menu-button {
          height: 30px;
          width: 32px;
          top: 10px;
          right: 20px; } }
      header .header-container .slide-menu .menu-button span.bar, header .header-container .slide-menu .menu-button span.bar:before, header .header-container .slide-menu .menu-button span.bar:after {
        content: '';
        display: block;
        height: 4px;
        width: 40px;
        border-radius: 3px;
        background-color: #0D50D5;
        position: absolute; }
        @media only screen and (max-width: 480px) {
          header .header-container .slide-menu .menu-button span.bar, header .header-container .slide-menu .menu-button span.bar:before, header .header-container .slide-menu .menu-button span.bar:after {
            height: 3px;
            width: 32px;
            height: 1.5px; } }
      header .header-container .slide-menu .menu-button span.bar:before {
        bottom: 14px; }
        @media only screen and (max-width: 480px) {
          header .header-container .slide-menu .menu-button span.bar:before {
            bottom: 7px; } }
      header .header-container .slide-menu .menu-button span.bar:after {
        top: 14px; }
        @media only screen and (max-width: 480px) {
          header .header-container .slide-menu .menu-button span.bar:after {
            top: 7px; } }
      header .header-container .slide-menu .menu-button span.bar-name {
        font-size: 16px;
        font-weight: 700;
        bottom: -14px;
        position: absolute; }
        @media only screen and (max-width: 480px) {
          header .header-container .slide-menu .menu-button span.bar-name {
            font-size: 12px; } }
    header .header-container .slide-menu #menu-button-check {
      display: none; }
    header .header-container .slide-menu #menu-button-check:checked ~ .menu-button span.bar-name {
      color: #fff; }
    header .header-container .slide-menu #menu-button-check:checked ~ .menu-button span.bar {
      background-color: rgba(255, 255, 255, 0); }
    header .header-container .slide-menu #menu-button-check:checked ~ .menu-button span.bar::before {
      bottom: 0;
      transform: rotate(45deg);
      background: #fff; }
    header .header-container .slide-menu #menu-button-check:checked ~ .menu-button span.bar::after {
      top: 0;
      transform: rotate(-45deg);
      background: #fff; }
    header .header-container .slide-menu #menu-button-check:checked ~ .menu-content {
      left: 0; }
    header .header-container .slide-menu .menu-content {
      width: 100%;
      height: 100%;
      position: fixed;
      top: 0;
      left: 100%;
      overflow-y: auto;
      z-index: 999980;
      background-color: #0D50D5;
      transition: all 0.5s; }
      header .header-container .slide-menu .menu-content ul.main-pages {
        padding: 120px 0 0; }
        @media only screen and (max-width: 480px) {
          header .header-container .slide-menu .menu-content ul.main-pages {
            padding: 60px 0 0; } }
        header .header-container .slide-menu .menu-content ul.main-pages li {
          color: #fff; }
          header .header-container .slide-menu .menu-content ul.main-pages li a {
            display: block;
            width: 100%;
            text-decoration: none;
            padding: 16px 32px;
            position: relative;
            color: #fff;
            font-weight: 500;
            /*&:before {
            	content: "";
            	width: 7px;
            	height: 7px;
            	border-top: 1px solid $white;
            	border-right: 1px solid $white;
            	transform: rotate(45deg);
            	position: absolute;
            	right: 32px;
            	top: 24px;
            }*/ }
          header .header-container .slide-menu .menu-content ul.main-pages li ul.slide-sub {
            padding: 0 0 10px 60px; }
            header .header-container .slide-menu .menu-content ul.main-pages li ul.slide-sub li {
              margin-bottom: 12px; }
              header .header-container .slide-menu .menu-content ul.main-pages li ul.slide-sub li a {
                display: block;
                width: 100%;
                text-decoration: none;
                padding: 0;
                position: relative;
                font-weight: 500;
                /*&:before {
                	content: "";
                	width: 7px;
                	height: 7px;
                	border-top: 1px solid $white;
                	border-right: 1px solid $white;
                	transform: rotate(45deg);
                	position: absolute;
                	right: 32px;
                	top: calc(100% - 18px);
                }*/ }
              header .header-container .slide-menu .menu-content ul.main-pages li ul.slide-sub li:last-of-type {
                margin-bottom: 0; }

footer.sub {
  margin-top: 140px; }
  @media only screen and (max-width: 1110px) {
    footer.sub {
      margin-top: 80px; } }
  @media only screen and (max-width: 480px) {
    footer.sub {
      margin-top: 60px; } }
footer .footer-sitemap-area {
  width: 100%;
  background: #DAE4F8;
  padding: 60px 0; }
  @media only screen and (max-width: 1110px) {
    footer .footer-sitemap-area {
      padding: 50px 0; } }
  @media only screen and (max-width: 480px) {
    footer .footer-sitemap-area {
      padding: 40px 0; } }
  footer .footer-sitemap-area .logo-area {
    margin-bottom: 40px; }
    @media only screen and (max-width: 1110px) {
      footer .footer-sitemap-area .logo-area {
        margin-bottom: 25px; } }
    @media only screen and (max-width: 480px) {
      footer .footer-sitemap-area .logo-area {
        margin-bottom: 15px; } }
    footer .footer-sitemap-area .logo-area .logo {
      color: #222;
      font-size: 33px;
      font-weight: 700;
      line-height: 1.2;
      letter-spacing: 0; }
      @media only screen and (max-width: 1110px) {
        footer .footer-sitemap-area .logo-area .logo {
          font-size: 30px; } }
      @media only screen and (max-width: 480px) {
        footer .footer-sitemap-area .logo-area .logo {
          font-size: 26px; } }
      footer .footer-sitemap-area .logo-area .logo span {
        font-size: 24px;
        font-weight: 500;
        font-family: "Albert Sans";
        display: block;
        margin-top: 10px;
        letter-spacing: 0; }
        @media only screen and (max-width: 1110px) {
          footer .footer-sitemap-area .logo-area .logo span {
            font-size: 22px;
            margin-top: 5px; } }
        @media only screen and (max-width: 480px) {
          footer .footer-sitemap-area .logo-area .logo span {
            font-size: 19px; } }
  footer .footer-sitemap-area .link-area {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap; }
    footer .footer-sitemap-area .link-area .link-box {
      width: 220px; }
      @media only screen and (max-width: 1110px) {
        footer .footer-sitemap-area .link-area .link-box {
          width: 25%; } }
      @media only screen and (max-width: 480px) {
        footer .footer-sitemap-area .link-area .link-box {
          width: 100%; } }
      footer .footer-sitemap-area .link-area .link-box dl dt a,
      footer .footer-sitemap-area .link-area .link-box dl dd a {
        text-decoration: none;
        color: #222;
        transition: .4s all; }
        footer .footer-sitemap-area .link-area .link-box dl dt a:hover,
        footer .footer-sitemap-area .link-area .link-box dl dd a:hover {
          color: #0D50D5; }
      footer .footer-sitemap-area .link-area .link-box dl dt {
        font-weight: 700;
        margin-bottom: 10px; }
        @media only screen and (max-width: 1110px) {
          footer .footer-sitemap-area .link-area .link-box dl dt {
            margin-bottom: 0; } }
        @media only screen and (max-width: 480px) {
          footer .footer-sitemap-area .link-area .link-box dl dt {
            margin-bottom: 0;
            padding: 10px 0;
            border-bottom: 1px solid #aaa;
            margin-bottom: 10px; } }
      footer .footer-sitemap-area .link-area .link-box dl dd {
        font-size: 16px; }
        footer .footer-sitemap-area .link-area .link-box dl dd:before {
          content: '\f35f';
          font-family: "Material Design Icons"; }
footer .footer-copyright-area {
  width: 100%;
  background: #0D50D5;
  padding: 10px 0;
  text-align: center; }
  footer .footer-copyright-area copyright {
    font-size: 14px;
    font-family: "Albert Sans";
    color: #fff; }
    @media only screen and (max-width: 1110px) {
      footer .footer-copyright-area copyright {
        font-size: 13px; } }
    @media only screen and (max-width: 480px) {
      footer .footer-copyright-area copyright {
        font-size: 10px; } }

.page-title-block {
  margin-bottom: 60px; }
  @media only screen and (max-width: 1110px) {
    .page-title-block {
      margin-bottom: 50px; } }
  @media only screen and (max-width: 480px) {
    .page-title-block {
      margin-bottom: 40px; } }
  .page-title-block .breadcrumbs-wrapper {
    width: 1310px;
    max-width: 100%;
    margin: auto;
    padding: 30px 15px; }
    @media only screen and (max-width: 480px) {
      .page-title-block .breadcrumbs-wrapper {
        padding: 20px 15px; } }
    .page-title-block .breadcrumbs-wrapper ol.breadcrumbs {
      display: flex;
      font-size: 15px; }
      @media only screen and (max-width: 1110px) {
        .page-title-block .breadcrumbs-wrapper ol.breadcrumbs {
          font-size: 14px; } }
      @media only screen and (max-width: 480px) {
        .page-title-block .breadcrumbs-wrapper ol.breadcrumbs {
          font-size: 12px; } }
      .page-title-block .breadcrumbs-wrapper ol.breadcrumbs li a {
        text-decoration: none;
        font-weight: 500;
        color: #222; }
      .page-title-block .breadcrumbs-wrapper ol.breadcrumbs li:after {
        content: '\f142';
        font-family: "Material Design Icons";
        margin: 0 10px; }
      .page-title-block .breadcrumbs-wrapper ol.breadcrumbs li:last-of-type:after {
        content: ''; }
  .page-title-block .title-wrapper {
    margin: 10px 0 40px 0; }
    @media only screen and (max-width: 480px) {
      .page-title-block .title-wrapper {
        margin: 5px 0 25px 0; } }
    .page-title-block .title-wrapper > h1 {
      font-size: 48px;
      font-weight: 700;
      font-family: "Murecho"; }
      @media only screen and (max-width: 1110px) {
        .page-title-block .title-wrapper > h1 {
          font-size: 42px; } }
      @media only screen and (max-width: 480px) {
        .page-title-block .title-wrapper > h1 {
          font-size: 36px; } }
      .page-title-block .title-wrapper > h1 > span {
        color: #0D50D5;
        letter-spacing: 0;
        font-size: 21px;
        font-weight: 500;
        font-family: "Albert Sans";
        margin-bottom: 10px;
        display: block; }
        @media only screen and (max-width: 1110px) {
          .page-title-block .title-wrapper > h1 > span {
            font-size: 19px; } }
        @media only screen and (max-width: 480px) {
          .page-title-block .title-wrapper > h1 > span {
            font-size: 18px;
            margin-bottom: 0; } }
  .page-title-block .page-image {
    height: 350px;
    width: 93%;
    overflow: hidden;
    border-radius: 0 30px 30px 0;
    position: relative; }
    @media only screen and (max-width: 1110px) {
      .page-title-block .page-image {
        height: 250px;
        width: 96%; } }
    @media only screen and (max-width: 480px) {
      .page-title-block .page-image {
        height: 160px;
        width: 100%;
        border-radius: 0; } }
    .page-title-block .page-image img {
      height: 100%;
      width: 100%;
      object-fit: cover;
      object-position: center; }

h3.pages-common {
  background: #BFD0F3;
  font-size: 32px;
  font-weight: 700;
  font-family: "Murecho";
  line-height: 1.4;
  padding: 20px 30px;
  border-radius: 10px;
  width: 100%;
  margin-bottom: 30px; }
  @media only screen and (max-width: 1110px) {
    h3.pages-common {
      font-size: 30px;
      padding: 16px 25px; } }
  @media only screen and (max-width: 480px) {
    h3.pages-common {
      font-size: 24px;
      padding: 15px 20px;
      margin-bottom: 25px; } }

.link-block {
  margin-bottom: 60px; }
  @media only screen and (max-width: 1110px) {
    .link-block {
      margin-bottom: 50px; } }
  @media only screen and (max-width: 480px) {
    .link-block {
      margin-bottom: 40px; } }
  .link-block ul.office-links {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 20px; }
    .link-block ul.office-links li {
      width: 23.5%; }
      @media only screen and (max-width: 1110px) {
        .link-block ul.office-links li {
          width: 48.5%; } }
      @media only screen and (max-width: 480px) {
        .link-block ul.office-links li {
          width: 100%; } }
      .link-block ul.office-links li a {
        width: 100%;
        line-height: 1;
        font-size: 20px;
        color: #0D50D5;
        border: 1px solid #0D50D5;
        background: #fff;
        border-radius: 10px;
        display: block;
        padding: 20px 0;
        text-align: center;
        text-decoration: none;
        transition: .4s all; }
        @media only screen and (max-width: 1110px) {
          .link-block ul.office-links li a {
            font-size: 18px; } }
        @media only screen and (max-width: 1110px) {
          .link-block ul.office-links li a {
            font-size: 16px;
            padding: 15px 0; } }
        .link-block ul.office-links li a:hover {
          background: #0D50D5;
          color: #fff; }

a.contact-cv-button {
  display: block;
  border-radius: 100px;
  line-height: 1;
  font-size: 24px;
  font-family: "Albert Sans";
  font-weight: 700;
  color: #fff;
  padding: 20px 0;
  width: 390px;
  max-width: 100%;
  background: #0D50D5;
  border: 2px solid #0D50D5;
  text-align: center;
  text-decoration: none;
  transition: .4s all; }
  @media only screen and (max-width: 1110px) {
    a.contact-cv-button {
      font-size: 22px; } }
  @media only screen and (max-width: 480px) {
    a.contact-cv-button {
      font-size: 18px; } }
  a.contact-cv-button:hover {
    color: #0D50D5;
    background: #fff; }
  a.contact-cv-button.tel:before {
    content: '\f3f2';
    font-family: "Material Design Icons";
    margin-right: 5px; }
  a.contact-cv-button.mail:before {
    content: '\f1f0';
    font-family: "Material Design Icons";
    margin-right: 5px; }

.fadein {
  opacity: 1;
  translate: 0;
  transition: opacity 1s ease, translate 1s ease; }
@starting-style {
  .fadein {
    opacity: 0;
    translate: 0 50px; } }
.fadein-bottom {
  transition: all .5s linear;
  transform: translateY(100%);
  opacity: 0;
  overflow: hidden; }

.fadein-bottom.active {
  transform: translateY(0%);
  opacity: 1; }

.fadein-top {
  transition: all .5s linear;
  transform: translateY(-20%);
  opacity: 0;
  overflow: hidden; }

.fadein-top.active {
  transform: translateY(0%);
  opacity: 1; }

.fadein-left {
  transition: all .4s linear;
  transform: translateX(-100px);
  opacity: 0;
  overflow: hidden; }

.fadein-left.active {
  transform: translateX(0);
  opacity: 1; }

.fadein-right {
  transition: all .4s linear;
  transform: translateX(100px);
  opacity: 0;
  overflow: hidden; }

.fadein-right.active {
  transform: translateX(0);
  opacity: 1; }

.zoomin {
  transition: all .4s linear;
  font-size: 40%; }

.zoomin.active {
  font-size: 100%; }

.text-fadein span {
  display: inline-block;
  position: relative; }

.text-fadein span:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 120%;
  background: #fff;
  transition: all .8s linear; }

.text-fadein.active span:before {
  width: 0%; }

.zoomin {
  transition: all .4s linear;
  font-size: 20%; }

.zoomin.active {
  font-size: 100%; }

.blur-fadein {
  text-align: center;
  color: transparent; }

.blur-fadein.active {
  animation: blurFadeIn .3s ease-in forwards; }

@keyframes blurFadeIn {
  0% {
    opacity: 0;
    text-shadow: #000 1px 0px 20px; }
  50% {
    opacity: 0.5;
    text-shadow: #000 1px 0px 10px; }
  100% {
    opacity: 1;
    text-shadow: #000 0px 0px 0px; } }
.fadein-bottom-sub {
  transition: all .4s linear;
  transform: translateY(20%);
  opacity: 0;
  overflow: hidden; }

.fadein-bottom-sub.active {
  transform: translateY(0%);
  opacity: 1; }

.fadein-top-sub {
  transition: all .4s linear;
  transform: translateY(-20%);
  opacity: 0;
  overflow: hidden; }

.fadein-top-sub.active {
  transform: translateY(0%);
  opacity: 1; }

.fadein-left-sub {
  transition: all .4s linear;
  transform: translateX(-20px);
  opacity: 0;
  overflow: hidden; }

.fadein-left-sub.active {
  transform: translateX(0);
  opacity: 1; }

.container-bs {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 15px; }

.row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px; }

[class*="col-"] {
  padding: 0 15px;
  box-sizing: border-box;
  flex: 0 0 auto; }

@media (min-width: 280px) {
  .col-sm-1 {
    width: 8.3333333333%; } }

@media (min-width: 280px) {
  .col-sm-2 {
    width: 16.6666666667%; } }

@media (min-width: 280px) {
  .col-sm-3 {
    width: 25%; } }

@media (min-width: 280px) {
  .col-sm-4 {
    width: 33.3333333333%; } }

@media (min-width: 280px) {
  .col-sm-5 {
    width: 41.6666666667%; } }

@media (min-width: 280px) {
  .col-sm-6 {
    width: 50%; } }

@media (min-width: 280px) {
  .col-sm-7 {
    width: 58.3333333333%; } }

@media (min-width: 280px) {
  .col-sm-8 {
    width: 66.6666666667%; } }

@media (min-width: 280px) {
  .col-sm-9 {
    width: 75%; } }

@media (min-width: 280px) {
  .col-sm-10 {
    width: 83.3333333333%; } }

@media (min-width: 280px) {
  .col-sm-11 {
    width: 91.6666666667%; } }

@media (min-width: 280px) {
  .col-sm-12 {
    width: 100%; } }

@media (min-width: 768px) {
  .col-md-1 {
    width: 8.3333333333%; } }

@media (min-width: 768px) {
  .col-md-2 {
    width: 16.6666666667%; } }

@media (min-width: 768px) {
  .col-md-3 {
    width: 25%; } }

@media (min-width: 768px) {
  .col-md-4 {
    width: 33.3333333333%; } }

@media (min-width: 768px) {
  .col-md-5 {
    width: 41.6666666667%; } }

@media (min-width: 768px) {
  .col-md-6 {
    width: 50%; } }

@media (min-width: 768px) {
  .col-md-7 {
    width: 58.3333333333%; } }

@media (min-width: 768px) {
  .col-md-8 {
    width: 66.6666666667%; } }

@media (min-width: 768px) {
  .col-md-9 {
    width: 75%; } }

@media (min-width: 768px) {
  .col-md-10 {
    width: 83.3333333333%; } }

@media (min-width: 768px) {
  .col-md-11 {
    width: 91.6666666667%; } }

@media (min-width: 768px) {
  .col-md-12 {
    width: 100%; } }

@media (min-width: 1100px) {
  .col-lg-1 {
    width: 8.3333333333%; } }

@media (min-width: 1100px) {
  .col-lg-2 {
    width: 16.6666666667%; } }

@media (min-width: 1100px) {
  .col-lg-3 {
    width: 25%; } }

@media (min-width: 1100px) {
  .col-lg-4 {
    width: 33.3333333333%; } }

@media (min-width: 1100px) {
  .col-lg-5 {
    width: 41.6666666667%; } }

@media (min-width: 1100px) {
  .col-lg-6 {
    width: 50%; } }

@media (min-width: 1100px) {
  .col-lg-7 {
    width: 58.3333333333%; } }

@media (min-width: 1100px) {
  .col-lg-8 {
    width: 66.6666666667%; } }

@media (min-width: 1100px) {
  .col-lg-9 {
    width: 75%; } }

@media (min-width: 1100px) {
  .col-lg-10 {
    width: 83.3333333333%; } }

@media (min-width: 1100px) {
  .col-lg-11 {
    width: 91.6666666667%; } }

@media (min-width: 1100px) {
  .col-lg-12 {
    width: 100%; } }

@media (min-width: 1101px) {
  .col-xl-1 {
    width: 8.3333333333%; } }

@media (min-width: 1101px) {
  .col-xl-2 {
    width: 16.6666666667%; } }

@media (min-width: 1101px) {
  .col-xl-3 {
    width: 25%; } }

@media (min-width: 1101px) {
  .col-xl-4 {
    width: 33.3333333333%; } }

@media (min-width: 1101px) {
  .col-xl-5 {
    width: 41.6666666667%; } }

@media (min-width: 1101px) {
  .col-xl-6 {
    width: 50%; } }

@media (min-width: 1101px) {
  .col-xl-7 {
    width: 58.3333333333%; } }

@media (min-width: 1101px) {
  .col-xl-8 {
    width: 66.6666666667%; } }

@media (min-width: 1101px) {
  .col-xl-9 {
    width: 75%; } }

@media (min-width: 1101px) {
  .col-xl-10 {
    width: 83.3333333333%; } }

@media (min-width: 1101px) {
  .col-xl-11 {
    width: 91.6666666667%; } }

@media (min-width: 1101px) {
  .col-xl-12 {
    width: 100%; } }

.l-container .key-visual {
  width: 100%;
  min-height: 660px;
  background: url(../images/main/page/top/key.png) no-repeat center/cover;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 70px; }
  @media only screen and (min-width: 1520px) {
    .l-container .key-visual {
      height: calc(100vh - 120px); } }
  @media only screen and (max-width: 1110px) {
    .l-container .key-visual {
      margin-bottom: 50px; } }
  @media only screen and (max-width: 480px) {
    .l-container .key-visual {
      height: calc(100vh - 60px);
      min-height: calc(100vh - 60px);
      margin-bottom: 40px;
      background: url(../images/main/page/top/key_sp.png) no-repeat center/cover; } }
  .l-container .key-visual .heading-wrap {
    color: #fff;
    text-align: center; }
    @media only screen and (max-width: 480px) {
      .l-container .key-visual .heading-wrap {
        margin-top: 100px; } }
    .l-container .key-visual .heading-wrap > h1 {
      font-size: 60px;
      font-weight: 700;
      font-family: "Murecho";
      margin-bottom: 40px;
      text-shadow: 0 3px 5px rgba(0, 0, 0, 0.25); }
      @media only screen and (max-width: 1110px) {
        .l-container .key-visual .heading-wrap > h1 {
          font-size: 5.5vw; } }
      @media only screen and (max-width: 480px) {
        .l-container .key-visual .heading-wrap > h1 {
          font-size: 10vw; } }
    .l-container .key-visual .heading-wrap > h2 {
      font-size: 36px;
      font-weight: 700;
      font-family: "Murecho";
      line-height: 1.4;
      text-shadow: 0 3px 5px rgba(0, 0, 0, 0.25); }
      @media only screen and (max-width: 1110px) {
        .l-container .key-visual .heading-wrap > h2 {
          font-size: 4vw; } }
      @media only screen and (max-width: 480px) {
        .l-container .key-visual .heading-wrap > h2 {
          font-size: 6vw; } }
.l-container section {
  margin-bottom: 100px; }
  @media only screen and (max-width: 1110px) {
    .l-container section {
      margin-bottom: 60px; } }
  @media only screen and (max-width: 1110px) {
    .l-container section {
      margin-bottom: 50px; } }
  .l-container section .top-main-copy > h2 {
    text-align: center;
    font-size: 36px;
    font-weight: 700;
    font-family: "Murecho";
    line-height: 2;
    position: relative;
    margin-bottom: 135px; }
    @media only screen and (max-width: 1110px) {
      .l-container section .top-main-copy > h2 {
        font-size: 3.5vw;
        margin-bottom: 100px; } }
    @media only screen and (max-width: 480px) {
      .l-container section .top-main-copy > h2 {
        font-size: 6vw;
        margin-bottom: 80px; } }
    .l-container section .top-main-copy > h2:after {
      content: '';
      background-size: contain;
      display: inline-block;
      position: absolute;
      background-repeat: no-repeat;
      width: 60px;
      height: 5px;
      left: calc(50% - 30px);
      bottom: -40px;
      background: #0D50D5; }
      @media only screen and (max-width: 1110px) {
        .l-container section .top-main-copy > h2:after {
          width: 50px;
          height: 4px; } }
  .l-container section .top-news {
    width: 1020px;
    margin: auto; }
    @media only screen and (max-width: 1110px) {
      .l-container section .top-news {
        width: 100%; } }
    .l-container section .top-news h3.news-title {
      font-size: 40px;
      font-family: "Murecho";
      text-align: center;
      font-weight: 500;
      letter-spacing: 0.2em;
      margin-bottom: 30px; }
      @media only screen and (max-width: 1110px) {
        .l-container section .top-news h3.news-title {
          font-size: 34px; } }
      @media only screen and (max-width: 1110px) {
        .l-container section .top-news h3.news-title {
          font-size: 27px;
          margin-bottom: 10px; } }
    .l-container section .top-news ol.news-wrap li {
      padding: 15px 0;
      border-bottom: dotted 1px #aaa; }
      .l-container section .top-news ol.news-wrap li time {
        display: block;
        font-weight: 500;
        color: #0D50D5;
        font-size: 16px; }
        @media only screen and (max-width: 1110px) {
          .l-container section .top-news ol.news-wrap li time {
            font-size: 14px; } }
      .l-container section .top-news ol.news-wrap li h4.news-title {
        line-height: 1.7; }
  .l-container section .company-block {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap; }
  .l-container section .service-block {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap; }
  .l-container section .company-block .txt-main,
  .l-container section .service-block .txt-main {
    width: 540px; }
    @media only screen and (max-width: 1110px) {
      .l-container section .company-block .txt-main,
      .l-container section .service-block .txt-main {
        width: 50%;
        padding: 3vw; } }
    @media only screen and (max-width: 480px) {
      .l-container section .company-block .txt-main,
      .l-container section .service-block .txt-main {
        width: 100%;
        padding: 3vw; } }
    .l-container section .company-block .txt-main h3.top-contents-title,
    .l-container section .service-block .txt-main h3.top-contents-title {
      font-size: 40px;
      font-weight: 700;
      font-family: "Murecho";
      letter-spacing: 0.2em;
      margin-bottom: 30px; }
      @media only screen and (max-width: 1110px) {
        .l-container section .company-block .txt-main h3.top-contents-title,
        .l-container section .service-block .txt-main h3.top-contents-title {
          font-size: 34px;
          margin-bottom: 20px; } }
      @media only screen and (max-width: 480px) {
        .l-container section .company-block .txt-main h3.top-contents-title,
        .l-container section .service-block .txt-main h3.top-contents-title {
          font-size: 30px;
          margin-bottom: 20px; } }
      .l-container section .company-block .txt-main h3.top-contents-title span,
      .l-container section .service-block .txt-main h3.top-contents-title span {
        display: block;
        color: #0D50D5;
        font-family: "Albert Sans";
        font-size: 24px;
        font-style: italic;
        margin-bottom: 10px;
        letter-spacing: 0.06em; }
        @media only screen and (max-width: 1110px) {
          .l-container section .company-block .txt-main h3.top-contents-title span,
          .l-container section .service-block .txt-main h3.top-contents-title span {
            font-size: 20px;
            margin-bottom: 5px; } }
        @media only screen and (max-width: 480px) {
          .l-container section .company-block .txt-main h3.top-contents-title span,
          .l-container section .service-block .txt-main h3.top-contents-title span {
            font-size: 18px;
            margin-bottom: 5px; } }
    .l-container section .company-block .txt-main .link-button,
    .l-container section .service-block .txt-main .link-button {
      margin-top: 30px; }
      .l-container section .company-block .txt-main .link-button a.top-contents-button,
      .l-container section .service-block .txt-main .link-button a.top-contents-button {
        display: block;
        border-radius: 100px;
        line-height: 1;
        font-size: 20px;
        font-weight: 700;
        color: #fff;
        padding: 20px 0;
        width: 350px;
        max-width: 100%;
        background: #0D50D5;
        border: 2px solid #0D50D5;
        text-align: center;
        text-decoration: none;
        transition: .4s all; }
        .l-container section .company-block .txt-main .link-button a.top-contents-button:hover,
        .l-container section .service-block .txt-main .link-button a.top-contents-button:hover {
          color: #0D50D5;
          background: #fff; }
  .l-container section .company-block .pic-main,
  .l-container section .service-block .pic-main {
    width: 520px;
    max-width: 100%; }
    @media only screen and (max-width: 1110px) {
      .l-container section .company-block .pic-main,
      .l-container section .service-block .pic-main {
        width: 50%; } }
    @media only screen and (max-width: 480px) {
      .l-container section .company-block .pic-main,
      .l-container section .service-block .pic-main {
        width: 100%;
        padding: 3vw;
        margin-top: 10px; } }
.l-container .top-recruit {
  width: 100%;
  min-height: 650px;
  background: url(../images/main/page/top/bcg_recruit.png) no-repeat center/cover;
  margin-bottom: 0;
  display: flex;
  flex-direction: center;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap; }
  @media only screen and (max-width: 1110px) {
    .l-container .top-recruit {
      min-height: 600px; } }
  @media only screen and (max-width: 480px) {
    .l-container .top-recruit {
      min-height: 660px;
      background: url(../images/main/page/top/bcg_recruit_sp.png) no-repeat center/cover; } }
  .l-container .top-recruit .recruit-block {
    position: relative;
    display: flex;
    flex-direction: end;
    justify-content: flex-end;
    align-items: stretch;
    flex-wrap: wrap; }
    .l-container .top-recruit .recruit-block .recruit-box {
      width: 680px;
      background: rgba(255, 255, 255, 0.8);
      border-radius: 20px;
      padding: 50px; }
      @media only screen and (max-width: 1110px) {
        .l-container .top-recruit .recruit-block .recruit-box {
          padding: 35px;
          width: 68vw; } }
      @media only screen and (max-width: 480px) {
        .l-container .top-recruit .recruit-block .recruit-box {
          padding: 35px;
          width: 100%; } }
      .l-container .top-recruit .recruit-block .recruit-box h3.top-contents-title {
        font-size: 40px;
        font-weight: 700;
        font-family: "Murecho";
        letter-spacing: 0.2em;
        margin-bottom: 30px; }
        @media only screen and (max-width: 1110px) {
          .l-container .top-recruit .recruit-block .recruit-box h3.top-contents-title {
            font-size: 34px;
            margin-bottom: 20px; } }
        @media only screen and (max-width: 480px) {
          .l-container .top-recruit .recruit-block .recruit-box h3.top-contents-title {
            font-size: 30px; } }
      .l-container .top-recruit .recruit-block .recruit-box .link-button {
        margin-top: 30px; }
        .l-container .top-recruit .recruit-block .recruit-box .link-button a.top-contents-button {
          display: block;
          border-radius: 100px;
          line-height: 1;
          font-size: 20px;
          font-weight: 700;
          color: #fff;
          padding: 20px 0;
          width: 350px;
          max-width: 100%;
          background: #0D50D5;
          border: 2px solid #0D50D5;
          text-align: center;
          text-decoration: none;
          transition: .4s all; }
          .l-container .top-recruit .recruit-block .recruit-box .link-button a.top-contents-button:hover {
            color: #0D50D5;
            background: #fff; }
