@charset "UTF-8";
body {
  color: #222;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: justify;
  background: #fff;
  position: relative;
}

a:hover img {
  opacity: 0.64;
  transition: 0.5s;
}

img {
  max-width: 100%;
  height: auto;
}

.cm_list li {
  border-top: 1px solid rgba(62, 94, 130, 0.25);
}
.cm_list li:last-child {
  border-bottom: 1px solid rgba(62, 94, 130, 0.25);
}
.cm_list li a {
  display: block;
  line-height: 1.5;
  text-decoration: none;
  padding: 1.5rem 0;
  background: url("../img/arw.svg") center right 1rem/0.25rem no-repeat;
}
.cm_list li a span {
  padding-right: 3.75rem;
}
@media screen and (max-width: 979px) {
  .cm_list li a span {
    padding-right: 1.5rem;
  }
}
.mw_wp_form {
  margin: 3.75rem auto 0;
  /*
  .error {
  	color: #ee0000;
  	margin-top: 0.75em;
  }
   */
}
.mw_wp_form .need {
  color: #ee0000;
}
.mw_wp_form dl {
  margin: 2.5rem 0 0;
}
.mw_wp_form dl:first-child {
  margin-top: 0;
}
.mw_wp_form dl dt {
  font-weight: bold;
  letter-spacing: 0.025em;
  line-height: 1.5;
  margin: -0.25em 0;
}
@media screen and (max-width: 979px) {
  .mw_wp_form dl dt {
    width: 100%;
  }
}
.mw_wp_form dl dt .br {
  padding: 2px 0;
}
.mw_wp_form dl dd {
  margin-top: 1rem;
}
@media screen and (max-width: 979px) {
  .mw_wp_form dl dd {
    width: 100%;
  }
}
.mw_wp_form p.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 3.75rem 0 0;
}
.mw_wp_form .mwform-tel-field input[type=text],
.mw_wp_form .mwform-zip-field input[type=text] {
  display: inline-block;
  width: 15%;
}
@media screen and (max-width: 980px) {
  .mw_wp_form .mwform-tel-field input[type=text],
  .mw_wp_form .mwform-zip-field input[type=text] {
    width: 25%;
  }
}
.mw_wp_form input[type=email],
.mw_wp_form input[type=text],
.mw_wp_form input[type=number],
.mw_wp_form textarea {
  display: block;
  width: 100%;
  line-height: 1.5;
  padding: 0.75em 1em;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-appearance: none;
  box-sizing: border-box;
}
.mw_wp_form input[type=email]::-moz-placeholder, .mw_wp_form input[type=text]::-moz-placeholder, .mw_wp_form input[type=number]::-moz-placeholder, .mw_wp_form textarea::-moz-placeholder {
  color: #ccc;
}
.mw_wp_form input[type=email]::placeholder,
.mw_wp_form input[type=text]::placeholder,
.mw_wp_form input[type=number]::placeholder,
.mw_wp_form textarea::placeholder {
  color: #ccc;
}
.mw_wp_form input[type=number] {
  width: 25%;
}
.mw_wp_form select {
  display: block;
  width: 25%;
  padding: 1em 2em 1em 1em;
  border: #fff 2px solid;
  background: url(../img/select.svg) right 1.5em center/auto 0.75em no-repeat #fff;
  border: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}
@media screen and (max-width: 980px) {
  .mw_wp_form select {
    font-size: 16px;
  }
}
.mw_wp_form input[type=submit],
.mw_wp_form input[type=reset] {
  display: block;
  width: 15em;
  color: #3e5e82;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.2em;
  text-align: center;
  text-decoration: none;
  padding: 1.25em 0;
  background: #fff;
  border: 2px solid #3e5e82;
  cursor: pointer;
  -webkit-appearance: none;
}
.mw_wp_form input[type=submit]:hover,
.mw_wp_form input[type=reset]:hover {
  color: #fff;
  background: #3e5e82;
}
@media screen and (min-width: 1101px) {
  .mw_wp_form input[type=submit]:hover,
  .mw_wp_form input[type=reset]:hover {
    transition: 0.25s;
  }
}
.mw_wp_form input[type=reset] {
  color: #fff;
  background: gray;
}
.mw_wp_form.mw_wp_form_confirm dl dd {
  color: rgba(0, 0, 0, 0.5);
  line-height: 1.5;
  padding: 0.75em 1em;
  background: rgba(0, 0, 0, 0.05);
}
.mw_wp_form.mw_wp_form_confirm p.first {
  display: none;
}
.mw_wp_form.mw_wp_form_confirm input[type=submit] {
  color: #fff;
  background: #3e5e82;
}
.mw_wp_form.mw_wp_form_confirm input[type=submit]:hover {
  background: #000;
  border: 2px solid #3e5e82;
}
.wppn, .wp-pagenavi .current, .wp-pagenavi a:hover {
  color: #3e5e82;
  font-weight: bold;
  position: relative;
}

.wp-pagenavi {
  text-align: center;
  margin-top: 5rem;
}
.wp-pagenavi::after {
  content: "";
  display: block;
  clear: both;
}
.wp-pagenavi a {
  display: inline-block;
  width: 2.5em;
  height: 1em;
  color: #3e5e82;
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  margin: 0 0.25em;
  border-radius: 50%;
  box-sizing: border-box;
}
.wp-pagenavi .current::after {
  content: "";
  display: block;
  width: 1.75rem;
  height: 2px;
  background: #3e5e82;
  position: absolute;
  bottom: -0.5rem;
  left: 50%;
  transform: translateX(-50%);
}

/* header */
.header {
  position: relative;
}
.header .h1 {
  position: absolute;
  left: 5rem;
  top: 2.5rem;
  z-index: 10;
  transition: 0.375s;
}
@media screen and (max-width: 979px) {
  .header .h1 {
    left: 2rem;
    top: 0.875rem;
  }
}
.header .h1 img {
  height: 14rem;
}
@media screen and (max-width: 979px) {
  .header .h1 img {
    height: 3.25rem;
  }
}
.header .ancestor {
  color: #3e5e82;
  text-align: center;
  letter-spacing: 0.4em;
  text-indent: 0.4em;
  font-weight: normal;
  padding: 6rem 0;
  background: rgba(62, 94, 130, 0.1);
}
@media screen and (max-width: 979px) {
  .header .ancestor {
    padding: 4rem 0;
  }
}
.header .ancestor span {
  display: block;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 3rem;
  letter-spacing: 0;
  text-indent: 0;
  margin: 0 0 1rem;
}
.header .nav {
  display: flex;
  justify-content: flex-end;
  padding-right: 5rem;
}
.header .nav li {
  margin-left: 2rem;
}
.header .nav li:first-child {
  display: none;
}
@media screen and (max-width: 979px) {
  .header .nav li:first-child {
    display: block;
  }
}
.header .nav li.on a::after {
  transform: scale(1, 1);
}
.header .nav li a {
  display: block;
  letter-spacing: 0.52em;
  text-indent: 0.52em;
  text-align: center;
  text-decoration: none;
  padding: 2rem 0;
  position: relative;
  transition: 0.5s;
}
.header .nav li a::after {
  width: 100%;
  height: 3px;
  content: "";
  background: #3e5e82;
  position: absolute;
  left: 0;
  bottom: 0;
  transition: 0.375s;
  transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
  transform-origin: left;
  transform: scale(0, 1);
}
.header .nav li a:hover::after {
  transform: scale(1, 1);
}
.header .nav li:last-child a {
  letter-spacing: 0.2em;
  text-indent: 0.2em;
}
.header .mainImage {
  position: relative;
}
.header .news {
  min-width: 560px;
  padding: 0 2.5rem;
  background: rgba(255, 255, 255, 0.9);
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
}
@media screen and (max-width: 979px) {
  .header .news {
    min-width: inherit;
    padding: 1em 2em;
    position: static;
    background: rgba(62, 94, 130, 0.1);
  }
}
.header .news .more {
  display: none;
  width: 1rem;
  position: absolute;
  right: 2.5rem;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  cursor: pointer;
}

.footer {
  color: #FFF;
  padding: 6em 0 5em;
  background: #3e5e82;
}
@media screen and (max-width: 979px) {
  .footer {
    padding: 1.5em 0 3em;
  }
}
.footer .nav {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 979px) {
  .footer .nav {
    display: none;
  }
}
.footer .nav li {
  border-right: 1px solid #FFF;
}
.footer .nav li:last-child {
  border: none;
}
.footer .nav li a {
  display: block;
  padding: 0 1.25rem;
}
.footer .logo {
  padding-right: 2.25rem;
}
@media screen and (max-width: 979px) {
  .footer .logo {
    padding: 0 0 2.5rem;
  }
}
.footer .logo img {
  height: 7.75rem;
}
@media screen and (max-width: 979px) {
  .footer .logo img {
    height: 6.5rem;
  }
}
.footer address {
  line-height: 1.75;
  margin: -0.375em 0;
}
.footer .copy {
  font-size: 0.75rem;
  margin: 0.75rem 0 0;
}
@media screen and (max-width: 979px) {
  .footer .copy {
    letter-spacing: 0;
  }
}
.footer .body {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 2.5rem 0 0;
}
@media screen and (max-width: 979px) {
  .footer .body {
    flex-direction: column;
    text-align: center;
  }
}

.infoList li {
  display: flex;
  padding: 1.5rem 3rem 1.5rem 0;
  background: url("../img/arw.svg") center right 1rem/0.25rem no-repeat;
  border-bottom: 1px solid rgba(53, 53, 53, 0.2);
}
@media screen and (max-width: 979px) {
  .infoList li {
    flex-wrap: wrap;
  }
}
.infoList li:first-child {
  border-top: 1px solid rgba(53, 53, 53, 0.2);
}
.infoList li span {
  display: block;
  line-height: 1.5;
}
.infoList li .date {
  width: 6rem;
  line-height: 1.5;
  letter-spacing: 0;
  white-space: nowrap;
  padding-right: 2rem;
}
@media screen and (max-width: 979px) {
  .infoList li .date {
    font-size: 0.75rem;
  }
}
.infoList li .category {
  line-height: 1.5;
  padding-right: 1rem;
  white-space: nowrap;
  padding-right: 2rem;
}
@media screen and (max-width: 979px) {
  .infoList li .category {
    font-size: 0.75rem;
    padding: 0;
  }
}
.infoList li a {
  line-height: 1.5;
  transition: 0.5s;
}
@media screen and (max-width: 979px) {
  .infoList li a {
    display: block;
    width: 100%;
    margin: calc(1rem - 0.25em) 0 -0.25em;
  }
}

@media screen and (max-width: 979px) {
  .subPage .header {
    padding-top: 5em;
  }
}
.subPage .footer {
  margin: 7.5em 0 0;
  padding: 5em 0;
}
@media screen and (max-width: 979px) {
  .subPage .footer {
    padding: 0.5em 0 3em;
  }
}
.subPage .contents {
  width: calc(100% - 4em);
  max-width: 700px;
  margin: 3.75em auto 0;
}
.post {
  max-width: 700px;
  margin: 0 auto;
}
.post *:first-child {
  margin-top: 0 !important;
}
.post h2 {
  color: #3e5e82;
  font-weight: 900;
  font-size: 2rem;
  padding-left: 1.5rem;
  border-left: 3px solid #3e5e82;
  margin: 7rem 0 0;
}
.post h2 span {
  display: block;
  color: #000;
  font-size: 1rem;
  font-weight: normal;
  padding: 1rem 0 0;
}
.post h3 {
  display: inline-block;
  color: #FFF;
  font-size: 1.5rem;
  line-height: 1.5;
  background: #3e5e82;
  padding: 0.25rem 0.5rem;
  margin: 5rem 0 0;
}
@media screen and (max-width: 979px) {
  .post h3 {
    font-size: 1.375rem;
    margin: 4rem 0 0;
  }
}
.post h4 {
  color: #3e5e82;
  font-size: 1.25rem;
  letter-spacing: 0.1em;
  margin: 3rem 0 0;
}
.post h4 + p {
  margin: calc(2rem - 0.5em) 0 -0.5em;
}
.post p {
  font-size: 1.125rem;
  line-height: 2.5;
  text-align: justify;
  margin: calc(2.5rem - 0.75em) 0 -0.75em;
}
.post p strong {
  font-weight: bold;
  font-size: 1.25rem;
}
.post p.center {
  text-align: center;
}
.post table {
  width: 100%;
  margin: 2.5em 0 0;
  border-top: 1px solid rgba(62, 94, 130, 0.1);
}
.post table th {
  max-width: 9rem;
  font-weight: normal;
  border-bottom: 1px solid rgba(62, 94, 130, 0.1);
  text-align: right;
  line-height: 1.5;
  padding: 1.5rem 2rem 1.5rem 0;
}
.post table td {
  width: calc(100% - 9rem);
  border-bottom: 1px solid rgba(62, 94, 130, 0.1);
  padding: 1.5rem 0;
  line-height: 1.5;
}
.post ol,
.post ul {
  text-align: left;
  list-style: disc none;
  margin: calc(2.5rem - 0.5em) 0 -0.5em 1.375em;
}
.post ol li,
.post ul li {
  line-height: 2;
}
.post ol {
  list-style: decimal none;
}
.post iframe {
  max-width: 100%;
}

.cm_h2, #index h2 {
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  text-align: center;
  margin: 10rem 0 0;
}
.cm_h2 span, #index h2 span {
  display: block;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 3rem;
  letter-spacing: 0;
  text-indent: 0;
  margin: 0 0 1rem;
}
.cm_h2 img, #index h2 img {
  height: 1.75rem;
  margin: 0 auto 1rem;
}

.interviewBox h2, #recruit .interviewBox h2, #index #b h2 {
  margin: 0;
}
.interviewBox h3, #recruit .interviewBox h3, #index #b h3 {
  color: transparent;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 10rem;
  font-weight: normal;
  text-stroke: 2px #3e5e82;
  -webkit-text-stroke: 2px #3e5e82;
  position: absolute;
  top: -2.5rem;
  right: 2.5rem;
  z-index: 2;
}
@media screen and (max-width: 979px) {
  .interviewBox h3, #recruit .interviewBox h3, #index #b h3 {
    font-size: 7.5rem;
    right: 2rem;
    top: -2rem;
    text-stroke: 1px #3e5e82;
    -webkit-text-stroke: 1px #3e5e82;
  }
}
.interviewBox h3 span, #recruit .interviewBox h3 span, #index #b h3 span {
  display: block;
  font-size: 2.75rem;
  margin: -0.125em 0 0 0.125em;
}
@media screen and (max-width: 979px) {
  .interviewBox h3 span, #recruit .interviewBox h3 span, #index #b h3 span {
    font-size: 1.75rem;
  }
}
.interviewBox .box, #recruit .interviewBox .box, #index #b .box {
  width: calc(100% - 4rem);
  max-width: 1050px;
  margin: 2.5em auto 0;
  display: flex;
  background: #FFF;
  position: relative;
}
@media screen and (max-width: 979px) {
  .interviewBox .box, #recruit .interviewBox .box, #index #b .box {
    flex-direction: column;
  }
}
.interviewBox .box a, #recruit .interviewBox .box a, #index #b .box a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}
.interviewBox .box:nth-child(even) h3, #recruit .interviewBox .box:nth-child(even) h3, #index #b .box:nth-child(even) h3 {
  left: 2.5rem;
}
@media screen and (max-width: 979px) {
  .interviewBox .box:nth-child(even) h3, #recruit .interviewBox .box:nth-child(even) h3, #index #b .box:nth-child(even) h3 {
    left: 2rem;
  }
}
.interviewBox .box:nth-child(even) .image, #recruit .interviewBox .box:nth-child(even) .image, #index #b .box:nth-child(even) .image {
  order: 1;
}
.interviewBox .box:nth-child(even) .txtBox, #recruit .interviewBox .box:nth-child(even) .txtBox, #index #b .box:nth-child(even) .txtBox {
  padding: 16em 2.5em 6.5em;
  order: 2;
}
@media screen and (max-width: 979px) {
  .interviewBox .box:nth-child(even) .txtBox, #recruit .interviewBox .box:nth-child(even) .txtBox, #index #b .box:nth-child(even) .txtBox {
    padding: 3em 2em 2.5em;
  }
}
.interviewBox .box:nth-child(even) .txtBox dt, #recruit .interviewBox .box:nth-child(even) .txtBox dt, #index #b .box:nth-child(even) .txtBox dt {
  left: -4rem;
}
.interviewBox .box .image, #recruit .interviewBox .box .image, #index #b .box .image {
  width: 56.6666666667%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
@media screen and (max-width: 979px) {
  .interviewBox .box .image, #recruit .interviewBox .box .image, #index #b .box .image {
    width: 100%;
    padding-top: 60%;
    order: 1;
  }
}
.interviewBox .box .txtBox, #recruit .interviewBox .box .txtBox, #index #b .box .txtBox {
  width: 43.3333333333%;
  position: relative;
  padding: 16em 2.5em 6.5em 14.5em;
}
@media screen and (max-width: 979px) {
  .interviewBox .box .txtBox, #recruit .interviewBox .box .txtBox, #index #b .box .txtBox {
    width: 100%;
    padding: 3em 2em 2.5em;
    order: 2;
  }
}
.interviewBox .box .txtBox dt, #recruit .interviewBox .box .txtBox dt, #index #b .box .txtBox dt {
  min-width: 26rem;
  color: #3e5e82;
  font-weight: 900;
  font-size: 2rem;
  line-height: 2;
  white-space: nowrap;
  position: absolute;
  left: 8rem;
  top: 6rem;
  z-index: 2;
}
@media screen and (max-width: 979px) {
  .interviewBox .box .txtBox dt, #recruit .interviewBox .box .txtBox dt, #index #b .box .txtBox dt {
    min-width: inherit;
    font-size: 1.5rem;
    margin: -0.5em 0 calc(2.5rem - 0.5em);
    position: static;
  }
}
.interviewBox .box .txtBox dt span, #recruit .interviewBox .box .txtBox dt span, #index #b .box .txtBox dt span {
  display: inline;
  background: #FFF;
  padding-left: 0.25rem;
}
.interviewBox .box .txtBox dt::before, #recruit .interviewBox .box .txtBox dt::before, #index #b .box .txtBox dt::before {
  width: 2.5rem;
  height: 2rem;
  content: "";
  background: url("../img/s.svg") center/contain no-repeat;
  position: absolute;
  left: -2.75rem;
  top: -1.5rem;
}
@media screen and (max-width: 979px) {
  .interviewBox .box .txtBox dt::before, #recruit .interviewBox .box .txtBox dt::before, #index #b .box .txtBox dt::before {
    display: none;
  }
}
.interviewBox .box .txtBox dt::after, #recruit .interviewBox .box .txtBox dt::after, #index #b .box .txtBox dt::after {
  width: 2.5rem;
  height: 2rem;
  content: "";
  background: url("../img/e.svg") center/contain no-repeat;
  position: absolute;
  right: -2.25rem;
  bottom: -1.25rem;
}
@media screen and (max-width: 979px) {
  .interviewBox .box .txtBox dt::after, #recruit .interviewBox .box .txtBox dt::after, #index #b .box .txtBox dt::after {
    display: none;
  }
}
.interviewBox .box .txtBox dd, #recruit .interviewBox .box .txtBox dd, #index #b .box .txtBox dd {
  letter-spacing: 0.2em;
}
.interviewBox .box .txtBox dd strong, #recruit .interviewBox .box .txtBox dd strong, #index #b .box .txtBox dd strong {
  letter-spacing: 0.4em;
  font-weight: normal;
  font-size: 1.5rem;
  margin: 1rem 0 0;
}
@media screen and (max-width: 979px) {
  .interviewBox .box .txtBox dd strong, #recruit .interviewBox .box .txtBox dd strong, #index #b .box .txtBox dd strong {
    font-size: 1.25rem;
  }
}

#index {
  overflow: hidden;
}
#index .infoList li {
  background: none;
  border: none;
}
#index .header {
  margin-bottom: 5em;
}
#index .header .h1 {
  top: 5rem;
}
@media screen and (max-width: 979px) {
  #index .header .h1 {
    position: static;
    margin: 3.75em 0;
  }
}
@media screen and (max-width: 979px) {
  #index .header .h1 img {
    height: 14rem;
    margin: 0 auto;
  }
}
@media screen and (min-width: 980px) {
  #index .header .nav {
    position: absolute;
    left: 5.5rem;
    top: 25rem;
  }
}
@media screen and (min-width: 980px) {
  #index .header .nav {
    flex-direction: column;
  }
}
#index .header .nav li {
  margin: 0;
}
@media screen and (min-width: 980px) {
  #index .header .nav li a {
    padding: 1.25rem 0 1.25rem 2.5rem;
  }
  #index .header .nav li a::before {
    width: 2rem;
    height: 1px;
    content: "";
    background: #3e5e82;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
  }
}
#index .header .mainImage {
  width: calc(100% - 20em);
  height: 51.2142857143vw;
  margin-left: auto;
  background: url("../img/main.jpg") center/cover no-repeat;
}
@media screen and (max-width: 979px) {
  #index .header .mainImage {
    width: 100%;
    height: 100vw;
    background-image: url("../img/_main.jpg");
  }
}
#index .header .mainImage .catch {
  width: 26.9285714286vw;
  position: absolute;
  right: 5vw;
  top: 36.6428571429vw;
}
@media screen and (max-width: 979px) {
  #index .header .mainImage .catch {
    width: 63.1696428571vw;
    top: 66.9642857143vw;
    right: 6.6964285714vw;
  }
}
#index .read {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 2.5;
  letter-spacing: 0.125em;
  text-indent: 0.125em;
  text-align: center;
  margin: -0.75em 0;
  position: relative;
}
@media screen and (max-width: 979px) {
  #index .read {
    font-size: 1.125rem;
  }
}
#index .read::after, #index .read::before {
  width: 1px;
  height: 5rem;
  content: "";
  background: #3e5e82;
  position: absolute;
  top: calc(100% + 2rem);
  left: 0;
  right: 0;
  margin: 0 auto;
  transform-origin: top;
  animation: myAnime 2s cubic-bezier(0.83, 0, 0.17, 1) 0s infinite normal;
}
#index .read::after {
  transform-origin: bottom;
  animation: myAnime2 2s cubic-bezier(0.83, 0, 0.17, 1) 0s infinite normal;
}
#index .insta_link a {
  text-decoration: none;
}
#index .w980 {
  width: calc(100% - 4rem);
  max-width: 980px;
  margin: 2.5em auto 0;
}
@media screen and (max-width: 979px) {
  #index .w980 {
    width: 100%;
  }
}
#index #a {
  width: calc(100% - 4rem);
  max-width: 980px;
  margin: 2.5em auto 0;
  position: relative;
}
#index #a::after {
  width: 400px;
  height: 140px;
  content: "";
  background: url("../img/01.svg") center/cover no-repeat;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
@media screen and (max-width: 979px) {
  #index #a::after {
    display: none;
  }
}
#index #a ul {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 979px) {
  #index #a ul {
    flex-direction: column;
  }
}
#index #a ul li {
  width: 50%;
}
@media screen and (max-width: 979px) {
  #index #a ul li {
    width: 100%;
    margin: 0 0 2.5em;
  }
}
#index #a ul li div {
  display: block;
  padding-top: 56.25%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  transition: 0.5s;
}
#index #a ul li div span {
  display: block;
  width: calc(100% - 6.5rem);
  max-width: 300px;
  color: #3e5e82;
  font-size: 1.75rem;
  font-weight: 900;
  letter-spacing: 0.3em;
  text-indent: 0.3em;
  text-align: center;
  padding: 1.5rem 0 0;
  margin: 0 auto;
  background: #FFF;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
@media screen and (min-width: 980px) {
  #index #a ul li div span {
    display: none;
  }
}
#index #b {
  background: rgba(62, 94, 130, 0.1);
  margin: -5em 0 0;
  padding: 13em 0 7.5em;
}
@media screen and (max-width: 979px) {
  #index #b {
    margin: 5em 0 0;
    padding: 5em 0 7.5em;
  }
}
#index #c {
  height: 35vw;
  background: url("../img/07.jpg") center/cover no-repeat;
  position: relative;
}
@media screen and (max-width: 979px) {
  #index #c {
    height: 61.3839285714vw;
    background-image: url("../img/_07.jpg");
  }
}
#index #c::after, #index #c::before {
  width: 1px;
  height: 5rem;
  content: "";
  background: #3e5e82;
  position: absolute;
  top: -2.5rem;
  left: 0;
  right: 0;
  margin: 0 auto;
  transform-origin: top;
  animation: myAnime 2s cubic-bezier(0.83, 0, 0.17, 1) 0s infinite normal;
}
#index #c::after {
  transform-origin: bottom;
  animation: myAnime2 2s cubic-bezier(0.83, 0, 0.17, 1) 0s infinite normal;
}
#index #c .catch {
  width: 19.8571428571vw;
  position: absolute;
  left: calc(50% + 10vw);
  top: 10.2142857143vw;
}
@media screen and (max-width: 979px) {
  #index #c .catch {
    width: 31.25vw;
    top: 26.7857142857vw;
    left: auto;
    right: 4.6875vw;
  }
}
#index #c .catch img {
  filter: drop-shadow(0 0 0.25em rgba(0, 0, 0, 0.8));
}
#index #c .link {
  width: 100%;
  position: absolute;
  bottom: -1.5rem;
  left: 0;
}
#index #c .link img {
  height: 3rem;
  margin: 0 auto;
}

@keyframes myAnime {
  0% {
    transform: scale(1, 0);
  }
  50% {
    transform: scale(1, 1);
  }
  51% {
    transform: scale(0, 0);
  }
  100% {
    transform: scale(0, 0);
  }
}
@keyframes myAnime2 {
  0% {
    transform: scale(0, 0);
  }
  50% {
    transform: scale(0, 0);
  }
  51% {
    transform: scale(1, 1);
  }
  100% {
    transform: scale(1, 0);
  }
}
#business .contents {
  width: 100%;
  max-width: 100%;
}
@media screen and (max-width: 979px) {
  #business .contents {
    padding: 0;
  }
}
#business .pageNav {
  text-align: center;
}
#business .pageNav li {
  display: inline-block;
  border-right: 1px solid #000;
}
#business .pageNav li:last-child {
  border: none;
}
#business .pageNav li a {
  display: block;
  padding: 0 1.25rem;
}
#business .h2 {
  color: #3e5e82;
  font-size: 3rem;
  font-weight: 900;
  letter-spacing: 0.2em;
  margin: 0 0 2.75rem;
}
@media screen and (max-width: 979px) {
  #business .h2 {
    font-size: 2.25rem;
  }
}
#business .h3 {
  color: #3e5e82;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  text-align: center;
}
#business .h3 span {
  display: block;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 2rem;
  letter-spacing: 0;
  text-indent: 0;
  margin: 0 0 0.5rem;
}
#business .box {
  width: calc(100% - 10em);
  margin: 10em auto 0;
  position: relative;
}
@media screen and (max-width: 979px) {
  #business .box {
    width: 100%;
    margin-top: 7.5em;
  }
}
#business .box.re .image {
  margin-left: auto;
}
#business .box.re .txtBox {
  left: 10rem;
}
#business .box.re .txtBox h2 {
  text-align: right;
}
#business .box .image {
  display: block;
  width: 67.5vw;
  height: 38vw;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
@media screen and (max-width: 979px) {
  #business .box .image {
    width: 100%;
    padding-top: 60%;
  }
}
#business .box .txtBox {
  width: 35.7142857143vw;
  padding: 4em 2.5em;
  background: #fff;
  position: absolute;
  right: 10rem;
  bottom: 0;
  z-index: 2;
}
@media screen and (max-width: 979px) {
  #business .box .txtBox {
    max-width: 100%;
    width: 100%;
    padding: 0 2em 3em;
    position: static;
  }
}
#business .box .txtBox p {
  line-height: 2;
  margin: -0.5em 0;
}
#business .box2 {
  display: flex;
  justify-content: space-between;
  width: calc(100% - 4em);
  max-width: 980px;
  margin: 4em auto 0;
  position: relative;
}
@media screen and (max-width: 979px) {
  #business .box2 {
    flex-direction: column;
  }
}
#business .box2 .more {
  margin-top: 1.5rem;
}
#business .box2 .more a {
  display: block;
  background: url("../img/arw.svg") center left/0.25rem no-repeat;
  padding-left: 1rem;
}
#business .box2 .list {
  width: calc(100% - 27.25em);
}
@media screen and (max-width: 979px) {
  #business .box2 .list {
    width: 100%;
  }
}
#business .box2 .list ul li:first-child a {
  border-top: 1px solid rgba(53, 53, 53, 0.2);
}
#business .box2 .list ul li a {
  display: flex;
  width: 100%;
  padding: 1.25rem 3rem 1.25rem 0;
  background: url("../img/arw.svg") center right 1rem/0.25rem no-repeat;
  border-bottom: 1px solid rgba(53, 53, 53, 0.2);
}
#business .box2 .list ul li a span {
  display: block;
  line-height: 1.5;
  white-space: nowrap;
}
#business .box2 .list ul li a span.date {
  width: 6.5em;
}
#business .box2 .list ul li a span.area {
  width: 9em;
}
#business .box2 .list ul li a span.title {
  width: calc(100% - 15.5em);
  white-space: normal;
  margin-right: 0;
}
#business .box2 .img {
  display: block;
  width: 22.25rem;
  height: 14.8333333333rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
@media screen and (max-width: 979px) {
  #business .box2 .img {
    width: 100%;
    height: auto;
    padding-top: 66.6666666667%;
    margin: 0 auto 2.5em;
  }
}
#business .box2 .img h3 {
  position: absolute;
  top: -1rem;
  left: 1.5rem;
  z-index: 2;
}
#business .box2 .img .detail {
  max-width: calc(100% - 6rem);
  text-align: right;
  padding: 1rem 0 0 1rem;
  background: #fff;
}
#business .box2 .img .detail p {
  line-height: 1.5;
}
#business .box2 .img .detail p:first-child {
  font-size: 0.75rem;
}

#interview .header .ancestor {
  color: #222;
  padding: 7.5rem 0 12rem;
  position: relative;
}
#interview .header .ancestor::after {
  width: 100%;
  height: 1.75rem;
  content: "";
  background: url("../img/recruit.svg") center/contain no-repeat;
  position: absolute;
  left: 0;
  top: 5rem;
}
#interview .footer {
  margin: 0;
}
#interview .contents {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 979px) {
  #interview .contents {
    padding: 0;
  }
}
@media screen and (max-width: 979px) {
  #interview .contents .post {
    padding: 0 2rem;
  }
}
#interview .contents .post h3 {
  margin: 5rem 0 0 !important;
}
#interview .contents .box {
  width: 100%;
  max-width: 1050px;
  margin: -7.5em auto 0;
  display: flex;
  background: #FFF;
  position: relative;
}
@media screen and (max-width: 979px) {
  #interview .contents .box {
    flex-direction: column;
  }
}
#interview .contents .box h2 {
  color: transparent;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 10rem;
  font-weight: normal;
  text-stroke: 2px #3e5e82;
  -webkit-text-stroke: 2px #3e5e82;
  position: absolute;
  top: -3.5rem;
  left: 2.5rem;
  z-index: 2;
}
@media screen and (max-width: 979px) {
  #interview .contents .box h2 {
    font-size: 7.5rem;
    right: 2rem;
    top: -2rem;
    text-stroke: 1px #3e5e82;
    -webkit-text-stroke: 1px #3e5e82;
  }
}
#interview .contents .box h2 span {
  display: block;
  font-size: 2.25rem;
  padding: 0.5rem 0 0;
}
@media screen and (max-width: 979px) {
  #interview .contents .box h2 span {
    font-size: 1.75rem;
  }
}
#interview .contents .box .image {
  width: 56.6666666667%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
@media screen and (max-width: 979px) {
  #interview .contents .box .image {
    width: 100%;
    padding-top: 60%;
    order: 1;
  }
}
#interview .contents .box .txtBox {
  width: 43.3333333333%;
  position: relative;
  padding: 16em 2.5em 6.25em;
}
@media screen and (max-width: 979px) {
  #interview .contents .box .txtBox {
    width: 100%;
    padding: 3em 2em 2.5em;
    order: 2;
  }
}
#interview .contents .box .txtBox dt {
  min-width: 26rem;
  color: #3e5e82;
  font-weight: 900;
  font-size: 2rem;
  line-height: 2;
  position: absolute;
  left: -4rem;
  top: 6rem;
  z-index: 2;
}
@media screen and (max-width: 979px) {
  #interview .contents .box .txtBox dt {
    min-width: inherit;
    font-size: 1.5rem;
    margin: -0.5em 0 calc(2.5rem - 0.5em);
    position: static;
  }
}
#interview .contents .box .txtBox dt span {
  display: inline;
  background: #FFF;
  padding-left: 0.25rem;
}
#interview .contents .box .txtBox dt::before {
  width: 2.5rem;
  height: 2rem;
  content: "";
  background: url("../img/s.svg") center/contain no-repeat;
  position: absolute;
  left: -2.75rem;
  top: -1.5rem;
}
@media screen and (max-width: 979px) {
  #interview .contents .box .txtBox dt::before {
    display: none;
  }
}
#interview .contents .box .txtBox dt::after {
  width: 2.5rem;
  height: 2rem;
  content: "";
  background: url("../img/e.svg") center/contain no-repeat;
  position: absolute;
  right: -2.25rem;
  bottom: -1.25rem;
}
@media screen and (max-width: 979px) {
  #interview .contents .box .txtBox dt::after {
    display: none;
  }
}
#interview .contents .box .txtBox dd {
  letter-spacing: 0.2em;
}
#interview .contents .box .txtBox dd strong {
  letter-spacing: 0.4em;
  font-weight: normal;
  font-size: 1.5rem;
  margin: 1rem 0 0;
}
@media screen and (max-width: 979px) {
  #interview .contents .box .txtBox dd strong {
    font-size: 1.25rem;
  }
}
#interview .contents .img1 {
  width: 100%;
  max-width: 910px;
  height: 30rem;
  margin: 5em auto 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 979px) {
  #interview .contents .img1 {
    height: 60vw;
  }
}
#interview .contents .img2 {
  width: 100%;
  height: 33.1428571429vw;
  margin: 5em 0 0;
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 979px) {
  #interview .contents .img2 {
    height: 60vw;
    background-attachment: scroll;
  }
}
#interview .contents .bg {
  padding-bottom: 7.5em;
  background: rgba(62, 94, 130, 0.1);
}
#interview .contents .bg .post p {
  color: #3e5e82;
}

#recruit .interviewBox, #recruit #index #b, #index #recruit #b {
  background: rgba(62, 94, 130, 0.1);
  margin: 5em 0 0;
  padding: 5em 0;
}
#recruit .footer {
  margin-top: 0;
}

@media screen and (min-width: 980px) {
  .pcNone {
    display: none !important;
  }
  html {
    width: 100%;
    height: 100%;
    font-size: 14px;
  }
  body {
    width: 100%;
    height: 100%;
    font-size: 1rem;
  }
  img {
    display: block;
    height: auto;
  }
}
@media screen and (min-width: 980px) and (max-width: 1200px) {
  .header .news {
    min-width: inherit;
    background: rgba(62, 94, 130, 0.1);
    position: relative;
  }
}
@media screen and (max-width: 979px) {
  .spNone {
    display: none !important;
  }
  html {
    width: 100%;
    height: 100%;
    font-size: 12px;
  }
  body {
    width: 100%;
    height: 100%;
    font-size: 1rem;
    overflow-x: hidden;
  }
  img {
    display: block;
    max-width: 100%;
    width: auto;
  }
  .header .menu {
    width: 2.5rem;
    height: 2.5rem;
    position: fixed;
    right: 2em;
    top: 1.25em;
    cursor: pointer;
    z-index: 99;
  }
  .header .menu span {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    position: absolute;
    left: 0;
    background: #3e5e82;
    transition: 0.5s;
  }
  .header .menu .span {
    top: calc(50% - 0.5rem);
  }
  .header .menu .span2 {
    opacity: 0;
    top: calc(50% - 1px);
  }
  .header .menu .span3 {
    bottom: calc(50% - 0.5rem);
  }
  .header .menu.open span {
    background: #FFF;
  }
  .header .menu.open .span {
    top: calc(50% - 1px);
    transform: rotate(45deg);
  }
  .header .menu.open .span2 {
    opacity: 0;
  }
  .header .menu.open .span3 {
    bottom: calc(50% - 1px);
    transform: rotate(-45deg);
  }
  .header nav {
    color: #FFF;
    width: 100%;
    height: 100vh;
    background: rgba(62, 94, 130, 0.95);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 11;
    transition: 0.375s;
    opacity: 0;
    visibility: hidden;
  }
  .header nav.show {
    opacity: 1;
    visibility: visible;
  }
  .header nav .inner {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(calc(-50% + 1rem));
  }
  .header nav .inner.show .nav {
    transform: translateY(0);
    opacity: 1;
  }
  .header nav .inner .nav {
    flex-direction: column;
    width: calc(100% - 7.5rem);
    max-width: 15rem;
    margin: 0 auto;
    padding: 0;
    transition: 0.375s;
    transform: translateY(1.5rem);
    opacity: 0;
  }
  .header nav .inner .nav li {
    border-bottom: 2px solid rgba(255, 255, 255, 0.2);
    border-radius: 2px;
    margin: 0;
  }
  .header nav .inner .nav li:last-child {
    border: none;
  }
  .header nav .inner .nav li a {
    font-size: 1.25rem;
  }
}/*# sourceMappingURL=layout.css.map */