.basic_wrapper {
    width: 90%;
    max-width: 1200px;
    margin: 20px auto;
}
.basic_sentence {
    width: 100%;
    margin: 0 auto 10px;
    font-size: 1.4rem;
}
.subtitle {
    text-align: center;
    line-height: 1.4;
    margin: 20px auto 10px;
    color: #444;
    font-weight: 500;
    font-size: 2.4rem;
}
.subtitle_under {
    display: block;
    color: #ff6a7d;
    font-size: 1.2rem;
}

.ls-02em {
    letter-spacing: -0.2em;
}
.ls-01em {
    letter-spacing: -0.1em;
}
.ls02em {
    letter-spacing: 0.2em;
}
.ls025em {
    letter-spacing: 0.25em;
}
.ls03em {
    letter-spacing: calc(1em / 2);
}
.ls05em {
    letter-spacing: 0.5em;
}
.ls06em {
    letter-spacing: 0.6em;
}
.ls08em {
    letter-spacing: 0.8em;
}
.ls11em {
    letter-spacing: 1.1em;
}
.mt05 {
    margin-top: 0.5em;
}

/* ----- ページトップ 三角ナビ ----- */
.recruit_ttl_index {
    width: 95%;
    margin: 10px auto;
    border-bottom: 1px solid #2dabea;
    text-align: center;
    color: #2dabea;
    font-weight: bold;
    font-size: 1.4rem;
}
.top_tri_list {
    width: 95%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 5px;
    margin: 0 auto 20px;
}
.ttl_item {
    position: relative;
    margin: -1px 0 0 -1px;
    background-color: #fff;
    border-radius: 5px;
    box-shadow: -1px -1px 2px #eee, 2px 2px 2px #ccc;
    text-align: center;
}
.ttl_item a {
    display: block;
    padding: 10px 5px 10px 20px;
    /* background: linear-gradient(#fff, #f8ffed); */
    /* background: linear-gradient(#fff, #f2f2f2); */
    font-weight: bold;
    font-size: 1.6rem;
}
.ttl_item a:hover {
    background: #fff4f5;
    transition: 0.2s;
}
.ttl_item::before {
    position: absolute;
    content: "";
    width: 13px;
    height: 8px;
    background: #ff6a7d;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    left: 10px;
    top: 19px;
    transform: rotate(90deg);
}

/* 青版 */
.ttl_blue .ttl_item::before {
    background: #2dabea;
}
.ttl_blue .ttl_item a:hover {
    background: #f7fcff;
    transition: 0.2s;
}

/* ----- サービス一覧 ----- */
.rotate_grid {
    display: grid;
    grid-gap: 20px;
    margin: 0 auto 30px;
}
.rotate_block {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 10px;
    background-color: #fff;
    border: 1px solid #ff9d26;
}
.rb_title {
    position: relative;
    display: block;
    width: fit-content;
    margin: 0 auto;
    color: #ff9d26;
    font-size: 2rem;
}
.rb_image {
    margin: 10px auto 15px;
}
.rb_image img {
    width: 80%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.rb_sentence_wrapper .rb_sentence:nth-child(n+2){
    margin-top: 5px;
}
.rb_sentence_wrapper .basic_list {
    width: 95%;
    margin: 0 auto;
    padding: 0.5em 0.5em 0.5em 1.5em;
    border: 1px dashed #ccc;
}
.rb_sentence_wrapper .basic_list li:nth-child(n+2) {
    margin-top: 0.5em;
}
.rb_sentence {
    padding: 0 0.5em;
    font-size: 1.4rem;
}

/* フローチャート */
.flow_wrapper {
    display: grid;
    width: 90%;
    max-width: 650px;
    margin: 15px auto 30px;
}
.flow_block {
    position: relative;
    display: grid;
    padding: 10px;
    border: 1px solid #00A0E9;
    border-radius: 10px;
}
.flow_index {
    display: flex;
    margin-bottom: 6px;
    padding-bottom: 2px;
    border-bottom: 1px dashed #999;
    color: #555;
    font-weight: bold;
    font-size: 1.6rem;
}
.flow_day .flow_index {
    margin: 0;
    border: none;  
}
.flow_number {
    margin-right: 0.5em;
    color: #00A0E9;
}
.flow_contents {
    font-size: 1.4rem;
}
.flow_tri {
    display: block;
    width: fit-content;
    color: #b4d6e6;
    margin: 0.5em auto;
    transform: scale(1.5, 1);
    font-size: 1.6rem;
}
/* 電話ブロック*/
.tel_block {
    position: relative;
    width: fit-content;
    margin: 20px auto 0;
    padding: 10px 25px;
    border: 1px solid #ff9d26;
    box-shadow: 2px 2px 2px #dd871e
}
.tb_space {
    padding: 0.5em;
}
.tb_number {
    letter-spacing: 0.2rem;
    color: #ff9d26;
    border-bottom: 2px solid #ff9d26;
    text-align: center;
    font-weight: bold;
    font-size: 2rem;
}
.tb_number a:hover {
    opacity: 0.8;
    transition: 0.2s;
}
.tb_sentence {
    margin-top: 5px;
    text-align: center;
    color: #666;
    font-weight: bold;
    font-size: 1.6rem;
}
/* ジャンプボタン */
.jump_button {
    display: block;
    width: 250px;
    margin: 15px auto 25px;
    color: #ff9d26;
    text-align: center;
    background-color: #fff;
    border: 1px solid #ff9d26;
    /* box-shadow: 2px 2px 2px #4f382b; */
    box-shadow: 2px 2px 2px #dd871e;
    
    line-height: 40px;
    font-weight: bold;
    font-size: 1.4rem;
}
.jump_button a {
    display: block;
}
.jump_button:hover {
    color: #fff;
    background-color: #ff9d26;
    transition: 0.2s;
}
.jump_button:hover {
    transition: 0.2s;
}

@media screen and (min-width: 600px) {
    .basic_wrapper {
        margin: 40px auto;
    }
    .basic_sentence {
        margin: 0 auto 20px;
        padding: 0 1em;
        font-size: 2rem;
    }
    .subtitle {
        line-height: 1.5;
        font-size: 3.6rem;
    }
    .subtitle_under {
        font-size: 1.6rem;
    }

    /* ----- ページトップ 三角ナビ ----- */
    .recruit_ttl_index {
        width: 100%;
        margin: 40px auto 10px;
        font-size: 2rem;
    }
    .top_tri_list {
        width: 100%;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        grid-gap: 10px;
        margin: 0 auto 60px;
    }
    .ttl_PC3 {
        grid-template-columns: 1fr 1fr 1fr;
    }
    .ttl_111 {
        max-width: 1200px;
        grid-template-columns: 1fr 1fr 1fr;
    }
    .ttl_item::before {
        width: 15px;
        height: 9px;
        left: 14px;
        top: 18px;
    }

    /* フローチャート */
    .flow_wrapper {
        margin: 30px auto 60px;
    }
    .flow_block {
        padding: 10px 20px;
        border-radius: 10px;
    }
    .flow_index {
        margin-bottom: 8px;
        padding-bottom: 2px;
        border-bottom: 1px dashed #999;
        font-size: 2rem;
    }
    .flow_contents {
        font-size: 1.6rem;
    }
    .flow_tri {
        margin: 0.5em auto;
        font-size: 2rem;
    }

    /* サービス一覧 */
    .rotate_grid {
        grid-gap: 40px;
        /* padding: 60px 0; */
        margin: 0 auto 60px;
    }
    .rotate_block {
        display: grid;
        grid-template-columns: 2fr 3fr;
        grid-gap: 20px;
        margin: 0 auto ;
        padding: 20px 10px;
    }
    .rb_title {
        grid-column: 1 / 3;
        font-size: 3rem;
    }
    .rb_image {
        margin: 6px auto;
    }
    .rb_image img {
        width:90%;
    }
    .rb_sentence_wrapper .rb_sentence:nth-child(n+2){
        margin-top: 10px;
    }
    .rb_sentence_wrapper .basic_list {
        padding: 1em 0.5em 1em 1.5em;
    }
    .rb_sentence {
        font-size: 2rem;
    }

    /* 電話ブロック*/
    .tel_block {
        margin: 30px auto 0;
        padding: 10px 30px;
        border: 1px solid #ff9d26;
        box-shadow: 2px 2px 2px #dd871e
    }
    .tb_space {
        padding: 0.5em;
    }
    .tb_number {
        letter-spacing: 0.2rem;
        border-bottom: 2px solid #ff9d26;
        text-align: center;
        font-weight: bold;
        font-size: 3rem;
    }
    .tb_sentence {
        margin-top: 5px;
        text-align: center;
        font-size: 2rem;
    }
    /* ジャンプボタン */
    .jump_button {
        width: 350px;
        margin: 40px auto 60px;
        /* box-shadow: 3px 3px 3px #4f382b; */
        box-shadow: 3px 3px 3px #dd871e;
        line-height: 50px;
        font-size: 2rem;
    }
    .jump_button_ano a {
        line-height: 66px;
    }
}

#landing_01, #landing_02, #landing_03, #landing_04, #kaigo, #kango, #OT, #service, #office_work, #cook {
    margin-top: -30px;
    padding-top: 30px;
}
@media screen and (min-width: 600px) {
    #landing_01, #landing_02, #landing_03, #landing_04, #kaigo, #kango, #OT, #service, #office_work, #cook {
        margin-top: -120px;
        padding-top: 120px;
    }
}