@charset "utf-8";
.main_title{
    padding-top: clamp(150px,21vw,276px);

    h1{
        font-weight: var(--Bold);
        font-size: var(--font-size44);
        line-height: .9;
        position: relative;
        text-align: center;
        width: 11em;
        margin: 0 auto;
        
        
        &::before{
        content: '';
        position: absolute;
        display: inline-block;
        height: 1.7em;
        top: -2.3em;
        left: 5.5em;
        border-left: solid clamp(3px,.5vw,5px) var(--main-color);
        }
            
        span{
        font-weight: var(--Regular);
        color: var(--main-color);
        font-size: var(--font-size16);
        }
    }
}
/*-----訪問リハビリテーションとは？ sp -----*/
.message{
    width: min(90%,1428px);
    margin: 0 auto;
    padding-top: var(--px70);
    padding-bottom: var(--px120);
    transition: .3s;

    .message_p{
        width: min(100%,220px);
        margin: 0 auto;
        transition: .3s;

         img{
            border-radius: var(--px20);
         }
    }
	.message_tx{
        padding-top: var(--px60);
        transition: .3s;
        
        h2{
            font-size: var(--font-size36);
            font-weight: var(--Bold);
            
            span{
                font-size: var(--font-size16);
                font-weight: var(--Regular);
                color: var(--main-color);
                display: block;
            }
        }
        h3{
            padding-top: var(--px20);
            font-weight: var(--Bold);
        }
        p{
            padding-top: var(--px20);
            line-height: 1.8;
        }
        /*-----運営規程 sp -----*/
        .download{        

            a{
                font-size: var(--font-size20);
                color: var(--main-color);
            }
        
        }
    }

}
hr{
    margin: 0;
    border: none;
    border-bottom: 1px solid #707070;
}

.foreword{
    width: min(90%,1100px);
    margin: 0 auto;

    .inner{
        padding: var(--px120) 0 0;

        h3{
            border-left: clamp(3px,.5vw,5px) solid var(--main-color);
            font-size: var(--font-size36);
            font-weight: var(--Bold);
            border-bottom: 1px solid var(--main-color);
            padding: .3em 0 2px var(--px30);
            width: 100%;
        }
        .ex{
            font-size: var(--font-size24);
            font-weight: var(--Bold);
            padding-left: var(--px40);
            padding-top: var(--px30);
        }
        .situation{
            font-size: var(--font-size20);
            font-weight: var(--Bold);
            padding-top: var(--px40);
            padding-left: var(--px30);
        }
        p{
            padding: var(--px30) 0 0 var(--px40);
            line-height: 1.8;
        }
        .center{
            width: min(100%,530px);
            margin: var(--px30) auto;
            padding: var(--px30) 0;
            display: flex;
            justify-content: center;
        }
        /*-----訪問エリア・時間・リハビリ体制について sp -----*/
        .area{
            .text{
                padding-left: var(--px40);
                padding-top: var(--px20);

                h4{
                    padding-top: var(--px20);
                    font-size: var(--font-size24);
                    font-weight: var(--Bold);
                }
                p{
                    padding-top: 5px;
                    padding-left: 1em;
                    text-indent: -1em;
                    line-height: 1.5;

                    span{
                        color: var(--main-color);
                        font-weight: var(--Black);
                    }
                }
                .indentback{
                    text-indent: -1em;
                    padding-left: 1em;
                }
            }
        }
        /*-----サービス内容 sp -----*/
        .wrap{
            .photo{
                width: min(100%,350px);
                padding: var(--px30) 0 0 var(--px40);

                img{
                    border-radius: var(--px20);
                }
            }
            .text{
                padding-left: var(--px40);

                h4{
                    padding-top: var(--px20);
                    font-size: var(--font-size24);
                    font-weight: var(--Bold);
                }
                p{
                    padding-top: 5px;
                    padding-left: 1em;
                    text-indent: -1em;
                    line-height: 1.5;

                    span{
                        color: var(--main-color);
                        font-weight: var(--Black);
                    }
                }
            }
        }
        /*-----ご利用対象者 sp -----*/
        .info{
            .info_text{
                padding: var(--px30) 0 0 var(--px40);

                p{
                    padding-top: 5px;
                    padding-left: 1em;
                    text-indent: -1em;
                    line-height: 1.5;

                    span{
                        color: var(--main-color);
                        font-weight: var(--Black);
                    }
                }
            }
            .info_photo{
                width: min(100%,350px);
                padding: var(--px30) 0 0 var(--px40);
            }
        }
        
        /*-----ご利用までの流れ sp -----*/
        .flow_box{
            width: min(100%,1040px);
            margin: var(--px20) auto 0;
            background-color: var(--gray);
            padding: var(--px80) 0 var(--px30);
            border-radius: var(--px20);

            .box{
                background-color: #fff;
                padding: var(--px10) 0 var(--px20);
                width: min(90%,860px);
                margin: 0 auto 70px;
                border-radius: var(--px20);
                position: relative;

                &::after{
                    position: absolute;
                    content: '';
                    display: inline-block;
                    width: 49px;
                    height: 21px;
                    background-image: url(../images/rehabilitation/png_01.png);
                    bottom: -48px;
                    right: calc((100% - 49px) / 2);
                }
                &:nth-child(3){
                    margin-bottom: 0;

                    &::after{
                        background-image: none;
                    }
                }

                .item{
                    width: min(90%,710px);
                    margin: 0 auto;

                    h4{
                        font-weight: var(--Medium);
                        font-size: var(--font-size20);

                        span{
                            font-weight: var(--Bold);
                            font-size: var(--font-size32);
                            color: var(--main-color);
                            padding-right: var(--px10);
                        }
                    }
                    p{
                        padding: 3px 0 0;
                        line-height: 1.6;
                        font-size: var(--font-size16);
                    }
                    h5{
                        display: inline-block;
                        border-bottom: 2px dashed var(--main-color);
                        padding: var(--px10) 0 3px;
                        font-weight: var(--Medium);
                        font-size: var(--font-size16);
                    }
                }
            }
            .memo{
                font-size: var(--font-size20);
                font-weight: var(--SemiBold);
                text-align: center;
                padding-top: var(--px30);
            }
        }
        /*-----利用料金のご案内 sp -----*/
        .price_wrap{
            width: min(100%,1100px);
            padding-top: var(--px10);

            .price_box{
                width: min(100%,520px);
                margin: 0 auto 15px;
                border: 2px solid #2BAEA3;
                padding: clamp(10px,1.8vw,14px) var(--px20);
                border-radius: var(--px20);
                background: linear-gradient(180deg, #2BAEA3 0%, #2BAEA3 46px, #fff 46px, #fff 100%);

                &.orange{
                    border: 2px solid #E59E24;
                    background: linear-gradient(180deg, #E59E24 0%, #E59E24 46px, #fff 46px, #fff 100%);
                    .color{
                        color: #E59E24;
                    }
                }

                h4{
                    color: #fff;
                    text-align: center;
                    font-size: 1.6rem;
                    font-weight: var(--Medium);
                }
                table {
                    border-collapse: collapse;
                    margin-top: 15px;
                    width: 100%;
                }
                tr{
                    border-collapse: collapse;
                    padding: var(--px20) 0;
                    border-bottom: 1px solid #c4c4c4;
                    &:last-child{
                        border-bottom: none;
                    }
                }
                td {
                    border-collapse: collapse;
                    vertical-align: bottom;
                    padding: var(--px10) 0;

                    span{
                        font-size: 80%;
                    }
                    .color{
                        color: #2BAEA3;
                    }
                    &.right{
                        text-align: right;
                    }
                    &.en{
                        width: 1em;
                    }
                }

            }
            .about_box{
                width: min(100%,530px);
                margin: 0 auto var(--px35);
                padding: var(--px20);

                h4{
                    font-size: var(--font-size24);
                    font-weight: var(--Bold);
                    position: relative;
                    padding-left: 50px;
                    padding-top: 20px;

                    &::before{
                        position: absolute;
                        content: '';
                        display: inline-block;
                        width: 40px;
                        height: 46px;
                        background-image: url(../images/rehabilitation/png_02.png);
                        bottom: 0px;
                        left: 0;
                    }
                }
                p{
                    text-indent: -1em;
                    padding: var(--px10) 0 0 1em;
                    line-height: 1.4;

                    span{
                        color: var(--main-color);
                        font-weight: var(--Black);
                    }
                }
                hr{
                    border-bottom: 1px solid #c4c4c4;
                    padding-top: var(--px10);
                }
                .foot_tel{
                    text-align: left;
                }
            }
            .etc{
                width: 100%;
                padding-top: var(--px10);
            }
        }
        /*-----ケアマネ・交流勉強会 sp -----*/
        .info_box{
            margin: 30px auto 0;
            width: min(90%,1040px);
            
            a{
              position: relative;
              display: block;
              width: 100%; 
              position: relative;

              &::after{
                position: absolute;
                content: "";
                right: 20px;
                bottom: calc(50% - 6px);
                /*ボーダー矢印*/
                display: inline-block;
                width: 12px;
                height: 12px;
                border-top: 2px solid var(--main-color);
                border-right: 2px solid var(--main-color);
                transform: rotate(45deg);
                transition-property: all;
                transition-duration: 0.3s;
              }
              &:hover{
                &::after{
                    right: 5px;
                }
              }
              
              &:last-child{
                li{
                    border-bottom: none;
                }
              }
            }
            
            li{
              border-bottom: 1px solid #ccc;
              padding: 10px 0;
            }
            
            .date{
              color: var(--main-color);
              font-size:var(--font-size20);
              margin: 2px 0;
            }
            .text{
              padding: 0 16px 0 0px;
              width: 95%;
              color: var(--font-color);
              margin: 2px 0;
              /*テキスト・・・*/
              overflow: hidden;
              display: -webkit-box;
              -webkit-box-orient: vertical;
              -webkit-line-clamp: 1; 
              line-clamp: 1; 
              font-weight: var(--Medium);  
              font-size:var(--font-size20);   
            }
          }
        .about_btn{
            padding-top: var(--px50);
            width: min(90%,300px);
            margin: 0 auto var(--px100);

            li{
                background-color: #246DE5;
                color: #ffffff;
                font-weight: 600;
                border-radius: 50px;
                position: relative;
                width: 300px;
                padding-left: 20px;
                margin-top: var(--px20);
    
                a{
                    color: #ffffff;
                    padding: 6px 20px 6px 0;
                    display: flex;
                    align-items: center;
                }
                &::after{
                    display: inline-block;
                    content: "";
                    position: absolute;
                    background-image: url("../images/common/png_03.png");
                    width: 12px;
                    height: 12px;
                    background-size: 12px;
                    top: 12px;
                    right: 20px;
                    transition: all .3S;
                    background-repeat: no-repeat;
                }
                img{
                   width: 24px; 
                   margin-right: 5px;
                }
            }
        }
    }
}

@media (min-width:768px){
    /*-----訪問リハビリテーションとは？ tab -----*/
    .message{
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-left: 10px;

        .message_p{
            width: 33%;
            margin: 0;
            order: 2;
        }
        .message_tx{
            width: 63%;
            margin: 0;
            padding-top: 0;
        }
    }
    
    .foreword{

        .inner{
            /*-----訪問エリア・時間・リハビリ体制について tab -----*/
        .area{
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;

            .text{
                width: 49%;
                
            }
        }
            /*-----サービス内容 tab -----*/
            .wrap{
                width: min(100%,980px);
                margin: 0 auto;
                display: flex;
                justify-content: space-between;
                align-items: center;

                .photo{
                    width: min(25%,350px);   
                }
                .text{
                    width: 75%;
                }
            }
            /*-----ご利用対象者 tab -----*/
            .info{
                display: flex;
                justify-content: space-between;
                align-items:flex-start;

                .info_text{
                    width: min(65%,600px);
                }
                .info_photo{
                    width: min(30%,350px);
                }
            }
            /*-----利用料金のご案内 tab -----*/
            .price_wrap{
                display: flex;
                justify-content: space-between;
                flex-wrap: wrap;
                align-items: flex-start;

                .price_box{
                    width: 48%;
                    margin: 0;
                    background: linear-gradient(180deg, #2BAEA3 0%, #2BAEA3 50px, #fff 50px, #fff 100%);

                    &.orange{
                        background: linear-gradient(180deg, #E59E24 0%, #E59E24 50px, #fff 50px, #fff 100%);
                    }
                }
                .about_box{
                    width: min(48%,453px);
                    margin: 0 0 var(--px35);
                    padding: 0 var(--px20) var(--px20);
                }
            }
            .center{
                width: min(100%,1100px);
                background-color: #f1f1f1;
            }
        }
        
        

    }

}
@media (min-width:1024px){
    
    .foreword{

        .inner{
            /*-----サービス内容 pc -----*/
            .wrap{
                .photo{
                    width: min(34%,350px);   
                }
                .text{
                    width: 65%;
                }
            }
            /*-----ご利用対象者 pc -----*/
            .info{
                .info_text{
                    width: min(65%,680px);
                }

                .info_photo{
                    width: min(35%,350px);
                    margin-right: 30px;
                }
            }
            .about_btn{

                li{
                    &::after{
                        top: 15px;
                        right: 20px;
                    }
                    img{
                    width: 30px; 
                    margin-right: 13px;
                    }
                }
            }
        }

    }


    
 }

@media (min-width:1280px){
/*-----訪問リハビリテーションとは？ 1280 -----*/
    .message{
        padding-left: 100px;

        .message_p{
            width: min(42%,600px);
        }
        .message_tx{
            width: 49%;
        }
    }
/*-----サービス内容 1280 -----*/
    .foreword{

        .inner{

            .text{
                width: 52.7%;
            }
            .photo{
                width: 36.3%;
            }
        }

    }

}