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 {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

*,
*:before,
*:after {
  box-sizing: border-box;
}

body * {
  max-height: 99999em;
  word-break: break-word;
}

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
}

input,
label,
select,
button {
  line-height: inherit;
}

input,
label,
select,
button,
textarea {
  margin: 0;
  border: 0;
  padding: 0;
  word-break: normal;
  display: inline-block;
  vertical-align: middle;
  white-space: normal;
  background: none;
  -webkit-appearance: none;
  font: inherit;
}

button:focus {
  outline: 0;
}

input:focus,
textarea:focus,
select:focus {
  outline: auto;
}

input[type=search] {
  -webkit-appearance: textfield;
}

::-webkit-search-decoration {
  display: none;
}

textarea {
  overflow: auto;
  white-space: pre-line;
  resize: none;
}

@media print {
  body {
    -webkit-print-color-adjust: exact;
  }

  html,
  body {
    margin: 0;
  }

  @page {
    margin: 0;
    size: 16.5in 25.5in;
    width: 1400px;
  }
  @page :left {
    margin: 0;
  }
  @page :right {
    margin: 0;
  }
  @page :first {
    margin-top: 0;
  }
}
html {
  opacity: 1;
}
html.is-loading {
  transition: opacity 0.25s ease;
  opacity: 0;
}

body {
  color: #000;
  font-weight: 400;
  line-height: 1.4;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: none;
  transition: opacity 0.3s ease;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
}

body,
.font-noto {
  font-family: "Noto Sans JP", sans-serif;
}

.font-oswald {
  font-family: "Oswald", sans-serif;
}

a {
  color: #004388;
  text-decoration: none;
}

.hidden {
  display: none;
}

@media print, (min-width: 768px) {
  body {
    font-size: 14px;
    overflow-y: scroll;
  }

  .container {
    min-width: 1366px;
    overflow: hidden;
  }

  main {
    padding-top: 40px;
  }

  .wrapper {
    width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }

  .wrapper-inner,
  .requirements-inner{
    width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }

  .sm {
    display: none !important;
  }

  .trans {
    opacity: 1;
    transition: opacity 0.26s ease;
  }
  .trans:hover {
    opacity: 0.7;
  }
}
@media only screen and (max-width: 767.98px) {
  html {
    font-size: calc(100vw / 7.5);
    min-height: 100vh;
  }

  body {
    font-size: 0.28rem;
  }

  main {
    padding-top: 1.2rem;
  }

  .container {
    min-width: 320px;
  }

  .wrapper {
    padding-left: 0.32rem;
    padding-right: 0.32rem;
  }

  .md {
    display: none !important;
  }
}

.section-common-keyvisual .keyvisual-inner {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
      justify-content: flex-end;
      flex-direction: column;
  background: linear-gradient(120deg, rgba(0, 67, 136, 1) 25%, rgba(155, 236, 243, 1) 100%);
}
/* .section-common-keyvisual .keyvisual-inner::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(35, 51, 65, 0.29);
  position: absolute;
  left: 0;
  top: 0;
} */
.section-common-keyvisual .keyvisual-title {
  position: relative;
  font-weight: bold;
  color: #fff;
  /* text-align: center; */
  margin: 0 auto;
}

@media print, (min-width: 768px) {
  .section-common-keyvisual .keyvisual-inner {
    /* background: #004388; */
    min-height: 140px;
    padding-bottom: 6px;

  }
  .section-common-keyvisual .keyvisual-title {
    font-size: 40px;
    letter-spacing: 0.12em;
    max-width: 1000px;
    width: 100%;
  }
}
@media only screen and (min-width: 1920px) {
  .section-common-keyvisual .keyvisual-inner {
    background-size: cover;
    background-position: center;
  }
}
@media only screen and (max-width: 767.98px) {
  .section-common-keyvisual .keyvisual-inner {
    /* background: #004388; */
    background: linear-gradient(120deg, rgba(0, 67, 136, 1) 10%, rgba(155, 236, 243, 1) 100%);
    min-height: 2.4rem;
    /* padding-bottom: 0.16rem; */
    padding: 0.33rem 0.31rem 0.2rem;
  }
  .section-common-keyvisual .keyvisual-title {
    font-size: 0.4rem;
    letter-spacing: 0.12em;
    width: 100%;
  }
}
/* @media print, (min-width: 768px) {
  .section-common-keyvisual.is-second .keyvisual-inner {
    background-image: url(../img/common/keyvisual_bg_02.jpg);
  }
}
@media only screen and (max-width: 767.98px) {
  .section-common-keyvisual.is-second .keyvisual-inner {
    background-image: url(../img/common/sp/keyvisual_bg_02.jpg);
  }
}
@media print, (min-width: 768px) {
  .section-common-keyvisual.is-third .keyvisual-inner {
    background-image: url(../img/common/keyvisual_bg_03.jpg);
  }
}
@media only screen and (max-width: 767.98px) {
  .section-common-keyvisual.is-third .keyvisual-inner {
    background-image: url(../img/common/sp/keyvisual_bg_03.jpg);
  }
} */
.section-common-keyvisual.is-person .keyvisual-inner::before {
  display: none;
}

/* @media print, (min-width: 768px) {
  .section-common-keyvisual.is-person .keyvisual-inner {
    background-image: url(../img/common/keyvisual_bg_08.jpg);
  }
}
@media only screen and (max-width: 767.98px) {
  .section-common-keyvisual.is-person .keyvisual-inner {
    background-image: url(../img/common/sp/keyvisual_bg_08.jpg);
  }
} */
.breadcrumb {
  margin: 0 auto;
}
.breadcrumb .breadcrumb-list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      justify-content: flex-end;
}
.breadcrumb .breadcrumb-item {
  color: #fff;
}
.breadcrumb .breadcrumb-item::after {
  content: "/";
  opacity: 0;
  transition: all 0.3s ease;
}
.breadcrumb .breadcrumb-item:last-child::after {
  display: none;
}
.breadcrumb .breadcrumb-item a {
  color: #fff;
}
.breadcrumb .breadcrumb-item a:hover {
  opacity: 0.7 !important;
}
.breadcrumb .breadcrumb-item a,
.breadcrumb .breadcrumb-item span {
  opacity: 0;
  transition: all 0.3s ease;
}

.wf-active .breadcrumb .breadcrumb-item a,
.wf-active .breadcrumb .breadcrumb-item span, .wf-active .breadcrumb .breadcrumb-item::after {
  opacity: 1;
}

@media print, (min-width: 768px) {
  .breadcrumb {
    width: 1000px;
    max-width: 100%;
    padding: 10px 0;
  }
  .breadcrumb .breadcrumb-item::after {
    margin: 0 11px;
  }
  .breadcrumb .breadcrumb-item a,
  .breadcrumb .breadcrumb-item span {
    font-size: 12px;
  }
}
@media only screen and (max-width: 767.98px) {
  .breadcrumb {
    padding: 0.16rem 0.31rem;
    width: 100%;
  }
  .breadcrumb .breadcrumb-item::after {
    margin: 0 0.2rem;
    font-size: 0.2rem;
  }
  .breadcrumb .breadcrumb-item a,
  .breadcrumb .breadcrumb-item span {
    font-size: 0.2rem;
  }
}

.section-common-guide .guide-list {
  counter-reset: guide-counter;
}
.section-common-guide .guide-item {
  counter-increment: guide-counter;
}
.section-common-guide .item-title {
  /* background-image: linear-gradient(to right, #004388, #004388); */
  background-position: bottom left;
  background-repeat: repeat-x;
  font-weight: bold;
  position: relative;
  color: #004388;
}
.section-common-guide ul.guide-list .item-title span::before,
.tab_content .item-title span::before {
  content: "";
    position: absolute;
    left: 0;
    top: 9px;
    width: 23px;
    height: 23px;
    background: #004388;
}
.section-common-guide .item-detail {
  display: -ms-flexbox;
  display: flex;
}
.section-common-guide .detail-title {
  color: #004388;
}
.section-common-guide .detail-text {
  line-height: 1.6;
  text-align: justify;
}

@media print, (min-width: 768px) {
  /* .section-common-guide {
    margin-bottom: 53px;
  } */
  .section-common-guide .guide-item {
    margin-bottom: 41px;
  }
  .section-common-guide .item-title {
    font-size: 26px;
    margin-bottom: 10px;
    background-size: 1px 1px;
  }
  .section-common-guide .item-title::before {
    font-size: 26px;
  }
  .section-common-guide .item-detail {
    -ms-flex-align: start;
        align-items: flex-start;
  }
  .section-common-guide .item-detail ul {
    -ms-flex: 1;
        flex: 1;
  }
  .section-common-guide .item-detail li {
    margin-bottom: 26px;
  }
  .section-common-guide .detail-title {
    font-size: 20px;
    margin-bottom: 3px;
  }
  .section-common-guide .detail-text {
    font-size: 16px;
    margin-bottom: 20px;
  }
  .section-common-guide .detail-text:last-child {
    margin-bottom: 0;
  }
  .section-common-guide .item-image {
    width: 360px;
    margin-right: 40px;
    margin-top: 6px;
  }
}

.section-common-guide .wrapper-inner {
  padding: 30px 0;
  border-bottom: 3px solid #E5ECF3;
}

@media only screen and (max-width: 767.98px) {
  .section-common-guide {
    margin-bottom: 0.6rem;
  }
  .section-common-guide .wrapper-inner {
    /* padding: 0.33rem 0.31rem 0; */
    margin: 0.33rem 0.31rem 0;
  }
  .section-common-guide .guide-title {
    font-size: 0.4rem;
    padding-left: 0.18rem;
    margin-bottom: 0.52rem;
  }
  .section-common-guide .guide-title::before {
    top: 0.09rem;
    left: 0.01rem;
    width: 0.02rem;
    height: 0.4rem;
  }
  .section-common-guide .guide-item {
    margin-bottom: 0.1rem;
  }
  .section-common-guide .item-title {
    line-height: 1;
    font-size: 0.38rem;
    padding-left: 0.55rem;
    /* padding-bottom: 0.18rem; */
    padding-right: 0.23rem;
  }
  .section-common-guide .item-title span {
    display: inline;
    line-height: 2;
    position: relative;
  }
  /* .section-common-guide .item-title span::after {
    content: "";
    display: block;
    width: 100vw;
    height: 10px;
    position: absolute;
    bottom: -0.25rem;
    background: #fff;
    left: calc(100% + .22rem);
  } */
  /* .section-common-guide .item-title span::before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    width: 23px;
    height: 23px;
    background: #004388;
  } */
  .section-common-guide .item-title::before {
    z-index: 11;
    font-size: 0.38rem;
    left: -0.01rem;
    top: 0.19rem;
  }
  /* .section-common-guide .item-title::after {
    content: "";
    display: block;
    width: 100vw;
    height: 0.1rem;
    position: absolute;
    left: 0;
    top: 0;
    background: #fff;
  } */
  .section-common-guide .item-detail {
    -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    padding: 0 0.01rem;
  }
  .section-common-guide .item-detail li {
    margin-bottom: 0.38rem;
  }
  .section-common-guide .detail-title {
    font-size: 0.32rem;
    margin-bottom: 0.11rem;
  }
  .section-common-guide .detail-text {
    font-size: 0.28rem;
    line-height: calc(50 / 28);
    margin-bottom: 0.15rem;
  }
  .section-common-guide .item-image {
    margin-bottom: 0.49rem;
  }
  .section-common-guide .item-image img {
    width: 100%;
  }
}
.section-common-operations {
  background: #f4f9fb;
}
.section-common-operations .operations-item {
  background: #004388;
  color: #fff;
  text-align: center;
}
.section-common-operations .item-image {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: end;
      align-items: flex-end;
}
.section-common-operations .item-title {
  line-height: calc(32 / 26);
}
.section-common-operations .item-text {
  line-height: 2;
  text-align: justify;
}

@media print, (min-width: 768px) {
  .section-common-operations {
    padding-top: 115px;
    padding-bottom: 76px;
  }
  .section-common-operations .title-secondary {
    margin-bottom: 77px;
  }
  .section-common-operations .operations-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 -21px;
  }
  .section-common-operations .operations-item {
    min-height: 315px;
    width: calc(33.33% - 42px);
    margin: 0 21px 40px;
    padding: 34px 30px 23px;
  }
  .section-common-operations .item-image {
    min-height: 92px;
    min-width: 103px;
    margin-bottom: 20px;
  }
  .section-common-operations .item-title {
    font-size: 26px;
    margin-bottom: 19px;
  }
  .section-common-operations .item-text {
    font-size: 16px;
  }
}
@media only screen and (max-width: 767.98px) {
  .section-common-operations {
    padding-top: 0.7rem;
    padding-bottom: 0.1rem;
  }
  .section-common-operations .wrapper-inner {
    padding: 0 0.31rem;
  }
  .section-common-operations .title-secondary {
    margin-bottom: 0.74rem;
  }
  .section-common-operations .operations-item {
    margin-bottom: 0.6rem;
    padding: 0.58rem 0.4rem 0.53rem;
  }
  .section-common-operations .item-image {
    margin: 0 auto 0.44rem;
    width: 1.6rem;
  }
  .section-common-operations .item-title {
    font-size: 0.38rem;
    margin-bottom: 0.28rem;
  }
  .section-common-operations .item-text {
    font-size: 0.28rem;
  }
}
@media only screen and (min-width: 415px) and (max-width: 767.98px) {
  .section-common-operations .item-image {
    width: 1.6rem;
  }
}
.section-common-access .access-item {
  display: -ms-flexbox;
  display: flex;
  line-height: 2;
}
.section-common-access .item-title {
  font-weight: bold;
  border-bottom: 1px solid #004388;
}
.section-common-access .item-phone {
  line-height: 2;
}
.section-common-access .item-map iframe {
  width: 100%;
  height: 100%;
}

@media print, (min-width: 768px) {
  .section-common-access .title-secondary {
    margin-bottom: 65px;
  }
  .section-common-access .access-item {
    -ms-flex-align: start;
        align-items: flex-start;
    font-size: 16px;
    margin-bottom: 66px;
  }
  .section-common-access .item-title {
    font-size: 26px;
    padding-bottom: 3px;
    margin-bottom: 24px;
  }
  .section-common-access .item-phone {
    font-size: 16px;
    pointer-events: none;
  }
  .section-common-access .item-content {
    margin-bottom: 32px;
  }
  .section-common-access .button-primary {
    padding: 10px 60px 10px 30px;
    -ms-flex-pack: unset;
        justify-content: unset;
  }
  .section-common-access .item-detail {
    -ms-flex: 1;
        flex: 1;
  }
  .section-common-access .item-map {
    width: 670px;
    height: 406px;
    margin-left: 40px;
    margin-top: 15px;
  }
}
@media only screen and (max-width: 767.98px) {
  .section-common-access {
    margin-bottom: -0.05rem;
  }
  .section-common-access .wrapper-inner {
    padding: 0 0.31rem;
  }
  .section-common-access .title-secondary {
    margin-bottom: 0.74rem;
  }
  .section-common-access .access-item {
    -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    font-size: 0.28rem;
    margin-bottom: 0.8rem;
    line-height: calc(50 / 28);
    text-align: center;
  }
  .section-common-access .item-title {
    font-size: 0.42rem;
    line-height: 1.4;
    padding-bottom: 0.05rem;
    margin-bottom: 0.19rem;
  }
  .section-common-access .item-phone {
    font-size: 0.28rem;
  }
  .section-common-access .item-content {
    margin-bottom: 0.67rem;
    text-align: left;
  }
  .section-common-access .button-primary {
    padding: 0.1rem 0.6rem;
  }
  .section-common-access .item-map {
    height: 4.15rem;
    margin-bottom: 0.48rem;
  }
}
.section-common-movie .movie-inner,
.section-common-movie .movie-content,
.section-common-movie .movie-title,
.section-common-movie .movie-text,
.section-common-movie .movie-video {
  position: relative;
}
.section-common-movie .movie-inner:before,
.section-common-movie .movie-inner:after,
.section-common-movie .movie-content:before,
.section-common-movie .video-button:before,
.section-common-movie .video-button:after {
  content: "";
  position: absolute;
}
.section-common-movie .movie-inner {
  background: url(../img/service/service_background.jpg) no-repeat center/cover;
}
.section-common-movie .movie-inner:before, .section-common-movie .movie-inner:after {
  width: 100%;
}
.section-common-movie .movie-inner:before,
.section-common-movie .movie-inner:after,
.section-common-movie .service-decor {
  left: 50%;
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
}
.section-common-movie .movie-content:before {
  background: #fff;
  bottom: 0;
}
.section-common-movie .movie-video {
  z-index: 10;
}
.section-common-movie .movie-video > iframe {
  width: 100%;
  height: 100%;
  display: block;
}
.section-common-movie .service-decor,
.section-common-movie .video-button {
  position: absolute;
}
.section-common-movie .video-button {
  border-radius: 50%;
  cursor: pointer;
  z-index: 5;
  transition: all 0.3s ease;
}
.section-common-movie .video-button.is-hidden {
  opacity: 0;
  visibility: hidden;
}
.section-common-movie .video-button:after {
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
  background: url(../img/service/button_play.png) no-repeat center/100% auto;
}
.section-common-movie .video-button, .section-common-movie .video-button:before {
  width: 100%;
  height: 100%;
}
.section-common-movie .video-button:before {
  background: rgba(0, 0, 0, 0.32);
}
.section-common-movie .video-button:before, .section-common-movie .video-button:after {
  pointer-events: none;
}
.section-common-movie .movie-title {
  color: #004388;
  line-height: calc(50 / 36);
}
.section-common-movie .movie-text {
  line-height: calc(32 / 16);
}
.section-common-movie .thumbnail-image {
  position: absolute;
  width: 100%;
  height: 100%;
  transition: all 0.3s ease;
}
.section-common-movie .thumbnail-image.is-hidden {
  opacity: 0;
  visibility: hidden;
}

@media print, (min-width: 768px) {
  .section-common-movie {
    padding: 58px 0;
  }
  .section-common-movie .movie-inner {
    min-height: 1163px;
    padding: 120px 0;
    margin: 118px 0 62px;
  }
  .section-common-movie .movie-inner .wrapper {
    width: 1000px;
  }
  .section-common-movie .movie-inner:before, .section-common-movie .movie-inner:after {
    height: 159px;
  }
  .section-common-movie .movie-inner:before {
    top: -80px;
    background: url(../img/service/service_decor_01.png) top center/1920px auto repeat-x;
  }
  .section-common-movie .movie-inner:after {
    bottom: -84px;
    background: url(../img/service/service_decor_02.png) bottom center/1920px auto repeat-x;
  }
  .section-common-movie .service-decor {
    width: 1292px;
    height: 154px;
    top: -73px;
    margin-left: 2px;
  }
  .section-common-movie .movie-video {
    height: 563px;
  }
  .section-common-movie .video-button:after {
    width: 114px;
    height: 114px;
  }
  .section-common-movie .movie-content {
    padding: 47px 15px 51px 50px;
  }
  .section-common-movie .movie-content:before {
    top: -49px;
    left: -65px;
    right: -66px;
  }
  .section-common-movie .movie-title {
    margin-bottom: 16px;
    font-size: 36px;
  }
  .section-common-movie .movie-text {
    font-size: 16px;
  }
}
@media only screen and (max-width: 767.98px) {
  .section-common-movie {
    padding: 0.58rem 0;
  }
  .section-common-movie .wrapper-inner {
    padding: 0 0.2rem;
  }
  .section-common-movie .movie-inner {
    padding: 1.45rem 0 1.62rem;
  }
  .section-common-movie .movie-inner:before, .section-common-movie .movie-inner:after {
    height: 1.59rem;
  }
  .section-common-movie .movie-inner:before {
    top: -0.15rem;
    background: url(../img/service/sp/service_decor_01.png) top center/7.5rem auto repeat-x;
  }
  .section-common-movie .movie-inner:after {
    bottom: -0.15rem;
    background: url(../img/service/sp/service_decor_02.png) bottom center/7.5rem auto repeat-x;
  }
  .section-common-movie .service-decor {
    width: 6.46rem;
    height: 0.77rem;
    top: -0.2rem;
    margin-left: 0.02rem;
  }
  .section-common-movie .movie-video {
    height: 3.87rem;
  }
  .section-common-movie .video-button:after {
    width: 1.2rem;
    height: 1.2rem;
  }
  .section-common-movie .movie-content {
    padding: 0.47rem 0.5rem 0.51rem;
  }
  .section-common-movie .movie-content:before {
    top: -0.2rem;
    left: -0.15rem;
    right: -0.15rem;
  }
  .section-common-movie .movie-title {
    margin-bottom: 0.16rem;
    font-size: 0.4rem;
  }
  .section-common-movie .movie-text {
    font-size: 0.26rem;
  }
}
.title-primary .is-japan {
  line-height: calc(46 / 40);
  font-weight: bold;
  letter-spacing: 0.04em;
  display: block;
  color: #004388;
}


@media print, (min-width: 768px) {
  .title-primary {
    margin-bottom: 30px;
  }
  .title-primary .is-japan {
    font-size: 36px;
    letter-spacing: 0.10em;
    margin-bottom: 10px;
  }

}
@media only screen and (max-width: 767.98px) {
  .title-primary {
    margin-bottom: 0.2rem;
  }
  .title-primary .is-japan {
    font-size: 0.4rem;
    letter-spacing: 0.1em;
    margin-bottom: 0.21rem;
  }
  .title-primary .is-english {
    font-size: 0.2rem;
  }
}
.title-secondary {
  font-weight: bold;
  position: relative;
  display: block;
}

@media print, (min-width: 768px) {
  .title-secondary {
    font-size: 32px;
    /* padding-left: 18px; */
    margin-bottom: 30px;
  }

}
@media only screen and (max-width: 767.98px) {
  .title-secondary {
    font-size: 0.4rem;
    padding-left: 0.18rem;
    margin-bottom: 0.52rem;
  }
  .title-secondary::before {
    top: 0.1rem;
    left: 0.01rem;
    width: 0.02rem;
    height: 0.4rem;
  }
}
.title-primary.is-recruit {
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: calc(46 / 40);
  position: relative;
}
.title-primary.is-recruit:before {
  position: absolute;
  content: "";
  background: #004388;
  left: 0;
  bottom: 0;
}

@media print, (min-width: 768px) {
  .title-primary.is-recruit {
    font-size: 40px;
    padding-bottom: 28px;
  }
  .title-primary.is-recruit:before {
    height: 1px;
    width: 45px;
  }
}
@media only screen and (max-width: 767.98px) {
  .title-primary.is-recruit {
    font-size: 0.5rem;
    padding-bottom: 0.38rem;
    margin-bottom: 0.6rem;
  }
  .title-primary.is-recruit:before {
    height: 0.02rem;
    width: 0.45rem;
    left: 0.01rem;
  }
}
.text-primary{
  font-size: 16px;
  margin: 0 0 30px;
  line-height: 1.6;
}



.title-secondary.is-recruit {
  color: #004388;
  border-bottom: 1px solid #d8d8d8;
  padding-left: 0;
}
.title-secondary.is-recruit::before {
  display: none;
}

@media print, (min-width: 768px) {
  .title-secondary.is-recruit {
    font-size: 26px;
    padding-bottom: 12px;
  }
}
@media only screen and (max-width: 767.98px) {
  .title-secondary.is-recruit {
    font-size: 0.38rem;
    padding-bottom: 0.06rem;
  }
}
.wow {
  visibility: hidden;
}
.wow.fade-out {
  visibility: visible !important;
}

@media print {
  .wow {
    visibility: visible !important;
  }
  .wow.fade-out {
    visibility: hidden !important;
  }
}
@keyframes fade-in-up {
  0% {
    opacity: 0;
    -ms-transform: translateY(80px);
    transform: translateY(80px);
  }
  100% {
    opacity: 1;
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-in-right {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@keyframes fade-in-down {
  0% {
    opacity: 0;
    -ms-transform: translateY(-40px);
    transform: translateY(-40px);
  }
  100% {
    opacity: 1;
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes fade-out {
  0% {
    width: 100%;
  }
  100% {
    width: 0;
  }
}
.animated {
  animation-duration: 500ms;
  animation-fill-mode: both;
}

.fade-in-up {
  animation-name: fade-in-up;
  transition: opacity 0.8s ease-in-out, transform 0.8s cubic-bezier(0.075, 0.82, 0.165, 1);
  animation-duration: 800ms;
}

.fade-in-down {
  animation-name: fade-in-down;
}

.fade-in {
  animation-name: fade-in;
  animation-duration: 1s;
}

.fade-in-right {
  animation-name: fade-in-right;
  animation-duration: 800ms;
  transition: width 0.8s ease;
  overflow: hidden;
}

.wrapper-table,
.common-table {
  width: 100%;
}

.common-table th {
  background: #E5ECF3;
  vertical-align: top;
}
.common-table td {
  line-height: calc(28 / 16);
}
.common-table a {
  color: #004388;
  text-decoration: underline;
  display: table;
}
.common-table a:hover {
  text-decoration: none;
}
.common-table .phone-number {
  color: #000;
  text-decoration: none;
  display: inline-block;
}

@media print, (min-width: 768px) {
  .common-table tr {
    font-size: 16px;
  }
  .common-table th {
    padding: 16px 18px;
    width: 200px;
    border-bottom: 1px solid #CCCCCC;
    font-weight: bold;
  }
  .common-table th:first-child {
    border-top: 1px solid #CCCCCC;
  }
  .common-table td {
    padding: 14px 18px;
    border-bottom: 1px solid #CCCCCC;
  }
  .common-table td:first-of-type {
    border-top: 1px solid #CCCCCC;
  }
  .common-table li {
    margin-bottom: 25px;
  }
  .common-table li:last-child {
    margin-bottom: 0;
  }
  .common-table a {
    text-underline-offset: 3px;
  }
  .common-table .phone-number {
    pointer-events: none;
  }
}
@media only screen and (max-width: 767.98px) {
  .common-table tr {
    font-size: 0.26rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .common-table tr:last-child td {
    border-bottom: 1px solid #CCCCCC;
  }
  .common-table th {
    padding: 0.24rem 0.2rem;
    border-top: 1px solid #CCCCCC;
  }
  .common-table td {
    padding: 0.17rem 0.18rem;
    border-top: 1px solid #CCCCCC;
    line-height: calc(50 / 26);
  }
  .common-table th,
  .common-table td {
    width: 100%;
    display: block;
  }
  .common-table li {
    margin-bottom: 0.25rem;
  }
  .common-table li:last-child {
    margin-bottom: 0;
  }
  .common-table a {
    text-underline-offset: 0.03rem;
  }
}


.button-primary {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  color: #004388;
  letter-spacing: 0.04em;
  border: 1px solid #004388;
  transition: all 0.3s ease;
}
.button-primary:hover {
  background-color: #004388;
  background-image: url("../img/common/ico_arrow_white.png");
  color: #fff;
}
.button-primary.is-blue {
  color: #fff;
  border-color: #fff;
  background-color: #004388;
  background-image: url("../img/common/ico_arrow_white.png");
}
.button-primary.is-blue:hover {
  background-color: #004388;
}
.button-primary.is-blank:hover {
  background-color: #004388;
  background-image: url("../img/common/ico_blank_white.png");
}
.button-primary.is-light {
  color: #004388;
  border-color: #fff;
  background-image: url("../img/common/ico_arrow_lightblue.png");
}
.button-primary.is-light:hover {
  color: #fff;
  background-image: url("../img/common/ico_arrow_white.png");
}
.button-primary.is-lightblue {
  background-color: #004388;
  border-color: #004388;
  color: #fff;
  background-image: url("../img/common/ico_arrow_white.png");
}
.button-primary.is-lightblue:hover {
  color: #004388;
  background-color: #fff;
  background-image: url("../img/common/ico_arrow_lightblue.png");
  border-color: #004388;
}

@media print, (min-width: 768px) {
  .button-primary {
    padding: 10px 60px;
    min-width: 251px;
    height: 71px;
    font-size: 14px;
    background: #fff url("../img/common/ico_arrow_blue.png") center right 21px/23px auto no-repeat;
  }
  .button-primary.is-blank {
    background: url("../img/common/ico_blank_blue.png") top 47% right 30px/12px auto no-repeat;
  }
  .is-tablet .button-primary {
    padding: 9px 60px 11px;
  }
}
@media only screen and (max-width: 767.98px) {
  .button-primary {
    padding: 0.2rem 1.2rem;
    min-width: 5.42rem;
    height: 1.12rem;
    font-size: 0.28rem;
    background: #fff url("../img/common/ico_arrow_blue.png") center right 0.59rem/0.46rem auto no-repeat;
  }
  .button-primary.is-blank {
    background: url("../img/common/ico_blank_blue.png") top 51% right 0.3rem/0.24rem auto no-repeat;
  }
}



.section-common-guide.is-requirements .item-title {
  padding-left: 0;
}

.section-common-guide.is-requirements .item-title span{
  padding: 0 0 0 30px;
}

.section-common-guide.is-requirements .item-title::before {
  content: "";
  position: absolute;
  left: 0;
  background: url(../img/common/icn_design.svg) center/contain no-repeat;
}

.section-common-guide.is-requirements .item-title::before {
  display: none;
}

@media print, (min-width: 768px) {
  .section-common-guide.is-requirements .item-title::before {
    top: 3px;
    width: 2px;
    height: 40px;
  }
}

@media print, (min-width: 768px) {
  .section-common-guide.is-requirements {
    padding: 40px 0 0;
  }
  .section-common-guide.is-requirements .guide-item {
    margin-bottom: 40px;
  }
  .section-common-guide.is-requirements .guide-item:last-child {
    margin-bottom: 0;
  }
  .section-common-guide.is-requirements .item-text {
    -ms-flex: 1;
        flex: 1;
  }
  .section-common-guide.is-requirements .item-image {
    margin-top: 9px;
  }
}
@media only screen and (max-width: 767.98px) {
  .section-common-guide.is-requirements .guide-item {
    margin-bottom: 0.48rem;
  }
  .section-common-guide.is-requirements .item-title {
    margin-bottom: 0.35rem;
  }
  .section-common-guide.is-requirements .item-image {
    margin-top: 0.15rem;
    margin-bottom: 0.46rem;
  }
  .section-common-guide.is-requirements .item-image img {
    width: 100%;
  }
}



@media only screen and (max-width: 767.98px) {
  .section-common-guide .requirements-inner {
    margin: 0.33rem 0.31rem 0;
  }
}




/* --- tab --- */
.tabs {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0 20px;
}

.tab_label {
    color: #004388;
    font-weight: bold;
    border: solid 2px #004388;
    text-align: center;
    position: relative;
    z-index: 1;
    cursor: pointer;
    padding: 10px 0;
    margin: 0 0 20px 0;
    width: calc(50% / 2 - 20px);
    font-size: 1.0rem;
    background: #E5ECF3;
}
@media only screen and (max-width: 767.98px) {
  .tab_label {
    font-size: 0.3rem;
      width: calc(80% / 2 - 20px);
      padding: 10px 0 10px 10px;

  }

  .tabs .tab_label::before{
      content: '';
      position: absolute;
      top: 2px;
      bottom: 0;
      left: 14px;
      width: 9px;
      height: 9px;
      margin: auto;
      /* border-top:solid 2px #004388;
      border-right:solid 2px #004388;
      transform: rotate(45deg); */
      border-top: 2px solid #004388;
      border-right: 2px solid #004388;
      transform: translateY(-2px) rotate(135deg);
      box-sizing: border-box;
  }

  .tabs input:checked + .tab_label::before{
      content: '';
      position: absolute;
      top: 2px;
      bottom: 0;
      left: 14px;
      width: 9px;
      height: 9px;
      margin: auto;
      /* border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      transform: rotate(45deg); */
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      transform: translateY(-2px) rotate(135deg);
      box-sizing: border-box;
  }
}

.tab_label:hover {
  opacity: 0.75;
}

.tab_content {
  flex: 100%;
  display: none;
  overflow: hidden;
  padding: 0 5px 30px;
}

.tab_content p {
  font-size: 0.9rem;
}

input[name="tab_switch"] {
  display: none;
}

.tabs input:checked + .tab_label {
  color: #fff;
  background-color: #004388;
}


#tab01:checked ~ #tab01_content,
#tab02:checked ~ #tab02_content,
#tab03:checked ~ #tab03_content,
#tab04:checked ~ #tab04_content,
#tab05:checked ~ #tab05_content,
#tab06:checked ~ #tab06_content {
  display: block;
}

.item-effect{
    background: #E5ECF3;
    padding: 1.6em 1.8em;
}

@media print, (min-width: 768px) {
  .section-about-list.is-company {
    padding-bottom: 123px;
  }

  

  .tabs .tab_label::before{
      content: '';
      position: absolute;
      top: 2px;
      bottom: 0;
      left: 58px;
      width: 9px;
      height: 9px;
      margin: auto;
      /* border-top:solid 2px #004388;
      border-right:solid 2px #004388;
      transform: rotate(45deg); */
      border-top: 2px solid #004388;
      border-right: 2px solid #004388;
      transform: translateY(-2px) rotate(135deg);
      box-sizing: border-box;
  }

  .tabs input:checked + .tab_label::before{
      content: '';
      position: absolute;
      top: 2px;
      bottom: 0;
      left: 58px;
      width: 9px;
      height: 9px;
      margin: auto;
      /* border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      transform: rotate(45deg); */
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      transform: translateY(-2px) rotate(135deg);
      box-sizing: border-box;
  }
}

button:focus {
  outline: none;
}

.section-common-guide.is-recruit .item-title {
  padding-left: 0;
}

.section-common-guide.is-recruit ul.guide-list .item-title span{
  padding: 0 0 0 30px;
}

.section-common-guide.is-recruit .item-title::before {
  content: "";
  position: absolute;
  left: 0;
  background: url(../img/common/icn_design.svg) center/contain no-repeat;
}

.section-common-guide.is-recruit .item-title::before {
  display: none;
}

@media print, (min-width: 768px) {
  .section-common-guide.is-recruit .item-title::before {
    top: 3px;
    width: 2px;
    height: 40px;
  }
}

@media print, (min-width: 768px) {
  .section-common-guide.is-recruit {
    padding: 0;
  }
  .section-common-guide.is-recruit .guide-item {
    margin-bottom: 30px;
  }
  .section-common-guide.is-recruit .guide-item:last-child {
    margin-bottom: 0;
  }
  .section-common-guide.is-recruit .item-text {
    -ms-flex: 1;
        flex: 1;
  }
  .section-common-guide.is-recruit .item-image {
    margin-top: 9px;
  }
}
@media only screen and (max-width: 767.98px) {
  /* .section-common-guide.is-recruit {
    padding-bottom: 0.38rem;
  } */
  /* .section-common-guide.is-recruit .guide-item {
    margin-bottom: 0.48rem;
  } */
  .section-common-guide.is-recruit .item-title {
    /* margin-bottom: 0.35rem; */
    font-size: 0.34rem;
  }
  .section-common-guide.is-recruit .item-image {
    margin-top: 0.15rem;
    margin-bottom: 0.46rem;
  }
  .section-common-guide.is-recruit .item-image img {
    width: 100%;
  }
}

ol.guide-list h3 {
    counter-increment: numeber;
}
.section-common-guide ol.guide-list .item-title span::before {
  content: counter(numeber);
  margin-right: 10px;
  padding: 1px 10px;
  color: #fff;
  background: #004388;
  font-size: 0.9em;
}

.point-title span{
  font-weight: bold;
  font-size: 20px;
  background: linear-gradient(transparent 50%, #A7CCED 50%);
  padding: 0 5px;
}

h4.point-title{
  margin: 0 0 10px;
}

.section-bt{
    border: 4px solid #E5ECF3;
    width: 100%;
    max-width: 1000px;
    margin: 30px auto 0;
    padding: 30px;

  .wrapper-bt{
      display: flex;
      justify-content: space-evenly;
      align-content: center;
      align-items: center;
      width: 100%;
      max-width: 600px;
      margin: 0 auto;
  }

  .box-bt{
    color: #004388;
    font-weight: bold;
    border: solid 2px #004388;
    text-align: center;
    cursor: pointer;
    padding: 10px 0;
    width: calc(100% / 3 - 20px);
    font-size: 1.0rem;
    background: #E5ECF3;
    position:relative;
  }

    .box-bt a{
    padding: 0 0 0 12px;
  }

  .box-bt a::before{
    content: '';
    position: absolute;
    top: 2px;
    bottom: 0;
    left: 40px;
    width: 9px;
    height: 9px;
    margin: auto;
  border-top: 2px solid #004388;
  border-right: 2px solid #004388;
  transform: translateY(-2px) rotate(135deg);
    box-sizing: border-box;
  }

    .box-bt:hover a{
      color: #fff;
      display : block;

  }

  .box-bt:hover{
      color: #fff;
      background: #004388;
      transition: 0.3s ease-in-out;

  }


   .box-bt:hover a::before{
      content: '';
      position: absolute;
      top: 2px;
      bottom: 0;
      left: 65px;
      width: 9px;
      height: 9px;
      margin: auto;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-2px) rotate(135deg);
      box-sizing: border-box;
  }

}

@media only screen and (max-width: 767.98px) {

    .section-bt{
        border: 4px solid #E5ECF3;
        width: 90%;
        max-width: 500px;
        padding: 0.33rem 0.1rem;
        margin: 0.33rem 0.31rem 0;

      .wrapper-bt{
          display: flex;
          justify-content: space-evenly;
          align-content: center;
          align-items: center;
          width: 100%;
          max-width: 800px;
          margin: 0 auto;
      }

      .box-bt{
        color: #004388;
        font-weight: bold;
        border: solid 2px #004388;
        text-align: center;
        cursor: pointer;
        padding: 10px 0;
        width: calc(100% / 3 - 20px);
        font-size: 0.2rem;
        background: #E5ECF3;
      }

        .box-bt:hover a{
          color: #fff;
          display : block;

      }

      .box-bt:hover{
          color: #fff;
          background: #004388;
          transition: 0.3s ease-in-out;

      }

      
      .box-bt a::before{
          content: '';
          position: absolute;
            top: 1px;
            bottom: 0;
            left: 14px;
            width: 8px;
            height: 8px;
          margin: auto;
  border-top: 2px solid #004388;
  border-right: 2px solid #004388;
  transform: translateY(-2px) rotate(135deg);
          box-sizing: border-box;
      }

      .box-bt:hover a::before{
          content: '';
          position: absolute;
          top: 1px;
          bottom: 0;
          left: 6px;
          width: 8px;
          height: 8px;
          margin: auto;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-2px) rotate(135deg);
          box-sizing: border-box;
      }




    }


}

html.no-scroll {
  overflow: hidden;
}


.contact-wrap {
	display: flex;
  justify-content: center;
	text-align: center;
	color: #fff;
	font-weight: bold;
  background: #004388;
  padding: 30px;

  .cbox-a {
    flex-grow: 1;
    position: relative;
    margin-right: 2.2em;
    padding: 20px;
    width: 100%;
    max-width: 430px;
    
    display: flex;
    flex-direction: column;

        .box-tel{
          background: #004388;
        }

        .box-tel a{
          color: #fff;
        }
  }

  .cbox-a::after {
    position: absolute;
    top: 0;
    left: 100%;
    margin: 0 1rem;
    content: "";
    width: 1px;
    height: 100%;
    background-color: #fff;
  }

  .cbox-b {
    flex-grow: 1;
    padding: 20px;
    width: 100%;
    max-width: 430px;
    flex-grow: 1;

    display: flex;
    flex-direction: column;

        .box-tel{
            width: 100%;
            max-width: 400px;
            margin: 0 auto 0;
            /* padding: 10px 0; */
            background: #00AEEF;
            }

        .box-tel:hover{
              opacity: 0.75;
            }

        .box-tel{
          background: #fff;
        }

        .box-tel a{
          color: #004388;
        }

  }
    
    .tel-title{
    font-size: 20px;
    margin: 0 0 10px 0;
    color: #fff;
  }

  .box-tel{
      width: 100%;
      max-width: 400px;
      margin: 0 auto 0;
      padding: 10px 0;
      /* background: #004388; */
      border: 1px solid #fff;
      flex-grow: 1;

      display: flex;
      flex-direction: column;
      justify-content: center;

      .tel-img{
        margin: 7px 0 0 0;
      }

      .tel-text{
        text-align: left;

          .tel{
            font-size: 28px;
            color: fff;
          }

          .time{
            font-size: 14px;
            font-weight: normal;
            color: fff;
          }
    }

  }

  .box-tel a{
        color: #004388;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;

        padding: 10px 0;
      }

  /* .box-tel:hover{
        color: #fff;
        opacity: 0.75;
      } */

}




@media only screen and (max-width: 767.98px) {
    .contact-wrap {
        display: block;
    }

    .contact-wrap {

        .cbox-a{
          margin: 0 auto;
          padding: 20px 0;
        }

        .cbox-a::after {
          content: none;
          position: initial;
        }

        .cbox-b{
          margin: 0 auto;
          padding: 20px 0;

            .contact-wrap .box-tel .tel-text
            .tel {
                font-size: 0.4rem;
                color: fff;
            }
        }
    }
}
        }

    }

}


.mb40{
  margin-bottom: 40px;
}

.mb30{
  margin-bottom: 30px;
}

.mb20{
  margin-bottom: 20px;
}

.mb10{
  margin-bottom: 10px;
}


.mt40{
  margin-top: 40px;
}

.mt30{
  margin-top: 30px;
}

.mt20{
  margin-top: 20px;
}

.mt10{
  margin-top: 10px;
}

@media(min-width: 767.98px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}