@charset "UTF-8";
/* CSS Document */


/****************************************************************************
.about
****************************************************************************/
.about .about-text__title {
    font-size: 3.33rem;
    line-height: 2;
    margin-top:calc( ( (3.33rem * 2 - 3.33rem) / 2 ) * -1 );
    margin-bottom:calc( ( (3.33rem * 2 - 3.33rem) / 2 ) * -1 );
}

.about .about-recommend-list__item {
    font-size: 1.333;
    padding-left: 1.167em;
    position: relative;
}

.about .about-recommend-list__item::before {
    content: '';
    width: 0.375em;
    height: 0.375em;
    border-radius: 50%;
    background: #009eb8;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.about .illustration-wrap {
    padding: 7.92vw 0 14.9vw;
    position: relative;
}

.about .illustration-wrap .illustration {
    width: 35.94vw;
    max-width: 690px;
    margin-left: 14.74vw;
    position: relative;
    z-index: 1;
}

.about .circle--left {
    width: 33.91vw;
    max-width: 651px;
    position: absolute;
    top: 12.03vw;
    left: -12.03vw;
    z-index: 2;
}

.about .circle--left::before {
    content: "";
    display: block;
    padding-top: 102%;
}

.about .circle--left .circle__item:nth-child(1){
    width: 6.35vw;
    max-width: 122px;
    position: absolute;
    top: 0;
    left: 2.86vw;
}

.about .circle--left .circle__item:nth-child(2){
    width: 8.23vw;
    max-width: 158px;
    position: absolute;
    top: 4.11vw;
    left: 9.9vw;
}

.about .circle--left .circle__item:nth-child(3){
    width: 9.9vw;
    max-width: 190px;
    position: absolute;
    bottom: 6.15vw;
    left: 0;
}

.about .circle--left .circle__item:nth-child(4){
    width: 18.13vw;
    max-width: 348px;
    position: absolute;
    bottom: 0;
    right: 0;
}

.about .circle--right {
    width: 33.07vw;
    max-width: 635px;
    position: absolute;
    top: -8.18vw;
    right: -3.91vw;
    z-index: 2;
}

.about .circle--right::before {
    content: "";
    display: block;
    padding-top: 132.13%;
}

.about .circle--right .circle__item:nth-child(1){
    width: 6.77vw;
    max-width: 130px;
    position: absolute;
    top: 1.67vw;
    left: 13.33vw;
}

.about .circle--right .circle__item:nth-child(2){
    width: 9.95vw;
    max-width: 191px;
    position: absolute;
    top: 0;
    right: 0;
}

.about .circle--right .circle__item:nth-child(3){
    width: 13.8vw;
    max-width: 265px;
    position: absolute;
    top: 14.95vw;
    left: 8.49vw;
}

.about .circle--right .circle__item:nth-child(4){
    width: 6.3vw;
    max-width: 121px;
    position: absolute;
    bottom: 12.14vw;
    right: 3.65vw;
}

.about .circle--right .circle__item:nth-child(5){
    width: 9.95vw;
    max-width: 191px;
    position: absolute;
    bottom: 0;
    left: 0;
}


/****************************************************************************
features
****************************************************************************/
.features{
    margin-bottom: 18.07vw;
}

.features .features-text__title {
    line-height: 2.2;
}


/****************************************************************************
usage
****************************************************************************/
.usage .section-title {
    height: 4.38vw;
    width: auto;
}

.usage .inner--right {
    position: relative;
}

.usage .usage-list {
    position: relative;
    z-index: 2;
}

.usage .usage-list__item-number {
    width: 17.6vw;
    max-width: 338px;
    font-size: 1rem;
    position: relative;
    letter-spacing: normal;
}

.usage .usage-list__item-number::before {
    content: '';
    width: 0.722em;
    height: 1px;
    background: #009eb8;
    position: absolute;
    top: -0.944em;
    left: 0;
}

.usage-list__item-title {
    letter-spacing: .3em;
}

.usage .circle__item:nth-child(1) {
    width: 9.01vw;
    max-width: 173px;
    position: absolute;
    top: -7.5vw;
    right: -16.09vw;
}

.usage .circle__item:nth-child(2) {
    width: 6.3vw;
    max-width: 121px;
    position: absolute;
    top: 2.5vw;
    right: -9.58vw;
}


/****************************************************************************
schedule
****************************************************************************/
.schedule .schedule__title--middle {
    font-size: 1.77rem;
}

.schedule .period__box {
    width: 53.33vw;
}

/* スケジュール */
.schedule__box {
    box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.schedule__time {
	width: 14.94%;
	padding: 0;
	position: relative;
    box-sizing: border-box;
    font-size: 1.33rem;
}

.schedule__time::after {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	width: 0.375em;
    height: 0.375em;
    border-radius: 50%;
	background: #009488;
    transform: translateX(50%) translateY(-50%);
}

.schedule__detail {
	width: calc(100% - 14.94%);
	padding: 0 0 9.643em 5.286em;
    box-sizing: border-box;
    font-size: 0.77rem;
    background-image: linear-gradient(to top, #009488, #009488 3px, transparent 3px, transparent 8px);
    background-size: 1px 6px;
    background-position: left bottom;
    background-repeat: repeat-y;
    /* margin-top: calc((0.77rem / 2)*-1); */
}

.schedule__detail:last-child {
    background: none;
    padding-bottom: 0;
}
/* スケジュールここまで */


.schedule .illustration {
    width: 17.97vw;
    max-width: 345px;
    position: absolute;
    bottom: -0.68vw;
    right: 5.21vw;
}

/****************************************************************************
info
****************************************************************************/
.info .pickup__box {
    align-items: center;
}

.info .pickup__box .pickup__circle {
    width: 21.46vw;
    max-width: 412px;
}

.info .pickup__box .pickup__text-box {
    width: 32.66vw;
    max-width: 627px;
}

.info .pickup__box .pickup__text-box .pickup__title {
    font-size: 1rem;
}

.info .pickup__box .pickup__text-box .area-list{
    font-size: 1.1rem;
    line-height: 1.7;
    margin-top:calc( ( (1.1rem * 2 - 1.1rem) / 2 ) * -1 );
    margin-bottom:calc( ( (1.1rem * 2 - 1.1rem) / 2 ) * -1 );
}

.info .pickup__box .pickup__text-box .area-list .area-list__item {
    position: relative;
    padding-left: 3em;
}

.info .pickup__box .pickup__text-box .area-list .area-list__item::before {
    content: '';
    display: inline-block;
    background: url(../images/rehabili-center/dotted-circle.png);
    background-size: contain;
    width: 0.95em;
    height: 0.95em;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.info .circle__item:nth-child(1) {
    width: 8.91vw;
    max-width: 171px;
    position: absolute;
    top: -1.93vw;
    right: -0.83vw;
}

.info .circle__item:nth-child(2) {
    width: 6.25vw;
    max-width: 120px;
    position: absolute;
    top: 8.7vw;
    right: -7.14vw;
}


/****************************************************************************
reservation
****************************************************************************/
.reservation__wrap {
    align-items: center;
}

.reservation .wrap__item .item__text {
    align-items: center;
    margin-top: 0;
}

.reservation .wrap__item .item__title {
    margin-bottom: 0;
}

.reservation .circle__item:nth-child(1) {
    width: 19.95vw;
    max-width: 383px;
    position: absolute;
    top: -21.72vw;
    right: -28.33vw;
    z-index: 2;
}

.reservation .circle__item:nth-child(2) {
    width: 10.89vw;
    max-width: 209px;
    position: absolute;
    top: -0.47vw;
    right: -14.58vw;
    z-index: 1;
}

.reservation .circle__item:nth-child(3) {
    width: 9.11vw;
    max-width: 137px;
    position: absolute;
    top: -3.07vw;
    right: -2.55vw;
}




@media screen and (min-width: 1921px) {
    .about .circle--right {
        right: -20%;
    }

    .about .circle--right .circle__item:nth-child(4) {
        bottom: 110px;
        right: 5px;
    }

    .about .circle--right .circle__item:nth-child(1) {
        top: 40px;
        left: 220px;
    }
}

/****************************************************************************
PC中
****************************************************************************/
@media screen and (max-width: 1600px) {

}



@media screen and (max-width: 1450px) {

}


/****************************************************************************
PC中
****************************************************************************/
@media screen and (max-width: 1350px) {

}


/****************************************************************************
タブレット
****************************************************************************/
@media screen and (max-width: 1024px) {
    .about .about-text__title {
        font-size: 2rem;
    }
    
    .about .illustration-wrap .illustration {
        margin-left: auto;
        margin-right: auto;
    }

    .about .circle--left {
        width: 33.91vw;
        max-width: 651px;
        position: absolute;
        top: 12.03vw;
        left: -2.03vw;
        z-index: 2;
    }

    .usage-list__item {
        margin-bottom: 50px;
    }

    .usage-list__item-detail {
        width: 70%;
    }

    .usage .usage-list__item-number {
        margin-bottom: 15px;
        width: 27%;
    }

    .schedule .period__box {
        width: 100%;
    }

    .schedule .annotation--kome {
        padding-bottom: 70px;
    }

    .info .pickup__box .pickup__circle {
        width: 30.46vw;
    }

    .info .pickup__box .pickup__text-box {
        width: 51.66vw;
    }

    .usage .section-title {
        height: 6.5vw;
    }

}


/****************************************************************************
SP
****************************************************************************/
@media screen and (max-width: 599px) {
    .usage-list__item {
        display: block;
        margin-bottom: 16vw;
    }

    .usage-list__item-detail {
        width: auto;
    }

    .usage .usage-list__item-number {
        width: auto;
        margin-bottom:6vw;
    }

    .usage-list__item-title {
        padding-bottom: 6.4vw;
    }

    .schedule__time {
        width: 22%;
        line-height: 1;
    }

    .schedule__time::after {
        top: 8%;
    }

    .schedule__detail {
        width: calc(100% - 22%);
        padding: 0 0 4em 2em;
        font-size: 1rem;
        line-height: 1.5;
    }

    .schedule .illustration {
        width: 31.97vw;
        bottom: -19.68vw;
    }

    .info .pickup__box {
        display: block;
    }

    .info .pickup__box .pickup__text-box {
        width: auto;
    }

    .info .pickup__box .pickup__circle {
        width: 31.46vw;
        position: absolute;
        right: 5%;
        top: -34%;
        z-index: 5;
    }

    .about .illustration-wrap {
        padding: 12.8vw 0 14.9vw;
    }

    .about .circle--right {
        top: 0;
    }

    .layer-large {
        margin-bottom: 65vw;
    }

    .usage .section-title {
        height: auto;
        width: 100%;
    }

    .info .circle__item:nth-child(1) {
        width: 28.91vw;
        top: -14.93vw;
        right: 7.17vw;
    }

    .info .circle__item:nth-child(2) {
        width: 26.25vw;
        top: 18.7vw;
        right: -7.14vw;
    }

    .schedule .period__box {
        margin: 0 calc( ( 50% - 50vw ) -20px );
        width: 100vw;
        padding-bottom: 2px;
        margin-bottom: 8px;
        overflow-x: scroll;
    }

    .schedule .period__box img {
        white-space:nowrap;
        width: 150%;
        padding-right: 40px;
    }


}























