html {
    scroll-behavior: smooth;
}

main {
    overflow: hidden;
    position: relative;
    padding-bottom: 14.8rem;
}

.sp {
    display: none;
}

.flex {
    display: flex;
}

.daycare_bg1 {
    position: absolute;
    top: 10.5rem;
    right: 0;
    width: 75.5rem;
    height: 45.4rem;
    background: linear-gradient(-90deg, #468DAF 0%, #F9BDC5 100%);
    opacity: 0.54;
}

/* メインセクション */
.daycare .hero_section {
    position: relative;
    margin-inline: 0;
}

.hero_wrapper {
    width: 123.1rem;
    padding: 3rem 5rem 3rem 5rem;
    background-color: rgba(74, 74, 74, 0.65);
    color: #fff;
    position: absolute;
    bottom: 0rem;
    left: 0rem;
}

.hero_title {
    font-size: 3.5rem;
    font-weight: 700;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 2.3rem;
    letter-spacing: 0.1rem;
}

.mainvisual {
    width: 123.1rem;
    height: 50.7rem;
}


/* listの前の装飾 */
.hero_list {
    list-style: none;
    padding: 0;
    flex-wrap: wrap;
    column-gap: 3.4rem;
    row-gap: 2.5rem;
}

.hero_list li {
    position: relative;
    padding-left: 3rem;
    font-size: 1.6rem;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
}

/* 丸 */
.hero_list li a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);

    width: 2.4rem;
    height: 2.4rem;
    background: linear-gradient(to right, #F9BDC5, #468DAF);
    border-radius: 50%;
}

/* 矢印（三角形） */
.arrow {
    position: relative;
    top: 0rem;
    left: -1.8rem;
}

/* 左側の線 */
/* 右側の線 */
.arrow::before,
.arrow::after {
    content: "";
    position: absolute;
    width: 0.7rem;
    height: 0.6rem;
    border-bottom: 0.2rem solid #fff;
}

.arrow::before {
    left: 0rem;
    top: 50%;
    transform: translate(-50%, -50%) rotate(60deg);
}

.arrow::after {
    left: 0rem;
    top: 50%;
    transform: translate(-50%, -50%) rotate(-60deg);
}


.daycare section {
    width: 108rem;
    margin-inline: auto;
    scroll-margin-top: 12rem;
}

.daycare_about {
    margin-block: 6rem 0;
}

.daycare h2 {
    display: flex;
    align-items: center;
    font-family: "Noto Serif JP", serif;
    color: #0A435F;
    font-size: 2.5rem;
    font-weight: 700;
    letter-spacing: 0.1rem;
}

.daycare h2 span {
    content: "";
    display: inline-block;
    width: 3.3rem;
    height: 3.3rem;
    border-radius: 50%;
    background: linear-gradient(0deg, #F9BDC5 0%, #468DAF 100%);
    position: relative;
    margin-right: 0.8rem;
}

.daycare h2 span::before {
    content: "";
    position: absolute;
    width: 0.9rem;
    border-top: 0.2rem solid #FFFFFF;
    top: 1.3rem;
    left: 1.2rem;
    transform: rotate(45deg);
}

.daycare h2 span::after {
    content: "";
    position: absolute;
    width: 0.9rem;
    border-top: 0.2rem solid #FFFFFF;
    top: 1.8rem;
    left: 1.2rem;
    transform: rotate(-45deg);
}

.daycare_about p {
    font-family: "Noto Serif JP", serif;
    font-size: 1.6rem;
    font-weight: 400;
    margin-top: 0.9rem;
    line-height: 3rem;
}

.daycare_service {
    margin-block: 8.5rem 0;
}

.daycare_service ul {
    display: flex;
    margin-top: 1.4rem;
    gap: 1.6rem 1.5rem;
    flex-wrap: wrap;
    width: 108rem;
}

.daycare_service li {
    font-size: 1.6rem;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    width: 35rem;
    text-align: center;
    padding-block: 1.6rem;
    background-color: #2C5265;
    color: #FFFFFF;
}

.daycare_info {
    margin-block: 11.2rem 0;
    position: relative;
}

.daycare_flower{
    width: 20.6rem;
    height: 20.6rem;
    position: absolute;
    top: -14.4rem;
    right: -9.9rem;
}

.daycare_info_container {
    margin-top: 1.6rem;
    display: flex;
    gap: 2.4rem;
    flex-wrap: wrap;
    margin-inline: auto;
    width: 72rem;
}

.daycare_info_container img {
    width: 34.4rem;
    height: 23rem;
}

.daycare_info_container h3 {
    font-size: 1.7rem;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    color: #0A435F;
    margin-top: 1.4rem;
}

.daycare_info_container p {
    font-size: 1.6rem;
    font-weight: 400;
    font-family: "Noto Serif JP", serif;
    color: #000000;
    margin-top: 1rem;
    line-height: 2.8rem;
    width: 34.4rem;
}

.daycare_feature {
    position: relative;
    margin-top: 10.8rem;
}

.daycare_swiper {
    margin-top: 3.2rem;
    margin-inline: auto;
    width: 84rem;
    position: relative;
}

.daycare_swiper .swiper-slide img {
    width: 84rem;
    height: 45rem;
}

.daycare_swiper .swiper-slide h3 {
    font-size: 1.8rem;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    display: block;
    margin-top: 10.1rem;
    color: #0A435F;
}

.daycare_swiper .swiper-slide p {
    font-size: 1.6rem;
    font-weight: 400;
    font-family: "Noto Serif JP", serif;
    display: block;
    margin-top: 0.7rem;
}

.daycare-swiper-pagination {
    gap: 1.2rem;
    position: absolute;
    top: 49.9rem !important;
    width: fit-content;
    justify-content: center;
    display: flex;
    z-index: 2;
}

.daycare-swiper-pagination .swiper-pagination-bullet {
    width: 2rem;
    height: 2rem;
    background-color: transparent;
    border: 0.2rem solid #0A435F;
    opacity: 1;
}

.daycare-swiper-pagination .swiper-pagination-bullet-active {
    width: 2rem;
    height: 2rem;
    background: linear-gradient(270deg, #468DAF 0%, #F9BDC5 100%);
    border: none;
}

.daycare-swiper-btn-prev {
    position: absolute;
    width: 9.5rem;
    height: 9.5rem;
    top: 24.4rem;
    left: 6.5rem;
    border-radius: 50%;
    background: linear-gradient(90deg, #F9BDC5 0%, #468DAF 100%);
    z-index: 2;
}

.daycare-swiper-btn-prev::before {
    content: "";
    position: absolute;
    width: 3.6rem;
    border-top: 0.3rem solid #FFFFFF;
    top: 3.6rem;
    left: 2.3rem;
    transform: rotate(-45deg);
}

.daycare-swiper-btn-prev::after {
    content: "";
    position: absolute;
    width: 3.6rem;
    border-top: 0.3rem solid #FFFFFF;
    top: 6.1rem;
    left: 2.3rem;
    transform: rotate(45deg);
}

.daycare-swiper-btn-next {
    position: absolute;
    width: 9.5rem;
    height: 9.5rem;
    top: 24.4rem;
    right: 6.5rem;
    border-radius: 50%;
    background: linear-gradient(90deg, #F9BDC5 0%, #468DAF 100%);
    z-index: 2;
}

.daycare-swiper-btn-next::before {
    content: "";
    position: absolute;
    width: 3.6rem;
    border-top: 0.3rem solid #FFFFFF;
    top: 3.6rem;
    left: 3.5rem;
    transform: rotate(45deg);
}

.daycare-swiper-btn-next::after {
    content: "";
    position: absolute;
    width: 3.6rem;
    border-top: 0.3rem solid #FFFFFF;
    top: 6.1rem;
    left: 3.5rem;
    transform: rotate(-45deg);
}

.daycare_flow {
    margin-top: 12.6rem;
}

.daycare_flow_btn_box {
    display: flex;
    gap: 3.6rem;
    justify-content: center;
    margin-top: 4.2rem;
}

.daycare_flow_btn_box button {
    width: 35rem;
    border: 0.2rem solid #0A435F;
    padding-block: 1.3rem;
    font-size: 1.6rem;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    color: #0A435F;
}

.daycare_flow_btn_box button.onecourse_btn.active {
    background: linear-gradient(90deg, #468DAF 0%, #0A435F 100%);
    border: none;
    color: #FFFFFF;
}

.daycare_flow_btn_box button.halfcourse_btn.active {
    background: linear-gradient(90deg, #EA81A7 0%, #125678 100%);
    border: none;
    color: #FFFFFF;
}

.daycare_flow .course_wrapper {
    display: flex;
    margin-top: 6.3rem;
    flex-wrap: wrap;
    gap: 6.1rem 3rem;
    width: 109rem;
}

.daycare_flow .daycare_halfcourse {
    display: none;
}

.daycare_flow .daycare_onecourse {
    display: none;
}

.daycare_flow .daycare_halfcourse.active {
    display: flex;
}

.daycare_flow .daycare_onecourse.active {
    display: flex;
}

.course_content {
    width: 25rem;
    height: 24.6rem;
    padding: 3.6rem 1rem 0;
    background-color: #ECF2F5;
    position: relative;
}

.course_content div {
    position: absolute;
    top: -2.1rem;
    font-size: 2.8rem;
    font-weight: 700;
    left: 1rem;
    font-family: "Noto Serif JP", serif;
    color: #0A435F;
}

.course_content h3 {
    text-align: center;
    font-size: 1.8rem;
    font-weight: 600;
    font-family: "Noto Serif JP", serif;
    color: #0A435F;
}

.course_content p {
    margin-top: 0.9rem;
    font-size: 1.6rem;
    font-weight: 400;
    font-family: "Noto Serif JP", serif;
    line-height: 2.8rem;
}

.course_content::after {
    content: "";
    position: absolute;
    border-left: 2.2rem solid #0A435F;
    border-top: 3.1rem solid transparent;
    border-bottom: 3.1rem solid transparent;
    top: 8.7rem;
    right: -2.7rem;
}

.course_content:last-child::after {
    display: none;
}

.daycare_target {
    margin-top: 12.2rem;
}

.target_content {
    margin-top: 1.9rem;
    margin-inline: auto;
    width: 79.1rem;
    height: 15.3rem;
    padding: 2.1rem 9.3rem 2.2rem 7rem;
    background-color: #ECF2F5;
}

.target_content h3 {
    color: #F12F2F;
    font-size: 1.6rem;
    font-weight: 700;
    font-family: "Noto Serif JP", serif;
}

.target_content ul {
    margin-top: 1.2rem;
    display: flex;
    justify-content: space-between;
}

.target_content li {
    font-family: "Noto Serif JP", serif;
    font-size: 1.6rem;
    font-weight: 500;
}

.target_content p {
    margin-top: 2.5rem;
    font-family: "Noto Serif JP", serif;
    font-size: 1.6rem;
    font-weight: 500;
    text-align: center;
}

.target_additional {
    margin-top: 3.2rem;
}

.target_additional h3 {
    font-family: "Noto Serif JP", serif;
    font-size: 2rem;
    font-weight: 700;
    color: #0A435F;
    position: relative;
}

.target_additional h3::after {
    content: "";
    position: absolute;
    height: 0.2rem;
    width: 108rem;
    bottom: -0.9rem;
    left: 0;
    background: linear-gradient(90deg, #F9BDC5 0%, #F9BDC5 31%, #468DAF 31%, #468DAF 100%);
}

.target_additional h3 span {
    font-size: 1.6rem;
    margin-left: 1rem;
}

.target_additional p {
    font-family: "Noto Serif JP", serif;
    font-size: 1.6rem;
    font-weight: 400;
    margin-top: 1.7rem;
    line-height: 2.9rem;
    letter-spacing: 0.03rem;
}

.price {
    margin-top: 12.9rem;
    position: relative;
}

.price a {
    margin: 1.2rem auto 0;
    width: fit-content;
    display: block;
}

.price .price_link {
    width: 49.1rem;
    padding-block: 1.6rem;
    text-align: center;
    background: linear-gradient(90deg, #468DAF 0%, #0A435F 50%, #EA81A7 100%);
    font-size: 1.6rem;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    color: #FFFFFF;
    text-decoration: none;
    transition: all 0.3s linear;
    background-size: 200% auto;
    background-position: 0% 50%;
}

.price .price_link:hover {
    background-position: 100% 51%;
}

.price_bg {
    position: absolute;
    right: -10rem;
    top: 7.7rem;
    z-index: -1;
}

.price_bg span {
    width: 84.9rem;
    height: 6.5rem;
    display: block;
    background: linear-gradient(-90deg, #468DAF 0%, #F9BDC5 100%);
    opacity: 0.54;
}

.price_bg img {
    width: 22.7rem;
    height: 22.7rem;
    position: absolute;
    right: 10rem;
    top: -10.5rem;
}

.daycare_access {
    margin-top: 15.7rem;
}

.access_content {
    display: flex;
    gap: 2.4rem;
    margin-top: 2.5rem;
}

.access_content dl div {
    display: flex;
}

.access_content dt {
    width: 20.3rem;
    padding-block: 2.2rem;
    padding-left: 1.3rem;
    font-family: "Noto Serif JP", serif;
    font-size: 1.6rem;
    font-weight: 400;
    color: #FFFFFF;
    background-color: #2C5265;
    border-bottom: 0.1rem solid #000000;
}

.access_content dl div:first-child dd{
    border-top: 0.1rem solid #000000;
}

.access_content dl div:last-child dt {
    border: none;
}

.access_content dl div:nth-child(7) dd{
    line-height: 2.7rem;
}

.access_content dd {
    padding-block: 2.2rem;
    padding-left: 1.4rem;
    font-family: "Noto Serif JP", serif;
    font-size: 1.6rem;
    font-weight: 400;
    border: 0.1rem solid #000000;
    border-left: none;
    border-top: none;
    width: 40.3rem;
}

.access_info_link a {
    color: #3491EF;
    border-bottom: 0.1rem solid #3491EF;
    width: fit-content;
}

.access_right iframe {
    width: 44.9rem;
    height: 38rem;
}

.access_right div {
    width: 44.9rem;
    height: 18rem;
    padding: 2.9rem 1.6rem;
    background-color: #ECF2F5;
    margin-top: 2.3rem;
}

.access_right h3 {
    font-family: "Noto Serif JP", serif;
    font-size: 2rem;
    font-weight: 700;
    color: #0A435F;
    position: relative;
}

.access_right h3::after {
    content: "";
    position: absolute;
    height: 0.2rem;
    width: 41.7rem;
    bottom: -0.7rem;
    left: 0;
    background: linear-gradient(90deg, #F9BDC5 0%, #F9BDC5 31%, #468DAF 31%, #468DAF 100%);
}

.access_right ul {
    display: flex;
    flex-direction: column;
    margin-top: 2.7rem;
    gap: 1.2rem;
}

.access_right li {
    font-size: 1.6rem;
    font-weight: 400;
    font-family: "Noto Serif JP", serif;
}

@media screen and (max-width: 699.98px) {
    main{
        padding-bottom: 11.1rem;
    }
    .sp {
        display: block;
    }

    .pc {
        display: none;
    }

    .mainvisual {
        width: 37.5rem;
        height: 50rem;
    }

    .hero_wrapper{
        width: 37.5rem;
        padding: 1.6rem 1rem 2rem;
    }

    .hero_title{
        font-size: 2.4rem;
        margin-bottom: 1.7rem;
    }

    .hero_list{
        gap: 1.7rem 2.2rem;
    }

    .daycare_bg1{
        width: 32.6rem;
        height: 20.8rem;
        top: 32.2rem;
    }

    .daycare section {
        width: 35.5rem;
    }

    .daycare h2 {
        font-size: 1.9rem;
        letter-spacing: 0.05rem;
    }

    .daycare h2 span {
        width: 2.7rem;
        height: 2.7rem;
        margin-right: 0.4rem;
    }

    .daycare h2 span::after {
        width: 0.7rem;
        left: 1.1rem;
        top: 1.5rem;
    }

    .daycare h2 span::before {
        width: 0.7rem;
        left: 1.1rem;
        top: 1.1rem;
    }

    .daycare_about {
        margin-top: 6.1rem;
    }

    .daycare_about p{
        line-height: 2.8rem;
    }

    .daycare_service li{
        padding-block: 1.2rem;
    }

    .daycare_service {
        margin-top: 6.4rem;
    }

    .daycare_service ul {
        flex-direction: column;
        width: auto;
        gap: 0.8rem;
    }

    .daycare_info {
        margin-top: 10rem;
    }

    .daycare_flower{
        width: 9.6rem;
        height: 9.6rem;
        right: -1rem;
        top: -5.4rem;
    }

    .daycare_info_container {
        flex-direction: column;
        gap: 3.4rem;
    }

    .daycare_info_container img {
        width: 35.5rem;
        height: 23rem;
    }

    .daycare_info_container h3 {
        margin-top: 1rem;
    }

    .daycare_info_container p {
        margin-top: 0.8rem;
    }

    .daycare_feature{
        margin-top: 8.9rem;
    }

    .daycare_swiper {
        width: 35.5rem;
        margin-top: 1.9rem;
    }

    .daycare_swiper .swiper-slide img {
        width: 35.5rem;
        height: 26rem;
    }

    .daycare_swiper .swiper-slide h3 {
        margin-top: 8.5rem;
    }

    .daycare_swiper .swiper-slide p {
        margin-top: 0.6rem;
        line-height: 2.7rem;
    }

    .daycare-swiper-pagination {
        top: 28.7rem !important;
        gap: 0.6rem;
    }

    .daycare-swiper-pagination .swiper-pagination-bullet {
        width: 1.6rem;
        height: 1.6rem;
    }

    .daycare-swiper-btn-prev {
        width: 4.5rem;
        height: 4.5rem;
        top: 31.9rem;
        left: 0;
    }

    .daycare-swiper-btn-prev::after {
        width: 1.65rem;
        top: 2.6rem;
        left: 1.2rem;
    }

    .daycare-swiper-btn-prev::before {
        width: 1.65rem;
        top: 1.6rem;
        left: 1.2rem;
    }

    .daycare-swiper-btn-next::after {
        width: 1.65rem;
        top: 2.7rem;
        left: 1.6rem;
    }

    .daycare-swiper-btn-next::before {
        width: 1.65rem;
        top: 1.6rem;
        left: 1.6rem;
    }

    .daycare-swiper-btn-next {
        width: 4.5rem;
        height: 4.5rem;
        top: 31.9rem;
        right: 0;
    }

    .daycare_flow {
        margin-top: 9rem;
    }

    .daycare_flow_btn_box {
        flex-direction: column;
        gap: 1.6rem;
        margin-top: 1.4rem;
    }

    .daycare_flow_btn_box button {
        width: 35.5rem;
        padding-block: 1.1rem;
    }

    .daycare_flow .course_wrapper {
        flex-direction: column;
        width: 35.5rem;
        gap: 4.2rem;
        margin-top: 3.2rem;
    }

    .course_content {
        width: 35.5rem;
        height: 19.2rem;
        padding-top: 2.2rem;
    }

    .course_content div {
        font-size: 2.4rem;
        top: -1.8rem;
    }

    .course_content p {
        line-height: 2.8rem;
        margin-top: 0.4rem;
    }

    .course_content::after {
        transform: rotate(90deg);
        right: 16.7rem;
        top: 18rem;
    }

    .daycare_target {
        margin-top: 8rem;
    }

    .target_content {
        width: 35.5rem;
        height: 16.7rem;
        padding: 2rem 2.1rem 2rem 1rem;
    }

    .target_content ul {
        margin-top: 0.8rem;
    }

    .target_content p {
        text-align: left;
        margin-top: 2.2rem;
        line-height: 2.7rem;
    }

    .target_additional h3{
        font-size: 1.8rem;
    }

    .target_additional h3 span{
        margin-left: 11.6rem;
    }

    .target_additional h3::after{
        width: 35.5rem;
        background: linear-gradient(90deg, #F9BDC5 0%, #F9BDC5 35%, #468DAF 35%, #468DAF 100%);
        bottom: -0.5rem;
    }

    .target_additional p{
        margin-top: 1.6rem;
        letter-spacing: 0rem;
        line-height: 2.8rem;
    }

    .price{
        margin-top: 9.6rem;
    }

    .price .price_link{
        width: 35.5rem;
    }

    .price .price_link:hover{
        background-position: 0% 50%;
    }
    .price_bg{
        right: -1rem;
        top: 7.1rem;
    }

    .price_bg span{
        width: 35.1rem;
        height: 4.7rem;
    }

    .price_bg img{
        width: 10.5rem;
        height: 12rem;
        top: -15.1rem;
        right: -0.7rem;
    }

    .daycare_access{
        margin-top: 10.8rem;
    }

    .access_content{
        flex-direction: column-reverse;
        margin-top: 2rem;
        gap: 2.8rem;
    }

    .access_right iframe{
        width: 35.5rem;
        height: 25.7rem;
    }

    .access_right div{
        width: 35.5rem;
        height: 16.5rem;
        padding-block: 2rem;
        margin-top: 0.8rem;
    }

    .access_right h3{
        font-size: 1.8rem;
    }

    .access_right h3::after{
        width: 32.3rem;
        background: linear-gradient(90deg, #F9BDC5 0%, #F9BDC5 40%, #468DAF 40%, #468DAF 100%);
        bottom: -0.2rem;
    }

    .access_right ul{
        gap: 1.2rem;
        margin-top: 1.2rem;
    }

    .access_content dl{
        border-inline: 0.1em solid #000000;
    }

    .access_content dl div{
        flex-direction: column;
    }

    .access_content dt{
        width: 35.4rem;
        padding-block: 0.8rem;
        padding-left: 0.6rem;
        text-align: left;
        border-bottom: none;
    }

    .access_content dd{
        width: 35.4rem;
        border: none;
        padding-block: 0.8rem;
        padding-left: 0.6rem;
        line-height: 2.7rem;
    }

    .access_content dl div:last-child dd{
        border-bottom: 0.1rem solid #000000;
    }
}