@charset "UTF-8";
/******** media query ********/
/* Header responsive */
@media (max-width: 750px) {
  .site-header {
    position: fixed;
  }

  .site-header__inner {
    padding: 0 20px;
    height: 60px;
  }

  .site-header__logo img {
    height: 28px;
  }

  .site-header__btn {
    font-size: 18px;
    padding: 6px 24px;
  }

  .site-header__btn-pc {
    display: none;
  }

  .mv-wrapper {
    margin-top: 80px;
  }
}

@media (max-width: 500px) {
  .site-header__inner {
    padding: 0 16px;
    height: 64px;
  }

  .site-header__logo img {
    height: 28px;
  }

  .site-header__btn {
    font-size: 17px;
    padding: 5px 20px;
    letter-spacing: 0;
  }

  /* iPhone SE (375px) 向け調整 */
}

@media (max-width: 500px) and (max-width: 400px) {
  .site-header__inner {
    padding: 0 10px;
  }
}

@media (max-width: 500px) {
  /* 350px以下の極小画面向けのみ最小限の調整 */
}

@media (max-width: 500px) and (max-width: 350px) {
  .site-header__inner {
    padding: 0 10px;
  }

  .site-header__logo img {
    height: 24px;
  }

  .site-header__btn {
    font-size: 15px;
    padding: 6px 12px;
  }
}

@media (max-width: 500px) {
  .mv-wrapper {
    margin-top: 80px;
  }
}

@media (min-width: 1400px) {
  .mv-wrapper .mv {
    max-width: 1200px;
  }

  .mv-wrapper .mv br {
    display: contents;
  }
}

@media (max-width: 1200px) {
  .reason-wrapper:after {
    content: "";
    position: absolute;
    top: 500px;
    right: 0px;
    width: 200px;
    height: 300px;
    background-image: url(../img/reason/circle-right.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }

  .jobs-wrapper .job {
    gap: 20px;
  }

  .jobs-wrapper .job .job-item {
    max-width: 260px;
  }
}

@media (max-width: 1000px) {
  .reason-wrapper {
    padding: 50px 10px;
  }

  .gray-bg,
  .white-bg {
    padding: 60px;
  }

  .voice {
    margin: 60px;
  }

  .job {
    gap: 20px;
  }

  .job a {
    width: calc(33% - 20px);
  }

  .job a .job-item {
    width: 100%;
  }
}

@media (max-width: 900px) {
  h5 {
    font-size: 40px;
  }

  .voice {
    margin: 40px;
  }

  .voice .voice-wrapper .voice-item-right .voice-item-title {
    flex-direction: column;
  }

  .voice .voice-wrapper .voice-item-right .voice-item-title .voice-item-title-right {
    flex-direction: column;
  }

  .voice .voice-wrapper .voice-item {
    padding: 10px 0px;
  }

  .gray-bg,
  .white-bg,
  .blue-bg {
    padding: 60px 40px;
  }

  .reason-wrapper {
    padding: 28px 28px 1px 28px;
    margin-bottom: 30px;
    border-radius: 20px;
  }

  .reason-wrapper h5 b {
    font-size: 41px;
  }

  .reason-wrapper .reason {
    margin-bottom: 40px;
  }
}

@media (max-width: 750px) {
  .sp {
    display: block;
  }

  .pc {
    display: none;
  }

  .btn {
    width: 87%;
    min-width: 430px;
  }

  h5 {
    margin-bottom: 20px;
  }

  .mv-wrapper .mv::before {
    width: 130px;
    height: 130px;
  }

  .mv-wrapper .btn:after {
    content: none;
  }

  .mv-wrapper h2 {
    font-size: 50px;
  }

  .mv-wrapper h3 {
    font-size: 41px;
  }

  .mv-wrapper p {
    margin-bottom: 0px;
  }

  .job-section {
    padding: 0px 0px 50px 0px;
  }

  br.block-750 {
    display: block;
  }

  .reason-wrapper h5 span.reason-title-top {
    font-size: 27px;
  }

  .reason-wrapper .reason {
    padding: 30px;
  }

  .reason-wrapper .reason .reason-title img {
    top: -35px;
    width: 24vw;
  }

  .reason-wrapper .reason .reason-title h6 {
    font-size: 21px;
  }

  .reason-wrapper .reason .reason-even img {
    left: 0px;
  }

  .flow-wrapper .flow {
    padding: 20px 20px 20px 44px;
  }

  .jobs-wrapper .job a {
    width: calc(50% - 20px);
  }

  .jobs-wrapper .job a:last-of-type {
    display: none;
  }

  .jobs-wrapper h5 {
    margin-bottom: 50px;
    left: 0px;
  }

  .jobs-wrapper h5 img {
    width: 70px;
  }

  .jobs-wrapper h5 .jobs-title {
    display: block;
  }

  .jobs-wrapper h5 span {
    line-height: 70%;
    display: block;
  }

  .jobs-wrapper h7 {
    font-size: 23px;
  }

  .voice .voice-wrapper .voice-item-right {
    float: none;
    width: 100%;
    padding: 30px;
  }

  .voice .voice-wrapper .voice-item-right .voice-item-title {
    display: flex;
    flex-direction: row;
    width: 100%;
    align-items: center;
    gap: 20px;
  }

  .voice .voice-wrapper .voice-item-right .voice-item-title .voice-item-title-right {
    display: flex;
    flex-direction: column;
  }

  .voice .voice-wrapper .voice-item-right .voice-item-title .voice-item-title-right b {
    line-height: 120%;
    margin-bottom: 10px;
    font-size: 20px;
  }

  .voice .voice-wrapper .voice-item img {
    position: relative;
    transform: none;
    top: 0px;
    width: 120px;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 30px;
  }

  .question-wrapper .question .answer {
    margin-bottom: 0px;
  }

  .question-wrapper .question::after {
    top: 19px;
  }

  .register h5 {
    font-size: 35px;
  }

  .register h5 .register-icon {
    width: 73px;
  }

  .register form dl {
    gap: 15px;
  }
}

@media (max-width: 500px) {

  /* 全体の余白調整 */
  .gray-bg,
  .white-bg,
  .blue-bg {
    padding: 40px 20px;
  }

  p {
    font-size: 15px !important;
    line-height: 160%;
  }

  h5 img {
    width: 60px;
  }

  .btn {
    width: 90%;
    min-width: initial;
  }

  /* MV周り */
  .mv-wrapper {
    margin: 80px 0px 60px;
  }

  .mv-wrapper .mv {
    padding-top: 30px;
  }

  .mv-wrapper .mv:after {
    bottom: 66px;
    right: 0px;
    width: 20px;
  }

  .mv-wrapper .mv:before {
    left: -86px;
  }

  .mv-wrapper h2 {
    font-size: 36px;
  }

  .mv-wrapper h3 {
    font-size: 26px;
  }

  .mv-wrapper {
    /* 背景装飾の調整 */
  }

  .mv-wrapper:before {
    width: 250px;
    height: 250px;
    top: -80px;
    left: 50%;
    transform: translateX(-50%);
  }

  .mv-wrapper .btn:after {
    right: 0px;
  }

  /* ボタン */
  .btn {
    font-size: 20px;
    padding: 15px;
  }

  .btn span {
    font-size: 14px;
    padding: 4px 6px;
  }

  /* 見出し */
  h5 {
    font-size: 28px;
    margin-bottom: 20px !important;
    left: 0px;
  }

  br.block-500 {
    display: block;
  }

  /* newsセクション */
  .new-wrapper {
    margin: 60px auto 0px;
  }

  .new-wrapper .new-title {
    font-size: 26px;
    margin-top: 90px;
  }

  .new-wrapper .job-section {
    padding: 0px 0px 30px 0px;
  }

  .new-wrapper .jobs-swiper .swiper-wrapper {
    margin-left: 20px;
  }

  .new-wrapper .custom-pagination {
    margin-bottom: 0px;
    position: relative;
    z-index: 10;
  }

  .new-wrapper .custom-pagination .bullet.active {
    background: #3a76d8;
  }

  /* Reasonセクション */
  .reason-wrapper {
    margin: 60px auto 30px;
    padding: 30px 0px 20px;
  }

  .reason-wrapper .reason-title {
    flex-direction: column;
    text-align: center;
  }

  .reason-wrapper .reason-title img {
    top: -20px;
    width: 120px;
    margin-top: 10px;
  }

  .reason-wrapper h5 b {
    font-size: 30px;
  }

  .reason-wrapper h5 span.reason-title-top:before {
    left: -80px;
  }

  .reason-wrapper h5 span.reason-title-top {
    font-size: 18px;
    position: relative;
    right: -20px;
  }

  .reason-wrapper h5 span.span02:after {
    left: -210px;
  }

  .reason-wrapper .reason {
    padding: 20px;
    border-radius: 20px;
    margin-bottom: 20px;
  }

  .reason-wrapper .reason .reason-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .reason-wrapper .reason .reason-title h6 {
    font-size: 20px;
  }

  .reason-wrapper .reason .reason-title img {
    position: relative;
    top: 0px;
    width: 130px;
  }

  .reason-wrapper .reason p {
    font-size: 14px;
  }

  .reason-wrapper .reason p b {
    padding: 0px 1px;
  }

  /* Flowセクション */
  .flow-wrapper {
    width: calc(100% - 10px);
  }

  .flow-wrapper h5 {
    margin-bottom: 20px;
  }

  .flow-wrapper h5 img {
    width: 54px;
    height: 79px;
  }

  .flow-wrapper .flow {
    padding: 20px 20px 20px 40px;
  }

  .flow-wrapper .flow:last-child {
    margin-bottom: 0px;
  }

  .flow-wrapper .flow .flow-number {
    width: 50px;
    height: 50px;
    font-size: 26px;
    left: -18px;
  }

  .flow-wrapper .flow b {
    font-size: 20px;
  }

  /* Voiceセクション */
  .voice {
    overflow: hidden;
    margin: 30px 10px;
  }

  .voice h5 {
    margin-bottom: 20px;
  }

  .voice .voice-wrapper .voice-item-right {
    float: none;
    width: 90%;
    padding: 20px;
    margin: 10px auto;
    line-height: 160%;
  }

  .voice .voice-wrapper .voice-item-right .voice-item-title {
    gap: 10px;
    display: flex;
    text-align: center;
    flex-direction: column;
    position: relative;
    top: -40px;
    margin-bottom: -40px;
  }

  .voice .voice-wrapper .voice-item-right .voice-item-title .voice-item-title-right b {
    font-size: 18px;
    margin-bottom: 4px;
  }

  .voice .voice-wrapper .voice-item-right p {
    font-size: 14px !important;
    line-height: 160%;
  }

  .voice .voice-wrapper .voice-item img {
    width: 130px;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    border-bottom-left-radius: 2px;
    border-bottom-right-radius: 20px;
  }

  /* Job Swiper Mobile Reset */
  .jobs-swiper {
    margin-left: 0px !important;
    width: 100% !important;
    box-sizing: border-box;
    padding: 0px 0 40px 0 !important;
  }

  .jobs-swiper .swiper-slide {
    width: 220px !important;
  }

  .jobs-swiper .swiper-pagination {
    width: 100% !important;
    text-align: center;
    left: 0 !important;
    right: 0 !important;
    margin: 30px auto 0 !important;
  }

  .jobs-swiper .job-item:hover {
    transform: none !important;
  }

  /* Job Item Box Mobile */
  .job-item-box h4 {
    font-size: 15px;
    height: 43px;
    /* 15px * 1.2 * 3 lines */
    line-height: 1.2;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
  }

  /* Jobセクション (リスト表示) */
  .jobs-wrapper h5 img {
    width: 50px;
  }

  .jobs-wrapper .jobs-title {
    display: block;
    margin-bottom: 30px;
  }

  .jobs-wrapper .job {
    gap: 10px;
    width: 100%;
    max-width: none;
    justify-content: center;
  }

  .jobs-wrapper .job a {
    width: calc(50% - 5px);
  }

  .jobs-wrapper .job a:nth-of-type(n + 7) {
    display: none;
  }

  .jobs-wrapper .job .job-item {
    max-width: 220px;
    margin: 0 auto;
    border-radius: 14px;
  }

  .jobs-wrapper .job .job-item:hover {
    transform: none;
  }

  .jobs-wrapper .job .job-item ul li.job-item-box-price {
    font-size: 13px;
  }

  .jobs-wrapper h6 {
    font-size: 28px;
  }

  .jobs-wrapper h7 {
    font-size: 20px;
  }

  .question-wrapper .question {
    font-size: 15px;
    margin-bottom: 15px;
    padding: 15px 0px 15px 25px;
    line-height: 120%;
  }

  .question-wrapper .question::before {
    left: 13px;
    top: 15px;
    font-size: 16px;
  }

  .question-wrapper .question::after {
    right: 10px;
    top: 15px;
    width: 16px;
    height: 16px;
  }

  .question-wrapper .question b {
    padding-left: 10px;
    display: block;
    padding-right: 36px;
  }

  .question-wrapper .question .answer {
    width: 100%;
    position: relative;
    left: -11px;
    padding: 0px;
    margin-bottom: 0px;
  }

  .question-wrapper .question p {
    font-size: 14px !important;
    margin: 10px 10px 0 10px;
    margin: 10px 10px 0 10px;
  }

  /* フォーム周り */
  .register form {
    margin-top: 30px;
    gap: 30px;
  }

  .register form dl {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .register form dl dt {
    width: 100%;
    font-size: 16px;
  }

  .register form dl dd {
    width: 100%;
    gap: 15px;
  }

  .register form dl dd .input-wrap .input-tooltip.show {
    top: -2px;
    box-shadow: 0px 3px 8px rgb(244, 209, 209);
  }

  .register form dl dd input {
    font-size: 16px;
    /* iOS zoom防止 */
  }

  .register h5 {
    font-size: 31px;
  }

  .register h5 .register-icon {
    width: 53px;
    position: relative;
    right: -8px;
  }

  .modal__content {
    padding: 16px;
  }

  .modal__content .modal__section {
    padding-top: 0px;
    margin-bottom: 13px;
  }

  .modal__content .policy-text {
    height: 140px;
  }

  .modal__content .policy-text p {
    font-size: 12px !important;
  }

  .modal__content .policy-text .olicy-heading {
    font-size: 14px;
    margin-bottom: 7px;
  }

  .modal__content .terms-inner {
    font-size: 12px !important;
  }

  /* Footer */
  footer ul {
    flex-wrap: wrap;
    gap: 10px;
    width: 320px;
    padding-left: 30px;
  }

  footer ul li {
    font-size: 12px;
    width: 140px;
    text-align: left;
  }

  footer p {
    font-size: 11px !important;
    margin-bottom: 10px;
  }
}

@media (max-width: 380px) {
  .job-item-box {
    padding: 9px;
  }

  .job-item-box h4 {
    font-size: 15px;
  }
}