@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.4vmin;
  }
}
@media only screen and (max-width: 768px) and (orientation: landscape) {
  .home_page .key {
    font-size: 1.3vmin;
  }
  .home_page .key_circle {
    right: 5em;
  }
}
@media only screen and (max-width: 768px) and (orientation: portrait) {
  .home_page .key {
    --min-height: 900px;
    font-size: min(1.1vmin, 6px);
    background-image: url(../images/idx_key_mv_sp_ver.jpg);
  }
  .home_page .key .inner_big {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    flex-wrap: wrap;
    flex-direction: column;
    height: var(--height);
    min-height: var(--min-height);
    max-height: var(--max-height);
    padding: 4em 6em 10em;
  }
  .home_page .key .catch {
    max-width: 100%;
  }
  .home_page .key .key_text {
    margin-bottom: 4em;
  }
  .home_page .key .key_text .item {
    align-items: flex-end;
    height: auto;
    min-height: unset;
    max-height: unset;
    padding: 0;
  }
  .home_page .key h2 {
    margin-bottom: 0.3em;
    font-size: 5em;
    line-height: 1.4;
  }
  .home_page .key h2 .txt_big {
    margin-left: -0.15em;
    margin-top: 0.2em;
    font-size: 1.15em;
  }
  .home_page .key .box_num {
    left: -0.6em;
    justify-content: flex-start;
    width: 100%;
    font-size: 0.95em;
  }
  .home_page .key .box_num .left .left_top .num {
    font-size: 21.6em;
    white-space: nowrap;
  }
  .home_page .key .box_num .left .left_top .txt_note {
    padding-bottom: 4.6em;
  }
  .home_page .key .box_num .left .left_top .txt_note .note_top {
    font-size: 2.4em;
  }
  .home_page .key .box_num .left .left_top .txt_note .note_main {
    font-size: 4.8em;
  }
  .home_page .key .box_num .left .left_top .txt_note .note_main .char {
    font-size: 0.7083333em;
  }
  .home_page .key .box_num .left .txt_bot {
    font-size: 2em;
  }
  .home_page .key .box_num .circle {
    margin-left: 3em;
    width: 19.2em;
    height: 19.2em;
    font-size: 0.9em;
  }
  .home_page .key .key_circle {
    position: relative;
    bottom: 0;
    right: 0;
    font-size: 1.1em;
  }
  .home_page .key .key_circle .circle .ttl {
    font-size: 2.2em;
  }
  .home_page .key .key_circle .circle.st2 {
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 480px) {
  .home_page .key {
    --min-height: 520px;
  }
}
@media only screen and (max-width: 430px) {
  .home_page .key .inner_big {
    padding: 4em;
  }
}
@media only screen and (max-width: 768px) {
  .home_page h3 {
    margin-bottom: 30px;
    font-size: 26px;
  }
  .home_page h3 .en {
    font-size: 14px;
  }
}
@media only screen and (max-width: 430px) {
  .home_page h3 {
    font-size: 23px;
  }
}
@media only screen and (max-width: 768px) {
  .idx01 {
    padding: 60px 0 60px;
    background-image: url(../images/idx01_bg_sp.jpg);
  }
  .idx01 .box_list {
    padding: 40px clamp(15px, 2.8vw, 20px);
  }
  .idx01 .idx_box {
    justify-content: center;
  }
}
@media only screen and (max-width: 430px) {
  .idx01 .box_list .en {
    font-size: min(10.5vw, 40px);
  }
  .idx01 .box_list ul li {
    padding-left: 2.5em;
    padding-right: 5px;
    background-position: left 0.4em center;
  }
}
@media only screen and (max-width: 768px) {
  .idx03 {
    padding-top: 90px;
  }
  .idx03 .box_decor01 .en-big {
    font-size: min(11.2vw, 80px);
  }
  .idx03 h4 {
    font-size: clamp(22px, 3.3vw, 24px);
  }
  .idx03 h4 .frame {
    margin-right: 5px;
    line-height: 1.7;
  }
  .idx03 .idx_box_style01 {
    padding: 30px 20px;
  }
  .idx03 .idx_box_style01::before {
    background-image: url(../images/idx03_box_bg01_sp.jpg);
  }
  .idx03 .idx_box_style01::after {
    background-image: url(../images/idx03_box_bg02_sp.jpg);
  }
  .idx03 .idx_box_style01 .ct_area {
    margin-bottom: 35px;
  }
}
@media only screen and (max-width: 480px) {
  .idx03 .idx_box_style01 {
    padding-left: 15px;
    padding-right: 15px;
  }
  .idx03 .idx_box_style01::before, .idx03 .idx_box_style01::after {
    width: 100%;
    height: 50%;
  }
  .idx03 .idx_box_style01::after {
    top: auto;
    bottom: 0;
  }
  .idx03 .idx_box_style01 .ct_area p br {
    display: none;
  }
}
@media only screen and (max-width: 430px) {
  .idx03 h4 {
    font-size: min(5vw, 20px);
  }
  .idx03 h4 .line02 {
    font-size: 1.2em;
  }
}
@media only screen and (max-width: 768px) {
  .idx04 {
    padding-top: 60px;
  }
  .idx04 .idx_box_top {
    justify-content: center;
    margin-bottom: 20px;
  }
  .idx04 .idx_box_top .item02 {
    order: 1;
    margin-bottom: 30px;
    width: 100%;
  }
  .idx04 .idx_box_top .item01 {
    order: 2;
    padding-left: 0;
    width: 37%;
    margin-right: 2%;
  }
  .idx04 .idx_box_top .item03 {
    order: 3;
    margin-left: 2%;
  }
  .idx04 .idx_box_top .circle_gr {
    width: 34em;
    font-size: min(1.5vw, 8px);
  }
  .idx04 .idx_box_item {
    --size-mg: 8px;
  }
  .idx04 .idx_box_item h4 {
    font-size: 22px;
    margin-bottom: 15px;
  }
}
@media only screen and (max-width: 360px) {
  .idx04 .idx_box_top h3 {
    font-size: 23px;
  }
}
@media only screen and (max-width: 768px) {
  .idx05 {
    padding: 60px 0 60px;
  }
}
@media only screen and (max-width: 768px) {
  .idx06 .idx_box_gr .idx_box {
    margin-bottom: 60px;
    width: calc(50% - 5px);
  }
  .idx06 .idx_box_gr .idx_box picture {
    margin-bottom: 20px;
  }
  .idx06 .idx_box_gr .idx_box picture::before {
    font-size: clamp(40px, 6.8vw, 50px);
  }
  .idx06 .idx_box_gr .idx_box .box_ct {
    padding-left: 10px;
  }
}
@media only screen and (max-width: 480px) {
  .idx06 .idx_box_gr .idx_box h4 {
    margin-bottom: 10px;
    font-size: min(4.4vw, 16px);
    margin-right: -1em;
  }
}
@media only screen and (max-width: 430px) {
  .idx06 .idx_box_gr .idx_box .box_ct {
    padding-left: 5px;
    padding-right: 5px;
  }
}
@media only screen and (max-width: 768px) {
  .idx07 {
    padding: 0 0 60px;
  }
  .idx07 .details_sheet {
    width: 900px;
  }
  .idx07 .tbl_note {
    margin-top: 10px;
    opacity: 0.5;
  }
}
@media only screen and (max-width: 768px) {
  .idx08 {
    padding: 60px 0 60px;
  }
  .idx08 .item_gr {
    --size-mg: .8em;
    font-size: min(2.4vw, 9px);
  }
}
@media only screen and (max-width: 430px) {
  .idx08 .item_gr .item .circle {
    margin-bottom: 1.5em;
  }
}
@media only screen and (max-width: 768px) {
  .idx09 {
    padding: 60px 0 60px;
  }
  .idx09 .flow_slick-nav {
    margin-bottom: 30px;
    margin-left: auto;
    margin-right: auto;
    max-width: 80em;
    font-size: min(2vw, 8px);
  }
  .idx09 .flow_slick-nav .nav_item {
    width: calc(50% - 2 * var(--size-mg));
  }
  .idx09 .flow_slick-nav .nav_item:nth-child(2n)::after {
    display: none;
  }
  .idx09 .flow_slick_btn {
    width: var(--size-w-item);
    font-size: clamp(5px, 1.5vw, 8px);
  }
  .idx09 .flow_gr {
    --size-space: 30px;
    --size-w-item: calc(100vw - 80px);
    --size-min-h-item: 540px;
  }
  .idx09 .flow_slick-for .flow_item .item_ct {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: calc(var(--size-min-h-item) / 2);
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .idx09 .flow_slick-for .flow_item .item_ct h4 {
    font-size: 22px;
  }
}
@media only screen and (max-width: 480px) {
  .idx09 .flow_slick-for .flow_item {
    background: url(../images/idx09_bg_decor01.jpg) no-repeat center/cover;
  }
  .idx09 .flow_slick-for .flow_item .item_ct {
    background-color: rgba(255, 255, 255, 0.5);
  }
  .idx09 .flow_slick-for .flow_item::before {
    height: 127vw;
    mask-image: linear-gradient(to top, transparent 45%, black 64%);
    -webkit-mask-image: linear-gradient(to top, transparent 45%, black 64%);
    background-size: 150% auto;
  }
}
@media only screen and (max-width: 430px) {
  .idx09 .flow_gr {
    --size-w-item: calc(100vw - 60px);
    --size-min-h-item: 550px;
  }
  .idx09 .flow_slick-for .flow_item .item_ct {
    padding: 30px 15px;
    height: calc(var(--size-min-h-item) / 1.5);
  }
}
@media only screen and (max-width: 768px) {
  .idx11 {
    padding: 60px 0 60px;
  }
  .idx11 h3 {
    padding-left: 20px;
    padding-right: 20px;
  }
  .idx11 h4 {
    margin-left: auto;
    margin-right: auto;
    font-size: 22px;
    text-align: center;
  }
  .idx11 .idx_box {
    flex-direction: column-reverse;
    align-items: center;
  }
  .idx11 .idx_box .box_pic {
    margin-bottom: 30px;
    max-width: 350px;
    mask-image: linear-gradient(to top, transparent 0, black 10%);
    -webkit-mask-image: linear-gradient(to top, transparent 0, black 10%);
  }
  .idx11 .list_st02 li {
    font-size: 20px;
    padding-right: 15px;
  }
}
@media only screen and (max-width: 430px) {
  .idx11 h4 {
    font-size: 20px;
  }
}
@media only screen and (max-width: 768px) {
  .idx12 {
    padding: 60px 0 60px;
  }
  .idx12 .feature_gr {
    justify-content: center;
  }
  .idx12 .feature_gr .feature_box {
    margin-bottom: 40px;
  }
  .idx12 .feature_gr .feature_box:last-child {
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 768px) {
  .idx14 {
    padding: 60px 0 60px;
  }
  .idx14 .label_gr {
    --size-mg: 5px;
    margin-bottom: 45px;
  }
  .idx14 .label_gr .box_label {
    width: calc(50% - 2 * var(--size-mg));
  }
  .idx14 .label_gr .box_label > p {
    font-size: min(4vw, 16px);
  }
  .idx14 .price_box_gr .price_box {
    width: calc(50% - 5px);
  }
  .idx14 .price_box_gr .price_box .box_details .b_body {
    padding: 17px 20px 35px;
  }
  .idx14 .price_box_gr .price_box .box_details .b_txt_top {
    font-size: 22px;
    line-height: 1.5;
  }
  .idx14 .price_box_gr .price_box .box_details .b_body .b_ttl {
    font-size: 20px;
    min-width: auto;
  }
  .idx14 .price_box_gr .price_box .box_details .b_body .b_frame {
    padding: 20px;
  }
  .idx14 .txt_frame .ttl {
    font-size: 22px;
  }
}
@media only screen and (max-width: 520px) {
  .idx14 .price_box_gr .price_box {
    width: 100%;
    max-width: 400px;
    margin: 0 auto 0;
  }
  .idx14 .price_box_gr .price_box:not(:last-of-type) {
    margin-bottom: 35px;
  }
  .idx14 .price_box_gr .price_box .id_scroll {
    top: -20px;
  }
}
@media only screen and (max-width: 430px) {
  .idx14 .txt_frame .ttl {
    font-size: 18px;
  }
}
@media only screen and (max-width: 375px) {
  .idx14 .price_box_gr .price_box .box_details .b_body .b_frame {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media only screen and (max-width: 768px) {
  .idx15 {
    padding-top: 60px;
  }
}
@media only screen and (max-width: 768px) {
  .idx16 {
    padding: 60px 0 60px;
  }
}
@media only screen and (max-width: 768px) {
  .idx17 {
    padding-bottom: 60px;
  }
  .idx17 h3 {
    flex-direction: column-reverse;
  }
  .idx17 .inner_big::before {
    width: 100%;
    right: 0;
    background-image: url(../images/idx17_bg_sp.jpg);
  }
  .idx17 .box_name {
    font-size: min(2.5vw, 9px);
  }
  .idx17 .idx_box {
    justify-content: center;
  }
  .idx17 .idx_box .box_pic {
    padding-right: 40px;
    padding-bottom: 40px;
    margin-bottom: 30px;
  }
}
@media only screen and (max-width: 768px) {
  .idx18 {
    padding: 30px 0 60px;
  }
  .idx18 .idx_logo {
    max-width: 280px;
    margin: 0 auto 35px;
  }
  .idx18 .infor {
    margin-bottom: 35px;
  }
  .idx18 .idx_map {
    margin-top: 35px;
  }
  .idx18 .idx_box {
    justify-content: center;
  }
  .idx18 .idx_box .box_ct,
  .idx18 .idx_box .box_pic {
    width: 100%;
    max-width: 436px;
    margin-left: auto;
    margin-right: auto;
  }
  .idx18 .idx_box .box_ct {
    margin-bottom: 40px;
  }
}
@media only screen and (max-width: 375px) {
  .idx18 .infor dl {
    --size-w-dt: 58px;
  }
}

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