.half_size {
  -webkit-transform: scale(0.5) translateX(-50%);
  -moz-transform: scale(0.5) translateX(-50%);
  -ms-transform: scale(0.5) translateX(-50%);
  -o-transform: scale(0.5) translateX(-50%);
  transform: scale(0.5) translateX(-50%);
}
.width_2 {
  width: 200%;
}
.label {
  display: inline-block;
}
.delimiter {
  margin-top: 30px;
}
.w_max_img {
  width: 100%;
}

/* PC向け */
@media (min-width: 641px) {
  /* LP */
  .area {
    padding-left: calc((100% - 640px) / 2);
    padding-right: calc((100% - 640px) / 2);
  }
  /* おすすめの理由 */
  .recommend_reason_number {
    position: absolute;
    margin-top: 20px;
    width: 640px;
    text-align: center;
  }
  .recommend_reason_number_img {
    width: 76px;
  }
  .recommend_reason_box {
    border-radius: 8px;
    margin: 60px 20px 0px 20px;
    padding-top: 60px;
  }
  .recommend_reason_detail {
    padding: 20px;
    font-size: 18px;
  }

  /* ご相談の流れ */
  .discussion_flow_icon {
    height: 140px;
    width: 140px;
  }
  .discussion_flow_allow {
    width: 140px;
  }
  .discussion_flow_description {
    margin-left: 20px;
    margin-top: 20px;
    font-size: 16px;
  }
  .discussion_flow_description_title {
    font-weight: bold;
    font-size: 24px;
  }

  /* 保険でできること */
  .cando_point_description {
    margin-top: 17px;
    font-size: 18px;
  }

  /* よくある質問 */
  .question_box {
    font-size: 18px;
  }

  /* お客様の声 */
  .cv_icon {
    position: absolute;
    margin-top: 20px;
    width: 600px;
    text-align: center;
  }
  .cv_icon_img {
    width: 112px;
  }
  .cv_box {
    border-radius: 8px;
    margin-top: 55px;
    padding: 36px 24px 18px 18px;
    border: 2px solid #3fc515;
  }
  .cv_title {
    font-size: 20px;
  }
  .cv_tag {
    font-size: 14px;
  }
  .cv_description {
    font-size: 18px;
  }

  /* 必要な保険 */
  .need_insurance_label {
    font-size: 18px;
    background-color: #ddf4c7;
    width: 560px;
    padding: 17px 0px;
    margin: 15px 20px 0px 20px;
    text-align: center;
    border-radius: 8px;
    position: absolute;
  }
  .need_insurance_label2 {
    font-size: 17px;
    background-color: #ddf4c7;
    width: 560px;
    padding: 17px 0px;
    margin: 15px 20px 0px 20px;
    text-align: center;
    border-radius: 8px;
    position: absolute;
  }
  .need_insurance_title {
    font-size: 22px;
  }
  .need_insurance_description {
    font-size: 18px;
  }

  /* キャンペーン */
  .campaign_box {
    font-size: 18px;
  }

  /* 申し込み */
  .logo {
    margin-left: calc((100% - 636px) / 2);
    margin-right: calc((100% - 636px) / 2);
  }
  .logo_img {
    margin-top: 40px;
    width: 100%;
    border: 2px solid #f2f4f4;
    border-radius: 10px;
  }
  .contents {
    margin-left: calc((100% - 640px) / 2 + 20px);
    margin-right: 20px;
    margin-top: 25px;
    width: 600px;
  }
  .line {
    width: 600px;
    margin-top: 30px;
    margin-bottom: 35px;
  }
  .complete_img {
    width: 550px;
    margin-top: 20px;
    margin-left: calc((100% - 550px) / 2);
  }
  .complete_icon_flow {
    width: 550px;
    display: flex;
    margin-top: 10px;
    margin-bottom: 5px;
  }
  .complete_msg_flow {
    width: 510px;
    display: flex;
    font-size: 10px;
    margin-bottom: 16px;
    justify-content: space-between;
    margin-left: 12px;
  }
  .complete_msg {
    margin-top: 40px;
    margin-left: calc((100% - 550px) / 2);
    margin-right: 45px;
  }
}

/*　スマホ向け */
@media (max-width: 640px) {
  /* おすすめの理由 */
  .recommend_reason_number {
    position: absolute;
    margin-top: 20px;
    width: 100%;
    text-align: center;
  }
  .recommend_reason_number_img {
    width: 42px;
  }
  .recommend_reason_box {
    border-radius: 8px;
    margin: 41px 20px 0px 20px;
    padding-top: 36px;
  }
  .recommend_reason_detail {
    padding: 20px;
    font-size: 14px;
  }

  /* ご相談の流れ */
  .discussion_flow_icon {
    height: 100px;
    width: 100px;
  }
  .discussion_flow_allow {
    width: 100px;
  }
  .discussion_flow_description {
    margin-left: 20px;
    font-size: 12px;
  }
  .discussion_flow_description_title {
    font-weight: bold;
    font-size: 16px;
  }

  /* 保険でできること */
  .cando_point_description {
    margin-top: 14px;
    font-size: 14px;
  }

  /* よくある質問 */
  .question_box {
    font-size: 14px;
  }

  /* お客様の声 */
  .cv_icon {
    position: absolute;
    margin-top: 20px;
    width: calc(100% - 40px);
    text-align: center;
  }
  .cv_icon_img {
    width: 75px;
  }
  .cv_box {
    border-radius: 8px;
    margin-top: 41px;
    padding: 36px 24px 18px 18px;
    border: 2px solid #3fc515;
  }
  .cv_title {
    font-size: 16px;
  }
  .cv_tag {
    font-size: 10px;
  }
  .cv_description {
    font-size: 14px;
  }

  /* 必要な保険 */
  .need_insurance_label {
    font-size: 14px;
    background-color: #ddf4c7;
    width: calc(100% - 80px);
    padding: 17px 0px;
    margin: 15px 20px 0px 20px;
    text-align: center;
    border-radius: 8px;
    position: absolute;
  }
  .need_insurance_label2 {
    font-size: 13px;
    background-color: #ddf4c7;
    width: calc(100% - 80px);
    padding: 17px 0px;
    margin: 15px 20px 0px 20px;
    text-align: center;
    border-radius: 8px;
    position: absolute;
  }
  .need_insurance_title {
    font-size: 18px;
  }
  .need_insurance_description {
    font-size: 14px;
  }

  /* キャンペーン */
  .campaign_box {
    font-size: 14px;
  }

  /* 申し込み */
  .logo {
    width: 100%;
  }
  .logo_img {
    width: 100%;
  }
  .contents {
    margin-left: 20px;
    margin-right: 20px;
    margin-top: 25px;
  }
  .line {
    width: calc(100% - 40px);
    margin-top: 30px;
    margin-bottom: 35px;
  }
  .complete_img {
    width: calc(100% - 90px);
    margin-top: 20px;
    margin-left: 45px;
    margin-right: 45px;
  }
  .complete_icon_flow {
    display: flex;
    margin-top: 10px;
    margin-bottom: 5px;
  }
  .complete_msg_flow {
    display: flex;
    font-size: 10px;
    margin-bottom: 16px;
    justify-content: space-between;
    margin-left: 15px;
    margin-right: 28px;
  }
  .complete_msg {
    margin-top: 40px;
    margin-left: 45px;
    margin-right:45px;
  }
}
