.home_page .key {
    --height: 50vw;
    --min-height: 63em;
    --max-height: 63em;
    height: var(--height);
    min-height: var(--min-height);
    max-height: var(--max-height);
    overflow: hidden;
    font-size: 0.625em;
    position: relative;
    z-index: 2;
}
.home_page .key .mv_slider {
    display: flex;
}
.home_page .key .mv_slider .slider {
    opacity: 0;
}
.home_page .key .mv_slider .slider.slick-slide {
    opacity: 1;
}
.home_page .key .key_text {
    position: relative;
    width: 100%;
    height: 100%;
}
.home_page .key .key_text .item {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: var(--height);
    min-height: var(--min-height);
    max-height: var(--max-height);
    background-image: url(../images/idx-main-img01.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding-bottom: 8px;
}
@keyframes scroll_down {
    0% {
        transform: scaleY(0);
        opacity: 0;
        transform-origin: center top
    }
    40% {
        transform: scaleY(1);
        opacity: 1;
        transform-origin: center top
    }
    60% {
        transform: scaleY(1);
        opacity: 1;
        transform-origin: center bottom
    }
    100% {
        transform: scaleY(0);
        opacity: 0;
        transform-origin: center bottom
    }
}
.home_page .key .key_text .idx-scroll a {
    left: 4.7em;
    bottom: 4.4em;
    color: var(--main-color);
    text-decoration: none;
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-family: var(--f-en);
    font-weight: 600;
}
.home_page .key .key_text .idx-scroll a:before {
    content: "";
    position: relative;
    left: -1.5em;
    top: 0;
    width: 1px;
    height: 5em;
    background: var(--main-color);
    margin-bottom: 1.2em;
    animation: scroll_down 2.5s infinite ease-in-out;
}
.home_page .key .inner {
    width: 100%;
}
.home_page .key .catch {
    padding: 1em;
    max-width: 100%;
    filter: drop-shadow(0 0 0.5em rgba(255, 255, 255, 1)) drop-shadow(0 0 0.6em rgba(255, 255, 255, 0.9)) drop-shadow(0 0 .7em rgba(255, 255, 255, 0.8)) drop-shadow(0 0 .8em rgba(255, 255, 255, 0.7)) drop-shadow(0 0 0.9em rgba(255, 255, 255, 0.6)) drop-shadow(0 0 1em rgba(255, 255, 255, 0.5)) drop-shadow(0 0 1em rgba(255, 255, 255, 0.5)) drop-shadow(0 0 1em rgba(255, 255, 255, 0.5)) drop-shadow(0 0 1em rgba(255, 255, 255, 0.5)) drop-shadow(0 0 1em rgba(255, 255, 255, 0.5));
}
.home_page .key .catch .title,
.home_page .key .catch p {
    letter-spacing: 0.1em;
}
.home_page .key .catch .title {
    position: relative;
    line-height: 1.4;
    padding: 0;
    background: transparent;
    margin-bottom: 0.5em;
    padding-bottom: 0.5em;
    font-size: 4em;
    font-weight: 400;
    color: var(--main-color);
}
.home_page .key .catch .title::after {
    content: "";
    position: absolute;
    width: 50px;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: currentColor;
}
.home_page .key .catch .title .sm {
    font-size: 0.85em;
}
.home_page .key .catch .title .lg {
    font-size: 1.15em;
    font-weight: 700;
}
.home_page .key .catch p {
    font-size: 1.6em;
    color: var(--clr1);
    font-weight: 600;
}
.home_page .topic_path {
    display: none;
}
.home_page h2 {
    position: relative;
    margin-bottom: 35px;
    color: var(--clr1);
    font-family: var(--f-jp);
    font-size: calc(var(--ttl_size) + 14px);
    font-weight: 500;
    letter-spacing: 0.15em;
}
.home_page h2 .en {
    color: var(--main-color);
    font-weight: 500;
    text-transform: uppercase;
}
.home_page h2.white {
    color: #fff;
}
.home_page h2.white .en {
    color: #fff;
}
.home_page h3 {
    font-size: 1.875em;
    line-height: 1.8em;
    letter-spacing: 0;
    font-weight: 600;
    margin-bottom: 0.9em;
}
.home_page h3.st02 {
    line-height: 1.3em;
    padding-left: 0.875em;
    position: relative;
    color: var(--main-color);
}
.home_page h3.st02:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.7em;
    width: 0.5375em;
    height: 1px;
    background: var(--main-color);
}
@media only screen and (min-width: 769px) {
    .iType-list li:hover {
        transform: translateY(-5px);
        transition: 0.3s all;
    }
    .iReha-cnt .idx-btn a:hover,
    .iGreeting-fx .box-cnt .idx-list-btn li a:hover {
        background: var(--main-color);
        color: #fff;
        transition: 0.3s all;
    }
    .idx-btn a:hover,
    .idx-list-btn li a:hover {
        background: #fff;
        color: var(--main-color);
        transition: 0.3s all;
        opacity: 1;
        box-shadow: 0 0 0 1px var(--main-color);
    }
    .iArea-list li:hover .img img {
        opacity: 1;
        transition: 0.3s all;
    }
    .iArea-list li:hover .img:before {
        mix-blend-mode: multiply;
        transition: 0.3s all;
        opacity: 0.75;
    }
    .iArea-list li:hover .ttl {
        color: #fff;
        transition: 0.3s all;
        z-index: 1;
    }
    .iArea-list li:hover .ttl:before {
        background: url(../images/idx-ico-arr.svg);
        transition: 0.3s all;
    }
}
section {
    background-size: cover;
    background-repeat: no-repeat;
}
.box-ttl {
    margin-bottom: 2.8125em;
    position: relative;
}
.box-ttl:before {
    content: "";
    position: absolute;
    left: -2.125em;
    top: -0.625em;
    width: 2.25em;
    height: 1px;
    background: var(--main-color);
    transform: rotate(45deg);
}
.box-ttl h2 {
    font-family: var(--f-en);
    font-size: 5.0625em;
    line-height: 1em;
    letter-spacing: 0;
    margin-bottom: 0.1234567901em;
}
.box-ttl .idx-ttl-jp {
    font-size: 1.125em;
    letter-spacing: 0;
    font-weight: 600;
    color: var(--main-color);
}
.idx-btn a {
    text-decoration: none;
    font-size: 1.125em;
    color: #fff;
    font-family: var(--f-en);
    background: linear-gradient(to right, #295282 0%, #6986a7 100%);
    min-width: 15.5555555556em;
    min-height: 3.8888888889em;
    border-radius: 0.1666666667em;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0.2777777778em 2.5em 0.2777777778em 1.3888888889em;
    width: fit-content;
    position: relative;
    letter-spacing: 0;
    transition: 0.3s all;
}
.idx-btn a:before {
    content: "";
    position: absolute;
    right: 1.1111111111em;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 1.1111111111em;
    height: 1.1111111111em;
    background: url(../images/idx-ico-arr.svg) no-repeat center;
    background-size: 100% auto;
}
.iConcept {
    position: relative;
    padding-bottom: 9.375em;
    z-index: 1;
}
.iConcept:before {
    content: "";
    position: absolute;
    left: 53%;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 110%;
    height: 100%;
    background: url(../images/idx-concept-bg.jpg) no-repeat center;
    background-size: cover;
    z-index: -1;
}
.iConcept-fx {
    padding-left: 6.25em;
    display: flex;
}
.iConcept-fx .box-cnt {
    padding-top: 7.5em;
    margin-right: 5.625em;
}
.iConcept-fx .box-cnt .txt {
    margin-bottom: 2.0625em;
}
.iConcept-fx .box-cnt .txt > p {
    font-size: max(1em, 12px);
    line-height: 2.22em;
    letter-spacing: 0.1em;
    font-weight: 500;
}
.iConcept-fx .box-img {
    flex-shrink: 0;
    margin-top: -2.875em;
    margin-right: -3.5em;
}
.iConcept-fx .box-img .img {
    width: 43.0625em;
    height: 56em;
    --mask: url(../images/idx-concept-mask01.svg);
    mask-image: var(--mask);
    -webkit-mask-image: var(--mask);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: 100% 100%;
    -webkit-mask-size: 100% 100%;
    mask-position: center;
    -webkit-mask-position: center;
}
.iConcept-fx .box-img .img img {
    width: 43.0625em;
    height: auto;
}
.idx-list-step {
    display: flex;
}
.idx-list-step li {
    position: relative;
    padding: 0 4.375em;
}
.idx-list-step li:last-child {
    border-right: 0;
}
.idx-list-step li:last-child:before {
    display: none;
}
.idx-list-step li:last-child:after {
    display: none;
}
.idx-list-step li:after {
    content: "";
    position: absolute;
    right: 0;
    top: 5em;
    bottom: 0;
    margin: auto 0;
    width: 1px;
    height: 22.25em;
    background: #e2e2e2;
}
.idx-list-step li:before {
    content: "";
    position: absolute;
    right: -3.0625em;
    top: -1.1875em;
    bottom: 0;
    margin: auto 0;
    width: 6.25em;
    height: 0.625em;
    background: url(../images/idx-step-ico-arr.svg) no-repeat center;
    background-size: 100% auto;
}
.idx-list-step li .stt {
    font-size: 7.625em;
    font-family: var(--f-en);
    color: #fff;
    font-weight: 400;
    line-height: 0.65em;
    text-align: center;
    margin-bottom: -0.0819672131em;
}
.idx-list-step li .ico {
    width: 13.75em;
    height: 13.75em;
    border-radius: 50%;
    background: #ececec;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto -1.1875em;
}
.idx-list-step li .ico .img img {
    height: 5.625em;
    width: auto;
}
.idx-list-step li .ttl {
    font-size: 1.25em;
    width: fit-content;
    padding: 0.25em 1.5em;
    background: var(--main-color);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    border-radius: 2em;
    line-height: 1.5em;
    margin: 0 auto 0.65em;
    letter-spacing: 0;
}
.idx-list-step li .txt > p {
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.75em;
}
.idx-box-step {
    background: #f4f4f4;
    padding-bottom: 4.8125em;
    position: relative;
    margin-bottom: 7.8125em;
}
.idx-box-step .idx-btn {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2.1875em;
    width: fit-content;
    margin: 0 auto;
}
.idx-list-btn02 {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 2.6875em;
    position: relative;
    z-index: 1;
}
.idx-list-btn02 li {
    width: 50%;
    max-width: 17.5em;
    margin-right: 1.25em;
}
.idx-list-btn02 li:last-child {
    margin-right: 0;
}
.idx-list-btn02 li a {
    font-size: 0.9375em;
    min-width: 100%;
    min-height: 4.6666666667em;
}
.idx-list-btn02 li a:before {
    right: 1.3em;
    width: 1.3333333333em;
    height: 1.3333333333em;
}
.iSports.st02 {
    position: relative;
    z-index: 1;
    padding-top: 1px;
}
.iSports.st02:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -1px;
    bottom: 0;
    margin: auto;
    background: url(../images/idx-reha-bg02.png) no-repeat top center;
    background-size: cover;
    width: 100%;
    height: 100%;
}
.iSports.st02:after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    bottom: -1px;
    width: 73.75em;
    height: 32.25em;
    background: url(../images/idx-bg-gradient.png) no-repeat center;
    background-size: cover;
    mix-blend-mode: multiply;
}
.iSports.st02 .iSports-box02 {
    max-width: 73.75em;
    background: #fff;
    position: relative;
    padding: 3.9375em 3.125em 6.25em;
    margin: -4.375em auto 0;
}
.iSports.st02 .iSports-box02 h3 {
    margin-bottom: 27px;
    padding-left: 25px;
}
.iSports.st02 .iSports-features h3 {
    margin-bottom: 26px;
}
.iSports.st02 .iSports-features .iSports-list li:last-child {
    margin-top: 5em;
}
.iSports.st02 .iSports-frame {
    margin: 6.6875em auto 0;
    height: 17.125em;
    background: #fff url(../images/idx-sports-frame02.svg) no-repeat center;
    position: relative;
    z-index: 1;
}
.iSports.st02 .iSports-frame .ttl {
    top: -0.875em;
    padding: 0 1.8em;
    margin-bottom: 0;
}
.iSports.st02 .iSports-frame .txt {
    max-width: 44.5em;
    margin: 0 auto 2.0625em;
}
.iSports.st02 .iSports-frame .idx-list-btn li {
    max-width: 13.75em;
}
.iSports-box {
    width: fit-content;
    max-width: 37.1875em;
    margin-left: auto;
    margin-right: 6.25em;
    margin-top: -2.4375em;
    position: relative;
    z-index: 1;
}
.iSports-box .box-ttl {
    margin-bottom: 2em;
}
.iSports-box .box-ttl h2 {
    font-size: 4em;
    margin-bottom: 0.1875em;
}
.iSports-box .box-ttl .idx-ttl-jp {
    font-size: 1.125em;
}
.iSports-list {
    display: flex;
    position: relative;
}
.iSports-list:before {
    content: "";
    position: absolute;
    left: 50%;
    top: 38.5%;
    transform: translateY(-50%) translateX(-50%);
    width: 100vw;
    height: 11.125em;
    background: url(../images/idx-features-hr.svg) no-repeat center;
    background-size: 100% auto;
}
.iSports-list li {
    max-width: 20.375em;
    margin-right: 3.2em;
}
.iSports-list li:last-child {
    margin-right: 0;
}
.iSports-list li .box-img {
    position: relative;
    margin-bottom: 1.25em;
}
.iSports-list li .box-img .stt {
    position: absolute;
    writing-mode: tb-rl;
    color: var(--main-color);
    background: #fff;
    padding: 0px 0.4761904762em 0.619047619em 0.1904761905em;
    line-height: 1em;
    font-weight: 500;
    margin-top: -0.1428571429em;
    font-family: var(--f-en);
    letter-spacing: 0;
    font-size: 1.3125em;
}
.iSports-list li h4 {
    font-size: 1.25em;
    color: var(--main-color);
    font-weight: bold;
    margin-bottom: 0.85em;
    letter-spacing: 0.01em;
}
.iSports-list li .txt > p {
    letter-spacing: 0.1em;
    line-height: 1.7em;
}
.iSports-list li:not(:first-child) {
    margin-top: 2.375em;
}
.iSports-list li:last-child {
    margin-top: 4.3125em;
}
.iSports-features {
    max-width: 67.5em;
    margin: 0 auto;
    margin-top: -1.875em;
}
.iSports-frame {
    background: url(../images/idx-sports-frame.svg) no-repeat center;
    position: relative;
    height: 19.0625em;
    max-width: 73.75em;
    padding: 0 4.375em;
    margin: 6.875em auto 0;
}
.iSports-frame .ttl {
    position: relative;
    font-size: 1.875em;
    width: fit-content;
    margin: 0 auto 0.2em;
    top: -1em;
    color: var(--main-color);
    font-weight: 600;
    letter-spacing: 0;
    padding: 0 1.5em;
}
.iSports-frame .ttl:before,
.iSports-frame .ttl:after {
    content: "";
    position: absolute;
    width: 0.75em;
    height: 1.5em;
    top: 0;
    bottom: 0;
    margin: auto 0;
}
.iSports-frame .ttl:before {
    left: 0;
    background: url(../images/idx-sports-ico01.svg) no-repeat center;
    background-size: 100% auto;
}
.iSports-frame .ttl:after {
    right: 0;
    background: url(../images/idx-sports-ico02.svg) no-repeat center;
    background-size: 100% auto;
}
.iSports-frame .idx-btn {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2.25em;
    margin: 0 auto;
    width: fit-content;
}
.iSports-frame .idx-btn a {
    min-width: 18.6666666667em;
    font-size: 0.9375em;
    min-height: 4.6em;
    transition: 0.3s all;
}
.iSports-frame .idx-btn a:before {
    right: 1.3em;
    width: 1.3333333333em;
    height: 1.3333333333em;
}
.iReha.st02 .iReha-frame {
    margin-top: 0;
    background: url(../images/idx-faci-bg.jpg) no-repeat center;
    background-size: cover;
    min-height: 30em;
}
.iReha.st02 .iReha-frame .iReha-cnt {
    width: 38em;
    padding: 5.1875em 0 6em 6.25em;
}
.iReha.st02 .iReha-frame .iReha-cnt h3 {
    letter-spacing: -0.0416666667em;
    font-size: 2.25em;
    padding-bottom: 0.5em;
    line-height: 1.3em;
    margin-right: 0.8333333333em;
}
.iReha.st02 .iReha-frame .iReha-cnt .txt > p {
    letter-spacing: 0.1em;
}
.iReha.st02 .iReha-frame .txt-animation {
    bottom: 4em;
}
.iReha .img-full {
    margin-top: -19.0625em;
}
.iReha .img-full img {
    width: 80em;
    height: auto;
}
.iReha-box {
    position: relative;
    z-index: 1;
}
.iReha-box:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -8.75em;
    background: url(../images/idx-reha-bg01.png) no-repeat center;
    background-size: 100% auto;
    width: 80em;
    height: 36.625em;
    z-index: -1;
}
.iReha-box .box-ttl {
    text-align: center;
    margin-bottom: 2.0625em;
    margin-top: -17.625em;
}
.iReha-box .box-ttl:before {
    left: -0.75em;
    right: 0;
    margin: 0 auto;
    top: -2em;
}
.iReha-box .box-ttl h2 {
    font-size: 4em;
    margin-bottom: 0.234375em;
}
.iReha-box .txt {
    max-width: 44.5em;
    margin: 0 auto;
}
.iReha-box .txt > p {
    color: var(--clr1);
}
.iReha-frame {
    margin-top: 4em;
    background: url(../images/idx-reha-bg02.jpg) no-repeat center;
    background-size: 100% auto;
    min-height: 34.375em;
    position: relative;
    z-index: 1;
}
.iReha-cnt {
    width: 37em;
    padding: 6.8125em 6.125em 11.1875em;
    position: relative;
    z-index: 1;
}
.iReha-cnt:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(20px);
    z-index: -1;
}
.iReha-cnt h3 {
    font-size: 2.25em;
    padding-bottom: 0.1666666667em;
    color: #fff;
    letter-spacing: -0.0833333333em;
    margin-bottom: 0.4722222222em;
    background: url(../images/idx-ico-hr.svg) no-repeat bottom center;
    background-size: 100% 1px;
}
.iReha-cnt .txt {
    margin-bottom: 2.4375em;
}
.iReha-cnt .txt > p {
    letter-spacing: 0;
    font-weight: 500;
    color: #fff;
}
.iReha-cnt .idx-btn a {
    background: #fff;
    color: var(--clr1);
}
.iReha-cnt .idx-btn a:before {
    background: url(../images/idx-ico-arr03.svg) no-repeat center;
}
.iReha-list {
    display: flex;
}
.iReha-list li {
    width: 33.3333333333%;
    position: relative;
}
.iReha-list li:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    background: #424243;
    mix-blend-mode: multiply;
}
.iReha-list li .img img {
    opacity: 0.07;
}
.iArea {
    background: url(../images/idx-reha-bg02.png) no-repeat top center;
    background-size: 100% auto;
    padding-bottom: 17.25em;
    position: relative;
    z-index: 1;
}
.iArea .inner_big {
    position: relative;
}
.iArea:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    background: url(../images/idx-bg-area.svg) no-repeat center;
    background-size: 100% auto;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.iArea-list {
    display: flex;
    justify-content: center;
}
.iArea-list li {
    max-width: 26.625em;
    width: 33.3333333333%;
    position: relative;
    height: 13.9375em;
    border-right: 1px solid #fff;
}
.iArea-list li .link-in {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.iArea-list li:last-child {
    border-right: 0;
}
.iArea-list li .img {
    height: 100%;
    position: relative;
}
.iArea-list li .img:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    background: rgba(66, 66, 67, 0.7);
    mix-blend-mode: color;
    transition: 0.3s all;
    z-index: 1;
}
.iArea-list li .img img {
    width: 100%;
    height: 100%;
    transition: 0.3s all;
    object-fit: cover;
    opacity: 0.07;
}
.iArea-list li .ttl {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    color: var(--clr1);
    font-size: 1.5em;
    display: flex;
    align-items: center;
    padding-left: 2.0833333333em;
    letter-spacing: -0.0625em;
    padding-right: 3.9583333333em;
    width: 100%;
    font-weight: 600;
    transition: 0.3s all;
}
.iArea-list li .ttl:before {
    content: "";
    position: absolute;
    right: 2.875em;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 0.8333333333em;
    height: 0.8333333333em;
    background: url(../images/idx-ico-arr02.svg) no-repeat center;
    background-size: 100% auto;
    transition: 0.3s all;
    z-index: 1;
}
.iArea-fx {
    display: flex;
    padding-left: 6.25em;
    padding-top: 9.1875em;
    position: relative;
    z-index: 1;
}
.iArea-fx:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    background: url(../images/idx-area-bg02.png) no-repeat center;
    background-size: 100% auto;
    margin: 0 auto;
    width: 100%;
    height: 82.25em;
    z-index: -1;
}
.iArea-cnt {
    width: 35.75em;
    flex-shrink: 0;
}
.iArea-cnt .box-ttl h2 {
    font-size: 4em;
}
.iArea-cnt .idx-list-btn02 {
    justify-content: flex-start;
}
.iArea-cnt .idx-list-btn02 li {
    margin-bottom: 0.9375em;
    max-width: 17.25em;
    margin-bottom: 1.3em;
}
.iArea-cnt .idx-list-btn02 li:nth-child(2n) {
    margin-right: 0;
}
.iArea-cnt .idx-list-btn02 li a {
    min-height: 5em;
    font-size: 1.25em;
    line-height: 1.3em;
}
.iArea-cnt .idx-list-btn02 li a:before {
    width: 1em;
    height: 1em;
    right: 1em;
}
.iArea-img {
    flex-shrink: 0;
    margin-left: -3.5em;
    margin-top: 0.4375em;
    position: relative;
}
.iArea-img #circle-people {
    position: absolute;
    left: 11.5em;
    top: 6.0625em;
    width: 17.75em;
    height: 35em;
}
.iArea-img #circle-people g {
    opacity: 0;
    transition: 0.3s all;
}
.iArea-img .img img {
    width: 51.625em;
    height: auto;
}
.iType {
    position: relative;
    z-index: 1;
}
.iType .iSports-frame {
    background: url(../images/idx-area-frame.svg) no-repeat center;
    position: relative;
    margin-top: 5.5em;
    height: 11.5625em;
}
.iType .iSports-frame .idx-list-btn li {
    width: 20%;
    max-width: 12em;
    margin-right: 1.25em !important;
}
.iType .iSports-frame .idx-list-btn li:nth-child(5n) {
    margin-right: 0 !important;
}
.iType .iSports-frame .idx-list-btn li a {
    padding-left: 1.25em;
}
.iType-box {
    position: relative;
}
.iType-box:before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    top: -15.9375em;
    background: url(../images/idx-type-bg01.png) no-repeat center;
    background-size: 100% auto;
    width: 100%;
    height: 17.625em;
}
.iType-box .box-ttl {
    text-align: center;
    top: -7em;
    margin-bottom: -4.4375em;
}
.iType-box .box-ttl:before {
    left: 0;
    right: 0;
    top: -2em;
    margin: 0 auto;
}
.iType-box .box-ttl h2 {
    font-size: 4em;
    margin-bottom: 0.234375em;
}
.iType-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.iType-list li {
    width: 50%;
    max-width: 32.5em;
    background: #f4f4f4;
    border-radius: 0.1875em;
    margin-right: 2.5em;
    position: relative;
    margin-bottom: 1.75em;
    transition: 0.3s all;
    display: flex;
    justify-content: space-between;
}
.iType-list li:before {
    content: "";
    position: absolute;
    right: 1.25em;
    bottom: 1.3125em;
    width: 1.25em;
    height: 1.25em;
    background: url(../images/idx-ico-arr.svg) no-repeat center;
    background-size: 100% auto;
}
.iType-list li .link-in {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    height: 100%;
}
.iType-list li:nth-child(2n) {
    margin-right: 0;
}
.iType-list li .img {
    flex-shrink: 0;
}
.iType-list li .img img {
    width: 17.1875em;
    height: auto;
}
.iType-list li .ttl {
    font-size: 1.25em;
    color: var(--main-color);
    font-weight: 600;
    display: flex;
    align-items: center;
    line-height: 1.5em;
    margin-top: 0.6em;
    margin-left: 1.5em;
}
.iGreeting {
    background: url(../images/idx-reha-bg02.png) no-repeat top center;
    background-size: 100% auto;
    position: relative;
    margin-top: -5.25em;
    padding-top: 11.75em;
    padding-bottom: 22.625em;
}
.iGreeting-fx {
    display: flex;
    padding: 0 6.25em;
    position: relative;
}
.iGreeting-fx:before {
    content: "";
    position: absolute;
    left: 4.375em;
    bottom: -10.5625em;
    background: url(../images/idx-greeting-ico01.svg) no-repeat center;
    background-size: 100% auto;
    width: 39.5625em;
    height: 51.4375em;
}
.iGreeting-fx .ttl {
    writing-mode: tb-rl;
    font-size: 2.1875em;
    margin-top: 4.1428571429em;
    line-height: 1.75em;
    margin-left: 0.7142857143em;
    letter-spacing: 0;
    font-weight: bold;
    position: relative;
    max-width: 125px;
    z-index: 1;
}
.iGreeting-fx .ttl span:last-child {
    margin-top: 1em;
}
.iGreeting-fx .box-cnt {
    max-width: 50.25em;
    margin-left: auto;
    position: relative;
    z-index: 1;
}
.iGreeting-fx .box-cnt .box-img {
    flex-shrink: 0;
    position: relative;
    margin-bottom: 1.875em;
}
.iGreeting-fx .box-cnt .box-img .img img {
    width: 50.25em;
    height: auto;
}
.iGreeting-fx .box-cnt .box-img .box-name {
    position: absolute;
    bottom: 1.875em;
    right: 1.875em;
    color: #fff;
    line-height: 1.5em;
}
.iGreeting-fx .box-cnt .box-img .box-name .sub-name {
    font-size: 0.875em;
    line-height: 1em;
    margin-bottom: 0.6428571429em;
}
.iGreeting-fx .box-cnt .box-img .box-name .name {
    font-size: 1.5em;
    line-height: 1em;
}
.iGreeting-fx .box-cnt .ttl02 {
    position: relative;
    display: flex;
    align-items: center;
    margin-bottom: 1.5625em;
}
.iGreeting-fx .box-cnt .ttl02 span {
    flex-shrink: 0;
    font-size: 1.125em;
    color: var(--main-color);
    margin-right: 0.5555555556em;
}
.iGreeting-fx .box-cnt .ttl02:after {
    content: "";
    position: relative;
    left: 0;
    top: 0;
    background: url(../images/idx-greeting-hr.svg) no-repeat center;
    background-size: 100% auto;
    width: 100%;
    height: 2px;
}
.iGreeting-fx .box-cnt .idx-fx-txt {
    display: flex;
    margin-bottom: 2.1875em;
}
.iGreeting-fx .box-cnt .idx-fx-txt .txt:first-child {
    margin-right: 2.1875em;
}
.iGreeting-fx .box-cnt .idx-fx-txt .txt > p {
    letter-spacing: 0;
}
.iGreeting-fx .box-cnt .idx-list-btn li {
    width: 50%;
    max-width: 13.125em;
}
.iGreeting-fx .box-cnt .idx-list-btn li:last-child {
    margin-right: 0;
}
.iGreeting-fx .box-cnt .idx-list-btn li a {
    background: #fff;
}
.iGreeting-en {
    font-size: 11.25em;
    font-family: var(--f-en);
    color: #fff;
    line-height: 1em;
    text-align: right;
    margin-top: -0.4444444444em;
    margin-right: -0.6333333333em;
    letter-spacing: 0;
    margin-bottom: -0.2944444444em;
    position: relative;
    z-index: 1;
}
.idx_gallery {
    margin-top: -14.125em;
    position: relative;
    z-index: 2;
}
.idx_gallery .item {
    margin: 0 0.9375em;
}
.idx_gallery .item img {
    width: 37.5em;
    height: auto;
}
@keyframes txt_scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}
.txt-animation {
    position: absolute;
    left: 0;
    bottom: 8.4em;
    margin: auto 0;
    display: flex;
    white-space: nowrap;
    line-height: 1em;
}
.txt-animation span {
    font-family: var(--f-en);
    font-weight: 400;
    font-size: 11.25em;
    color: #ffffff;
    margin: 0 0.15em;
    letter-spacing: 0.05em;
    animation: txt_scroll 8s linear infinite;
}
.idx-list-btn {
    display: flex;
    flex-wrap: wrap;
}
.idx-list-btn li {
    width: 25%;
    max-width: 15.3125em;
    margin-right: 1.25em;
    margin-bottom: 0.9375em;
}
.idx-list-btn li:nth-child(4n) {
    margin-right: 0;
}
.idx-list-btn li a {
    width: 100%;
    min-height: 4.6666666667em;
    line-height: 1.3em;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size: 0.9375em;
    color: var(--clr1);
    padding: 0.3333333333em 3em 0.3333333333em 1.6666666667em;
    letter-spacing: 0.05em;
    background: #f4f4f4;
    position: relative;
    font-weight: 700;
    transition: 0.3s all;
    text-decoration: none;
}
.idx-list-btn li a:before {
    content: "";
    position: absolute;
    right: 1.3333333333em;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 1.3333333333em;
    height: 1.3333333333em;
    background: url(../images/idx-ico-arr02.svg) no-repeat center;
    background-size: 100% auto;
}
.idx_map {
    height: 450px;
}
.idx_map iframe {
    height: 100%;
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
    :root {
        --ttl_size: 24px;
    }
    .iConcept .inner_big,
    .iReha .inner_big,
    .iArea .inner_big,
    .iGreeting .inner_big {
        padding: 0;
    }
    .home_page .key {
        font-size: 0.78vw;
    }
    .iConcept,
    .iSports,
    .iReha,
    .iArea,
    .iType,
    .iGreeting,
    .idx_gallery {
        font-size: 1.25vw;
    }
    .iConcept:before {
        width: 130%;
    }
}
@media only screen and (max-width: 992px) and (min-width: 769px) {
    :root {
        --ttl_size: 22px;
    }
}
/*# sourceMappingURL=index_pc.css.map */