a.top-template_button{
    flex: 0 0 auto;
    display: flex;
    justify-content: center;
    padding: 0.7rem 1rem;
    min-width: 10rem;
    background-color: rgb(var(--color-secondary-green));
    color: rgb(var(--color-white));
    border-radius: 100rem;
    border: 1px solid rgb(var(--color-secondary-green));
    font-family: "Inter", "Noto Sans JP";
    font-weight: 400;
    font-size: 1rem;
    transition: background-color 0.3s ease, color 0.3s ease;
}

a.top-template_button:hover{
    background-color: rgb(var(--color-white));
    color: rgb(var(--color-secondary-green));
}

a.top-template_button.bright{
    background-color: rgb(var(--color-bright-green));
    border-color: rgb(var(--color-bright-green));
}

a.top-template_button.bright:hover{
    background-color: rgb(var(--color-white));
    color: rgb(var(--color-bright-green));
}

@media screen and (max-width: 1080px) {
    a.top-template_button{
        font-size: 1.2rem;
        min-width: 12rem;
    }
}

div.content_box.top-template-section_heading{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    column-gap: 0.8rem;
}

div.content_box.top-template-section_heading h2{
    font-size: 1.5rem;
    margin-bottom: 0.2rem;
}

div.content_box.top-template-section_heading img{
    width: 2rem;
    height: 2rem;
    border-radius: 100rem;
}

@media screen and (max-width: 1080px) {
    div.content_box.top-template-section_heading h2{
        font-size: 1.7rem;
    }
    div.content_box.top-template-section_heading img{
        width: 2.4rem;
        height: 2.4rem;
        border-radius: 100rem;
    }
}


body.top-wrapper{
    position: relative;
    background-color: rgb(var(--color-cream-white));
}

body.top-wrapper div.top-decoration_green{
    position: fixed;
    top: 30vh;
    left: 5rem;
    z-index: 20;
    width: 30rem;
    height: 30rem;
    translate: -50% -50%;
    opacity: 0.7;
    background-image: radial-gradient(circle at 50% 50%, rgba(var(--color-primary-green), 0.5) 0%, rgba(var(--color-primary-green), 0) 70%);
    animation: top-decoration-animation 10s ease-in-out infinite;
}

body.top-wrapper div.top-decoration_yellow{
    position: fixed;
    top: 80vh;
    right: 10rem;
    z-index: 20;
    width: 30rem;
    height: 30rem;
    translate: 50% -50%;
    opacity: 0.3;
    background-image: radial-gradient(circle at 50% 50%, rgba(255, 191, 0, 0.959) 0%, rgba(240, 228, 193, 0) 70%);
    animation: top-decoration-animation 10s ease-in-out infinite;
}

@keyframes top-decoration-animation {
    0% {
        transform: translateX(0), translateY(0);
    }
    35% {
        transform: translateX(3rem), translateY(1rem);        
    }
    70% {
        transform: translateX(-1.5rem), translateY(-1.5rem);
    }
    100% {
        transform: translateX(0), translateY(0);
    }

}

section.top-firstview{
    position: relative;
    display: flex;
    justify-content: start;
    align-items: center;
    height: 85vh;
}

section.top-firstview img.bg_img{
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

section.top-firstview .content_box.copy_box{
    margin-top: 18rem;
    row-gap: 0.5rem;
}

section.top-firstview .content_box.copy_box h1{
    font-size: 2rem;
    color: rgb(var(--color-bright-green));
    margin-bottom: 1rem;
    font-family: "Noto Serif JP";
}

section.top-firstview .content_box.copy_box p{
    font-size: 1.1rem;
    color: rgb(var(--color-white));
    width: 70%;
    font-family: "Noto Serif JP";
    filter: drop-shadow(0 0 0.5rem rgba(var(--color-black), 0.5));
    line-height: 1.4rem;
}

section.top-firstview .content_box.button_box{
    display: none;
    padding: 0 calc(var(--general-contents-box-padding-smt) + 1rem);
    padding-bottom: 2rem;
}

section.top-firstview .content_box.button_box a{
    display: inline-block;
    padding: 1.4rem 1rem;
    width: 100%;
    background-color: rgb(var(--color-secondary-green));
    color: rgb(var(--color-white));
    border-radius: 100rem;
    font-family: "Inter", "Noto Sans JP";
    font-weight: 500;
    font-size: 1.4rem;
    text-align: center;
    transition: background-color 0.3s ease;
}

@media screen and (max-width: 1080px) {
    section.top-firstview{
        height: 85vh;
    }

    section.top-firstview img.bg_img{
        object-position: 40% 50%;
        mask-image: linear-gradient(0deg,rgba(255, 0, 0, 0) 0%, rgba(255, 0, 0, 0.54) 17%, rgba(255, 0, 0, 1) 34%, rgba(255, 0, 0, 1) 100%);
        --webkit-mask-image: linear-gradient(0deg,rgba(255, 0, 0, 0) 0%, rgba(255, 0, 0, 0.54) 17%, rgba(255, 0, 0, 1) 34%, rgba(255, 0, 0, 1) 100%);
    }

    section.top-firstview .content_box.copy_box{
        margin-top: 13rem;
        row-gap: 0.5rem;
        padding: 0 calc(var(--general-contents-box-padding-smt) + 1rem);
    }

    section.top-firstview .content_box.copy_box h1{
        font-size: 1.8rem;
        margin-bottom: 1.5rem;
    }

    section.top-firstview .content_box.copy_box p{
        width: 100%;
    }

    section.top-firstview .content_box.button_box{
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        display: block;
        margin-top: 1rem;
        padding-bottom: 0;
    }

    

    section.top-firstview .content_box.button_box a{
        display: inline-block;
        padding: 1rem 1rem;

    }

}

section.top-clinic_info {
    margin-top: 7rem;
    margin-bottom: 2rem;
}

section.top-clinic_info .content_box{
    display: flex;
    flex-direction: row;
    column-gap: 2rem;
    justify-content: space-between;
    align-items: end;
}

section.top-clinic_info .content_box div.clinic_contact_box_wrapper{
    display: flex;
    flex-direction: column;
    max-width: 45%;
    row-gap: 1.5rem;
}

section.top-clinic_info .content_box div.clinic_contact_box{
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 1rem;
}

section.top-clinic_info .content_box div.clinic_contact_box .address_box{
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 0.2rem;
}

section.top-clinic_info .content_box div.clinic_contact_box .address_box h2{
    font-size: 1.8rem;
    font-weight: 400;
    margin-bottom: 1rem;
}

section.top-clinic_info .content_box div.clinic_contact_box .address_box span{
    font-size: 1rem;
}

section.top-clinic_info .content_box div.clinic_contact_box .tel_box{
    padding-top: 0.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 0.2rem;
}

section.top-clinic_info .content_box div.clinic_contact_box .tel_box a{
    display: flex;
    font-family: "Inter";
    letter-spacing: 0.1rem;
    align-items: center;
    column-gap: 0.8rem;
    font-size: 2rem;
}

section.top-clinic_info .content_box div.clinic_contact_box .tel_box a::before{
    content:"";
    display: inline-block;
    height: 1.6rem;
    border-radius: 100%;
    width: 1.6rem;
    margin-bottom: -0.1rem;
    background-color: rgb(var(--color-primary-green));
    display: inline-block;
    mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M224.2 89C216.3 70.1 195.7 60.1 176.1 65.4L170.6 66.9C106 84.5 50.8 147.1 66.9 223.3C104 398.3 241.7 536 416.7 573.1C493 589.3 555.5 534 573.1 469.4L574.6 463.9C580 444.2 569.9 423.6 551.1 415.8L453.8 375.3C437.3 368.4 418.2 373.2 406.8 387.1L368.2 434.3C297.9 399.4 241.3 341 208.8 269.3L253 233.3C266.9 222 271.6 202.9 264.8 186.3L224.2 89z"/></svg>');
    --webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M224.2 89C216.3 70.1 195.7 60.1 176.1 65.4L170.6 66.9C106 84.5 50.8 147.1 66.9 223.3C104 398.3 241.7 536 416.7 573.1C493 589.3 555.5 534 573.1 469.4L574.6 463.9C580 444.2 569.9 423.6 551.1 415.8L453.8 375.3C437.3 368.4 418.2 373.2 406.8 387.1L368.2 434.3C297.9 399.4 241.3 341 208.8 269.3L253 233.3C266.9 222 271.6 202.9 264.8 186.3L224.2 89z"/></svg>');
    mask-repeat: no-repeat;
    background-color: rgb(var(--color-primary-green));
}

section.top-clinic_info .content_box div.clinic_contact_box a.top-template_button{
    display: none;
}

section.top-clinic_info .content_box div.available_time_box{
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 1rem;
}

section.top-clinic_info .content_box div.available_time_box .table_wrapper{
    text-align: center;
    border: 1px solid rgb(var(--color-bright-green));
    border-radius: 2rem;
    overflow: hidden;

}

section.top-clinic_info .content_box div.available_time_box .table_wrapper table{
    width: 100%;
    border-collapse: collapse;
}

section.top-clinic_info .content_box div.available_time_box .table_wrapper table th{
    font-weight: 400;
    padding: 0 0.7rem;
}

section.top-clinic_info .content_box div.available_time_box .table_wrapper table th,
section.top-clinic_info .content_box div.available_time_box .table_wrapper table td{
    padding-top: 1rem;
    padding-bottom: 1rem;
    font-size: 0.8rem;
    background-color: rgb(var(--color-white));
}

section.top-clinic_info .content_box div.available_time_box .table_wrapper table tr.header_row th{
    background-color: rgb(var(--color-bright-green));
    color: rgb(var(--color-white));
}

section.top-clinic_info .content_box div.available_time_box .table_wrapper table tr:last-child{
    border-top: 1px solid #000;
}

section.top-clinic_info .content_box div.available_time_box .table_wrapper table tr th:last-child{
    padding: 0 0.5rem;
}

section.top-clinic_info .content_box div.available_time_box .table_wrapper table tr td.time_slot{
    padding-left: 1.6rem;
    padding-right: 0.7rem;
}

section.top-clinic_info .content_box div.available_time_box a.top-template_button{
    margin-top: 1.4rem;
}

section.top-clinic_info .content_box div.map_box {
    display: flex;
    width: 45%;
    max-width: 28rem;
    flex-direction: column;
    align-items: center;
    row-gap: 1rem;
}

section.top-clinic_info .content_box div.map_box iframe{
    width: 100%;
    height: 23rem;
    border: 1px solid rgb(var(--color-bright-green));
    border-radius: 2rem;
}

@media screen and (max-width: 1080px) {
    section.top-clinic_info {
        margin-top: 4rem;
        margin-bottom: 1rem;
    }
    section.top-clinic_info .content_box{
        flex-direction: column;
        column-gap: 2rem;
        justify-content: start;
    }

    section.top-clinic_info .content_box div.clinic_contact_box_wrapper{
        width: 100%;
        max-width: none;
        row-gap: 5rem;
    }

    section.top-clinic_info .content_box div.clinic_contact_box{
        padding: 2.5rem 2rem;
        background-color: rgb(var(--color-white));
        border-radius: 2rem;
    }

    section.top-clinic_info .content_box div.clinic_contact_box a.top-template_button{
        display: inherit;
    }

    section.top-clinic_info .content_box div.available_time_box .table_wrapper{
        width: 100%;
    }

    section.top-clinic_info .content_box div.map_box{
        display: none;
    }
}

section.top-notice.content_box_wrapper{
    margin-bottom: 5rem;
}

section.top-notice .content_box div.notice_wrapper{
    display: flex;
    width: 100%;
    border-radius: 3rem;
    background-color: rgb(var(--color-white));
    padding: 3rem 0;
}

section.top-notice .content_box div.heading_box{
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 35%;

    row-gap: 2rem;
    padding: 3rem;
}

section.top-notice .content_box div.heading_box h2{
    font-size: 1.5rem;
}

section.top-notice .content_box div.notice_list{
    display: flex;
    flex-direction: column;
    justify-content: center;
    row-gap: 2rem;
    padding: 2rem 4rem;
}

section.top-notice .content_box div.notice_list a.notice_item{
    display: flex;
    flex-direction: column;
    row-gap: 0.7rem;
}

section.top-notice .content_box div.notice_list a.notice_item div.notice_heading{
    display: flex;
    padding-bottom: 0.7rem;
    flex-direction: row;
    align-items: center;
    column-gap: 1rem;
    border-bottom: solid 1px transparent;
    transition: border-bottom 0.3s ease;
}

section.top-notice .content_box div.notice_list a.notice_item div.notice_heading span{
    font-size: 1.3rem;
    font-family: "Inter", "Noto Sans JP";
}

section.top-notice .content_box div.notice_list a.notice_item div.notice_heading div.separator{
    flex: 0 0 auto;
    display: inline-block;
    width: 1px;
    height: 1rem;
    background-color: rgba(var(--color-black));
}

section.top-notice .content_box div.notice_list a.notice_item p.notice_content{
    font-size: 1.1rem;
    color: rgb(var(--color-black));
    font-family: "Noto Sans JP";
}

section.top-notice .content_box div.notice_list a.notice_item:hover div.notice_heading{
    border-bottom: solid 1px rgba(var(--color-bright-green));
}

@media screen and (max-width: 1080px) {
    section.top-notice.content_box_wrapper {
        margin-bottom: 1rem;
    }
    section.top-notice .content_box{
        align-items: center;
        row-gap: 3rem;
    }
    section.top-notice .content_box div.notice_wrapper{
        flex-direction: column;
        border-radius: 0;
        background-color: rgba(var(--color-white), 0);
        padding: 0;
    }
    section.top-notice .content_box div.heading_box{
        display: flex;
        flex-direction: column;
        width: 100%;

        row-gap: 2rem;
        padding: 3rem;
    }

    section.top-notice .content_box div.heading_box h2{
        font-size: 1.7rem;
    }


    section.top-notice .content_box div.heading_box a.top-template_button{
        display: none;
    }

    section.top-notice .content_box div.notice_list a.notice_item div.notice_heading{
        column-gap: 0.7rem;
    }

    section.top-notice .content_box div.notice_list{
        width: 100%;
        padding: 3rem 1.5rem;
        background-color: rgb(var(--color-white));
        border-radius: 2rem;
        row-gap: 3rem;
    }
    section.top-notice .content_box div.notice_list a.notice_item div.notice_heading span {
        font-size: 1rem;
    }
    section.top-notice .content_box div.notice_list a.notice_item p.notice_content{
        font-size: 0.9rem;
    }
}

section.top-greeting.content_box_wrapper{
    padding-top: 7rem;
    padding-bottom: 7rem;
    row-gap: 6rem;
    position: relative;
    z-index: auto;
}

section.top-greeting.content_box_wrapper::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(var(--color-white));
    z-index: 1;
}

section.top-greeting div.content_box.greeting_wrapper{
    display: flex;
    flex-direction: row-reverse;
    align-items: start;
    justify-content: space-between;
    row-gap: 1.5rem;
    column-gap: 5rem;
}



section.top-greeting div.content_box.greeting_wrapper img{
    object-fit: cover;
    width: 23rem;
    max-width: 40%;
    aspect-ratio: 25/29;
    border-radius: 2rem;
}

section.top-greeting div.content_box.greeting_wrapper div.greeting_box{
    display: flex;
    flex-direction: column;
    row-gap: 1.5rem;
    max-width: 53%;
}

section.top-greeting div.content_box.greeting_wrapper div.greeting_box .director_title_box{
    display: flex;
    flex-direction: column;
    row-gap: 0.3rem;
}

section.top-greeting div.content_box.greeting_wrapper div.greeting_box .director_title_box span{
    font-size: 1.2rem;
}

section.top-greeting div.content_box.greeting_wrapper div.greeting_box .director_title_box span.title_small{
    font-size: 0.9rem;
}

section.top-greeting div.content_box.greeting_wrapper div.greeting_box h3{
    font-size: 2rem;
    font-weight: 600;
}

section.top-greeting div.content_box.greeting_wrapper p{
    font-size: 1.2rem;
}

section.top-greeting div.content_box.button_box{
    align-items: center;
}

section.top-greeting div.content_box.button_box a.top-template_button{
    min-width: 12rem;
}

@media screen and (max-width: 1080px) {
    section.top-greeting.content_box_wrapper {
        padding-top: 3rem;
        padding-bottom: 4rem;
        row-gap: 3rem;
    }
    section.top-greeting div.content_box.greeting_wrapper{
        flex-direction: column;
        align-items: center;
    }
    section.top-greeting div.content_box.greeting_wrapper img{
        width: 80%;
        max-width: none;
    }
    section.top-greeting div.content_box.greeting_wrapper div.greeting_box .director_title_box{
        align-items: center;
    }
    section.top-greeting div.content_box.greeting_wrapper div.greeting_box{
        width: 100%;
        max-width: none;
        align-items: center;
        row-gap: 1rem;

    }
    section.top-greeting div.content_box.greeting_wrapper div.greeting_box p{
        margin-top: 1rem;
        font-size: 1.1rem;
    }
}

section.top-courses.content_box_wrapper{
    padding-top: 7rem;
    padding-bottom: 7rem;
    row-gap: 6rem;
}

section.top-courses div.content_box.course_list{
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 3rem;
}

section.top-courses div.content_box.course_list a.course_item{
    --top-course-item-radius: 1.5rem;
    display: flex;
    flex-direction: row-reverse;
    align-items: stretch;
    height: fit-content;
    column-gap: 2rem;
    background-color: rgb(var(--color-white));
    border-radius: var(--top-course-item-radius);
    overflow: hidden;
}

section.top-courses div.content_box.course_list a.course_item img{
    display: block;
    flex: 0 0 max(50%, 20rem);
    width: max(50%, 20rem);
    height: auto;
    align-self: stretch;
    object-fit: cover;
}

section.top-courses div.content_box.course_list a.course_item div.course_description_wrapper{
    background-color: rgb(var(--color-bright-green));
    min-height: 20rem;
}

section.top-courses div.content_box.course_list a.course_item div.course_description_wrapper div.content{
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    row-gap: 4rem;
    padding: 3rem;
    padding-right: 1rem;
    margin-left: 0.7rem;
    background-color: rgb(var(--color-white));
    border-top-left-radius: var(--top-course-item-radius);
    border-bottom-left-radius: var(--top-course-item-radius);
}

section.top-courses div.content_box.course_list a.course_item div.course_description_wrapper div.course_heading{
    display: flex;
    flex-direction: row;
    row-gap: 0.5rem;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 1.5rem;
}

section.top-courses div.content_box.course_list a.course_item div.course_description_wrapper div.course_heading h3{
    font-size: 1.8rem;
}

section.top-courses div.content_box.course_list a.course_item div.course_description_wrapper div.course_heading span{
    font-size: 1.1rem;
    color: rgb(var(--color-black));
    font-family: "Inter", "Noto Sans JP";
}

section.top-courses div.content_box.course_list a.course_item div.course_description_wrapper div.course_description {
    display: flex;
    flex-direction: column;
    row-gap: 0.5rem;

}

section.top-courses div.content_box.course_list a.course_item div.course_description_wrapper div.course_description p{
    font-size: 0.9rem;
}


section.top-courses div.content_box.course_list a.course_item div.course_description_wrapper span.course_link_button{
    display: flex;
    align-items: center;
    font-size: 1rem;
}

section.top-courses div.content_box.course_list a.course_item div.course_description_wrapper span.course_link_button::after{
    content: "";
    display: inline-block;
    background-color: rgb(var(--color-bright-green));
    width: 1rem;
    height: 1rem;
    mask-repeat: no-repeat;
    mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M566.6 342.6C579.1 330.1 579.1 309.8 566.6 297.3L406.6 137.3C394.1 124.8 373.8 124.8 361.3 137.3C348.8 149.8 348.8 170.1 361.3 182.6L466.7 288L96 288C78.3 288 64 302.3 64 320C64 337.7 78.3 352 96 352L466.7 352L361.3 457.4C348.8 469.9 348.8 490.2 361.3 502.7C373.8 515.2 394.1 515.2 406.6 502.7L566.6 342.7z"/></svg>');
    --webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M566.6 342.6C579.1 330.1 579.1 309.8 566.6 297.3L406.6 137.3C394.1 124.8 373.8 124.8 361.3 137.3C348.8 149.8 348.8 170.1 361.3 182.6L466.7 288L96 288C78.3 288 64 302.3 64 320C64 337.7 78.3 352 96 352L466.7 352L361.3 457.4C348.8 469.9 348.8 490.2 361.3 502.7C373.8 515.2 394.1 515.2 406.6 502.7L566.6 342.7z"/></svg>');
}

section.top-courses div.content_box.button_box{
    display: flex;
    align-items: center;
    justify-content: center;
}

section.top-courses div.content_box.button_box a.top-template_button{
    padding: 1.1rem 1rem;
    min-width: 16rem;
    font-size: 1.3rem;
}


@media screen and (max-width: 1080px) {
    section.top-courses.content_box_wrapper {
        padding-top: 3rem;
        padding-bottom: 4rem;
        row-gap: 3rem;
    }
    section.top-courses div.content_box.course_list a.course_item{
        flex-direction: column;
        width: 100%;
    }

    section.top-courses div.content_box.course_list a.course_item img{
        width: 100%;
        flex-basis: auto;
        height: 18rem;
    }

    section.top-courses div.content_box.course_list a.course_item div.course_description_wrapper div.course_heading{
        display: flex;
        row-gap: 0.5rem;
        justify-content: space-between;
        padding: 0.5rem;
        border-left: 2px solid rgb(var(--color-bright-green));
        margin-bottom: 1.5rem;
        flex-direction: column;
        align-items: start;
        padding-left: 1rem;
    }
    section.top-courses div.content_box.course_list a.course_item div.course_description_wrapper div.content{
        height: 100%;
        margin-left: 0;
        padding: 3rem 2rem;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }

}

section.top-clinic_points.content_box_wrapper{
    padding-top: 7rem;
    padding-bottom: 7rem;
    row-gap: 4rem;
    position: relative;
    z-index: auto;
}

section.top-clinic_points.content_box_wrapper::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(var(--color-white));
    z-index: 1;
}

section.top-clinic_points.content_box_wrapper div.content_box.top-template-section_heading{
    margin-bottom: 2rem;
}

section.top-clinic_points div.content_box.clinic_point_cards{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 2rem;
}

section.top-clinic_points div.content_box.clinic_point_cards div.point_card{
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: rgb(var(--color-cream-white));
    border-radius: 2rem;
    overflow: hidden;
    width: 100%;
}

section.top-clinic_points div.content_box.clinic_point_cards div.point_card img{
    width: 100%;
    height: 14rem;
    object-fit: cover;
}

section.top-clinic_points div.content_box.clinic_point_cards div.point_card div.card_body{
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 1.5rem;
    padding: 2rem;
    padding-top: 1.5rem;
    padding-bottom: 3rem;
}

section.top-clinic_points div.content_box.clinic_point_cards div.point_card div.card_body h3{
    font-size: 1.5rem;
    margin: 0.5rem 0;
}

section.top-clinic_points div.content_box.clinic_point_cards div.point_card div.card_body p{
    font-size: 1rem;
}

section.top-clinic_points div.content_box.button_box{
    align-items: center;
}


@media screen and (max-width: 1080px) {
    section.top-clinic_points.content_box_wrapper {
        padding-top: 3rem;
        padding-bottom: 4rem;
        row-gap: 2rem;
    }
    section.top-clinic_points div.content_box.clinic_point_cards{
        display: flex;
        row-gap: 3rem;
    }
}

/* Notice - List */

section.notice-list_box .content_box div.notice_list{
    display: flex;
    flex-direction: column;
    row-gap: 4rem;
    padding: 4rem 6rem;
    background-color: rgb(var(--color-white));
    border-radius: 2rem;
}

section.notice-list_box .content_box div.notice_list a.notice_item{
    display: flex;
    flex-direction: column;
    row-gap: 0.8rem;
}

section.notice-list_box .content_box div.notice_list a.notice_item div.notice_heading{
    display: flex;
    padding-bottom: 0.7rem;
    flex-direction: row;
    align-items: center;
    column-gap: 1.7rem;
    border-bottom: solid 1px transparent;
    transition: border-bottom 0.3s ease;
}

section.notice-list_box .content_box div.notice_list a.notice_item div.notice_heading span{
    font-size: 1.3rem;
    font-family: "Inter", "Noto Sans JP";
}

section.notice-list_box .content_box div.notice_list a.notice_item div.notice_heading div.separator{
    flex: 0 0 auto;
    display: inline-block;
    width: 1px;
    height: 1.3rem;
    background-color: rgba(var(--color-black), 1);
}

section.notice-list_box .content_box div.notice_list a.notice_item p.notice_content{
    font-size: 1.1rem;
    color: rgb(var(--color-black));
    font-family: "Noto Sans JP";
}

section.notice-list_box .content_box div.notice_list a.notice_item:hover div.notice_heading{
    border-bottom: solid 1px rgb(var(--color-primary-green));
}

@media screen and (max-width: 1080px) {
    section.notice-list_box.content_box_wrapper {
        margin-bottom: 1rem;
    }
    section.notice-list_box .content_box{
        align-items: center;
        row-gap: 3rem;
    }
    section.notice-list_box .content_box div.notice_wrapper{
        flex-direction: column;
        border-radius: 0;
        background-color: rgba(var(--color-white), 0);
        padding: 0;
    }
    section.notice-list_box .content_box div.heading_box{
        display: flex;
        flex-direction: column;
        width: 100%;
        row-gap: 2rem;
        padding: 3rem;
    }

    section.notice-list_box .content_box div.heading_box h2{
        font-size: 1.7rem;
    }


    section.notice-list_box .content_box div.heading_box a.top-template_button{
        display: none;
    }

    section.notice-list_box .content_box div.notice_list a.notice_item div.notice_heading{
        column-gap: 0.7rem;
    }

    section.notice-list_box .content_box div.notice_list{
        width: 100%;
        padding: 3rem 2rem;
        background-color: rgb(var(--color-white));
        border-radius: 2rem;
        row-gap: 3rem;
    }
    section.notice-list_box .content_box div.notice_list a.notice_item div.notice_heading span {
        font-size: 1rem;
    }
    section.notice-list_box .content_box div.notice_list a.notice_item p.notice_content{
        font-size: 0.9rem;
    }
}

section.notice-button_box.content_box_wrapper{
    margin-top: 3rem;
    margin-bottom: 5rem;
    min-height: auto;
}

section.notice-button_box.content_box_wrapper div.content_box{
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 1.5rem;
    row-gap: 1.5rem;
}

section.notice-page-header.content_box_wrapper{
    min-height: auto;
}

section.notice-page-header.content_box_wrapper div.content_box h1{
    font-size: 1.6rem;
    font-weight: 500;
    padding-bottom: 3rem;
    border-bottom: 3px solid rgb(var(--color-bright-green));
}

section.notice-page-content.content_box_wrapper{
    min-height: auto;
    margin-bottom: 6rem;
}

section.notice-page-content.content_box_wrapper div.content_box{
    row-gap: 1.5rem;
}

section.notice-page-content.content_box_wrapper div.content_box p{
    font-size: 1.1rem;
}

/* Staff */

section.staff-info_content div.content_box.staff_list{
    display: flex;
    flex-direction: column;
    row-gap: 3rem;
}

section.staff-info_content div.content_box div.staff_item{
    --staff-item-radius: 2rem;
    width: 100%;
    display: flex;
    flex-direction: row-reverse;
    row-gap: 1.5rem;
    min-height: 30rem;
    background-color: rgb(var(--color-white));
    border-radius: var(--staff-item-radius);
}

section.staff-info_content div.content_box div.staff_item img{
    object-fit: cover;
    width: 22rem;
    max-width: 40%;
    border-radius: var(--staff-item-radius);
}

section.staff-info_content div.content_box div.staff_item .staff_info{
    display: flex;
    flex-direction: column;
    row-gap: 1.1rem;
    padding: 5rem 3rem;
}

section.staff-info_content div.content_box div.staff_item .staff_info .header_box{
    display: flex;
    row-gap: 1.5rem;
    justify-content: space-between;
    padding: 0.7rem;
    border-left: 3px solid rgb(var(--color-bright-green));
    flex-direction: column;
    align-items: start;
    padding-left: 1rem;
}

section.staff-info_content div.content_box div.staff_item .staff_info .header_box h2{
    font-size: 1.8rem;
}

section.staff-info_content div.content_box div.staff_item .staff_info .header_box .staff_title{
    display: flex;
    flex-direction: column;
    row-gap: 0.3rem;
}

section.staff-info_content div.content_box div.staff_item .staff_info .header_box .staff_title span{
    font-size: 1.2rem;
}

section.staff-info_content div.content_box div.staff_item .staff_info .header_box .staff_title span.title_small{
    font-size: 0.9rem;
}

section.staff-info_content div.content_box div.staff_item .staff_info .comment_box{
    display: flex;
    flex-direction: column;
    row-gap: 1.3rem;
}

section.staff-info_content div.content_box div.staff_item .staff_info .comment_box p{
    font-size: 1.1rem;
}

section.staff-button_box.content_box_wrapper {
    margin-top: 3rem;
    margin-bottom: 8rem;
    min-height: auto;
}

section.staff-button_box.content_box_wrapper div.content_box{
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 1.5rem;
    row-gap: 1.5rem;
}

@media screen and (max-width: 1080px) {
    section.staff-info_content div.content_box div.staff_item{
        flex-direction: column;
        align-items: center;
    }
    section.staff-info_content div.content_box div.staff_item img{
        width: 100%;
        max-width: none;
        aspect-ratio: 1;
    }
    section.staff-info_content div.content_box div.staff_item .staff_info{
        padding-top: 2rem;
    }
}