/* top-add.css - トップページ用スタイル */
/* works/ページの .c-rcare-hero を参考に #header_slider_wrap のスタイルを適用 */

/* ============================================================
   #header_slider_wrap の横幅・角丸・margin 設定
   ============================================================ */

body.home #header_slider_wrap.type2.position_type1 {
    box-sizing: border-box;
    width: calc(100% - 40px) !important;
    margin: 20px auto 0 !important;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
}




@media screen and (min-width: 768px) {
    body.home #header_slider_wrap.type2.position_type1 {
        width: calc(100% - 100px) !important;
        margin: 30px auto 0 !important;
        border-radius: 30px;
    }

    body#body {
        width: 100%!important;
        overflow: hidden!important;
    }
}

    body#body {
        width: 100%!important;
        overflow: hidden!important;
    }

@media screen and (max-width: 750px) {
    .cb_content {
        padding: 70px 0 70px!important;
    }
}

@media screen and (max-width: 550px) {
    .cb_interview_list .cb_link_button {
        margin-top: 30px!important;
    }
}

#header_slider_button.animate {
    display: none!important;
}

#header_slider .slick-dots {
    right: 0!important;
    text-align: center!important;
}


/* ============================================================
   cb_header ネガティブマージン除去（親テーマ上書き）
   ============================================================ */

.cb_header {
    margin: 0 0 60px 0 !important;
}

#index_content_builder .inview.animate {
    -webkit-animation: inview_slide_up 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 0.4s;
    animation: inview_slide_up 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 0.4s;
}

 .cb_header .headline {
    font-size: 60px;
    color: #0E5198;
}

 .cb_header .sub_title {
    font-size: 16px;
    color: #9FA0A0;
}

@media screen and (max-width: 1200px) {
     .cb_header .headline {
        font-size: 45px;
    }
}

@media screen and (max-width: 750px) {
     .cb_header .headline {
        font-size: 30px;
    }

     .cb_header .sub_title {
        font-size: 14px;
    }
}

/* ============================================================
   YouTube ボックス - c-rcare-youtube-box スタイル
   ============================================================ */

.p-rcare-youtube {
    display: flex;
    gap: 35px;
    margin: 0 auto;
    justify-content: center;
}

@media screen and (max-width: 767px) { 
    .p-rcare-youtube {
        gap: 45px;
        flex-direction: column;
    }
}
.c-rcare-youtube {
    width: fit-content;
    margin-inline: auto;
    overflow: visible;
    border-radius: 0 5px 5px 5px;
    border: dashed 1px #8797BA;
    margin-top: 30px;
    position: relative;
}


.c-rcare-youtube-label {
    position: absolute;
    left: 0;
    top: 0;
    transform: translateY(-100%);
    width: auto;
    height: 28px;
}


@media screen and (min-width: 768px) {
    .c-rcare-youtube {
        /* border-radius: 8px; */
        border-radius: 0 8px 8px 8px;
        border: dashed 1px #8797BA;
    }

}

.c-rcare-youtube.wp-embed-aspect-16-9 {
    width: 100%;
}

.c-rcare-youtube.wp-embed-aspect-16-9 .wp-block-embed__wrapper {
    position: relative;
    padding-bottom: 56.25%;
    border-radius: 0 8px 8px 8px;
    overflow: hidden;
}

.c-rcare-youtube.wp-embed-aspect-16-9 .wp-block-embed__wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.c-rcare-youtube-box {
    margin: 0;
    position: relative;
}

@media screen and (max-width: 767px) {
    .c-rcare-youtube-box {
        width: auto;
        margin-top: 0;
    }

    .c-rcare-youtube.wp-embed-aspect-16-9 .wp-block-embed__wrapper {
    position: relative;
    padding-bottom: 56.25%;
    border-radius: 0 5px 5px 5px;
    overflow: hidden;
}
}

@media screen and (min-width: 768px) {
    .c-rcare-youtube-box {
        width: 496px;
    }
}

@media screen and (max-width: 767px) {
    .c-rcare-youtube-box .c-rcare-youtube {
        margin-bottom: 20px;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-youtube-box .c-rcare-youtube {
        margin-bottom: 30px;
    }
}

.c-rcare-youtube-box .c-rcare-person_block__content {
    width: 100%;
}

.c-rcare-youtube-box .c-rcare-person_block__title {
    color: #0e5198;
    font-weight: 700;
}

@media screen and (max-width: 767px) {
    .c-rcare-youtube-box .c-rcare-person_block__title {
        margin-top: 20px;
        font-size: 16px;
        line-height: 1.65;
        margin-bottom: 0;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-youtube-box .c-rcare-person_block__title {
        margin-top: 30px;
        font-size: 24px;
        line-height: 1.46;
        margin-bottom: 0;
    }
}

.c-rcare-youtube-box .c-rcare-person_block__text {
    color: #333;
    padding: 0;
    margin-top: 0;
}

@media screen and (max-width: 767px) {
    .c-rcare-youtube-box .c-rcare-person_block__text {
        font-size: 14px;
        line-height: 2.4;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-youtube-box .c-rcare-person_block__text {
        font-size: 16px;
        line-height: 2.4375;
    }
}


.cb_box_content.num1 .content_top {
    background: #0e5198;
    padding: 0 50px!important;
    color: #fff!important;
    height: 340px!important;
    border-radius: 8px 8px 0 0!important;
}

.cb_box_content .box_content .content_bottom {
    padding: 0 60px;
    height: 450px;
    position: relative;
    border-radius: 8px!important;
    margin-top: -8px!important;
}

.cb_box_content .box_content .headline {
    font-weight: 600;
    line-height: 1em;
    bottom: -0.12em;
    text-align: center;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    position: relative;
}

@media screen and (max-width: 767px) {
.cb_box_content.num1 .content_top {
    border-radius: 5px 5px 0 0!important;
}

.cb_box_content .box_content .content_bottom {

    border-radius: 5px!important;
    margin-top: -5px!important;
}
}

@media screen and (max-width: 1200px) {
    .cb_box_content .box_content {
        display: block;
        padding: 0 20px!important;
        width: calc(100% - 40px)!important;
    }
    .cb_box_content .box_content .content_bottom {
        margin-top: 0!important;
    }
    .cb_box_content .box_content .content_top {
        height: 360px!important;
    }
}

@media screen and (max-width: 750px) {
    .cb_box_content.num1 .cb_header .headline {
        font-size: 30px;
        width: 289px;
        text-align: center;
        margin: 0 auto;
        line-height: 1.45;
    }
}

/* ============================================================
   インタビュー一覧 - c-rcare-profile_card スタイル
   ============================================================ */

@media screen and (max-width: 767px) {
    .c-rcare-profile_card {
        width: 42.3%;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-profile_card {
        width: 300px;
    }
}

.c-rcare-profile_card > a {
    display: grid;
}

/* .c-rcare-profile_card > a:hover .c-rcare-profile_card__content::after {
    transition: all 0.3s ease;
    background: no-repeat center url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='_レイヤー_2'%20xmlns='http://www.w3.org/2000/svg'%20width='16.58'%20height='4.51'%20viewBox='0%200%2016.58%204.51'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;stroke:%23ffffff;stroke-miterlimit:10;}%3c/style%3e%3c/defs%3e%3cg%20id='SP'%3e%3cpolyline%20class='cls-1'%20points='0%204.01%2015.31%204.01%2011.4%20.37'/%3e%3c/g%3e%3c/svg%3e") #0e5198;
} */

.c-rcare-profile_card__image {
    width: 100%;
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}

@media screen and (max-width: 767px) {
    .c-rcare-profile_card__image {
        border-radius: 5px;
        overflow: hidden;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-profile_card__image {
        border-radius: 8px;
        overflow: hidden;
    }
}

.c-rcare-profile_card__image img {
    width: 100%;
    height: auto;
}

@media screen and (max-width: 767px) {
    .c-rcare-profile_card__image img {
        border-radius: 5px;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-profile_card__image img {
        border-radius: 8px;
    }
}

.c-rcare-profile_card__content {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    align-self: end;
    justify-self: end;
    padding-bottom: 10px;
    box-sizing: border-box;
    background-color: #fff;
    height: auto;
    position: relative;
}

@media screen and (max-width: 767px) {
    .c-rcare-profile_card__content {
        width: 86%;
        padding: 15px 0 10px 15px;
        border-top-left-radius: 5px;
        border-bottom-right-radius: 0;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-profile_card__content {
        width: 63%;
        padding: 20px;
        border-top-left-radius: 3.67%;
        border-bottom-right-radius: 3.67%;
    }
}

.c-rcare-profile_card__content::before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 100%;
    width: 20px;
    height: 1em;
    background: radial-gradient(ellipse at left top, transparent 70%, #ffffff 70%, #ffffff 100%);
}

.c-rcare-profile_card__content::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    transform: translateY(-100%);
    width: 20px;
    height: 20px;
    background: radial-gradient(ellipse at left top, transparent 70%, #ffffff 70%, #ffffff 100%);
}

@media screen and (max-width: 767px) {
    .c-rcare-profile_card__shoulder {
        font-size: 10px;
        line-height: 1;
    }

    .c-rcare-profile_card__content::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        transform: translateY(-100%);
        width: 5px;
        height: 5px;
        background: radial-gradient(ellipse at left top, transparent 70%, #ffffff 70%, #ffffff 100%);
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-profile_card__shoulder {
        font-size: 14px;
        line-height: 1;
    }
}

@media screen and (max-width: 767px) {
    .c-rcare-profile_card__name {
        font-size: 14px;
        line-height: 1.46;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-profile_card__name {
        font-size: 18px;
        line-height: 1.94;
    }
}

.c-rcare-profile_card__year {
    color: #808080;
    position: relative;
}

@media screen and (max-width: 767px) {
    .c-rcare-profile_card__year {
        font-size: 10px;
        line-height: 1;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-profile_card__year {
        font-size: 12px;
        line-height: 1;
    }
}

.c-rcare-profile_card__year::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-55%);
    width: 23px;
    height: 23px;
    border: 1px solid #333333;
    border-radius: 50%;
    background: no-repeat center url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='_レイヤー_2'%20xmlns='http://www.w3.org/2000/svg'%20width='16.58'%20height='4.51'%20viewBox='0%200%2016.58%204.51'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;stroke:%23333333;stroke-miterlimit:10;}%3c/style%3e%3c/defs%3e%3cg%20id='SP'%3e%3cpolyline%20class='cls-1'%20points='0%204.01%2015.31%204.01%2011.4%20.37'/%3e%3c/g%3e%3c/svg%3e") #fff;
    background-size: 12px;
}

.c-rcare-profile_card-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

@media screen and (max-width: 767px) {
    .c-rcare-profile_card-list {
        margin-top: 70px;
        gap: 20px;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-profile_card-list {
        margin-top: 48px;
        gap: 35px;
    }
}


@media screen and (max-width: 1200px) {
    .interview_list {
        width: 100%!important;
    }
}

/* ============================================================
   works ブロック - c-rcare-person_block スタイル
   ============================================================ */

.c-rcare-person_block {
    display: flex;
    max-width: 700px;
    margin-inline: auto;
}

@media screen and (max-width: 767px) {
    .c-rcare-person_block {
        margin-top: 70px;
        flex-direction: column;
        gap: 20px;
        padding: 0 20px;
        width: calc(100% - 40px);
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-person_block {
        margin-top: 48px;
        flex-direction: row;
        align-items: flex-start;
        gap: 70px;
    }
}

h3.c-rcare-person_block__title {
    font-size: 35px;
    line-height: 1.45;
    margin: 45px 0 40px;
}

h3.c-rcare-person_block__title span {
    color: #0E5198;
}

@media screen and (max-width: 767px) { 
    h3.c-rcare-person_block__title {
        font-size: 30px;
        line-height: 1.45;
        margin: 20px 0;
    }
}

p.c-rcare-person_block__text {
    line-height: 2.4;
    font-size: 16px;
    padding-top: 40px;
    padding-right: 100px;
    margin-top: 0;
}

@media screen and (max-width: 767px) { 
    p.c-rcare-person_block__text {
        font-size: 14px;
        padding-top: 20px;
        padding-right: 0;
        margin-top: 0;
    }

    .c-rcare-person_block__text  .c-rcare-button--primary {
        margin: 0;
    }
}



@media screen and (max-width: 767px) {
    .c-rcare-person_block + .c-rcare-person_block {
        margin-top: 70px;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-person_block + .c-rcare-person_block {
        margin-top: 100px;
    }
}

.c-rcare-person_block__image {
    border: 1px dotted #dddddd;
}

@media screen and (max-width: 767px) {
    .c-rcare-person_block__image {
        width: 100%;
        padding: 4px;
        border-radius: 5px;
        box-sizing: border-box;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-person_block__image {
        width: 55.23%;
        padding: 6px;
        border-radius: 20px;
    }
}

.c-rcare-person_block__image img {
    width: 100%;
    height: auto;
}

@media screen and (max-width: 767px) {
    .c-rcare-person_block__image img {
        border-radius: 1.57%;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-person_block__image img {
        border-radius: 2.31%;
    }
}

@media screen and (max-width: 767px) {
    .c-rcare-person_block__content {
        width: 100%;
        margin-top: 0;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-person_block__content {
        width: 45%;
    }
}

.c-rcare-person_block__shoulder {
    width: fit-content;
    padding-inline: 1.5em;
    text-align: center;
    border: 1px solid #0e5198;
    color: #0e5198;
    font-weight: 700;
}

@media screen and (max-width: 767px) {
    .c-rcare-person_block__shoulder {
        font-size: 14px;
        line-height: 2.51;
        border-radius: 2.51em;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-person_block__shoulder {
        font-size: 14px;
        line-height: 2.51;
        border-radius: 2.51em;
    }
}

.c-rcare-person_block__rule {
    border: none;
    border-top: 1px solid #dddddd;
    margin: 0;
}

@media screen and (max-width: 767px) {
    .c-rcare-person_block__rule {
        margin-top: 20px;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-person_block__rule {
        margin-top: 30px;
    }
}

@media screen and (max-width: 767px) {
    .c-rcare-person_block__buttons {
        margin-top: 20px;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-person_block__buttons {
        margin-top: 25px;
    }
}


.banner_content .overlay,
.banner_content .bg_image  {
    border-radius: 30px;
    overflow: hidden;
}

@media screen and (max-width: 767px) { 
.banner_content .overlay,
.banner_content .bg_image  {
    border-radius: 20px;
    overflow: hidden;
}
}


@media screen and (max-width: 767px) {
    .blog_list {
        display: flex!important;
        margin: 0 20pximportant;
        flex-direction: column;
        gap: 30px;
    }
    .blog_list .c-rcare-profile_card:nth-child(n+4) {
        display: none;
    }
}



/* ============================================================
   c-rcare-button--primary スタイル
   ============================================================ */

.c-rcare-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 32px;
    border: 2px solid transparent;
    border-radius: 4px;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: background-color .3s ease, color .3s ease, border-color .3s ease, opacity .3s ease;
    text-align: center;
    white-space: nowrap;
    box-sizing: border-box;
}

.c-rcare-button--primary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #0e5198;
    border-color: #0e5198;
    color: #fff;
    box-sizing: border-box;
}

@media screen and (max-width: 767px) {
    .c-rcare-button--primary {
        width: 240px;
        margin-inline: auto;
        padding: 8px 20px 8px 30px;
        border-radius: 24px;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-button--primary {
        width: 280px;
        border-radius: 28px;
        padding: 8px 10px 8px 25px;
        transition: all .3s ease;
    }
}

.c-rcare-button--primary > a {
    display: flex;
    align-items: center;
    color: #fff;
    width: 100%;
    height: 100%;
    padding-right: 10px;
}

@media screen and (max-width: 767px) {
    .c-rcare-button--primary > a {
        font-size: 12px;
        line-height: 1.65;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-button--primary > a {
        font-size: 14px;
        line-height: 1.42;
    }
}

.c-rcare-button--primary:hover {
    background-color: #fff;
    color: #0e5198;
    border-color: #0e5198;
    opacity: 1;
}

.c-rcare-button--primary:hover > a {
    color: #0e5198;
}

.c-rcare-button--primary::after {
    content: "";
    display: inline-block;
    flex-shrink: 0;
    background: no-repeat center url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='_レイヤー_2'%20xmlns='http://www.w3.org/2000/svg'%20width='16.58'%20height='4.51'%20viewBox='0%200%2016.58%204.51'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;stroke:%230e5198;stroke-miterlimit:10;}%3c/style%3e%3c/defs%3e%3cg%20id='SP'%3e%3cpolyline%20class='cls-1'%20points='0%204.01%2015.31%204.01%2011.4%20.37'/%3e%3c/g%3e%3c/svg%3e");
    background-color: #fff;
    color: #0e5198;
    border-radius: 50%;
}

@media screen and (max-width: 767px) {
    .c-rcare-button--primary::after {
        width: 30px;
        height: 30px;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-button--primary::after {
        width: 40px;
        height: 40px;
    }
}


/* 3列（PC）/ 1列（SP）レイアウト */

@media screen and (max-width: 767px) {
    .c-rcare-profile_card-list--3col > .c-rcare-profile_card {
        width: 100%;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-profile_card-list--3col > .c-rcare-profile_card {
        width: calc((100% - 70px) / 3);
    }
}

/* タイトル行数に合わせてコンテンツボックスを上方向に伸長（各カード独立） */
.c-rcare-profile_card-list--3col .c-rcare-profile_card__content {
    height: auto;
    min-height: 6.2em;
}





/* ============================================================
   SNS セクション - c-rcare-sns-card スタイル
   PC: 4列横並び / SP: 1列
   ============================================================ */

.c-rcare-sns-section {
    box-sizing: border-box;
    width: 100%;
    margin-inline: auto;
}

@media screen and (max-width: 767px) {
    .c-rcare-sns-section {
        padding: 30px 20px 0;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-sns-section {
        padding: 48px 50px 0;
    }
}

.c-rcare-sns-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
}

@media screen and (max-width: 767px) {
    .c-rcare-sns-list {
        flex-direction: column;
        gap: 20px;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-sns-list {
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 20px;
    }
}

.c-rcare-sns-card {
    overflow: hidden;
    min-width: 0;
}

@media screen and (max-width: 767px) {
    .c-rcare-sns-card {
        width: 100%;
        border-radius: 5px;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-sns-card {
        flex: 1;
        border-radius: 8px;
    }
}

.c-rcare-sns-card > a {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
}

.c-rcare-sns-card__image,
.c-rcare-sns-card__body {
    grid-column: 1;
    grid-row: 1;
}

.c-rcare-sns-card__image {
    position: relative;
    margin: 0;
}

.c-rcare-sns-card__image picture {
    display: block;
    width: 100%;
    height: 100%;
}

/* .c-rcare-sns-card__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
} */

.c-rcare-sns-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media screen and (max-width: 767px) {
    .c-rcare-sns-card__image img {
        aspect-ratio: 4 / 3;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-sns-card__image img {
        aspect-ratio: 3 / 4;
    }
}

.c-rcare-sns-card__body {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
}

@media screen and (max-width: 767px) {
    .c-rcare-sns-card__body {
        gap: 12px;
        padding: 20px;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-sns-card__body {
        gap: 20px;
        padding: 25px;
    }
}

.c-rcare-sns-card__logo img {
    display: block;
    width: auto;
    height: auto;
}

@media screen and (max-width: 767px) {
    .c-rcare-sns-card__logo img {
        max-height: 50px;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-sns-card__logo img {
        max-height: 70px;
    }
}

.c-rcare-sns-card__text {
    color: #fff;
    margin: 0;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .c-rcare-sns-card__text {
        font-size: 12px;
        line-height: 1.8;
    }
}

@media screen and (min-width: 768px) {
    .c-rcare-sns-card__text {
        font-size: 16px;
        line-height: 1.8;
    }
}


/* ============================================================
   cb_link_button → c-rcare-button--primary スタイル上書き
   トップページのみ（body.home）に適用
   ============================================================ */

body.home .cb_link_button {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    text-align: left !important;
    background-color: #0e5198 !important;
    border: 2px solid #0e5198 !important;
    color: #fff !important;
    box-sizing: border-box !important;
}

@media screen and (max-width: 767px) {
    body.home .cb_link_button {
        width: 240px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 8px 20px 8px 30px !important;
        border-radius: 24px !important;
    }
}

@media screen and (min-width: 768px) {
    body.home .cb_link_button {
        width: 280px !important;
        border-radius: 28px !important;
        padding: 8px 10px 8px 25px !important;
        transition: all .3s ease !important;
        margin-inline: auto !important;
    }
}

body.home .cb_link_button > a {
    display: flex !important;
    align-items: center !important;
    color: #fff !important;
    width: 100% !important;
    height: auto !important;
    min-width: unset !important;
    padding: 0 10px 0 0 !important;
    font-weight: 700 !important;
    background: none !important;
    border: none !important;
    overflow: visible !important;
    text-align: left !important;
}

@media screen and (max-width: 767px) {
    body.home .cb_link_button > a {
        font-size: 12px !important;
        line-height: 1.65 !important;
    }
}

@media screen and (min-width: 768px) {
    body.home .cb_link_button > a {
        font-size: 14px !important;
        line-height: 1.42 !important;
    }
}

/* 親テーマのアニメーション ::before を無効化 */
body.home .cb_link_button > a::before {
    display: none !important;
}

/* 丸矢印アイコン */
body.home .cb_link_button::after {
    content: "" !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
    background: no-repeat center url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='_レイヤー_2'%20xmlns='http://www.w3.org/2000/svg'%20width='16.58'%20height='4.51'%20viewBox='0%200%2016.58%204.51'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;stroke:%230e5198;stroke-miterlimit:10;}%3c/style%3e%3c/defs%3e%3cg%20id='SP'%3e%3cpolyline%20class='cls-1'%20points='0%204.01%2015.31%204.01%2011.4%20.37'/%3e%3c/g%3e%3c/svg%3e") !important;
    background-color: #fff !important;
    border-radius: 50% !important;
}

@media screen and (max-width: 767px) {
    body.home .cb_link_button::after {
        width: 30px !important;
        height: 30px !important;
    }
}

@media screen and (min-width: 768px) {
    body.home .cb_link_button::after {
        width: 40px !important;
        height: 40px !important;
    }
}

body.home .cb_link_button:hover {
    background-color: #fff !important;
    border-color: #0e5198 !important;
}

body.home .cb_link_button:hover > a {
    color: #0e5198 !important;
}


/* ============================================================
   PC レイアウト統一 — ビューポート左右 50px
   ============================================================ */


/* -------------------- c-rcare-person_block -------------------- */

@media screen and (min-width: 768px) {
    .c-rcare-person_block {
        width: calc(100% - 100px);
        box-sizing: border-box;
        max-width: none;
        padding-inline: 0;
        margin: 100px auto 0;
    }
}


/* -------------------- box_content.inview_group -------------------- */

@media screen and (min-width: 768px) {
    .box_content.inview_group {
        box-sizing: border-box;
        padding-inline: 50px;
    }
}


/* -------------------- interview_list_wrap（PC: 4列） -------------------- */

@media screen and (min-width: 768px) {
    .interview_list_wrap {
        box-sizing: border-box;
        padding-inline: 50px;
    }

    .interview_list_wrap .c-rcare-profile_card {
        width: calc((100% - 105px) / 4);
    }
}


/* -------------------- banner_content（body.home のみ） -------------------- */

@media screen and (min-width: 768px) {
    body.home .banner_content {
        width: calc(100% - 100px) !important;
        height: 700px !important;
        position: relative !important;
        overflow: hidden !important;
        margin: 0 auto !important;
    }
}


/* -------------------- blog_list（親テーマの cb_contents_inner を上書き） -------------------- */

@media screen and (min-width: 768px) {
    body.home .cb_blog_list .cb_contents_inner {
        box-sizing: border-box;
        width: 100% !important;
        max-width: none !important;
        padding-inline: 50px !important;
    }
}


/* -------------------- cb_youtube_section ラッパー -------------------- */

@media screen and (min-width: 768px) {
    .cb_youtube_section {
        box-sizing: border-box;
        padding-inline: 50px;
        padding-top: 100px;
    }

        .cb_youtube_section {
        padding-left: 0;
        padding-right: 0;
    }

        .cb_youtube_section .cb_header {
        margin: 0 0 50px 0 !important;
    }

    
}

.banner_content {
    width: calc( 100% - 40px);
    margin-left: auto;
    margin-right: auto;;
}

    .cb_youtube_section {
        box-sizing: border-box;
        padding-inline: 50px;
        padding-top: 40px;
    }

    .cb_youtube_section {
        padding-left: 20px;
        padding-right: 20px;
    }

    .cb_youtube_section .cb_header {
        margin: 0 0 20px 0 !important;
    }



/* -------------------- cb_sns_section ラッパー -------------------- */

.cb_sns_section {
    box-sizing: border-box;
    padding-inline: 20px;
    margin-top: 30px;
}

@media screen and (min-width: 768px) {
    .cb_sns_section {
        padding-inline: 50px;
        margin-top: 48px;
    }
}

/* ラッパーが padding-inline を管理するため内側の inline padding を除去 */
.cb_sns_section .c-rcare-sns-section {
    padding-left: 0;
    padding-right: 0;
}

.yt-lazy {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
    z-index: 1;
}

.yt-lazy img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media screen and (min-width: 751px) and (max-width: 1439px) {
    #header_slider .catch {
        line-height: 1.2 !important;
        -ms-word-wrap: break-word;
        word-wrap: break-word;
        position: relative;
        font-weight: 600;
    }
}
