@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;
  }
}
@media only screen and (max-width: 640px) {
  .home_page .key {
    font-size: 1.1vmin;
  }
}
@media only screen and (max-width: 768px) and (orientation: landscape) {
  .home_page .key {
    font-size: 1.4vmin;
  }
  .home_page .key .key_bg .bg01 {
    background-image: url(../images/idx_key_bg_sp_hor.jpg);
  }
}
@media only screen and (max-width: 768px) and (orientation: portrait) {
  .home_page .key .key_bg .bg01 {
    background-image: url(../images/idx_key_bg_sp.jpg);
  }
}
@media only screen and (max-width: 480px) and (orientation: portrait) {
  .home_page .key {
    font-size: 1.7vmin;
  }
}
@media only screen and (max-width: 768px) {
  .home_page h3 {
    margin-bottom: 30px;
    font-size: 26px;
  }
  .home_page h3 .en {
    font-size: 18px;
  }
}
@media only screen and (max-width: 768px) {
  .idx01 {
    padding: 60px 0px 55px;
  }
  .idx01 h3 {
    margin: 0 auto 20px;
    max-width: 200px;
    font-size: 24px;
  }
  .idx01 h3 .en {
    display: block;
    font-size: 1.5em;
    margin-bottom: 0;
  }
  .idx01 h3 .en::after {
    display: none;
  }
  .idx01 .content {
    flex-direction: column;
    align-items: center;
  }
  .idx01 .content .box {
    width: 100%;
    padding: 40px 5%;
    max-width: 680px;
  }
  .idx01 .content .btn-group {
    margin-left: auto;
    margin-right: auto;
    max-width: 125px;
  }
  .idx01 .content li {
    max-width: 100%;
  }
  .idx01 .content li a {
    padding: 20px 0;
  }
  .idx01 .content li a .date {
    width: 7em;
  }
  .idx01 .content li a .title {
    width: calc(100% - 7em);
  }
}
@media only screen and (max-width: 768px) {
  .idx02 {
    padding: 60px 0;
    background-image: url(../images/idx02_bg_sp.jpg);
  }
  .idx02 .card_gr .card {
    padding: 20px 15px;
  }
  .idx02 .card_gr .card .txt_top {
    font-size: 20px;
  }
  .idx02 .card_gr .card .txt_top.fs02 {
    font-size: 22px;
  }
  .idx02 .card_gr .card h4 {
    font-size: 22px;
  }
  .idx02 .card_gr .card h4.fs02 {
    font-size: 24px;
  }
  .idx02 .card_gr .card .card_ct p {
    margin-bottom: 15px;
  }
  .idx02 .card_gr .card.style02 {
    padding: 40px 15px;
  }
  .idx02 .card_gr .card.style02 .card_ct p {
    margin-bottom: 15px;
  }
}
@media only screen and (max-width: 480px) {
  .idx02 .card_gr .card .card_ct p {
    font-size: 14px;
  }
}
@media only screen and (max-width: 768px) {
  .idx03 {
    padding: 60px 0;
    background-image: url(../images/idx03_bg_sp.jpg);
    background-position: top center;
  }
  @supports (-webkit-touch-callout: none) {
    .idx03 {
      /* Specific to iOS devices */
      margin-top: -1px;
    }
  }
  @media not all and (min-resolution: 0.001dpcm) {
    @supports (-webkit-appearance: none) {
      .idx03 {
        /* Safari */
        margin-top: -1px;
      }
    }
  }
  .idx03 .idx_box {
    justify-content: center;
    margin-bottom: 35px;
  }
  .idx03 .idx_box .left,
  .idx03 .idx_box .right {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .idx03 .idx_box .left {
    margin-bottom: 35px;
    max-width: 420px;
  }
  .idx03 .idx_box .right {
    max-width: 600px;
  }
}
@media only screen and (max-width: 430px) {
  .idx03 .idx_box .left {
    max-width: 300px;
  }
}
@media only screen and (max-width: 768px) {
  .idx04 {
    padding: 60px 0;
  }
  .idx04 h3 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
  .idx04 .circle_design {
    align-items: flex-start;
    flex-wrap: wrap;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    width: 100%;
    height: auto;
    min-height: auto;
    font-size: 10px;
  }
  .idx04 .circle_design::before {
    display: none;
  }
  .idx04 .circle_design .center_content {
    display: none;
  }
  .idx04 .circle_design .circle {
    position: relative;
    left: unset;
    top: unset;
    bottom: unset;
    right: unset;
    display: block;
    width: 100%;
    height: auto;
    padding: 30px 20px;
    border-radius: 10px;
    margin-bottom: 20px;
  }
  .idx04 .circle_design .circle::before {
    border-radius: 5px;
  }
  .idx04 .circle_design .circle:last-child {
    margin-bottom: 0;
  }
  .idx04 .circle_design .circle h4,
  .idx04 .circle_design .circle p {
    text-align: center;
  }
  .idx04 .circle_design .circle .txt_top {
    margin-bottom: 0;
  }
  .idx04 .circle_design .circle h4 {
    margin-bottom: 15px;
    font-size: 24px;
  }
  .idx04 .circle_design .circle h4::after {
    display: none;
  }
  .idx04 .circle_design .circle h4 .br01 {
    display: none;
  }
  .idx04 .circle_design .circle .content_area p {
    font-size: 14px;
  }
  .idx04 .circle_design .circle .content_area p br {
    display: none;
  }
  .idx04 .circle_design .circle.c1 {
    background-image: url(../images/idx04_content_right_bg01.jpg);
  }
  .idx04 .circle_design .circle.c2 {
    background-image: url(../images/idx04_content_right_bg02.jpg);
  }
  .idx04 .circle_design .circle.c3 {
    background-image: url(../images/idx04_content_right_bg03.jpg);
  }
  .idx04 .idx_box {
    position: relative;
    padding-top: 95px;
    flex-direction: column-reverse;
  }
  .idx04 .idx_box .btn-group {
    max-width: 300px;
    margin: 30px auto 0;
  }
  .idx04 .idx_box .left,
  .idx04 .idx_box .right {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .idx04 .idx_box .left {
    margin-top: 35px;
    max-width: 660px;
  }
}
@media only screen and (max-width: 375px) {
  .idx04 .circle_design .circle h4 .br01 {
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  .idx05 {
    padding: 60px 0 45px;
    background-image: url(../images/idx05_bg_sp.jpg);
  }
  .idx05 .card_gr {
    font-size: min(1.25vw, 9px);
  }
  .idx05 .card_gr .card {
    width: calc(50% - 2 * var(--size-mg));
  }
  .idx05 .card_gr .card .card_pic picture {
    height: 25em;
    width: 100%;
  }
  .idx05 .card_gr .card .card_pic picture img {
    height: 100%;
    -webkit-object-fit: cover;
    object-fit: cover;
  }
}
@media only screen and (max-width: 520px) {
  .idx05 .card_gr .card .card_arr {
    bottom: 1em;
    font-size: 8px;
    width: 25px;
    height: 25px;
  }
}
@media only screen and (max-width: 375px) {
  .idx05 .card_gr {
    font-size: 1.45vw;
  }
  .idx05 .card_gr .card.c3 .card_ttl, .idx05 .card_gr .card.c4 .card_ttl {
    top: 20%;
    transform: none;
  }
}
@media only screen and (max-width: 768px) {
  .idx06 {
    padding: 60px 0;
  }
  .idx06 h3 .en::after {
    position: relative;
    left: -15px;
    width: calc(100% + 30px);
  }
  .idx06 .idx_box {
    justify-content: center;
  }
  .idx06 .idx_box .left,
  .idx06 .idx_box .right {
    width: 100%;
  }
  .idx06 .idx_box .left {
    margin-bottom: 35px;
    max-width: 400px;
  }
  .idx06 .idx_flow {
    font-size: min(2vw, 8px);
  }
  .idx06 .idx_flow .flow_item {
    min-height: 200px;
  }
  .idx06 .idx_flow .flow_item h4 {
    font-size: 22px;
  }
}
@media only screen and (max-width: 480px) {
  .idx06 .idx_flow .flow_item {
    padding-right: 4em;
    padding-left: 5em;
  }
  .idx06 .idx_flow .flow_item .content_txt p {
    font-size: 14px;
  }
  .idx06 .idx_flow .item02 {
    background-position: left -5em top;
    background-size: 550px auto;
    background-color: var(--clr1);
  }
}
@media only screen and (max-width: 350px) {
  .idx06 .idx_flow .flow_item h4 {
    font-size: 20px;
  }
  .idx06 .idx_flow .item02 {
    background-position: left -10em top;
  }
}
@media only screen and (max-width: 768px) {
  .idx_banner {
    padding: 40px 0;
  }
  .idx_banner .banner {
    font-size: min(1.8vw, 10px);
  }
  .idx_banner .banner::after {
    font-size: 9px;
  }
}
@media only screen and (max-width: 375px) {
  .idx_banner .banner {
    padding-left: 3.5em;
  }
  .idx_banner .banner::after {
    font-size: 8px;
  }
}

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