@charset "UTF-8";
/* ----------------------------------------------
スライダーイメージ、ボタン調整
------------------------------------------------*/
#mainImage div.swiper_mainImage .slider li {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

#mainImage div.swiper_mainImage .slider li.slider-item01 {
  background-image: url(/image/slider1.jpg);
}

#mainImage div.swiper_mainImage .slider li.slider-item02 {
  background-image: url(/image/slider2.jpg);
}

#mainImage div.swiper_mainImage .slider li.slider-item03 {
  background-image: url(/image/slider3.jpg);
}

@media all and (min-width: 1400px) {
  #mainImage div.swiper_mainImage .slider li.slider-item01 {
    background-position: top 20% center;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item02 {
    background-position: top 0% center;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item03 {
    background-position: bottom 30% center;
  }
}

@media all and (min-width: 520px) and (max-width: 768px) {
  #mainImage div.swiper_mainImage .slider li.slider-item01 {
    background-position: center left;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item02 {
    background-position: center left;
  }
}

@media all and (max-width: 520px) {
  #mainImage div.swiper_mainImage .slider li.slider-item01 {
    background-position: center left;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item02 {
    background-position: center left;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item03 {
    background-size: 100% 100%;
  }
}

@media all and (min-width: 768px) {
  #mainImage div.swiper_mainImage .slider li.slider-item01 .button:hover {
    border: 1.5px solid #fff !important;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item01 .button:hover a {
    color: #000 !important;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item01 .button:hover a:before {
    background: rgba(255, 255, 255, 0.8);
    /*背景色*/
  }
  #mainImage div.swiper_mainImage .slider li.slider-item01 .button:hover::before {
    right: -80px;
    width: 7.5%;
    background-color: #fff;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item01 .button:hover::after {
    right: -80px;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    width: 20%;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item02 .button:hover::before {
    right: -30px;
    width: 4.5%;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item02 .button:hover::after {
    right: -30px;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    width: 7%;
  }
}

@media all and (min-width: 768px) and (min-width: 1400px) {
  #mainImage div.swiper_mainImage .slider li.slider-item02 .button:hover::before {
    right: -60px;
    width: 7.5%;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item02 .button:hover::after {
    right: -60px;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    width: 15%;
  }
}

@media all and (min-width: 768px) {
  #mainImage div.swiper_mainImage .slider li.slider-item03 .button:hover {
    border: 1.5px solid #fff !important;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item03 .button:hover a {
    color: #000 !important;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item03 .button:hover::before {
    right: -30px;
    width: 4.5%;
    background-color: #fff;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item03 .button:hover::after {
    right: -30px;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    width: 7%;
  }
}

@media all and (min-width: 768px) and (min-width: 1400px) {
  #mainImage div.swiper_mainImage .slider li.slider-item03 .button:hover::before {
    right: -60px;
    width: 7.5%;
    background-color: #fff;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item03 .button:hover::after {
    right: -60px;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    width: 15%;
  }
}

/* ----------------------------------------------

PC設定

------------------------------------------------*/
@media all and (min-width: 1100px) {
  /* ----------------------------------------------
トップイメージ
------------------------------------------------*/
  #mainImage {
    width: 100%;
    height: 500px;
    margin-top: 70px;
    margin-bottom: calc(160px * 0.5);
  }
  #mainImage div.swiper_mainImage .slider {
    width: 100%;
    height: 100%;
  }
  #mainImage div.swiper_mainImage .slider li {
    width: 100%;
    height: 500px;
    position: relative;
  }
  #mainImage div.swiper_mainImage .slider li figure {
    width: 40%;
    position: absolute;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item01 figure {
    top: 30%;
    right: 10%;
    max-width: 480px;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item02 figure {
    top: 20%;
    right: 5%;
    max-width: 400px;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item03 figure {
    top: 10%;
    left: 5%;
    max-width: 570px;
  }
  #mainImage div.swiper_mainImage .slider li span {
    position: absolute;
    bottom: 0;
    right: 0;
    border: 1.5px solid #000;
    z-index: 10;
  }
  #mainImage div.swiper_mainImage .slider li span a {
    font-size: calc(16px * 1.375);
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.5em 2em;
    color: #000;
    background-color: none;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item01 span {
    bottom: 30%;
    right: 10%;
    border: 1.5px solid #fff;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item01 span a {
    color: #fff;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item01 span::after {
    background-color: #fff;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item02 span {
    bottom: 10%;
    right: 5%;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item03 span {
    bottom: 10%;
    right: 5%;
    border: 1.5px solid #fff;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item03 span a {
    color: #fff;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item03 span::after {
    background-color: #fff;
  }
  /* ----------------------------------------------
基本
------------------------------------------------*/
  #contents .catch {
    width: 50%;
    margin: 0 auto calc(160px * 0.75);
    max-width: 700px;
  }
  #contents h2 {
    font-size: calc(16px * 3);
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem;
  }
  #contents h2 span {
    font-size: calc(16px * 1.25);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 1em;
    font-family: 'Zen Old Mincho', serif;
    font-weight: bold;
  }
  #contents h2 span::before, #contents h2 span::after {
    content: "";
    display: inline-block;
    width: 5%;
    height: 1.5px;
    background-color: #000;
  }
  #contents h2 span::before {
    margin-right: 1rem;
  }
  #contents h2 span::after {
    margin-left: 1rem;
  }
  #contents h2::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    background: url(/image/h2_bg.svg) center/100% 100% no-repeat;
    z-index: -1;
  }
  /* ----------------------------------------------
business
------------------------------------------------*/
  #contents .business .wrapper .contents_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    background-color: #d6ecff;
    margin-bottom: calc(160px * 0.5);
  }
  #contents .business .wrapper .contents_area .textarea {
    width: 50%;
    padding: 2rem;
  }
  #contents .business .wrapper .contents_area .textarea h3 {
    font-size: calc(16px * 2);
    margin-bottom: 2rem;
  }
  #contents .business .wrapper .contents_area .textarea h3 span {
    font-size: calc(16px * 1.25);
    display: block;
    margin-bottom: 2rem;
  }
  #contents .business .wrapper .contents_area .textarea p.text {
    margin-bottom: 2rem;
  }
  #contents .business .wrapper .contents_area .textarea p.button {
    border: 1.5px solid #000;
    z-index: 10;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    position: relative;
  }
  #contents .business .wrapper .contents_area .textarea p.button a {
    font-size: calc(16px * 1.125);
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.5em 2em;
    color: #000;
    background-color: none;
  }
  #contents .business .wrapper .contents_area figure {
    width: 50%;
  }
  #contents .business .wrapper .contents_area.reversese .textarea {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  #contents .business .wrapper .contents_area.reversese figure {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  /* ----------------------------------------------
recruitment
------------------------------------------------*/
  #contents .recruitment .wrapper .contents_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    background-color: #d6ecff;
    margin-bottom: calc(160px * 0.5);
  }
  #contents .recruitment .wrapper .contents_area .textarea {
    width: 50%;
    padding: 2rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  #contents .recruitment .wrapper .contents_area .textarea h3 {
    font-size: calc(16px * 2);
    margin-bottom: 2rem;
  }
  #contents .recruitment .wrapper .contents_area .textarea h3 span {
    font-size: calc(16px * 1.25);
    display: block;
    margin-bottom: 2rem;
  }
  #contents .recruitment .wrapper .contents_area .textarea p.text {
    margin-bottom: 2rem;
  }
  #contents .recruitment .wrapper .contents_area .textarea p.button {
    border: 1.5px solid #000;
    z-index: 10;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    position: relative;
  }
  #contents .recruitment .wrapper .contents_area .textarea p.button a {
    font-size: calc(16px * 1.125);
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.5em 2em;
    color: #000;
    background-color: none;
  }
  #contents .recruitment .wrapper .contents_area figure {
    width: 50%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  /* ----------------------------------------------
topics
------------------------------------------------*/
  #contents .topics .wrapper {
    position: relative;
  }
  #contents .topics .wrapper ol li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding: 0.8em 1em;
  }
  #contents .topics .wrapper ol li:nth-of-type(even) {
    background-color: #efefef;
  }
  #contents .topics .wrapper ol li time {
    font-size: calc(16px * 1.25);
    margin-right: 1rem;
  }
  #contents .topics .wrapper ol li .category {
    color: #fff;
    background-color: #3a87c6;
    padding: 0.3em 1em;
    margin-right: 1rem;
  }
  #contents .topics .wrapper p.button {
    border: 1.5px solid #000;
    z-index: 10;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: absolute;
    top: 0;
    right: 0;
  }
  #contents .topics .wrapper p.button a {
    font-size: calc(16px * 1.125);
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.5em 2em;
    color: #000;
    background-color: none;
  }
}

/* ----------------------------------------------

PC~Pad設定

------------------------------------------------*/
@media all and (min-width: 768px) and (max-width: 1100px) {
  /* ----------------------------------------------
トップイメージ
------------------------------------------------*/
  #mainImage {
    width: 100%;
    height: 500px;
    margin-top: 70px;
    margin-bottom: calc(160px * 0.5);
  }
  #mainImage div.swiper_mainImage .slider {
    width: 100%;
    height: 100%;
  }
  #mainImage div.swiper_mainImage .slider li {
    width: 100%;
    height: 500px;
    position: relative;
  }
  #mainImage div.swiper_mainImage .slider li figure {
    width: 40%;
    position: absolute;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item01 figure {
    top: 30%;
    right: 10%;
    max-width: 480px;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item02 figure {
    top: 20%;
    right: 5%;
    max-width: 400px;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item03 figure {
    top: 10%;
    left: 5%;
    max-width: 570px;
  }
  #mainImage div.swiper_mainImage .slider li span {
    position: absolute;
    bottom: 0;
    right: 0;
    border: 1.5px solid #000;
    z-index: 10;
  }
  #mainImage div.swiper_mainImage .slider li span a {
    font-size: calc(16px * 1.375);
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.5em 2em;
    color: #000;
    background-color: none;
  }
  #mainImage div.swiper_mainImage .slider li span::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: -15%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 15%;
    height: 1.5px;
    background-color: #000;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item01 span {
    bottom: 30%;
    right: 10%;
    border-color: #fff;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item01 span a {
    color: #fff;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item01 span::after {
    background-color: #fff;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item02 span {
    bottom: 10%;
    right: 5%;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item03 span {
    bottom: 10%;
    right: 5%;
    border-color: #fff;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item03 span a {
    color: #fff;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item03 span::after {
    background-color: #fff;
  }
  /* ----------------------------------------------
基本
------------------------------------------------*/
  #contents .catch {
    width: 90%;
    margin: 0 auto calc(160px * 0.75);
  }
  #contents h2 {
    font-size: calc(16px * 3);
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem;
  }
  #contents h2 span {
    font-size: calc(16px * 1.25);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 1em;
    font-family: 'Zen Old Mincho', serif;
    font-weight: bold;
  }
  #contents h2 span::before, #contents h2 span::after {
    content: "";
    display: inline-block;
    width: 5%;
    height: 1.5px;
    background-color: #000;
  }
  #contents h2 span::before {
    margin-right: 1rem;
  }
  #contents h2 span::after {
    margin-left: 1rem;
  }
  #contents h2::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    background: url(/image/h2_bg.svg) center/100% 100% no-repeat;
    z-index: -1;
  }
  /* ----------------------------------------------
business
------------------------------------------------*/
  #contents .business .wrapper .contents_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background-color: #d6ecff;
    width: 80%;
    margin: 0 auto calc(160px * 0.5);
  }
  #contents .business .wrapper .contents_area .textarea {
    width: 100%;
    padding: 2rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  #contents .business .wrapper .contents_area .textarea h3 {
    font-size: calc(16px * 2);
    margin-bottom: 2rem;
  }
  #contents .business .wrapper .contents_area .textarea h3 span {
    font-size: calc(16px * 1.25);
    display: block;
    margin-bottom: 2rem;
  }
  #contents .business .wrapper .contents_area .textarea p.text {
    margin-bottom: 2rem;
  }
  #contents .business .wrapper .contents_area .textarea p.button {
    border: 1.5px solid #000;
    z-index: 10;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    position: relative;
  }
  #contents .business .wrapper .contents_area .textarea p.button a {
    font-size: calc(16px * 1.125);
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.5em 2em;
    color: #000;
    background-color: none;
  }
  #contents .business .wrapper .contents_area figure {
    width: 100%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  /* ----------------------------------------------
recruitment
------------------------------------------------*/
  #contents .recruitment .wrapper .contents_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background-color: #d6ecff;
    margin: 0 auto calc(160px * 0.5);
    width: 80%;
  }
  #contents .recruitment .wrapper .contents_area .textarea {
    width: 100%;
    padding: 2rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  #contents .recruitment .wrapper .contents_area .textarea h3 {
    font-size: calc(16px * 2);
    margin-bottom: 2rem;
  }
  #contents .recruitment .wrapper .contents_area .textarea h3 span {
    font-size: calc(16px * 1.25);
    display: block;
    margin-bottom: 2rem;
  }
  #contents .recruitment .wrapper .contents_area .textarea p.text {
    margin-bottom: 2rem;
  }
  #contents .recruitment .wrapper .contents_area .textarea p.button {
    border: 1.5px solid #000;
    z-index: 10;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    position: relative;
  }
  #contents .recruitment .wrapper .contents_area .textarea p.button a {
    font-size: calc(16px * 1.125);
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.5em 2em;
    color: #000;
    background-color: none;
  }
  #contents .recruitment .wrapper .contents_area figure {
    width: 100%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  /* ----------------------------------------------
topics
------------------------------------------------*/
  #contents .topics .wrapper {
    position: relative;
  }
  #contents .topics .wrapper ol li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding: 0.8em 1em;
  }
  #contents .topics .wrapper ol li:nth-of-type(even) {
    background-color: #efefef;
  }
  #contents .topics .wrapper ol li time {
    font-size: calc(16px * 1.25);
    margin-right: 1rem;
  }
  #contents .topics .wrapper ol li .category {
    color: #fff;
    background-color: #3a87c6;
    padding: 0.3em 1em;
  }
  #contents .topics .wrapper ol li .newetext {
    width: calc(100% - 1rem);
    padding-left: 1rem;
    margin-top: 0.5rem;
  }
  #contents .topics .wrapper p.button {
    border: 1.5px solid #000;
    z-index: 10;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    position: relative;
  }
  #contents .topics .wrapper p.button a {
    font-size: calc(16px * 1.125);
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.5em 2em;
    color: #000;
    background-color: none;
  }
}

/* ----------------------------------------------

pad設定

------------------------------------------------*/
@media all and (min-width: 520px) and (max-width: 768px) {
  /* ----------------------------------------------
トップイメージ
------------------------------------------------*/
  #mainImage {
    width: 100%;
    height: 500px;
    margin-top: 70px;
    margin-bottom: calc(110px * 0.5);
  }
  #mainImage div.swiper_mainImage .slider {
    width: 100%;
    height: 100%;
  }
  #mainImage div.swiper_mainImage .slider li {
    width: 100%;
    height: 500px;
    position: relative;
    background-size: cover;
  }
  #mainImage div.swiper_mainImage .slider li figure {
    width: 70%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  #mainImage div.swiper_mainImage .slider li span {
    position: absolute;
    bottom: 10%;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    border: 1.5px solid #000;
    z-index: 10;
    white-space: nowrap;
  }
  #mainImage div.swiper_mainImage .slider li span a {
    font-size: calc(14.4px * 1.375);
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.5em 2em;
    color: #000;
    background-color: none;
  }
  #mainImage div.swiper_mainImage .slider li span::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: -15%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 15%;
    height: 1.5px;
    background-color: #000;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item01 span, #mainImage div.swiper_mainImage .slider li.slider-item03 span {
    border-color: #fff;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item01 span a, #mainImage div.swiper_mainImage .slider li.slider-item03 span a {
    color: #fff;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item01 span::after, #mainImage div.swiper_mainImage .slider li.slider-item03 span::after {
    background-color: #fff;
  }
  /* ----------------------------------------------
基本
------------------------------------------------*/
  #contents .catch {
    width: 90%;
    margin: 0 auto calc(110px * 0.75);
  }
  #contents h2 {
    font-size: calc(14.4px * 3);
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.5rem;
  }
  #contents h2 span {
    font-size: calc(14.4px * 1.25);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 1em;
    font-family: 'Zen Old Mincho', serif;
    font-weight: bold;
  }
  #contents h2 span::before, #contents h2 span::after {
    content: "";
    display: inline-block;
    width: 5%;
    height: 1.5px;
    background-color: #000;
  }
  #contents h2 span::before {
    margin-right: 1rem;
  }
  #contents h2 span::after {
    margin-left: 1rem;
  }
  #contents h2::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    background: url(/image/h2_bg.svg) center/100% 100% no-repeat;
    z-index: -1;
  }
  /* ----------------------------------------------
business
------------------------------------------------*/
  #contents .business .wrapper .contents_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background-color: #d6ecff;
    width: 100%;
    margin: 0 auto calc(110px * 0.5);
  }
  #contents .business .wrapper .contents_area .textarea {
    width: 100%;
    padding: 1.5rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  #contents .business .wrapper .contents_area .textarea h3 {
    font-size: calc(14.4px * 2);
    margin-bottom: 1.5rem;
  }
  #contents .business .wrapper .contents_area .textarea h3 span {
    font-size: calc(14.4px * 1.25);
    display: block;
    margin-bottom: 1.5rem;
  }
  #contents .business .wrapper .contents_area .textarea p.text {
    margin-bottom: 1.5rem;
  }
  #contents .business .wrapper .contents_area .textarea p.button {
    border: 1.5px solid #000;
    z-index: 10;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    position: relative;
  }
  #contents .business .wrapper .contents_area .textarea p.button a {
    font-size: calc(14.4px * 1.125);
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.5em 2em;
    color: #000;
    background-color: none;
  }
  #contents .business .wrapper .contents_area figure {
    width: 100%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  /* ----------------------------------------------
recruitment
------------------------------------------------*/
  #contents .recruitment .wrapper .contents_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background-color: #d6ecff;
    margin: 0 auto calc(110px * 0.5);
    width: 100%;
  }
  #contents .recruitment .wrapper .contents_area .textarea {
    width: 100%;
    padding: 1.5rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  #contents .recruitment .wrapper .contents_area .textarea h3 {
    font-size: calc(14.4px * 2);
    margin-bottom: 1.5rem;
  }
  #contents .recruitment .wrapper .contents_area .textarea h3 span {
    font-size: calc(14.4px * 1.25);
    display: block;
    margin-bottom: 1.5rem;
  }
  #contents .recruitment .wrapper .contents_area .textarea p.text {
    margin-bottom: 1.5rem;
  }
  #contents .recruitment .wrapper .contents_area .textarea p.button {
    border: 1.5px solid #000;
    z-index: 10;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    position: relative;
  }
  #contents .recruitment .wrapper .contents_area .textarea p.button a {
    font-size: calc(14.4px * 1.125);
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.5em 2em;
    color: #000;
    background-color: none;
  }
  #contents .recruitment .wrapper .contents_area figure {
    width: 100%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  /* ----------------------------------------------
topics
------------------------------------------------*/
  #contents .topics .wrapper {
    position: relative;
  }
  #contents .topics .wrapper ol li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding: 0.8em 1em;
  }
  #contents .topics .wrapper ol li:nth-of-type(even) {
    background-color: #efefef;
  }
  #contents .topics .wrapper ol li time {
    font-size: calc(14.4px * 1.25);
    margin-right: 1rem;
  }
  #contents .topics .wrapper ol li .category {
    color: #fff;
    background-color: #3a87c6;
    padding: 0.3em 1em;
  }
  #contents .topics .wrapper ol li .newetext {
    width: calc(100% - 1rem);
    padding-left: 1rem;
    margin-top: 0.5rem;
  }
  #contents .topics .wrapper p.button {
    border: 1.5px solid #000;
    z-index: 10;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    position: relative;
  }
  #contents .topics .wrapper p.button a {
    font-size: calc(14.4px * 1.125);
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.5em 2em;
    color: #000;
    background-color: none;
  }
}

/* ----------------------------------------------

sp設定

------------------------------------------------*/
@media all and (max-width: 520px) {
  /* ----------------------------------------------
トップイメージ
------------------------------------------------*/
  #mainImage {
    width: 100%;
    height: 50vh;
    margin-top: 70px;
    margin-bottom: calc(80px * 0.5);
  }
  #mainImage div.swiper_mainImage .slider {
    width: 100%;
    height: 100%;
  }
  #mainImage div.swiper_mainImage .slider li {
    width: 100%;
    height: 50vh;
    position: relative;
    background-size: cover;
  }
  #mainImage div.swiper_mainImage .slider li figure {
    width: 70%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  #mainImage div.swiper_mainImage .slider li span {
    position: absolute;
    bottom: 10%;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    border: 1.5px solid #000;
    z-index: 10;
    width: 80%;
  }
  #mainImage div.swiper_mainImage .slider li span a {
    font-size: calc(12.8px * 1.375);
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.5em 1em;
    color: #000;
    background-color: none;
  }
  #mainImage div.swiper_mainImage .slider li span::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: -15%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 15%;
    height: 1.5px;
    background-color: #000;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item01 span, #mainImage div.swiper_mainImage .slider li.slider-item03 span {
    border-color: #fff;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item01 span a, #mainImage div.swiper_mainImage .slider li.slider-item03 span a {
    color: #fff;
  }
  #mainImage div.swiper_mainImage .slider li.slider-item01 span::after, #mainImage div.swiper_mainImage .slider li.slider-item03 span::after {
    background-color: #fff;
  }
  /* ----------------------------------------------
基本
------------------------------------------------*/
  #contents .catch {
    width: 90%;
    margin: 0 auto calc(80px * 0.75);
  }
  #contents h2 {
    font-size: calc(12.8px * 3);
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1rem;
  }
  #contents h2 span {
    font-size: calc(12.8px * 1.25);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 1em;
    font-family: 'Zen Old Mincho', serif;
    font-weight: bold;
  }
  #contents h2 span::before, #contents h2 span::after {
    content: "";
    display: inline-block;
    width: 5%;
    height: 1.5px;
    background-color: #000;
  }
  #contents h2 span::before {
    margin-right: 1rem;
  }
  #contents h2 span::after {
    margin-left: 1rem;
  }
  #contents h2::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    background: url(/image/h2_bg.svg) center/100% 100% no-repeat;
    z-index: -1;
  }
  /* ----------------------------------------------
business
------------------------------------------------*/
  #contents .business .wrapper .contents_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background-color: #d6ecff;
    width: 100%;
    margin: 0 auto calc(80px * 0.5);
  }
  #contents .business .wrapper .contents_area .textarea {
    width: 100%;
    padding: 1rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    text-align: center;
  }
  #contents .business .wrapper .contents_area .textarea h3 {
    font-size: calc(12.8px * 2);
    margin-bottom: 1rem;
  }
  #contents .business .wrapper .contents_area .textarea h3 span {
    font-size: calc(12.8px * 1.25);
    display: block;
    margin-bottom: 1rem;
  }
  #contents .business .wrapper .contents_area .textarea p.text {
    margin-bottom: 1rem;
  }
  #contents .business .wrapper .contents_area .textarea p.button {
    border: 1.5px solid #000;
    z-index: 10;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    position: relative;
  }
  #contents .business .wrapper .contents_area .textarea p.button a {
    font-size: calc(12.8px * 1.125);
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.5em 2em;
    color: #000;
    background-color: none;
  }
  #contents .business .wrapper .contents_area figure {
    width: 100%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  /* ----------------------------------------------
recruitment
------------------------------------------------*/
  #contents .recruitment .wrapper .contents_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background-color: #d6ecff;
    margin: 0 auto calc(80px * 0.5);
    width: 100%;
  }
  #contents .recruitment .wrapper .contents_area .textarea {
    width: 100%;
    padding: 1rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    text-align: center;
  }
  #contents .recruitment .wrapper .contents_area .textarea h3 {
    font-size: calc(12.8px * 2);
    margin-bottom: 1rem;
  }
  #contents .recruitment .wrapper .contents_area .textarea h3 span {
    font-size: calc(12.8px * 1.25);
    display: block;
    margin-bottom: 1rem;
  }
  #contents .recruitment .wrapper .contents_area .textarea p.text {
    margin-bottom: 1rem;
  }
  #contents .recruitment .wrapper .contents_area .textarea p.button {
    border: 1.5px solid #000;
    z-index: 10;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    position: relative;
  }
  #contents .recruitment .wrapper .contents_area .textarea p.button a {
    font-size: calc(12.8px * 1.125);
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.5em 2em;
    color: #000;
    background-color: none;
  }
  #contents .recruitment .wrapper .contents_area figure {
    width: 100%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  /* ----------------------------------------------
topics
------------------------------------------------*/
  #contents .topics .wrapper {
    position: relative;
  }
  #contents .topics .wrapper ol li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding: 0.8em 1em;
  }
  #contents .topics .wrapper ol li:nth-of-type(even) {
    background-color: #efefef;
  }
  #contents .topics .wrapper ol li time {
    font-size: calc(12.8px * 1.25);
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  #contents .topics .wrapper ol li .category {
    color: #fff;
    background-color: #3a87c6;
    padding: 0.3em 1em;
    margin-right: 1rem;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  #contents .topics .wrapper ol li .newetext {
    width: calc(100% - 1rem);
    padding-left: 1rem;
    margin-top: 0.5rem;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  #contents .topics .wrapper p.button {
    border: 1.5px solid #000;
    z-index: 10;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    position: relative;
  }
  #contents .topics .wrapper p.button a {
    font-size: calc(12.8px * 1.125);
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.5em 2em;
    color: #000;
    background-color: none;
  }
}