@charset "UTF-8";
/****************************************************
 * Stylesheet
 *
 * 1.リセット
 * 2.共通設定
 * 3.レイアウト設定
 * 4.テンプレートスタイル
 * 5.コンテンツスタイル
 * 6.装飾
 * 7.印刷用調整
 * 
 ****************************************************/
/****************************************************
 * 1.リセット
 ****************************************************/
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  color: #000;
  background: #FFF;
  line-height: 1.5;
}

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

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, input, textarea, p, blockquote, th, td, figure {
  margin: 0;
  padding: 0;
}

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

fieldset, img, svg {
  border: 0;
}

address, caption, cite, dfn, em, strong, th {
  font-style: normal;
  font-weight: normal;
}

ol, ul {
  list-style: none;
}

caption, th {
  text-align: left;
}

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

abbr {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input, textarea, select, button {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
  background: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
}

input[type=submit], input[type=button], input[type=reset] {
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
}

textarea {
  resize: vertical;
}

article, aside, footer, header, nav, section {
  display: block;
}

img, svg {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a, a:focus, a:hover {
  text-decoration: none;
  color: inherit;
  outline: none;
}

/****************************************************
 * 2.共通
 ****************************************************/
html {
  background-color: transparent;
  background-image: none;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 10px;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.03em;
  color: #081F3B;
  scroll-behavior: smooth;
  scroll-padding-top: 10rem;
}
@media only screen and (max-width: 1099px) {
  html {
    font-size: 9px;
  }
}
@media only screen and (max-width: 780px) {
  html {
    height: 100%;
    font-size: 10px;
  }
}

body {
  font-size: 1.6rem;
}
@media only screen and (max-width: 780px) {
  body {
    font-size: 1.5rem;
    -webkit-text-size-adjust: 100%;
  }
}

a {
  color: #081F3B;
}
a[href^="tel:"] {
  cursor: default;
}
a[href^="tel:"]:hover {
  text-decoration: none;
}

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

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

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

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

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

.inner {
  width: 90%;
  max-width: 1080px;
  margin: 0 auto;
}

.fadeIn {
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.7, 0, 1, 1);
}
.fadeIn.view {
  opacity: 1;
}
@media only screen and (min-width: 781px) {
  .fadeIn.delay1 {
    transition-delay: 0.2s;
  }
  .fadeIn.delay2 {
    transition-delay: 0.4s;
  }
  .fadeIn.delay3 {
    transition-delay: 0.6s;
  }
  .fadeIn.delay4 {
    transition-delay: 0.8s;
  }
  .fadeIn.delay5 {
    transition-delay: 1s;
  }
  .fadeIn.delay6 {
    transition-delay: 1.2s;
  }
  .fadeIn.delay7 {
    transition-delay: 1.4s;
  }
  .fadeIn.delay8 {
    transition-delay: 1.6s;
  }
  .fadeIn.delay9 {
    transition-delay: 1.8s;
  }
  .fadeIn.delay10 {
    transition-delay: 2s;
  }
}

.fadeInRight {
  opacity: 0;
  transform: translateX(5%);
  transition: opacity 0.5s cubic-bezier(0.7, 0, 1, 1), transform 0.5s;
}
.fadeInRight.view {
  opacity: 1;
  transform: none;
}

.slideLeft {
  overflow: hidden;
  position: relative;
}
.slideLeft:before {
  width: 100%;
  height: 100%;
  content: "";
  background-color: #ffffff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  transition: left 0.8s ease-in;
}
.slideLeft.bg_gray:before {
  background-color: #F7F7F7;
}
.slideLeft.view:before {
  left: 100%;
}

.midashi01 {
  margin-bottom: 2.5em;
}
.midashi01 .eng {
  font-family: "Montserrat", sans-serif;
  font-size: 6rem;
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 800;
  white-space: nowrap;
}
@media only screen and (max-width: 780px) {
  .midashi01 .eng {
    font-size: 3.6rem;
  }
}
.midashi01 .eng span {
  margin-right: 0.1em;
  padding: 0 0.125em;
  color: #ffffff;
  background-color: #0082C7;
  display: inline-block;
}
.midashi01 h2, .midashi01 h3, .midashi01 h4 {
  margin-top: 0.5em;
  font-weight: 500;
  white-space: nowrap;
}
.midashi01 h2 span, .midashi01 h3 span, .midashi01 h4 span {
  padding-right: 1em;
  position: relative;
  display: inline-block;
}
.midashi01 h2 span:after, .midashi01 h3 span:after, .midashi01 h4 span:after {
  width: 99999px;
  height: 1px;
  content: "";
  background-color: #DBDBDB;
  position: absolute;
  top: 50%;
  left: 100%;
}
.midashi01.center {
  text-align: center;
}
.midashi01.center h2 span, .midashi01.center h3 span, .midashi01.center h4 span {
  padding-right: 0;
  display: block;
}
.midashi01.center h2 span:after, .midashi01.center h3 span:after, .midashi01.center h4 span:after {
  content: none;
}

.midashi02 {
  margin-bottom: 1em;
  font-size: 4.6rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .midashi02 {
    font-size: 2.6rem;
  }
}
.midashi02 span {
  font-family: "Jost", sans-serif;
  font-size: 0.45em;
  font-weight: 500;
  display: block;
}
.midashi02.white {
  color: #ffffff;
}

.midashi03 {
  margin-bottom: 1.5em;
  font-size: 3.2rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .midashi03 {
    font-size: 2.2rem;
  }
}
.midashi03:before {
  width: 4em;
  height: 1px;
  margin: 0 auto 0.5em auto;
  content: "";
  background-color: #B2C0C7;
  display: block;
}
.midashi03.white {
  color: #ffffff;
}
.midashi03.white:before {
  background-color: #ffffff;
}

.midashi04 {
  margin-bottom: 2.2em;
  padding: 0.25em 1em;
  font-size: 2.8rem;
  font-weight: 700;
  background-color: #ffffff;
  border-left: solid 0.4rem #0082C7;
}
@media only screen and (max-width: 780px) {
  .midashi04 {
    font-size: 2rem;
  }
}
.midashi04 span {
  margin-left: 1em;
  font-family: "Montserrat", sans-serif;
  font-size: 0.64em;
  font-weight: 800;
  color: #0082C7;
  display: inline-block;
  vertical-align: 0.15em;
}
@media only screen and (max-width: 780px) {
  .midashi04 span {
    margin: 0;
    display: block;
  }
}

.btn01 {
  width: 39.8rem;
  padding: 1.27em;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  color: #ffffff !important;
  background-color: #081F3B;
  background-image: url("../img/icon_arrow01.png");
  background-size: 2.3rem auto;
  background-repeat: no-repeat;
  background-position: calc(100% - 2.8rem) center;
  transition: background-position 0.3s;
  display: inline-block;
}
@media only screen and (max-width: 780px) {
  .btn01 {
    width: 29.8rem;
    padding: 1.14em;
    font-size: 1.4rem;
    background-size: 1.75rem auto;
    background-position: calc(100% - 1.9rem) center;
  }
}
@media only screen and (min-width: 781px) {
  .btn01:hover {
    background-position: calc(100% - 1.4rem) center;
  }
}
.btn02 {
  width: 41.3rem;
  max-width: 100%;
  padding: 1.25em 1.5em 1.25em 1em;
  font-weight: 700;
  text-align: center;
  color: #ffffff !important;
  background-color: #000000;
  background-image: url("../img/icon_arrow05.png");
  background-size: 2em auto;
  background-repeat: no-repeat;
  background-position: calc(100% - 1em) center;
  border: solid 1px #000000;
  border-radius: 99px;
  display: inline-block;
  transition: background-position 0.3s;
  box-shadow: 0 0.5rem 0 rgba(0, 0, 0, 0.16);
}
@media only screen and (min-width: 781px) {
  .btn02:hover {
    background-position: calc(100% - 0.5em) center;
  }
}
@media only screen and (max-width: 780px) {
  .btn02 {
    width: 34.2rem;
    font-size: 1.4rem;
  }
}
.btn03 {
  width: 41.3rem;
  max-width: 100%;
  padding: 1.25em 1.5em 1.25em 1em;
  font-weight: 700;
  text-align: center;
  background-color: #ffffff;
  background-image: url("../img/icon_arrow04.png");
  background-size: 2em auto;
  background-repeat: no-repeat;
  background-position: calc(100% - 1em) center;
  border: solid 1px #000000;
  border-radius: 99px;
  display: inline-block;
  transition: background-position 0.3s;
  box-shadow: 0 0.5rem 0 rgba(0, 0, 0, 0.16);
}
@media only screen and (min-width: 781px) {
  .btn03:hover {
    background-position: calc(100% - 0.5em) center;
  }
}
@media only screen and (max-width: 780px) {
  .btn03 {
    width: 34.2rem;
    font-size: 1.4rem;
  }
}
.btn_tel {
  max-width: 100%;
  padding: 1.18em 2.18em 1.18em 1.18em;
  font-weight: 500;
  text-align: center;
  color: #ffffff !important;
  background-image: url("../img/icon_arrow01.png");
  background-repeat: no-repeat;
  border: solid 0.2rem #ffffff;
  display: inline-block;
}
.btn_tel span {
  font-size: 0.8125em;
  display: block;
}
@media only screen and (min-width: 781px) {
  .btn_tel {
    width: 58rem;
    font-size: 2.2rem;
    background-position: calc(100% - 2em) center;
    background-size: 1.5em auto;
    transition: background-position 0.3s;
  }
}
@media only screen and (min-width: 781px) and (max-width: 1099px) {
  .btn_tel {
    background-position: calc(100% - 1.45em) center;
    background-size: 1.08em auto;
  }
}
@media only screen and (min-width: 781px) {
  .btn_tel:hover {
    background-position: calc(100% - 1em) center;
  }
}
@media only screen and (max-width: 780px) {
  .btn_tel {
    width: 34.2rem;
    font-size: 1.7rem;
    background-position: calc(100% - 1em) center;
    background-size: 0.8em auto;
  }
}
.btn_mail {
  max-width: 100%;
  padding: 1.18em 2.18em 1.18em 1.18em;
  font-weight: 500;
  text-align: center;
  color: #081F3B !important;
  background-color: #ffffff;
  background-image: url("../img/icon_arrow02.png");
  background-repeat: no-repeat;
  border: solid 0.2rem #ffffff;
  display: inline-block;
}
.btn_mail span {
  font-size: 0.8125em;
  display: block;
}
@media only screen and (min-width: 781px) {
  .btn_mail {
    width: 58rem;
    font-size: 2.2rem;
    background-position: calc(100% - 2em) center;
    background-size: 1.5em auto;
    transition: background-position 0.3s;
  }
}
@media only screen and (min-width: 781px) and (max-width: 1099px) {
  .btn_mail {
    background-position: calc(100% - 1.45em) center;
    background-size: 1.08em auto;
  }
}
@media only screen and (min-width: 781px) {
  .btn_mail:hover {
    background-position: calc(100% - 1em) center;
  }
}
@media only screen and (max-width: 780px) {
  .btn_mail {
    width: 34.2rem;
    font-size: 1.7rem;
    background-position: calc(100% - 1em) center;
    background-size: 0.8em auto;
  }
}

/*CTA*/
.cta_block {
  padding: 11rem 0 6.5rem 0;
  color: #ffffff;
  background: linear-gradient(to bottom right, #004FAC, #001650);
}
@media only screen and (max-width: 780px) {
  .cta_block {
    padding: 6.5rem 0 3.2rem 0;
  }
}
.cta_block .inner {
  max-width: 1200px;
}
.cta_block .text_area {
  position: relative;
  z-index: 1;
}
.cta_block .text_area .eng {
  width: 100%;
  font-family: "Montserrat", sans-serif;
  font-size: 16.5rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: center;
  opacity: 0.1;
  position: absolute;
  top: -0.4em;
  left: 0;
  z-index: -1;
}
@media only screen and (max-width: 780px) {
  .cta_block .text_area .eng {
    font-size: 6.2rem;
  }
}
.cta_block .text_area h2 {
  margin-bottom: 0.78em;
  font-size: 3.2rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .cta_block .text_area h2 {
    font-size: 2.3rem;
  }
}
.cta_block .text_area p {
  margin-bottom: 2.2em;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.88;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .cta_block .text_area p {
    font-size: 1.5rem;
  }
}
@media only screen and (min-width: 781px) {
  .cta_block .btn {
    display: flex;
    justify-content: space-between;
  }
  .cta_block .btn > div {
    width: 48.3%;
  }
}
@media only screen and (max-width: 780px) {
  .cta_block .btn > div {
    text-align: center;
  }
  .cta_block .btn > div:last-child {
    margin-top: 1em;
  }
}
.cta_block .btn .tel {
  width: 48.3%;
  max-width: 58rem;
  padding: 1.6em 2.18em 1.6em 1.18em;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  color: #ffffff !important;
  background-image: url("../img/icon_arrow01.png");
  background-position: calc(100% - 2.75em) center;
  background-size: 2em auto;
  background-repeat: no-repeat;
  border: solid 0.2rem #ffffff;
  display: block;
}
@media only screen and (max-width: 1099px) {
  .cta_block .btn .tel {
    background-position: calc(100% - 2em) center;
    background-size: 1.5em auto;
  }
}
.cta_block .btn .tel .text {
  display: block;
}
.cta_block .btn .tel .num {
  display: block;
}
.cta_block .btn .tel .num > span {
  font-family: "Montserrat", sans-serif;
  font-size: 1.5em;
  font-weight: 600;
  display: inline-block;
  vertical-align: 0;
}
.cta_block .btn .tel .num > span span {
  font-size: 1.4em;
  display: inline-block;
  vertical-align: -0.1em;
  line-height: 0.8;
}
.cta_block .btn .tel .time {
  font-size: 0.7em;
  display: block;
}
@media only screen and (min-width: 781px) {
  .cta_block .btn .btn_mail {
    padding: 1.6em 2.18em 1.6em 1.18em;
  }
}
@media only screen and (max-width: 780px) {
  .cta_block .sp_fix {
    width: 100%;
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 90;
  }
  .cta_block .sp_fix > div {
    width: 50%;
    font-size: 1.4rem;
    font-weight: 500;
    text-align: center;
  }
  .cta_block .sp_fix > div a {
    padding: 1.66em 0;
    color: #ffffff;
    display: block;
  }
  .cta_block .sp_fix > div a:before {
    width: 2.1rem;
    height: 2.1rem;
    margin-right: 0.5em;
    content: "";
    background-size: cover;
    display: inline-block;
    vertical-align: -0.3em;
  }
  .cta_block .sp_fix .tel {
    background-color: #00449C;
  }
  .cta_block .sp_fix .tel a:before {
    background-image: url("../img/icon_tel02.png");
  }
  .cta_block .sp_fix .mail {
    background-color: #081F3B;
  }
  .cta_block .sp_fix .mail a:before {
    background-image: url("../img/icon_mail02.png");
  }
}

/*リンクブロック*/
.link_block {
  margin-bottom: 16rem;
}
@media only screen and (max-width: 780px) {
  .link_block {
    margin-bottom: 8.5rem;
  }
}
.link_block .inner {
  max-width: 1600px;
  position: relative;
  z-index: 1;
}
.link_block .inner:after {
  height: 100%;
  content: "";
  background-color: #F7F7F7;
  position: absolute;
  z-index: -1;
}
@media only screen and (min-width: 781px) {
  .link_block .inner:after {
    width: 100%;
    bottom: -9.6rem;
    left: -16rem;
  }
}
@media only screen and (max-width: 780px) {
  .link_block .inner:after {
    width: 111%;
    left: -5.5%;
    bottom: -4.5rem;
  }
}
@media only screen and (min-width: 781px) {
  .link_block ul {
    display: flex;
  }
}
.link_block ul li {
  background-color: #ffffff;
  -webkit-text-shadow: 0.5rem 0.5rem 3rem rgba(0, 0, 0, 0.06);
  -moz-text-shadow: 0.5rem 0.5rem 3rem rgba(0, 0, 0, 0.06);
  text-shadow: 0.5rem 0.5rem 3rem rgba(0, 0, 0, 0.06);
  position: relative;
  overflow: hidden;
}
@media only screen and (min-width: 781px) {
  .link_block ul li {
    width: 25%;
  }
  .link_block ul li:last-child {
    border-right: none;
  }
}
@media only screen and (max-width: 780px) {
  .link_block ul li {
    border-bottom: solid 1px #DBDBDB;
  }
  .link_block ul li:last-child {
    border-bottom: none;
  }
}
.link_block ul li a {
  display: block;
}
.link_block ul li a:after {
  width: 3rem;
  height: 3rem;
  content: "";
  background-color: #081F3B;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(50%, 50%) rotate(45deg);
}
@media only screen and (max-width: 780px) {
  .link_block ul li a:after {
    width: 1.5rem;
    height: 1.5rem;
  }
}
@media only screen and (max-width: 780px) {
  .link_block ul li a {
    display: flex;
    align-items: center;
  }
}
@media only screen and (min-width: 781px) {
  .link_block ul li a:hover .img img {
    transform: scale(1.2, 1.2);
  }
}
.link_block ul li a .img {
  overflow: hidden;
}
@media only screen and (min-width: 781px) {
  .link_block ul li a .img img {
    transition: transform 0.5s;
  }
}
@media only screen and (max-width: 780px) {
  .link_block ul li a .img {
    width: 38.4%;
    height: 14rem;
  }
}
.link_block ul li a .img > img,
.link_block ul li a .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width: 781px) {
  .link_block ul li a .text {
    padding: 2.4rem 0 4.3rem 0;
    text-align: center;
    border-right: solid 1px #DBDBDB;
  }
}
@media only screen and (max-width: 780px) {
  .link_block ul li a .text {
    width: 61.6%;
    padding: 0 2rem;
  }
}
.link_block ul li a .text p {
  font-size: 2.2rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .link_block ul li a .text p {
    font-size: 1.8rem;
  }
}
.link_block ul li a .text p span {
  font-family: "Jost", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  display: block;
}
@media only screen and (max-width: 780px) {
  .link_block ul li a .text p span {
    font-size: 1.3rem;
  }
}
.link_block ul li a .text p span:before {
  width: 9rem;
  height: 0.2rem;
  margin: 1em auto 1.3em auto;
  content: "";
  background-color: #081F3B;
  display: block;
}
@media only screen and (max-width: 780px) {
  .link_block ul li a .text p span:before {
    width: 5rem;
    margin: 1em 0;
  }
}

/*ページネーション*/
.pagination {
  text-align: center;
  letter-spacing: -0.4em;
}
.pagination > * {
  display: inline-block;
  letter-spacing: normal;
}
.pagination > * {
  width: 4rem;
  height: 4rem;
  margin: 0 0.4rem;
  font-family: "Montserrat", sans-serif;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 3.8rem;
  text-align: center;
  background-color: transparent;
  border: solid 1px #DBDBDB;
  border-radius: 50%;
  vertical-align: top;
}
@media only screen and (max-width: 780px) {
  .pagination > * {
    width: 3rem;
    height: 3rem;
    margin: 0.4rem !important;
    font-size: 1.5rem;
    line-height: 2.8rem;
  }
}
.pagination .current {
  color: #ffffff;
  background-color: #ED7802;
  border-color: #ED7802;
}
.pagination .dots {
  line-height: 1.5em;
}
.pagination .prev, .pagination .next {
  width: 2.4rem;
  height: 2.4rem;
  background-color: #000000;
  background-image: url("../img/icon_arrow06.png");
  background-size: 0.6rem auto;
  background-repeat: no-repeat;
  background-position: center center;
  border-color: #000000;
  vertical-align: -0.75em;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
}
@media only screen and (max-width: 780px) {
  .pagination .prev, .pagination .next {
    width: 2rem;
    height: 2rem;
    background-size: 0.4rem auto;
    vertical-align: -1em;
  }
}
.pagination .prev {
  margin-right: 0.8rem;
  transform: scaleX(-1);
}
.pagination .next {
  margin-left: 0.8rem;
}
.pagination a:hover {
  opacity: 0.6;
}

/*ページャー*/
.post-navigation {
  display: flex;
}
@media only screen and (min-width: 781px) {
  .post-navigation {
    margin-top: 8.8rem;
    justify-content: space-between;
    align-items: center;
  }
}
@media only screen and (max-width: 780px) {
  .post-navigation {
    margin-top: 4.4rem;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 780px) {
  .post-navigation .nav-list {
    width: 100%;
    padding-top: 2rem;
    text-align: center;
    order: 3;
  }
}
@media only screen and (max-width: 780px) {
  .post-navigation .nav-previous, .post-navigation .nav-next {
    width: 50%;
  }
}
.post-navigation .nav-previous a, .post-navigation .nav-next a {
  font-size: 1.5rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .post-navigation .nav-previous a, .post-navigation .nav-next a {
    font-size: 1.3rem;
  }
}
.post-navigation .nav-previous a:before, .post-navigation .nav-previous a:after, .post-navigation .nav-next a:before, .post-navigation .nav-next a:after {
  width: 4rem;
  height: 4rem;
  background-color: #000000;
  background-image: url("../img/icon_arrow06.png");
  background-size: 0.6rem auto;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 50%;
  display: inline-block;
  vertical-align: -1em;
}
@media only screen and (max-width: 780px) {
  .post-navigation .nav-previous a:before, .post-navigation .nav-previous a:after, .post-navigation .nav-next a:before, .post-navigation .nav-next a:after {
    width: 3rem;
    height: 3rem;
    background-size: 0.4rem auto;
  }
}
@media only screen and (max-width: 780px) {
  .post-navigation .nav-previous {
    order: 1;
  }
}
.post-navigation .nav-previous a:before {
  margin-right: 1rem;
  content: "";
  transform: scale(-1, 1);
}
@media only screen and (max-width: 780px) {
  .post-navigation .nav-next {
    text-align: right;
    order: 2;
  }
}
.post-navigation .nav-next a:after {
  margin-left: 1rem;
  content: "";
}

/* ブロックエディタ用基本CSS */
.editor-area:after {
  content: "";
  display: block;
  clear: both;
}
.editor-area > *:last-child {
  margin-bottom: 0 !important;
}
.editor-area p {
  margin-bottom: 2em;
}
.editor-area h3 {
  margin-bottom: 0.8em;
  padding: 0.5em 1em;
  font-size: 2.2rem;
  font-weight: 700;
  background-color: #F7F7F7;
  border-left: solid 0.5rem #0082C7;
}
@media only screen and (max-width: 780px) {
  .editor-area h3 {
    font-size: 1.8rem;
  }
}
.editor-area h4 {
  margin-bottom: 0.8em;
  padding-left: 3.5rem;
  font-size: 2.2rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .editor-area h4 {
    font-size: 1.8rem;
  }
}
.editor-area h4:before {
  width: 2rem;
  height: 2rem;
  margin: 0 1.5rem 0 -3.5rem;
  content: "";
  background-image: url("../img/news/midashi_icon01.png");
  background-size: cover;
  display: inline-block;
  vertical-align: 0;
}
.editor-area h5 {
  margin-bottom: 0.6em;
  font-size: 1.8rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .editor-area h5 {
    font-size: 1.6rem;
  }
}
.editor-area ul {
  margin-bottom: 2em;
}
.editor-area ul li {
  margin-bottom: 0.5em;
  padding-left: 3rem;
}
.editor-area ul li:before {
  width: 1.6rem;
  height: 1.6rem;
  margin: 0 1.4rem 0 -3rem;
  content: "";
  background-image: url("../img/news/check.png");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.1em;
}
.editor-area ol {
  margin-bottom: 2em;
  counter-reset: num;
}
.editor-area ol li {
  margin-bottom: 0.5em;
  padding-left: 3rem;
  counter-increment: num;
}
.editor-area ol li:before {
  width: 2rem;
  margin: 0 1rem 0 -3rem;
  content: counter(num) ".";
  color: #0082C7;
  font-weight: 700;
  display: inline-block;
  vertical-align: 0;
}
.editor-area .wp-block-image {
  margin-bottom: 2em;
}
.editor-area .alignleft {
  max-width: 50%;
  float: left;
  margin-right: 1.5em;
  margin-bottom: 2em;
}
.editor-area .alignright {
  max-width: 50%;
  float: right;
  margin-left: 1.5em;
  margin-bottom: 2em;
}
.editor-area .aligncenter {
  margin-bottom: 2em;
}
.editor-area .aligncenter img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.editor-area .has-text-align-center {
  text-align: center;
}
.editor-area .has-text-align-right {
  text-align: right;
}
.editor-area blockquote {
  margin-bottom: 2.5em;
  margin-left: 0;
  padding: 1.2em 1.2em 1.2em 6rem;
  background-color: #F7F7F7;
  border-left: 0.25em solid #0082C7;
  position: relative;
  display: block;
}
@media only screen and (max-width: 780px) {
  .editor-area blockquote {
    padding-left: 4rem;
  }
}
.editor-area blockquote:before {
  width: 4rem;
  height: 4rem;
  content: "";
  background-color: #0082C7;
  background-image: url("../img/news/innyou.png");
  background-size: 2.4rem auto;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 780px) {
  .editor-area blockquote:before {
    width: 3rem;
    height: 3rem;
    background-size: 2rem;
  }
}
.editor-area blockquote > *:last-child {
  margin-bottom: 0 !important;
}
.editor-area table {
  width: 100%;
  margin-bottom: 2em;
  border-collapse: collapse;
}
.editor-area table td, .editor-area table th {
  border: 1px solid #DBDBDB;
  padding: 0.5em;
}
.editor-area table th {
  background-color: #F7F7F7;
}
.editor-area .wp-block-columns {
  display: flex;
  margin-bottom: 2em;
}
.editor-area .wp-block-column {
  flex-grow: 1;
  margin-left: 0.625em;
  margin-right: 0.625em;
}
.editor-area .wp-block-media-text {
  display: grid;
}
.editor-area a {
  color: blue;
  text-decoration: underline;
  word-break: break-all;
}
.editor-area strong, .editor-area b {
  font-weight: bold;
}
.editor-area em, .editor-area i {
  font-style: italic;
}
.editor-area .wp-block-spacer {
  clear: both;
}

/*フォームベース*/
.form_area > p {
  margin-bottom: 2em;
}
.form_area .input_field_area {
  margin-bottom: 5rem;
}
@media only screen and (max-width: 780px) {
  .form_area .input_field_area {
    margin-bottom: 2.5rem;
  }
}
@media only screen and (min-width: 781px) {
  .form_area .input_field_area.table .input_field {
    width: 100%;
    margin-bottom: 0;
    display: table;
  }
  .form_area .input_field_area.table .input_field > * {
    display: table-cell;
  }
  .form_area .input_field_area.table .input_field .input_label {
    width: 30%;
    margin-bottom: 0;
    padding: 1em;
    vertical-align: top;
  }
  .form_area .input_field_area.table .input_field .input_area {
    padding: 1em;
    vertical-align: top;
  }
}
.form_area .input_field_area .input_field {
  margin-bottom: 2em;
}
.form_area .input_field_area .input_field .input_label {
  margin-bottom: 0.75em;
  font-size: 1.125em;
  font-weight: 500;
}
.form_area .input_field_area .input_field .input_label span {
  margin-left: 1em;
  padding: 0 0.5em;
  font-size: 0.7em;
  font-weight: 400;
  color: #0082C7;
  border: solid 1px #0082C7;
  border-radius: 0.4rem;
  display: inline-block;
  vertical-align: 0;
}
.form_area .input_field_area .input_field .input_area.row {
  display: flex;
  justify-content: space-between;
}
.form_area .input_field_area .input_field .input_area.row .col {
  width: 48%;
  display: flex;
  align-items: center;
}
.form_area .input_field_area .input_field .input_area.row .col .label {
  margin-right: 0.5em;
}
.form_area .input_field_area .input_field .input_area .annotation {
  margin-top: 1em;
  font-size: 0.875em;
}
.form_area .privacy {
  margin-bottom: 5rem;
}
@media only screen and (max-width: 780px) {
  .form_area .privacy {
    margin-bottom: 2.5rem;
  }
}
.form_area .privacy p {
  margin-bottom: 2em;
  text-align: center;
}
.form_area .privacy p a {
  color: #0082C7;
  text-decoration: underline;
}
.form_area .privacy .check {
  text-align: center;
}
.form_area .submit {
  text-align: center;
}
.form_area .submit input[type=submit] {
  width: 39.8rem;
  padding: 1.27em;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  color: #ffffff !important;
  background-color: #081F3B;
  background-image: url("../img/icon_arrow01.png");
  background-size: 2.3rem auto;
  background-repeat: no-repeat;
  background-position: calc(100% - 2.8rem) center;
  transition: background-position 0.3s;
  display: inline-block;
}
@media only screen and (max-width: 780px) {
  .form_area .submit input[type=submit] {
    width: 29.8rem;
    padding: 1.14em;
    font-size: 1.4rem;
    background-size: 1.75rem auto;
    background-position: calc(100% - 1.9rem) center;
  }
}
@media only screen and (min-width: 781px) {
  .form_area .submit input[type=submit]:hover {
    background-position: calc(100% - 1.4rem) center;
  }
}
.form_area .submit input[type=submit]:disabled {
  opacity: 0.3 !important;
}
.form_area .wpcf7-text {
  width: 100%;
  padding: 0.75em;
  background-color: #F7F7F7;
  border-radius: 0.4rem;
}
.form_area .wpcf7-text::-moz-placeholder {
  color: #DBDBDB;
}
.form_area .wpcf7-text::placeholder {
  color: #DBDBDB;
}
.form_area .wpcf7-textarea {
  width: 100%;
  height: 16em;
  padding: 0.75em;
  background-color: #F7F7F7;
  border-radius: 0.4rem;
}
@media only screen and (max-width: 780px) {
  .form_area .wpcf7-textarea {
    height: 8em;
  }
}
.form_area .wpcf7-textarea::-moz-placeholder {
  color: #DBDBDB;
}
.form_area .wpcf7-textarea::placeholder {
  color: #DBDBDB;
}
.form_area .wpcf7-select {
  width: 100%;
  padding: 0.75em;
  background-color: #F7F7F7;
  background-image: url("../img/form_select_icon.png");
  background-repeat: no-repeat;
  background-position: calc(100% - 1rem) center;
  background-size: 2rem auto;
  border-radius: 0.4rem;
}
.form_area .wpcf7-radio {
  margin-bottom: -1em;
  display: block;
  letter-spacing: -0.4em;
}
.form_area .wpcf7-radio > * {
  display: inline-block;
  letter-spacing: normal;
}
.form_area .wpcf7-radio > * {
  margin-right: 1em !important;
  margin-bottom: 1em !important;
}
.form_area .wpcf7-radio label input {
  visibility: hidden;
  position: absolute;
  left: -9999999px;
}
.form_area .wpcf7-radio label input:checked + span:after {
  content: "";
}
.form_area .wpcf7-radio label input + span {
  padding-left: 4rem;
  display: inline-block;
  position: relative;
}
.form_area .wpcf7-radio label input + span:before {
  width: 2.4rem;
  height: 2.4rem;
  content: "";
  background-color: #ffffff;
  border: solid 1px #DBDBDB;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
}
.form_area .wpcf7-radio label input + span:after {
  width: 1.4rem;
  height: 1.4rem;
  content: none;
  background-color: #000000;
  border-radius: 50%;
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
}
.form_area .wpcf7-checkbox, .form_area .wpcf7-acceptance {
  margin-bottom: -1em;
  display: block;
  letter-spacing: -0.4em;
}
.form_area .wpcf7-checkbox > *, .form_area .wpcf7-acceptance > * {
  display: inline-block;
  letter-spacing: normal;
}
.form_area .wpcf7-checkbox > *, .form_area .wpcf7-acceptance > * {
  margin-right: 1em !important;
  margin-bottom: 1em !important;
}
.form_area .wpcf7-checkbox label input, .form_area .wpcf7-acceptance label input {
  visibility: hidden;
  position: absolute;
  left: -9999999px;
}
.form_area .wpcf7-checkbox label input:checked + span:after, .form_area .wpcf7-acceptance label input:checked + span:after {
  content: "";
}
.form_area .wpcf7-checkbox label input + span, .form_area .wpcf7-acceptance label input + span {
  padding-left: 4rem;
  display: inline-block;
  position: relative;
}
.form_area .wpcf7-checkbox label input + span:before, .form_area .wpcf7-acceptance label input + span:before {
  width: 2.4rem;
  height: 2.4rem;
  content: "";
  background-color: #ffffff;
  border: solid 1px #DBDBDB;
  position: absolute;
  top: 0;
  left: 0;
}
.form_area .wpcf7-checkbox label input + span:after, .form_area .wpcf7-acceptance label input + span:after {
  width: 1.6rem;
  height: 1rem;
  content: none;
  border-left: solid 0.2rem #000000;
  border-bottom: solid 0.2rem #000000;
  position: absolute;
  top: 0.4rem;
  left: 0.4rem;
  transform: rotate(-45deg);
}

/****************************************************
 * 3.レイアウト設定
 ****************************************************/
.container {
  width: 100%;
  padding-top: 9.5rem;
  overflow: hidden;
}
@media only screen and (max-width: 1279px) {
  .container {
    padding-top: 6.4rem;
  }
}

/****************************************************
 * 4.テンプレートスタイル
 ****************************************************/
/*ヘッダーブロック*/
#header {
  width: 100%;
  height: 9.5rem;
  background-color: #ffffff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 1279px) {
  #header {
    height: 6.4rem;
  }
}
#header .logo {
  width: 28rem;
  margin-left: 2.4rem;
}
@media only screen and (max-width: 1279px) {
  #header .logo {
    width: 24rem;
    margin-left: 1.2rem;
  }
}
@media only screen and (max-width: 780px) {
  #header .logo {
    width: 22.8rem;
  }
}
#header .header_right {
  display: flex;
  align-items: center;
}
#header .header_right .sp_menu_btn {
  width: 6.4rem;
  height: 6.4rem;
  background-image: url("../img/sp_menu_open.png");
  background-size: cover;
}
#header .header_right .sp_menu_btn.open {
  background-image: url("../img/sp_menu_close.png");
}
@media only screen and (min-width: 901px) {
  #header .header_right nav {
    display: flex;
    align-items: center;
  }
  #header .header_right nav ul {
    display: table;
  }
  #header .header_right nav ul > * {
    display: table-cell;
  }
  #header .header_right nav ul li {
    padding: 0 2em;
    font-weight: 500;
    border-left: solid 1px #DBDBDB;
  }
}
@media only screen and (min-width: 901px) and (max-width: 1279px) {
  #header .header_right nav ul li {
    padding: 0 1em;
  }
}
@media only screen and (min-width: 901px) {
  #header .header_right nav ul li:first-child {
    border-left: none;
  }
  #header .header_right nav ul li a:hover {
    color: #0082C7;
  }
  #header .header_right nav .recruit_link {
    margin-left: 1em;
  }
}
@media only screen and (min-width: 901px) and (max-width: 1279px) {
  #header .header_right nav .recruit_link {
    margin-left: 0;
  }
}
@media only screen and (min-width: 901px) {
  #header .header_right nav .recruit_link a {
    padding: 0.5em 1.7em;
    font-weight: 500;
    border: solid 1px #081F3B;
    display: block;
  }
}
@media only screen and (min-width: 901px) and (max-width: 1279px) {
  #header .header_right nav .recruit_link a {
    padding: 0.5em 1em;
  }
}
@media only screen and (min-width: 901px) {
  #header .header_right nav .recruit_link a:hover {
    color: #0082C7;
    border-color: #0082C7;
  }
  #header .header_right nav .g-translate-box {
    width: 12.5rem;
    margin: 0 2em;
  }
}
@media only screen and (min-width: 901px) and (max-width: 1279px) {
  #header .header_right nav .g-translate-box {
    margin: 0 1em;
  }
}
@media only screen and (min-width: 901px) {
  #header .header_right nav .g-translate-box select:hover {
    color: #0082C7;
    border-color: #0082C7;
  }
  #header .header_right nav .header_contact {
    width: 9.5rem;
  }
}
@media only screen and (min-width: 901px) and (max-width: 1279px) {
  #header .header_right nav .header_contact {
    width: 6.4rem;
  }
}
@media only screen and (min-width: 901px) {
  #header .header_right nav .header_contact a:hover {
    opacity: 0.6;
  }
}
@media only screen and (max-width: 900px) {
  #header .sp_menu {
    width: 100%;
    height: calc(100vh - 6.4rem);
    background-color: rgba(0, 0, 0, 0.74);
    position: absolute;
    top: 100%;
    left: 0;
    display: none;
  }
  #header .sp_menu nav {
    width: calc(100% - 4.4rem);
    height: 100%;
    margin: 0 0 0 auto;
    padding-bottom: 1rem;
    overflow: auto;
    background-color: #00449C;
  }
  #header .sp_menu nav ul {
    margin-bottom: 2.4rem;
  }
  #header .sp_menu nav ul li {
    border-bottom: solid 1px #2260B1;
  }
  #header .sp_menu nav ul li a {
    padding: 1.2em 1.5em;
    font-weight: 500;
    color: #ffffff;
    display: block;
  }
  #header .sp_menu nav .g-translate-box {
    width: 34.2rem;
    max-width: 86%;
    margin: 0 auto 2.8rem auto;
  }
  #header .sp_menu nav .btn {
    width: 34.2rem;
    max-width: 86%;
    margin: 0 auto;
    text-align: center;
  }
  #header .sp_menu nav .btn + .btn {
    margin-top: 1.2rem;
  }
}
#header .g-translate-box select {
  width: 100%;
  padding: 0.5em 1em;
  font-weight: 500;
  color: #081F3B;
  background: url("../img/form_select_icon.png") no-repeat calc(100% - 0.5em) center, #ffffff;
  background-size: 1rem auto;
  border: solid 1px #081F3B;
}
@media only screen and (max-width: 900px) {
  #header .g-translate-box select {
    border-radius: 0.4rem;
  }
}
#header .g-translate-box #google_translate_element2 {
  display: none !important;
}

/*フッターブロック*/
#footer {
  padding: 8rem 0;
  color: #ffffff;
  background-color: #071526;
}
@media only screen and (max-width: 780px) {
  #footer {
    padding: 0 0 15rem 0;
  }
}
#footer .pagetop {
  width: 9.9rem;
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 90;
  display: none;
}
@media only screen and (max-width: 780px) {
  #footer .pagetop {
    display: none !important;
  }
}
@media only screen and (min-width: 781px) {
  #footer .inner {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 781px) {
  #footer .inner .footer_content {
    padding-right: 2em;
  }
}
#footer .inner .footer_content .logo {
  width: 28rem;
}
@media only screen and (max-width: 780px) {
  #footer .inner .footer_content .logo {
    margin: 0 auto;
  }
}
#footer .inner .footer_content address {
  margin: 2rem 0 0.5rem 0;
  font-size: 1.3rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  #footer .inner .footer_content address {
    margin: 0.75rem 0 2rem 0;
    font-size: 1.4rem;
    text-align: center;
  }
}
#footer .inner .footer_content .tel {
  margin-bottom: 2rem;
  font-size: 1.1rem;
  font-weight: 500;
}
#footer .inner .footer_content .tel > span {
  font-family: "Montserrat", sans-serif;
  font-size: 1.18em;
}
#footer .inner .footer_content .tel > span > span {
  font-size: 1.38em;
  font-weight: 600;
}
#footer .inner .footer_content .btn {
  margin-bottom: 4.8rem;
  letter-spacing: -0.4em;
}
#footer .inner .footer_content .btn > * {
  display: inline-block;
  letter-spacing: normal;
}
@media only screen and (max-width: 780px) {
  #footer .inner .footer_content .btn {
    margin-bottom: 2.8rem;
    text-align: center;
  }
}
#footer .inner .footer_content .btn a {
  padding: 0.5em 1.2em;
  font-size: 1.5rem;
  font-weight: 500;
  color: #081F3B !important;
  background-color: #ffffff;
  border-radius: 0.4rem;
}
@media only screen and (max-width: 780px) {
  #footer .inner .footer_content .btn a {
    font-size: 1.4rem;
  }
}
#footer .inner .footer_content .btn a:hover {
  opacity: 0.8;
}
#footer .inner .footer_content .btn a:before {
  width: 2.4rem;
  height: 2.4rem;
  margin-right: 0.3em;
  content: "";
  background-size: cover;
  display: inline-block;
  vertical-align: -0.4em;
}
@media only screen and (max-width: 780px) {
  #footer .inner .footer_content .btn a:before {
    width: 2.2rem;
    height: 2.2rem;
  }
}
#footer .inner .footer_content .btn a:nth-child(1):before {
  background-image: url("../img/icon_tel01.png");
}
@media only screen and (max-width: 780px) {
  #footer .inner .footer_content .btn a:nth-child(2) {
    margin-left: 1.2rem;
  }
}
#footer .inner .footer_content .btn a:nth-child(2):before {
  background-image: url("../img/icon_mail01.png");
}
#footer .inner .footer_content .text {
  margin-bottom: 2rem;
}
@media only screen and (max-width: 780px) {
  #footer .inner .footer_content .text {
    margin-bottom: 1.6rem;
    text-align: center;
  }
}
#footer .inner .footer_content .text dt {
  margin-bottom: 0.5rem;
  font-weight: 700;
}
#footer .inner .footer_content .text dd {
  font-size: 1.4rem;
}
@media only screen and (max-width: 780px) {
  #footer .inner .footer_content .text dd {
    font-size: 1.2rem;
  }
}
#footer .inner .footer_content .copyright {
  font-size: 1.2rem;
  color: #4E5358;
}
@media only screen and (max-width: 780px) {
  #footer .inner .footer_content .copyright {
    text-align: center;
  }
}
@media only screen and (min-width: 781px) {
  #footer .inner .menu {
    display: flex;
    align-items: flex-start;
  }
}
@media only screen and (max-width: 780px) {
  #footer .inner .menu {
    margin-bottom: 3.7rem;
  }
}
@media only screen and (min-width: 781px) {
  #footer .inner .menu ul {
    min-height: 25rem;
    padding-left: 2em;
    border-left: solid 1px #293748;
  }
  #footer .inner .menu ul + ul {
    margin-left: 2em;
  }
}
@media only screen and (max-width: 780px) {
  #footer .inner .menu ul:first-child {
    width: 111%;
    margin: 0 -5.5%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
    gap: 0;
    border-top: solid 1px #293748;
  }
  #footer .inner .menu ul:first-child li {
    border-bottom: solid 1px #293748;
  }
  #footer .inner .menu ul:first-child li:nth-child(2n) {
    border-left: solid 1px #293748;
  }
  #footer .inner .menu ul:first-child li a {
    padding: 2rem 0;
    text-align: center;
    display: block;
  }
}
@media only screen and (max-width: 780px) {
  #footer .inner .menu ul:last-child {
    margin-top: 3.6rem;
    text-align: center;
  }
  #footer .inner .menu ul:last-child li {
    font-size: 1.4rem;
  }
  #footer .inner .menu ul:last-child li + li {
    margin-top: 2rem;
  }
}
#footer .inner .menu ul li {
  font-weight: 500;
}
@media only screen and (min-width: 781px) {
  #footer .inner .menu ul li {
    font-size: 1.5rem;
  }
  #footer .inner .menu ul li + li {
    margin-top: 1.6em;
  }
}
#footer .inner .menu ul li a {
  color: #ffffff !important;
}
@media only screen and (min-width: 781px) {
  #footer .inner .menu ul li a:hover {
    text-decoration: underline;
  }
}

/****************************************************
 * 5.コンテンツスタイル
 ****************************************************/
/*TOPページ*/
.p-top__mv {
  width: 100%;
  background-size: cover;
  background-position: center center;
}
@media only screen and (min-width: 781px) {
  .p-top__mv {
    height: 70.5rem;
    margin-bottom: 8.8rem;
    padding-top: 12.4rem;
    background-image: url("../img/top/mv_bg.png");
  }
}
@media only screen and (min-width: 781px) and (max-width: 1279px) {
  .p-top__mv {
    height: 55vw;
    padding-top: 9.68vw;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__mv:after {
    width: 100%;
    height: 4rem;
    content: "";
    background-color: #ffffff;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -5;
  }
}
@media only screen and (min-width: 781px) and (max-width: 1279px) {
  .p-top__mv:after {
    height: 3.125vw;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__mv {
    height: 48.6rem;
    margin-bottom: 3.2rem;
    padding-top: 24rem;
    background-image: url("../img/top/mv_bg_sp.png");
  }
}
.p-top__mv .text h1 {
  font-size: 7rem;
  font-weight: 900;
  line-height: 1;
}
@media only screen and (max-width: 1279px) {
  .p-top__mv .text h1 {
    font-size: 5.4vw;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__mv .text h1 {
    font-size: 3.5rem;
  }
}
.p-top__mv .text h1 > span {
  margin-top: 0.2em;
  padding: 0.1em 0.25em 0.2em 0.25em;
  background-color: #ffffff;
  display: inline-block;
}
.p-top__mv .text h1 > span span {
  color: #0082C7;
}
.p-top__mv .text h1 > span em {
  font-style: normal;
  font-weight: 900;
  padding: 0 0.3em 0 0.25em;
  position: relative;
}
.p-top__mv .text h1 > span em:before, .p-top__mv .text h1 > span em:after {
  width: 0.428em;
  height: 0.642em;
  content: "";
  background-image: url("../img/top/mv_text_kakko.png");
  background-size: cover;
  position: absolute;
}
.p-top__mv .text h1 > span em:before {
  top: 0.2em;
  left: 0;
}
.p-top__mv .text h1 > span em:after {
  bottom: 0.2em;
  right: 0.05em;
  transform: scale(-1, -1);
}
.p-top__mv .text p {
  margin-top: 1em;
  font-size: 2.4rem;
  font-weight: 500;
  color: #ffffff;
}
@media only screen and (max-width: 1279px) {
  .p-top__mv .text p {
    font-size: 1.875vw;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__mv .text p {
    font-size: 1.5rem;
  }
}
.p-top__about {
  margin-bottom: 10rem;
}
@media only screen and (max-width: 900px) {
  .p-top__about {
    margin-bottom: 4.4rem;
  }
}
.p-top__about .inner {
  max-width: 1200px;
}
@media only screen and (min-width: 901px) {
  .p-top__about .inner {
    min-height: 56.4rem;
    position: relative;
  }
}
@media only screen and (min-width: 901px) {
  .p-top__about .img {
    width: 73%;
    position: absolute;
    top: 0;
    right: 57%;
  }
}
@media only screen and (max-width: 900px) {
  .p-top__about .img {
    width: 105.5%;
    margin: 0 auto 0 -5.5%;
    position: relative;
  }
}
.p-top__about .img:after {
  content: "";
  background-image: url("../img/top/about_fig01.png");
  background-size: cover;
  position: absolute;
}
@media only screen and (min-width: 901px) {
  .p-top__about .img:after {
    width: 24.1rem;
    height: 21.7rem;
    right: -4.3rem;
    bottom: -3.5rem;
  }
}
@media only screen and (max-width: 900px) {
  .p-top__about .img:after {
    width: 12rem;
    height: 10.5rem;
    right: -5.5%;
    bottom: 1rem;
  }
}
@media only screen and (min-width: 901px) {
  .p-top__about .text {
    width: 51.6%;
    margin: 0 0 0 auto;
  }
}
@media only screen and (max-width: 900px) {
  .p-top__about .text {
    margin-bottom: 3.2rem;
  }
}
.p-top__about .text .midashi01 {
  width: 168%;
}
@media only screen and (max-width: 900px) {
  .p-top__about .text .midashi01 {
    width: 100%;
  }
}
.p-top__about .text h3 {
  margin-bottom: 0.75em;
  font-size: 4.4rem;
  font-weight: 700;
}
@media only screen and (max-width: 900px) {
  .p-top__about .text h3 {
    font-size: 2.8rem;
  }
}
.p-top__about .text h3 span {
  font-size: 0.72em;
  display: block;
}
@media only screen and (max-width: 900px) {
  .p-top__about .text h3 span {
    font-size: 0.67em;
  }
}
.p-top__about .text p {
  margin-bottom: 2.2em;
  font-weight: 500;
}
@media only screen and (min-width: 901px) {
  .p-top__about .text p {
    font-size: 1.8rem;
    line-height: 1.88;
  }
}
@media only screen and (min-width: 901px) {
  .p-top__about .text .btn {
    text-align: right;
  }
}
@media only screen and (max-width: 900px) {
  .p-top__about .text .btn {
    text-align: center;
  }
}
.p-top__service {
  margin-bottom: 9.6rem;
  padding: 8rem 0;
  background-color: #F7F7F7;
}
@media only screen and (max-width: 900px) {
  .p-top__service {
    margin-bottom: 4.4rem;
    padding: 3.6rem 0;
  }
}
.p-top__service .inner {
  max-width: 1200px;
}
@media only screen and (min-width: 901px) {
  .p-top__service .inner {
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 901px) {
  .p-top__service .text {
    width: 51.6%;
  }
}
.p-top__service .text h3 {
  margin-bottom: 0.9em;
  font-size: 4.4rem;
  font-weight: 700;
  line-height: 1.2;
  display: inline-block;
}
@media only screen and (max-width: 900px) {
  .p-top__service .text h3 {
    font-size: 2.8rem;
    text-align: center;
    display: block;
  }
}
.p-top__service .text h3 span {
  display: block;
}
.p-top__service .text h3 span em {
  font-style: normal;
  font-weight: 700;
  color: #0082C7;
}
.p-top__service .text h3 span:last-child:before {
  content: "×";
  text-align: center;
  display: block;
}
.p-top__service .text h3 span:last-child em {
  color: #00449C;
}
.p-top__service .text p {
  margin-bottom: 2.2em;
  font-weight: 500;
}
@media only screen and (min-width: 901px) {
  .p-top__service .text p {
    font-size: 1.8rem;
    line-height: 1.88;
  }
}
@media only screen and (max-width: 900px) {
  .p-top__service .text .btn {
    text-align: center;
  }
}
@media only screen and (min-width: 901px) {
  .p-top__service .img {
    width: 41%;
    padding-top: 14rem;
  }
}
@media only screen and (max-width: 900px) {
  .p-top__service .img {
    max-width: 68.4rem;
    margin: 0 auto 3.2rem auto;
  }
}
.p-top__factory {
  margin-bottom: 11.2rem;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 780px) {
  .p-top__factory {
    margin-bottom: 3.2rem;
    padding-bottom: 3.2rem;
  }
}
.p-top__factory .inner {
  max-width: 1600px;
  padding: 4.8rem 0;
  position: relative;
}
@media only screen and (max-width: 780px) {
  .p-top__factory .inner {
    padding: 14rem 0 0 0;
  }
}
.p-top__factory .inner:before {
  content: "";
  background-size: cover;
  background-position: center center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media only screen and (min-width: 781px) {
  .p-top__factory .inner:before {
    width: 81.25%;
    height: 100%;
    background-image: url("../img/top/factory_img01.jpg");
  }
}
@media only screen and (max-width: 780px) {
  .p-top__factory .inner:before {
    width: 100%;
    height: 80%;
    background-image: url("../img/top/factory_img01_sp.jpg");
  }
}
.p-top__factory .scroll_text {
  width: 100%;
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #E1EDF0;
  position: absolute;
  left: 0;
}
@media only screen and (min-width: 781px) {
  .p-top__factory .scroll_text {
    font-size: 10rem;
    top: 65%;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__factory .scroll_text {
    font-size: 5rem;
    bottom: 0;
  }
}
.p-top__factory .box {
  color: #ffffff;
  background-color: #0082C7;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 781px) {
  .p-top__factory .box {
    width: 80%;
    max-width: 81.6rem;
    margin: 0 0 0 auto;
    padding: 4.3rem 17rem 4.3rem 6.4rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__factory .box {
    width: 100%;
    margin: 0 -5.5% 0 auto;
    padding: 2rem 2.4rem;
  }
}
.p-top__factory .box:after {
  content: "";
  background-size: cover;
  position: absolute;
  z-index: -1;
}
@media only screen and (min-width: 781px) {
  .p-top__factory .box:after {
    width: 14.6rem;
    height: 35.8rem;
    background-image: url("../img/top/factory_fig01.png");
    bottom: -2.7rem;
    right: 5.6rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__factory .box:after {
    width: 6.5rem;
    height: 18rem;
    background-image: url("../img/top/factory_fig01_sp.png");
    top: -10rem;
    right: 0.5rem;
  }
}
.p-top__factory .box h2 {
  margin-bottom: 0.38em;
  font-size: 4.4rem;
  font-weight: 700;
  line-height: 1.25;
}
@media only screen and (max-width: 780px) {
  .p-top__factory .box h2 {
    margin-bottom: 0.5em;
    font-size: 2.8rem;
  }
}
.p-top__factory .box h2 span {
  font-size: 0.71em;
  display: block;
}
.p-top__factory .box p {
  margin-bottom: 2.2em;
  font-weight: 500;
}
@media only screen and (min-width: 901px) {
  .p-top__factory .box p {
    font-size: 1.8rem;
    line-height: 1.88;
  }
}
@media only screen and (max-width: 900px) {
  .p-top__factory .box .btn {
    text-align: center;
  }
}
.p-top__record {
  margin-bottom: 14.4rem;
}
@media only screen and (max-width: 780px) {
  .p-top__record {
    margin-bottom: 5.5rem;
  }
}
.p-top__record p {
  font-weight: 500;
  line-height: 2.625;
}
@media only screen and (max-width: 780px) {
  .p-top__record p {
    font-size: 1.4rem;
    line-height: 1.89;
  }
}
.p-top__recruit {
  margin-bottom: 10.4rem;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 780px) {
  .p-top__recruit {
    margin-bottom: 5.5rem;
  }
}
.p-top__recruit:before {
  width: 100%;
  content: "";
  background-size: cover;
  background-position: center center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media only screen and (min-width: 781px) {
  .p-top__recruit:before {
    height: calc(100% - 6.8rem);
    background-image: url("../img/top/recruit_bg.jpg");
  }
}
@media only screen and (max-width: 780px) {
  .p-top__recruit:before {
    height: calc(100% - 5rem);
    background-image: url("../img/top/recruit_bg_sp.jpg");
  }
}
.p-top__recruit .inner {
  max-width: 1200px;
  padding-top: 4rem;
}
.p-top__recruit h2 {
  margin-bottom: 2em;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  color: #ffffff;
}
.p-top__recruit h2 span {
  font-family: "Montserrat", sans-serif;
  font-size: 10rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1.1;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-top__recruit h2 span {
    font-size: 5rem;
  }
}
.p-top__recruit p {
  margin-bottom: 2.5em;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .p-top__recruit p {
    font-size: 1.5rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__recruit .btn {
    display: flex;
    justify-content: space-between;
  }
}
.p-top__recruit .btn a {
  width: 48%;
  padding: 2em 0;
  font-size: 2.2rem;
  font-weight: 500;
  text-align: center;
  color: #ffffff;
  background-color: #081F3B;
  position: relative;
}
@media only screen and (max-width: 1099px) {
  .p-top__recruit .btn a {
    padding: 1.5em 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__recruit .btn a {
    width: 100%;
    max-width: 34.2rem;
    margin: 0 auto;
    padding: 1.4em 0;
    font-size: 1.7rem;
    display: block;
  }
}
.p-top__recruit .btn a span {
  margin-bottom: 0.5em;
  font-size: 1.6rem;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-top__recruit .btn a span {
    font-size: 1.3rem;
  }
}
.p-top__recruit .btn a:nth-child(2) {
  background: linear-gradient(to right, #FFBA00, #FF7600);
}
@media only screen and (max-width: 780px) {
  .p-top__recruit .btn a:nth-child(2) {
    margin-top: 0.5em;
  }
}
.p-top__recruit .btn a:before {
  width: 100%;
  height: 100%;
  content: "";
  background-image: url("../img/icon_arrow01.png");
  background-size: 2.4rem auto;
  background-repeat: no-repeat;
  background-position: calc(100% - 4.8rem) center;
  position: absolute;
  top: 0;
  left: 0;
  transition: background-position 0.3s;
}
@media only screen and (max-width: 1099px) {
  .p-top__recruit .btn a:before {
    background-size: 2rem auto;
    background-position: calc(100% - 3rem) center;
  }
}
@media only screen and (max-width: 780px) {
  .p-top__recruit .btn a:before {
    background-size: 1.4rem auto;
    background-position: calc(100% - 1.5rem) center;
  }
}
@media only screen and (min-width: 781px) {
  .p-top__recruit .btn a:hover:before {
    background-position: calc(100% - 2.4rem) center;
  }
}
.p-top__news {
  margin-bottom: 8.8rem;
}
.p-top__news .inner {
  max-width: 1000px;
  position: relative;
  z-index: 1;
}
.p-top__news .fig01 {
  width: 9.8rem;
  position: absolute;
  top: 0;
  left: -14rem;
  z-index: -1;
}
@media only screen and (max-width: 780px) {
  .p-top__news .fig01 {
    width: 4.9rem;
    left: 0;
  }
}
.p-top__news .fig02 {
  width: 14.6rem;
  position: absolute;
  bottom: 0;
  right: -18.6rem;
  z-index: -1;
}
@media only screen and (max-width: 780px) {
  .p-top__news .fig02 {
    width: 7.3rem;
    right: -0.6rem;
    bottom: -5.5rem;
  }
}
.p-top__news .news_list li {
  margin-bottom: 2.5rem;
  padding-bottom: 2.5rem;
  border-bottom: solid 1px #DBDBDB;
}
@media only screen and (max-width: 780px) {
  .p-top__news .news_list li {
    margin-bottom: 1.6rem;
    padding-bottom: 1.6rem;
  }
}
.p-top__news .news_list li a {
  display: block;
}
.p-top__news .news_list li a .date {
  margin-right: 1em;
  font-family: "Montserrat", sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #ABB1B7;
  display: inline-block;
  vertical-align: middle;
}
.p-top__news .news_list li a .cate {
  padding: 0.1em 0.5em 0.2em 0.5em;
  font-size: 1.4rem;
  font-weight: 500;
  border: solid 1px #081F3B;
  display: inline-block;
  vertical-align: middle;
}
.p-top__news .news_list li a p {
  margin-top: 0.8em;
  font-size: 1.8rem;
  font-weight: 500;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-top__news .news_list li a p {
    font-size: 1.5rem;
  }
}
.p-top__news .news_list li a:hover p {
  color: #0082C7;
}
.p-top__news .btn {
  margin-top: 4.8rem;
  text-align: center;
}

html:not([lang=ja]):not([lang=auto]) .p-top__mv .text h1 > span em {
  padding: 0;
}
html:not([lang=ja]):not([lang=auto]) .p-top__mv .text h1 > span em:before, html:not([lang=ja]):not([lang=auto]) .p-top__mv .text h1 > span em:after {
  content: none;
}

/*下層ページ*/
.pagetitle {
  margin-bottom: 1em;
  padding: 5.7rem 0;
  background-image: url("../img/pagetitle_bg.jpg");
  background-size: cover;
  background-position: center center;
}
@media only screen and (max-width: 780px) {
  .pagetitle {
    padding: 3rem 0;
  }
}
.pagetitle .inner {
  max-width: 1200px;
}
.pagetitle h1 {
  font-size: 2.2rem;
  font-weight: 500;
  color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .pagetitle h1 {
    font-size: 1.6rem;
  }
}
.pagetitle h1 .eng {
  margin-bottom: 0.8rem;
  font-family: "Montserrat", sans-serif;
  font-size: 6rem;
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 800;
  white-space: nowrap;
}
@media only screen and (max-width: 780px) {
  .pagetitle h1 .eng {
    margin-bottom: 0.5rem;
    font-size: 3.6rem;
  }
}
.pagetitle h1 .eng span {
  margin-right: 0.1em;
  padding: 0 0.125em;
  color: #081F3B;
  background-color: #ffffff;
  display: inline-block;
}

.pankuzu {
  margin-bottom: 5rem;
}
@media only screen and (max-width: 780px) {
  .pankuzu {
    margin-bottom: 3rem;
  }
}
.pankuzu .inner {
  max-width: 1200px;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: -0.4em;
}
.pankuzu .inner > * {
  display: inline-block;
  letter-spacing: normal;
}
.pankuzu a:after {
  width: 0.7rem;
  height: 0.7rem;
  margin: 0 1em;
  content: "";
  background-image: url("../img/icon_arrow03.png");
  background-size: cover;
  display: inline-block;
}
.pankuzu span {
  color: #9AA6B4;
}

.p-service__intro {
  margin-bottom: 11.2rem;
}
@media only screen and (max-width: 780px) {
  .p-service__intro {
    margin-bottom: 5.5rem;
  }
}
.p-service__intro h3 {
  margin-bottom: 1.38em;
  font-size: 3.6rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-service__intro h3 {
    font-size: 2.2rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-service__intro .text_area {
    margin-bottom: 6.4rem;
    display: flex;
    align-items: center;
  }
}
@media only screen and (max-width: 780px) {
  .p-service__intro .text_area {
    margin-bottom: 3rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-service__intro .text_area .img {
    width: 50%;
    padding-left: 5rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-service__intro .text_area .img {
    max-width: 50rem;
    margin: 0 auto 2rem auto;
  }
}
@media only screen and (min-width: 781px) {
  .p-service__intro .text_area .text {
    width: 50%;
    padding-left: 5rem;
  }
}
.p-service__intro .text_area .text h4 {
  margin-bottom: 0.8em;
  font-size: 3.1rem;
  font-weight: 700;
  color: #00449C;
}
@media only screen and (max-width: 780px) {
  .p-service__intro .text_area .text h4 {
    font-size: 2.2rem;
  }
}
.p-service__intro .text_area .text p {
  font-weight: 500;
}
@media only screen and (min-width: 901px) {
  .p-service__intro .text_area .text p {
    font-size: 1.8rem;
    line-height: 1.88;
  }
}
@media only screen and (min-width: 781px) {
  .p-service__intro .point {
    display: flex;
    justify-content: space-between;
  }
}
.p-service__intro .point dl {
  color: #ffffff;
  background-color: #0082C7;
}
@media only screen and (min-width: 781px) {
  .p-service__intro .point dl {
    width: 32%;
    margin: 0 2% 0 0;
  }
  .p-service__intro .point dl:last-child {
    margin-right: 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-service__intro .point dl + dl {
    margin-top: 2rem;
  }
}
.p-service__intro .point dl dt {
  padding: 0.7em;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
  color: #081F3B;
  background-color: #DBDBDB;
  position: relative;
}
@media only screen and (max-width: 780px) {
  .p-service__intro .point dl dt {
    font-size: 1.6rem;
  }
}
.p-service__intro .point dl dt:after {
  margin-left: -1.5rem;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.7rem 1.5rem 0 1.5rem;
  border-color: #DBDBDB transparent transparent transparent;
  position: absolute;
  top: 100%;
  left: 50%;
}
@media only screen and (max-width: 780px) {
  .p-service__intro .point dl dt:after {
    margin-left: -1rem;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 1rem 1rem 0 1rem;
    border-color: #DBDBDB transparent transparent transparent;
  }
}
.p-service__intro .point dl dd {
  height: 16.6rem;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
  background-image: url("../img/service/synergy_maru.png");
  background-size: 9.4rem auto;
  background-repeat: no-repeat;
  background-position: center center;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 780px) {
  .p-service__intro .point dl dd {
    height: 12rem;
    font-size: 1.6rem;
    background-size: 6rem auto;
  }
}
.p-service__link {
  margin-bottom: 4.8rem;
}
.p-service__link .inner {
  max-width: 1200px;
}
@media only screen and (min-width: 781px) {
  .p-service__link ul {
    display: flex;
    justify-content: space-between;
  }
}
.p-service__link ul li {
  border: solid 1px #CECECE;
  overflow: hidden;
  position: relative;
}
@media only screen and (min-width: 781px) {
  .p-service__link ul li {
    width: 48%;
  }
}
@media only screen and (max-width: 780px) {
  .p-service__link ul li + li {
    margin-top: 2rem;
  }
}
.p-service__link ul li a {
  display: flex;
}
.p-service__link ul li a:after {
  width: 4.8rem;
  height: 4.8rem;
  content: "";
  background-color: #00449C;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(50%, 50%) rotate(45deg);
}
@media only screen and (max-width: 780px) {
  .p-service__link ul li a:after {
    width: 2.4rem;
    height: 2.4rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-service__link ul li a:hover {
    background-color: #F7F7F7;
  }
}
.p-service__link ul li .img {
  width: 31%;
}
.p-service__link ul li .text {
  width: 69%;
  padding: 0 4rem;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 780px) {
  .p-service__link ul li .text {
    padding: 0 2rem;
  }
}
.p-service__link ul li .text p {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.36;
}
@media only screen and (max-width: 780px) {
  .p-service__link ul li .text p {
    font-size: 1.6rem;
  }
}
.p-service__link ul li .text p span {
  margin-bottom: 0.6em;
  font-family: "Jost", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #00449C;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-service__link ul li .text p span {
    font-size: 1rem;
  }
}
.p-service__link ul li:nth-child(2) a:after {
  background-color: #0082C7;
}
.p-service__link ul li:nth-child(2) a .text p span {
  color: #0082C7;
}
.p-service__detail01 .outer, .p-service__detail02 .outer {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 8rem 0;
  background-color: #00449C;
}
@media only screen and (max-width: 780px) {
  .p-service__detail01 .outer, .p-service__detail02 .outer {
    padding: 4rem 0;
  }
}
.p-service__detail01 .inner, .p-service__detail02 .inner {
  max-width: 1200px;
}
.p-service__detail01 h3, .p-service__detail02 h3 {
  font-size: 2.8rem;
  font-weight: 700;
  text-align: center;
  color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .p-service__detail01 h3, .p-service__detail02 h3 {
    font-size: 2.4rem;
  }
}
.p-service__detail01 h3 + p, .p-service__detail02 h3 + p {
  margin: 0.5em 0 2.5em 0;
  font-weight: 500;
  letter-spacing: 0.06;
  text-align: center;
  color: #ffffff;
}
.p-service__detail01 .box, .p-service__detail02 .box {
  margin-bottom: 7rem;
  padding: 8rem 6rem;
  background-color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .p-service__detail01 .box, .p-service__detail02 .box {
    margin-bottom: 4rem;
    padding: 4rem 2rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-service__detail01 .box ol li, .p-service__detail02 .box ol li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
  }
  .p-service__detail01 .box ol li:after, .p-service__detail02 .box ol li:after {
    width: 55.5%;
    height: 1px;
    content: "";
    background-color: #CECECE;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .p-service__detail01 .box ol li + li, .p-service__detail02 .box ol li + li {
    margin-top: 4.8rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-service__detail01 .box ol li + li, .p-service__detail02 .box ol li + li {
    margin-top: 3rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-service__detail01 .box ol li .text, .p-service__detail02 .box ol li .text {
    width: 55.5%;
  }
}
@media only screen and (max-width: 780px) {
  .p-service__detail01 .box ol li .text, .p-service__detail02 .box ol li .text {
    margin-bottom: 2rem;
  }
}
.p-service__detail01 .box ol li .text h5, .p-service__detail02 .box ol li .text h5 {
  font-family: "Montserrat", sans-serif;
  font-size: 6rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  color: #ffffff;
  -webkit-text-shadow: 1px 1px 0 #00449C, -1px 1px 0 #00449C, -1px -1px 0 #00449C, 1px -1px 0 #00449C;
  -moz-text-shadow: 1px 1px 0 #00449C, -1px 1px 0 #00449C, -1px -1px 0 #00449C, 1px -1px 0 #00449C;
  text-shadow: 1px 1px 0 #00449C, -1px 1px 0 #00449C, -1px -1px 0 #00449C, 1px -1px 0 #00449C;
}
@media only screen and (max-width: 780px) {
  .p-service__detail01 .box ol li .text h5, .p-service__detail02 .box ol li .text h5 {
    font-size: 3rem;
  }
}
.p-service__detail01 .box ol li .text h6, .p-service__detail02 .box ol li .text h6 {
  margin: 0.66em 0;
  font-size: 2.4rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-service__detail01 .box ol li .text h6, .p-service__detail02 .box ol li .text h6 {
    font-size: 1.8rem;
  }
}
.p-service__detail01 .box ol li .text p, .p-service__detail02 .box ol li .text p {
  font-weight: 500;
}
.p-service__detail01 .box ol li .img, .p-service__detail02 .box ol li .img {
  position: relative;
  z-index: 1;
}
.p-service__detail01 .box ol li .img:after, .p-service__detail02 .box ol li .img:after {
  content: "";
  background-color: #B2C6E2;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
@media only screen and (min-width: 781px) {
  .p-service__detail01 .box ol li .img, .p-service__detail02 .box ol li .img {
    width: 41%;
    padding: 0 0 4rem 4rem;
  }
  .p-service__detail01 .box ol li .img:after, .p-service__detail02 .box ol li .img:after {
    width: calc(100% - 4rem);
    height: calc(100% - 4rem);
  }
}
@media only screen and (max-width: 780px) {
  .p-service__detail01 .box ol li .img, .p-service__detail02 .box ol li .img {
    padding: 0 0 2rem 2rem;
  }
  .p-service__detail01 .box ol li .img:after, .p-service__detail02 .box ol li .img:after {
    width: calc(100% - 2rem);
    height: calc(100% - 2rem);
  }
}
@media only screen and (min-width: 781px) {
  .p-service__detail01 .box ol li:nth-child(odd), .p-service__detail02 .box ol li:nth-child(odd) {
    flex-direction: row-reverse;
  }
  .p-service__detail01 .box ol li:nth-child(odd):after, .p-service__detail02 .box ol li:nth-child(odd):after {
    left: auto;
    right: 0;
  }
}
.p-service__detail01 ul, .p-service__detail02 ul {
  display: flex;
  flex-wrap: wrap;
}
.p-service__detail01 ul li, .p-service__detail02 ul li {
  font-weight: 700;
  background-color: #ffffff;
  background-image: url("../img/icon_check01.png");
  background-size: 1.27em auto;
  background-repeat: no-repeat;
}
@media only screen and (min-width: 781px) {
  .p-service__detail01 ul li, .p-service__detail02 ul li {
    width: 24%;
    margin: 0 1.3% 1.3% 0;
    padding: 1.3em 1.3em 1.3em 3.5em;
    font-size: 1.8rem;
    background-position: 1.3em 1.3em;
  }
  .p-service__detail01 ul li:nth-child(4n), .p-service__detail02 ul li:nth-child(4n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-service__detail01 ul li, .p-service__detail02 ul li {
    width: 49%;
    margin: 0 2% 2% 0;
    padding: 1em 1em 1em 3em;
    font-size: 1.5rem;
    background-position: 1em 1em;
  }
  .p-service__detail01 ul li:nth-child(2n), .p-service__detail02 ul li:nth-child(2n) {
    margin-right: 0;
  }
}
.p-service__detail02 {
  margin-top: 3.2rem;
  margin-bottom: 15.2rem;
}
@media only screen and (max-width: 780px) {
  .p-service__detail02 {
    margin-top: 2rem;
    margin-bottom: 7rem;
  }
}
.p-service__detail02 .outer {
  background-color: #0082C7;
}
.p-service__detail02 .box ol li .img:after {
  background-color: #B2D9EE;
}
.p-service__detail02 .box ol li .text h5 {
  -webkit-text-shadow: 1px 1px 0 #0082C7, -1px 1px 0 #0082C7, -1px -1px 0 #0082C7, 1px -1px 0 #0082C7;
  -moz-text-shadow: 1px 1px 0 #0082C7, -1px 1px 0 #0082C7, -1px -1px 0 #0082C7, 1px -1px 0 #0082C7;
  text-shadow: 1px 1px 0 #0082C7, -1px 1px 0 #0082C7, -1px -1px 0 #0082C7, 1px -1px 0 #0082C7;
}
.p-service__detail02 ul + p {
  margin: 1.6em 0;
  font-size: 2rem;
  text-align: center;
  color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .p-service__detail02 ul + p {
    font-size: 1.6rem;
  }
}
.p-service__detail02 .btn {
  text-align: center;
}

.p-company__message {
  padding-bottom: 10.5rem;
}
@media only screen and (max-width: 780px) {
  .p-company__message {
    padding-bottom: 5rem;
  }
}
.p-company__message .inner {
  max-width: 1200px;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 781px) {
  .p-company__message .inner {
    margin-bottom: 5.6rem;
    padding: 4rem 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-company__message .inner {
    margin-bottom: 3rem;
    padding: 2rem 0;
  }
}
.p-company__message .inner:after {
  height: 100%;
  content: "";
  background-image: url("../img/company/message_bg.jpg");
  background-size: cover;
  position: absolute;
  top: 0;
  z-index: -1;
}
@media only screen and (min-width: 901px) {
  .p-company__message .inner:after {
    width: 116%;
    right: 13%;
  }
}
@media only screen and (max-width: 900px) {
  .p-company__message .inner:after {
    width: 111%;
    right: -5.5%;
  }
}
.p-company__message .text {
  color: #ffffff;
}
@media only screen and (min-width: 901px) {
  .p-company__message .text {
    width: 58%;
  }
}
@media only screen and (max-width: 900px) {
  .p-company__message .text:after {
    content: "";
    display: block;
    clear: both;
  }
}
@media only screen and (min-width: 901px) {
  .p-company__message .text .img {
    width: 40%;
    display: block;
    position: absolute;
    top: 4rem;
    right: 0;
  }
}
@media only screen and (max-width: 900px) {
  .p-company__message .text .img {
    width: 40%;
    margin: 0 0 1em 1em;
    float: right;
    display: block;
    position: relative;
  }
}
.p-company__message .text .img:after {
  content: "";
  background-image: url("../img/company/message_fig01.png");
  background-size: cover;
  position: absolute;
  bottom: -3rem;
  right: -2.3rem;
}
@media only screen and (min-width: 781px) {
  .p-company__message .text .img:after {
    width: 14.6rem;
    height: 35.8rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-company__message .text .img:after {
    width: 7.3rem;
    height: 17.9rem;
  }
}
.p-company__message .text .eng {
  font-family: "Montserrat", sans-serif;
  font-size: 6rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  transform: rotate(90deg);
  transform-origin: left top;
  position: absolute;
  top: 0.8em;
  left: -0.25em;
}
@media only screen and (max-width: 1599px) {
  .p-company__message .text .eng {
    font-size: 5rem;
  }
}
@media only screen and (max-width: 1279px) {
  .p-company__message .text .eng {
    font-size: 4rem;
  }
}
.p-company__message .text h2 {
  margin-bottom: 0.65em;
  font-size: 3.8rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-company__message .text h2 {
    font-size: 2.2rem;
  }
}
.p-company__message .text p {
  margin-bottom: 2em;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2;
}
.p-company__message .text .name {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}
@media only screen and (max-width: 780px) {
  .p-company__message .text .name {
    font-size: 1.2rem;
  }
}
.p-company__message .text .name span {
  font-size: 1.28em;
  font-weight: 700;
  display: block;
}
.p-company__message .scroll_text {
  font-family: "Montserrat", sans-serif;
  font-size: 10rem;
  font-weight: 800;
  line-height: 1;
  color: #F7F7F7;
}
@media only screen and (max-width: 780px) {
  .p-company__message .scroll_text {
    font-size: 5rem;
  }
}
.p-company__policy {
  margin-bottom: 11.2rem;
  padding: 10rem 0 5.5rem 0;
  background-color: #F7F7F7;
}
@media only screen and (max-width: 780px) {
  .p-company__policy {
    margin-bottom: 5.5rem;
    padding: 5rem 0 2.5rem 0;
  }
}
.p-company__policy .box {
  max-width: 1000px;
  margin: 0 auto;
  padding: 2em;
  background-color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .p-company__policy .box {
    padding: 1.5rem;
  }
}
.p-company__policy .box p {
  font-size: 2.6rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.8;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-company__policy .box p {
    font-size: 1.6rem;
  }
}
.p-company__profile {
  margin-bottom: 11.2rem;
}
@media only screen and (max-width: 780px) {
  .p-company__profile {
    margin-bottom: 5.5rem;
  }
}
.p-company__profile .table {
  max-width: 1000px;
  margin: 0 auto;
}
.p-company__profile .table table {
  width: 100%;
}
.p-company__profile .table table tbody tr td {
  padding: 2em 0;
  vertical-align: top;
  border-bottom: solid 1px #CECECE;
}
@media only screen and (max-width: 780px) {
  .p-company__profile .table table tbody tr td {
    padding: 1em 0;
  }
}
.p-company__profile .table table tbody tr td:first-child {
  width: 18rem;
  padding: 2em 1.5em;
  font-weight: 700;
  color: #00449C;
}
@media only screen and (max-width: 780px) {
  .p-company__profile .table table tbody tr td:first-child {
    width: 30%;
    padding: 1em 0.5em;
  }
}
.p-company__profile .table table tbody tr td a {
  text-decoration: underline;
  color: #00449C;
}
.p-company__organization {
  margin-bottom: 11.2rem;
  padding: 10rem 0;
  background-color: #F7F7F7;
}
@media only screen and (max-width: 780px) {
  .p-company__organization {
    margin-bottom: 5.5rem;
    padding: 5rem 0;
  }
}
.p-company__organization .inner {
  max-width: 1160px;
}
.p-company__organization ul {
  margin-bottom: 10rem;
}
@media only screen and (max-width: 780px) {
  .p-company__organization ul {
    margin-bottom: 5rem;
  }
}
.p-company__organization ul:last-child {
  margin-bottom: 0;
}
.p-company__organization ul li {
  margin-bottom: 5rem;
  padding-left: 2.8rem;
  border-left: solid 0.4rem #D8E0E5;
}
@media only screen and (max-width: 780px) {
  .p-company__organization ul li {
    margin-bottom: 3rem;
    padding-left: 1.5rem;
    border-left-width: 0.2rem;
  }
}
.p-company__organization ul li:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 901px) {
  .p-company__organization ul li {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 901px) {
  .p-company__organization ul li .text {
    width: 61%;
  }
}
@media only screen and (max-width: 900px) {
  .p-company__organization ul li .text {
    margin-bottom: 2rem;
  }
}
.p-company__organization ul li .text h3 {
  margin-bottom: 1.2em;
  padding-bottom: 0.65em;
  font-size: 2.6rem;
  font-weight: 700;
  border-bottom: solid 1px #CBCBCB;
}
@media only screen and (max-width: 780px) {
  .p-company__organization ul li .text h3 {
    font-size: 2.2rem;
  }
}
.p-company__organization ul li .text h3 span {
  font-size: 0.84em;
  display: block;
}
.p-company__organization ul li .text dl {
  display: grid;
  grid-template-columns: repeat(2, auto);
  grid-template-rows: auto;
  gap: 1rem;
}
.p-company__organization ul li .text dl dt {
  padding-right: 1em;
  font-weight: 700;
  letter-spacing: 0.06em;
  border-right: solid 1px #CBCBCB;
}
.p-company__organization ul li .text dl dd {
  padding-left: 1em;
  font-weight: 500;
  letter-spacing: 0.06em;
}
@media only screen and (min-width: 901px) {
  .p-company__organization ul li .map {
    width: 35.4rem;
    height: 25rem;
  }
}
@media only screen and (max-width: 900px) {
  .p-company__organization ul li .map {
    width: 100%;
    height: 20rem;
  }
}
.p-company__organization ul li .map iframe {
  width: 100%;
  height: 100%;
}
.p-company__outro {
  margin-bottom: 6.5rem;
}
@media only screen and (max-width: 780px) {
  .p-company__outro {
    margin-bottom: 3rem;
  }
}
.p-company__outro h2 {
  font-size: 3.2rem;
  font-weight: 700;
  text-align: center;
  color: #00449C;
}
@media only screen and (max-width: 780px) {
  .p-company__outro h2 {
    font-size: 2.2rem;
  }
}
.p-company__outro p {
  margin-top: 0.77em;
  font-size: 2.2rem;
  font-weight: 500;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-company__outro p {
    font-size: 1.6rem;
  }
}

.p-factory__intro {
  margin-bottom: 8rem;
  padding-top: 8rem;
}
@media only screen and (max-width: 780px) {
  .p-factory__intro {
    margin-bottom: 4rem;
    padding-top: 0;
  }
}
.p-factory__intro .inner {
  max-width: 1400px;
  color: #ffffff;
  background-color: #0082C7;
  position: relative;
}
@media only screen and (min-width: 781px) {
  .p-factory__intro .inner {
    min-height: 49.7rem;
    padding: 6rem 0;
  }
  .p-factory__intro .inner:after {
    width: 24.1rem;
    height: 21.7rem;
    content: "";
    background-image: url("../img/factory/intro_fig01.png");
    background-size: cover;
    position: absolute;
    top: 0;
    left: 86%;
  }
}
@media only screen and (max-width: 780px) {
  .p-factory__intro .inner {
    width: 100%;
    padding-bottom: 3rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-factory__intro .img {
    width: 62.5%;
    height: 49.7rem;
    position: absolute;
    top: -8rem;
    right: 63%;
    z-index: 1;
    overflow: hidden;
  }
  .p-factory__intro .img > img,
  .p-factory__intro .img > video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
@media only screen and (max-width: 780px) {
  .p-factory__intro .img {
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-factory__intro .text {
    width: 47.5%;
    margin-left: 36.8%;
    padding-left: 4rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-factory__intro .text {
    width: 90%;
    margin: 0 auto;
  }
}
.p-factory__intro .text h2 {
  margin-bottom: 0.5em;
  padding-bottom: 0.3em;
  font-size: 4.4rem;
  font-weight: 700;
  position: relative;
}
@media only screen and (max-width: 780px) {
  .p-factory__intro .text h2 {
    font-size: 2.2rem;
  }
}
.p-factory__intro .text h2:after {
  width: calc(100% + 4rem);
  height: 1px;
  content: "";
  background-color: #63AED6;
  position: absolute;
  top: 100%;
  left: -4rem;
}
@media only screen and (max-width: 780px) {
  .p-factory__intro .text h2:after {
    width: 100%;
    left: 0;
  }
}
.p-factory__intro .text h2 span {
  font-size: 0.72em;
  display: block;
}
.p-factory__intro .text h3 {
  margin-bottom: 0.7em;
  font-size: 2.4rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-factory__intro .text h3 {
    font-size: 1.8rem;
  }
}
.p-factory__intro .text p {
  font-weight: 500;
}
@media only screen and (min-width: 781px) {
  .p-factory__intro .text p {
    font-size: 1.8rem;
    line-height: 1.7;
  }
}
.p-factory__features {
  margin-bottom: 9.6rem;
}
@media only screen and (max-width: 780px) {
  .p-factory__features {
    margin-bottom: 5.5rem;
  }
}
.p-factory__features .inner {
  max-width: 1200px;
}
.p-factory__features h3 {
  margin-bottom: 0.78em;
  font-size: 3.2rem;
  font-weight: 700;
  text-align: center;
}
.p-factory__features h3 + p {
  margin-bottom: 2.5em;
  text-align: center;
  font-weight: 500;
}
@media only screen and (min-width: 781px) {
  .p-factory__features h3 + p {
    font-size: 1.8rem;
    line-height: 1.7;
  }
}
@media only screen and (min-width: 781px) {
  .p-factory__features ul {
    display: flex;
    justify-content: space-between;
  }
}
.p-factory__features ul li {
  text-align: center;
}
@media only screen and (min-width: 781px) {
  .p-factory__features ul li {
    width: 32%;
  }
}
@media only screen and (max-width: 780px) {
  .p-factory__features ul li {
    margin-bottom: 2em;
  }
}
.p-factory__features ul li p {
  margin-top: 1em;
  font-size: 2rem;
  font-weight: 700;
}
.p-factory__process {
  margin-bottom: 11.2rem;
  padding: 10rem 0;
  background-color: #F7F7F7;
}
@media only screen and (max-width: 780px) {
  .p-factory__process {
    margin-bottom: 5.5rem;
    padding: 5rem 0;
  }
}
.p-factory__process .process_list > li {
  padding: 1.5em;
  background-color: #ffffff;
}
@media only screen and (min-width: 781px) {
  .p-factory__process .process_list > li {
    display: flex;
    justify-content: space-between;
  }
}
.p-factory__process .process_list > li + li {
  margin-top: 1em;
}
@media only screen and (min-width: 781px) {
  .p-factory__process .process_list > li .img {
    width: 37.8%;
  }
}
@media only screen and (max-width: 780px) {
  .p-factory__process .process_list > li .img {
    margin-bottom: 2rem;
    text-align: center;
  }
}
@media only screen and (min-width: 781px) {
  .p-factory__process .process_list > li .text {
    width: 59%;
  }
}
.p-factory__process .process_list > li .text h3 {
  margin-bottom: 1em;
  font-size: 2.4rem;
  font-weight: 700;
  color: #00449C;
}
@media only screen and (max-width: 780px) {
  .p-factory__process .process_list > li .text h3 {
    font-size: 2rem;
  }
}
.p-factory__process .process_list > li .text ul li {
  margin-bottom: 0.5em;
  padding-left: 2.4rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-factory__process .process_list > li .text ul li {
    padding-left: 1.6rem;
  }
}
.p-factory__process .process_list > li .text ul li:before {
  width: 0.8rem;
  height: 0.8rem;
  margin: 0 1.6rem 0 -2.4rem;
  content: "";
  background-color: #0082C7;
  border-radius: 50%;
  display: inline-block;
  vertical-align: 0;
}
@media only screen and (max-width: 780px) {
  .p-factory__process .process_list > li .text ul li:before {
    width: 0.6rem;
    height: 0.6rem;
    margin: 0 1rem 0 -1.6rem;
  }
}
.p-factory__process .process_list > li .text dl {
  margin-top: 1.6em;
  padding: 1em 1.5em;
  background-color: #F7F7F7;
}
.p-factory__process .process_list > li .text dl dt {
  margin-bottom: 1em;
  padding-bottom: 0.5em;
  font-size: 1.8rem;
  font-weight: 700;
  border-bottom: solid 1px #DBDBDB;
}
@media only screen and (max-width: 780px) {
  .p-factory__process .process_list > li .text dl dt {
    font-size: 1.6rem;
  }
}
.p-factory__process .process_list > li .text dl dd {
  font-size: 1.5rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-factory__process .process_list > li .text dl dd {
    font-size: 1.3rem;
  }
}
.p-factory__facilites {
  margin-bottom: 11.2rem;
}
@media only screen and (max-width: 780px) {
  .p-factory__facilites {
    margin-bottom: 5.5rem;
  }
}
.p-factory__facilites .table table {
  width: 100%;
}
@media only screen and (max-width: 780px) {
  .p-factory__facilites .table table {
    font-size: 1.3rem;
  }
}
.p-factory__facilites .table table tbody tr td {
  padding: 1.4em 1em;
  border: solid 1px #DBDBDB;
  vertical-align: top;
}
@media only screen and (max-width: 780px) {
  .p-factory__facilites .table table tbody tr td {
    padding: 1em;
  }
}
.p-factory__facilites .table table tbody tr td.col-1 {
  width: 27.7%;
  padding: 1.2em 1em;
  font-size: 1.125em;
  background-color: #F7F7F7;
}
@media only screen and (max-width: 780px) {
  .p-factory__facilites .table table tbody tr td.col-1 {
    padding: 1em;
    font-size: 1em;
  }
}
.p-factory__facilites .table table tbody tr td.col-2 {
  width: 22.2%;
  padding: 1em;
  font-size: 1.25em;
}
@media only screen and (max-width: 780px) {
  .p-factory__facilites .table table tbody tr td.col-2 {
    padding: 1em;
    font-size: 1em;
  }
}
.p-factory__facilites .table table tbody tr td.col-3 {
  width: 50.1%;
}

.p-news__list {
  margin-bottom: 11.2rem;
}
@media only screen and (max-width: 780px) {
  .p-news__list {
    margin-bottom: 5.5rem;
  }
}
.p-news__list .news_list {
  margin-bottom: 6rem;
}
@media only screen and (max-width: 780px) {
  .p-news__list .news_list {
    margin-bottom: 3rem;
  }
}
.p-news__list .news_list li {
  margin-bottom: 2.5rem;
  padding-bottom: 2.5rem;
  border-bottom: solid 1px #DBDBDB;
}
@media only screen and (max-width: 780px) {
  .p-news__list .news_list li {
    margin-bottom: 1.6rem;
    padding-bottom: 1.6rem;
  }
}
.p-news__list .news_list li a {
  display: block;
}
.p-news__list .news_list li a .date {
  margin-right: 1em;
  font-family: "Montserrat", sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #ABB1B7;
  display: inline-block;
  vertical-align: middle;
}
.p-news__list .news_list li a .cate {
  padding: 0.1em 0.5em 0.2em 0.5em;
  font-size: 1.4rem;
  font-weight: 500;
  border: solid 1px #081F3B;
  display: inline-block;
  vertical-align: middle;
}
.p-news__list .news_list li a p {
  margin-top: 0.8em;
  font-size: 1.8rem;
  font-weight: 500;
  display: block;
}
@media only screen and (max-width: 780px) {
  .p-news__list .news_list li a p {
    font-size: 1.5rem;
  }
}
.p-news__list .news_list li a:hover p {
  color: #0082C7;
}
.p-news__detail {
  margin-bottom: 11.2rem;
}
@media only screen and (max-width: 780px) {
  .p-news__detail {
    margin-bottom: 5.5rem;
  }
}
.p-news__detail .news_headding {
  margin-bottom: 10rem;
}
@media only screen and (max-width: 780px) {
  .p-news__detail .news_headding {
    margin-bottom: 5rem;
  }
}
.p-news__detail .news_headding .cate span {
  padding: 0.1em 0.5em 0.2em 0.5em;
  font-size: 1.4rem;
  font-weight: 500;
  border: solid 1px #081F3B;
  display: inline-block;
}
@media only screen and (max-width: 780px) {
  .p-news__detail .news_headding .cate span {
    font-size: 1.2rem;
  }
}
.p-news__detail .news_headding h2 {
  margin: 0.5em 0;
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.25;
}
@media only screen and (max-width: 780px) {
  .p-news__detail .news_headding h2 {
    font-size: 2.5rem;
  }
}
.p-news__detail .news_headding .date {
  letter-spacing: -0.4em;
}
.p-news__detail .news_headding .date > * {
  display: inline-block;
  letter-spacing: normal;
}
.p-news__detail .news_headding .date span {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  color: #ABB1B7;
}
.p-news__detail .news_headding .date span:before {
  margin-right: 0.5em;
  content: "";
  background-size: cover;
  display: inline-block;
}
@media only screen and (max-width: 780px) {
  .p-news__detail .news_headding .date span {
    font-size: 1.3rem;
  }
}
.p-news__detail .news_headding .date span.post_date:before {
  width: 1.2rem;
  height: 1.2rem;
  background-image: url("../img/news/post_date.png");
  vertical-align: 0;
}
.p-news__detail .news_headding .date span.update_post {
  margin-left: 1em;
}
.p-news__detail .news_headding .date span.update_post:before {
  width: 1.1rem;
  height: 1.4rem;
  background-image: url("../img/news/update_post.png");
  vertical-align: -0.1em;
}
.p-news__detail .news_headding .icatch {
  margin-top: 3rem;
  text-align: center;
}

.p-contact__form {
  margin-bottom: 11.2rem;
}
@media only screen and (max-width: 780px) {
  .p-contact__form {
    margin-bottom: 5.5rem;
  }
}

.p-privacy-policy__content {
  margin-bottom: 11.2rem;
}
@media only screen and (max-width: 780px) {
  .p-privacy-policy__content {
    margin-bottom: 5.5rem;
  }
}
.p-privacy-policy__content h3 {
  margin-bottom: 0.8em;
  font-size: 2rem;
  font-weight: 700;
}
.p-privacy-policy__content h4 {
  font-weight: 700;
  margin-bottom: 0.5em;
}
.p-privacy-policy__content h4:before {
  margin-right: 0.5em;
  content: "-";
  display: inline-block;
}
.p-privacy-policy__content p {
  margin-bottom: 2em;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-privacy-policy__content .btn {
    text-align: center;
  }
}

.p-margin__content {
  margin-bottom: 11.2rem;
}
@media only screen and (max-width: 780px) {
  .p-margin__content {
    margin-bottom: 5.5rem;
  }
}
.p-margin__content p {
  margin-bottom: 2em;
  font-weight: 500;
  line-height: 1.8;
}
.p-margin__content * + .midashi04 {
  margin-top: 3em;
}
@media only screen and (min-width: 781px) {
  .p-margin__content .info {
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 781px) {
  .p-margin__content .info li {
    width: 48%;
  }
}
@media only screen and (max-width: 780px) {
  .p-margin__content .info li + li {
    margin-top: 3rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-margin__content .info li dl {
    margin-bottom: 3rem;
    display: flex;
  }
}
@media only screen and (max-width: 780px) {
  .p-margin__content .info li dl {
    margin-bottom: 1.5rem;
  }
}
.p-margin__content .info li dl + dl {
  margin-top: 1rem;
}
@media only screen and (max-width: 780px) {
  .p-margin__content .info li dl + dl {
    margin-top: 0.5rem;
  }
}
.p-margin__content .info li dl dt {
  font-weight: 500;
}
@media only screen and (min-width: 781px) {
  .p-margin__content .info li dl dt {
    padding-right: 1em;
  }
}
@media only screen and (min-width: 781px) {
  .p-margin__content .info li dl dd {
    padding-left: 1em;
    border-left: solid 1px #DBDBDB;
  }
}
@media only screen and (max-width: 780px) {
  .p-margin__content .scroll_sp {
    width: 100%;
    margin-bottom: 2em;
    overflow: auto;
  }
}
.p-margin__content .table1 {
  width: 100%;
  table-layout: fixed;
  margin-bottom: 2em;
  font-size: 1.5rem;
}
@media only screen and (max-width: 780px) {
  .p-margin__content .table1 {
    min-width: 780px;
    font-size: 1.3rem;
  }
}
.p-margin__content .table1 thead tr th {
  padding: 0.5em 0.25em;
  font-weight: 500;
  text-align: center;
  background-color: #F7F7F7;
  border: solid 1px #DBDBDB;
}
.p-margin__content .table1 thead tr th:nth-child(1), .p-margin__content .table1 thead tr th:nth-child(2) {
  width: 23%;
}
.p-margin__content .table1 tbody tr td {
  padding: 0.5em 0.25em;
  text-align: center;
  border: solid 1px #DBDBDB;
}
.p-margin__content .table1 tbody tr td:nth-child(1), .p-margin__content .table1 tbody tr td:nth-child(2) {
  width: 23%;
}
.p-margin__content .list1 {
  margin-bottom: 2em;
}
.p-margin__content .list1 li {
  margin-bottom: 1rem;
  padding-left: 2.5em;
  font-weight: 500;
  background-image: url("../img/icon_check01.png");
  background-size: 1.25em auto;
  background-repeat: no-repeat;
  background-position: left top;
}

.p-plan__content {
  margin-bottom: 11.2rem;
}
@media only screen and (max-width: 780px) {
  .p-plan__content {
    margin-bottom: 5.5rem;
  }
}
.p-plan__content p {
  margin-bottom: 2em;
  font-weight: 500;
  line-height: 1.8;
}
.p-plan__content * + .midashi03 {
  margin-top: 3em;
}
.p-plan__content dl {
  margin-bottom: 2em;
}
.p-plan__content dl > *:last-child {
  margin-bottom: 0 !important;
}
.p-plan__content dl dt {
  margin-bottom: 1em;
  padding: 0.5em 1em;
  font-size: 2rem;
  font-weight: 700;
  background-color: #E1EDF0;
}
.p-plan__content dl dd {
  margin-bottom: 2em;
  font-weight: 500;
  line-height: 1.8;
}
.p-plan__content .syomei {
  margin: 2em 0;
  font-weight: 500;
  text-align: right;
}
.p-plan__content .date {
  margin-bottom: 2em;
  text-align: right;
}
@media only screen and (max-width: 780px) {
  .p-plan__content .scroll_sp {
    width: 100%;
    margin-bottom: 2em;
    overflow: auto;
  }
}
.p-plan__content .table1 {
  width: 100%;
  table-layout: fixed;
  margin-bottom: 2em;
  font-size: 1.5rem;
}
@media only screen and (max-width: 780px) {
  .p-plan__content .table1 {
    min-width: 780px;
    font-size: 1.3rem;
  }
}
.p-plan__content .table1 caption {
  margin-bottom: 1em;
  font-weight: 500;
  text-align: center;
}
.p-plan__content .table1 thead tr th {
  padding: 0.5em 0.25em;
  font-weight: 500;
  text-align: center;
  background-color: #F7F7F7;
  border: solid 1px #DBDBDB;
}
.p-plan__content .table1 tbody tr td {
  padding: 0.5em 0.25em;
  text-align: center;
  border: solid 1px #DBDBDB;
}

/*採用特設*/
.pagetitle_recruit {
  margin-bottom: 2em;
  padding: 6.7rem 0;
  background-image: url("../img/pagetitle_bg02.jpg");
  background-size: cover;
  background-position: center center;
}
@media only screen and (max-width: 780px) {
  .pagetitle_recruit {
    padding: 3.5rem 0;
  }
}
.pagetitle_recruit .inner {
  max-width: 1200px;
}
.pagetitle_recruit .text {
  font-size: 2.4rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .pagetitle_recruit .text {
    font-size: 1.6rem;
  }
}
.pagetitle_recruit h1 {
  font-size: 1.8rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .pagetitle_recruit h1 {
    font-size: 1.4rem;
  }
}
.pagetitle_recruit h1 .eng {
  margin: 0.5rem 0;
  font-family: "Jost", sans-serif;
  font-size: 8.9rem;
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 800;
  white-space: nowrap;
  display: block;
}
@media only screen and (max-width: 780px) {
  .pagetitle_recruit h1 .eng {
    margin-bottom: 0.3rem;
    font-size: 4.4rem;
  }
}
.pagetitle_recruit h1 .eng span {
  color: #ffffff;
}

.pankuzu {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 780px) {
  .pankuzu {
    margin-bottom: 2rem;
  }
}
.pankuzu .inner {
  max-width: 1200px;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: -0.4em;
}
.pankuzu .inner > * {
  display: inline-block;
  letter-spacing: normal;
}
.pankuzu a:after {
  width: 0.7rem;
  height: 0.7rem;
  margin: 0 1em;
  content: "";
  background-image: url("../img/icon_arrow03.png");
  background-size: cover;
  display: inline-block;
}
.pankuzu span {
  color: #9AA6B4;
}

/*CTA*/
.cta_recruit_block {
  background-size: cover;
  background-position: center center;
}
@media only screen and (min-width: 781px) {
  .cta_recruit_block {
    padding: 7.4rem 0;
    background-image: url("../img/recruit/entry_bg.jpg");
  }
}
@media only screen and (max-width: 780px) {
  .cta_recruit_block {
    padding: 3.6rem 0;
    background-image: url("../img/recruit/entry_bg_sp.jpg");
  }
}
.cta_recruit_block .inner {
  max-width: 1200px;
}
@media only screen and (min-width: 781px) {
  .cta_recruit_block .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media only screen and (min-width: 781px) {
  .cta_recruit_block .text_area {
    width: 50%;
  }
}
@media only screen and (max-width: 780px) {
  .cta_recruit_block .text_area {
    margin-bottom: 1.5em;
    text-align: center;
  }
}
.cta_recruit_block .text_area .text {
  font-size: 2.4rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .cta_recruit_block .text_area .text {
    font-size: 1.6rem;
  }
}
.cta_recruit_block .text_area h2 {
  margin-bottom: 2.2em;
  font-size: 1.8rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .cta_recruit_block .text_area h2 {
    margin-bottom: 1.1em;
    font-size: 1.4rem;
  }
}
.cta_recruit_block .text_area h2 .eng {
  margin: 0.5rem 0;
  font-family: "Jost", sans-serif;
  font-size: 8.9rem;
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 800;
  white-space: nowrap;
  display: block;
}
@media only screen and (max-width: 780px) {
  .cta_recruit_block .text_area h2 .eng {
    margin-bottom: 0.3rem;
    font-size: 4.4rem;
  }
}
.cta_recruit_block .text_area h2 .eng span {
  color: #ffffff;
}
.cta_recruit_block .text_area p {
  font-weight: 500;
}
@media only screen and (min-width: 781px) {
  .cta_recruit_block .text_area p {
    font-size: 1.8rem;
  }
}
.cta_recruit_block .box {
  background-color: #ffffff;
}
@media only screen and (min-width: 781px) {
  .cta_recruit_block .box {
    width: 45.25%;
    padding: 5.6rem 1rem;
  }
}
@media only screen and (max-width: 780px) {
  .cta_recruit_block .box {
    padding: 2.4rem 1rem;
  }
  .cta_recruit_block .box > div {
    text-align: center;
  }
  .cta_recruit_block .box > div:last-child {
    margin-top: 1em;
  }
}
.cta_recruit_block .box .tel {
  margin-bottom: 3.5em;
  font-weight: 500;
  text-align: center;
}
.cta_recruit_block .box .tel .text {
  font-size: 2rem;
  display: block;
}
.cta_recruit_block .box .tel .num {
  display: block;
}
.cta_recruit_block .box .tel .num > span {
  font-family: "Montserrat", sans-serif;
  font-size: 1.5em;
  font-weight: 600;
  display: inline-block;
  vertical-align: 0;
}
.cta_recruit_block .box .tel .num > span span {
  font-size: 1.4em;
  display: inline-block;
  vertical-align: -0.1em;
}
.cta_recruit_block .box .tel .time {
  font-size: 0.7em;
  display: block;
}
.cta_recruit_block .box .btn {
  text-align: center;
}
.cta_recruit_block .box .btn span {
  margin-top: 1em;
  font-size: 1.2rem;
  display: block;
}
@media only screen and (max-width: 780px) {
  .cta_recruit_block .sp_fix {
    width: 100%;
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 90;
  }
  .cta_recruit_block .sp_fix > div {
    width: 50%;
    font-size: 1.6rem;
    font-weight: 500;
    text-align: center;
  }
  .cta_recruit_block .sp_fix > div a {
    padding: 1.36em 0;
    background-size: 2rem auto;
    background-repeat: no-repeat;
    background-position: calc(100% - 1.2rem) center;
    display: block;
  }
  .cta_recruit_block .sp_fix .link1 {
    background-color: #ffffff;
  }
  .cta_recruit_block .sp_fix .link1 a {
    background-image: url("../img/icon_arrow04.png");
  }
  .cta_recruit_block .sp_fix .link2 {
    background-color: #000000;
  }
  .cta_recruit_block .sp_fix .link2 a {
    font-family: "Jost", sans-serif;
    font-weight: 700;
    color: #ffffff;
    background-image: url("../img/icon_arrow05.png");
  }
}

.recruit_midashi01 {
  margin-bottom: 2.5em;
}
@media only screen and (max-width: 780px) {
  .recruit_midashi01 {
    margin-bottom: 1.25em;
  }
}
.recruit_midashi01 > span {
  font-size: 2.4rem;
  font-weight: 700;
  display: block;
}
@media only screen and (max-width: 780px) {
  .recruit_midashi01 > span {
    font-size: 1.6rem;
  }
}
.recruit_midashi01 h2, .recruit_midashi01 h3, .recruit_midashi01 h4, .recruit_midashi01 h5 {
  font-size: 1.8rem;
  font-weight: 500;
  color: #000000;
}
@media only screen and (max-width: 780px) {
  .recruit_midashi01 h2, .recruit_midashi01 h3, .recruit_midashi01 h4, .recruit_midashi01 h5 {
    font-size: 1.4rem;
  }
}
.recruit_midashi01 h2 .eng, .recruit_midashi01 h3 .eng, .recruit_midashi01 h4 .eng, .recruit_midashi01 h5 .eng {
  margin: 0.5rem 0;
  font-family: "Jost", sans-serif;
  font-size: 8.9rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  display: block;
}
@media only screen and (max-width: 780px) {
  .recruit_midashi01 h2 .eng, .recruit_midashi01 h3 .eng, .recruit_midashi01 h4 .eng, .recruit_midashi01 h5 .eng {
    margin-bottom: 0.3rem;
    font-size: 4.4rem;
  }
}
.recruit_midashi01 h2 .eng span, .recruit_midashi01 h3 .eng span, .recruit_midashi01 h4 .eng span, .recruit_midashi01 h5 .eng span {
  color: #FF7600;
}
.recruit_midashi01.center {
  text-align: center;
}

.p-recruit__mv {
  background-size: cover;
  background-position: center top;
  position: relative;
}
@media only screen and (min-width: 781px) {
  .p-recruit__mv {
    height: 80.5rem;
    background-image: url("../img/recruit/mv_bg.jpg");
  }
}
@media only screen and (min-width: 781px) and (max-width: 1279px) {
  .p-recruit__mv {
    height: 62.8vw;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__mv {
    height: 48.6rem;
    background-image: url("../img/recruit/mv_bg_sp.jpg");
  }
}
.p-recruit__mv .inner {
  max-width: 1360px;
}
@media only screen and (min-width: 781px) {
  .p-recruit__mv .inner {
    padding-top: 13rem;
  }
}
@media only screen and (min-width: 781px) and (max-width: 1279px) {
  .p-recruit__mv .inner {
    padding-top: 10vw;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__mv .inner {
    padding-top: 19rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__mv .text {
    width: 111%;
    margin: 0 -5.5%;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__mv .text h1 {
    width: 64.4rem;
    margin-bottom: 4rem;
  }
}
@media only screen and (min-width: 781px) and (max-width: 1279px) {
  .p-recruit__mv .text h1 {
    width: 50vw;
    margin-bottom: 3vw;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__mv .text h1 {
    width: 38.8rem;
    max-width: 100%;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__mv .text .btn {
    letter-spacing: -0.4em;
  }
  .p-recruit__mv .text .btn > * {
    display: inline-block;
    letter-spacing: normal;
  }
  .p-recruit__mv .text .btn .link1 {
    width: 22.4rem;
  }
  .p-recruit__mv .text .btn .link2 {
    width: 22.4rem;
    margin-left: 2.4rem;
  }
  .p-recruit__mv .text .btn .link2 .btn02 {
    padding: 0.8em 1.25em 0.8em 0.75em;
    font-family: "Jost", sans-serif;
    font-size: 2rem;
    font-weight: 700;
    background-size: 1.5em auto;
  }
}
.p-recruit__mv .scroll_text {
  width: 100%;
  font-family: "Jost", sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #ffffff;
  position: absolute;
  left: 0;
}
@media only screen and (min-width: 781px) {
  .p-recruit__mv .scroll_text {
    font-size: 12rem;
    bottom: 2rem;
  }
}
@media only screen and (min-width: 781px) and (max-width: 1279px) {
  .p-recruit__mv .scroll_text {
    font-size: 9.375vw;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__mv .scroll_text {
    font-size: 4rem;
    bottom: 1rem;
  }
}
.p-recruit__message {
  margin-top: 8rem;
  margin-bottom: 8.8rem;
  padding-top: 8rem;
}
@media only screen and (max-width: 780px) {
  .p-recruit__message {
    margin-top: 5rem;
    margin-bottom: 7rem;
    padding-top: 4rem;
  }
}
.p-recruit__message .inner {
  max-width: 1200px;
  position: relative;
  z-index: 3;
}
.p-recruit__message .inner:before {
  width: 30.3rem;
  height: 30.7rem;
  content: "";
  background-image: url("../img/recruit/message_fig01.png");
  background-size: cover;
  position: absolute;
  top: -8rem;
  right: -24.3rem;
  z-index: -1;
}
@media only screen and (max-width: 780px) {
  .p-recruit__message .inner:before {
    width: 9.35rem;
    height: 15.3rem;
    top: -4rem;
    right: -2.4rem;
  }
}
.p-recruit__message .inner:after {
  width: 125%;
  height: 100%;
  content: "";
  background-color: #FAF8EA;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -3;
}
.p-recruit__message .inner .img {
  width: 71.5%;
  height: 57.9rem;
  overflow: hidden;
  position: absolute;
  top: -8rem;
  right: 58%;
  z-index: -2;
}
.p-recruit__message .inner .img > img,
.p-recruit__message .inner .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (max-width: 780px) {
  .p-recruit__message .inner .img {
    width: 98.5%;
    height: 45.6rem;
    top: -4rem;
    right: 8.5%;
  }
}
@media only screen and (max-width: 780px) and (max-width: 480px) {
  .p-recruit__message .inner .img {
    height: 22.8rem;
  }
}
.p-recruit__message .inner .text {
  width: 53.3%;
  margin: 0 0 0 auto;
  padding: 4rem 0;
}
@media only screen and (max-width: 780px) {
  .p-recruit__message .inner .text {
    width: 100%;
    padding: 44rem 0 3rem 2.5rem;
  }
}
@media only screen and (max-width: 780px) and (max-width: 480px) {
  .p-recruit__message .inner .text {
    padding: 22rem 0 3rem 2.5rem;
  }
}
.p-recruit__message .inner .text p {
  margin-bottom: 1.66em;
}
@media only screen and (min-width: 781px) {
  .p-recruit__message .inner .text p {
    font-size: 1.8rem;
    line-height: 1.88;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__message .inner .text .name {
    font-size: 1.8rem;
    line-height: 1.88;
  }
}
.p-recruit__message .inner .text .name span {
  margin-left: 0.5em;
  font-size: 1.22em;
  font-weight: 700;
  display: inline-block;
}
.p-recruit__point {
  margin-bottom: 12.8rem;
}
@media only screen and (max-width: 780px) {
  .p-recruit__point {
    margin-bottom: 6.4rem;
  }
}
.p-recruit__point .inner {
  position: relative;
  z-index: 1;
}
.p-recruit__point .inner:before {
  width: 32.2rem;
  height: 24rem;
  content: "";
  background-image: url("../img/recruit/point_fig02.png");
  background-size: cover;
  position: absolute;
  top: 11rem;
  right: -20rem;
  z-index: -1;
}
@media only screen and (max-width: 780px) {
  .p-recruit__point .inner:before {
    width: 12.8rem;
    height: 12rem;
    right: -2.5rem;
  }
}
.p-recruit__point .inner:after {
  width: 30.3rem;
  height: 28.3rem;
  content: "";
  background-image: url("../img/recruit/point_fig01.png");
  background-size: cover;
  position: absolute;
  bottom: 5rem;
  left: -24rem;
  z-index: -1;
}
@media only screen and (max-width: 780px) {
  .p-recruit__point .inner:after {
    width: 13.1rem;
    height: 14.4rem;
    left: -4rem;
    bottom: 8rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__point ol {
    padding-top: 2.5rem;
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__point ol {
    width: 86%;
    margin: 0 auto;
    padding-top: 2rem;
  }
}
.p-recruit__point ol li {
  position: relative;
}
@media only screen and (min-width: 781px) {
  .p-recruit__point ol li {
    width: 32%;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__point ol li + li {
    margin-top: 3.5rem;
  }
}
.p-recruit__point ol li .text {
  padding: 5.4rem 1rem 2.4rem 1rem;
  text-align: center;
  color: #ffffff;
  background: radial-gradient(circle at top right, #ED7802, #FF9D00 80%);
}
@media only screen and (max-width: 780px) {
  .p-recruit__point ol li .text {
    min-height: 0 !important;
    padding: 5rem 1rem 2.6rem 1rem;
  }
}
.p-recruit__point ol li .text .num {
  font-family: "Jost", sans-serif;
  font-size: 5.2rem;
  font-weight: 700;
  line-height: 1;
  color: #000000;
  border-bottom: solid 0.6rem #000000;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media only screen and (max-width: 780px) {
  .p-recruit__point ol li .text .num {
    font-size: 3.8rem;
    transform: translate(-50%, -30%);
  }
}
.p-recruit__point ol li .text h3 {
  margin-bottom: 0.5em;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.01;
}
@media only screen and (max-width: 780px) {
  .p-recruit__point ol li .text h3 {
    font-size: 2rem;
    line-height: 1.275;
  }
}
.p-recruit__point ol li .text p {
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-recruit__point ol li .text p {
    line-height: 1.43;
  }
}
.p-recruit__point ol li .img {
  overflow: hidden;
}
.p-recruit__point ol li .img > img,
.p-recruit__point ol li .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width: 781px) {
  .p-recruit__point ol li .img {
    width: 100%;
    height: 173px;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__point ol li .img {
    height: 14.5rem;
  }
}
.p-recruit__point .btn {
  margin-top: 4.5rem;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .p-recruit__point .btn .btn02 {
    padding-right: 2.5em;
  }
}
.p-recruit__workplace {
  padding: 2.4rem 0 8rem 0;
  background-color: #F0F0F0;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 780px) {
  .p-recruit__workplace {
    padding: 1.2rem 0 4rem 0;
  }
}
.p-recruit__workplace:before {
  width: 100%;
  height: 10.4rem;
  content: "";
  background-image: url("../img/recruit/work_bg.png");
  background-size: 100% 100%;
  position: absolute;
  bottom: 100%;
  left: 0;
  z-index: -1;
}
@media only screen and (max-width: 780px) {
  .p-recruit__workplace:before {
    height: 5.2rem;
  }
}
.p-recruit__workplace .inner {
  max-width: 1200px;
  padding-top: 8.5rem;
}
@media only screen and (max-width: 780px) {
  .p-recruit__workplace .inner {
    padding-top: 4rem;
  }
}
.p-recruit__workplace .box {
  margin-bottom: 4rem;
  padding: 12rem 0 5.6rem 0;
  background-color: #ffffff;
  position: relative;
}
@media only screen and (max-width: 780px) {
  .p-recruit__workplace .box {
    margin-bottom: 3rem;
    padding: 8rem 0 2.5rem 0;
  }
}
.p-recruit__workplace .box:before, .p-recruit__workplace .box:after {
  width: 6.7rem;
  height: 6.7rem;
  content: "";
  border-top: solid 0.5rem #000000;
  position: absolute;
  top: 0;
}
@media only screen and (max-width: 780px) {
  .p-recruit__workplace .box:before, .p-recruit__workplace .box:after {
    width: 2rem;
    height: 2rem;
    border-top-width: 0.2rem;
  }
}
.p-recruit__workplace .box:before {
  border-left: solid 0.5rem #000000;
  left: 0;
}
@media only screen and (max-width: 780px) {
  .p-recruit__workplace .box:before {
    border-left-width: 0.2rem;
  }
}
.p-recruit__workplace .box:after {
  border-right: solid 0.5rem #000000;
  right: 0;
}
@media only screen and (max-width: 780px) {
  .p-recruit__workplace .box:after {
    border-right-width: 0.2rem;
  }
}
.p-recruit__workplace .box .sub_ttl {
  width: 100%;
  position: absolute;
  top: -8.5rem;
  left: 0;
}
@media only screen and (max-width: 780px) {
  .p-recruit__workplace .box .sub_ttl {
    top: -4rem;
  }
}
.p-recruit__workplace .box ul {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}
.p-recruit__workplace .box ul li + li {
  margin-top: 5rem;
}
@media only screen and (max-width: 780px) {
  .p-recruit__workplace .box ul li + li {
    margin-top: 3rem;
  }
}
.p-recruit__workplace .box ul li .question, .p-recruit__workplace .box ul li .answer {
  display: flex;
}
.p-recruit__workplace .box ul li .question .fig, .p-recruit__workplace .box ul li .answer .fig {
  width: 11.1rem;
}
@media only screen and (max-width: 780px) {
  .p-recruit__workplace .box ul li .question .fig, .p-recruit__workplace .box ul li .answer .fig {
    width: 6.5rem;
  }
}
.p-recruit__workplace .box ul li .question .fukidashi, .p-recruit__workplace .box ul li .answer .fukidashi {
  width: calc(100% - 15.1rem);
}
@media only screen and (max-width: 780px) {
  .p-recruit__workplace .box ul li .question .fukidashi, .p-recruit__workplace .box ul li .answer .fukidashi {
    width: calc(100% - 8rem);
  }
}
.p-recruit__workplace .box ul li .question .fukidashi span, .p-recruit__workplace .box ul li .answer .fukidashi span {
  border-radius: 99px;
  display: inline-block;
  position: relative;
  z-index: 1;
}
.p-recruit__workplace .box ul li .question .fukidashi span:after, .p-recruit__workplace .box ul li .answer .fukidashi span:after {
  width: 4.4rem;
  height: 3.2rem;
  content: "";
  background-size: cover;
  position: absolute;
  top: 90%;
  z-index: -1;
}
@media only screen and (max-width: 780px) {
  .p-recruit__workplace .box ul li .question .fukidashi span:after, .p-recruit__workplace .box ul li .answer .fukidashi span:after {
    width: 2.2rem;
    height: 1.6rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__workplace .box ul li .question {
    margin-bottom: 1.5rem;
  }
}
.p-recruit__workplace .box ul li .question .fig {
  margin-right: 4rem;
}
@media only screen and (max-width: 780px) {
  .p-recruit__workplace .box ul li .question .fig {
    margin-right: 1.5rem;
  }
}
.p-recruit__workplace .box ul li .question .fukidashi span {
  width: 51rem;
  max-width: 100%;
  padding: 0.6em 1.6em;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2;
  background-color: #F0F0F0;
}
@media only screen and (max-width: 780px) {
  .p-recruit__workplace .box ul li .question .fukidashi span {
    font-size: 1.8rem;
  }
}
.p-recruit__workplace .box ul li .question .fukidashi span:after {
  background-image: url("../img/recruit/fukidashi_bottom01.png");
  left: 1.3em;
}
.p-recruit__workplace .box ul li .answer {
  justify-content: flex-end;
}
@media only screen and (max-width: 780px) {
  .p-recruit__workplace .box ul li .answer {
    align-items: flex-end;
  }
}
.p-recruit__workplace .box ul li .answer .fig {
  margin-left: 4rem;
}
@media only screen and (max-width: 780px) {
  .p-recruit__workplace .box ul li .answer .fig {
    margin-left: 1.5rem;
    margin-bottom: -1rem;
  }
}
.p-recruit__workplace .box ul li .answer .fukidashi {
  text-align: right;
}
.p-recruit__workplace .box ul li .answer .fukidashi span {
  width: 56rem;
  max-width: 100%;
  padding: 1.1em 2.2em;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: left;
  color: #ffffff;
  background-color: #ED7802;
}
@media only screen and (max-width: 780px) {
  .p-recruit__workplace .box ul li .answer .fukidashi span {
    font-size: 1.5rem;
  }
}
.p-recruit__workplace .box ul li .answer .fukidashi span:after {
  background-image: url("../img/recruit/fukidashi_bottom02.png");
  right: 1.3em;
}
.p-recruit__workplace .btn {
  text-align: center;
}
.p-recruit__workplace .btn p {
  margin-bottom: 0.7em;
  font-size: 2.2rem;
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-recruit__workplace .btn p {
    font-size: 1.8rem;
  }
}
.p-recruit__workplace .btn p span {
  padding: 0 1em;
  display: inline-block;
  position: relative;
}
.p-recruit__workplace .btn p span:before, .p-recruit__workplace .btn p span:after {
  width: 1px;
  height: 1em;
  margin-top: -0.5em;
  content: "";
  background-color: #000000;
  position: absolute;
  top: 50%;
}
.p-recruit__workplace .btn p span:before {
  right: 100%;
  transform: rotate(-15deg);
}
.p-recruit__workplace .btn p span:after {
  left: 100%;
  transform: rotate(15deg);
}
.p-recruit__img_scroll {
  width: 100%;
  margin-bottom: 8.8rem;
  overflow: hidden;
}
@media only screen and (max-width: 780px) {
  .p-recruit__img_scroll {
    margin-bottom: 4.4rem;
  }
}
.p-recruit__img_scroll img {
  max-width: none;
  height: 20rem;
  animation: loop_img_right 30s linear infinite;
}
@media only screen and (max-width: 780px) {
  .p-recruit__img_scroll img {
    height: 10rem;
  }
}
@keyframes loop_img_right {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0);
  }
}
.p-recruit__voice {
  margin-bottom: 5.6rem;
  padding-bottom: 17rem;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 780px) {
  .p-recruit__voice {
    margin-bottom: 3rem;
    padding-bottom: 9rem;
  }
}
.p-recruit__voice .inner {
  max-width: 1200px;
  position: relative;
  z-index: 1;
}
.p-recruit__voice .inner:before {
  width: 32.2rem;
  height: 24rem;
  content: "";
  background-image: url("../img/recruit/viuce_fig02.png");
  background-size: cover;
  position: absolute;
  top: 6rem;
  right: -20rem;
  z-index: -1;
}
@media only screen and (max-width: 780px) {
  .p-recruit__voice .inner:before {
    width: 12.8rem;
    height: 12rem;
    top: 3rem;
    right: -2.5rem;
  }
}
.p-recruit__voice .inner:after {
  width: 30.3rem;
  height: 28.3rem;
  content: "";
  background-image: url("../img/recruit/viuce_fig01.png");
  background-size: cover;
  position: absolute;
  bottom: 5rem;
  left: -24rem;
  z-index: -1;
}
@media only screen and (max-width: 780px) {
  .p-recruit__voice .inner:after {
    width: 13.1rem;
    height: 14.4rem;
    left: -4rem;
    bottom: 8rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__voice ul {
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__voice ul li {
    width: 32%;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__voice ul li + li {
    margin-top: 3rem;
  }
}
.p-recruit__voice ul li:nth-child(2) .catchcopy {
  background-color: #ED5302;
}
.p-recruit__voice ul li:nth-child(2) .catchcopy:after {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.5rem 1.5rem 0 1.5rem;
  border-color: #ED5302 transparent transparent transparent;
}
@media only screen and (max-width: 780px) {
  .p-recruit__voice ul li:nth-child(2) .catchcopy:after {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 1.5rem 1rem 0 1rem;
    border-color: #ED5302 transparent transparent transparent;
  }
}
.p-recruit__voice ul li a {
  display: block;
}
@media only screen and (min-width: 781px) {
  .p-recruit__voice ul li a {
    transition: transform 0.3s;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__voice ul li a:hover {
    transform: translateY(-1rem);
  }
}
.p-recruit__voice ul li .catchcopy {
  padding: 1.2em;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  background-color: #ED7802;
  border-radius: 2rem;
  position: relative;
}
@media only screen and (min-width: 781px) {
  .p-recruit__voice ul li .catchcopy {
    height: 10.5rem;
    margin-bottom: 3rem;
    display: flex;
    align-items: center;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__voice ul li .catchcopy {
    font-size: 1.6rem;
    margin-bottom: 2rem;
  }
}
.p-recruit__voice ul li .catchcopy:after {
  margin-left: -1.5rem;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.5rem 1.5rem 0 1.5rem;
  border-color: #ED7802 transparent transparent transparent;
  position: absolute;
  top: 100%;
  left: 50%;
}
@media only screen and (max-width: 780px) {
  .p-recruit__voice ul li .catchcopy:after {
    margin-left: -1rem;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 1.5rem 1rem 0 1rem;
    border-color: #ED7802 transparent transparent transparent;
  }
}
.p-recruit__voice ul li .catchcopy span {
  width: 100%;
  color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .p-recruit__voice ul li .catchcopy span {
    display: block;
  }
}
.p-recruit__voice ul li .img {
  margin: 0 auto 1em auto;
  padding: 1em 1em 0 1em;
  background-color: #ffffff;
  overflow: hidden;
}
.p-recruit__voice ul li .img > img,
.p-recruit__voice ul li .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width: 781px) {
  .p-recruit__voice ul li .img {
    width: 70%;
    height: auto;
    aspect-ratio: 265/154;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__voice ul li .img {
    width: 26.5rem;
  }
}
.p-recruit__voice ul li .initial {
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
}
.p-recruit__voice .btn {
  margin-top: 5rem;
  text-align: center;
}
.p-recruit__voice .scroll_text {
  width: 100%;
  font-family: "Jost", sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #F0F0F0;
  position: absolute;
  left: 0;
}
@media only screen and (min-width: 781px) {
  .p-recruit__voice .scroll_text {
    font-size: 12rem;
    bottom: 2rem;
  }
}
@media only screen and (min-width: 781px) and (max-width: 1279px) {
  .p-recruit__voice .scroll_text {
    font-size: 9.375vw;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__voice .scroll_text {
    font-size: 4rem;
    bottom: 1rem;
  }
}
.p-recruit__numbers {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 780px) {
  .p-recruit__numbers {
    margin-bottom: 6rem;
  }
}
.p-recruit__numbers .inner {
  max-width: 1200px;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 780px) {
  .p-recruit__numbers .inner {
    width: 94%;
  }
}
.p-recruit__numbers .inner:before {
  width: 32.2rem;
  height: 24rem;
  content: "";
  background-image: url("../img/recruit/numbers_fig02.png");
  background-size: cover;
  position: absolute;
  bottom: 5rem;
  right: -20rem;
  z-index: -1;
}
@media only screen and (max-width: 780px) {
  .p-recruit__numbers .inner:before {
    content: none;
  }
}
.p-recruit__numbers .inner:after {
  width: 30.3rem;
  height: 28.3rem;
  content: "";
  background-image: url("../img/recruit/numbers_fig01.png");
  background-size: cover;
  position: absolute;
  top: 0;
  left: -24rem;
  z-index: -1;
}
@media only screen and (max-width: 780px) {
  .p-recruit__numbers .inner:after {
    content: none;
  }
}
.p-recruit__numbers ul {
  display: flex;
  flex-wrap: wrap;
}
.p-recruit__numbers ul li {
  background-size: cover;
  background-position: center center;
}
.p-recruit__numbers ul li:nth-child(1) {
  background-image: url("../img/recruit/numbers_bg01.png");
}
.p-recruit__numbers ul li:nth-child(2) {
  background-image: url("../img/recruit/numbers_bg02.png");
}
.p-recruit__numbers ul li:nth-child(3) {
  background-image: url("../img/recruit/numbers_bg03.png");
}
.p-recruit__numbers ul li:nth-child(4) {
  background-image: url("../img/recruit/numbers_bg04.png");
}
.p-recruit__numbers ul li:nth-child(5) {
  background-image: url("../img/recruit/numbers_bg05.png");
}
.p-recruit__numbers ul li:nth-child(6) {
  background-image: url("../img/recruit/numbers_bg06.png");
}
.p-recruit__numbers ul li:nth-child(7) {
  background-image: url("../img/recruit/numbers_bg07.png");
}
.p-recruit__numbers ul li:nth-child(8) {
  background-image: url("../img/recruit/numbers_bg08.png");
}
.p-recruit__numbers ul li:nth-child(9) {
  background-image: url("../img/recruit/numbers_bg09.png");
}
@media only screen and (min-width: 781px) {
  .p-recruit__numbers ul li {
    width: 32%;
    margin: 0 2% 2% 0;
    padding: 4rem;
  }
  .p-recruit__numbers ul li:nth-child(3n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__numbers ul li {
    width: 49%;
    margin: 0 2% 2% 0;
    padding: 1.6rem 1.2rem;
  }
  .p-recruit__numbers ul li:nth-child(2n) {
    margin-right: 0;
  }
}
.p-recruit__numbers ul li h3 {
  font-size: 2.2rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-recruit__numbers ul li h3 {
    font-size: 1.4rem;
  }
}
.p-recruit__numbers ul li h3:after {
  width: 4em;
  height: 0.2rem;
  margin-top: 0.5em;
  content: "";
  background-color: #ED7802;
  display: block;
}
.p-recruit__numbers ul li .num {
  margin: 0.4em 0;
  font-size: 4rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-recruit__numbers ul li .num {
    font-size: 2rem;
  }
}
.p-recruit__numbers ul li .num span {
  font-family: "Jost", sans-serif;
  font-size: 10rem;
  line-height: 1;
}
@media only screen and (max-width: 780px) {
  .p-recruit__numbers ul li .num span {
    font-size: 5rem;
  }
}
.p-recruit__numbers ul li p {
  font-weight: 500;
  letter-spacing: normal;
}
@media only screen and (max-width: 780px) {
  .p-recruit__numbers ul li p {
    font-size: 1.3rem;
  }
}
.p-recruit__benefit {
  margin-bottom: 9.6rem;
  padding: 7rem 0;
  background-image: url("../img/recruit/benefit_bg.jpg");
  background-size: cover;
  background-position: center center;
}
@media only screen and (max-width: 780px) {
  .p-recruit__benefit {
    margin-bottom: 5rem;
    padding: 4rem 0;
  }
}
.p-recruit__benefit .recruit_midashi01 {
  color: #ffffff;
}
.p-recruit__benefit .recruit_midashi01 + p {
  font-weight: 500;
  text-align: center;
  color: #ffffff;
}
@media only screen and (min-width: 781px) {
  .p-recruit__benefit .recruit_midashi01 + p {
    font-size: 1.8rem;
    line-height: 1.88;
  }
}
.p-recruit__benefit ul {
  max-width: 896px;
  margin: 4rem auto;
  display: flex;
  flex-wrap: wrap;
}
.p-recruit__benefit ul li {
  background-color: #ffffff;
  border-radius: 1.6rem;
}
@media only screen and (min-width: 781px) {
  .p-recruit__benefit ul li {
    width: 32%;
    margin: 0 2% 2% 0;
    padding: 2.4rem;
  }
  .p-recruit__benefit ul li:nth-child(3n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__benefit ul li {
    width: 48%;
    margin: 0 4% 4% 0;
    padding: 1.5rem;
  }
  .p-recruit__benefit ul li:nth-child(2n) {
    margin-right: 0;
  }
}
.p-recruit__benefit ul li .icon {
  width: 5rem;
  margin: 0 auto;
}
.p-recruit__benefit ul li h3 {
  margin: 0.35em 0;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
}
.p-recruit__benefit ul li p {
  font-weight: 500;
}
.p-recruit__benefit .bottom_text {
  text-align: center;
  font-size: 2.8rem;
  font-weight: 700;
  color: #ffffff;
}
@media only screen and (max-width: 780px) {
  .p-recruit__benefit .bottom_text {
    font-size: 1.8rem;
  }
}
.p-recruit__requirements {
  margin-bottom: 9.6rem;
}
@media only screen and (max-width: 780px) {
  .p-recruit__requirements {
    margin-bottom: 5rem;
  }
}
.p-recruit__requirements .inner {
  position: relative;
  z-index: 1;
}
.p-recruit__requirements .inner:before {
  width: 32.2rem;
  height: 24rem;
  content: "";
  background-image: url("../img/recruit/requirement_fig02.png");
  background-size: cover;
  position: absolute;
  top: 0;
  right: -32.2rem;
  z-index: -1;
}
@media only screen and (max-width: 780px) {
  .p-recruit__requirements .inner:before {
    content: none;
  }
}
.p-recruit__requirements .inner:after {
  width: 30.3rem;
  height: 28.3rem;
  content: "";
  background-image: url("../img/recruit/requirement_fig01.png");
  background-size: cover;
  position: absolute;
  bottom: 0;
  left: -30.3rem;
  z-index: -1;
}
@media only screen and (max-width: 780px) {
  .p-recruit__requirements .inner:after {
    content: none;
  }
}
.p-recruit__requirements table {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 4rem auto;
}
@media only screen and (max-width: 780px) {
  .p-recruit__requirements table {
    margin-bottom: 3rem;
  }
}
.p-recruit__requirements table tbody tr th {
  width: 23%;
  padding: 2em 2.5em;
  font-weight: 500;
  background-color: #F0F0F0;
  vertical-align: top;
  border: solid 1px #CBCBCB;
  border-right: none;
}
@media only screen and (max-width: 780px) {
  .p-recruit__requirements table tbody tr th {
    width: 30%;
    padding: 1.5em;
  }
}
.p-recruit__requirements table tbody tr td {
  padding: 2em 2.5em;
  vertical-align: top;
  background-color: #ffffff;
  border: solid 1px #CBCBCB;
  border-left: none;
}
@media only screen and (max-width: 780px) {
  .p-recruit__requirements table tbody tr td {
    padding: 1.5em;
  }
}
.p-recruit__requirements table tbody tr td h3 {
  margin-bottom: 0.5em;
  font-size: 1.5rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-recruit__requirements table tbody tr td h3 {
    font-size: 1.4rem;
  }
}
.p-recruit__requirements table tbody tr td p {
  font-size: 1.4rem;
}
@media only screen and (max-width: 780px) {
  .p-recruit__requirements table tbody tr td p {
    font-size: 1.3rem;
  }
}
.p-recruit__requirements .bottom_text {
  margin-bottom: 1em;
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-recruit__requirements .bottom_text {
    font-size: 1.6rem;
  }
}
.p-recruit__requirements .btn {
  text-align: center;
}
.p-recruit__requirements .btn a {
  padding: 0.5em 2.5em;
  font-weight: 700;
  color: #ffffff;
  background-color: #ED7802;
  border-radius: 99px;
  display: inline-block;
}
@media only screen and (min-width: 781px) {
  .p-recruit__requirements .btn a:hover {
    background-color: #ED5302;
  }
}
.p-recruit__flow {
  margin-bottom: 12.8rem;
}
@media only screen and (max-width: 780px) {
  .p-recruit__flow {
    margin-bottom: 6rem;
  }
}
.p-recruit__flow .outer {
  margin: 0 auto;
  background-size: cover;
  background-position: center center;
}
@media only screen and (min-width: 781px) {
  .p-recruit__flow .outer {
    width: 100%;
    max-width: 1600px;
    padding: 5.6rem 0;
    background-image: url("../img/recruit/flow_bg.jpg");
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__flow .outer {
    width: 90%;
    padding: 2.3rem 0;
    background-image: url("../img/recruit/flow_bg_sp.jpg");
  }
}
.p-recruit__flow .inner {
  max-width: 1200px;
}
.p-recruit__flow .recruit_midashi01 {
  color: #ffffff;
}
.p-recruit__flow .recruit_midashi01 h2 {
  color: #ffffff;
}
@media only screen and (min-width: 781px) {
  .p-recruit__flow ol {
    display: flex;
    justify-content: space-between;
  }
}
.p-recruit__flow ol li {
  background-color: #ffffff;
}
@media only screen and (min-width: 781px) {
  .p-recruit__flow ol li {
    width: 24%;
    padding: 2em 1em;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__flow ol li {
    padding: 2rem 1.6rem;
    display: flex;
  }
  .p-recruit__flow ol li + li {
    margin-top: 0.9rem;
  }
}
.p-recruit__flow ol li .num {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
}
@media only screen and (min-width: 781px) {
  .p-recruit__flow ol li .num {
    font-size: 3rem;
    text-align: center;
  }
}
@media only screen and (min-width: 781px) {
  .p-recruit__flow ol li .icon {
    width: 9.8rem;
    margin: 0.8rem auto;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__flow ol li .icon {
    width: 6.8rem;
    margin-right: 0.8rem;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__flow ol li .text {
    width: calc(100% - 7.6rem);
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__flow ol li .text .num {
    font-size: 2rem;
  }
}
.p-recruit__flow ol li .text h3 {
  font-weight: 700;
}
@media only screen and (min-width: 781px) {
  .p-recruit__flow ol li .text h3 {
    margin-bottom: 0.9rem;
    font-size: 2.4rem;
    text-align: center;
  }
}
@media only screen and (max-width: 780px) {
  .p-recruit__flow ol li .text h3 {
    margin-bottom: 0.5rem;
    font-size: 1.6rem;
  }
}
.p-recruit__flow ol li .text p {
  font-weight: 500;
}
@media only screen and (max-width: 780px) {
  .p-recruit__flow ol li .text p {
    font-size: 1.4rem;
  }
}

.p-staff__list {
  margin-bottom: 11.2rem;
}
@media only screen and (max-width: 780px) {
  .p-staff__list {
    margin-bottom: 5.5rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-staff__list .interview_list {
    margin-bottom: 2rem;
    display: flex;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 780px) {
  .p-staff__list .interview_list {
    margin-bottom: 5rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-staff__list .interview_list li {
    width: 24%;
    margin: 0 1.333% 7rem 0;
  }
  .p-staff__list .interview_list li:nth-child(4n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 780px) {
  .p-staff__list .interview_list li {
    margin-bottom: 3rem;
  }
}
@media only screen and (min-width: 781px) {
  .p-staff__list .interview_list li a {
    display: block;
  }
  .p-staff__list .interview_list li a:hover .text {
    color: #0082C7;
  }
}
@media only screen and (max-width: 780px) {
  .p-staff__list .interview_list li a {
    display: flex;
    align-items: center;
  }
}
.p-staff__list .interview_list li .img {
  padding: 1em 1em 0 1em;
  background-color: #F0F0F0;
  overflow: hidden;
}
.p-staff__list .interview_list li .img > img,
.p-staff__list .interview_list li .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width: 781px) {
  .p-staff__list .interview_list li .img {
    width: 100%;
    height: auto;
    margin-bottom: 1em;
    aspect-ratio: 268/169;
  }
}
@media only screen and (max-width: 780px) {
  .p-staff__list .interview_list li .img {
    width: 35%;
  }
}
@media only screen and (max-width: 780px) {
  .p-staff__list .interview_list li .text {
    width: 65%;
    padding-left: 1em;
  }
}
.p-staff__list .interview_list li .text .catchcopy {
  margin-bottom: 0.4em;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}
@media only screen and (max-width: 780px) {
  .p-staff__list .interview_list li .text .catchcopy {
    font-size: 1.6rem;
  }
}
.p-staff__list .interview_list li .text .initial {
  font-size: 1.4rem;
  font-weight: 500;
}
.p-staff__detail {
  margin-bottom: 11.2rem;
}
@media only screen and (max-width: 780px) {
  .p-staff__detail {
    margin-bottom: 5.5rem;
  }
}
.p-staff__detail .inner {
  max-width: 1000px;
}
.p-staff__detail .headding {
  background-color: #F7F7F7;
  border-radius: 1.6rem;
}
@media only screen and (min-width: 781px) {
  .p-staff__detail .headding {
    margin-bottom: 6.4rem;
    padding: 4rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media only screen and (max-width: 780px) {
  .p-staff__detail .headding {
    margin-bottom: 3.2rem;
    padding: 2rem;
  }
}
.p-staff__detail .headding .img {
  padding: 1em 1em 0 1em;
  background-color: #ffffff;
  aspect-ratio: 288/169;
  overflow: hidden;
}
.p-staff__detail .headding .img > img,
.p-staff__detail .headding .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width: 781px) {
  .p-staff__detail .headding .img {
    width: 30%;
    height: auto;
  }
}
@media only screen and (max-width: 780px) {
  .p-staff__detail .headding .img {
    max-width: 28.8rem;
    margin: 0 auto 2rem auto;
  }
}
@media only screen and (min-width: 781px) {
  .p-staff__detail .headding .text {
    width: 65%;
  }
}
.p-staff__detail .headding .text .catchcopy {
  margin-bottom: 0.7em;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2;
}
@media only screen and (max-width: 780px) {
  .p-staff__detail .headding .text .catchcopy {
    font-size: 1.8rem;
  }
}
.p-staff__detail .headding .text .meta {
  font-size: 1.4rem;
  font-weight: 500;
  display: grid;
  grid-template-columns: 10rem auto;
  grid-template-rows: auto;
  gap: 0.5rem;
}
.p-staff__detail .interview_content + .interview_content {
  margin-top: 5.6rem;
}
@media only screen and (max-width: 780px) {
  .p-staff__detail .interview_content + .interview_content {
    margin-top: 3rem;
  }
}
.p-staff__detail .interview_content .qestion .num {
  font-family: "Jost", sans-serif;
  font-size: 4rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-staff__detail .interview_content .qestion .num {
    font-size: 2rem;
  }
}
.p-staff__detail .interview_content .qestion .fukidashi {
  margin-bottom: 3.5em;
}
@media only screen and (max-width: 780px) {
  .p-staff__detail .interview_content .qestion .fukidashi {
    margin-bottom: 2em;
  }
}
.p-staff__detail .interview_content .qestion .fukidashi span {
  padding: 0.6em 1.6em;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2;
  color: #ffffff;
  background-color: #ED7802;
  border-radius: 99px;
  display: inline-block;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 780px) {
  .p-staff__detail .interview_content .qestion .fukidashi span {
    font-size: 1.8rem;
  }
}
.p-staff__detail .interview_content .qestion .fukidashi span:after {
  width: 4.4rem;
  height: 3.2rem;
  content: "";
  background-image: url("../img/recruit/fukidashi_bottom03.png");
  background-size: cover;
  position: absolute;
  top: 90%;
  left: 1.3em;
  z-index: -1;
}
@media only screen and (max-width: 780px) {
  .p-staff__detail .interview_content .qestion .fukidashi span:after {
    width: 2.2rem;
    height: 1.6rem;
  }
}
.p-staff__detail .interview_content .answer {
  width: calc(100% - 4rem);
  margin: 0 0 0 auto;
  padding-left: 3.2rem;
  border-left: solid 0.6rem #F0F0F0;
}
@media only screen and (max-width: 780px) {
  .p-staff__detail .interview_content .answer {
    width: 100%;
    padding-left: 1em;
  }
}
.p-staff__detail .interview_content .answer h3 {
  margin-bottom: 0.7em;
  font-size: 2.4rem;
  line-height: 1.2;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .p-staff__detail .interview_content .answer h3 {
    font-size: 1.8rem;
  }
}
.p-staff__detail .interview_content .answer p {
  line-height: 1.875;
}

/****************************************************
 * 6.装飾
 ****************************************************/
.underline {
  text-decoration: underline;
}

.bold {
  font-weight: 700;
}

.colorRed {
  color: #ff0000;
}

/****************************************************
 * 7.印刷用調整
 ****************************************************/
@media print {
  @page {
    /* A4縦サイズ */
    size: 210mm 297mm;
  }
  html {
    font-size: 10pt !important;
  }
  body {
    margin: 0 !important;
    padding: 0 !important;
  }
  * {
    -webkit-print-color-adjust: exact;
  }
  .container {
    padding: 0 !important;
  }
  #header {
    position: static !important;
  }
  img {
    display: block !important;
  }
}