@media only screen and (max-width: 768px) {
  .home_page .key {
    --height: calc(100vh);
    --max-height: 156vw;
    --min-height: 320px;
    font-size: min(1.2vmin, 7px);
  }
}
@media only screen and (max-width: 768px) and (orientation: landscape) {
  .home_page {
    --size-key-decor-grow-bot: 200px;
    --size-w-key-decor-item-left: 100%;
    --size-left-key-decor-item-left: -14%;
    --size-right-key-decor-item-right: -20%;
    --size-w-key-decor-item-right: 60%;
  }
  .home_page .key {
    font-size: 1.3vmin;
  }
  .home_page .key .key_text {
    padding-bottom: 10px;
  }
  .home_page .key .card_gr {
    margin-top: 4em;
  }
}
@media only screen and (max-width: 768px) and (orientation: portrait) {
  .home_page {
    --size-key-decor-grow-bot: 100px;
    --size-w-key-decor-item-left: 100%;
    --size-left-key-decor-item-left: -140px;
    --size-right-key-decor-item-right: -53.85%;
    --size-w-key-decor-item-right: 81%;
  }
  .home_page .key .key_text {
    align-items: center;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 14em;
  }
  .home_page .key h2,
  .home_page .key p {
    text-align: center;
  }
  .home_page .key .card_gr {
    margin-top: 3em;
    justify-content: center;
  }
  .home_page .key .key_bg .item_l {
    left: -19%;
    width: 100%;
  }
  .home_page .key .key_bg .item_r {
    height: 100%;
    width: 32%;
    right: 0;
    background-position: left bottom;
  }
  .home_page .key .key_bg .bg_list {
    width: 100%;
    right: 0;
  }
  .home_page .key .key_bg .bg_list::before {
    content: "";
    display: block;
    position: absolute;
    transition: all 0.3s;
    z-index: 4;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: 0.3;
  }
  .home_page .key .key_bg .bg_list .bg01 {
    background-image: url(../images/idx_key_bg01_sp.jpg);
  }
  .home_page .key .key_bg .bg_list .bg01 {
    background-position: left center;
  }
  .home_page .key .key_bg .bg_list .bg01::before {
    display: none;
  }
  .home_page .key .card_gr .card {
    width: calc(33.3333333% - 2 * var(--size-mg));
  }
  .home_page .key .card_gr .card::before {
    background-image: url(../images/idx_key_card_gr_item_bg_sp.png);
  }
  .home_page .key .card_gr .card::after {
    z-index: -1;
    inset: 5px;
    width: unset;
    height: unset;
    border: 1px solid white;
    opacity: 0.5;
  }
}
@media only screen and (max-width: 480px) {
  .home_page .key .card_gr .item > p {
    font-size: 2em;
  }
  .home_page .key .key_bg .bg_list .bg01 {
    background-image: url(../images/idx_key_bg01_sp_480.jpg);
  }
}
@media only screen and (max-width: 430px) {
  .home_page .key {
    font-size: min(1.5vmin, 6px);
  }
  .home_page .key h2 {
    font-size: 5em;
  }
  .home_page .key .card_gr {
    margin-top: 2em;
  }
}
@media only screen and (max-width: 768px) {
  .home_page .order1 {
    order: 1;
  }
  .home_page .order2 {
    order: 2;
  }
  .home_page .order3 {
    order: 3;
  }
  .home_page .order4 {
    order: 4;
  }
  .home_page .order5 {
    order: 5;
  }
  .home_page .order6 {
    order: 6;
  }
  .home_page .order7 {
    order: 7;
  }
  .home_page .order8 {
    order: 8;
  }
  .home_page .order9 {
    order: 9;
  }
  .home_page .order10 {
    order: 10;
  }
  .home_page .order11 {
    order: 11;
  }
  .home_page .order12 {
    order: 12;
  }
  .home_page .order13 {
    order: 13;
  }
  .home_page .order14 {
    order: 14;
  }
  .home_page .order15 {
    order: 15;
  }
  .home_page .order16 {
    order: 16;
  }
  .home_page .order17 {
    order: 17;
  }
  .home_page .order18 {
    order: 18;
  }
  .home_page .order19 {
    order: 19;
  }
  .home_page .order20 {
    order: 20;
  }
}
@media only screen and (max-width: 768px) {
  .home_page .en_h3 {
    font-size: 40px;
    text-align: center;
  }
  .home_page h3 {
    margin-bottom: 30px;
    font-size: 22px;
    text-align: center;
  }
  .home_page .box_title {
    margin-bottom: 35px;
  }
}
@media only screen and (max-width: 768px) {
  .catch_idx01_idx02::before {
    top: 0;
  }
  .catch_idx01_idx02 .idx_decor .item_l {
    left: 0;
    width: 30%;
  }
}
@media only screen and (max-width: 768px) {
  .idx01 {
    position: relative;
    z-index: 3;
  }
  .idx01 .content .box {
    padding: 30px 20px 115px;
  }
  .idx01 .content .box .box_l,
  .idx01 .content .box .box_r {
    width: 100%;
    max-width: 550px;
    margin-left: auto;
    margin-right: auto;
  }
  .idx01 .content .box .btn-group {
    position: absolute;
    bottom: 35px;
    left: 0;
    width: 100%;
  }
  .idx01 .content .box .btn-group .btn {
    margin-left: auto;
    margin-right: auto;
  }
  .idx01 .content li a .name_cate {
    margin-left: 5px;
    margin-right: 5px;
  }
}
@media only screen and (max-width: 430px) {
  .idx01 .content li a {
    flex-wrap: wrap;
    padding-right: 20px;
    background-position: right 5px bottom 10px;
  }
  .idx01 .content li a .date {
    margin-bottom: 5px;
    width: 100%;
  }
  .idx01 .content li a .name_cate {
    margin-left: 0;
  }
}
@media only screen and (max-width: 375px) {
  .idx01 .content li a .title {
    margin-top: 5px;
  }
}
@media only screen and (max-width: 768px) {
  .idx02 {
    position: relative;
    z-index: 2;
    padding: 60px 0 60px;
  }
  .idx02 .idx_box {
    justify-content: center;
  }
  .idx02 .idx_box .box_l,
  .idx02 .idx_box .box_r {
    width: 100%;
    max-width: 596px;
  }
  .idx02 .idx_box .box_l {
    margin-bottom: 30px;
  }
  .idx02 .idx_box .banner_gr {
    margin-top: 30px;
    font-size: 9px;
  }
  .idx02 .idx_box .banner_gr .banner {
    margin-left: auto;
    margin-right: auto;
  }
  .idx02 .idx_box .ttl.ttl_sm {
    font-size: 18px;
    text-align: center;
  }
  .idx02 .idx_box .ttl.ttl_big {
    font-size: 26px;
    text-align: center;
  }
  .idx02 .idx_box .box_r .ct_area p {
    margin-bottom: 25px;
  }
  .idx02 .idx_box .box_r .ct_area p br {
    display: none;
  }
  .idx02 .idx_box .box_r .ct_area p .br_auto {
    display: inline;
  }
}
@media only screen and (max-width: 390px) {
  .idx02 .idx_box .box_r .ct_area p br {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .idx03 {
    padding-top: 60px;
  }
  .idx03 .box_title {
    width: 100%;
  }
  .idx03 .idx_box .box_ct {
    width: 100%;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
  }
  .idx03 .card_gr {
    margin-top: 40px;
    font-size: min(1.8vw, 7px);
  }
  .idx03 .card_gr .card .num {
    font-size: 16px;
  }
  .idx03 .idx_box .ct_area p {
    margin-bottom: 20px;
  }
  .idx03 .idx_box .ct_area p br {
    display: none;
  }
  .idx03 .idx_box .ct_area p .br_auto {
    display: inline;
  }
}
@media only screen and (max-width: 430px) {
  .idx03 .card_gr .card {
    min-height: 37em;
  }
  .idx03 .card_gr .card .card_ico {
    font-size: 0.9em;
    margin-bottom: 2em;
  }
  .idx03 .card_gr .card .card_ttl {
    font-size: 2.4em;
  }
}
@media only screen and (max-width: 390px) {
  .idx03 .idx_box .ct_area p br {
    display: none;
  }
  .idx03 .card_gr .card {
    min-height: 33em;
  }
}
@media only screen and (max-width: 768px) {
  .idx04 {
    --size-padding-top-idx04: 60px;
    --size-padding-bot-idx04: 60px;
  }
  .idx04 .feature_gr {
    justify-content: center;
  }
  .idx04 .feature_gr h4 {
    text-align: center;
  }
  .idx04 .feature_gr .row {
    display: contents;
  }
  .idx04 .feature_gr .feature_item {
    padding-bottom: 30px;
    margin-bottom: 30px;
    width: 100%;
    max-width: 480px;
    border-bottom: 1px solid rgba(0, 72, 49, 0.2);
  }
  .idx04 .feature_gr .feature_item::after {
    content: "";
    display: block;
    position: absolute;
    transition: all 0.3s;
    z-index: -1;
    left: 0;
    bottom: -1px;
    width: 100px;
    height: 1px;
    background-color: var(--main-color);
  }
  .idx04 .feature_gr > .feature_item:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }
  .idx04 .feature_gr > .feature_item:last-child::after {
    display: none;
  }
  .idx04 .feature_gr .item_pic picture {
    display: table;
    margin-left: auto;
    margin-right: auto;
  }
  .idx04 .feature_gr .feature_item h4 {
    font-size: 20px;
  }
  .idx04 .box_title {
    margin-bottom: 25px;
  }
  .idx04 .idx04_title_top {
    margin-bottom: 30px;
  }
  .idx04 .idx04_title_top > p {
    text-align: center;
  }
  .catch_sec01::before,
  .catch_sec01::after {
    height: 60px;
  }
}
@media only screen and (max-width: 768px) {
  .idx05 {
    padding: 60px 0 60px;
  }
  .idx05 .box_title_top {
    margin-bottom: 40px;
  }
  .idx05 .box_title_top > p {
    font-size: 20px;
  }
  .idx05 .box_title h3 {
    margin-bottom: 15px;
  }
  .idx05 .box_title .txt {
    text-align: center;
  }
  .idx05 .idx_box_gr {
    justify-content: center;
  }
  .idx05 .idx_box_gr .col_l,
  .idx05 .idx_box_gr .col_r {
    width: 100%;
    max-width: 500px;
  }
  .idx05 .idx_box_gr .col_l {
    margin-bottom: 30px;
  }
  .idx05 .idx_box_gr .idx_box {
    padding: 20px 15px;
    margin-bottom: 30px;
    width: 100%;
  }
  .idx05 .idx_box_gr .idx_box .box_pic > p {
    font-size: 16px;
    line-height: 2.2;
  }
  .idx05 .idx_box_gr .idx_box .box_pic > p > span {
    padding: 5px;
  }
  .idx05 .idx_box_gr .idx_box .box_pic .txt-bot {
    margin-bottom: 15px;
  }
  .idx05 .idx_box_gr .idx_box .box_ct .ttl {
    font-size: 20px;
  }
  .idx05 .idx_box_gr .idx_box .box_ct {
    padding: 25px 20px;
  }
  .idx05 .idx_box_gr .idx_box .btn-group .btn {
    max-width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .idx_case {
    padding: 60px 0;
  }
  .idx_case::before {
    background-size: 120% auto;
  }
  .idx_case .card_gr {
    --size-space-left-right-card-ct: 20px;
    --size-height-img: 250px;
    --size-w-card: clamp(230px,calc(100vw - 100px),300px);
    --size-w-btn-slick: clamp(35px,5.2vw,40px);
  }
  .idx_case .card_gr .slick-track {
    display: flex !important;
  }
  .idx_case .card_gr .card {
    width: var(--size-w-card);
    height: auto;
  }
  .idx_case .card_gr .card .card_ct {
    padding-top: 25px;
  }
  .idx_case .card_gr .card .card_btn a {
    min-height: 55px;
    padding-right: 25px;
  }
  .idx_case .card_gr .card .card_btn a::after {
    right: 15px;
  }
  .idx_case .card_gr .slick-prev,
  .idx_case .card_gr .slick-next {
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: var(--size-w-btn-slick);
    height: var(--size-w-btn-slick);
    background-color: var(--main-color);
  }
  .idx_case .card_gr .slick-prev::before,
  .idx_case .card_gr .slick-next::before {
    content: "";
    display: block;
    position: absolute;
    transition: all 0.3s;
    z-index: -1;
    inset: 0;
    margin: auto;
    width: 7px;
    height: 10px;
    background-color: white;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
  }
  .idx_case .card_gr .slick-prev {
    left: calc((100% - var(--size-w-card)) / 2 - var(--size-w-btn-slick) / 2);
    width: var(--size-w-btn-slick);
    height: var(--size-w-btn-slick);
  }
  .idx_case .card_gr .slick-prev::before {
    transform: rotate(180deg);
  }
  .idx_case .card_gr .slick-next {
    left: auto;
    right: calc((100% - var(--size-w-card)) / 2 - var(--size-w-btn-slick) / 2);
  }
  .idx_case .btn-group {
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
  }
  .idx_case .btn-group .btn {
    width: 100%;
    max-width: 304px;
  }
}
@media only screen and (max-width: 430px) {
  .idx_case .card_gr .card {
    margin-top: 10px;
    margin-bottom: 10px;
  }
}
@media only screen and (max-width: 768px) {
  .catch_sec02 {
    --size-h-bg-top: clamp(270px, 51.3vw, 400px);
    --size-w-clip-path: clamp(220px, 50%, 500px);
  }
  .catch_sec02 .catch_sec_bg .item02 {
    top: auto;
    bottom: -1px;
    width: 120%;
    height: 40%;
    right: -20%;
    background-image: url(../images/idx_catch_sec02_bg02_SP.jpg);
  }
}
@media only screen and (max-width: 768px) {
  .idx06 .box_title {
    margin-bottom: 0;
  }
  .idx06 .box_title,
  .idx06 .idx_box {
    width: calc(100% - 40px);
    padding-left: 20px;
    padding-right: 20px;
    margin-left: auto;
    margin-right: auto;
  }
  .idx06 .idx_box {
    flex-direction: column-reverse;
    align-items: center;
    padding: 40px 20px;
  }
  .idx06 .idx_box .box_pic {
    margin-bottom: 30px;
    max-width: 500px;
  }
  .idx06 .idx_box .box_ct {
    max-width: 500px;
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .idx07 {
    padding: 60px 0;
  }
  .idx07 .reason_box {
    --size-space-box-left: 10px;
    --size-space-box-top: 15px;
  }
  .idx07 .reason_box h4 {
    font-size: 20px;
  }
  .idx07 .idx_box {
    justify-content: center;
  }
  .idx07 .idx_box .box_r {
    width: 100%;
  }
  .idx07 .idx_box .box_r .btn-group {
    margin-top: 35px;
  }
  .idx07 .idx_box .box_r .btn-group .btn {
    margin-left: auto;
    margin-right: auto;
  }
  .idx07 .idx_box .box_r .btn-group .btn a {
    min-height: 70px;
  }
}
@media only screen and (max-width: 768px) {
  .index0 {
    padding: 60px 0px 60px;
    background-color: #000;
  }
  .index07 {
    padding: 60px 0px 55px;
  }
  .index07 .content {
    flex-direction: column;
    align-items: center;
  }
  .index07 .content .box {
    margin-bottom: 5px;
    width: 100%;
    padding: 40px 5%;
    max-width: 680px;
  }
  .index07 .content .btn-group {
    max-width: 150px;
    width: 44%;
  }
  .index07 .content li {
    max-width: 100%;
  }
  .index07 .content li a {
    padding: 20px 0;
  }
  .index07 .content li a .date {
    width: 7em;
  }
  .index07 .content li a .title {
    width: calc(100% - 7em);
  }
}

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