@charset "UTF-8";
@font-face {
  font-family: "NotoSansJP-Bold";
  src: url(/recruit/fonts/NotoSansJP/NotoSansJP-Bold.woff) format("woff");
  font-display: swap;
}
@font-face {
  font-family: "NotoSansJP-Medium";
  src: url(/recruit/fonts/NotoSansJP/NotoSansJP-Medium.woff) format("woff");
  font-display: swap;
}
@font-face {
  font-family: "NotoSansJP-Regular";
  src: url(/recruit/fonts/NotoSansJP/NotoSansJP-Regular.woff) format("woff");
  font-display: swap;
}
/*======*/
/* 共通 */
/*======*/
/* PC/SP出し分け
-----------------------------------*/
.pc {
  display: block;
}
@media (min-width: 768px) {
  .pc {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

.sp {
  display: none;
}
@media (min-width: 768px) {
  .sp {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .sp {
    display: block !important;
  }
}

img.pc, span.pc {
  display: inline;
}
@media (min-width: 768px) {
  img.pc, span.pc {
    display: inline !important;
  }
}
@media (max-width: 767px) {
  img.pc, span.pc {
    display: none !important;
  }
}
img.sp, span.sp {
  display: none;
}
@media (min-width: 768px) {
  img.sp, span.sp {
    display: none !important;
  }
}
@media (max-width: 767px) {
  img.sp, span.sp {
    display: inline !important;
  }
}

/* 共通アニメーション
-----------------------------------*/
.animate {
  opacity: 0;
}

.fadein {
  -webkit-animation: fade-in 1s cubic-bezier(0.39, 0.575, 0.565, 1) 0.5s both;
          animation: fade-in 1s cubic-bezier(0.39, 0.575, 0.565, 1) 0.5s both;
}

.fade-in-bottom {
  -webkit-animation: fade-in-bottom 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
          animation: fade-in-bottom 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
}

.fade-in-left {
  -webkit-animation: fade-in-left 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
          animation: fade-in-left 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
}

.fade-in-right {
  -webkit-animation: fade-in-right 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
          animation: fade-in-right 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) both;
}

@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fade-in-bottom {
  0% {
    transform: translateY(50px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fade-in-bottom {
  0% {
    transform: translateY(50px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@-webkit-keyframes fade-in-left {
  0% {
    transform: translateX(-50px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes fade-in-left {
  0% {
    transform: translateX(-50px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@-webkit-keyframes fade-in-right {
  0% {
    transform: translateX(50px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes fade-in-right {
  0% {
    transform: translateX(50px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/* wrapper
-----------------------------------*/
body {
  height: 100%;
}

main {
  margin-top: 70px;
}
@media (max-width: 767px) {
  main {
    margin-top: 60px;
  }
}
main .container {
  min-height: calc(100vh - 405px);
  min-height: calc(100dvh - 405px);
}
@media (max-width: 767px) {
  main .container {
    min-height: calc(100vh - 210px);
    min-height: calc(100dvh - 210px);
  }
}

section .contents,
.section .contents {
  max-width: 1248px;
  margin: 0 auto;
  padding: 0 32px;
}
@media (max-width: 767px) {
  section .contents,
.section .contents {
    padding: 0 24px;
  }
}

/* フォーム
-----------------------------------*/
input, textarea, select {
  color: inherit;
  font-size: inherit;
  background-color: #FFF;
  border: 1px solid;
  border-radius: 0;
}
input::-moz-placeholder, textarea::-moz-placeholder, select::-moz-placeholder {
  color: #c8c8c8;
}
input::placeholder, textarea::placeholder, select::placeholder {
  color: #c8c8c8;
}

textarea {
  display: block;
  resize: vertical;
}

input[type=text],
input[type=email],
input[type=tel],
textarea {
  width: 100%;
  padding: 8px;
}

input[type=date],
select {
  max-width: 100%;
  padding: 8px;
}

/* iOSでのデフォルトスタイルをリセット */
input[type=submit],
input[type=button],
button {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  box-sizing: border-box;
  font-family: "NotoSansJP-Regular", sans-serif;
  font-weight: inherit;
  font-size: 16px;
  line-height: 1.6;
  cursor: pointer;
  padding: 0;
  background: none;
}
@media (max-width: 767px) {
  input[type=submit],
input[type=button],
button {
    font-size: 14px;
  }
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

.required {
  color: #ff0000;
}

.form-sec .mw_wp_form .error {
  color: #ff0000;
  margin-top: 8px;
}

/* タイトル
-----------------------------------*/
.heading-title {
  color: #009600;
  text-align: center;
  line-height: 1;
}
.heading-title .en {
  line-height: 1;
  margin-bottom: 12px;
}
.heading-title .en img {
  width: auto;
  height: 39px;
}
@media (max-width: 767px) {
  .heading-title .en img {
    height: 32px;
  }
}

/* ボタン
-----------------------------------*/
.com-bt01 {
  display: table;
}
.com-bt01 a, .com-bt01 button {
  color: #FFF;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: linear-gradient(90deg, #009600 0%, #00d200 50%, #00d200 50%, #009600 100%);
  background-size: 200% auto;
  background-position: right center;
  transition: 0.4s ease-out;
}
.com-bt01 a:hover, .com-bt01 button:hover {
  background-position: left center;
}
.com-bt01 a:hover img, .com-bt01 button:hover img {
  opacity: 1;
}
.com-bt01 a span, .com-bt01 a img, .com-bt01 button span, .com-bt01 button img {
  position: relative;
  z-index: 1;
}

/* インデント
-----------------------------------*/
.indent {
  margin-left: 1em;
  text-indent: -1em;
}

/* テーブル
-----------------------------------*/
/* 幅 */
col.colw05 {
  width: 5%;
}

col.colw10 {
  width: 10%;
}

col.colw15 {
  width: 15%;
}

col.colw20 {
  width: 20%;
}

col.colw25 {
  width: 25%;
}

col.colw30 {
  width: 30%;
}

col.colw35 {
  width: 35%;
}

col.colw40 {
  width: 40%;
}

col.colw45 {
  width: 45%;
}

col.colw50 {
  width: 50%;
}

col.colw55 {
  width: 55%;
}

col.colw60 {
  width: 60%;
}

col.colw65 {
  width: 65%;
}

col.colw70 {
  width: 70%;
}

col.colw75 {
  width: 75%;
}

col.colw80 {
  width: 80%;
}

col.colw85 {
  width: 85%;
}

col.colw90 {
  width: 90%;
}

col.colw95 {
  width: 95%;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}
table .nowrap {
  white-space: nowrap;
}

.com-tb01 {
  width: 100%;
}
.com-tb01 th, .com-tb01 td {
  padding: 30px 0;
  border-bottom: 1px solid #009600;
}
@media (max-width: 767px) {
  .com-tb01 th, .com-tb01 td {
    display: block;
    padding: 16px 0;
  }
}
.com-tb01 tr:first-child th, .com-tb01 tr:first-child td {
  padding-top: 0;
}
@media (max-width: 767px) {
  .com-tb01 tr:first-child td {
    padding-top: 8px;
  }
}
.com-tb01 th {
  color: #009600;
  font-family: "NotoSansJP-Medium", sans-serif;
  font-size: 22px;
  font-weight: normal;
  padding-right: 30px;
}
@media (max-width: 767px) {
  .com-tb01 th {
    font-size: 15px;
    padding: 16px 0 0;
    border-bottom: none;
  }
}
@media (max-width: 767px) {
  .com-tb01 td {
    padding-top: 8px;
  }
}

.com-tb02 {
  width: 100%;
}
.com-tb02 th, .com-tb02 td {
  display: block;
}
.com-tb02 tr:first-child th {
  padding-top: 0;
}
.com-tb02 th {
  font-family: "NotoSansJP-Medium", sans-serif;
  font-size: 20px;
  font-weight: 500;
  padding: 48px 0 16px;
}
@media (max-width: 767px) {
  .com-tb02 th {
    font-size: 15px;
    padding: 32px 0 12px;
  }
}
.com-tb02 td dt {
  font-size: 16px;
  font-weight: 500;
  padding-bottom: 16px;
}
@media (max-width: 767px) {
  .com-tb02 td dt {
    font-size: 14px;
    padding-bottom: 12px;
  }
}
.com-tb02 td dd + dt {
  margin-top: 32px;
}
@media (max-width: 767px) {
  .com-tb02 td dd + dt {
    margin-top: 20px;
  }
}
/*# sourceMappingURL=common.css.map */