@charset "utf-8";
/* header */
.header_logo::before {
    content: '';
    background-color: var(--color-light-orange);
    border-radius: 50%;
    width: 182rem;
    height: 182rem;
    position: absolute;
    z-index: -1;
}
@media (min-width: 769px) {
    .header_logo::before {
        top: -69rem;
        left: -32rem;
    }
}
@media (max-width: 768px) {
    .header_logo::before {
        top: -69rem;
        left: -32rem;
    }
}

/* mv */
.mv {
    position: relative;
}
.mv_desc {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
.mv_txt {
    color: #fff;
    font-weight: 700;
    letter-spacing: 1.7;
    text-align: center;
}
.mv_ttl_img_wrap {
    text-align: center;
}
.mv_neko_img_wrap {
    position: absolute;
}
@media (min-width: 769px) {
    .mv_desc {
        top: calc(50% - 180rem);
    }
    .mv_txt {
        font-size: 18rem;
        margin-bottom: 23rem;
    }
    .mv_ttl_img_wrap {
        width: 450rem;
    }
    .mv_neko_img_wrap {
        right: calc(50% - 35vw);
        bottom: clamp(-7.8vw, calc(50% - 13.5vw), -3.8vw);
        width: 25%;
    }
    .mv_img_wrap_inner {
        display: block;
    }
    .mv_img {
        width: 100%;
    }
}
@media (max-width: 768px) {
    .mv_desc {
        top: calc(50% - 210rem);
    }
    .mv_txt {
        font-size: 16rem;
        margin-bottom: 24rem;
        line-height: 1.8;
    }
    .mv_ttl_img_wrap {
        width: 322rem;
    }
    .mv_neko_img_wrap {
        right: calc(50% - 144rem);
        bottom: calc(50% - 263rem);
        width: 26%;
    }
}
@media (min-width: 600px) and (max-width: 768px) {
    .mv_neko_img_wrap {
        bottom: calc(50% - 288rem);
    }
}

/* news */
.news_wrap {
    position: relative;
}
.news {
    background-color: #fff;
    border-radius: 3rem;
    display: flex;
    align-items: center;
    position: absolute;
}
.news_ttl {
    color: var(--color-coral);
    font-weight: 500;
    letter-spacing: 0.6rem;
}
.news_content {
    font-weight: 500;
}
.news_content > dd {
    margin-top: 5rem;
}
@media (min-width: 769px) {
    .news {
        padding: 11rem 40rem 14rem 25rem;
        column-gap: 23rem;
        left: 0;
        bottom: 24rem;
    }
    .news_ttl {
        font-size: 14rem;
    }
    .news_content {
        letter-spacing: 0.7rem;
        font-size: 14rem;
    }
}
@media (max-width: 768px) {
    .news {
        padding: 13rem 35rem 16rem 25rem;
        column-gap: 19rem;
        left: 50%;
        bottom: 60rem;
        transform: translateX(-50%);
        width: 330rem;
    }
    .news_ttl {
        font-size: 12rem;
    }
    .news_content {
        letter-spacing: 0.6rem;
        font-size: 12rem;
    }
}

/* bnr_area */
.bnr_container {
    position: relative;
}
.bnr_list {
    display: flex;
    align-items: center;
    justify-content: center;
}
.bnr_swiper {
    padding-bottom: 40rem;
}
.bnr_area_img {
    border-radius: 5rem;
}
@media (min-width: 769px) {
    .bnr_area {
        padding-top: 35rem;
    }
    .bnr_container {
        max-width: 676rem;
        margin-inline: auto;
    }
    .bnr_list {
        column-gap: 13rem;
    }
    .bnr_swiper_link {
        transition: opacity 0.3s;
    }
    .bnr_area .common_swiper_prev_btn {
        left: -64rem;
        z-index: 9;
    }
    .bnr_area .common_swiper_next_btn {
        right: -64rem;
        z-index: 9;
    }
    .bnr_area_img {
        width: 216rem;
    }
    @media (hover:hover) {
        .bnr_swiper_link:hover {
            opacity: 0.8;
        }
    }
}
@media (max-width: 768px) {
    .bnr_list {
        flex-direction: column;
        row-gap: 30rem;
        margin-top: 34rem;
        padding-inline: 75rem;
    }
    .bnr_swiper {
        margin-top: -34rem;
    }
    .bnr_area .common_swiper_prev_btn {
        top: inherit;
        bottom: 0;
        left: calc(50% - 100rem);
    }
    .bnr_area .common_swiper_next_btn {
        top: inherit;
        bottom: 0;
        right: calc(50% - 100rem);
    }
    .bnr_swiper .swiper-slide {
        transform: scale(0.9);
    }
    .bnr_swiper .swiper-slide-active {
        transform: scale(1);
    }
}

/* message */
.message_block {
    position: relative;
}
.message_block::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    z-index: -1;
}
.message_block_list > li {
    display: flex;
    flex-direction: reverse;
    justify-content: center;
    align-items: center;
}
.message_block_list_ttl {
    font-size: 40rem;
    font-weight: 700;
    text-align: center;
}
.message_block_list_num {
    display: grid;
    place-content: center;
    font-size: 17rem;
    font-weight: 400;
    color: #fff;
    background-color: var(--color-red);
    width: 41rem;
    height: 41rem;
    border-radius: 50%;
    margin: 0 auto 25rem;
}
.message_block_label > dt {
    font-size: 24rem;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 2.4rem;
}
.message_block_label_txt {
    line-height: 1.8;
    letter-spacing: 0.3rem;
    margin-top: 15rem;
}
.message_block_label_info {
    font-size: 12rem;
    line-height: 1.4;
    margin-top: 24rem;
}
.message_block_label_info li {
    text-indent: -42rem;
    padding-left: 42rem;
}
.message_link_wrap {
    display: flex;
    align-items: center;
}
.message_link_wrap .arrow_img {
    width: 15rem;
}
.message_link {
    margin-right: 13rem;
}
.message_link .btn_arrow_inner{
    width: 63rem;
    height: 38rem;
}
.message_link::before {
    width: 63rem;
    height: 38rem;
}
.message_link_sub {
    font-size: 14rem;
    letter-spacing: 0.6rem;
}
.message_link_ttl {
    font-size: 18rem;
    font-weight: 700;
    letter-spacing: 0.4rem;
    margin-top: 10rem;
}
@media (min-width: 769px) {
    .message {
        padding-top: 110rem;
    }
    .message_block {
        background: linear-gradient(180deg, #FFD657 5.96%, #FFE388 30.89%, #FFEDB1 87%, transparent 87%, transparent 100%);
    }
    .message_block::before {
        background: url(../images/message_wave_top.svg) no-repeat top center;
        background-size: 100%;
        top: -8vw;
    }
    .message_block::after {
        content: '';
        background: url(../images/message_wave_bottom.svg) no-repeat bottom center;
        background-size: 100%;
        width: 100%;
        height: 100%;
        position: absolute;
        bottom: -43.9vw;
        left: 0;
        z-index: -1;
    }
    .message_block_list {
        margin-top: 200rem;
    }
    .message_block_list > li {
        column-gap: 45rem;
    }
    .message_block_list > li + li {
        margin-top: 100rem;
    }
    .message_block_label {
        width: 452rem;
    }
    .message_link_wrap {
        margin-top: 28rem;
    }

    /* 画像 */
    .message_list_img_1 {
        width: 360rem;
    }
}
@media (max-width: 768px) {
    .message {
        padding-top: 60rem;
    }
    .message_block {
        margin-top: 77rem;
        padding-bottom: 273rem;
        background: linear-gradient(180deg, transparent 0%, transparent 13%, #FFEDB1 16%, #FFDD70 50.96%, #FFCF3D 100%);
    }
    .message_block::before {
        height: 627rem;
        background: url(../images/message_wave_top_sp.svg) no-repeat top center;
        background-size: 100%;
        top: 0;
    }
    .message_block_list > li {
        flex-direction: column;
        row-gap: 20rem;
    }
    .message_block_list > li + li {
        margin-top: 65rem;
    }
    .message_link_wrap {
        margin-top: 25rem;
    }
}
@media (min-width: 1281px) {
    .message_swiper {
        position: relative;
    }
    .message_swiper::before,
    .message_swiper::after {
        content: '';
        width: 200rem;
        height: 100%;
        position: absolute;
        top: 0;
        z-index: 2;
    }
    .message_swiper::before {
        background: linear-gradient(90deg, rgba(255, 227, 136, 1), rgba(255, 255, 255, 0));
        left: 0;
    }
    .message_swiper::after {
        background: linear-gradient(270deg, rgba(255, 227, 136, 1), rgba(255, 255, 255, 0));
        right: 0;
    }
}

/* contact_top */
@media (min-width: 769px) {
    .contact_top {
        margin-top: 140rem;
    }
}
@media (max-width: 768px) {
    .contact_top {
        margin-top: -190rem;
    }
}

/* service */
.service_ttl {
    font-size: 24rem;
    font-weight: 700;
    letter-spacing: 1.4rem;
    text-align: center;
    position: relative;
}
.service_ttl::before {
    content: '';
    background: url(../images/common/content_deco.svg) no-repeat center;
    background-size: cover;
    height: 37rem;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
.service_list {
    display: flex;
    justify-content: center;
}
.service_list_link {
    position: relative;
}
.service_list_txt {
    text-align: center;
    font-weight: 700;
    font-size: 12rem;
    line-height: 1.5;
    letter-spacing: 0.7rem;
}
.service_btn_arrow {
    position: absolute;
}
.service_btn_arrow .btn_arrow_inner{
    width: 60rem;
    height: 35rem;
}
.service_btn_arrow .arrow_img {
    width: 15rem;
}
@media (min-width: 769px) {
    .service {
        margin-top: 134rem;
    }
    .service_ttl::before {
        width: 802rem;
        top: -70rem;
    }
    .service_list {
        margin-top: 28rem;
        column-gap: 14rem;
    }
    .service_list_txt {
        margin-bottom: 8rem;
    }
    .service_bnr_img_1 {
        width: 320rem;
    }
    .service_bnr_img_2 {
        width: 340rem;
    }
    .service_btn_arrow {
        right: 16rem;
        bottom: 22rem;
    }
    .service_btn_arrow_2 {
        bottom: 32rem;
    }
    @media (hover:hover) {
        .service_list_link:hover .btn_arrow_inner {
            background-color: var(--color-body);
        }
        .service_list_link:hover .arrow_black_img {
            display: none;
        }
        .service_list_link:hover .arrow_white_img {
            display: block;
        }
    }
}
@media (max-width: 768px) {
    .service {
        margin-top: 130rem;
    }
    .service_ttl::before {
        width: 100%;
        top: -55rem;
    }
    .service_list {
        margin-top: 37rem;
        flex-direction: column;
        row-gap: 20rem;
    }
    .service_list_txt {
        margin-bottom: 13rem;
    }
    .service_list_link {
        display: block;
    }
    .service_btn_arrow {
        right: 15rem;
        bottom: 20rem;
    }
    .service_btn_arrow_2 {
        bottom: 25rem;
    }
    .service_bnr_img_2_wrap {
        display: block;
        margin-left: -15rem;
    }
}

/* pickup */
@media (max-width: 768px) {
    .pickup_list {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        row-gap: 42rem;
        margin-top: 21rem;
    }
}

/* CM */
.cm {
    background-color: var(--color-light-yellow);
}
.cm_swiper_list > li {
    display: flex;
    flex-direction: column-reverse;
}
.cm_swiper_list_txt {
    text-align: center;
    font-weight: 500;
    letter-spacing: 1rem;
}
.cm_swiper_list_img_wrap {
    position: relative;
}
.cm_swiper_list_play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.cm_swiper_list_play_icon {
    border: solid 1px var(--color-body);
    background-color: #fff;
    display: block;
    width: 60rem;
    height: 60rem;
    border-radius: 50%;
    transition: background-color 0.3s, width 0.3s, height 0.3s;
}
.cm_swiper_list_play_svg {
    position: absolute;
    width: 17rem;
    top: calc(50% - 8rem);
    left: calc(50% - 7rem);
    transition: fill 0.3s, stroke 0.3s;
}
@media (min-width: 769px) {
    .cm {
        margin-top: 95rem;
        padding-block: 43rem 51rem;
    }
    .cm_swiper {
        margin-top: 25rem;
    }
    .cm_swiper_list {
        padding-bottom: 70rem;
        column-gap: 13rem;
    }
    .cm_swiper_list > li {
        width: 378rem !important;
    }
    .cm_swiper_list_txt {
        font-size: 18rem;
        margin-top: 15rem;
    }
    .cm_swiper_list_img {
        width: 378rem;
        height: 250rem;
        border-radius: 24rem;
    }
    .cm_swiper_pagination.swiper-pagination-bullets.swiper-pagination-horizontal{
        bottom: 20rem;
    }
    .cm_swiper .common_swiper_prev_btn {
        top: inherit;
        bottom: 10rem;
        left: calc(50% - 120rem);
    }
    .cm_swiper .common_swiper_next_btn {
        top: inherit;
        bottom: 10rem;
        right: calc(50% - 120rem);
    }
    @media (hover:hover){
        .cm_swiper_list_link:hover .cm_swiper_list_play_icon {
            background-color: var(--color-body);
            width: 80rem;
            height: 80rem;
        }
        .cm_swiper_list_link:hover .cm_swiper_list_play_path {
            fill: #fff;
            stroke: #fff;
        }
    }
}
@media (max-width: 768px) {
    .cm {
        margin-top: 105rem;
        padding-block: 43rem 63rem;
        border-radius: 20rem;
    }
    .cm_swiper {
        margin-top: 15rem;
    }
    .cm_swiper_list {
        padding-bottom: 40rem;
    }
    .cm_swiper_list_txt {
        font-size: 20rem;
        margin-top: 16rem;
        line-height: 1.5;
    }
    .cm_swiper_list_img {
        width: 320rem;
        height: 220rem;
        border-radius: 20rem;
    }
    .cm_swiper .common_swiper_prev_btn {
        top: inherit;
        bottom: 0;
        left: calc(50% - 100rem);
    }
    .cm_swiper .common_swiper_next_btn {
        top: inherit;
        bottom: 0;
        right: calc(50% - 100rem);
    }
    .cm_swiper_pagination.swiper-pagination-bullets.swiper-pagination-horizontal{
        bottom: 11rem;
    }
}
@media (min-width: 1280px)  {
    .cm_swiper {
        position: relative;
    }
    .cm_swiper::before,
    .cm_swiper::after {
        content: '';
        width: 200rem;
        height: 100%;
        position: absolute;
        top: 0;
        z-index: 2;
    }
    .cm_swiper::before {
        background: linear-gradient(90deg, rgba(255, 218, 101, 1), rgba(255, 218, 101, 0.85) 30%, rgba(255, 255, 255, 0));
        left: 0;
    }
    .cm_swiper::after {
        background: linear-gradient(270deg, rgba(255, 218, 101, 1), rgba(255, 218, 101, 0.85) 30%, rgba(255, 255, 255, 0));
        right: 0;
    }
}

.floating_bnr {
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 8;
}
@media (min-width: 769px) {
    .footer {
        padding-bottom: 70rem;
    }
    @media(hover:hover) {
        .floating_bnr {
            transition: opacity .3s;
        }
        .floating_bnr:hover {
            opacity: 0.8;
        }
    }
}
@media (max-width: 768px) {
    .footer {
        padding-bottom: 102rem;
    }
    .floating_bnr {
        width: 260rem;
        height: 102rem;
    }
    .floating_bnr_img {
        width: 100%;
    }
}