@media only screen and (max-width: 768px) {
    .home_page .key {
        --height: calc(100vh - 60px);
        --max-height: 156vw;
        --min-height: 320px;
        font-size: 8px;
        overflow: initial;
    }
    .home_page .key .key-fx {
        flex-direction: column;
    }
    .home_page .key .key-fx .box-img02 {
        order: 1;
    }
    .home_page .key .idx-box-news {
        position: absolute;
        left: 0;
        right: 20px;
        bottom: 0;
        margin: 0 0 0 auto;
        font-size: min(3.5vw, 14px);
        background: #fff;
        max-width: min(66.667vw, 500px);
        z-index: 1;
        border-radius: 15px;
        height: auto;
        padding: 15px 20px 20px;
    }
    .home_page .key .idx-box-news:after {
        content: "";
        position: absolute;
        left: -9px;
        top: 40px;
        bottom: 0;
        margin: auto;
        background: url(../images/idx-ico-arr-news.svg) no-repeat center;
        background-size: contain;
        width: 26px;
        height: 29px;
        z-index: -1;
    }
    .home_page .key .idx-box-news:before {
        left: initial;
        right: 96%;
        bottom: -3em;
        width: 9.25em;
        height: 12.625em;
    }
    .home_page .key .idx-box-news>.ttl {
        font-size: min(5.333vw, 24px);
        right: 108%;
        left: initial;
        top: 0;
        padding-right: 0;
        letter-spacing: 0;
        width: max-content;
        text-shadow: rgb(255, 255, 255) 1px 0px 0px, rgb(255, 255, 255) 0.540302px 0.841471px 0px, rgb(255, 255, 255) -0.416147px 0.909297px 0px, rgb(255, 255, 255) -0.989992px 0.14112px 0px, rgb(255, 255, 255) -0.653644px -0.756802px 0px, rgb(255, 255, 255) 0.283662px -0.958924px 0px, rgb(255, 255, 255) 0.96017px -0.279415px 0px;
    }
    .home_page .key .idx-box-news>.ttl:after {
        right: -20px;
        top: -0.05em;
        width: 0.8em;
        height: 1em;
    }
    .home_page .key .idx-box-news .idx-list-news li {
        margin-bottom: 0.55em;
    }
    .home_page .key .idx-box-news .idx-list-news li a {
        flex-direction: column;
        align-items: flex-start;
    }
    .home_page .key .idx-box-news .idx-list-news li a .date {
        display: block;
        font-size: 10px;
    }
    .home_page .key .idx-box-news .idx-list-news li a .ttl {
        font-size: 14px;
    }
    .home_page .key .idx-box-news .idx-list-news li a:before {
        width: 9px;
        height: 9px;
        top: initial;
        bottom: 7px;
    }
    .home_page .key .key-fx .box-img02 .img {
        text-align: right;
    }
    .home_page .key .key-fx .box-img02 img {
        width: min(61.667vw, 500px);
        height: auto;
        border-bottom-left-radius: 35px;
    }
    .home_page .key .key-fx .box-img01 {
        order: 2;
        margin-right: 0;
        padding-top: 40px;
        min-height: 500px;
    }
    .home_page .key .key-fx .box-img01 img {
        width: 100%;
        height: 547px;
        border-top-right-radius: 35px;
        border-bottom-right-radius: 35px;
        object-position: top;
    }
    .home_page .key .key-fx .box-img01 picture {
        text-align: left;
    }
    .home_page .key .key-fx .box-img01 .key_text {
        bottom: 7.625em;
        left: 0;
        text-align: center;
    }
    .home_page .key .key-fx .box-img01 .key_text .catch .title {
        font-size: min(6.93vw, 26px);
    }
    .home_page .key .key-fx .box-img01 .key_text .catch>p {
        font-size: min(4.53vw, 17px);
    }
    .home_page h2 {
        font-size: min(6.933vw, 28px);
    }
    .home_page h3 {
        font-size: min(6.933vw, 28px);
    }
    .home_page h3 span {
        font-size: min(5.333vw, 23px);
    }
    .home_page .idx-ttl-en {
        font-size: min(3.733vw, 16px);
    }
    .index0 .inner_big {
        padding: 0;
    }
    .index0 h2 {
        margin-bottom: 1.65em;
    }
    .index0 .box-ttl01 {
        position: relative;
        z-index: 1;
        margin-top: 18px;
    }
    .index0 .box-ttl01:before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: -30px;
        margin: 0 auto;
        width: 335px;
        height: 335px;
        background: #f9fcfd;
        border-radius: 50%;
        z-index: -1;
    }
    .index0 .index0-fx {
        position: relative;
        flex-direction: column;
        padding-right: 0;
        padding-bottom: 70px;
        z-index: 2;
    }
    .index0 .index0-fx .box-img {
        margin-right: 0;
        margin-bottom: 28px;
        width: calc(100% - 20px);
    }
    .index0 .index0-fx .box-img:before {
        right: initial;
        left: 20px;
        top: -2.375em;
        background: url(../images/index0-ico01-sp.svg) no-repeat center;
        background-size: contain;
        width: 4.4375em;
        height: 4.875em;
    }
    .index0 .index0-fx .box-img img {
        width: 100%;
        height: auto;
        border-top-right-radius: 35px;
        border-bottom-right-radius: 5px;
    }
    .index0 .index0-fx .box-cnt {
        padding: 0 20px;
    }
    .index0 .index0-fx .box-cnt:before {
        content: "";
        position: absolute;
        right: 36px;
        bottom: -74px;
        background: url(../images/index0-ico01-sp02.svg) no-repeat center;
        background-size: contain;
        width: 7.4375em;
        height: 6.875em;
    }
    .index0 .index0-fx .box-cnt .idx-btn {
        max-width: 177px;
    }
    .index0 .index0-fx .box-cnt .txt>p {
        line-height: 2.25em;
    }
    .index0 .index0-bg {
        padding-top: 1.55em;
        padding-bottom: 2.5em;
    }
    .index0 .index0-bg h3 span {
        font-size: 0.91em;
        background: url(../images/index0-ico-hr-sp.svg) no-repeat bottom center;
        background-size: 170% 4px;
    }
    .index0 .index0-bg h3:after {
        left: 97%;
        width: 2.7em;
        height: 4.2em;
        top: 1em;
    }
    .index0 .index0-bg h3:before {
        right: 97%;
        width: 2.65em;
        height: 4em;
        top: 1.1em;
    }
    .index0 .index0-bg .index0-list {
        flex-wrap: wrap;
        justify-content: center;
        margin-top: -1em;
        position: relative;
    }
    .index0 .index0-bg .index0-list:before {
        content: "";
        position: absolute;
        left: -29px;
        bottom: 0;
        background: url(../images/index0-ico01-sp02.svg) no-repeat center;
        background-size: contain;
        width: 7.4375em;
        height: 6.875em;
        z-index: -1;
    }
    .index0 .index0-bg .index0-list li {
        width: 50%;
        max-width: 162px;
        margin-right: 15px;
        margin-bottom: 9px;
    }
    .index0 .index0-bg .index0-list li:nth-child(2n) {
        margin-right: 0;
    }
    .index0 .index0-bg .index0-list li a {
        min-height: 162px;
        padding: 15px 5px;
        border-radius: 10px;
    }
    .index0 .index0-bg .index0-list li a .ico {
        margin: 0 auto 3px;
    }
    .index0 .index0-bg .index0-list li a .ico img {
        height: 50px;
        width: auto;
    }
    .index0 .index0-bg .index0-list li a .ttl {
        font-size: 16px;
        margin-bottom: 5px;
    }
    .index0 .index0-bg .index0-list li a .btn {
        min-height: 30px;
        font-size: 12px;
        max-width: 132px;
    }
    .index0 .index0-bg .index0-list li a .btn:before {
        right: 10px;
    }
    .index0 .index0-frame {
        padding: 33px 20px 7px;
        width: calc(100% - 40px);
        margin: 21px auto 0;
    }
    .index0 .index0-frame:after {
        left: -0.1em;
        right: 0;
        top: -1.9625em;
        width: 1.25em;
        height: 2.5em;
    }
    .index0 .index0-frame:before {
        width: calc(100% - 1em);
        height: calc(100% - 1em);
        z-index: -1;
    }
    .index0 .index0-frame h4 {
        margin-bottom: 1em;
    }
    .index0 .index0-frame h4 span:before,
    .index0 .index0-frame h4 span:after {
        top: -2.6em
    }
    .index0 .index0-frame h4 span {
        padding: 0 5px 2px;
        line-height: 1.8em;
        font-size: min(5vw, 22px);
        letter-spacing: -1px;
        background: linear-gradient(0deg, rgba(234, 242, 249, 1) 50%, rgba(234, 242, 249, 0) 50%);
    }
    .index0 .index0-frame h4 span:before {
        left: initial;
        right: 103%;
    }
    .index0 .index0-frame h4 span:after {
        right: initial;
        left: 92%;
    }
    .index0 .index0-frame .frame-fx {
        flex-direction: column;
    }
    .index0 .index0-frame .frame-fx .cnt {
        margin-bottom: 21px;
        margin-right: 0;
    }
    .index0 .index0-frame .frame-fx .cnt>p {
        line-height: 2em;
        font-size: 16px;
    }
    .index0 .index0-frame .frame-fx .idx-list-btn {
        flex-wrap: wrap;
        justify-content: center;
        position: relative;
    }
    .index0 .index0-frame .frame-fx .idx-list-btn li {
        margin-bottom: 10px;
        margin-right: 5px;
        margin-left: 5px;
        max-width: 135px;
        width: 47%;
    }
    .index0 .index0-frame .frame-fx .idx-list-btn li:nth-child(2n) {
        margin-right: 0;
    }
    .index0 .index0-frame .frame-fx .idx-list-btn li a {
        min-height: 60px;
        font-size: 15px;
        min-width: 100%;
        width: 100%;
        max-width: 100%;
    }
    .index0 .index0-frame .box-frame {
        background: url(../images/idx-bg-frame-sp.png) no-repeat top center;
        background-size: 100% 100%;
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px;
        width: calc(100% + 27px);
        padding-top: 29px;
        margin-top: 20px;
        padding-bottom: 17px;
    }
    .index0 .index0-frame .box-frame h4 {
        margin-bottom: 1em;
    }
    .index0 .index0-frame .box-frame .index0-list-frame {
        flex-direction: column;
        padding: 0 min(5.333vw, 20px);
    }
    .index07-list li .idx-btn a:before {
        width: 15px !important;
        height: 15px !important;
    }
    .index0 .index0-frame .box-frame .index0-list-frame li {
        width: 100%;
        margin: 0 auto 11px !important;
    }
    .index0 .index0-frame .box-frame .index0-list-frame li a {
        padding: min(3.7vw, 20px);
        min-height: auto;
        width: 100%;
        height: 100%;
        background: url(../images/index0-frame-bg-list-sp.svg) no-repeat center;
        background-size: 100% auto;
        align-items: center;
        min-height: min(27.733vw, 114px);
        min-width: min(74.667vw, 280px);
    }
    .index0 .index0-frame .box-frame .index0-list-frame li a:before {
        right: -1px;
        bottom: 0;
        width: 15px;
        height: 15px;
    }
    .index0 .index0-frame .box-frame .index0-list-frame li a .ico {
        margin-right: 17px;
        min-width: auto;
        left: 0 !important;
    }
    .index0 .index0-frame .box-frame .index0-list-frame li a .ico img {
        height: auto;
        width: min(13.333vw, 50px);
    }
    .index0 .index0-frame .box-frame .index0-list-frame li a .cnt .ttl {
        margin-bottom: 0.2em;
        font-size: min(4.267vw, 16px);
    }
    .index0 .index0-frame .box-frame .index0-list-frame li a .cnt .txt {
        font-size: 14px;
        letter-spacing: -1px;
        font-weight: 500;
    }
    .index0 .index0-frame .box-frame h4 span {
        font-size: 20px;
        padding: 0;
    }
    .index0 .index0-frame .box-frame h4 span:before,
    .index0 .index0-frame .box-frame h4 span:after {
        display: none;
    }
    .index0 .index0-bg:before,
    .index0 .index0-bg:after {
        content: "";
        position: absolute;
        left: 50%;
        transform: translate(-50%);
        top: -50px;
        width: 100%;
        height: 50px;
        background: url(../images/index0-bg01-sp.png) no-repeat center;
        background-size: 100% 100%;
        z-index: -1;
    }
    .index0 .index0-bg:after {
        transform: translate(-50%) rotate(180deg) !important;
        top: initial !important;
        bottom: -60px;
    }
    .index0 .index0-bg .index0-list li:first-child a .ico {
        margin-left: auto;
    }
    .index02-frame .index02-list li a .btn {
        font-size: 12px;
    }
    .index02 {
        margin-top: 1em;
        background: url(../images/index02-bg-sp.png) no-repeat top left;
        background-size: cover;
        padding-top: 6.25em;
    }
    .index02 .inner_big {
        padding: 0;
    }
    .index02-frame {
        width: calc(100% - 40px);
        margin: 0 auto;
        padding: 27px 20px;
        max-width: 450px;
    }
    .index02-frame:before {
        top: -15px;
    }
    .index02-frame .index02-list {
        padding-bottom: 3em;
    }
    .index02-frame .index02-list:last-child {
        padding-bottom: 0;
        flex-direction: column;
    }
    .index02-frame .index02-list:last-child li {
        width: 100%;
        max-width: 100%;
        margin: 0 auto 10px;
        min-height: auto;
    }
    .index02-frame .index02-list:last-child li:last-child {
        margin-bottom: 0;
    }
    .index02-frame .index02-list:last-child li a {
        min-width: 100%;
        flex-direction: row;
        padding: min(4vw, 15px);
    }
    .index02-frame .index02-list:last-child li a .ttl {
        margin-bottom: 0;
        text-align: left;
    }
    .index02-frame .index02-list:last-child li a .ico {
        margin-right: min(2.667vw, 10px);
        margin-bottom: 0 !important;
        min-width: 43px;
    }
    .index02-frame .index02-list:last-child li a .btn {
        flex: 1;
        justify-content: flex-end;
        font-size: min(3.733vw, 14px);
    }
    .index02-frame .index02-list:last-child li a .btn .ico {
        margin-right: 0;
    }
    .index02-frame .index02-list li {
        min-height: auto;
        margin-right: 10px;
    }
    .index02-frame .index02-list li a {
        padding: 15px 0;
    }
    .index02-frame .index02-list li a .ico img {
        height: min(10vw, 40px);
        width: auto;
    }
    .index02-frame .index02-list li a .ttl {
        font-size: min(4.267vw, 16px);
    }
    .index02-frame .index02-list li a .btn .ico img {
        height: 15px;
        width: auto;
    }
    .index02-frame .index02-ttl {
        width: 100%;
        margin: 0 auto;
    }
    .index02-frame .index02-ttl span {
        min-height: 2.4em;
    }
    .index02-frame h3 {
        padding-top: 1.7em;
        font-size: 22px;
        margin-bottom: 0.3em;
    }
    .index02-frame .txt {
        padding: 0;
        line-height: 2.3em;
    }
    .index08-fx .box-img:before {
        left: 2.5em;
        top: -1.56em;
        width: 5.3125em;
        height: 5em;
        z-index: 3;
    }
    .index02-box {
        padding-right: 0;
        padding-bottom: 50px;
        max-width: 100%;
    }
    .index02-box h2 span {
        line-height: 1.5em;
        font-size: min(6.4vw, 24px);
    }
    .index02-box h2 span:before,
    .index02-box h2 span:after {
        width: 4em;
        height: 4em;
        bottom: -1.5em;
    }
    .index02-box h2 span:before {
        right: 82%;
    }
    .index02-box h2 span:after {
        left: 82%;
    }
    .index03 {
        background: url(../images/index03-bg01-sp.jpg) no-repeat center;
        background-size: cover;
        min-height: auto;
        padding-bottom: 100px;
        padding-top: 45px;
    }
    .index03:after {
        left: -2.875em;
        bottom: -1.3125em;
        width: 11.5em;
        height: 14.625em;
    }
    .index03 .inner_big {
        padding: 0 20px;
    }
    .index03 .index03-box {
        width: calc(100% - min(9.333vw, 35px));
        margin-bottom: 2em;
        padding: 25px 10px;
    }
    .index03 .index03-box:after {
        right: -1.625em;
        top: -1.625em;
        width: 2.3125em;
        height: 1.6875em;
    }
    .index03 .index03-box .ttl {
        font-size: min(6.4vw, 24px);
    }
    .index03 .txt {
        width: calc(100% - min(9.333vw, 35px));
    }
    .index03 .idx-list-btn {
        position: relative;
        z-index: 1;
        max-width: 500px;
        margin: 2em auto 0;
    }
    .index03 .idx-list-btn li {
        margin-right: 10px;
        width: 50%;
    }
    .index03 .idx-list-btn li a {
        width: 100%;
        min-width: auto;
        background: #fff;
        color: var(--clr2);
    }
    .index03 .idx-list-btn li a:before {
        background: url(../images/idx-ico-arr.svg) no-repeat center;
        background-size: contain;
    }
    .idx-btn a:before {
        width: 15px;
        height: 15px;
        right: 15px;
    }
    .index04 {
        padding-top: 25px;
        margin-top: 0;
    }
    .index04:before {
        left: 50%;
        transform: translate(-50%);
        top: -9px;
        background: url(../images/index04-ico01-sp.png) no-repeat center;
        background-size: 100% 100%;
        width: 100%;
        height: 10px;
    }
    .index04 .inner_big {
        padding: 0 20px;
    }
    .index04 h2 {
        margin-bottom: 1em;
    }
    .index04 h2:before {
        background: url(../images/index04-ico-hr-sp.svg) no-repeat center;
        background-size: 100% 3px;
    }
    .index04 h2 span {
        position: relative;
        font-size: 24px;
        letter-spacing: 0.05em;
    }
    .index04-list {
        max-width: 400px;
        margin: 0 auto 50px;
        width: fit-content;
    }
    .index04-list li {
        width: calc(50% - 5px);
        margin-right: 10px;
        margin-bottom: 10px;
        min-height: auto;
        height: auto;
    }
    .index04-list li:nth-child(2n) {
        margin-right: 0;
    }
    .index04-list li a {
        padding-bottom: 10px;
    }
    .index04-list li a .img {
        margin-bottom: 10px;
    }
    .index04-list li a .btn {
        font-size: 12px;
        margin-bottom: 5px;
    }
    .index04-list li a .btn .ico {
        line-height: 0;
    }
    .index04-list li a .btn .ico img {
        height: 15px;
        width: auto;
    }
    .index04-list li a .ttl {
        font-size: min(4.267vw, 16px);
    }
    .idx_gallery .item img {
        width: 220px;
        height: auto;
    }
    .index05 {
        padding-bottom: 1em;
        padding-top: 2em;
    }
    .index05 .inner_big {
        padding: 0 20px;
        position: relative;
        z-index: 1;
    }
    .index05:before {
        display: none;
    }
    .index05 .inner_big:before {
        top: 60px;
        height: 115%;
    }
    .index05 .inner_big:after {
        content: "";
        position: absolute;
        left: 0px;
        right: 0;
        top: 85px;
        margin: 0 auto;
        background: url(../images/idx-bg-feature-sp.svg) no-repeat center;
        background-size: contain;
        width: min(122.667vw, 430px);
        height: min(523.467vw, 2100px);
        z-index: 2;
    }
    .index05-list {
        flex-direction: column;
        max-width: 500px;
        margin: 0 auto;
        position: relative;
        z-index: 3;
    }
    .index05-list:last-child {
        max-width: 500px;
        padding-top: 0;
        margin-top: 0;
    }
    .index05-list:last-child:before {
        display: none;
    }
    .index05-list:last-child li:last-child {
        padding-bottom: 0;
        margin-bottom: 0;
    }
    .index05-list:last-child li:last-child:before {
        display: none;
    }
    .index05-list li {
        margin: 0 auto 30px !important;
        padding-bottom: 30px;
    }
    .index05-list li:last-child:before {
        display: block;
    }
    .index05-list li:before {
        content: "";
        position: absolute;
        right: 0;
        left: 0;
        top: initial;
        bottom: 0;
        margin: 0 auto;
        background: url(../images/index05-hr01-sp.svg) repeat center;
        background-size: cover;
        width: 100%;
        height: 4px;
    }
    .index05-list li .img {
        width: auto;
        height: auto;
    }
    .index05-list li .img .stt {
        font-size: min(9.333vw, 40px);
        right: 20px;
        width: min(16vw, 80px);
        height: min(16vw, 80px);
    }
    .index05-list li .img img {
        width: min(74.667vw, 340px);
        height: auto;
    }
    .index05-list li .ttl {
        font-size: min(5.333vw, 22px);
    }
    .index06:after,
    .index06:before {
        width: 100%;
        height: 100%;
    }
    .index06:after {
        background: url(../images/index06-bg-sp.png) no-repeat top center;
        background-size: cover;
    }
    .index06:before {
        background: url(../images/index06-img01-sp.png) no-repeat top center;
        background-size: cover;
    }
    .index05-ttl:before {
        right: initial;
        left: 50%;
        transform: translate(-50%);
        margin: initial;
        top: -25px;
        bottom: initial;
        width: 335px;
        height: 335px;
        background: #f9fcfd;
        border-radius: 50%;
        z-index: -1;
    }
    .index07 {
        padding-bottom: 5.5em;
    }
    .index07-box {
        margin-top: -60px;
        width: calc(100% - 20px);
        border-top-left-radius: 15px;
        border-top-right-radius: 15px;
        padding-top: 15px;
    }
    .index07-box h3:before {
        display: none;
    }
    .index07-list {
        flex-wrap: wrap;
        justify-content: flex-start;
        position: relative;
        max-width: 335px;
        margin: 2em auto 0;
    }
    .index07-list:before {
        content: "";
        position: absolute;
        right: -2.25em;
        bottom: 0;
        background: url(../images/index04-ico02.svg) no-repeat center;
        background-size: contain;
        width: 11.0625em;
        height: 13.5em;
    }
    .index07-list li {
        width: calc(50% - 5px);
        max-width: 162px;
        margin-right: 10px;
        margin-bottom: 35px;
    }
    .index07-list li:nth-child(2n) {
        margin-right: 0;
    }
    .index07-list li .img {
        margin-bottom: 5px;
        height: 100px;
    }
    .index07-list li .img img {
        height: 100%;
        width: 100%;
        object-fit: cover;
    }
    .index07-list li .ttl {
        align-items: center;
        font-size: min(4.267vw, 16px);
    }
    .index07-list li .idx-btn a {
        min-height: 50px !important;
        font-size: 14px !important;
        padding-left: 0.95em !important;
    }
    .index07-list li .idx-btn a:before {
        right: 15px !important;
    }
    .index07-list li .idx-btn .tel_click {
        width: 100%;
        font-size: 19px !important;
    }
    .index08 {
        padding-top: 7em;
    }
    .index08:before {
        background: url(../images/index08-bg-sp.png) no-repeat center;
        background-size: cover;
        height: min(9.6vw, 76px);
        width: 100%;
        top: min(-9.6vw, -30px);
    }
    .index08 .index08-fx {
        flex-direction: column;
    }
    .index08 .index08-fx .box-cnt {
        width: 100%;
    }
    .index08 .index08-fx .box-cnt h2 {
        font-size: min(5.333vw, 24px);
        margin-bottom: 1.5em;
    }
    .index08 .index08-fx .box-cnt .cnt {
        padding-right: 0;
    }
    .index08 .index08-fx .box-cnt .cnt>p {
        font-size: 16px;
    }
    .index08 .index08-fx .box-img {
        margin-bottom: 2em;
        width: fit-content;
        margin-right: auto;
        margin-left: auto;
        left: -4em;
    }
    .index08 .index08-fx .box-img .img {
        width: min(86.933vw, 450px);
        height: auto;
    }
    .index08 .index08-fx .box-img .img .bg-img {
        top: 2px;
        right: -5px;
    }
    .index08 .index08-fx .box-img .box-name {
        padding: 20px 0;
        right: -2em;
        align-items: flex-start;
    }
    .index08 .index08-fx .box-img .box-name .ttl02 .en {
        display: block;
        text-align: right;
        margin-right: 5px;
        letter-spacing: 0.2em;
    }
    .index08-fx .box-img .box-name .ttl01 {
        margin-left: 5px;
    }
    .index08 .index08-fx .box-img .sub-message {
        width: 182px;
        height: 114px;
        top: -2em;
        right: -5.5em;
        padding-bottom: 15px;
        padding-left: 5px;
        transform: rotate(-15deg);
    }
    .index08 .index08-fx .box-img .sub-message img {
        width: 104px;
        height: auto;
    }
    .index08 .index08-fx .box-img .sub-message:before {
        width: 2.3em;
        height: 2.6em;
        right: -0.4375em;
        top: 0.3125em;
    }
    .index08 .index08-fx .box-img02 {
        position: initial;
        z-index: -1;
    }
    .index08 .index08-fx .box-img02 .img02 {
        position: absolute;
        right: -15px;
        top: 265px;
        width: min(36.267vw, 160px);
        height: auto;
        z-index: 1;
    }
    .index08 .index08-fx .box-img02 .img02 .bg-img {
        top: 9px;
        right: -6px;
        width: 100%;
        height: 100%;
    }
    .index08 .index08-fx .box-img02 .img02 .ico {
        left: 1.625em;
        bottom: 0;
        width: min(10.667vw, 60px);
        height: min(10.667vw, 60px);
    }
    .index08 .index08-fx .box-img02 .img03 {
        display: none;
    }
    .idx-btn a {
        min-height: 60px;
        min-width: auto;
        width: 100%;
        font-size: min(4vw, 15px);
        padding: 0 1em;
        border-radius: 30px;
    }
    .index06-list {
        max-width: 500px;
        margin: 0 auto;
    }
    .index06-list li {
        width: 50%;
        margin-right: 10px;
    }
    .index06-list li a {
        min-width: auto;
    }
    .index06 {
        min-height: auto;
        padding-bottom: 100px;
    }
    .index08-fx .box-cnt .idx-list-btn {
        display: flex;
        max-width: 450px;
        margin: 0 auto;
    }
    .index02-frame .index02-list:last-child li a .btn .ico {
        width: auto;
    }
}

@media only screen and (max-width: 640px) {
    .home_page .key {
        font-size: 1.5vmin;
    }
}

@media only screen and (max-width: 768px) and (orientation: landscape) {
    .home_page .key {
        font-size: 1.5vmin;
    }
}

@media only screen and (max-width: 768px) {
    .index0 {
        padding: 0;
    }
    .index0>.img img {
        height: 185px;
        width: 100%;
        object-position: top;
    }
}

@media only screen and (min-width: 529px) and (max-width: 768px) {
    .index0 .index0-frame .frame-fx .idx-list-btn li {
        width: 33.3333333333%;
        margin-right: 10px !important;
    }
    .index0 .index0-frame .frame-fx .idx-list-btn li:last-child {
        margin-right: 0 !important;
    }
    .index0 .index0-bg .index0-list {
        justify-content: center;
    }
    .index0 .index0-bg .index0-list li {
        margin-right: 10px !important;
    }
    .index0 .index0-bg .index0-list li:last-child {
        margin-right: 0 !important;
    }
    .home_page .key .key-fx .box-img02 .idx-box-news {
        font-size: 3.5vw;
    }
    .home_page .key .key-fx .box-img02 .idx-box-news:before {
        left: initial;
        right: 101%;
        bottom: -4.5em;
        width: 7.25em;
        height: 10.625em;
    }
    .home_page .key .key-fx .box-img02 .idx-box-news>.ttl {
        font-size: min(5.333vw, 24px);
        right: 111%;
        left: initial;
        top: 0.5em;
    }
}

@media only screen and (min-width: 639px) and (max-width: 768px) {
    .index04-list {
        max-width: 600px;
        margin: 0 auto 50px;
        width: fit-content;
    }
    .index04-list li {
        width: calc(33.3333333333% - 7px);
    }
    .index04-list li:nth-child(2n) {
        margin-right: 10px;
    }
    .index04-list li:nth-child(3n) {
        margin-right: 0 !important;
    }
    .index07-list {
        width: 100%;
        max-width: 100%;
        justify-content: center;
        max-width: 600px;
    }
    .index07-list li {
        width: 33.3333333333%;
        margin-left: 5px;
        margin-right: 5px !important;
    }
    .home_page .key .key-fx .box-img02 .idx-box-news:before {
        left: initial;
        right: 103%;
        bottom: -4.5em;
        width: 5.25em;
        height: 11.625em;
    }
    .home_page .key .key-fx .box-img02 .idx-box-news {
        font-size: 4vw;
        max-width: min(72.667vw, 500px);
    }
    .home_page .key .key-fx .box-img02 .idx-box-news>.ttl {
        font-size: min(5.333vw, 24px);
        right: 111%;
        left: initial;
        top: 0.3em;
    }
    .index0 .index0-frame {
        margin: 41px auto 0;
    }
    .index0 .index0-frame:after {
        left: -0.1em;
        right: 0;
        top: -2.8em;
        width: 2em;
        height: 3em;
    }
}

@media only screen and (max-width: 320px) {
    .home_page .key .key-fx .box-img02 img {
        width: min(57.667vw, 500px);
    }
    .index02-frame .index02-list:last-child li a .ico {
        min-width: 33px;
    }
    .index02-frame .index02-list:last-child li a .btn .ico {
        width: auto;
    }
    .index02-frame .index02-list:last-child li a {
        padding-right: 5px;
    }
    .index07-list li .idx-btn .tel_click {
        width: 100%;
        font-size: 17px !important;
    }
    .index07-list li .idx-btn a:before {
        right: 5px !important;
    }
    .index04-list li a .ttl {
        font-size: min(4vw, 16px);
    }
    .index02-frame .index02-list li a .ttl {
        font-size: min(3.8vw, 16px);
    }
    .index02-frame .index02-list li a .ico img {
        height: min(9vw, 45px);
        width: auto;
    }
    .index0 .index0-frame .box-frame .index0-list-frame {
        flex-direction: column;
        padding: 0 min(4.333vw, 20px);
    }
    .tbl-time tr th,
    .tbl-time tr td {
        padding: 1em 0.2em;
    }
    .f-box02-fx .box-right .f-fx-right .box-ttl {
        width: 233px;
        height: 82px;
        padding: 15px 20px 5px;
        font-size: 12px;
        margin-right: 0.5em;
    }
    .f-list-btn li:last-child a {
        font-size: 1.2em;
        min-width: 11.2em;
        letter-spacing: 0.002em;
        min-height: 60px;
    }
    .index0 .index0-frame h4 span {
        font-size: min(5vw, 22px);
    }
    .index0 .index0-bg .index0-list li {
        max-width: 142px;
    }
    .index0 .index0-bg .index0-list li a {
        min-height: 142px;
        padding: 10px;
    }
    .index0 .index0-bg .index0-list li a .ttl {
        font-size: 13px;
    }
    .home_page .key .key-fx .box-img02 .idx-box-news:before {
        bottom: -3.7em;
    }
}

@media only screen and (min-width: 641px) and (max-width: 768px) {
    .home_page .key .key-fx .box-img02 .idx-box-news>.ttl {
        font-size: min(5.333vw, 24px);
        right: 113%;
        left: initial;
        top: 0.1em;
    }
}


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