@media only screen and (max-width: 768px) {
  .home_page .key {
    --height: calc(100vh);
    --max-height: 156vw;
    --min-height: 320px;
    font-size: 8px;
  }
}
@media only screen and (max-width: 768px) and (orientation: landscape) {
  .home_page .key {
    font-size: 1.3vmin;
  }
  .home_page .key .key_bg {
    --size-w-bg-left: calc(69vw + 4.1em);
    --position-right: calc(37% - 4.1em);
  }
  .home_page .key .key_scroll {
    left: 10px;
    bottom: 10px;
  }
  .home_page .key .key_bg .bg_right {
    background-position: left 10em top;
  }
}
@media only screen and (max-width: 768px) and (orientation: portrait) {
  .home_page .key {
    font-size: min(1vw, 7px);
  }
  .home_page .key .key_ct {
    justify-content: flex-end;
    align-items: center;
    padding: 20px 10px 10em;
  }
  .home_page .key .key_ct p {
    font-size: max(15px, 2.6em);
  }
  .home_page .key .key_circle_gr .circle .circle_ttl {
    font-size: max(10px, 1.8em);
  }
  .home_page .key .key_circle_gr {
    --size-mg: -5px;
    margin-top: 3em;
  }
  .home_page .key .key_circle_gr .c2,
  .home_page .key .key_circle_gr .c4,
  .home_page .key .key_circle_gr .c3 {
    margin-top: calc(var(--size-mg));
  }
  .home_page .key .key_bg .bg_right {
    left: 0;
    top: 0;
    width: 100%;
    height: 55%;
    background-image: url(../images/idx_key_bg_right_sp_ver.jpg);
    background-position: center top -6em;
  }
  .home_page .key .key_bg .bg_left {
    top: auto;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 55%;
    clip-path: polygon(0 0, 100% 10em, 100% 100%, 0 100%);
  }
  .home_page .key .key_scroll {
    font-size: 6px;
    left: 10px;
    bottom: 10px;
  }
}
@media only screen and (max-width: 640px) and (orientation: portrait) {
  .home_page .key .key_ct {
    padding-bottom: 13.5em;
  }
}
@media only screen and (max-width: 600px) {
  .home_page .key .key_circle_gr {
    max-width: 50em;
  }
  .home_page .key .key_ct {
    padding-bottom: 5em;
  }
}
@media only screen and (max-width: 480px) {
  .home_page .key {
    font-size: 1.25vw;
  }
  .home_page .key .key_bg .bg_left {
    height: 64%;
  }
  .home_page .key .key_circle_gr {
    margin-top: 4em;
  }
  .home_page .key .key_ct {
    padding-bottom: 6em;
  }
}
@media only screen and (max-width: 430px) {
  .home_page .key .key_bg .bg_left {
    height: 67%;
  }
  .home_page .key .key_bg .bg_right {
    background-position: center top;
  }
  .home_page .key .key_circle_gr {
    --size-mg: -1.4em;
    margin-top: 3em;
    font-size: 1.2em;
  }
  .home_page .key .key_circle_gr .circle::before {
    inset: 3px;
  }
  .home_page .key .key_circle_gr .circle .circle_ttl {
    font-size: 2.4em;
  }
}
@media only screen and (max-width: 768px) {
  .list_check li::before {
    top: 0;
  }
}
@media only screen and (max-width: 768px) {
  .home_page h3 {
    --fs-normal-h3-jp: calc(var(--ttl_size));
    --fs-normal-h3-en: 18px;
    margin-bottom: 30px;
  }
  .home_page h3::after {
    margin-top: 15px;
  }
  .home_page h4 {
    text-align: center;
  }
  .home_page h4.fs28 .en {
    font-size: 14px;
  }
}
@media only screen and (max-width: 768px) {
  .idx01 {
    --size-height-arr-bot: 30px;
    --size-w-arr-bot: 120px;
    padding: 60px 0 60px;
    background-image: url(../images/idx01_bg_sp.jpg);
  }
  .idx01 .card_gr {
    --size-mg: .5em;
    margin-left: -20px;
    margin-right: -20px;
    font-size: min(1.5vw, 9px);
  }
  .idx01 .card_gr .card {
    width: calc(50% - 2 * var(--size-mg));
  }
  .idx01 .decoration .item01 {
    top: -60px;
    right: 0;
  }
  .idx01 .idx01_text_bottom {
    padding-top: 55px;
  }
  .idx01 .idx01_text_bottom .ttl {
    font-size: calc(var(--ttl_size) - 2px);
  }
}
@media only screen and (max-width: 430px) {
  .idx01 .card_gr .card {
    padding: 2em 4em;
  }
  .idx01 .card_gr .card .card_ttl {
    font-size: 2.5em;
    letter-spacing: 0.05em;
  }
  .idx01 .card_gr .card .card_ttl br {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .idx02 {
    --size-padding-bottom: 100px;
    padding: 60px 0 100px;
  }
  .idx02::before {
    background-image: url(../images/idx02_bg_sp.jpg);
    background-position: center top;
    background-size: 100% auto;
    background-color: #2e439b;
  }
  .idx02 .card_gr {
    margin-bottom: 20px;
    font-size: min(1.5vw, 9px);
  }
  .idx02 .card_gr .card {
    margin: 20px 0;
    width: calc(50% - 2 * var(--size-mg));
  }
  .idx02 .card_gr .card .count {
    margin-bottom: 20px;
  }
  .idx02 .card_gr .card .card_pic {
    height: auto;
  }
  .idx02 .card_gr .card:nth-of-type(2n) {
    border-right: 1px solid white;
  }
  .idx02 .card_gr .card:nth-of-type(2n)::before, .idx02 .card_gr .card:nth-of-type(2n)::after {
    display: none;
  }
  .idx02 .card_gr .card:nth-child(2n+1):last-of-type::before, .idx02 .card_gr .card:nth-child(2n+1):last-of-type::after {
    left: 0;
    right: auto;
    display: block;
  }
  .idx02 .idx_box_st01_gr {
    justify-content: center;
    margin-bottom: 40px;
  }
  .idx02 .idx_box_st01_gr .idx_box_st01 {
    width: 100%;
    max-width: 500px;
    margin-bottom: 40px;
  }
  .idx02 .idx_box_st01_gr .idx_box_st01:last-child {
    margin-bottom: 0;
  }
  .idx02 .idx_box_st01_gr .idx_box_st01 .ttl {
    font-size: 22px;
  }
  .idx02 .idx_box_st02 {
    padding: 20px 20px 30px;
  }
  .idx02 .idx_box_st02 .box_gr {
    font-size: min(1.5vw, 9px);
  }
  .idx02 .idx_box_st02 .box_gr .box {
    width: calc(50% - 2 * var(--size-mg));
  }
  .idx02 .idx_box_st02 .box_gr .box:nth-of-type(2) {
    background-color: #9dc3e6;
  }
  .idx02 .idx_box_st02 .box_gr .box:nth-of-type(2) p {
    color: white;
  }
  .idx02 .idx_box_st02 .box_gr .box:nth-of-type(3) {
    --size-space-between-icon: 1.2em;
  }
  .idx02 .idx_box_st02 .box_gr .box:nth-of-type(3)::before, .idx02 .idx_box_st02 .box_gr .box:nth-of-type(3)::after {
    left: 0;
    right: 0;
    top: calc(var(--size-mg) * -1);
    margin: 0 auto;
    transform: translate(0, -50%);
    width: var(--size-w-line);
    height: 2px;
  }
  .idx02 .idx_box_st02 .box_gr .box:nth-of-type(3)::before {
    top: calc(var(--size-mg) * -1 - 0.5em);
  }
  .idx02 .idx_box_st02 .box_gr .box:nth-of-type(3)::after {
    top: calc(var(--size-mg) * -1 + 0.5em);
  }
  .idx02 .idx_box_st02 .box_gr .box:nth-of-type(3) .box_ct {
    min-width: 73%;
  }
}
@media only screen and (max-width: 430px) {
  .idx02 .card_gr .card .card_ttl {
    margin-top: 0.5em;
    font-size: 3em;
  }
  .idx02 .card_gr .c2 .card_ttl {
    min-height: 5.4em;
  }
  .idx02 .idx_box_st02 .box_gr .box:nth-of-type(3) {
    width: calc(100% - 2 * var(--size-mg));
  }
  .idx02 .idx_box_st02 .box_gr .box .box_ct .ttl {
    font-size: 2.6em;
  }
  .idx02 .idx_box_st02 .box_gr .box01 .ttl br {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .idx03 {
    --size-grow-bg-top: 120px;
    --size-gow-bg-bot: 120px;
    padding: 60px 0;
  }
  .idx03::before {
    background-image: url(../images/idx03_bg_sp.jpg);
    background-size: 100% auto;
    background-position: top center;
    background-color: #f6f6e9;
  }
  .idx03 .idx_box {
    justify-content: center;
  }
  .idx03 .idx_box .en-big {
    position: relative;
    left: 50%;
    width: max-content;
    transform: translateX(-50%);
  }
  .idx03 .idx_box .box_ct {
    width: 100%;
    max-width: 580px;
  }
  .idx03 .idx_box .pic_st01 {
    position: relative;
    margin-bottom: 25px;
  }
  .idx03 .idx_box .pic_st01::before {
    content: "";
    display: block;
    position: absolute;
    transition: all 0.3s;
    z-index: -1;
    left: -20px;
    top: -20px;
    width: 80%;
    max-width: 592px;
    height: calc(100% - 40px);
    max-height: 422px;
    background-color: white;
  }
  .idx03 .ct_area {
    font-size: 16px;
  }
  .idx03 .txt-md {
    text-align: center;
    font-size: 20px;
  }
  .idx03 .idx_box_st03 {
    padding: 30px;
    margin-top: 50px;
  }
  .idx03 .idx_box_st03 .ttl,
  .idx03 .idx_box_st03 .fs20 {
    text-align: center;
  }
  .idx03 .idx_box_st03 .ttl {
    font-size: 18px;
  }
  .idx03 .idx_box_st03 .ct_pic {
    max-width: 250px;
    margin-bottom: 25px;
  }
  .idx03 .idx_box_st03 .card_gr {
    font-size: min(2.5vw, 8px);
  }
  .idx03 .idx_box_st03 .box_ct {
    flex-direction: column-reverse;
    align-items: center;
  }
  .idx03 .idx_box_st03 .decor {
    inset: 10px;
  }
  .idx03 .idx_box_st04 {
    padding: 30px 30px;
    margin-top: 50px;
  }
  .idx03 .idx_box_st04 h4 {
    padding-left: 1.5em;
    padding-right: 1.5em;
  }
  .idx03 .idx_box_st04 .card_gr {
    font-size: min(1.5vw, 8px);
  }
  .idx03 .idx_box_st04 .card_gr .card {
    width: calc(50% - 2 * var(--size-mg));
  }
  .idx03 .idx_box_st04 .card_gr .card:nth-of-type(2n) {
    border-right: 1px solid white;
  }
  .idx03 .idx_box_st04 .card_gr .card:nth-of-type(2n)::before, .idx03 .idx_box_st04 .card_gr .card:nth-of-type(2n)::after {
    display: none;
  }
  .idx03 .idx_box_st04 .card_gr .card:nth-child(2n+1):last-of-type::after {
    content: "";
    display: block;
    position: absolute;
    transition: all 0.3s;
    z-index: -1;
    left: 0;
    right: 0;
    top: calc(var(--size-mg) * -1);
    transform: translateY(-50%);
    margin: auto;
    width: var(--size-w-line);
    height: 1.5em;
    border-top: 2px solid var(--main-color);
    border-bottom: 2px solid var(--main-color);
  }
}
@media only screen and (max-width: 640px) {
  .idx03 .idx_box_st04 .card_gr .card .card_ttl br {
    display: none;
  }
}
@media only screen and (max-width: 430px) {
  .idx03 .idx_box_st04 {
    padding-left: 10px;
    padding-right: 10px;
  }
  .idx03 .idx_box_st04 .card_gr .card {
    padding-left: 1em;
    padding-right: 1em;
  }
  .idx03 .idx_box_st04 .card_gr .card:nth-of-type(3) {
    width: calc(100% - 2 * var(--size-mg));
  }
  .idx03 .idx_box_st04 h4 {
    --value-rotate: 25deg;
    padding-left: 1em;
    padding-right: 1em;
  }
  .idx03 .idx_box .pic_st01::before {
    left: -10px;
    top: -10px;
  }
  .idx03 .idx_box_st04 .card_gr {
    font-size: min(2vw, 8px);
  }
  .idx03 .idx_box_st04 .card_gr .card .card_ct picture {
    padding-left: 1em;
    padding-right: 1em;
  }
}
@media only screen and (max-width: 768px) {
  .idx04 {
    --size-space-top-bg-blue: 120px;
    padding-bottom: 60px;
  }
  .idx04 .idx_box h3 .en {
    font-size: 20px;
  }
  .idx04 .idx_box {
    --size-padding-left-right: 40px;
    padding: 40px var(--size-padding-left-right) 60px;
  }
  .idx04 .idx_box .video_gr {
    --size-width-item-video: calc(100vw - var(--size-padding-left-right) * 2 - 40px);
    width: var(--size-width-item-video);
  }
  .idx04 .idx_box::before {
    font-size: 3.5px;
    left: -20px;
  }
  .idx04 .btn_slick_gr {
    font-size: clamp(5px, 1.5vw, 8px);
  }
  .idx04 .idx_box .video_slider.slick-initialized {
    --size-mg-dot: 5px;
    --size-dot: 14px;
  }
  .idx04 .idx_box .video_slider.slick-initialized .slick-dots {
    bottom: -15px;
  }
}
@media only screen and (max-width: 430px) {
  .idx04 .idx_box {
    --size-padding-left-right: 20px;
  }
}
@media only screen and (max-width: 768px) {
  .idx05 {
    padding: 60px 0;
  }
  .idx05 h3 {
    font-size: 28px;
    top: 0;
    margin-right: auto;
  }
  .idx05 h3 .en {
    font-size: 20px;
  }
  .idx05 h4 {
    text-align: left;
    font-size: 24px;
    margin-bottom: 10px;
  }
  .idx05 .item {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    max-width: 500px;
    margin-bottom: 30px;
  }
  .idx05 .point {
    padding-top: 0;
    top: 18px;
    font-size: 8px;
  }
  .idx05 p {
    font-size: 18px;
    padding-top: 10px;
  }
  .idx05-content {
    padding-top: 20px;
  }
  .idx05-content {
    padding-left: 90px;
  }
}
@media only screen and (max-width: 768px) {
  .idx06 {
    padding: 60px 0 60px;
    background-image: url(../images/idx06_bg_sp.jpg);
  }
  .idx06 .slider_gr {
    margin-bottom: 40px;
  }
  .idx06 .slider_gr .slider_nav {
    font-size: min(1.8vw, 8px);
  }
  .idx06 .slider_content {
    --size-h-item: 550px;
    --size-w-item: calc(100vw - var(--size-mg) * 4 - 40px);
    --size-mg: 40px;
  }
  .idx06 .slider_gr .slider_nav .item {
    width: 50%;
    padding-left: var(--mask-point);
    padding-right: var(--mask-point);
    height: 100%;
    margin-top: 2.5px;
    margin-bottom: 2.5px;
  }
  .idx06 .slider_gr .slider_nav .item:nth-child(2n+1) {
    clip-path: var(--mask-item-first);
    margin-right: calc(var(--mask-point) * -1 + 5px);
  }
  .idx06 .slider_gr .slider_nav .item:nth-child(2n) {
    clip-path: var(--mask-item-last);
  }
  .idx06 .slider_gr .item_gr.slick-initialized .slick-track {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
  }
  .idx06 .slider_content .item .item_ct_flex {
    flex-direction: column;
    align-items: center;
  }
  .idx06 .slider_content .item .item_ct_flex .item_ct_ttl {
    font-size: 20px;
    padding-bottom: 0.5em;
    margin-bottom: 0.5em;
    border-right: none;
    border-bottom: 1px solid rgba(65, 76, 156, 0.2);
  }
  .idx06 .slider_content .item .item_ct {
    padding: 20px;
  }
  .idx06 .slider_content .item .item_ct .item_ct_area p {
    font-size: 16px;
  }
  .idx06 .slider_content .item .item_ct .item_ct_area p br {
    display: none;
  }
  .idx06 .btn_slick_gr {
    font-size: clamp(6px, 1.5vw, 8px);
  }
  .idx06 .btn_slick_gr .btn_slick.btn_pre {
    left: var(--size-mg);
    transform: translateX(-50%);
  }
  .idx06 .btn_slick_gr .btn_slick.btn_next {
    right: var(--size-mg);
    transform: translateX(50%);
  }
}
@media only screen and (max-width: 480px) {
  .idx06 .slider_content .item02 {
    position: relative;
    z-index: 21;
  }
  .idx06 .slider_content .item02::before {
    content: "";
    display: block;
    position: absolute;
    transition: all 0.3s;
    z-index: -1;
    left: 0;
    top: 0;
    width: 100%;
    height: 50%;
    background: url(../images/idx06_item2_bg.jpg) no-repeat center/cover;
  }
  .idx06 .slider_gr {
    --mask-point: 2.5em;
  }
  .idx06 .slider_content .item03{
    background-image: url(../images/idx06_item3_bg_sp.jpg);
  }
}
@media only screen and (max-width: 430px) {
  .idx06 .slider_content {
    --size-w-item: calc(100vw - 60px);
  }
  .idx06 .btn_slick_gr {
    font-size: clamp(6px, 1.5vw, 8px);
  }
  .idx06 .btn_slick_gr .btn_slick.btn_pre {
    left: calc(var(--size-mg) / -2 + 10px);
    transform: translate(0);
  }
  .idx06 .btn_slick_gr .btn_slick.btn_next {
    right: calc(var(--size-mg) / -2 + 10px);
    transform: translate(0);
  }
  .idx06 .slider_gr .slider_nav .item {
    min-height: 18em;
  }
}
@media only screen and (max-width: 768px) {
  .idx07 {
    padding: 60px 0;
    background-image: url(../images/idx07_bg_sp.jpg);
  }
  .idx07 .card {
    width: calc(50% - 2 * var(--size-mg)) !important;
  }
  .idx07 .en-big {
    font-size: 60px;
  }
  .idx07 .card_gr {
    --size-mg: 10px;
  }
  .idx07 .card_gr .card .card_ttl {
    font-size: 20px;
    line-height: 1.5;
  }
  .idx07 .card_gr .card .card_ttl span {
    display: inline-block;
  }
  .idx07 .card_gr .card .card_ct {
    padding: 20px;
  }
  .idx07 .card_gr .card .card_ct p {
    font-size: 16px;
  }
  .idx07 .idx_box {
    background-image: url(../images/idx07_idx_box_bg_sp.jpg);
    padding: 40px 20px;
    margin-top: 20px;
  }
  .idx07 .idx_box .ttl_frame {
    flex-direction: column;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
  }
  .idx07 .idx_box .ttl_frame .item {
    width: 100%;
    justify-content: center;
    padding: 10px;
    margin: 5px auto;
    min-height: 50px;
  }
  .idx07 .idx_box .ttl {
    letter-spacing: 0.05em;
    margin-bottom: 10px;
  }
  .idx07 .idx_box .idx_box_catch {
    padding: 30px 20px;
  }
  .idx07 .idx_box .idx_box_catch .ttl_has_bg_muty_line {
    font-size: 20px;
    margin-bottom: 30px;
    letter-spacing: 0;
  }
  .idx07 .idx_box .idx_box_catch .ttl_has_bg_muty_line br {
    display: block !important;
  }
  .idx07 .idx_box .idx_box_catch .list_check {
    max-width: 350px;
  }
}
@media only screen and (max-width: 480px) {
  .idx07 .idx_box .idx_box_catch .ttl_has_bg_muty_line br {
    display: none !important;
  }
  .idx07 .card_gr {
    --size-mg: 5px;
  }
  .idx07 .card_gr .card .card_ct {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media only screen and (max-width: 360px) {
  .idx07 .card_gr .card .card_ct {
    padding-left: 8px;
    padding-right: 8px;
  }
  .idx07 .card_gr .card .card_ttl {
    font-size: 18px;
  }
}
@media only screen and (max-width: 768px) {
  .idx08 {
    padding: 60px 0;
  }
  .idx08 h3 {
    font-size: 28px;
  }
  .idx08 .box {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
  }
  .idx08 .box:last-child {
    margin-bottom: 0;
  }
  .idx08 .ttl {
    font-size: min(24px, 6vw);
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .idx08 .ttl span {
    display: inline-block;
  }
  .idx08-content p {
    padding-top: 20px;
    font-size: 16px;
  }
}
@media only screen and (max-width: 768px) {
  .idx09 {
    padding: 60px 0;
  }
  .idx09 h3 .en {
    font-size: 20px;
  }
  .idx09 .idx_box {
    padding: 60px 20px 35px;
  }
  .idx09 .idx_box .faq_gr {
    display: block;
  }
  .idx09 .idx_box .faq_box h4 {
    font-size: 18px;
    text-align: left;
  }
  .idx09 .idx_table_st01 {
    margin-bottom: 40px;
  }
  .idx10 {
    padding: 60px 0;
  }
  .idx10 .idx_box .box_pic {
    margin-bottom: 25px;
  }
  .idx10 .idx_box .box_name {
    order: 3;
    margin: 0 auto 20px;
  }
  .idx10 .idx_box .box_name .position {
    text-align: center;
  }
  .idx10 .idx_box .box_name .name {
    justify-content: center;
    flex-wrap: wrap;
  }
  .idx10 .idx_box .ct_area {
    order: 4;
    font-size: 16px;
  }
  .idx10 .idx_box .box_ct {
    margin: 0 auto;
    display: flex;
    flex-direction: column;
  }
  .idx10 .box_infor {
    flex-direction: column-reverse;
    --size-padding-top-bot: 40px;
    --size-padding-left-right: min(4.2vw, 80px);
    margin-top: 40px;
  }
  .idx10 .box_infor .idx_logo {
    max-width: 270px;
    display: table;
    margin: 0 auto;
  }
  .idx10 .box_infor .infor_tel {
    margin-left: auto;
    margin-right: auto;
    font-size: 8.75px;
  }
  .idx10 .box_infor .right {
    margin-bottom: 40px;
  }
  .idx_map {
    height: 350px;
  }
}

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