@charset "UTF-8";
/*-------------------------------------------
 variable
-------------------------------------------*/
/***  color  ***/
/***  font-size  ***/
/***  screen  ***/
/***  font(google)  ***/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Noto+Serif+JP:wght@700;900&display=swap");
/***  point  ***/
/*-------------------------------------------
 reset
-------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video,
main {
  margin: 0;
  padding: 0;
  border: 0;
  outline: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: baseline;
  caret-color: transparent; }

ol, ul {
  list-style: none; }

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

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-appearance: none !important;
  border-radius: 0; }
  input[type="submit"]::-webkit-search-decoration,
  input[type="button"]::-webkit-search-decoration {
    display: none; }
  input[type="submit"]::focus,
  input[type="button"]::focus {
    outline-offset: -2px; }

/*-------------------------------------------
 plugin
-------------------------------------------*/
.mw_wp_form .error {
  color: #ec1212;
  font-weight: 700;
  font-size: 1.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 1.0rem; }

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0; }

/*-------------------------------------------
 style
-------------------------------------------*/
/***  tag  ***/
html {
  font-size: 62.5%; }
  @media screen and (max-width: 767px) {
    html {
      font-size: 52.5%; } }

body {
  font-family: 'Noto Sans JP','游ゴシック Medium',YuGothic,YuGothicM,'Hiragino Kaku Gothic ProN','Hiragino Kaku Gothic Pro',メイリオ,Meiryo,sans-serif;
  font-weight: 400;
  color: #333333;
  font-size: 1.6rem;
  line-height: 1; }

ul {
  margin: 0;
  padding: 0;
  list-style-type: none; }
  ul li {
    list-style-type: inherit; }

button {
  background: none;
  border: none;
  padding: 0; }

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

a {
  text-decoration: none;
  -webkit-transition: all ease-in-out .2s;
  transition: all ease-in-out .2s; }
  a:hover {
    opacity: 0.6;
    -webkit-transition: all ease-in-out .2s;
    transition: all ease-in-out .2s; }

@media screen and (max-width: 959px) {
  main {
    padding-top: 6.0rem; } }

article {
  text-align: center;
  margin-bottom: 8.0rem; }
  @media screen and (max-width: 767px) {
    article {
      margin-bottom: 6.0rem; } }

h3 {
  font-weight: 900;
  font-size: 2rem;
  line-height: 1.3;
  text-align: left;
  margin-bottom: 1.0rem; }
  h3.darkblue {
    color: #122E69; }
  h3.orange {
    color: #f46000; }

p {
  color: #333333;
  font-size: 1.8rem;
  text-align: justify;
  line-height: 2.0; }

b {
  font-weight: 700; }

/***  common  ***/
.bc {
  background-color: #fffafa;
  padding-top: 8.0rem;
  padding-bottom: 8.0rem; }
  @media screen and (max-width: 767px) {
    .bc {
      padding-top: 6.0rem;
      padding-bottom: 6.0rem; } }

.bg {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 900;
  background-color: rgba(0, 0, 0, 0.75);
  display: none; }
  .bg.open {
    display: block; }

.area-sc {
  max-width: 100%;
  width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2.0rem;
  padding-right: 2.0rem; }

.title-area {
  margin-bottom: 3.5rem; }
  @media screen and (max-width: 767px) {
    .title-area {
      margin-bottom: 3.0rem; } }
  .title-area .deco {
    color: #ce5022;
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
    font-size: 1.8rem;
    margin-bottom: 1.5rem; }
    @media screen and (max-width: 767px) {
      .title-area .deco {
        font-size: 1.6rem; } }
  .title-area h2, .title-area h3 {
    color: #000000;
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
    font-size: 3.8rem;
    text-align: center;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    letter-spacing: 0.1rem; }
    @media screen and (max-width: 767px) {
      .title-area h2, .title-area h3 {
        font-size: 3.2rem; } }
  .title-area .copy {
    color: #333333;
    font-size: 1.4rem;
    margin-top: 1.5rem; }

.more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .more a {
    color: #000000;
    font-weight: 700;
    font-size: 1.6rem; }
    .more a img {
      width: 4.0rem;
      height: auto;
      padding-left: 1.0rem; }

.band {
  background-size: cover;
  width: 100%;
  padding-top: 7.0rem;
  padding-bottom: 7.0rem;
  margin-bottom: 2.0rem; }
  @media screen and (max-width: 767px) {
    .band {
      padding-top: 3.0rem;
      padding-bottom: 3.0rem; } }
  .band.company {
    background-image: url(../img/page/band_company_01.jpg); }
  .band.business {
    background-image: url(../img/page/band_business_01.jpg); }
  .band.work {
    background-image: url(../img/page/band_work_01.jpg); }
  .band.recruit {
    background-image: url(../img/page/band_recruit_01.jpg?20251021); }
  .band.contact {
    background-image: url(../img/page/band_contact_01.jpg); }
  .band h1 {
    color: #ffffff;
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
    font-size: 5rem;
    text-align: center;
    letter-spacing: 1.0rem;
    margin-top: 1.0rem;
    margin-bottom: 1.5rem; }
    @media screen and (max-width: 767px) {
      .band h1 {
        font-size: 3.8rem;
        margin-bottom: 1.0rem; } }
  .band p {
    color: #cccccc;
    font-size: 2.4rem;
    text-align: center;
    letter-spacing: 0.2rem; }
    @media screen and (max-width: 767px) {
      .band p {
        font-size: 1.8rem; } }

ul.bread {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 2.0rem;
  margin-bottom: 4.0rem; }
  ul.bread li {
    margin-right: 3.0rem; }
    ul.bread li a {
      color: #122E69;
      font-weight: 700;
      position: relative; }
      ul.bread li a::after {
        content: '';
        width: 0.8rem;
        height: 0.8rem;
        border-top: solid 1px #666666;
        border-right: solid 1px #666666;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg);
        position: absolute;
        top: calc(50% - 0.4rem);
        right: -1.5rem; }

.anchor {
  opacity: 0;
  display: block;
  margin-top: -5.0rem;
  padding-top: 5.0rem; }

/***  header  ***/
.nav-menu-wrap {
  background-color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 8.0rem;
  /* .right */ }
  @media screen and (max-width: 959px) {
    .nav-menu-wrap {
      width: 100%;
      height: auto;
      position: fixed;
      z-index: 901;
      border-bottom: 1px solid #eeeeee; } }
  .nav-menu-wrap .left {
    width: 28.0rem; }
    @media screen and (max-width: 959px) {
      .nav-menu-wrap .left {
        width: 28.0rem;
        height: 6.0rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; } }
    @media screen and (max-width: 767px) {
      .nav-menu-wrap .left {
        width: 20.0rem; } }
    @media screen and (max-width: 360px) {
      .nav-menu-wrap .left {
        width: 17.0rem; } }
    .nav-menu-wrap .left .logo {
      width: 100%; }
      @media screen and (max-width: 959px) {
        .nav-menu-wrap .left .logo {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; } }
      .nav-menu-wrap .left .logo a {
        width: 100%;
        display: block;
        padding: 1.5rem; }
        @media screen and (max-width: 959px) {
          .nav-menu-wrap .left .logo a {
            padding: 0.5rem 2.0rem; } }
        @media screen and (max-width: 767px) {
          .nav-menu-wrap .left .logo a {
            padding: 1.0rem; } }
        .nav-menu-wrap .left .logo a img {
          width: 100%;
          height: auto; }
  .nav-menu-wrap .right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    height: 100%; }
    @media screen and (max-width: 959px) {
      .nav-menu-wrap .right {
        height: 6.0rem; } }
    .nav-menu-wrap .right ul.nav-menu {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      @media screen and (max-width: 959px) {
        .nav-menu-wrap .right ul.nav-menu {
          display: none; } }
      .nav-menu-wrap .right ul.nav-menu li {
        margin-left: 4.0rem; }
        @media screen and (max-width: 1200px) {
          .nav-menu-wrap .right ul.nav-menu li {
            margin-left: 2.5rem; } }
        .nav-menu-wrap .right ul.nav-menu li:nth-of-type(1) {
          margin-left: 0; }
        .nav-menu-wrap .right ul.nav-menu li a {
          font-weight: 700;
          color: #122E69;
          font-size: 1.8rem; }
          @media screen and (max-width: 1200px) {
            .nav-menu-wrap .right ul.nav-menu li a {
              font-size: 1.6rem;
              display: block; } }
    .nav-menu-wrap .right ul.nav-contact {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      height: 100%; }
      .nav-menu-wrap .right ul.nav-contact li {
        margin-left: 4.0rem; }
        @media screen and (max-width: 1200px) {
          .nav-menu-wrap .right ul.nav-contact li {
            margin-left: 2.0rem; } }
        @media screen and (max-width: 767px) {
          .nav-menu-wrap .right ul.nav-contact li {
            margin-left: 0; } }
      .nav-menu-wrap .right ul.nav-contact li.phone {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        height: 100%; }
        @media screen and (max-width: 959px) {
          .nav-menu-wrap .right ul.nav-contact li.phone {
            width: 100%;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            border-bottom: 1px solid #eeeeee; } }
        @media screen and (max-width: 959px) {
          .nav-menu-wrap .right ul.nav-contact li.phone a {
            padding-top: 1.5rem;
            padding-bottom: 1.5rem; } }
        @media screen and (max-width: 767px) {
          .nav-menu-wrap .right ul.nav-contact li.phone a {
            background: #fffafa;
            height: 100%;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            padding: 1.5rem; } }
        @media screen and (max-width: 360px) {
          .nav-menu-wrap .right ul.nav-contact li.phone a {
            padding-left: 1.0rem;
            padding-right: 1.0rem; } }
        .nav-menu-wrap .right ul.nav-contact li.phone img {
          width: 1.5rem;
          height: auto; }
          @media screen and (max-width: 1200px) {
            .nav-menu-wrap .right ul.nav-contact li.phone img {
              width: 1.2rem; } }
          @media screen and (max-width: 959px) {
            .nav-menu-wrap .right ul.nav-contact li.phone img {
              width: 1.5rem; } }
          @media screen and (max-width: 767px) {
            .nav-menu-wrap .right ul.nav-contact li.phone img {
              width: 2.0rem; } }
        .nav-menu-wrap .right ul.nav-contact li.phone span {
          color: #000000;
          font-weight: 700;
          font-size: 2.4rem; }
          @media screen and (max-width: 1200px) {
            .nav-menu-wrap .right ul.nav-contact li.phone span {
              font-size: 2rem; } }
          @media screen and (max-width: 959px) {
            .nav-menu-wrap .right ul.nav-contact li.phone span {
              font-size: 2.4rem; } }
          @media screen and (max-width: 767px) {
            .nav-menu-wrap .right ul.nav-contact li.phone span {
              display: none; } }
      .nav-menu-wrap .right ul.nav-contact li.contact {
        height: 100%; }
        .nav-menu-wrap .right ul.nav-contact li.contact a {
          background: #f46000;
          color: #ffffff;
          font-weight: 700;
          font-size: 1.6rem;
          text-align: center;
          white-space: pre;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          height: 100%;
          padding-left: 2.0rem;
          padding-right: 2.0rem; }
          @media screen and (max-width: 1200px) {
            .nav-menu-wrap .right ul.nav-contact li.contact a {
              font-size: 1.5rem; } }
          @media screen and (max-width: 959px) {
            .nav-menu-wrap .right ul.nav-contact li.contact a {
              line-height: 0.8; } }
          @media screen and (max-width: 767px) {
            .nav-menu-wrap .right ul.nav-contact li.contact a {
              font-weight: 500;
              font-size: 1.2rem;
              line-height: 1.0;
              padding-left: 1.0rem;
              padding-right: 1.0rem; } }
          @media screen and (max-width: 360px) {
            .nav-menu-wrap .right ul.nav-contact li.contact a {
              padding-left: 0.5rem;
              padding-right: 0.5rem; } }
    .nav-menu-wrap .right .icon-menu {
      display: none; }
      @media screen and (max-width: 959px) {
        .nav-menu-wrap .right .icon-menu {
          background: #122E69;
          width: 10.0rem;
          height: 100%;
          padding: 1.0rem 3.2rem;
          display: block;
          cursor: pointer;
          position: relative; }
          .nav-menu-wrap .right .icon-menu::after {
            content: 'メニュー';
            font-size: 1.4rem;
            color: #ffffff;
            text-align: center;
            word-break: keep-all;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center; } }
    @media screen and (max-width: 959px) and (max-width: 767px) {
      .nav-menu-wrap .right .icon-menu::after {
        font-size: 1.2rem;
        margin-top: 0.2rem; } }
      @media screen and (max-width: 959px) {
          .nav-menu-wrap .right .icon-menu.open::after {
            content: '閉じる';
            left: auto; } }
      @media screen and (max-width: 767px) {
        .nav-menu-wrap .right .icon-menu {
          width: 8.0rem;
          padding: 1.0rem 2.0rem; }
          .nav-menu-wrap .right .icon-menu::after {
            left: 0; } }
      @media screen and (max-width: 360px) {
        .nav-menu-wrap .right .icon-menu {
          padding-left: 1.5rem;
          padding-right: 1.5rem; } }
      .nav-menu-wrap .right .icon-menu .menu {
        position: relative;
        width: 100%;
        height: 65%; }
        .nav-menu-wrap .right .icon-menu .menu.open span.line-1 {
          top: 0;
          bottom: 0;
          margin: auto;
          -webkit-transform: rotate(45deg);
                  transform: rotate(45deg); }
        .nav-menu-wrap .right .icon-menu .menu.open span.line-2 {
          opacity: 0.0;
          left: 6.0rem; }
        .nav-menu-wrap .right .icon-menu .menu.open span.line-3 {
          top: 0;
          bottom: 0;
          margin: auto;
          -webkit-transform: rotate(-45deg);
                  transform: rotate(-45deg); }
        .nav-menu-wrap .right .icon-menu .menu span {
          background: #ffffff;
          display: block;
          width: 100%;
          height: 0.2rem;
          position: absolute;
          right: 0;
          -webkit-transition: all ease-out .3s;
          transition: all ease-out .3s; }
          .nav-menu-wrap .right .icon-menu .menu span.line-1 {
            top: 0.4rem; }
            @media screen and (max-width: 767px) {
              .nav-menu-wrap .right .icon-menu .menu span.line-1 {
                top: 0.2rem; } }
          .nav-menu-wrap .right .icon-menu .menu span.line-2 {
            opacity: 1.0;
            top: calc(50% - 0.2rem); }
          .nav-menu-wrap .right .icon-menu .menu span.line-3 {
            bottom: 0.6rem; }

.nav-menu-list-wrap {
  display: none;
  position: fixed;
  z-index: 900;
  right: 0; }
  @media screen and (max-width: 959px) {
    .nav-menu-list-wrap {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      padding-top: 6.0rem; }
      .nav-menu-list-wrap ul.nav-menu-list {
        background-color: #f8f9ff;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        width: 30.0rem;
        -webkit-transform: translateX(100rem);
                transform: translateX(100rem);
        -webkit-transition: all .2s ease-in-out;
        transition: all .2s ease-in-out; }
        .nav-menu-list-wrap ul.nav-menu-list.open {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: start;
              -ms-flex-pack: start;
                  justify-content: flex-start;
          height: 200.0rem;
          -webkit-transition: all .2s ease-in-out;
          transition: all .2s ease-in-out;
          -webkit-transform: none;
                  transform: none; }
        .nav-menu-list-wrap ul.nav-menu-list li {
          width: 100%;
          border-bottom: solid 1px #eeeeee; }
          .nav-menu-list-wrap ul.nav-menu-list li a {
            font-weight: 700;
            color: #122E69;
            font-size: 1.8rem;
            display: block;
            padding: 2.0rem;
            position: relative; }
            .nav-menu-list-wrap ul.nav-menu-list li a::after {
              content: '';
              width: 1.0rem;
              height: 1.0rem;
              border-top: solid 2px #122E69;
              border-right: solid 2px #122E69;
              -webkit-transform: rotate(45deg);
                      transform: rotate(45deg);
              position: absolute;
              top: calc(50% - 0.5rem);
              right: 2.0rem; } }

/***  footer  ***/
.footer-top {
  background-color: #f5f9ff;
  margin-top: 15.0rem;
  padding-top: 5.0rem;
  padding-bottom: 5.0rem; }
  @media screen and (max-width: 767px) {
    .footer-top {
      margin-top: 12.0rem; } }
  .footer-top .footer-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media screen and (max-width: 767px) {
      .footer-top .footer-box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .footer-top .footer-box .box-left {
      width: 35.0rem; }
      @media screen and (max-width: 767px) {
        .footer-top .footer-box .box-left {
          width: 100%;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; } }
      .footer-top .footer-box .box-left h2 {
        width: 32.0rem;
        margin-bottom: 1.5rem; }
        .footer-top .footer-box .box-left h2 img {
          width: 100%;
          height: auto; }
      .footer-top .footer-box .box-left p {
        font-size: 1.6rem;
        margin-bottom: 1.5rem; }
      .footer-top .footer-box .box-left .contact-button a {
        background-color: #f46000;
        color: #ffffff;
        font-weight: 700;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        padding: 1.5rem 2.0rem;
        border-radius: 0.2rem; }
        .footer-top .footer-box .box-left .contact-button a img {
          width: 3.0rem;
          height: 100%;
          padding-right: 1.0rem; }
    .footer-top .footer-box .box-right {
      width: calc(100% - 35.0rem); }
      @media screen and (max-width: 767px) {
        .footer-top .footer-box .box-right {
          width: 100%;
          margin-top: 4.0rem; } }
      .footer-top .footer-box .box-right .nav-menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end; }
        @media screen and (max-width: 767px) {
          .footer-top .footer-box .box-right .nav-menu {
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center; } }
        .footer-top .footer-box .box-right .nav-menu li a {
          color: #122E69;
          font-weight: 700;
          font-size: 1.8rem;
          padding-left: 2.0rem;
          padding-right: 2.0rem; }
          @media screen and (max-width: 959px) {
            .footer-top .footer-box .box-right .nav-menu li a {
              font-size: 1.6rem;
              padding-left: 1.5rem;
              padding-right: 1.5rem; } }
          @media screen and (max-width: 959px) {
            .footer-top .footer-box .box-right .nav-menu li a {
              padding-left: 1.0rem;
              padding-right: 1.0rem; } }

.footer-bottom {
  background-color: #122E69;
  width: 100%; }
  .footer-bottom small {
    color: #ffffff;
    font-family: 'middle';
    font-size: 1.4rem;
    text-align: center;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    display: block; }

/***  home  ***/
.home-visual {
  background-image: url(../img/page/home_main_01.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center bottom;
  max-width: 100%;
  width: 100%;
  height: 60.0rem;
  margin-bottom: 0; }
  @media screen and (max-width: 959px) {
    .home-visual {
      height: 45.0rem; } }
  @media screen and (max-width: 767px) {
    .home-visual {
      height: 25.0rem; } }
  .home-visual .visual {
    max-width: 100%;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .home-visual .visual .copy {
      color: #ffffff;
      font-weight: 700;
      font-size: 6.4rem;
      -webkit-font-feature-settings: "palt";
              font-feature-settings: "palt";
      text-align: center;
      word-break: keep-all;
      letter-spacing: 0.1rem;
      text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.6), 4px 4px 4px rgba(0, 0, 0, 0.6);
      margin-bottom: 4.0rem; }
      @media screen and (max-width: 959px) {
        .home-visual .visual .copy {
          font-size: 5rem; } }
      @media screen and (max-width: 767px) {
        .home-visual .visual .copy {
          font-size: 6.0vw;
          margin-bottom: 2.0rem; } }
    .home-visual .visual .company {
      color: #000000;
      font-weight: 700;
      font-size: 2.4rem;
      text-align: center;
      word-break: keep-all;
      text-shadow: 0px 0px 4px rgba(255, 255, 255, 0.6), 0px 0px 8px rgba(255, 255, 255, 0.6), 0px 0px 12px rgba(255, 255, 255, 0.6);
      line-height: 1.6; }
      @media screen and (max-width: 767px) {
        .home-visual .visual .company {
          font-size: 4.5vw; } }

.home-company-box {
  background-color: #f6f6f6;
  padding: 5.0rem;
  position: relative; }
  @media screen and (max-width: 767px) {
    .home-company-box {
      padding: 2.0rem; } }
  .home-company-box .box-left {
    width: 70.0rem;
    height: 46.5rem; }
    @media screen and (max-width: 767px) {
      .home-company-box .box-left {
        width: 100%;
        height: 45.0rem; } }
    .home-company-box .box-left img {
      width: 100%;
      height: auto; }
  .home-company-box .box-right {
    background-color: #ffffff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: calc(50% - 5.0rem);
    position: absolute;
    right: 0;
    top: 0; }
    @media screen and (min-width: 1500px) {
      .home-company-box .box-right {
        width: calc(50% + 10.0rem); } }
    @media screen and (max-width: 767px) {
      .home-company-box .box-right {
        background: rgba(255, 255, 255, 0.8);
        width: 70%;
        top: 2.0rem;
        right: 2.0rem; } }
    .home-company-box .box-right .title-area {
      text-align: left; }
      @media screen and (max-width: 767px) {
        .home-company-box .box-right .title-area {
          margin-bottom: 2.0rem; } }
      .home-company-box .box-right .title-area h2 {
        text-align: left; }
    .home-company-box .box-right .board {
      width: 55.0rem;
      padding: 5.0rem; }
      @media screen and (max-width: 767px) {
        .home-company-box .box-right .board {
          width: 100%;
          padding: 4.0rem; } }
      .home-company-box .box-right .board p {
        margin-bottom: 2.5rem; }

.home-business-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .home-business-nav li {
    background-color: #f5f9ff;
    width: calc(50% - 1.5rem);
    padding: 4.0rem;
    margin-bottom: 3.0rem; }
    @media screen and (max-width: 767px) {
      .home-business-nav li {
        width: 100%;
        padding: 3.0rem;
        margin-bottom: 2.0rem; } }
    .home-business-nav li:nth-of-type(odd) {
      margin-right: 1.5rem; }
      @media screen and (max-width: 767px) {
        .home-business-nav li:nth-of-type(odd) {
          margin-right: 0; } }
    .home-business-nav li:nth-of-type(even) {
      margin-left: 1.5rem; }
      @media screen and (max-width: 767px) {
        .home-business-nav li:nth-of-type(even) {
          margin-left: 0; } }
    .home-business-nav li.last {
      margin-bottom: 0; }
      @media screen and (max-width: 767px) {
        .home-business-nav li.last {
          margin-bottom: 2.0rem; } }
    .home-business-nav li.last-more {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
      @media screen and (max-width: 767px) {
        .home-business-nav li.last-more {
          margin-bottom: 0; } }
      .home-business-nav li.last-more .more {
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end; }
      .home-business-nav li.last-more a {
        color: #122E69;
        font-weight: 900;
        font-size: 2rem;
        line-height: 1.3;
        text-align: left;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: start;
        margin-bottom: 1.0rem; }
        .home-business-nav li.last-more a span {
          padding-right: 1.0rem; }
        .home-business-nav li.last-more a img {
          margin-top: 0.5rem; }
    .home-business-nav li h3 {
      color: #122E69; }
    .home-business-nav li p {
      margin-bottom: 4.0rem; }
      @media screen and (max-width: 767px) {
        .home-business-nav li p {
          margin-bottom: 2.5rem; } }
    .home-business-nav li .more {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; }

.home-work-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%; }
  @media screen and (max-width: 767px) {
    .home-work-nav {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  .home-work-nav li {
    width: 25%; }
    @media screen and (max-width: 767px) {
      .home-work-nav li {
        width: 50%;
        margin-bottom: 2.0rem; }
        .home-work-nav li.last {
          margin-bottom: 0; } }
    .home-work-nav li a {
      display: block; }
    .home-work-nav li figure {
      width: 100%;
      height: 30.0rem; }
      @media screen and (max-width: 1200px) {
        .home-work-nav li figure {
          height: 25.0rem; } }
      @media screen and (max-width: 767px) {
        .home-work-nav li figure {
          height: 20.0rem; } }
      .home-work-nav li figure.last-more {
        background-color: #fffafa;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding-left: 3.0rem; }
    .home-work-nav li h3 {
      color: #000000;
      font-weight: 700;
      font-size: 1.8rem;
      line-height: 1.3;
      text-align: center;
      margin-top: 1.0rem; }
      @media screen and (max-width: 959px) {
        .home-work-nav li h3 {
          font-size: 1.6rem; } }

.home-recruit-nav-wrap {
  background-color: #f5f9ff; }
  .home-recruit-nav-wrap .home-recruit-nav-in {
    background-image: url("../img/page/home_recruit_01.webp");
    background-size: cover;
    background-position-x: right; }
  .home-recruit-nav-wrap .home-recruit-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (max-width: 959px) {
      .home-recruit-nav-wrap .home-recruit-nav {
        padding-left: 0; } }
    .home-recruit-nav-wrap .home-recruit-nav .recruit-contact {
      background: #f5f9ff;
      width: 35%;
      padding: 4.0rem 5.0rem 4.0rem 0; }
      @media screen and (max-width: 959px) {
        .home-recruit-nav-wrap .home-recruit-nav .recruit-contact {
          width: 40%;
          padding-left: 3.0rem;
          padding-right: 3.0rem; } }
      @media screen and (max-width: 767px) {
        .home-recruit-nav-wrap .home-recruit-nav .recruit-contact {
          width: 60%;
          padding-left: 2.0rem;
          padding-right: 2.0rem; } }
      .home-recruit-nav-wrap .home-recruit-nav .recruit-contact h3 {
        color: #122E69; }
      .home-recruit-nav-wrap .home-recruit-nav .recruit-contact p {
        margin-bottom: 4.0rem; }
    .home-recruit-nav-wrap .home-recruit-nav .recruit-img {
      width: 65%; }
      @media screen and (max-width: 959px) {
        .home-recruit-nav-wrap .home-recruit-nav .recruit-img {
          width: 60%; } }
      @media screen and (max-width: 767px) {
        .home-recruit-nav-wrap .home-recruit-nav .recruit-img {
          width: 40%; } }

/***  page  ***/
.sign {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 3.0rem; }
  @media screen and (max-width: 360px) {
    .sign {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: end;
          -ms-flex-align: end;
              align-items: flex-end; } }
  .sign .post {
    padding-right: 3.0rem; }
    @media screen and (max-width: 360px) {
      .sign .post {
        padding-right: 0;
        margin-bottom: 1.0rem; } }
  .sign .name {
    font-family: 'Noto Serif JP', serif;
    font-weight: 900;
    font-size: 3.8rem; }
    @media screen and (max-width: 767px) {
      .sign .name {
        font-size: 3.0rem; } }

.concept {
  background-color: #fffafa;
  font-weight: 700;
  font-size: 2.4rem;
  text-align: center;
  padding-top: 3.0rem;
  padding-bottom: 3.0rem; }

.table-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  border-bottom: 1px solid #cccccc; }
  .table-list dt, .table-list dd {
    font-size: 1.8rem;
    text-align: left;
    line-height: 1.6;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    border-top: 1px solid #cccccc; }
    .table-list dt.wrap, .table-list dd.wrap {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      .table-list dt.wrap div:nth-of-type(2), .table-list dd.wrap div:nth-of-type(2) {
        min-width: 4.0rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end; }
    .table-list dt a, .table-list dd a {
      font-weight: 700;
      color: #f46000;
      text-decoration: underline; }
  .table-list dt {
    color: #122E69;
    font-weight: 700;
    width: 15.0rem;
    padding-left: 1.5rem; }
  .table-list dd {
    width: calc(100% - 15.0rem);
    padding-right: 1.5rem; }
  .table-list u {
    text-decoration: none;
    color: #003366; }

.box-layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 2.0rem; }
  @media screen and (max-width: 767px) {
    .box-layout {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .box-layout .img {
    width: 40.0rem; }
    @media screen and (max-width: 767px) {
      .box-layout .img {
        width: 100%;
        margin-bottom: 2.0rem; } }
    .box-layout .img img {
      width: 100%;
      height: auto; }
  .box-layout .txt {
    width: calc(100% - 40.0rem); }
    @media screen and (max-width: 767px) {
      .box-layout .txt {
        width: 100%; } }
    .box-layout .txt h3 {
      font-weight: 700;
      color: #ce5022;
      margin-top: 0.5rem;
      margin-bottom: 0.5rem; }
  .box-layout div:nth-of-type(odd) {
    padding-right: 2.0rem; }
    @media screen and (max-width: 767px) {
      .box-layout div:nth-of-type(odd) {
        padding-right: 0; } }
  .box-layout div:nth-of-type(even) {
    padding-left: 2.0rem; }
    @media screen and (max-width: 767px) {
      .box-layout div:nth-of-type(even) {
        padding-left: 0; } }

ul.pict-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%; }
  ul.pict-list li {
    width: 50%;
    margin-bottom: 3.0rem; }
    @media screen and (max-width: 767px) {
      ul.pict-list li {
        margin-bottom: 2.0rem; } }
    ul.pict-list li:nth-of-type(odd) {
      padding-right: 1.0rem; }
      @media screen and (max-width: 767px) {
        ul.pict-list li:nth-of-type(odd) {
          padding-right: 0.5rem; } }
    ul.pict-list li:nth-of-type(even) {
      padding-left: 1.0rem; }
      @media screen and (max-width: 767px) {
        ul.pict-list li:nth-of-type(even) {
          padding-left: 0.5rem; } }
    ul.pict-list li.last {
      margin-bottom: 0; }
    ul.pict-list li figure img {
      width: 100%;
      height: auto; }
    ul.pict-list li figure figcaption {
      font-weight: 700;
      font-size: 1.8rem;
      line-height: 1.3;
      text-align: center;
      margin-top: 1.0rem; }
      @media screen and (max-width: 767px) {
        ul.pict-list li figure figcaption {
          font-size: 1.6rem;
          margin-top: 0.5rem; } }

.recruit-button {
  text-align: center;
  margin-top: 6.0rem; }
  .recruit-button a, .recruit-button span {
    background-color: #f46000;
    color: #ffffff;
    font-weight: 700;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    padding: 1.5rem 8.0rem 1.5rem 2.0rem;
    border-radius: 0.2rem;
    position: relative; }
    .recruit-button a::after, .recruit-button span::after {
      content: '';
      width: 0.8rem;
      height: 0.8rem;
      border-top: solid 3px #ffffff;
      border-right: solid 3px #ffffff;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      position: absolute;
      top: calc(50% - 0.4rem);
      right: 2.0rem; }

.form-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 5.0rem; }
  .form-button span {
    position: relative; }
    .form-button span::after {
      content: '';
      width: 0.8rem;
      height: 0.8rem;
      border-top: solid 3px #ffffff;
      border-right: solid 3px #ffffff;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      position: absolute;
      top: calc(50% - 0.4rem);
      right: 2.0rem; }
    .form-button span input[type="submit"] {
      background-color: #f46000;
      color: #ffffff;
      font-size: 1.6rem;
      font-weight: 700;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      padding: 1.5rem 8.0rem 1.5rem 2.0rem;
      border-radius: 0.2rem;
      cursor: pointer; }

.board-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%; }
  @media screen and (max-width: 767px) {
    .board-list {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .board-list li {
    width: calc(50% - 1.0rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: 1px solid #cccccc;
    padding-top: 3.0rem;
    padding-bottom: 3.0rem;
    border-radius: 0.2rem; }
    @media screen and (max-width: 767px) {
      .board-list li {
        width: 100%; } }
    .board-list li:nth-of-type(odd) {
      margin-right: 1.0rem; }
      @media screen and (max-width: 767px) {
        .board-list li:nth-of-type(odd) {
          margin-right: 0;
          margin-bottom: 2.0rem; } }
    .board-list li:nth-of-type(even) {
      margin-left: 1.0rem; }
      @media screen and (max-width: 767px) {
        .board-list li:nth-of-type(even) {
          margin-left: 0; } }
    .board-list li h3 {
      color: #122E69;
      font-size: 1.6rem;
      font-weight: 500;
      margin-bottom: 1.0rem; }
    .board-list li .num {
      color: #122E69;
      font-weight: 700;
      font-size: 3.8rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      margin-bottom: 1.5rem; }
      .board-list li .num img {
        width: 2.4rem;
        height: auto;
        padding-right: 0.2rem; }
    .board-list li .supple {
      font-size: 1.6rem; }

.contact-list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 1.0rem; }
  @media screen and (max-width: 767px) {
    .contact-list {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .contact-list dt, .contact-list dd {
    margin-bottom: 2.0rem; }
  .contact-list dt {
    color: #122E69;
    font-weight: 700;
    font-size: 1.8rem;
    text-align: right;
    width: 20.0rem;
    margin-top: 1.0rem; }
    @media screen and (max-width: 767px) {
      .contact-list dt {
        text-align: left;
        width: 100%;
        margin-top: 0.5rem;
        margin-bottom: 1.0rem; } }
    .contact-list dt span {
      background-color: #ec1212;
      color: #ffffff;
      font-size: 1.5rem;
      padding: 0.2rem 0.8rem;
      border-radius: 0.2rem;
      margin-left: 1.0rem; }
  .contact-list dd {
    width: calc(100% - 20.0rem);
    padding-left: 2.0rem; }
    @media screen and (max-width: 767px) {
      .contact-list dd {
        width: 100%;
        padding-left: 0; } }
    .contact-list dd input[type="text"], .contact-list dd input[type="email"], .contact-list dd textarea {
      font-size: 1.6rem;
      width: 100%;
      padding: 1.0rem 1.5rem;
      border: 1px solid #cccccc;
      border-radius: 0.2rem;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      caret-color: auto; }
    .contact-list dd fieldset {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin-top: 1.0rem;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
      @media screen and (max-width: 767px) {
        .contact-list dd fieldset {
          margin-top: 1.0rem; } }
      .contact-list dd fieldset > span {
        margin-bottom: 1.0rem; }
        .contact-list dd fieldset > span:nth-last-of-type(1) {
          margin-bottom: 0; }
      .contact-list dd fieldset div {
        margin-right: 1.5rem;
        margin-bottom: 1.5rem; }

.confirm .contact-list {
  border: 1px solid #dddddd;
  padding: 3.0rem; }
  .confirm .contact-list dd {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 1.0rem; }
    .confirm .contact-list dd fieldset {
      margin-top: 0; }
