@media only screen and (max-width: 768px) {
  .home_page .key {
    --height: calc(100vh - 60px);
    --max-height: 156vw;
    --min-height: 320px;
    font-size: 8px;
  }
  .home_page .key .key_text .item {
    padding: 10px;
  }
  .home_page .key h2 {
    padding-left: 0.2em;
    padding-right: 0.2em;
  }
}
@media only screen and (max-width: 768px) and (orientation: landscape) {
  .home_page .key {
    --min-height: 100vh;
    --max-height: 100vh;
    font-size: 1.2vmin;
  }
  .home_page .key .inner {
    padding-right: 6em;
  }
  .home_page .key h2 {
    font-size: 5.5em;
  }
  .home_page .key .item .catch {
    padding-bottom: 5em;
    max-width: 60vw;
    margin-left: auto;
    margin-right: 0;
  }
}
@media only screen and (max-width: 768px) and (orientation: portrait) {
  .home_page .key {
    font-size: min(1.3vmin, 7px);
    background-image: url(../images/idx_key_mv01_sp_ver.jpg);
    background-position: left center;
  }
  .home_page .key .catch {
    padding-bottom: 15em;
  }
  .home_page .key h2,
  .home_page .key p {
    text-align: center;
    text-shadow: 0 0 0.2em rgba(20, 47, 96, 0.3), 0 0 0.2em rgba(20, 47, 96, 0.3), 0 0 0.2em rgba(20, 47, 96, 0.3), 0 0 0.2em rgba(20, 47, 96, 0.3), 0 0 0.6em rgba(20, 47, 96, 0.3), 0 0 0.6em rgba(20, 47, 96, 0.3), 0 0 0.6em rgba(20, 47, 96, 0.3), 0 0 0.8em rgba(20, 47, 96, 0.3);
  }
  .home_page .key h2 {
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (max-width: 768px) {
  .home_page h3 {
    margin-bottom: 30px;
    font-size: 26px;
    text-align: center;
  }
  .home_page h3 .en {
    font-size: 18px;
  }
  .home_page h3.has_line::after {
    margin-left: auto;
    margin-right: auto;
  }
  .home_page h4.style01 {
    font-size: 22px;
  }
  .home_page h4.style01.bg02 {
    font-size: 18px;
  }
}
@media only screen and (max-width: 768px) {
  .idx01 {
    padding: 60px 0;
  }
  .idx01 .card_gr {
    font-size: min(1.7vw, 8px);
  }
  .idx01 .card_gr .card {
    width: calc(50% - 2 * var(--size-mg));
  }
  .idx01 .card_gr .card h4 {
    padding: 0 0.5em;
  }
  .idx01 .idx_box {
    padding: 40px 20px;
  }
}
@media only screen and (max-width: 768px) {
  .idx02 {
    padding: 60px 0;
  }
  .idx02 .circle_gr {
    --size-mg: 1em;
    margin-top: 35px;
    font-size: min(0.9vw, 6px);
  }
  .idx02 .idx_box {
    justify-content: center;
  }
  .idx02 .idx_box .box_ct,
  .idx02 .idx_box .box_pic {
    width: 100%;
    max-width: 500px;
  }
  .idx02 .idx_box .ct_area {
    margin-top: 30px;
  }
  .idx02 .idx_box .btn-group {
    margin-top: 30px;
  }
  .idx02 .idx_box .btn-group .btn02 {
    margin-left: auto;
    margin-right: auto;
  }
  .idx02 .idx_box.idx_box_st02 .box_ct {
    padding: 40px 20px;
  }
  .idx02 .idx_box.idx_box_st02 .box_ct::after {
    left: 50%;
    transform: translateX(-50%);
    width: calc(100vw - 40px);
    max-width: 640px;
    background-size: 100% auto;
    background-repeat: repeat-y;
  }
}
@media only screen and (max-width: 480px) {
  .idx02 .circle_gr .circle h4 {
    font-size: min(4em, 14px);
  }
  .idx02 .circle_gr .circle h4 .en {
    margin-top: 0;
  }
  .idx02 .circle_gr .circle .card_sd {
    background-size: 6px auto;
  }
}
@media only screen and (max-width: 768px) {
  .idx03 {
    padding: 60px 0 60px;
  }
  .idx03 .idx_box {
    justify-content: center;
  }
  .idx03 .idx_box h4 {
    margin-bottom: 20px;
    text-align: center;
  }
  .idx03 .idx_box .ct_area {
    max-width: 550px;
    margin-left: auto;
    margin-right: auto;
  }
  .idx03 .idx_box .box_pic {
    max-width: 560px;
    width: calc(100% - 40px);
  }
  .idx03 .idx_box .box_pic .box_name {
    bottom: 3em;
    font-size: min(1.5vw, 8px);
  }
  .idx03 .idx_box .box_pic .pic_item.pic02 {
    width: 64%;
  }
  .idx03 .idx_box .box_ct {
    width: 100%;
    max-width: 600px;
    padding: 40px 20px 30px;
  }
  .idx03 .idx_box .box_ct::before {
    left: 50%;
    transform: translateX(-50%);
    width: calc(100vw - 40px);
    max-width: 640px;
    height: calc(100% + 250px);
  }
  .idx03 .idx_box .btn-group {
    margin-top: 30px;
  }
  .idx03 .card_gr {
    --size-mg: 1em;
    --min-height-txt-top: 4em;
    margin-top: 35px;
    margin-bottom: -4em;
    font-size: min(1.45vw, 8px);
  }
  .idx03 .card_gr .card {
    margin-top: 4em;
    margin-bottom: 4em;
    width: calc(50% - 2 * var(--size-mg));
  }
  .idx03 .card_gr .card .min-h-3line {
    min-height: 3.7em;
  }
  .idx03 .card_gr .btn-group .btn {
    min-width: auto;
  }
  .idx03 .card_gr_st02 {
    font-size: min(1.35vw, 9px);
  }
  .idx03 .card_gr_st02 .card {
    padding: 1em;
    width: calc(50% - 2 * var(--size-mg));
  }
}
@media only screen and (max-width: 480px) {
  .idx03 .idx_box .box_ct::before {
    height: calc(100% + 33vw);
  }
}
@media only screen and (max-width: 430px) {
  .idx03 .card_gr {
    --fs-p-02: 14px;
  }
  .idx03 .card_gr .card {
    padding-top: 8em;
  }
  .idx03 .card_gr .card .card_txt_top {
    font-size: 2.4em;
  }
}
@media only screen and (max-width: 768px) {
  .idx04 {
    padding-top: 60px;
  }
  .idx04 .pic_gr {
    margin-top: 30px;
  }
  .idx04 .pic_gr h4 {
    font-size: min(5vw, 22px);
  }
  .idx04 .idx_box {
    justify-content: center;
  }
  .idx04 .idx_box .box_pic,
  .idx04 .idx_box .box_ct {
    width: 100%;
    max-width: 550px;
  }
  .idx04 .idx_box .box_ct {
    padding: 40px 20px;
  }
  .idx04 .idx_box .box_ct::before {
    width: calc(100vw - 40px);
    max-width: 640px;
    left: 50%;
    transform: translateX(-50%);
  }
  .idx04 .idx_box .box_ct .btn-group {
    margin-top: 30px;
  }
  .idx04 .idx_box .box_pic {
    margin-bottom: 30px;
  }
  .idx04 .idx_box.img_l {
    position: relative;
  }
  .idx04 .idx_box.img_l .box_pc {
    position: unset;
    margin-bottom: 0;
  }
  .idx04 .idx_box.img_l .box_ct {
    padding-bottom: 150px;
  }
  .idx04 .idx_box.img_l .btn-group {
    position: absolute;
    bottom: 40px;
    left: 0;
    width: 100%;
  }
  .idx04 .idx_box.img_r {
    margin-top: 40px;
  }
}
@media only screen and (max-width: 768px) {
  .idx05 {
    padding: 60px 0;
  }
  .idx05 .feature_gr {
    justify-content: center;
  }
  .idx05 .feature_box {
    padding: 0 min(5%, 40px) 40px;
    margin-bottom: 40px;
    max-width: 550px;
  }
  .idx05 .feature_box:last-of-type {
    margin-bottom: 0;
  }
  .idx05 .feature_box:nth-of-type(2), .idx05 .feature_box:nth-of-type(4) {
    padding-top: 40px;
    background-color: var(--main-color);
  }
  .idx05 .feature_box:nth-of-type(2)::before, .idx05 .feature_box:nth-of-type(4)::before {
    display: none;
  }
  .idx05 .feature_box:nth-of-type(2) .box_img_point, .idx05 .feature_box:nth-of-type(4) .box_img_point {
    color: white;
  }
  .idx05 .feature_box:nth-of-type(2) h4, .idx05 .feature_box:nth-of-type(4) h4 {
    color: white;
  }
  .idx05 .feature_box:nth-of-type(2) .ct_area p, .idx05 .feature_box:nth-of-type(4) .ct_area p {
    color: white;
  }
  .idx05 .feature_box h4 {
    margin-bottom: 25px;
    font-size: 24px;
  }
  .idx05 .feature_box .box_img {
    margin-bottom: 45px;
  }
  .idx05 .feature_box .box_img picture::before {
    left: 20px;
    top: 20px;
  }
  .idx05 .feature_box .box_img picture::after {
    font-size: min(1.7vw, 7px);
  }
  .idx05 .feature_box .btn-group {
    margin-top: 25px;
  }
}
@media only screen and (max-width: 430px) {
  .idx05 .feature_box .box_img .box_img_point {
    left: 10px;
    bottom: -1.75em;
  }
  .idx05 .feature_box .box_img .box_img_point::after {
    font-size: min(17vw, 60px);
  }
}
@media only screen and (max-width: 768px) {
  .idx06 {
    padding: 60px 0;
  }
  .idx06 h3 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
  .idx06 h4 {
    text-align: center;
  }
  .idx06 .idx_box {
    position: relative;
    flex-direction: column-reverse;
    align-items: center;
    padding-top: 95px;
  }
  .idx06 .idx_box .box_pic {
    padding-top: 20px;
    margin-bottom: 30px;
    font-size: min(1.5vw, 8.5px);
  }
  .idx06 .idx_box .pic_gr {
    font-size: min(1.2vw, 8px);
  }
  .idx06 .idx_box .ct_area {
    margin-bottom: 30px;
  }
  .idx06 .idx_box .box_left_top {
    max-width: 100%;
  }
  .idx06 .idx_box .box_left {
    width: 100%;
    max-width: 600px;
  }
  .idx06 .idx_box .box_right {
    width: 100%;
    max-width: 550px;
  }
  .idx06 .idx_box .btn-group {
    margin-top: 0;
    margin-bottom: 40px;
  }
}
@media only screen and (max-width: 430px) {
  .idx06 .idx_box .box_name {
    bottom: 3em;
    min-height: 14em;
    font-size: min(1.5em, 8px);
  }
  .idx06 .idx_box .box_name .position {
    font-size: 2em;
  }
}
@media only screen and (max-width: 340px) {
  .idx06 h4.pos01 br {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .idx07 {
    padding: 60px 0;
  }
  .idx07 .loop_wrap {
    top: -30px;
  }
  .idx07 .idx_box {
    justify-content: center;
  }
  .idx07 .idx_box .box_left,
  .idx07 .idx_box .box_right {
    width: 100%;
    max-width: 585px;
  }
  .idx07 .idx_box .box_left {
    margin-bottom: 40px;
  }
  .idx07 .btn-group {
    margin-top: 30px;
  }
}
@media only screen and (max-width: 430px) {
  .idx07 .loop_wrap {
    top: -21px;
  }
  .idx07 .loop_wrap .en-big {
    font-size: 40px;
  }
}
@media only screen and (max-width: 768px) {
  .idx08 {
    padding: 60px 0;
  }
  .idx08 h3 {
    margin-bottom: 20px;
    font-size: 24px;
  }
  .idx08 h3 .en {
    font-size: 16px;
  }
  .idx08 .content {
    justify-content: center;
  }
  .idx08 .content .box {
    width: 100%;
  }
  .idx08 .content .box:not(:last-of-type) {
    margin-bottom: 40px;
  }
  .idx08 .content li a {
    --w: 6em;
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .idx08 .btn-group {
    position: relative;
    z-index: 1;
    margin-top: 35px;
  }
}
@media only screen and (max-width: 768px) {
  .idx09 {
    padding: 60px 0;
  }
  .idx09 .btn-group {
    margin-top: 35px;
  }
}
@media only screen and (max-width: 640px) {
  .idx09 .ct_area {
    max-width: 580px;
    margin-left: auto;
    margin-right: auto;
  }
  .idx09 .ct_area p br {
    display: none;
  }
}

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