@charset "UTF-8";
@media print, screen and (max-width: 1366px) {
  html {
    font-size: 0.7320644217vw;
  }
}
@media print, screen and (max-width: 1023px) {
  .pagetop-body a {
    bottom: 108px;
    right: 20px;
  }
  .header-bodyBottom {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 10;
  }
  .header-menu {
    justify-content: center;
    flex-direction: column;
    gap: 0;
    width: 100%;
    max-width: none;
    height: calc(100vh - 64px);
    margin: 0 auto;
    padding: 0;
    background-color: rgba(102, 171, 51, 0.9);
    position: fixed;
    bottom: 64px;
    left: 0;
    right: 0;
    transform: translateY(100%);
    transition: 0.3s;
  }
  .header-menu--active {
    transform: translateY(0);
  }
  .header-menu__item {
    width: 100%;
    height: 48px;
    padding: 0;
    font-size: 16px;
  }
  .header-menu__item:hover {
    color: #FFF;
  }
  .header-menu__close {
    display: block;
    width: 48px;
    height: 56px;
    margin: 64px auto 0;
    padding: 44px 0 0;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
    color: #FFF;
    position: relative;
  }
  .header-menu__close span {
    width: 48px;
    height: 2px;
    margin: 0 auto;
    background-color: #FFF;
    position: absolute;
    top: 18px;
    left: 0;
    right: 0;
  }
  .header-menu__close span:first-of-type {
    transform: rotate(45deg);
  }
  .header-menu__close span:last-of-type {
    transform: rotate(-45deg);
  }
  .header-menuBtn {
    display: block;
    min-width: 64px;
    height: 64px;
    padding: 12px 0 0;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
    color: #FFF;
    background-color: #000;
    border: solid 1px #FFF;
    border-right: none;
    position: relative;
  }
  .header-menuBtn span {
    display: block;
    width: 0;
    height: 0;
    margin: 0 auto 8px;
    border-top: none;
    border-left: solid 8px transparent;
    border-right: solid 8px transparent;
    border-bottom: solid 10px #FFF;
  }
  .header-briefing {
    width: calc(100% - 64px);
    min-width: auto;
    height: 127px;
    margin: 0;
    padding: 0;
    font-size: 16px;
    line-height: 1.3;
    text-align: left;
    border: solid 1px #FFF;
  }
  .header-briefing__btn {
    display: flex;
    justify-content: center;
  }
  .header-briefing__btn > a {
    font-size: 1.2rem;
  }
  .header-contact {
    width: calc(100% - 64px);
    min-width: auto;
    height: 64px;
    margin: 0;
    padding: 0;
    font-size: 16px;
    line-height: 1.3;
    text-align: left;
    border: solid 1px #FFF;
  }
  .header-contact::before, .header-contact::after {
    width: 20px;
    height: 20px;
    top: calc(50% - 10px);
    left: auto;
    right: 40px;
  }
  .header-contact::after {
    content: none;
  }
  .header-contact:hover {
    color: #FFF;
    background-color: #C30D23;
    border: solid 1px #FFF;
  }
  .header-contact:hover::before {
    opacity: 1;
  }
  .footer {
    margin: 0 0 64px;
  }
  .main {
    -webkit-background-size: 98px 109px;
    background-size: 98px 109px;
  }
  .main-btn {
    max-width: 288px;
  }
  .main-btn:hover img {
    opacity: 1;
  }
  .main-btn:hover::before {
    opacity: 0;
  }
  .main-bnr {
    max-width: 288px;
    height: 140px;
  }
  .main-bnr::before {
    background-image: url("images/btn_campaign_sp_hover.webp");
  }
  .main-keyimg {
    height: 600px;
    padding: 10px 0 0;
  }
  .main-keyimg__body {
    max-width: 360px;
  }
  .main-keyimg__logo {
    max-width: 266px;
  }
  .main-keyimg__info {
    margin: 30px 0 0;
  }
  .main-keyimg__info__man {
    right: -52px;
  }
  .main-keyimg__info__man__body {
    width: 207px;
    height: 328px;
  }
  .main-keyimg__info__man__human {
    width: 183px;
    height: 256px;
  }
  .main-keyimg__info__man__txt {
    width: 87px;
    height: 130px;
  }
  .main-keyimg__info__woman {
    left: -54px;
  }
  .main-keyimg__info__woman__body {
    width: 282px;
    height: 320px;
  }
  .main-keyimg__info__woman__human {
    width: 282px;
    height: 262px;
  }
  .main-keyimg__info__woman__txt {
    width: 95px;
    height: 132px;
    right: 36px;
  }
  .main-keyimg__info__txtbox {
    top: 180px;
  }
  .main-keyimg__info__txt01 img {
    width: 280px;
  }
  .main-keyimg__info__txt02, .main-keyimg__info__txt03 {
    font-size: 20px;
  }
  .main-keyimg__info__txt02 {
    width: 210px;
    margin: 8px auto 0;
  }
  .main-keyimg__info__txt03 {
    width: 210px;
    margin: 4px auto 0;
  }
  .main-problem {
    padding: 24px 16px 7.0381231672vw;
  }
  .main-problem::before {
    -webkit-background-size: 98px 109px;
    background-size: 98px 109px;
  }
  .main-problem__body {
    padding: 48px 0;
  }
  .main-problem__deco02 {
    display: none;
  }
  .main-problem__txt {
    width: 312px;
    font-size: 24px;
  }
  .main-problem__list {
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 32px;
  }
  .main-problem__item {
    width: 260px;
    font-size: 16px;
  }
  .main-problem__item:first-of-type {
    animation-delay: 0s;
  }
  .main-problem__item:nth-child(2) {
    animation-delay: 0s;
  }
  .main-problem__item:nth-child(3) {
    animation-delay: 0s;
  }
  .main-problem__item:nth-child(4) {
    animation-delay: 0s;
  }
  .main-problem__item:nth-child(2n+1) {
    width: 260px;
  }
  .main-solution {
    padding: 16px 16px 48px;
  }
  .main-solution__title {
    font-size: 32px;
  }
  .main-solution__title img {
    width: 284px;
    margin: 8px 8px 8px 0;
  }
  .main-solution__body {
    padding: 24px 16px;
  }
  .main-solution__txt01 {
    font-size: 32px;
  }
  .main-solution__txt02 {
    font-size: 16px;
    line-height: 1.75;
  }
  .main-solution__txt03 {
    font-size: 24px;
  }
  .main-solution__model__item {
    font-size: 20px;
  }
  .main-image {
    padding: 48px 16px 0;
  }
  .main-image__title {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 922px;
    height: 86px;
    margin: 0 auto;
    font-size: 40px;
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
    color: #FFF;
    background-color: #8FC31F;
    position: relative;
  }
  .main-image__title::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin: 0 auto;
    border-top: solid 20px #8FC31F;
    border-left: solid 16px transparent;
    border-right: solid 16px transparent;
    border-bottom: none;
    position: absolute;
    bottom: -18px;
    left: 0;
    right: 0;
  }
  .main-image__flow {
    max-width: 922px;
    margin: 32px auto 0;
  }
  .main-merit {
    margin: 80px 0 0;
    padding: 72px 16px 0;
  }
  .main-merit__list {
    align-items: center;
    flex-direction: column;
    gap: 48px;
  }
  .main-merit__item {
    width: 100%;
    max-width: 256px;
  }
  .main-merit__item:nth-child(2) {
    width: 100%;
  }
  .main-point {
    margin: 80px 0 0;
    padding: 32px 0 0;
  }
  .main-point__title {
    width: 100%;
    max-width: 328px;
    font-size: 32px;
  }
  .main-point__title img {
    width: 174px;
    margin: 0 2px 12px 0;
  }
  .main-point__title .clr {
    font-size: 40px;
  }
  .main-point__title .fsb {
    font-size: 40px;
  }
  .main-point__title::before, .main-point__title::after {
    width: 68px;
  }
  .main-point__title::before {
    top: 56px;
    left: -12px;
  }
  .main-point__title::after {
    top: 56px;
    right: -4px;
  }
  .main-point__subTitle {
    font-size: 28px;
  }
  .main-point__item01__body {
    padding: 16px 20px 40px;
  }
  .main-point__item01__image {
    padding: 0 0 48px;
  }
  .main-point__item02 {
    margin: 96px auto 0;
  }
  .main-point__item02__body {
    padding: 16px 20px 80px;
  }
  .main-point__item02__dm {
    padding: 64px 20px 56px;
  }
  .main-point__item02__dm__title {
    width: 192px;
    font-size: 32px;
    line-height: 1;
  }
  .main-point__item02__dm__title .marker {
    margin: 6px 0 0;
    padding: 6px 0 4px;
  }
  .main-point__item02__dm__sample {
    justify-content: center;
    flex-wrap: wrap;
    gap: 48px 16px;
  }
  .main-point__item02__dm__item {
    width: 100%;
    max-width: 400px;
  }
  .main-point__item02__modal.modal01 {
    top: 0;
    left: 45.8333333333%;
  }
  .main-point__item02__modal.modal02 {
    top: 29.6015180266%;
    left: 5px;
  }
  .main-point__item02__modal.modal03 {
    top: 56.9259962049%;
    left: 0;
  }
  .main-point__item02__modal.modal04 {
    top: 81.5939278937%;
    right: 22.2222222222%;
  }
  .main-point__item02__modal.modal05 {
    top: 0;
    right: 37.1527777778%;
  }
  .main-point__item02__modal.modal06 {
    top: 15.1802656546%;
    right: 0;
  }
  .main-point__item02__modal.modal07 {
    top: 49.9051233397%;
    right: 5px;
  }
  .main-point__item02__modal.modal08 {
    top: 76.8500948767%;
    right: 39.2361111111%;
  }
  .main-point__item02__modal__body {
    padding: 24px 16px 48px;
  }
  .main-point__item02__modal__main {
    width: 100%;
    max-width: 560px;
    padding: 16px;
  }
  .main-point__item02__que {
    margin: 64px auto 0;
  }
  .main-point__item02__que__inner {
    padding: 24px 16px;
  }
  .main-point__item02__que__title {
    font-size: 24px;
  }
  .main-point__item02__que__main {
    align-items: center;
    flex-direction: column;
    gap: 96px;
    margin: 24px 0 0;
  }
  .main-point__item02__que__txt {
    width: 100%;
  }
  .main-point__item02__que__graph {
    width: 100%;
  }
  .main-point__item02__que__graph .balloon {
    right: -36px;
  }
  .main-point__item02__bottomTxt {
    padding: 0 16px;
  }
  .main-point__item03__body {
    padding: 16px 16px 32px;
  }
  .main-point__item03__list {
    justify-content: center;
    flex-wrap: wrap;
    gap: 48px 24px;
  }
  .main-point__item03__item {
    width: 450px;
  }
  .main-point__item03__item__inner {
    min-height: auto;
  }
  .main-point__item03__bottomTxt {
    font-size: 24px;
  }
  .main-point__item03__bottomTxt .clr {
    font-size: 32px;
  }
  .main-voice {
    margin: 96px 0;
    padding: 0;
  }
  .main-voice__body {
    padding: 0 16px;
  }
  .main-voice__list {
    padding: 48px 20px;
  }
  .main-voice__item {
    align-items: center;
    flex-direction: column;
    gap: 40px;
    max-width: 800px;
    margin: 48px auto 0;
  }
  .main-voice__item__prof {
    padding: 0;
  }
  .main-voice__item__title {
    margin-bottom: 32px;
    line-height: 1.5;
  }
  .main-voice__item__txt {
    width: 100%;
    margin: 0;
    padding: 16px;
  }
  .main-voice__item__txt::before {
    margin: 0 auto;
    position: absolute;
    top: -36px;
    left: 0;
    right: 0;
    transform: rotate(90deg);
  }
  .main-voice__main {
    display: block;
    padding: 48px 16px 0;
  }
  .main-voice__info {
    max-width: 328px;
    margin: 0 auto 16px;
  }
  .main-voice__shop {
    margin: 48px 0 0;
    width: 100%;
    height: 58.1622678397vw;
  }
  .main-fee__plan {
    max-width: none;
  }
  .main-fee__plan__main {
    flex-direction: column;
    gap: 144px 0;
    margin: 32px 0 0;
  }
  .main-fee__plan__item01, .main-fee__plan__item02 {
    width: 100%;
  }
  .main-fee__plan__item01__title, .main-fee__plan__item02__title {
    width: 100%;
    max-width: 390px;
    margin: 0 auto;
  }
  .main-fee__plan__item01__inner, .main-fee__plan__item02__inner {
    padding: 24px 20px;
  }
  .main-fee__plan__item01__price, .main-fee__plan__item02__price {
    font-size: 24px;
  }
  .main-fee__plan__item01__price span, .main-fee__plan__item02__price span {
    font-size: 48px;
  }
  .main-fee__plan__item02__deco01 {
    top: -42px;
    left: 0;
  }
  .main-fee__plan__item02__deco02 {
    right: 0;
  }
  .main-fee__initial {
    max-width: 100%;
    margin: 80px auto 0;
    padding: 32px 8px;
  }
  .main-fee__initial__itemBox {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 24px;
    padding: 24px 0 0;
    border-top: solid 1px #000;
  }
  .main-fee__initial__item01__txt01, .main-fee__initial__item02__txt01 {
    font-size: 16px;
  }
  .main-fee__initial__item01__txt01::before, .main-fee__initial__item02__txt01::before {
    top: 0;
  }
  .main-fee__initial__item01__price, .main-fee__initial__item02__price {
    font-size: 24px;
  }
  .main-fee__initial__item01__price span, .main-fee__initial__item02__price span {
    font-size: 48px;
  }
  .main-fee__initial__item01 {
    margin: 20px 0 0;
  }
  .main-fee__initial__item01__txt01 {
    padding: 0 24px 0 32px;
  }
  .main-fee__initial__item02 {
    width: 100%;
  }
  .main-fee__initial__item02:first-of-type {
    padding: 0;
    border-right: none;
  }
  .main-fee__initial__item02:nth-child(2) {
    padding: 0;
  }
  .main-fee__initial__item02:nth-child(2) .main-fee__initial__item02__txt01 {
    margin: 0 auto;
  }
  .main-fee__initial__item02:nth-child(2) .main-fee__initial__item02__price {
    text-align: center;
  }
  .main-fee__initial__attention {
    padding: 16px;
  }
  .main-service__body {
    padding: 48px 16px 64px;
  }
  .main-service__table__main {
    overflow: auto;
    position: relative;
  }
  .main-service__table table {
    width: max-content;
  }
  .main-service__table__scroll {
    display: block;
    width: 200px;
    margin: 0 auto;
    position: absolute;
    top: 48px;
    left: 0;
    right: 0;
    opacity: 0;
  }
  .main-service__payment__table01__main, .main-service__payment__table02__main {
    overflow: scroll;
    overflow-y: hidden;
    position: relative;
  }
  .main-service__payment__table01 table, .main-service__payment__table02 table {
    width: max-content;
  }
  .main-service__payment__table01__scroll, .main-service__payment__table02__scroll {
    display: block;
    width: 200px;
    margin: 0 auto;
    position: absolute;
    top: 10px;
    left: 0;
    right: 0;
    opacity: 0;
    animation-delay: 1s;
  }
  .main-service__campaign__title {
    width: 190px;
    top: -40px;
  }
  .main-flow__list {
    align-items: stretch;
    flex-wrap: wrap;
    gap: 40px 8px;
  }
  .main-flow__item {
    width: calc(50% - 4px);
    padding: 24px 8px;
  }
  .main-flow__item__title {
    font-size: 20px;
  }
  .main-flow__item__title span {
    margin: 0 8px 0 0;
  }
  .main-faq {
    margin: 96px 0 0;
    padding: 0;
  }
  .main-faq__que {
    align-items: flex-start;
  }
  .main-faq__que__main {
    align-items: flex-start;
  }
  .main-faq__que__mark {
    margin: 10px 0 0;
  }
  .main-faq__que__btn {
    margin: 16px 0 0;
  }
  .main-call__body {
    padding: 22px 10px;
  }
  .main-contact__body {
    max-width: 100%;
    padding: 48px 14px;
  }
  .main-contact__txt {
    font-size: 20px;
  }
  .main-contact__method {
    display: block;
  }
  .main-contact__mail {
    width: 100%;
    padding: 48px 0 0;
    border-top: solid 1px #000;
  }
  .main-contact__mail__title {
    font-size: 20px;
  }
  .main-contact__mail__txt01 {
    font-size: 14px;
  }
  .main-contact__mail__btn {
    max-width: 328px;
  }
  .main-contact__tel {
    width: 100%;
    padding: 0 0 48px;
    border-right: none;
  }
  .main-contact__tel__title {
    font-size: 20px;
  }
  .main-contact__tel__txt01 {
    font-size: 14px;
  }
  .main-company__main {
    display: block;
    padding: 48px 16px 0;
  }
  .main-company__info {
    max-width: 328px;
    margin: 0 auto;
  }
  .main-company__info__logo {
    max-width: 326px;
  }
  .main-company__map {
    margin: 48px 0 0;
    width: 100%;
    height: 58.1622678397vw;
  }
  .scrollIcon-fadeIn {
    animation: scrollFade 4s;
  }
  @keyframes scrollFade {
    0% {
      opacity: 0;
    }
    50% {
      opacity: 1;
    }
    100% {
      opacity: 0;
    }
  }
  .bgextend {
    height: 24px;
  }
}
@media print, screen and (max-width: 768px) {
  html {
    font-size: 1.3020833333vw;
  }
  body {
    font-size: 2.8rem;
  }
  .header {
    z-index: 999;
  }
  .header-bodyTop {
    height: 10rem;
  }
  .header-logo {
    position: relative;
    z-index: 9;
  }
  .header-spBtn {
    display: block;
    max-height: 100%;
    width: auto;
    z-index: 999;
    border: solid 1px #a0cc5b;
    border-radius: 10px;
  }
  .header-nav {
    display: none;
    width: 100%;
    background-color: #FFF;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    transition: all 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  }
  .header-nav__list {
    flex-direction: column;
    justify-content: start;
    padding: 10rem 0 0;
    height: auto;
  }
  .header-nav__item {
    width: 100%;
    margin: 0;
    border-top: 1px #aaa solid;
  }
  .header-nav__item a {
    justify-content: start;
    height: 13rem;
    text-indent: 1.5em;
    position: relative;
    transition: none;
  }
  .header-nav__item a:hover {
    opacity: 1;
  }
  .header-nav__item a::after {
    position: absolute;
    right: 10px;
    content: "〉";
  }
  .header-nav__item--recruit {
    margin: 0;
  }
  .header-nav__item--recruit a {
    width: 100%;
    height: 13rem;
    color: #000;
    background-color: inherit;
  }
  .header-nav__item--contact a {
    width: 100%;
    height: 13rem;
    color: #000;
    background-color: inherit;
  }

  
  .header-bodyTop {
    display: none;
  }

  .cp_ipradio {
    padding: 20px;
  }

  .cp_ipradio td {
    display: block;
    padding: 0 !important;
  }

  .contacttable {
    padding: 14px !important;
  }

  .contacttable .must {
    width: 8%;
    text-align: center;
    white-space: nowrap;
  }

  .contacttable .must_read {
    width: auto !important;
    text-align: center;
    white-space: nowrap;
  }

  .contacttable input, .contacttable select {
    width: 80% !important;
    margin: 0 1.3% !important;
  }

  .contacttable th {
    width: 100%;
    display: block;
    padding: 25px 0 1px 0 !important;
  }

  .contacttable td {
    width: 100% !important;
    display: inline-block;
    padding: 0.8rem 0 !important;
  }

  .contact_form {
    padding: 8px !important;
    margin: 13px !important;
  }

  .radio-label {
    font-size: 3.2rem !important;
    text-align: left;
    padding: 4rem 0 4rem 15rem !important;
  }

  .cp_ipradio label:before {
    left: 3em !important;
  }
  
  .contacttable th {
    vertical-align: middle;
    font-size: 4rem !important;
  }

  .contacttable label {
    font-size: 2.4rem;
  }

  .contacttable textarea {
    width: 90% !important;
  }

  .cp_ipradio label {
    background: transparent !important;
  }

  .cp_ipradio .box {
    background-color: transparent !important;
    border: none !important;
  }

  .plan {
    margin: 0 10px !important;
  }

  .plan_table th {
    padding: 6px !important;
    font-size: 2.2rem !important;
  }

  .plan_table td {
    padding: 8px !important;
    font-size: 2.2rem !important;
  }

  .fs-large {
    font-size: 2.5rem;
  }

  .sp-margin-1 {
    margin: 0 8% !important;
  }

  .sp-padding-1 {
    padding: 0 8% !important;
  }
}

/*# sourceMappingURL=style_sp.css.map */
