strong {
  font-weight: bold;
}

@media screen and (max-width: 640px) {
  #link01,
  #link02,
  #link03,
  #link04,
  #link05 {
    display: block;
    scroll-margin-top: 0;
  }
}
/* =============================================================================
armg_lpheader style
========================================================================== */
@media screen and (max-width: 640px) {
  .armg_lpheader .inner {
    width: auto;
    margin: 0 auto;
  }
  .armg_lpheader .armg_lpheader_hgroup {
    position: relative;
    height: 60px;
    background-color: #f5f6f9;
  }
  .armg_lpheader .armg_lpheader_logo {
    display: table;
    width: 100%;
    width: calc(100% - 70px);
    height: 60px;
    font-weight: bold;
  }
  .armg_lpheader .armg_lpheader_logo_detail {
    display: table-cell;
    padding: 0 0 0 15px;
    text-align: left;
    vertical-align: middle;
  }
  .armg_lpheader .armg_lpheader_logo_detail img {
    width: 150px;
  }
  .armg_lpheader .armg_lpheader_nav {
    display: none;
    position: absolute;
    left: 0;
    top: 60px;
    width: 100%;
    background-color: #f5f6f9;
    border-top: 1px solid #d6d8e0;
  }
  .armg_lpheader .armg_lpheader_item {
    border-bottom: 1px solid #d6d8e0;
    text-align: center;
  }
  .armg_lpheader .armg_lpheader_item a {
    display: block;
    padding: 15px 15px;
    color: #404040;
    font-weight: bold;
    line-height: 1.4;
  }
  .armg_lpheader .armg_lpheader_item .logo {
    display: block;
    width: 62.5vw;
    margin: 0 auto;
  }
  .armg_lpheader .armg_lpheader_item .tel {
    padding: 10px 15px;
  }
  .armg_lpheader .armg_lpheader_item .tel a {
    display: block;
    padding: 0;
    font-size: 2.1rem;
    line-height: 1.2;
  }
  .armg_lpheader .armg_lpheader_item .tel p {
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.2;
  }
  .armg_lpheader .armg_lpheader_logo span {
    color: #064f9f;
  }
  .armg_lpheader .armg_lpheader_cta {
    background-color: #fe8816;
  }
  .armg_lpheader .armg_lpheader_cta span {
    color: #ffffff;
  }
  .armg_lpheader .armg_lpheader_cta .num {
    display: contents;
    font-size: 2rem;
  }
  .armg_footer_section {
    margin-bottom: 25vw;
  }
}
@media screen and (max-width: 640px) {
  .armg_main {
    overflow: hidden;
  }
  .armg_nav_pagetop {
    display: none !important;
  }
}
/* =============================================================================
mv
========================================================================== */
@media screen and (max-width: 640px) {
  .mv .mv_bg {
    padding: 5.9375vw 0 15.15625vw;
    background: url(../img/mv_bg01_sp.webp) no-repeat top/cover;
  }
  .mv .mv_top {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 2.03125vw;
    padding: 0 0 2.03125vw;
    border-bottom: 1px solid #1e4f8e;
    color: #222222;
    font-weight: 500;
    font-size: 3.828125vw;
    letter-spacing: 0.02em;
    line-height: 1;
  }
  .mv .mv_top span {
    font-weight: bold;
    font-size: 5.359375vw;
  }
  .mv .mv_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 89.0625vw;
    margin: 0 auto 3.90625vw;
  }
  .mv .mv__item {
    width: -moz-fit-content;
    width: fit-content;
    min-width: 21.25vw;
    padding: 2.1875vw;
    background: #1e4f8e;
    border-radius: 3.75vw;
    color: #ffffff;
    font-weight: 500;
    font-size: 3.75vw;
    letter-spacing: 0.02em;
    text-align: center;
    line-height: 1;
  }
  .mv .mv_title {
    margin: 0 0 3.125vw;
    color: #0751a1;
    font-weight: 900;
    font-size: 6.25vw;
    line-height: 1.31;
    letter-spacing: 0;
    text-align: center;
  }
  .mv .mv_title span {
    font-size: 11.515625vw;
    letter-spacing: 0.1em;
  }
  .mv .mv_text {
    margin: 0 -1.5625vw 11.71875vw 2.34375vw;
    color: #222222;
    font-weight: 500;
    font-size: 3.75vw;
    letter-spacing: 0.12em;
    line-height: 1.48;
  }
  .mv .mv_data {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 53.90625vw;
    margin: 0 0 1.09375vw 2.34375vw;
  }
  .mv .mv_data__item {
    width: 25.71875vw;
    margin: 0 0 1.5625vw;
  }
  .mv .mv_data_info {
    margin: 0 0 11.25vw 2.34375vw;
    text-shadow: 0 0 2px rgba(255, 255, 255, 0.9), 0 0 4px rgba(255, 255, 255, 0.8), 0 0 8px rgba(255, 255, 255, 0.6);
    color: #4f5153;
    font-weight: 500;
    font-size: 2.65625vw;
    line-height: 1.29;
    letter-spacing: 0;
  }
  .mv .mv-form {
    padding: 0 0 5.46875vw;
    background: #ffffff;
    border-radius: 1.3328125vw;
    box-shadow: 0 0 4.6875vw 0 rgba(0, 0, 0, 0.1);
  }
  .mv .mv-form-ttl {
    position: relative;
    padding: 3.90625vw 0 3.90625vw 3.125vw;
    background: linear-gradient(to right, #0650a0, #1a68b1);
    border-radius: 1.3328125vw 1.3328125vw 0 0;
    color: #ffffff;
    font-weight: bold;
    font-size: 4.796875vw;
    letter-spacing: 0;
    line-height: 1;
  }
  .mv .mv-form-ttl::before {
    content: "";
    position: absolute;
    top: -2.34375vw;
    right: -4.6875vw;
    width: 28.125vw;
    height: 15.9375vw;
    background: url(../img/mv_form_ttl_icon.webp) no-repeat center/contain;
  }
  .mv .mv-form .form-table {
    margin: 4.6875vw 5.3125vw 0;
  }
  .mv .mv-form .form-dl {
    position: relative;
    margin: 0 1.5625vw 3.125vw 1.5625vw;
  }
  .mv .mv-form .form-dl-min {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .mv .mv-form .form-dt {
    position: relative;
    margin: 0 0 1.5625vw 2.03125vw;
    color: #01182e;
    font-weight: 500;
    font-size: 4.375vw;
    letter-spacing: 0.02em;
    line-height: 1;
  }
  .mv .mv-form .form-dt span {
    font-size: 3.125vw;
  }
  .mv .mv-form .form-dt::after {
    position: absolute;
    top: 0;
    left: -3.125vw;
    content: "*";
    line-height: 1;
    font-weight: 500;
    font-size: 4.375vw;
    color: #d91615;
    letter-spacing: 0.02em;
  }
  .mv .mv-form .form-dt-info {
    margin: 3.28125vw 0 2.65625vw 2.34375vw;
    font-size: 3.75vw;
    line-height: 1;
  }
  .mv .mv-form .form-dt-info::after {
    position: absolute;
    top: 1.5625vw;
    left: -2.34375vw;
    content: "*";
    line-height: 1;
    font-weight: 500;
    font-size: 2.34375vw;
    color: #01182e;
    letter-spacing: 0.02em;
  }
  .mv .mv-form .form-dd {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    color: #1b1b1b;
  }
  .mv .mv-form .form-dd span {
    margin: 0 0 0 1.5625vw;
    font-size: 3.125vw;
  }
  .mv .mv-form .form-dd input,
  .mv .mv-form .form-dd select {
    width: 100%;
    height: 11.703125vw;
    padding: 0 0 0 2.34375vw;
    font-size: 3.75vw;
    box-shadow: none;
    background: #dfe3ea;
    border: none;
    color: #333;
    box-sizing: border-box;
    border-radius: 0.5421875vw;
  }
  .mv .mv-form .form-dd input.min,
  .mv .mv-form .form-dd select.min {
    width: 37.5vw;
  }
  .mv .mv-form .form-dd input.min02,
  .mv .mv-form .form-dd select.min02 {
    width: 43.75vw;
  }
  .mv .mv-form .form-dd select {
    padding: 0 7.8125vw 0 2.34375vw;
    -moz-appearance: none;
         appearance: none;
    -webkit-appearance: none;
    background: #dfe3ea url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23333333' d='M6 8L0 0h12z'/%3E%3C/svg%3E") no-repeat right 2.34375vw center;
    cursor: pointer;
  }
  .mv .mv-form .form-dd-info {
    overflow: scroll;
    height: 25vw;
    padding: 2.34375vw 3.28125vw 2.34375vw 3.90625vw;
    border: 1px solid #dfe3ea;
    color: #01182e;
    font-weight: 300;
    font-size: 2.8125vw;
    letter-spacing: 0.02em;
    line-height: 1.63;
  }
  .mv .mv-form .form-privacy {
    position: relative;
    margin: 4.6875vw 0 4.6875vw 7.8125vw;
    line-height: 1;
  }
  .mv .mv-form .form-privacy .check-btn {
    position: relative;
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    width: auto;
    font-weight: 500;
    font-size: 3.75vw;
    letter-spacing: 0.02em;
    line-height: 1;
  }
  .mv .mv-form .form-privacy .check-btn span {
    border-bottom: 1px solid #717171;
  }
  .mv .mv-form .form-privacy .check-btn::before {
    content: "";
    position: absolute;
    top: 0.625vw;
    left: -5vw;
    width: 1.40625vw;
    height: 2.34375vw;
    border-right: 0.3125vw solid #333333;
    border-bottom: 0.3125vw solid #333333;
    transform: rotate(45deg);
    opacity: 0;
  }
  .mv .mv-form .form-privacy input[type=checkbox] {
    position: absolute;
    top: 0;
    left: -6.25vw;
    width: 4.234375vw;
    height: 4.234375vw;
    -moz-appearance: none;
         appearance: none;
    -webkit-appearance: none;
    background: #dfe3ea;
    border-radius: 0.3125vw;
    cursor: pointer;
  }
  .mv .mv-form .form-privacy input[type=checkbox]:checked + .check-btn::before {
    opacity: 1;
  }
  .mv .mv-form .form-btn {
    position: relative;
    width: 100%;
    margin: 0 0 2.34375vw -0.78125vw;
    padding: 5.78125vw 0;
    background: #fe8816;
    border-radius: 0.5328125vw;
    border: none;
    color: #ffffff;
    font-weight: bold;
    font-size: 4.546875vw;
    text-align: center;
    letter-spacing: 0.06em;
    line-height: 1;
  }
  .mv .mv-form .form-btn::before {
    content: "";
    position: absolute;
    top: 7.03125vw;
    right: 4.84375vw;
    width: 1.5625vw;
    height: 2.5vw;
    background: url(../img/form_btn_arrow.webp) no-repeat center/contain;
  }
  .mv .mv-form .form-link {
    display: block;
    padding: 2.34375vw 0 0;
    border-top: 1px solid #dedede;
    color: #1e4f8e;
    font-size: 4.53125vw;
    letter-spacing: 0.06em;
    text-align: center;
    text-decoration: underline;
  }
  .mv .mv-form .form-info {
    margin: 0 0 1.5625vw 2.34375vw;
    color: #4f5153;
    font-weight: 500;
    font-size: 2.03125vw;
  }
  .mv .mv-form .form-error {
    display: none;
    margin: 0 0 1.5625vw 2.34375vw;
    color: #e60012;
    font-weight: 500;
    font-size: 2.8125vw;
  }
  .mv .mv-form .form-error.is-show {
    display: block;
  }
}
/* =============================================================================
anxiety
========================================================================== */
@media screen and (max-width: 640px) {
  .anxiety {
    position: relative;
    z-index: 5;
  }
  .anxiety_bg {
    padding: 11.71875vw 0 14.0625vw;
    background: url(../img/anxiety_bg_sp.webp) top center/cover no-repeat;
  }
  .anxiety .anxiety_ttl {
    margin: 0 -3.125vw 9.84375vw;
    color: #000000;
    font-weight: bold;
    font-size: 6.921875vw;
    text-align: center;
    letter-spacing: 0.08em;
    line-height: 1.48;
  }
  .anxiety .anxiety_ttl span {
    color: #1e4f8e;
  }
  .anxiety .anxiety_list {
    margin: 0 0 8.59375vw;
  }
  .anxiety .anxiety_item {
    margin: 0 0 6.40625vw;
    border-radius: 1.3328125vw;
    box-shadow: 0 0 3.125vw 0 rgba(0, 0, 0, 0.2);
  }
  .anxiety .anxiety_item_top {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    background: linear-gradient(to right, #1e4f8e, #1e4f8e);
    border-radius: 1.3328125vw 1.3328125vw 0 0;
  }
  .anxiety .anxiety_item_top_human01 {
    width: 13.28125vw;
    margin: -5.46875vw 4.6875vw 0 5.3125vw;
  }
  .anxiety .anxiety_item_top_icon01 {
    width: 3.4375vw;
    margin: 0 1.875vw 0 0;
  }
  .anxiety .anxiety_item_top_ttl {
    color: #ffffff;
    font-weight: bold;
    font-size: 5.328125vw;
    letter-spacing: 0.08em;
  }
  .anxiety .anxiety_item_top_human02 {
    width: 13.90625vw;
    margin: -5.46875vw 0 0 3.59375vw;
  }
  .anxiety .anxiety_item_top_icon02 {
    width: 5vw;
    margin: 0 1.875vw 0 11.5625vw;
  }
  .anxiety .anxiety_item_main {
    padding: 8.28125vw 0 9.53125vw;
    background: #ffffff;
  }
  .anxiety .anxiety_item_main_text {
    position: relative;
    width: 75vw;
    margin: 0 0 4.53125vw 11.25vw;
    color: #000000;
    font-weight: 500;
    font-size: 4.0625vw;
    letter-spacing: 0.08em;
    line-height: 1.29;
  }
  .anxiety .anxiety_item_main_text:last-child {
    margin: 0 0 0 11.25vw;
  }
  .anxiety .anxiety_item_main_text::before {
    content: "";
    position: absolute;
    top: 0.625vw;
    left: -6.25vw;
    width: 4.53125vw;
    height: 4.375vw;
    background: url(../img/anxiety_item_main_check.webp) top center/contain no-repeat;
  }
  .anxiety .anxiety_item_main_text span {
    color: #1e4f8e;
  }
  .anxiety .anxiety_bottom01 {
    margin: 0 0 3.90625vw;
    color: #000000;
    font-weight: 500;
    font-size: 4.53125vw;
    text-align: center;
    letter-spacing: 0.08em;
    line-height: 1.44;
  }
  .anxiety .anxiety_bottom02 {
    color: #1e4f8e;
    font-weight: bold;
    font-size: 5.46875vw;
    text-align: center;
    letter-spacing: 0.08em;
    line-height: 1.45;
  }
}
/* =============================================================================
misalignment
========================================================================== */
@media screen and (max-width: 640px) {
  .misalignment {
    position: relative;
    margin: -12.5vw 0 0;
  }
  .misalignment::before {
    content: "";
    position: absolute;
    z-index: 10;
    top: 7.8125vw;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 0.625vw;
    height: 8.28125vw;
    border-left: 0.78125vw dotted #406ba0;
  }
  .misalignment_bg {
    padding: 24.0625vw 0 8.4375vw;
    background: url(../img/misalignment_bg_sp.webp) top center/cover no-repeat;
  }
  .misalignment .misalignment_ttl {
    margin: 0 0 9.375vw;
    font-weight: bold;
    font-size: 5.46875vw;
    text-align: center;
    letter-spacing: 0.04em;
    line-height: 1.4;
  }
  .misalignment .misalignment_ttl .margin {
    margin: 0 -2.34375vw;
  }
  .misalignment .misalignment_ttl .middle {
    font-size: 5.234375vw;
  }
  .misalignment .misalignment_ttl .blue {
    color: #1e4f8e;
    font-size: 7.71875vw;
    text-shadow: 0.46875vw 0.46875vw 0px #ffffff;
  }
  .misalignment .misalignment_list {
    margin: 0 0 7.65625vw;
  }
  .misalignment .misalignment_item {
    margin: 0 0 6.5625vw;
    padding: 0 0 7.03125vw;
    border-radius: 2.65625vw;
    background: #ffffff;
  }
  .misalignment .misalignment_item_top {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    background: #1e4f8e;
    padding: 4.0625vw 0 4.0625vw 18.75vw;
    border-radius: 2.65625vw 2.65625vw 0 0;
  }
  .misalignment .misalignment_item_top_num {
    width: 7.03125vw;
  }
  .misalignment .misalignment_item_top_ttl {
    height: 13.125vw;
    place-content: center;
    margin: 0 0 0 4.6875vw;
    padding: 0 0 0 4.6875vw;
    border-left: 1px dotted #ffffff;
    color: #ffffff;
    font-weight: bold;
    font-size: 5.328125vw;
    letter-spacing: 0.04em;
    line-height: 1.45;
  }
  .misalignment .misalignment_item_img01 {
    width: 42.03125vw;
    margin: 6.5625vw auto 7.1875vw;
  }
  .misalignment .misalignment_item_img02 {
    width: 55.3125vw;
    margin: 6.5625vw auto 5.9375vw;
  }
  .misalignment .misalignment_item_img03 {
    width: 52.65625vw;
    margin: 6.09375vw auto 5.9375vw;
  }
  .misalignment .misalignment_item_text {
    margin: 0 4.375vw 0 4.0625vw;
    color: #333333;
    font-weight: 500;
    font-size: 4vw;
    line-height: 1.63;
  }
  .misalignment .misalignment_txt01 {
    margin: 0 -2.34375vw 8.59375vw;
    color: #000000;
    font-weight: 500;
    font-size: 3.90625vw;
    text-align: center;
    letter-spacing: 0.08em;
    line-height: 1.63;
  }
  .misalignment .misalignment_txt01 span {
    color: #1e4f8e;
  }
  .misalignment .misalignment_circle {
    margin: 0 auto 8.75vw;
    padding: 6.25vw 0 6.875vw;
    border-radius: 2.65625vw;
    background: linear-gradient(to right, #0650a0, #1c71c0);
    color: #ffffff;
    font-weight: bold;
    font-size: 5.3125vw;
    text-align: center;
    letter-spacing: 0.02em;
    line-height: 1.35;
  }
  .misalignment .misalignment_circle span {
    display: block;
    margin: 3.125vw 0 0;
    font-weight: 500;
    font-size: 3.90625vw;
    line-height: 1.32;
  }
  .misalignment .misalignment_point {
    position: relative;
    margin: 0 0 6.09375vw;
    padding: 13.4375vw 0 13.75vw;
    background: url(../img/misalignment_point_bg_sp.webp) top center/cover no-repeat;
  }
  .misalignment .misalignment_point_ttl {
    margin: 0 0 7.8125vw;
    color: #0751a1;
    font-weight: 900;
    font-size: 7.4671875vw;
    text-align: center;
    letter-spacing: 0.06em;
    line-height: 1.24;
  }
  .misalignment .misalignment_point_item {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    margin: 0 8.4375vw 2.1875vw;
  }
  .misalignment .misalignment_point_item:last-child {
    margin: 0 0 2.1875vw;
  }
  .misalignment .misalignment_point_item_category {
    width: 42.65625vw;
    margin: 0 0 1.875vw;
    padding: 0.9375vw 0;
    border-radius: 2.8671875vw;
    background: linear-gradient(to right, #378abf, #5aaad1);
    color: #ffffff;
    font-weight: bold;
    font-size: 4vw;
    text-align: center;
    letter-spacing: 0.06em;
    line-height: 1;
  }
  .misalignment .misalignment_point_item_text {
    color: #222222;
    font-weight: bold;
    font-size: 4vw;
    letter-spacing: 0.06em;
    line-height: 1.23;
  }
  .misalignment .misalignment_point_human {
    position: absolute;
    bottom: 1.71875vw;
    right: 0.78125vw;
    width: 14.6875vw;
  }
  .misalignment .misalignment_point_txt {
    color: #222222;
    font-weight: bold;
    font-size: 4vw;
    text-align: center;
    letter-spacing: 0.08em;
    line-height: 1.62;
  }
  .misalignment .misalignment_point_txt span {
    color: #0751a1;
  }
}
/* =============================================================================
reason
========================================================================== */
@media screen and (max-width: 640px) {
  .reason {
    position: relative;
  }
  .reason::before {
    content: "";
    position: absolute;
    top: -4.0625vw;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 0.625vw;
    height: 8.28125vw;
    border-left: 0.78125vw dotted #406ba0;
  }
  .reason_bg {
    padding: 8.28125vw 0 12.34375vw;
    background: url(../img/reason_bg_sp.webp) top center/cover no-repeat;
  }
  .reason .reason_top {
    width: 84.21875vw;
    margin: 0 auto 4.0625vw;
  }
  .reason .reason_subttl {
    margin: 0 0 6.25vw;
    color: #0751a1;
    font-weight: 900;
    font-size: 9.3328125vw;
    text-align: center;
    line-height: 1.5;
  }
  .reason .reason_sublist {
    margin: 0 0 0.9375vw;
  }
  .reason .reason_subitem {
    width: 87.96875vw;
    height: 87.96875vw;
    border-radius: 50%;
    background: linear-gradient(to right, #378abf, #5aaad0);
    place-content: center;
  }
  .reason .reason_subitem_ttl {
    margin: 0 0 2.96875vw;
    color: #ffffff;
    font-weight: bold;
    font-size: 6.9328125vw;
    text-align: center;
    line-height: 1.09;
  }
  .reason .reason_subitem_ttl span {
    font-size: 8.2671875vw;
  }
  .reason .reason_subitem_img {
    width: 69.0625vw;
    margin: 0 auto 3.59375vw;
  }
  .reason .reason_subitem_txt {
    color: #ffffff;
    font-weight: 500;
    font-size: 4.53125vw;
    text-align: center;
    line-height: 1.42;
  }
  .reason .reason_cross {
    width: 67.96875vw;
    margin: -4.6875vw auto;
  }
  .reason .reason_info {
    color: #474848;
    font-weight: 500;
    font-size: 2.65625vw;
    letter-spacing: 0.06em;
  }
  .reason .reason_ttl {
    width: 80.78125vw;
    margin: 0 auto 11.71875vw;
    padding: 10.15625vw 0 0;
  }
  .reason .reason_list {
    width: 87.5vw;
    margin: 0 auto;
  }
  .reason .reason_item {
    margin: 0 0 6.71875vw;
  }
  .reason .reason_item:last-child {
    margin: 0;
  }
  .reason .reason_item_ttls {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 0 0 5.3125vw;
    padding: 0 0 2.03125vw;
    border-bottom: 1px solid #0751a1;
  }
  .reason .reason_item_num {
    width: 10.3125vw;
    margin: 0 2.65625vw 0 0;
  }
  .reason .reason_item_ttl {
    position: relative;
    padding: 2.1875vw 0 0;
    color: #222222;
    font-weight: 900;
    font-size: 5vw;
    letter-spacing: -0.02em;
    line-height: 1.47;
  }
  .reason .reason_item_ttl::before {
    content: "";
    position: absolute;
    top: 0;
    right: -15.625vw;
    width: 74.84375vw;
    height: 1px;
    background: #0751a1;
  }
  .reason .reason_item_ttl.diff {
    font-size: 4.84375vw;
    letter-spacing: -0.04em;
  }
  .reason .reason_item_ttl.diff::before {
    right: 0;
  }
  .reason .reason_item_ttl.diff02::before {
    right: -6.25vw;
  }
  .reason .reason_item_ttl span {
    color: #0751a1;
  }
  .reason .reason_item_content_img {
    margin: 0 0 5.46875vw;
  }
  .reason .reason_item_content_mainTxt {
    margin: 0 0 3.90625vw;
    color: #222222;
    font-weight: 500;
    font-size: 3.75vw;
    line-height: 1.49;
  }
  .reason .reason_item_content_example {
    padding: 0.3125vw 0 4.6875vw;
    background: linear-gradient(to right, #378abf, #5aaad0);
    border-radius: 1.3328125vw;
  }
  .reason .reason_item_content_category {
    width: 17.1875vw;
    margin: 0 0 3.125vw 0.3125vw;
    border-radius: 1.3328125vw 0;
    background: #ffffff;
    color: #378abf;
    font-weight: 500;
    font-size: 3.71875vw;
    text-align: center;
  }
  .reason .reason_item_content_ttl {
    margin: 0 0 3.125vw 3.4375vw;
    color: #ffffff;
    font-weight: bold;
    font-size: 4.265625vw;
    line-height: 1;
  }
  .reason .reason_item_content_txt {
    margin: 0 3.4375vw;
    color: #ffffff;
    font-weight: 500;
    font-size: 3.7328125vw;
    line-height: 1.5;
  }
}
/* =============================================================================
cta
========================================================================== */
@media screen and (max-width: 640px) {
  .cta_bg {
    padding: 11.40625vw 0 11.5625vw;
    background: url(../img/cta_bg_sp.webp) top center/cover no-repeat;
  }
  .cta_bg02 {
    padding: 11.875vw 0 13.28125vw;
    background: url(../img/cta_bg_sp.webp) top center/cover no-repeat;
  }
  .cta .cta_ttl {
    width: 92.1875vw;
    margin: 0 auto 5.625vw;
  }
  .cta .cta_ttl02 {
    margin: 0 -1.5625vw 6.25vw;
    color: #ffffff;
    font-weight: bold;
    font-size: 5.78125vw;
    text-align: center;
    letter-spacing: 0.02em;
    line-height: 1.24;
  }
  .cta .cta_content {
    padding: 6.5625vw 5.3125vw 7.03125vw;
    background: #ffffff;
    border-radius: 1.3328125vw;
  }
  .cta .cta_content_ttl {
    margin: 0 -0.78125vw 6.5625vw;
    color: #0e243a;
    font-weight: bold;
    font-size: 4.53125vw;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .cta .cta_content_download {
    display: block;
    position: relative;
    margin: 0 0 5vw;
    padding: 5.78125vw 0;
    background: #fe8816;
    border-radius: 0.5328125vw;
    color: #ffffff;
    font-weight: bold;
    font-size: 4.53125vw;
    letter-spacing: 0.06em;
    line-height: 1;
    text-align: center;
  }
  .cta .cta_content_download::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 5.78125vw;
    transform: translateY(-50%);
    width: 1.5625vw;
    height: 2.5vw;
    background: url(../img/cta_content_download_arrow.webp) center center/contain no-repeat;
  }
  .cta .cta_content_contact {
    display: block;
    position: relative;
    padding: 5.46875vw 0;
    background: #ffffff;
    border: 1px solid #1e4f8e;
    border-radius: 0.5328125vw;
    color: #1e4f8e;
    font-weight: bold;
    font-size: 4.53125vw;
    letter-spacing: 0.06em;
    line-height: 1;
    text-align: center;
  }
  .cta .cta_content_contact::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 11.71875vw;
    transform: translateY(-50%);
    width: 1.40625vw;
    height: 2.5vw;
    background: url(../img/cta_content_contact_arrow.webp) center center/contain no-repeat;
  }
  .cta .cta_content_contact::after {
    content: "";
    position: absolute;
    top: -2.5vw;
    left: 0;
    width: 81.25vw;
    height: 1px;
    background: #c1c2c2;
  }
  .cta .cta_info {
    margin: 1.5625vw 0 0;
    color: #ffffff;
    font-size: 2.65625vw;
    letter-spacing: -0.025rem;
  }
  .cta .cta_list {
    margin: 0 0 7.8125vw;
  }
  .cta .cta_item {
    position: relative;
    margin: 0 auto 5vw;
    padding: 3.90625vw 0;
    width: 87.3359375vw;
    background: #31a1ed;
    color: #ffffff;
    font-weight: bold;
    font-size: 5vw;
    text-align: center;
    line-height: 1.36;
    border-radius: 10.33125vw;
  }
  .cta .cta_item::after {
    content: "";
    position: absolute;
    bottom: -3.125vw;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 5.78125vw;
    height: 5.3125vw;
    background: url(../img/cta_item_arrow.webp) center center/contain no-repeat;
  }
}
/* =============================================================================
faq
========================================================================== */
@media screen and (max-width: 640px) {
  .faq_bg {
    padding: 13.28125vw 0 14.375vw;
    background: #eefbff;
  }
  .faq .faq_top {
    width: 6.71875vw;
    margin: 0 auto 1.09375vw;
  }
  .faq .faq_ttl {
    margin: 0 0 9.21875vw;
    color: #01182e;
    font-weight: 900;
    font-size: 7.7328125vw;
    text-align: center;
    letter-spacing: 0.04em;
    line-height: 1;
  }
  .faq .faq_item {
    margin: 0 0 5.15625vw;
    padding: 5.3125vw 0 5.625vw;
    background: #ffffff;
    border-radius: 1.3328125vw;
  }
  .faq .faq_item:last-child {
    margin: 0 auto;
  }
  .faq .faq_item.is-open {
    padding: 7.34375vw 0 3.28125vw;
  }
  .faq .faq_item.is-open .faq_item_question {
    padding: 0 0 4.6875vw 0;
  }
  .faq .faq_item.is-open .faq_item_question::before {
    transform: translateY(-50%) rotate(90deg);
  }
  .faq .faq_item.is-open .faq_item_question::after {
    opacity: 0;
  }
  .faq .faq_item_question {
    display: flex;
    position: relative;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 0 0 0 3.59375vw;
    cursor: pointer;
  }
  .faq .faq_item_question::before, .faq .faq_item_question::after {
    content: "";
    position: absolute;
    top: 4.6875vw;
    right: 3.125vw;
    background: #1e4f8e;
    transition: transform 0.3s, opacity 0.3s;
  }
  .faq .faq_item_question::before {
    transform: translateY(-50%);
    right: 4.8vw;
    width: 0.46875vw;
    height: 3.90625vw;
  }
  .faq .faq_item_question::after {
    transform: translateY(-50%);
    width: 3.90625vw;
    height: 0.46875vw;
  }
  .faq .faq_item_question_icon {
    width: 8vw;
    margin: 0 2.65625vw 0 0;
  }
  .faq .faq_item_question_text {
    color: #01182e;
    font-weight: 500;
    font-size: 4vw;
    letter-spacing: 0.06em;
  }
  .faq .faq_item_answer {
    display: none;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 0 2.34375vw 0 3.59375vw;
    padding: 5.625vw 0 0;
    border-top: 0.78125vw dotted #c3d5d4;
  }
  .faq .faq_item_answer_icon {
    width: 8vw;
    margin: 0 2.65625vw 0 0;
  }
  .faq .faq_item_answer_text {
    width: 72.1875vw;
    color: #01182e;
    font-weight: 500;
    font-size: 3.7328125vw;
    letter-spacing: 0.08em;
    line-height: 1.42;
  }
  .faq .faq_item_answer_text.diff {
    margin: 0 0 4.6875vw;
  }
}
/* =============================================================================
case
========================================================================== */
@media screen and (max-width: 640px) {
  .case_bg {
    padding: 11.875vw 0 15vw;
    background: #f3f8fb;
  }
  .case .case_top {
    width: 10.625vw;
    margin: 0 auto 2.1875vw;
  }
  .case .case_ttl {
    margin: 0 0 10.3125vw;
    color: #333333;
    font-weight: 900;
    font-size: 7.7328125vw;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .case .case_thumbs {
    margin: 0 0 0;
  }
  .case .case_thumb {
    height: auto;
    padding: 3.125vw 0 3.4375vw;
    background: #3192c0;
    border-radius: 1.5984375vw 1.5984375vw 0 0;
    cursor: pointer;
  }
  .case .case_thumb.swiper-slide-thumb-active {
    background: #ffffff;
    border-top: 0.78125vw solid #004ea2;
  }
  .case .case_thumb.swiper-slide-thumb-active .case_thumb_num {
    color: #004ea2;
  }
  .case .case_thumb.swiper-slide-thumb-active .case_thumb_ttl {
    color: #004ea2;
  }
  .case .case_thumb_num {
    color: #ffffff;
    font-family: "Bebas Neue", sans-serif;
    font-weight: bold;
    font-size: 4.375vw;
    line-height: 1;
    text-align: center;
  }
  .case .case_thumb_ttl {
    color: #ffffff;
    font-weight: bold;
    font-size: 3.75vw;
    line-height: 1;
    text-align: center;
  }
  .case .case_slider {
    padding: 0 0 4.6875vw;
  }
  .case .case_slider .swiper-wrapper {
    align-items: stretch;
  }
  .case .case_item {
    position: relative;
    height: auto;
    padding: 7.8125vw 0 4.6875vw;
    background: #ffffff;
    box-shadow: 0 3.90625vw 3.90625vw -3.90625vw rgba(0, 0, 0, 0.6);
  }
  .case .case_item_ttl {
    margin: 0 0 11.25vw;
    padding: 3.125vw 0 3.125vw 3.28125vw;
    color: #ffffff;
    background: #004ea2;
    font-weight: bold;
    font-size: 4.84375vw;
    letter-spacing: 0.02em;
    line-height: 1.32;
  }
  .case .case_item_content {
    padding: 0 2.5vw 5.3125vw 3.125vw;
  }
  .case .case_item_content.diff {
    padding: 0 2.5vw 10.9375vw 3.125vw;
  }
  .case .case_item_content_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    margin: 0 0 2.03125vw;
    padding: 0 0 2.03125vw;
    border-bottom: 0.46875vw dotted #6794c8;
  }
  .case .case_item_content_wrap:last-child {
    margin: 0;
    padding: 0;
    border: none;
  }
  .case .case_item_content_icon {
    width: 8.4375vw;
    margin: 0 1.25vw 0 0;
  }
  .case .case_item_content_ttl {
    width: 27.34375vw;
    color: #004ea2;
    font-size: 4.44375vw;
    letter-spacing: 0.02em;
  }
  .case .case_item_content_txt {
    color: #000000;
    font-weight: 500;
    font-size: 5.15625vw;
    letter-spacing: 0.02em;
  }
  .case .case_item_content_txt.diff span {
    font-size: 6.5625vw;
  }
  .case .case_item_content_img {
    position: absolute;
    top: 1.09375vw;
    right: 1.40625vw;
    width: 29.375vw;
  }
  .case .case_item_content_img.diff {
    top: 2.8125vw;
    width: 30.625vw;
  }
  .case .case_item_content_img.diff02 {
    top: 5.9375vw;
    width: 33.28125vw;
  }
  .case .case_item_bottom_ttl {
    width: 68.4375vw;
    padding: 2.03125vw 0 1.875vw 2.96875vw;
    color: #ffffff;
    background: linear-gradient(to right, #3486b6, #2ba7d2);
    font-weight: bold;
    font-size: 4.375vw;
    letter-spacing: 0.02em;
    line-height: 1.35;
    clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 100%, 0 100%);
  }
  .case .case_item_bottom_ttl.diff {
    width: 92.96875vw;
  }
  .case .case_item_bottom_txt {
    position: relative;
    margin: 0 0 0 3.28125vw;
    padding: 6.25vw 0 0;
    color: #000000;
    font-size: 3.59375vw;
    letter-spacing: 0;
  }
  .case .case_item_bottom_txt.diff {
    padding: 3.125vw 0 0;
  }
  .case .case_item_bottom_txt::before {
    content: "";
    position: absolute;
    top: -1px;
    right: 0;
    width: 31.25vw;
    height: 1px;
    border-bottom: 1px solid #3192c0;
  }
}
/* =============================================================================
flow
========================================================================== */
@media screen and (max-width: 640px) {
  .flow .flow_inner {
    padding: 12.96875vw 0 11.71875vw;
  }
  .flow .flow_top {
    width: 9.6875vw;
    margin: 0 auto 1.09375vw;
  }
  .flow .flow_ttl {
    margin: 0 0 7.96875vw;
    color: #333333;
    font-weight: 900;
    font-size: 7.7328125vw;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .flow .flow_list {
    position: relative;
  }
  .flow .flow_item {
    position: relative;
    margin: 0 0 4.53125vw;
  }
  .flow .flow_item_num {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    left: 0;
    width: 11.71875vw;
  }
  .flow .flow_item_txt {
    width: 86.40625vw;
    margin: 0 0 0 auto;
    padding: 5.3125vw 0 5.3125vw 7.8125vw;
    background: linear-gradient(to right, #dceefb, #dff4fb);
    border-radius: 0.6671875vw;
    color: #2c2f26;
    font-weight: bold;
    font-size: 4.6875vw;
    letter-spacing: 0.04em;
    line-height: 1;
  }
  .flow .flow_item_txt.diff {
    color: #0f4e87;
    line-height: 1.25;
    border: 0.46875vw solid #388bbf;
  }
  .flow .flow_item_txt span {
    font-size: 3.90625vw;
  }
  .flow .flow_arrow {
    position: absolute;
    top: 0;
    right: 0;
  }
  .flow .flow_arrow_img {
    width: 34.375vw;
  }
  .flow .flow_arrow_txt {
    position: absolute;
    top: 7.8125vw;
    left: 6.25vw;
    color: #2c2f26;
    font-weight: bold;
    font-size: 3.90625vw;
    letter-spacing: 0.04em;
    text-align: center;
    line-height: 1.16;
  }
  .flow .flow_arrow_txt span {
    vertical-align: super;
    font-size: 2.65625vw;
  }
  .flow .flow_info {
    color: #2c2f26;
    font-weight: bold;
    font-size: 2.65625vw;
    letter-spacing: 0.04em;
  }
}
/* =============================================================================
cv
========================================================================== */
@media screen and (max-width: 640px) {
  .cv {
    position: fixed;
    z-index: 9999;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #ffffff;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s, visibility 0.3s;
  }
  .cv.is-show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .cv__link {
    display: block;
    width: 87.1875vw;
    margin: 0 auto;
    padding: 2.65625vw 0;
  }
}/*# sourceMappingURL=style_sp.css.map */