html {
    scroll-behavior: smooth;
}

:root {
    interpolate-size: allow-keywords;
}

main {
    overflow: hidden;
    position: relative;
}

.sp{
    display: none;
}

.pc{
    display: block;
}

/* ナビ */
.page_nav {
    width: 19.8rem;
    height: 27.2rem;
    padding: 2.5rem 3.6rem 2.5rem 4.5rem;
    background-color: #F5C868;
    color: #5B2A08;
    font-weight: 300;
    border-radius: 2rem;
    position: fixed;
    top: 20rem;
    left: 2rem;
    z-index: 1;
    font-size: 1.6rem;
}

.page_nav_title {
    font-weight: bold;
    margin-bottom: 1rem;
    position: relative;
}

.page_nav_title::before {
    content: "";
    position: absolute;
    top: 0.5rem;
    left: -2rem;
    width: 1.5rem;
    height: 1.5rem;
    background-color: #F4A805;
    border-radius: 50%;
}

.page_nav a {
    margin-bottom: 0.5rem;
    display: block;
}

/* sectionの位置 */
.works section {
    margin-left: 21.8rem;
    margin-top: 3rem;
    scroll-margin-top: 10rem;
}

/* メインビジュアル */
.works .kyvisual {
    margin-left: 0;
    margin-top: 0;
}

.kyvisual img {
    width: 100%;
    height: 49.9rem;
}

/* セクションタイトル */

.works h2,
.works h1 {
    width: 59rem;
    height: 7rem;
    display: flex;
    align-items: center;
    color: #FFFFFF;
    font-size: 3rem;
    font-weight: 700;
    padding-left: 3.5rem;
    background-color: #F4A805;
    border-radius: 0 9rem 9rem 0;
}

/* 施設紹介 */
.intro {
    padding-bottom: 11rem;
}

.intro img {
    width: 94.7rem;
    height: 40rem;
    border-radius: 2rem;
    margin-top: 3rem;
    margin-left: 3.5rem;
}

.intro h3 {
    margin-top: 3rem;
    margin-left: 3.5rem;
    font-size: 2.5rem;
    font-weight: 500;
}

.intro p {
    font-weight: 300;
    font-size: 1.6rem;
    margin-left: 3.5rem;
    margin-top: 1.5rem;
}

.intro_facility {
    width: 94.7rem;
    border-radius: 6rem;
    margin-top: 1.5rem;
    margin-left: 3.5rem;
    background-color: #FFFFFF;
    padding: 4rem 6rem 5rem;
}

.intro_facility h3 {
    margin: 0;
    text-align: center;
    font-weight: 700;
    font-size: 3rem;
}

.intro_facility p {
    font-size: 1.8rem;
    font-weight: 500;
    margin-top: 2.1rem;
}

.bg_corner_top {
    width: 184rem;
    height: 184rem;
    border-radius: 50%;
    background-color: #F4A805;
    position: absolute;
    left: 0;
}

.bg_corner_bottom {
    position: absolute;
    width: 100%;
    height: 10rem;
    top: 214rem;
    background-color: #F4A805;
    left: 0;
    z-index: -1;
}

.bg_corner_wrap {
    position: absolute;
    left: 0;
    width: 100%;
    height: 98.4rem;
    overflow: hidden;
    z-index: -1;
    top: 120rem;
}

.intro_bg {
    position: absolute;
    background-color: #FFF7E2;
    width: 100%;
    height: 221.2rem;
    top: 50rem;
    left: 0;
    z-index: -2;
}

/* 仕事内容・一日の流れ */
.flow {
    padding-bottom: 5rem;
    position: relative;
}

.flow h3 {
    font-size: 2.5rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    padding-top: 3rem;
    scroll-margin-top: 10rem;
}

.flow h3::before {
    content: "";
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background-color: #F4A805;
    display: block;
    margin-right: 0.5rem;
}

.working_wrapper {
    margin-left: 3.5rem;
    position: relative;
}

.working_button {
    border-radius: 6rem;
    background-color: #F4A805;
    width: 94.7rem;
    height: 5rem;
    padding: 1rem 1rem 1rem 2.5rem;
    font-size: 2rem;
    font-weight: 700;
    color: #FFFFFF;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 3.2rem;
}

.working_button span {
    background-color: #FFFFFF;
    border-radius: 2rem;
    width: 8rem;
    height: 4rem;
    color: #F4A805;
    display: flex;
    align-items: center;
    justify-content: center;
}

.working_button.open span {
    transform: rotateX(180deg);
}

.tokuyo_working,
.onoda_working,
.tigusano_working,
.karatu_working {
    display: block;
    height: 0;
    overflow: hidden;
    background-color: #FFFFFF;
    width: 94.7rem;
    border-radius: 0 0 2rem 2rem;
    transition: all 1s;
}

.tokuyo_working.open,
.onoda_working.open,
.tigusano_working.open,
.karatu_working.open {
    height: auto;
}

.preparing p {
    font-size: 1.8rem;
    font-weight: 500;
    margin-left: 3.5rem;
    padding-block: 3rem;
}

.flow_img_box {
    display: flex;
    gap: 3.1rem;
    margin-left: 3rem;
    margin-top: 2.5rem;
}

.flow img {
    width: 26.1rem;
    height: 26.1rem;
    border-radius: 2rem;
}

.img_scroll_text{
    margin-top: 3rem;
    text-align: right;
    margin-right: 2rem;

}

.flow ul {
    margin-top: 2.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    font-size: 1.6rem;
    font-weight: 300;
    margin-left: 3rem;
}

.time_schedule {
    background-color: #FFFFFF;
    border-radius: 2rem;
    padding: 2rem 0 3.5rem 2.4rem;
    margin-left: 3.5rem;
    margin-top: 3rem;
    width: 94.7rem;
}

.time_schedule h4 {
    font-weight: 500;
    font-size: 1.6rem;
    margin-top: 1.5rem;
}

.time_schedule h4:first-child {
    margin-top: 0;
}

.time_schedule p {
    font-weight: 300;
    font-size: 1.6rem;
}

.table_scroll_text{
    text-align: left;
    margin-left: 0.5rem;
    margin-top: 3rem;
}

.time_schedule table {
    margin: 3rem auto 0;
    text-align: center;
    border: 0.1rem solid #000000;
}

.time_schedule th {
    font-weight: 300;
    font-size: 1.6rem;
    background-color: #F5C868;
    border-bottom: 0.1rem solid #000000;
    border-right: 0.1rem solid #000000;
    padding-block: 1.3rem;
}

.time_schedule th:first-child {
    width: 6rem;
}

.time_schedule th:nth-child(2) {
    width: 27rem;
}

.time_schedule th:last-child {
    border-right: none;
    width: 40rem;
    display: flex;
    gap: 2.5rem;
    justify-content: center;
}

.time_schedule td:first-child {
    font-size: 1.6rem;
    font-weight: 300;
    padding-block: 1rem;
    border-bottom: 0.1rem solid #000000;
    border-right: 0.1rem solid #000000;
}

.time_schedule td:nth-child(2) {
    font-size: 1rem;
    font-weight: 500;
    position: relative;
    z-index: 2;
    border-right: 0.1rem solid #000000;
}

.time_schedule td:nth-child(2)::before {
    position: absolute;
    content: "";
    left: 0.8rem;
    top: 0.6rem;
    width: 25rem;
    height: 3.4rem;
    z-index: -1;
    background-color: #FFF7E2;
    border-radius: 1.5rem;
}

.time_schedule td.two_hours::before {
    height: 7.8rem;
}

.time_schedule td.tree_hours::before {
    height: 12.1rem;
}

.time_schedule td.four_hours::before {
    height: 16.6rem;
}

.time_schedule td:nth-child(3) {
    position: relative;
    overflow: hidden;
}

.time_schedule td:nth-child(3) span {
    border-radius: 1.2rem;
    background-color: #F4A805;
    width: 2.4rem;
    height: 49.3rem;
    display: block;
    position: absolute;
}

.time_schedule td:nth-child(3) .skin {
    left: 2.9rem;
    top: 4.5rem;
}

.time_schedule td:nth-child(3) .early {
    left: 8.1rem;
    top: 9rem;
}

.time_schedule td:nth-child(3) .daywork {
    left: 13.9rem;
    top: 18rem;
}

.time_schedule td:nth-child(3) .akin {
    left: 19.2rem;
    top: 22.5rem;
}

.time_schedule td:nth-child(3) .late {
    width: 4.8rem;
    left: 26.5rem;
    top: 27rem;
    border-radius: 2.4rem;
}

.time_schedule td:nth-child(3) .nightwork {
    left: 34.6rem;
    top: 49.4rem;
    border-radius: 1.2rem 1.2rem 0 0;
    height: 58.3rem;
}

.time_schedule td:nth-child(3) .nightwork_return{
    border-radius: 0 0 1.2rem 1.2rem;
    height: 22.3rem;
    left: 34.6rem;
    top: 0;
}

.time_schedule tr:last-child td {
    border-bottom: none;
}

.flow_bg {
    position: absolute;
    background-color: #FFF7E2;
    width: 128rem;
    height: 237.8rem;
    bottom: 0;
    left: -21.8rem;
    z-index: -2;
    border-radius: 0 0 10rem 10rem;
}

/* 勤務条件・給与・福利厚生 */

.salary {
    position: relative;
    padding-bottom: 5rem;
}

.salary_visual {
    margin: 3rem auto 0 3.5rem;
    position: relative;
}

.salary_visual img {
    width: 94.7rem;
    height: 40rem;
    border-radius: 6rem;
}

.salary_visual h4 {
    position: absolute;
    bottom: 3rem;
    left: 3.5rem;
    font-size: 3rem;
    font-weight: 700;
    color: #FFFFFF;
    border-bottom: 0.1rem solid #F4A80B;
    width: 87.7rem;
}

.condition_button {
    border-radius: 6rem;
    background-color: #F4A805;
    width: 94.7rem;
    height: 5rem;
    padding: 1rem 1rem 1rem 2.5rem;
    font-size: 2rem;
    font-weight: 700;
    color: #FFFFFF;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 3.2rem;
    margin-left: 3.5rem;
}

.condition_button span {
    background-color: #FFFFFF;
    border-radius: 2rem;
    width: 8rem;
    height: 4rem;
    color: #F4A805;
    display: flex;
    align-items: center;
    justify-content: center;
}

.condition_button.open span{
    transform: rotateX(180deg);
}

.tokuyo_condition,
.onoda_condition,
.tigusano_condition,
.karatu_condition {
    background-color: #FFF8E2;
    width: 94.7rem;
    border-radius: 0 0 2rem 2rem;
    margin-left: 3.5rem;
    height: 0;
    overflow: hidden;
    transition: all 1s;
}

.tokuyo_condition.open,
.onoda_condition.open,
.tigusano_condition.open,
.karatu_condition.open {
    height: auto;
}

.salary .condition {
    border-radius: 2rem;
    width: 94.7rem;
    padding-top: 3rem;
    margin-left: 3.5rem;
    padding-block: 4rem;
}

.salary .condition h3 {
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
}

.salary .condition table {
    margin: 1.4rem auto 0;
    border: 0.1rem solid #707070;
}

.salary .condition th {
    background-color: #D8D8D8;
    border-bottom: 0.1rem solid #707070;
    border-right: 0.1rem solid #707070;
    padding: 1.2rem 3rem 1.2rem 2rem;
    font-size: 1.8rem;
    font-weight: 500;
}

.salary .condition th:last-child {
    border-right: none;
    padding-right: 12rem;
}

.salary .condition td {
    font-size: 1.8rem;
    font-weight: 500;
    background-color: #FFFFFF;
    padding: 2rem 0 1rem 2rem;
    border-bottom: 0.1rem solid #707070;
    border-right: 0.1rem solid #707070;
}

.salary .employee {
    width: 94.7rem;
    border-radius: 2rem;
    margin-top: 3rem;
    margin-left: 3.5rem;
    padding: 4rem 6rem 0;
    scroll-margin-top: 10rem;
}

.salary .employee h3 {
    text-align: center;
    font-size: 3rem;
    font-weight: 700;
}

.salary .employee dl {
    margin-top: 1.4rem;
    width: 82.8rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.salary .employee dl div {
    display: flex;
    border-bottom: 0.1rem solid #000000;
    font-size: 1.8rem;
    font-weight: 500;
    padding-left: 3rem;
    padding-bottom: 1rem;
    gap: 6.6rem;
}

.salary .employee dt {
    width: 10.8rem;
}

.salary .employee dd{
    font-weight: 300;
}

.salary .employee p {
    font-size: 1.6rem;
    font-weight: 300;
    margin-top: 1rem;
    text-align: right;
}

.salary .welfare {
    width: 94.7rem;
    border-radius: 2rem;
    margin-top: 3rem;
    margin-left: 3.5rem;
    padding: 4rem 0;
    scroll-margin-top: 10rem;
}

.salary .welfare h3 {
    text-align: center;
    font-size: 3rem;
    font-weight: 700;
}

.salary .welfare ul {
    margin-left: 9rem;
    margin-top: 1.4rem;
    font-size: 1.8rem;
    font-weight: 500;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.salary .welfare li {
    display: flex;
    align-items: center;
}

.salary_bg {
    position: absolute;
    background-color: #FFFFFF;
    width: 128rem;
    height: 5rem;
    bottom: 0;
    left: -21.8rem;
    border-radius: 0 0 10rem 10rem;
}

/* 募集要項 */
.offering {
    position: relative;
    padding-bottom: 5rem;
}

.offering_container {
    display: flex;
    flex-wrap: wrap;
    width: 98.2rem;
    gap: 2rem 2.2rem;
    margin-top: 3rem;
}

.offering_container div {
    border-radius: 2rem;
    background-color: #FFFFFF;
    width: 48rem;
    height: 32rem;
    padding: 3rem 2.5rem 0 3.5rem;
}

.offering_container h3 {
    font-size: 2.5rem;
    font-weight: 700;
    display: flex;
    align-items: center;
}

.offering_container h3::before {
    content: "";
    width: 2.5rem;
    height: 2.5rem;
    background-color: #F4A805;
    display: block;
    border-radius: 50%;
    margin-right: 0.5rem;
}

.offering_container ul {
    margin-top: 1.5rem;
    margin-left: 3.5rem;
    font-size: 1.6rem;
    font-weight: 300;
}

.offering_container li span {
    width: 6.6rem;
    display: inline-block;
}

.offering_container a {
    border-radius: 6rem;
    background-color: #F4A805;
    color: #FFFFFF;
    font-size: 2rem;
    font-weight: 700;
    padding-block: 1rem;
    width: 42rem;
    display: flex;
    margin-top: 2.5rem;
    padding-left: 2.5rem;
    align-items: center;
    gap: 22.5rem;
}

.offering_container a span {
    background-color: #FFFFFF;
    color: #F4A805;
    border-radius: 2.5rem;
    width: 8rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.offering_bg {
    position: absolute;
    bottom: 0;
    left: -21.8rem;
    width: 128rem;
    height: 89rem;
    background-color: #FFF7E2;
    z-index: -3;
}

@media screen and (max-width:699.98px) {
    .sp{
        display: block;
    }

    .pc{
        display: none;
    }

    .page_nav {
        display: none;
    }

    /* メインビジュアル */
    .kyvisual img {
        height: 40rem;
        object-position: -52rem 0;
    }

    /* セクションタイトル */
    .works h2,
    .works h1 {
        width: 36rem;
        font-size: 2rem;
        height: 5rem;
        padding-left: 1.5rem;
    }

    /* セクションの位置 */
    .works section {
        margin-left: 0;
        margin-top: 2rem;
    }

    /* 施設紹介 */
    .intro {
        padding-bottom: 5rem;
    }

    .intro img {
        width: 34.5rem;
        height: 37rem;
        margin: 2.5rem auto 0;
        display: block;
    }

    .intro h3 {
        font-size: 2rem;
        margin-top: 2rem;
        margin-left: 1.5rem;
    }

    .intro p {
        margin-left: 1.5rem;
        margin-top: 2rem;
        width: 31rem;
        padding-bottom: 5rem;
    }

    .intro_facility {
        width: 34.5rem;
        height: auto;
        margin-inline: auto;
        padding: 3rem 1rem 0;
    }

    .intro_facility h3 {
        margin: 0;
    }

    .intro_facility dl {
        gap: 1rem;
    }

    .intro_facility dl div {
        border: none;
        flex-direction: column;
        gap: 1rem;
        padding-bottom: 0;
        padding-left: 0;
        font-size: 1.6rem;
    }

    .intro_facility dt {
        width: auto;
        border-bottom: 0.1rem solid #000000;
        padding-bottom: 1rem;
    }

    .intro_facility dd {
        width: auto;
        border-bottom: 0.1rem solid #000000;
        padding-bottom: 1rem;
    }

    .intro_facility dl div:last-child dd {
        font-size: 1.4rem;
    }

    .bg_corner_wrap {
        top: 114rem;
        height: 20.4;
    }

    .bg_corner_top {
        width: 37.5rem;
        height: 37.5rem;
        border-radius: 70% 25% 0 0;
        transform: rotate(10deg);
    }

    .bg_corner_bottom {
        height: 123.5rem;
        top: 134rem;
    }

    .intro_bg {
        top: 40rem;
    }

    /* １日の流れ */
    .working_button{
        width: 31.5rem;
        font-size: 1.6rem;
    }

    .tokuyo_working,
    .onoda_working,
    .tigusano_working,
    .karatu_working{
        width: 31.5rem;
    }
    
    .flow h3 {
        font-size: 1.8rem;
        margin-left: 1.5rem;
    }

    .flow h3::before {
        width: 1.8rem;
        height: 1.8rem;
    }

    .flow_img_box {
        margin-left: 1.5rem;
        margin-top: 1.6rem;
        overflow-x: scroll;
    }

    .flow_img_box::-webkit-scrollbar {
        display: none;
    }

    .flow ul {
        margin-top: 3rem;
        margin-left: 1.5rem;
        width: 29rem;
    }

    .time_schedule {
        margin-top: 1.5rem;
        margin-left: 1.5rem;
        padding: 0;
        background-color: transparent;
        width: 29rem;
    }

    .table_scroll{
        overflow: scroll;
    }

    .time_schedule table{
        width: 73rem;
        margin-top: 0;
    }

    .flow_bg {
        width: 37.5rem;
        left: 0;
        border-radius: 0 0 5rem 5rem;
    }

    /* 勤務条件・給与・福利厚生 */
    .salary_visual {
        margin-top: 2rem;
        margin-inline: 0;
    }

    .salary_visual img {
        width: 34.5rem;
        height: 30rem;
        display: block;
        margin-inline: auto;
    }

    .salary_visual h4 {
        position: initial;
        margin-left: 1.5rem;
        margin-top: 1.5rem;
        font-size: 2rem;
        width: 34.5rem;
    }

    .condition_button{
        width: 31.5rem;
        font-size: 1.6rem;
    }

    .tokuyo_condition,
    .onoda_condition,
    .tigusano_condition,
    .karatu_condition{
        width: 31.5rem;
    }

    .salary .condition {
        width: 32rem;
        margin: 2rem auto 0;
        padding-block: 3rem;
    }

    .salary .condition h3 {
        font-size: 1.8rem;
    }

    .salary .condition th {
        font-size: 1rem;
        text-align: left;
        padding: 0.5rem 1.2rem 0.5rem 0.7rem;
    }

    .salary .condition th:last-child {
        padding-right: 6rem;
    }

    .salary .condition td {
        font-size: 1rem;
        padding-block: 0.7rem 0.5rem;
        padding-left: 0.5rem;

    }

    .salary .employee {
        width: 32rem;
        margin: 2rem auto 0;
        padding: 3rem 1rem 0;
    }

    .salary .employee h3 {
        font-size: 1.8rem;
    }

    .salary .employee dl {
        gap: 1rem;
        width: 32.5rem;
        margin-top: 1.5rem;
    }

    .salary .employee dl div {
        border: none;
        flex-direction: column;
        gap: 1rem;
        padding: 0;
        width: 29rem;
    }

    .salary .employee dt {
        font-size: 1.6rem;
        border-bottom: 0.1rem solid #000000;
        padding-bottom: 1rem;
        width: 100%;
    }

    .salary .employee dd {
        font-size: 1.4rem;
        border-bottom: 0.1rem solid #000000;
        padding-bottom: 1rem;
    }

    .salary .employee p {
        text-align: left;
    }

    .salary .welfare {
        width: 32rem;
        padding: 3rem 1rem 3rem;
        margin: 2rem auto 0;
    }

    .salary .welfare h3 {
        font-size: 1.8rem;
    }

    .salary .welfare ul {
        margin: 1.5rem 0 0;
        font-size: 1.6rem;
    }

    .salary_bg {
        width: 37.5rem;
        border-radius: 0 0 5rem 5rem;
        left: 0;
    }

    /* 募集要項 */

    .offering_container {
        width: 34.5rem;
        gap: 2rem;
        margin-inline: auto;
    }

    .offering_container div {
        width: 34.5rem;
        height: 32rem;
    }

    .offering_container h3 {
        font-size: 2rem;
    }

    .offering_container ul {
        margin: 1.9rem 0;
    }

    .offering_container a {
        width: 29.5rem;
        gap: 10rem;
    }

    .offering_bg {
        left: 0;
        width: 37.5rem;
        height: 154rem;
    }

}