@charset "UTF-8";
strong {
  font-weight: bold;
}

/* =============================================================================
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: 155px;
  }
  .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;
  }
  .armg_lpheader .armg_lpheader_item .logo {
    display: block;
    width: 53.33333vw;
    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;
  }
}

@media screen and (max-width: 640px) {
  .armg_main {
    overflow: hidden;
  }
}

/* =============================================================================
header
========================================================================== */
@media screen and (max-width: 640px) {
  body {
    padding-top: 0;
  }
  .header--bg01 {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    background-color: #fff;
  }
  .header .header__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32vw;
    height: 16vw;
  }
  .header .header__logo {
    width: 32vw;
  }
  .header .header__flex {
    display: none;
  }
}

/* =============================================================================
sample
========================================================================== */
@media screen and (max-width: 640px) {
  .mv--bg01 {
    margin-top: 16vw;
    padding-top: 6.66667vw;
    background: url(../img/mv_bg01_sp.webp) top -7.33333vw center/100% no-repeat;
  }
  .mv .mv__ttl01 {
    width: 110%;
    font-weight: bold;
  }
  .mv .mv__ttl01 .txt {
    display: block;
    margin-bottom: 2.66667vw;
    font-size: 4.8vw;
    letter-spacing: 0.08em;
    line-height: 1.43;
  }
  .mv .mv__ttl01 .bg {
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    display: inline;
    padding: 0 1.33333vw;
    background-color: #fff;
    font-size: 8.53333vw;
    font-weight: 900;
    line-height: 1.6;
  }
  .mv .mv__ttl01 .green {
    color: #85c023;
  }
  .mv .mv__txt01 {
    margin-top: 2.66667vw;
    font-size: 3.6vw;
    font-weight: 500;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
  .mv .mv__lead {
    margin-top: 3.86667vw;
  }
  .mv .mv__note {
    display: none;
  }
  .mv .mv__low {
    position: relative;
    margin-top: 52vw;
  }
  .mv .mv__img01 {
    width: 68vw;
    margin: 0 auto;
  }
  .mv .mv__btn01, .mv .mv__btn02 {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 20.66667vw;
    padding-bottom: 1.33333vw;
    font-size: 4.8vw;
    letter-spacing: 0.07em;
    line-height: 1;
    color: #fff;
  }
  .mv .mv__btn01 {
    margin-top: 6.66667vw;
    background: url(../img/mv_bg02_sp.webp) top center/100% no-repeat;
  }
  .mv .mv__btn02 {
    margin-top: 4vw;
    background: url(../img/mv_bg03_sp.webp) top center/100% no-repeat;
  }
}

/* =============================================================================
mai
========================================================================== */
@media screen and (max-width: 640px) {
  .mai--bg01 {
    padding: 10.66667vw 0 8vw;
  }
  .mai .mai__ttl01 {
    position: relative;
    z-index: 2;
    font-size: 6.13333vw;
    letter-spacing: 0.08em;
  }
  .mai .mai__slider {
    margin-top: -2.66667vw;
  }
  .mai .mai__img01 {
    width: 320vw !important;
    padding: 0 1.33333vw;
  }
  .mai .swiper-wrapper {
    transition-timing-function: linear;
  }
}

/* =============================================================================
emp
========================================================================== */
@media screen and (max-width: 640px) {
  .emp--bg01 {
    padding: 14.66667vw 0 17.33333vw;
    background: #ebf1f2;
  }
  .emp .emp__ttl01 {
    font-size: 6.93333vw;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1.3;
  }
  .emp .emp__ttl01--num02 {
    font-size: 6.53333vw;
    margin-top: 10.66667vw;
  }
  .emp .emp__lead01 {
    margin-top: 4vw;
    font-size: 4.13333vw;
  }
  .emp .emp__lead01 .bold {
    font-size: 4.4vw;
  }
  .emp .emp__list {
    margin-top: 8vw;
  }
  .emp .emp__item {
    margin-top: 6.13333vw;
    padding-bottom: 7.33333vw;
    border-radius: 1.33333vw;
    background-color: #fff;
  }
  .emp .emp__lead02 {
    margin-top: 6.66667vw;
    font-size: 5.33333vw;
  }
  .emp .emp__txt01 {
    margin-top: 1.33333vw;
    font-size: 3.86667vw;
    line-height: 1.5;
  }
  .emp .emp__icon01 {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 4.66667vw auto 0;
  }
  .emp .emp__icon01--num01 {
    width: 26.66667vw;
  }
  .emp .emp__icon01--num02 {
    width: 20vw;
  }
  .emp .emp__icon01--num03 {
    width: 17.86667vw;
  }
  .emp .emp__txt02 {
    margin-top: 5.33333vw;
    padding: 0 5.33333vw;
    font-size: 3.6vw;
    line-height: 1.81;
    letter-spacing: 0.06em;
  }
  .emp .emp__box {
    position: relative;
    margin-top: 15.33333vw;
    padding: 12vw 5.33333vw 8vw;
    border-radius: 2.66667vw;
    background: url(../img/emp_bg01_sp.webp) top center/cover no-repeat;
  }
  .emp .emp__box::after {
    content: "";
    display: block;
    position: absolute;
    top: -5.33333vw;
    left: 50%;
    transform: translateX(-50%);
    width: 12.8vw;
    height: 8.8vw;
    background: url(../img/emp_triangle01.webp) top center/contain no-repeat;
  }
  .emp .emp__en {
    font-size: 5.86667vw;
    line-height: 1.37;
    font-weight: 900;
  }
  .emp .emp__en .small {
    font-size: 6.26667vw;
  }
  .emp .emp__txt03 {
    margin-top: 4vw;
    font-size: 4.26667vw;
    line-height: 1.5;
  }
  .emp .emp__txt03 .bold {
    font-size: 4.53333vw;
  }
  .emp .emp__img01 {
    width: 82vw;
    margin-top: 4.66667vw;
  }
  .emp .emp__txt04 {
    margin-top: 4.66667vw;
    font-size: 3.6vw;
    font-weight: normal;
    line-height: 1.79;
  }
  .emp .emp__img02 {
    margin-top: 8vw;
  }
}

/* =============================================================================
sys
========================================================================== */
@media screen and (max-width: 640px) {
  .sys--bg01 {
    padding: 26.66667vw 0 16vw;
    background: url(../img/sys_bg01_sp.webp) top center/100% no-repeat, #e4f1f1;
  }
  .sys .sys__inner {
    position: relative;
  }
  .sys .sys__inner::after {
    content: "";
    display: block;
    position: absolute;
    top: -35.66667vw;
    right: 2.66667vw;
    width: 26.66667vw;
    height: 26.66667vw;
    background: url(../img/sys_bg02.webp) top center/contain no-repeat;
  }
  .sys .sys__ttl01 {
    font-size: 5.86667vw;
    font-weight: 900;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.48;
  }
  .sys .sys__ttl01 .green {
    font-size: 9.33333vw;
    line-height: 1;
  }
  .sys .sys__box {
    margin: 6vw 0 0 0;
    padding: 9.33333vw 5.33333vw 8vw;
    border-radius: 2.66667vw;
    background-color: #fff;
  }
  .sys .sys__ttl02 {
    font-size: 4.53333vw;
    line-height: 1.8;
  }
  .sys .sys__txt02 {
    margin-top: 2.66667vw;
    font-size: 4vw;
    line-height: 1.8;
  }
  .sys .sys__img01 {
    margin: 5.33333vw auto 0;
  }
}

/* =============================================================================
cta
========================================================================== */
@media screen and (max-width: 640px) {
  .cta--bg01 {
    padding: 9.33333vw 0 12vw;
    background: url(../img/cta_bg01_sp.webp) top center/cover no-repeat;
  }
  .cta .cta__ttl01 {
    font-size: 4.66667vw;
    font-weight: 900;
    line-height: 1.64;
    letter-spacing: 0.05em;
  }
  .cta .cta__ttl01 .big {
    font-size: 5.73333vw;
  }
  .cta .cta__txt01 {
    margin-top: 4vw;
    font-size: 3.73333vw;
    font-weight: 500;
    line-height: 1.67;
  }
  .cta .cta__flex {
    margin-top: 7.33333vw;
  }
  .cta .cta__btn01, .cta .cta__btn02 {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 20.66667vw;
    padding-bottom: 1.33333vw;
    font-size: 4.8vw;
    letter-spacing: 0.07em;
    line-height: 1;
  }
  .cta .cta__btn01 {
    background: url(../img/cta_bg02_sp.webp) top center/100% no-repeat;
  }
  .cta .cta__btn02 {
    margin-top: 4vw;
    background: url(../img/cta_bg03_sp.webp) top center/100% no-repeat;
    color: #fff;
  }
}

/* =============================================================================
dec
========================================================================== */
@media screen and (max-width: 640px) {
  .dec--bg01 {
    padding: 12vw 0 13.33333vw;
    background: url(../img/dec_bg01_sp.webp) top 6.66667vw right/95% no-repeat;
  }
  .dec .dec__lead01 {
    font-size: 4.26667vw;
    line-height: 1.9;
  }
  .dec .dec__lead01 .num {
    font-size: 5.33333vw;
    line-height: 1;
  }
  .dec .dec__ttl01 {
    margin-top: 4vw;
    font-size: 6.4vw;
    font-weight: 900;
    line-height: 1.3;
  }
  .dec .dec__ttl01 .green {
    font-size: 9.06667vw;
  }
  .dec .dec__img01 {
    width: 68vw;
    margin: 6vw auto 0;
  }
  .dec .dec__list {
    margin-top: 14.66667vw;
  }
  .dec .dec__item {
    position: relative;
    margin-top: 12vw;
    padding: 8vw 5.33333vw 9.33333vw;
    border-radius: 2.66667vw;
    background-color: #eff5f5;
  }
  .dec .dec__num01 {
    position: absolute;
    top: -3.06667vw;
    left: 50%;
    transform: translateX(-50%);
    width: 22.66667vw;
  }
  .dec .dec__lead02 {
    font-size: 5.6vw;
    letter-spacing: 0.06em;
  }
  .dec .dec__flex {
    margin-top: 6vw;
  }
  .dec .dec__txt01 {
    margin-top: 4vw;
    font-size: 3.73333vw;
    line-height: 1.79;
    letter-spacing: 0.06em;
  }
  .dec .dec__ttl02 {
    margin-top: 9.33333vw;
    font-size: 6.13333vw;
    font-weight: 900;
    line-height: 1.43;
  }
  .dec .dec__lead03 {
    margin-top: 6.66667vw;
    font-size: 4.53333vw;
    line-height: 1.47;
  }
  .dec .dec__txt02 {
    margin-top: 5.33333vw;
    font-size: 3.73333vw;
    line-height: 1.5;
  }
  .dec .dec__slider {
    margin-top: 5.33333vw;
  }
  .dec .dec__slide {
    width: 233.33333vw !important;
    padding: 0 1.33333vw;
  }
  .dec .swiper-wrapper {
    transition-timing-function: linear;
  }
}

/* =============================================================================
cos
========================================================================== */
@media screen and (max-width: 640px) {
  .cos--bg01 {
    padding: 12vw 0 14.66667vw;
    background-color: #e5f5cb;
  }
  .cos .cos__ttl01 {
    font-size: 6.93333vw;
    font-weight: 900;
    line-height: 1.38;
  }
  .cos .cos__lead01 {
    margin-top: 4vw;
    font-size: 4.53333vw;
  }
  .cos .cos__box {
    margin-top: 5.33333vw;
    padding: 6.66667vw 0 9.33333vw;
    border-radius: 2.66667vw;
    background-color: #fff;
  }
  .cos .cos__lead02 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 73.33333vw;
    height: 8vw;
    margin: 0 auto;
    border-radius: 4vw;
    font-size: 4vw;
    background-color: #e5f5cb;
  }
  .cos .cos__txt01 {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    margin-top: 4vw;
  }
  .cos .cos__txt01 .txt {
    font-size: 5.06667vw;
    font-weight: 500;
  }
  .cos .cos__txt01 .big {
    font-size: 11.73333vw;
    line-height: 1;
  }
  .cos .cos__txt01 .line {
    display: inline-block;
    transform: translateY(1.33333vw);
    font-size: 8vw;
  }
  .cos .cos__txt01 .tax {
    display: inline-block;
    transform: translateY(-0.66667vw);
    font-size: 3.46667vw;
    font-weight: 400;
  }
  .cos .cos__txt02 {
    margin-top: 4.66667vw;
    font-size: 3.46667vw;
    letter-spacing: 0.07em;
    font-weight: 400;
    line-height: 1.46;
  }
  .cos .cos__btn01 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 73.33333vw;
    height: 16.66667vw;
    margin: 4.66667vw auto 0;
    padding-bottom: 0.93333vw;
    background: url(../img/cta_bg03_sp.webp) top center/100% 100% no-repeat;
    font-size: 3.86667vw;
    color: #fff;
    letter-spacing: 0.08em;
  }
}

/* =============================================================================
sup
========================================================================== */
@media screen and (max-width: 640px) {
  .sup--bg01 {
    padding: 13.33333vw 0;
  }
  .sup .sup__ttl01 {
    font-size: 6.4vw;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1.56;
  }
  .sup .sup__txt01 {
    margin-top: 2.66667vw;
    font-size: 4.8vw;
    letter-spacing: 0.05em;
    line-height: 1.5;
  }
  .sup .sup__list {
    width: 78.66667vw;
    margin: -2.13333vw auto 0;
  }
  .sup .sup__item {
    margin-top: 10.66667vw;
  }
  .sup .sup__lead01 {
    margin-top: 2.66667vw;
    font-size: 4.26667vw;
    line-height: 1.4;
  }
  .sup .sup__lead01 .small {
    display: block;
    margin-top: 2vw;
    font-size: 3.46667vw;
  }
  .sup .sup__txt02 {
    margin-top: 4vw;
    font-size: 3.46667vw;
    line-height: 1.54;
    color: #444;
    font-weight: normal;
  }
  .sup .sup__btn01 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 68vw;
    height: 10.66667vw;
    margin: 5.33333vw auto 0;
    font-size: 3.73333vw;
    color: #fff;
    background: url(../img/sup_bg01_sp.webp) top center/contain no-repeat;
  }
}

/* =============================================================================
cv
========================================================================== */
@media screen and (max-width: 640px) {
  .cv--bg01 {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 10;
  }
  .cv .cv__inner {
    display: flex;
  }
  .cv .cv__btn01, .cv .cv__btn02 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    height: 12vw;
    font-size: 3.2vw;
    letter-spacing: 0.07em;
    line-height: 1;
    color: #fff;
  }
  .cv .cv__btn01::after, .cv .cv__btn02::after {
    content: "";
    display: block;
    margin-left: 1.33333vw;
  }
  .cv .cv__btn01 {
    background-color: #85c023;
  }
  .cv .cv__btn01::after {
    width: 2.66667vw;
    height: 2.66667vw;
    background: url(../img/footer_arrow01.webp) top center/100% no-repeat;
  }
  .cv .cv__btn02 {
    background-color: #ff9600;
  }
  .cv .cv__btn02::after {
    width: 2.66667vw;
    height: 2.13333vw;
    background: url(../img/footer_arrow02.webp) top center/100% no-repeat;
    color: #fff;
  }
}

/* =============================================================================
footer
========================================================================== */
@media screen and (max-width: 640px) {
  .footer--bg01 {
    margin-bottom: 12vw;
    background-color: #444;
  }
  .footer .footer__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 17.33333vw;
  }
  .footer .footer__copy {
    font-size: 3.2vw;
    font-weight: 500;
    color: #fff;
    letter-spacing: 0.04em;
  }
}

/* =============================================================================
safari対策
========================================================================== */
@media screen and (max-width: 640px) {
  _::-webkit-full-page-media,
  _:future,
  :root .cta .cta__txt01 {
    font-size: 3.6vw;
  }
  _::-webkit-full-page-media,
  _:future,
  :root .mv .mv__ttl01 .bg {
    font-size: 8vw;
  }
  _::-webkit-full-page-media,
  _:future,
  :root .emp .emp__lead01 {
    font-size: 4vw;
  }
  _::-webkit-full-page-media,
  _:future,
  :root .emp .emp__txt04 {
    letter-spacing: 0.03em;
  }
  _::-webkit-full-page-media,
  _:future,
  :root .dec .dec__ttl01 .green {
    font-size: 8.6vw;
  }
  _::-webkit-full-page-media,
  _:future,
  :root .sup .sup__ttl01 {
    font-size: 6vw;
  }
}
