.benefit {
  width: 100%;
  text-align: center; }
  .benefit .title {
    font-size: 36px;
    font-weight: bold;
    letter-spacing: 10.8px;
    color: #0f161b; }
  .benefit .discription {
    letter-spacing: 4.8px; }
    @media screen and (max-width: 499px) {
      .benefit .discription {
        font-size: 14px;
        letter-spacing: 0; } }
    .benefit .discription strong {
      color: #e82473; }
  .benefit .benefit-img {
    max-width: 1100px;
    width: 100%;
    max-height: 542px;
    margin: 120px auto 63px;
    margin-top: 50px !important; }
  .benefit .benefit-contents {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    justify-content: center; }
    @media screen and (max-width: 750px) {
      .benefit .benefit-contents {
        flex-wrap: wrap; } }
  .benefit .benefit-item {
    width: 31.4%;
    border-radius: 8px;
    padding: 40px 10px 48px; }
    @media screen and (max-width: 750px) {
      .benefit .benefit-item {
        width: 100%;
        margin: 20px auto; } }
    .benefit .benefit-item h1:before {
      content: '';
      position: absolute;
      left: 50%;
      bottom: -20px;
      display: inline-block;
      width: 30px;
      height: 5px;
      transform: translateX(-50%);
      background-color: #fff; }
    .benefit .benefit-item h1 {
      position: relative;
      font-size: 22px;
      font-weight: bold;
      letter-spacing: 3.3px;
      margin-bottom: 20px; }
    .benefit .benefit-item p {
      font-size: 14px;
      letter-spacing: 1.12px; }
  .benefit .maker {
    background: transparent linear-gradient(180deg, #44cdd8 0%, #11adba 100%) 0% 0% no-repeat padding-box; }
  .benefit .facility {
    background: transparent linear-gradient(180deg, #09acd3 0%, #008bcc 100%) 0% 0% no-repeat padding-box; }
  .benefit .employee {
    background: transparent linear-gradient(180deg, #ff5852 0%, #e82473 100%) 0% 0% no-repeat padding-box; }

.choose {
  width: 100%; }
  .choose .title {
    letter-spacing: 10.8px;
    font-size: 36px;
    text-align: center;
    font-weight: bold; }
    @media screen and (max-width: 750px) {
      .choose .title {
        font-size: 24px;
        letter-spacing: 4.8px; } }
  .choose .discription {
    letter-spacing: 4.8px;
    text-align: center; }
    @media screen and (max-width: 750px) {
      .choose .discription {
        letter-spacing: 0;
        font-size: 14px; } }
  .choose .reasons {
    max-width: 1500px;
    margin: 112px auto 0; }
    .choose .reasons .reason {
      display: flex;
      width: 86.6%; }
      @media screen and (max-width: 750px) {
        .choose .reasons .reason {
          width: 100%;
          flex-wrap: wrap; } }
      .choose .reasons .reason .main-img {
        width: 57.7%;
        max-height: 500px;
        object-fit: cover; }
        @media screen and (max-width: 750px) {
          .choose .reasons .reason .main-img {
            width: 100%; } }
      .choose .reasons .reason .comment {
        width: 42.3%;
        margin: 50px; }
        @media screen and (max-width: 750px) {
          .choose .reasons .reason .comment {
            width: 100%;
            margin: 30px; } }
        .choose .reasons .reason .comment img {
          width: 115px;
          height: 140px; }
        .choose .reasons .reason .comment p {
          margin-top: 20px;
          text-align: left;
          letter-spacing: 4.08px;
          font-size: 26px; }
          @media screen and (max-width: 750px) {
            .choose .reasons .reason .comment p {
              font-size: 22px;
              letter-spacing: 2.64px; } }
  .choose .reasons::after {
    content: "";
    display: block;
    clear: right; }

@media screen and (max-width: 499px) {
  .sp,
  .tab-max {
    display: block; }
  .pc,
  .tab {
    display: none; } }

@media screen and (min-width: 500px) and (max-width: 1000px) {
  .tab,
  .tab-max {
    display: block; }
  .pc,
  .sp {
    display: none; } }

@media screen and (min-width: 1001px) {
  .pc {
    display: block; }
  .tab,
  .tab-max,
  .sp {
    display: none; } }

.contact {
  width: 100%;
  background: transparent linear-gradient(270deg, #09acd3 0%, #008bcc 100%) 0% 0% no-repeat padding-box;
  color: white; }
  .contact h1 {
    font-size: 36px;
    font-weight: bold; }
  .contact .discription {
    letter-spacing: 4.8px; }
  .contact form {
    max-width: 650px;
    margin: 0 auto;
    letter-spacing: 2.1px;
    text-decoration: none; }
    .contact form label {
      font-size: 14px; }
    .contact form input,
    .contact form textarea {
      margin-top: 12px;
      color: #0f161b;
      width: 100%;
      border-radius: 4px;
      padding: 18px 0 18px 20px;
      outline: none; }
      .contact form input :not(textarea),
      .contact form textarea :not(textarea) {
        height: 50px; }
    .contact form .confirmation-title {
      font-size: 14px;
      letter-spacing: 2.1px; }
    .contact form .confirmation-text {
      font-size: 11px;
      letter-spacing: 1.65px; }
  .contact .contact-btn {
    background: transparent linear-gradient(270deg, #ff5852 0%, #e82473 100%) 0% 0% no-repeat padding-box;
    border-radius: 50px;
    text-align: center;
    cursor: pointer;
    color: white;
    line-height: 56px;
    width: 100%;
    letter-spacing: 3.2px; }

@media screen and (max-width: 768px) {
  .contact form {
    width: 90%; }
  .contact .discription {
    width: 80%;
    margin-left: auto;
    margin-right: auto; }
  .contact #name_wrap {
    flex-direction: column;
    margin-bottom: 0 !important; }
    .contact #name_wrap .name {
      margin-bottom: 1.75rem; } }

.facilities {
  text-align: center; }
  .facilities .title {
    max-width: 1000px;
    margin: 120px auto 0;
    display: flex; }
    .facilities .title .discription {
      width: 841px; }
      .facilities .title .discription h1 {
        font-size: 36px;
        font-weight: bold;
        letter-spacing: 10.8px; }
        @media screen and (max-width: 499px) {
          .facilities .title .discription h1 {
            font-size: 24px;
            letter-spacing: 7.2px; } }
      .facilities .title .discription p {
        margin-top: 30px;
        letter-spacing: 4.8px; }
  .facilities .discription-sp {
    font-size: 14px; }
  .facilities .companies {
    width: 100%; }
    .facilities .companies img {
      width: 10.6%;
      max-width: 200px;
      height: 180px;
      object-fit: contain;
      margin: 0 3%; }
    .facilities .companies .companies3 img {
      width: 8%; }

.flow {
  width: 100%;
  background: transparent linear-gradient(270deg, #09acd3 0%, #008bcc 100%) 0% 0% no-repeat padding-box; }
  .flow .title {
    color: white; }
    .flow .title h1 {
      font-size: 36px;
      letter-spacing: 10.8px;
      font-weight: bold; }
      @media screen and (max-width: 499px) {
        .flow .title h1 {
          font-size: 22px;
          letter-spacing: 7.2px; } }
    .flow .title p {
      letter-spacing: 4.8px; }
      @media screen and (max-width: 499px) {
        .flow .title p {
          width: 293px;
          margin: 0 auto;
          font-size: 14px;
          letter-spacing: 0; } }
  .flow .steps {
    max-width: 1100px;
    margin: 0 auto; }
    .flow .steps .step {
      background-color: white; }
      .flow .steps .step .step-left {
        width: 45%; }
        .flow .steps .step .step-left img {
          width: 100%;
          height: 350px;
          object-fit: cover; }
      .flow .steps .step .step-right {
        width: 55%; }
        .flow .steps .step .step-right h1 {
          font-size: 32px;
          line-height: 32px; }
        .flow .steps .step .step-right .number {
          font: normal normal bold 120px/24px DIN Alternate;
          color: #b9c7d0; }
        .flow .steps .step .step-right p {
          letter-spacing: 1.92px;
          font-size: 16px; }
        .flow .steps .step .step-right .step-contact {
          background: transparent linear-gradient(270deg, #ff5852 0%, #e82473 100%) 0% 0% no-repeat padding-box;
          border-radius: 50px;
          text-align: center;
          cursor: pointer;
          color: white;
          width: 61.8%;
          line-height: 50px;
          letter-spacing: 2.4px; }
  .flow .step-sp {
    padding-top: 60px; }
    .flow .step-sp .number {
      font: normal normal bold 120px/24px DIN Alternate; }
    .flow .step-sp h1 {
      font-size: 22px;
      letter-spacing: 2.64px; }
    .flow .step-sp p {
      font-size: 14px; }
    .flow .step-sp img {
      width: 100%;
      height: 264px;
      object-fit: cover; }
  .flow .step-next {
    width: 100px;
    margin: 30px auto;
    border-right: 50px solid transparent;
    border-top: 30px solid white;
    border-left: 50px solid transparent; }
    @media screen and (max-width: 499px) {
      .flow .step-next {
        width: 60px;
        margin: 20px auto 0;
        border-right: 30px solid transparent;
        border-top: 20px solid white;
        border-left: 30px solid transparent; } }
  .flow .step-btn {
    display: block;
    width: 371px;
    line-height: 50px;
    letter-spacing: 4.8px;
    background: transparent linear-gradient(270deg, #ff5852 0%, #e82473 100%) 0% 0% no-repeat padding-box;
    border-radius: 50px;
    text-align: center;
    cursor: pointer;
    color: white; }

.footer {
  width: 100%;
  background: #0f161b; }
  .footer .info p,
  .footer .info a {
    font-size: 15px; }
  .footer .icons img {
    cursor: pointer; }

.header {
  width: 100%;
  height: 70px;
  background: #0f161b;
  position: fixed;
  z-index: 1; }
  .header .header-contents {
    max-width: 1121px;
    margin: 0 auto; }
    .header .header-contents .header-left {
      cursor: pointer; }
      .header .header-contents .header-left .left-img {
        width: 177px;
        height: 70px; }
      .header .header-contents .header-left .left-img-sp {
        width: 127px;
        height: 50px;
        display: none; }
    .header .header-contents .header-right {
      color: white;
      display: flex;
      justify-content: space-around; }
      .header .header-contents .header-right .header-link {
        line-height: 70px; }
      .header .header-contents .header-right p,
      .header .header-contents .header-right a {
        letter-spacing: 2.1px;
        font-size: 14px; }
      @media screen and (max-width: 800px) {
        .header .header-contents .header-right .header-flow {
          display: none; } }
      @media screen and (max-width: 650px) {
        .header .header-contents .header-right .left-btn {
          display: none; } }
      .header .header-contents .header-right .left-btn {
        width: 189px;
        line-height: 36px;
        margin-top: 17px;
        margin-bottom: 17px;
        background: transparent linear-gradient(270deg, #09acd3 0%, #008bcc 100%) 0% 0% no-repeat padding-box;
        border-radius: 50px;
        text-align: center;
        cursor: pointer;
        color: white; }
        @media screen and (max-width: 499px) {
          .header .header-contents .header-right .left-btn {
            width: 142px;
            line-height: 30px;
            margin-top: 15px;
            margin-bottom: 15px; } }
      .header .header-contents .header-right .right-btn {
        width: 189px;
        line-height: 36px;
        margin-top: 17px;
        margin-bottom: 17px;
        background: transparent linear-gradient(270deg, #ff5852 0%, #e82473 100%) 0% 0% no-repeat padding-box;
        border-radius: 50px;
        text-align: center;
        cursor: pointer;
        color: white; }
        @media screen and (max-width: 499px) {
          .header .header-contents .header-right .right-btn {
            width: 142px;
            line-height: 30px;
            margin-top: 15px;
            margin-bottom: 15px; } }

.kv {
  width: 100%;
  height: 937px;
  object-fit: cover;
  background: url("../images/kv-pc.png") center top/cover no-repeat; }
  @media screen and (max-width: 750px) {
    .kv {
      min-height: 752px;
      height: 1157px;
      background: url("../images/kv-sp.png") center top/cover no-repeat !important; } }
  .kv .kv-messages {
    padding-top: 187px;
    text-align: center; }
    .kv .kv-messages .pick_up {
      width: 250px;
      margin: 0 auto; }
      .kv .kv-messages .pick_up .boal {
        width: 110px;
        height: 110px;
        background: transparent linear-gradient(231deg, #e3af39 0%, #d09000 100%) 0% 0% no-repeat padding-box;
        border-radius: 50%;
        font-weight: bold;
        color: white;
        justify-content: center;
        align-items: center; }
        .kv .kv-messages .pick_up .boal p {
          line-height: initial !important; }
      .kv .kv-messages .pick_up .boal-left p {
        letter-spacing: 5.04px;
        text-indent: 5.04px; }
      .kv .kv-messages .pick_up .boal-right p {
        letter-spacing: 4.48px;
        text-indent: 4.48px; }
    .kv .kv-messages .top {
      font-size: 21px;
      letter-spacing: 5.8px; }
      @media screen and (max-width: 499px) {
        .kv .kv-messages .top {
          font-size: 16px;
          letter-spacing: 3.2px; } }
    .kv .kv-messages .bottom {
      font-size: 43px;
      letter-spacing: 12px; }
      @media screen and (max-width: 499px) {
        .kv .kv-messages .bottom {
          font-size: 30px;
          letter-spacing: 6px; } }
  .kv .kv-logo {
    width: 224px;
    height: 72px;
    margin: 0 auto; }
  .kv .kv-document-btn {
    width: 400px;
    line-height: 56px;
    letter-spacing: 4.8px;
    background: transparent linear-gradient(270deg, #09acd3 0%, #008bcc 100%) 0% 0% no-repeat padding-box;
    border-radius: 50px;
    text-align: center;
    cursor: pointer;
    color: white; }
    @media screen and (max-width: 750px) {
      .kv .kv-document-btn {
        width: 327px !important;
        margin: 0 auto; } }
  .kv .kv-contact-btn {
    width: 400px;
    line-height: 56px;
    letter-spacing: 4.8px;
    background: transparent linear-gradient(270deg, #ff5852 0%, #e82473 100%) 0% 0% no-repeat padding-box;
    border-radius: 50px;
    text-align: center;
    cursor: pointer;
    color: white; }
    @media screen and (max-width: 750px) {
      .kv .kv-contact-btn {
        width: 327px !important;
        margin: 0 auto; } }

.policy .content-bar {
  width: 100%;
  line-height: 50px;
  background-color: #0f161b;
  margin: 60px 0;
  color: white;
  padding-left: 40px; }

.policy .chapter-parent {
  font-weight: 700;
  margin: 10px 0; }

.policy p {
  font-size: 14px;
  line-height: 2;
  font-family: "Roboto", sans-serif; }

.price {
  width: 100%;
  height: 840px; }
  .price .flex {
    justify-content: space-around; }
  .price .title {
    text-align: center; }
    .price .title h1 {
      font-size: 36px;
      letter-spacing: 10.8px;
      font-weight: bold; }
      @media screen and (max-width: 768px) {
        .price .title h1 {
          font-size: 24px;
          letter-spacing: 7.2px; } }
    .price .title p {
      letter-spacing: 4.8px; }
      @media screen and (max-width: 768px) {
        .price .title p {
          font-size: 14px;
          letter-spacing: 0;
          margin: 0 60px; } }
  .price .price-part .border-bottom {
    border-bottom: 5px solid;
    border-image: linear-gradient(270deg, #09acd3 0%, #008bcc 100%);
    border-image-slice: 1;
    padding-bottom: 20px; }
  .price .price-part p {
    text-align: center;
    font: normal normal bold 24px/24px Noto Sans;
    letter-spacing: 4.8px;
    color: #008bcc;
    opacity: 1; }
  .price .price-part .zero {
    font-size: 180px; }
  .price .price-part .yen {
    font-size: 36px; }

@media screen and (max-width: 768px) {
  .price {
    height: 1680px; }
    .price .flex {
      flex-direction: column; }
    .price .price-part p {
      width: 80%;
      max-width: 320px;
      margin: 0 auto; } }

.question {
  width: 100%;
  background: transparent linear-gradient(270deg, #fafdff 0%, #e6edf2 100%) 0% 0% no-repeat padding-box; }
  .question h1 {
    font-size: 34px;
    text-align: center;
    letter-spacing: 10.2px;
    font-weight: bold; }
  .question .questions {
    background-color: white;
    width: 90%;
    max-width: 1100px;
    margin: 0 auto;
    border: 1px solid #d8e1e7; }
    .question .questions .item {
      padding: 20px 20px 20px 0; }
      .question .questions .item:not(:first-of-type) {
        border-top: 1px solid #d8e1e7; }
      .question .questions .item img {
        margin: 14px 18.5px 14px 30px;
        min-width: 25px;
        height: 36px; }
        @media screen and (max-width: 569px) {
          .question .questions .item img {
            margin-right: 20px; } }
      .question .questions .item p {
        margin-top: 14px; }

.term .content-bar {
  width: 100%;
  line-height: 50px;
  background-color: #0f161b;
  margin: 60px 0;
  color: white;
  padding-left: 40px; }

.term .chapter-parent {
  font-weight: 700;
  margin: 10px 0; }

.term p {
  font-size: 14px;
  line-height: 2;
  font-family: "Roboto", sans-serif; }
