@charset "UTF-8";

#header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff url(../img/RBLine.png) no-repeat left bottom;
    background-size: 100% 5px;
    z-index: 4;
}


@media screen and (max-width: 767px) {
    #header {
        background: #fff url(../img/RBLine_sp.png) no-repeat left bottom;
        background-size: 100% 5px;
    }
}


.h-inner {
    min-height: 70px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

@media screen and (max-width: 767px) {
    .h-inner {
        min-height: 56px;
    }
}

.logo {
    padding-left: 1.4rem;
    padding-bottom: .1rem;
    width: 21.3%;
    font-size: inherit;
    line-height: inherit;
}

.logo a {
    display: block;
    line-height: 1;
}

.logo a:hover img {
    opacity: 1;
}

@media screen and (max-width: 767px) {
    .logo {
        display: inline-flex;
        align-items: center;
        padding: 0 0 .35rem;
        width: auto;
    }

    .logo img {
        max-width: 192px;
    }
}


.btn-toggle-menu {
    display: none;
}

@media screen and (max-width: 767px) {
    .btn-toggle-menu {
        display: block;
        position: absolute;
        top: 0.75rem;
        right: 1rem;
        margin-bottom: 0;
        color: #555;
        line-height: 1;
        width: 32px;
        height: 32px;
        text-align: center;
        transition: all 0.3s ease-in;
        z-index: 4;
        cursor: pointer;
    }

    .btn-toggle-menu > span {
        position: absolute;
        left: 3px;
        display: inline-block;
        width: 26px;
        height: 4px;
        background-color: #555;
        border-radius: 4px;
        transition: all .4s;
    }

    .btn-toggle-menu > span:nth-of-type(1) {
        top: 4px;
    }

    .btn-toggle-menu > span:nth-of-type(2) {
        top: 12.5px;
    }

    .btn-toggle-menu > span:nth-of-type(3) {
        top: 21px;
    }

    .btn-toggle-menu.on > span:nth-of-type(1) {
        top: 4px;
        left: 3px;
        width: 26px;
        transform: translateY(9px) rotate(-45deg);
    }

    .btn-toggle-menu.on > span:nth-of-type(2) {
        opacity: 0;
    }

    .btn-toggle-menu.on > span:nth-of-type(3) {
        top: 4px;
        left: 3px;
        width: 26px;
        transform: translateY(9px) rotate(45deg);
    }
}

#gnav {
    display: flex;
    gap: 3.75rem;
    padding-right: 2rem;
}

#gnav ul {
    display: flex;
    margin: 0;
    padding: 0;
    list-style-type: none;
    z-index: 1;
    align-items: center;
}

.gnav__list {
    gap: 3rem;
}

.gnav__list > li {
    float: left;
    margin-bottom: 0;
    padding: 1.4rem 0;
    text-align: center;
    font-size: 1rem;
    cursor: pointer;
}

/*
.gnav__list li:last-child {
    display: none;
}
*/

#gnav ul li a {
    font-weight: 700;
    text-decoration: none;
}

.gnav__list li a {
    display: block;
    color: #050505;
}

.h-button_list {
    gap: 0 .75rem;
}

/* 「無料説明会」非表示 */
/* .h-button_list li {
    display: none;
} */

.dropmenu_body .sub-menu li a {
    color: var(--color-gray);
}

@media screen and (min-width: 768px) and (max-width: 1040px) {
    .logo {
        padding-left: 1rem;
        width: 24.3%;
    }

    #gnav {
        gap: 1rem;
        padding-right: 1rem;
    }

    .gnav__list {
        gap: 1rem;
    }

    .gnav__list > li {
        padding: 1.6rem 0;
        font-size: 1.6vw;
    }

    .h-button_list {
        gap: .5rem;
    }

    .h-button_list .button-outline--size-s,
    .h-button_list .button--size-s {
        padding: 0 0 .1rem;
        min-width: 14vw;
        font-size: 1.5vw;
    }
}

@media screen and (min-width: 768px) {
    #gnav {
        display: flex !important;
    }

    .gnav__list .dropmenu_body {
        display: none;
        position: absolute;
        top: 70px;
        left: 0;
        right: 0;
        margin: 0 auto;
        max-width: 860px;
        width: 100%;
        min-height: 134px;
        background-color: #FFF;
        border-radius: 12px;
        border: 1px solid #707070;
        box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
    }

    .dropmenu_body .dropmenu_tit {
        margin: 0;
        padding: 1.2rem 0 0 2rem;
        width: 21.7%;
        border-right: 1px solid #ccc;
        box-sizing: border-box;
        text-align: left;
        font-weight: bold;
        color: var(--color-primary);
    }

    .dropmenu_body .dropmenu_tit a {
        color: var(--color-primary);
    }

    .dropmenu_body .dropmenu_tit a:hover {
        opacity: .6;
    }

    #gnav .dropmenu_body .sub-menu {
        display: block;
        padding-left: 2rem;
        padding-top: 1.2rem;
        width: 79.3%;
        box-sizing: border-box;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .dropmenu_body .sub-menu li {
        float: left;
        padding: 0 0 .8rem;
        width: 33.3%;
        text-align: left;
    }

    .dropmenu_body .sub-menu li a:hover {
        opacity: .6;
    }

    .gnav__list li.opened {
        box-sizing: border-box;
    }

    .gnav__list li.opened > a {
        position: relative;
    }

    .gnav__list li.opened > a:after {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        bottom: -5px;
        width: 100%;
        height: 1005;
        border-bottom: 2px solid var(--color-primary);
    }

    .gnav__list li.opened .dropmenu_body {
        display: flex;
    }


}

@media screen and (max-width: 767px) {
    #gnav {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        top: 56px;
        padding: 0 1rem 4rem;
        gap: 0;
        width: 100%;
        height: 100vh;
        background-color: white;
        z-index: 3;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
    }

    #gnav ul {
        display: block;
    }

    #gnav .gnav__list {
        padding-top: 1.25rem;
    }

    .gnav__list > li {
        float: none;
        padding: 0;
        text-align: left;
        font-size: 1.25rem;
        border-bottom: 1px solid #ccc;
    }

    .gnav__list > li > a {
        position: relative;
        padding: .8rem 0;
    }

    .plus_ico {
        position: absolute;
        top: 0;
        right: 0;
        padding-right: 6px;
        align-items: center;
        display: inline-flex;
        box-sizing: border-box;
        width: 54px;
        height: 100%;
        text-align: right;
        justify-content: flex-end;
    }

    .plus_ico::before {
        text-rendering: auto;
        font-size: 1rem;
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
        -moz-osx-font-smoothing: grayscale;
        -webkit-font-smoothing: antialiased;
        font-style: normal;
        font-variant: normal;
        content: '\2b';
        font-size: 1.8rem;
        transition: all .3s;
    }

    .plus_ico.active::before {
        content: '\f068';
        transform: rotate(180deg);
    }

    .gnav__list .dropmenu_body {
        display: none;
    }

    .dropmenu_body .dropmenu_tit {
        display: none;
    }

    #gnav .dropmenu_body .sub-menu {
        padding-bottom: 1.1rem;
    }

    .dropmenu_body .sub-menu li {
        padding: 0 1rem;
        font-size: 1.13rem;
    }

    .dropmenu_body .sub-menu li a {
        padding: .5rem 0;
    }

    #gnav .h-button_list {
        margin-top: 3rem;
    }

    .h-button_list li {
        position: relative;
        padding-bottom: 1.6rem;
        text-align: center;
    }

    #gnav .h_sns_list {
        margin-top: 1.5rem;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #gnav .h_sns_list .icon {
        color: #333;
        padding: 0 .6rem;
    }

    #gnav .h_sns_list .icon .fa-2xl {
        font-size: 2.75rem;
    }


    #gnav .h_sns_list .fa-youtube {
        color: #e33123;
    }


}

#content {
    padding-top: 70px;
    min-height: calc(100vh - 500px);
}

@media screen and (max-width: 767px) {
    #content {
        padding-top: 56px;
    }
}

.float_bnr {
    position: fixed;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 10;
}

.float_bnr a {
    /* padding-left: 1.25rem; */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 110px;
    min-height: 132px;
    background-color: var(--color-primary);
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
    text-decoration: none;
    text-align: center;
    color: var(--color-white);
    font-size: 1.3rem;
    font-weight: 700;
}

@media(hover: hover) {
    .float_bnr a:hover {
        opacity: .7;
    }
}


@media screen and (max-width: 767px) {
    .float_bnr {
        top: auto;
        left: 0;
        right: 0;
        bottom: 0;
        transform: translateY(0);
    }

    .float_bnr a {
        padding: .5rem 0;
        min-width: none;
        width: 100%;
        min-height: 46px;
        font-size: 1.13rem;
        border-radius: 0;
        border-top: 1px solid #5171C6;
    }

    .float_bnr i {
        margin-left: .5rem;
    }


}


.section--copy .inner--size-s {
    padding-bottom: 4rem;
}

.is-style-title1 {
    font-size: 4.5rem;
    font-weight: 100;
    line-height: 1.35;
}

@media screen and (max-width: 767px) {
    .is-style-title1 {
        font-size: 3.75rem;
        line-height: 1.25;
    }
}

.is-style-title2 {
    margin-block-start: 0;
    font-size: 2rem;
    line-height: 1.5;
}

.is-style-title2 ruby rt {
    font-size: .88rem;
    transform: translateY(.3rem);
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
    .is-style-title2 ruby rt {
        position: relative;
        top: -.5rem;
    }
}


@media screen and (max-width: 767px) {
    .is-style-title2 {
        font-size: 1.75rem;
        line-height: 2;
    }
}

@media screen and (max-width: 767px) and (-webkit-min-device-pixel-ratio:0) {
    .is-style-title2 ruby rt {
        position: relative;
        top: -.3rem;
    }
}

.is-style-title3 {
    font-size: 1.5rem;
    font-weight: 700;
}

.is-style-title3--black {
    color: var(--color-black);
    font-size: 1.5rem;
    font-weight: 700;
}


@media screen and (max-width: 767px) {
    .is-style-title3--black {
        font-size: 1.25rem;
    }
}

.title4 {
    font-size: 1.25rem;
    font-weight: 700;
}

.title6 {
    color: #555;
    font-size: 1rem;
}

.is-style-title-ud {
    padding-bottom: .2rem;
    border-bottom: 1px solid var(--color-primary);
    color: var(--color-primary);
    font-size: 1.13rem;
    font-weight: 700;
}

.is-style-heading3 + .is-style-title1 {
    margin-top: 4rem;
}

@media screen and (max-width: 767px) {

    .is-style-heading3 + .is-style-title1 {
        margin-top: 2.75rem;
    }

    .is-style-title1 + .is-style-title2 {
        margin-top: 1.5rem;
    }
}

#main_visual {
    position: relative;
}

#main_visual .main_visual__inner {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;

}

#main_visual .pg_title {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: 0 auto;
    max-width: 440px;
    width: 100%;
    transform: translateY(-50%);
    text-align: center;
    color: #fff;
}

#main_visual .pg_title .is-style-heading1 {
    border-bottom: 1px solid #fff;
}

#main_visual .pg_title .is-style-ds-text-m {
    color: #fff;
}

@media screen and (max-width: 767px) {
    #main_visual .pg_title {
        padding: 0 1rem;
        max-width: 100%;
        box-sizing: border-box;
    }

    #main_visual .pg_title .is-style-ds-text-m {
        margin-top: .4rem;
    }
}

.wp-block-group > * {
    max-width: 960px;
    margin-left: auto !important;
    margin-right: auto !important;
}

.wp-block-group {
    padding: 5.4rem 1.25rem 5rem;
}

.wp-block-group .wp-block-group {
    padding-left: 0;
    padding-right: 0;
}

.wp-block-group.is-style-pt-0 {
    padding-top: 0 !important;
}

.wp-block-group.is-style-pb-0 {
    padding-bottom: 0 !important;
}

.is-style-p-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.wp-block-group.is-style-pb-48 {
    padding-top: 2.5rem;
    padding-bottom: 5rem;
}

.wp-block-group.is-style-pb-68 {
    padding-top: 4rem;
    padding-bottom: 5rem;
}

.wp-block-group.is-style-mt-56 {
    margin-top: 3.5rem;
    padding-top: 0;
    padding-bottom: 0;
}

.wp-block-group.is-style-mt-60 {
    margin-top: 3.75rem;
    padding-top: 0;
    padding-bottom: 0;
}

.wp-block-group.is-style-mt-43 {
    margin-top: 2.7rem;
    padding-top: 0;
    padding-bottom: 0;
}

.wp-block-group--size-s,
.wp-block-group.is-style-size-s {
    padding-top: 2.5rem;
    padding-bottom: 3.6rem;
}

.wp-block-group--size-sp-s,
.wp-block-group.is-style-size-sp-s {
    padding-top: 2.2rem;
    padding-bottom: 3.6rem;
}

.wp-block-group--size-m {
    padding-top: 5em;
}

.wp-block-group--size-xs {
    padding-top: 2.5rem;
    padding-bottom: 3rem;
}

.wp-block-group.is-style-section--copy {
    padding-top: 2.5rem;
    padding-bottom: 4rem;
}

@media screen and (max-width: 767px) {
    .wp-block-group {
        padding: 4rem 1rem;
    }

    .wp-block-group.is-style-pb-48 {
        padding: 1.5rem 1rem 4rem;
    }

    .wp-block-group.is-style-pb-68 {
        padding: 2.5rem 1rem 4rem;
    }

    .wp-block-group--size-s,
    .wp-block-group.is-style-size-s {
        padding-top: 2.8rem;
        padding-bottom: 2.4rem;
    }

    .wp-block-group--size-m {
        padding-top: 4.5em;
    }

    .wp-block-group--size-xs {
        padding-top: 2rem;
        padding-bottom: 2.5rem;
    }

    .wp-block-group--size-sp-s,
    .wp-block-group.is-style-size-sp-s {
        padding-top: 1.5rem;
        padding-bottom: 2.5rem;
    }

    .wp-block-group.is-style-mt-43 {
        margin-top: 2.5rem;
        padding-top: 0;
        padding-bottom: 0;
    }

    .wp-block-group.is-style-mt-56 {
        margin-top: 2.5rem;
        padding-top: 0;
        padding-bottom: 0;
    }

    .wp-block-group.is-style-mt-60 {
        margin-top: 2.5rem;
        padding-top: 0;
        padding-bottom: 0;
    }



}


.wp-block-separator {
    margin: 3.5rem 0;
    border: none;
    border-top: 1px solid #666;
}

@media screen and (max-width: 767px) {
    .wp-block-separator {
        margin: 2.5rem 0;
    }
}


.wp-block-columns.is-layout-flex.is-style-flex-wrap {
    flex-wrap: wrap !important;
}

.wp-block-columns.is-layout-flex.is-style-gr-lg {
    flex-wrap: wrap !important;
    gap: 4rem;
}

.wp-block-columns.is-layout-flex.is-style-gr-sm {
    flex-wrap: wrap !important;
    gap: 0.95rem;
}

.wp-block-columns.is-layout-flex.is-style-ds-column_3 {
    flex-grow: 0;
    flex-wrap: wrap !important;
}

.wp-block-columns.is-layout-flex.is-style-ds-column_3 .wp-block-column {
    flex-basis: calc(33.3% - 2rem);
}

@media screen and (min-width:768px) {
    .wp-block-columns.is-layout-flex {
        column-gap: 2rem;
    }
}

@media screen and (min-width:768px) and (max-width:781px) {
    .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
        flex-basis: 0 !important;
        flex-grow: 1;
    }
}

@media screen and (max-width: 767px) {
    .wp-block-columns.is-layout-flex.is-style-gr-lg {
        gap: 3rem;
    }
}

.grid-media-text {
    margin-top: 2.5rem;
    display: flex;
    justify-content: space-between;
    gap: 2rem;
}

.grid-media-text > * {
    width: 100%;
}


@media screen and (min-width: 768px) {
    .grid-media-text .grid-media-text__content {
        order: 1;
    }

    .grid-media-text .grid-media-text__img {
        order: 2;
    }

    .grid-media-text--size-s .grid-media-text__content {
        max-width: 559px;
    }

    .grid-media-text--size-s .grid-media-text__img {
        max-width: 360px;
    }

}

@media screen and (max-width: 767px) {
    .grid-media-text {
        margin-top: 1.88rem;
        flex-direction: column;
    }
}


.grid-media-text-160 {
    display: flex;
    gap: 1.75rem;
}

.grid-media-text-160 .grid-media-text__img {
    width: 160px;
}

.grid-media-text-160 .grid-media-text__img img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    border-radius: 50%;
}

/* .grid-media-text--size-s .grid-media-text__content {
    width: calc(100% - 160px);
} */


@media screen and (max-width: 767px) {
    .grid-media-text-160 {
        gap: 1.4rem;
    }

    .grid-media-text-160 .grid-media-text__img {
        min-width: 160px;
    }

    .grid-media-text-160 .grid-media-text__content .ds-text {
        margin-top: .8rem;
    }
}


.wp-block-media-text {
    margin-top: 2.5rem;
    display: flex;
    justify-content: space-between;
    gap: 2rem;
}

.wp-block-media-text > * {
    width: 100%;
}

.wp-block-media-text.is-style-size-s .is-style-ds-text + .is-style-heading4 {
    margin-top: 3.125rem;
}


@media screen and (min-width: 768px) {

    .wp-block-media-text .wp-block-media-text__content {
        padding: 0;
    }

    .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
        order: 1;
    }

    .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
        order: 2;
    }

    .wp-block-media-text.is-style-size-s .wp-block-media-text__content {
        max-width: 559px;
    }

    .wp-block-media-text.is-style-size-s .wp-block-media-text__media {
        max-width: 360px;
    }

}

@media screen and (max-width: 767px) {
    .wp-block-media-text {
        margin-top: 1.88rem;
    }

    .wp-block-media-text:not(..is-style-160) {
        flex-direction: column;
    }

    .wp-block-media-text .wp-block-media-text__content {
        padding: 0
    }

    .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
        order: 2;
    }

    .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
        order: 1;
    }

    .wp-block-media-text.is-style-size-s .is-style-ds-text + .is-style-heading4 {
        margin-top: 2.5rem;
    }

}


.wp-block-media-text.is-style-160 {
    display: flex;
    gap: 1.75rem;
}

.wp-block-media-text.is-style-160 .wp-block-media-text__media {
    width: 160px;
}

.wp-block-media-text.is-style-160 .wp-block-media-text__media img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    border-radius: 50%;
}

@media screen and (min-width: 768px) {
    .wp-block-media-text.is-style-160 .wp-block-media-text__content {
        width: calc(100% - 188px);
    }
}


@media screen and (max-width: 767px) {
    .wp-block-media-text.is-style-160 {
        gap: 1.4rem;
    }

    .wp-block-media-text.is-style-160 .wp-block-media-text__media {
        min-width: 160px;
    }

    .wp-block-media-text.is-style-160 .wp-block-media-text__content {
        width: calc(100% - 182px);
    }

    .wp-block-media-text.is-style-160 .wp-block-media-text__content .is-style-ds-text {
        margin-top: .8rem;
    }
}

@media (max-width: 600px) {
    .wp-block-media-text.is-stacked-on-mobile {
        flex-direction: column;
    }

    .wp-block-media-text.has-media-on-the-right.is-stacked-on-mobile {
        grid-template-columns: 100% !important;
    }

    .wp-block-media-text.has-media-on-the-right.is-stacked-on-mobile .wp-block-media-text__content {
        padding-right: 0;
        grid-column: 1;
        grid-row: 1;
    }

    .wp-block-media-text.has-media-on-the-right.is-stacked-on-mobile .wp-block-media-text__media {
        grid-column: 1;
        grid-row: 2;
    }
}

.wp-block-list {
    list-style: inside;
    margin: 0;
    padding: 0;
    line-height: 1.75;
}

.wp-block-list + .is-style-ds-text {
    margin-top: 1.8rem;
}

.wp-block-buttons {
    margin-top: 1.5rem;
}

.wp-block-buttons .wp-block-button .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 2.45rem;
    min-width: 134px;
    min-height: 40px;
    background-color: var(--color-primary);
    border: 1px solid var(--color-primary);
    border-radius: 20px;
    text-align: center;
    text-decoration: none;
    color: var(--color-white);
    font-size: 1rem;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color .4s ease, color .4s ease, border .4s ease;
}

.wp-block-buttons .wp-block-button .wp-block-button__link:hover {
    text-decoration: none;
    opacity: .7 !important;
}

.wp-block-buttons .is-style-fill-square-lg .wp-block-button__link,
.wp-block-buttons .is-style-square-outline-lg .wp-block-button__link {
    min-width: 462px;
    min-height: 96px;
    border-radius: 6px;
    flex-direction: column;
    font-size: 1.13rem;
    font-weight: 700;
    line-height: 1.8;
}

.is-style-fill-square-lg code,
.is-style-outline-square-lg code {
    font-size: 1rem;
    font-weight: 700;
}

@media screen and (max-width: 767px) {

    .wp-block-buttons .is-style-fill-square-lg,
    .wp-block-buttons .is-style-square-outline-lg {
        width: 100%;
    }

    .wp-block-buttons .is-style-fill-square-lg .wp-block-button__link,
    .wp-block-buttons .is-style-square-outline-lg .wp-block-button__link {
        min-width: 100%;
        width: 100%;
    }
}


.wp-block-buttons .is-style-fill-square-xl .wp-block-button__link,
.wp-block-buttons .is-style-square-outline-xl .wp-block-button__link {
    position: relative;
    border-radius: 8px;
    min-width: 640px;
    min-height: 64px;
    flex-direction: column;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.8;
}


.wp-block-buttons .is-style-outline .wp-block-button__link,
.wp-block-buttons .is-style-square-outline-xl .wp-block-button__link,
.wp-block-buttons .is-style-square-outline-lg .wp-block-button__link {
    border: 1px solid var(--color-primary);
    color: var(--color-primary);
    background-color: transparent;
}

@media(hover: hover) {

    .wp-block-buttons .is-style-outline .wp-block-button__link:hover,
    .wp-block-buttons .is-style-square-outline-xl .wp-block-button__link:hover,
    .wp-block-buttons .is-style-square-outline-lg .wp-block-button__link:hover {
        color: var(--color-white);
        background-color: var(--color-primary);
        border: 1px solid var(--color-primary);
        opacity: 1 !important;

    }

}

@media screen and (max-width: 767px) {

    .wp-block-buttons .is-style-square-outline-xl,
    .wp-block-buttons .is-style-fill-square-xl {
        width: 100%;
    }

    .wp-block-buttons .is-style-square-outline-xl .wp-block-button__link,
    .wp-block-buttons .is-style-fill-square-xl .wp-block-button__link {
        min-width: 100%;
    }

    .arrow:after {
        right: 1rem;
    }
}

@media screen and (max-width: 320px) {

    .button-outline--square-xl,
    .button--square-xl {
        font-size: 6vw;
    }
}




.is-style-btn-grid {
    gap: 2rem;
}

.is-style-btn-grid .wp-block-button {
    width: calc(50% - 1rem);
}

.is-style-btn-grid .wp-block-button .wp-block-button__link {
    min-width: 100%;
}

@media screen and (max-width: 767px) {
    .is-style-btn-grid .wp-block-button {
        width: 100%;
    }

    .is-style-btn-grid {
        gap: .9rem;
    }
}

@media screen and (max-width:767px) {
    .wp-block-image.has-mobile-text-align-left {
        margin-left: 0 !important;
    }
}



.is-style-ds-text-lead {
    font-size: 1.13rem;
    font-weight: bold;
    line-height: 2;

}

@media screen and (max-width: 767px) {
    .is-style-ds-text-lead {
        line-height: 1.8;
    }
}

.ds-text-lead--size-m {
    font-size: 1.75rem;
    line-height: 1.5;
}

.ds-text-lead--size-ms {
    font-size: 1.25rem;
    line-height: 1.5;
}

@media screen and (max-width: 767px) {
    .ds-text-lead--size-ms {
        font-size: 1.13rem;
    }
}


.sec_btn-box .inner {
    padding-top: 5rem;
    padding-bottom: 0;
}

@media screen and (max-width: 767px) {
    .sec_btn-box .inner {
        padding-top: 4rem;
    }
}


@media screen and (min-width: 768px) {
    .ds-table--stripe th {
        width: 12%;
    }

    .ds-table--stripe .w-10 {
        width: 10%;
    }

    .ds-table--stripe .w-70 {
        width: 70%;
    }
}

@media screen and (max-width: 767px) {
    .ds-table--stripe .w-10 {
        padding-left: 0;
        padding-right: 0;
    }

    .ds-table--stripe .w-70 {
        width: 70%;
    }
}


.wp-block-table.is-style-stripes {
    border-bottom: 1px solid #ccc;
}

.wp-block-table.is-style-stripes tr:nth-child(odd) {
    background-color: var(--color-gray-1);
}

.wp-block-table.is-style-stripes th,
.wp-block-table.is-style-stripes td {
    border: 0;
    font-weight: normal;
    vertical-align: top;
}

.wp-block-table.is-style-stripes th {
    background: none;
}

.wp-block-table.is-style-stripes td {
    padding: .4rem 1.25rem .7rem;
}

@media screen and (min-width: 768px) {
    .wp-block-table.is-style-stripes tr td:first-child {
        width: 12%;
    }

    .wp-block-table.is-style-stripes tr td:nth-child(2) {
        width: 10%;
    }

    .wp-block-table.is-style-stripes tr td:last-child() {
        width: 70%;
    }
}


@media screen and (max-width: 767px) {

    .wp-block-table.is-style-stripes th,
    .wp-block-table.is-style-stripes td {
        font-size: calc(12px + .75vw);
    }

    .wp-block-table.is-style-stripes th {
        padding: .5rem .6rem .6rem;
    }

    .wp-block-table.is-style-stripes td {
        padding: .5rem .6rem .6rem;
    }

}


@media screen and (max-width: 767px) {
    .wp-block-table.is-style-stripes tr td:nth-child(2) {
        padding-left: 0;
        padding-right: 0;
    }

    .wp-block-table.is-style-stripes tr td:last-child() {
        width: 70%;
    }
}

.button-icn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    min-width: 208px;
    min-height: 208px;
    text-align: center;
    color: var(--color-primary);
    font-size: 1.13rem;
    font-weight: 700;
    line-height: 1.75;
    border-radius: 10px;
    border: 1px solid var(--color-primary);
}

.button-icn i {
    font-size: 3rem;
}

.button-icn span {
    margin-top: 1.25rem;
}

.button-icn.rounded {
    border-radius: 50%;
}

.button-icn--size-m {
    min-width: 100%;
    min-height: 214px;
    line-height: 1.5;
}

@media screen and (max-width: 767px) {
    .button-icn {
        border: 0;
        min-width: inherit;
        min-height: auto;
    }

    .button-icn span {
        margin-top: .6rem;
    }
}

.step-tit {
    display: flex;
    align-items: center;
    padding-bottom: .1rem;
    color: var(--color-primary);
    font-size: 1.13rem;
    font-weight: 700;
}

.num-icn {
    margin-right: 1rem;
    padding-bottom: .1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 56px;
    min-height: 56px;
    border: 1px solid var(--color-primary);
    border-radius: 50%;
    text-align: center;
    color: var(--color-primary);
    font-size: 1.375rem;
}

@media screen and (min-width: 768px) {
    .step-desc {
        padding-left: 72px;
    }

    .step-desc > *:first-child {
        margin-top: .5rem;
    }
}


.card {
    height: 100%;
    background-color: var(--color-gray-1);
}

.bg-gray-1 .card {
    background-color: var(--color-white);
}

.card a:not(.button):not(.button-outline) {
    text-decoration: none;
    color: var(--color-gray);
}

.over-scale .card__img {
    overflow: hidden;
}

.card__body {
    box-sizing: border-box;
    padding: 1rem 1rem 1.1rem;
}

.card__body--size-m {
    padding: 1rem 2rem 2.2rem;
}

.card__text {
    margin-top: .8rem;
    font-size: .95em;
    line-height: 1.6;
}

.card__title + .card__link {
    margin-top: 1rem;
}

.card__link span {
    color: var(--color-primary);
    text-decoration: underline;
}

.card__text + .card__text {
    margin-top: 1.5rem;
}

.card__text + .card__btn {
    margin-top: 1.5rem;
}

@media screen and (min-width: 768px) {
    .card--ab {
        display: flex;
        flex-direction: column;
        flex-grow: 1;
    }

    .card--ab .card__body {
        padding-bottom: 1.7rem;
    }

    .card--ab .card__btn {
        margin-top: auto;
        padding: 0 2rem 2rem;
    }
}

@media screen and (max-width: 767px) {
    .card__body--size-m {
        padding: .9rem 1rem 2rem;
    }

    .card--ab .card__btn {
        padding: 0 1rem 2rem;
    }
}


.card__yt iframe,
.col__yt iframe {
    width: 100%;
    height: 258px;
}



@media screen and (max-width: 767px) {
    .card__yt iframe {
        height: 51.5vw;
    }

    .card__yt + .card__body .card__title {
        margin-bottom: .4rem;
    }
}

.bd-box {
    padding: 1.9rem 0 2rem;
    border: 1px solid var(--color-primary);
    border-radius: 10px;
    text-decoration: none;
}

.bd-box .btn-wrap {
    margin-top: 2rem;
}

.bd-box + .bd-box {
    margin-top: 2rem;
}

@media screen and (max-width: 767px) {
    .bd-box {
        padding-left: 1rem;
        padding-right: 1rem;
        border-radius: 5px;
    }
}

.swiper + .btn-wrap--size-m {
    margin-top: 5rem;

}

@media screen and (max-width: 767px) {
    .swiper + .btn-wrap--size-m {
        margin-top: 2rem;

    }
}


.popup,
a.popup-img {
    display: block;
    position: relative;
}

.popup::after,
a.popup-img::after {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    content: '\f00e';
    position: absolute;
    right: 0;
    bottom: 0;
    width: 48px;
    height: 48px;
    background-color: rgba(0, 0, 0, 0.5);
    text-align: center;
    color: var(--color-white);
    font-size: 1.5rem;
}

.popup-content {
    display: none;
}

#cboxLoadedContent {
    display: flex;
    align-items: center;
}

.popup-content__in {
    width: 100%;
    overflow-x: auto;
    /* Enable horizontal scrolling */
    white-space: nowrap;
}

.popup-content__in img {
    max-width: 690px;
}

.popup-content__h100 {
    height: calc(100vh - 180px);
}

#entry_visual {
    margin-top: 2.5rem;
}

#entry_visual .mov iframe{
    width: 100%;
}

#entry_visual .mov+.is-style-heading4 {
    margin-top: .5rem;
}

.entry-title {
    font-size: 1.375rem;
    font-weight: 700;
}

.entry-update {
    margin-top: 2rem;
    color: #888;
}

@media screen and (max-width: 767px) {
    .entry-title + .ds-box {
        margin-top: .9rem;
    }

    .entry-title + .ds-box .is-style-ds-text {
        margin: .9rem 0;
    }
    
    #entry_visual .mov+.entry-title {
        padding: 0 1rem;
        font-size: 1.13rem;
    }
    
    #entry_visual .mov iframe {
        height: 58vw;
    }
}

.is-style-title-ud + .is-style-ds-text {
    margin-top: .9rem;
}


@media screen and (max-width: 767px) {
    #entry_visual {
        margin-top: 2rem;
    }

    #entry_visual .inner {
        padding: 0;
    }

    .entry_visual__body {
        padding: 1rem 1rem 1.8rem;
    }

}

.single_entry .entry_content {
    margin: 0 auto;
    max-width: 790px;
}

.entry_content_wrap .inner--size-s {
    padding-top: 2rem;
}

@media screen and (max-width: 767px) {
    .entry_content_wrap .inner--size-s {
        padding-top: 2.5rem;
    }

    .single_entry .entry_content {
        max-width: 100%;
    }
}

.article_entry .ds-box:not(.ds-box--size-s):not(.ds-box--size-m-s):not(.ds-box--size-m):not(.ds-box--size-ml):not(.ds-box--size-l):not(.ds-box--size-xl) {
    margin-top: 3rem;
}

.article_entry .is-style-ds-text + .is-style-ds-text {
    margin-top: 1rem;
}

.single_entry .wp-block-image {
    margin-top: 3rem;
}

.single_entry .wp-block-list,
.single_entry .ds-list {
    margin-left: .3rem;
    list-style: inside;
}

.is-style-heading4.has-large-m-font-size,
.is-style-heading4 {
    margin-top: 3.5rem;
}

.entry_content .ds-box + .is-style-heading4,
.entry_content .ds-box + .is-style-heading4.has-large-m-font-size {
    margin-top: 0;
}

.is-style-heading4 + .wp-block-image {
    margin-top: 1.25rem;
}

.single_entry .is-style-title-ud {
    margin-top: 3rem;
}


@media screen and (max-width: 767px) {
    .article_entry .ds-box:not(.ds-box--size-s):not(.ds-box--size-m-s):not(.ds-box--size-m):not(.ds-box--size-ml):not(.ds-box--size-l):not(.ds-box--size-xl) {
        margin-top: 1.88rem;
    }

    .article_entry .post-navigation > * {
        padding: 0 .8rem .2rem;
    }

    .single_entry .wp-block-image,
    .single_entry .is-style-title-ud {
        margin-top: 1.88rem;
    }

    .is-style-heading4.has-large-m-font-size,
    .is-style-heading4 {
        margin-top: 2.5rem;
    }


}

/*
iframe {
    width: 100%;
    height: 23.5vw;
}

@media screen and (max-width: 767px) {
    iframe {
        width: 100%;
        height: 226.41px;
    }
}
*/

.qa_box {
    margin: 0;
}

.qa_box + .is-style-heading-bd {
    margin-top: 5rem;
}

.qa_row {
    border-bottom: 1px solid #ccc;
}

.qa_row .question,
.sg-question,
.qa_row .answer-wrap,
.sg-answer-wrap {
    position: relative;
    padding: 0 4rem 1rem 4rem;
}

.qa_row .question,
.sg-question {
    display: flex;
    align-items: center;
    min-height: 80px;
    cursor: pointer;
    padding: 1rem 3rem 1rem 4rem;
    font-size: 1rem;
}

.sg-question {
    cursor: default;
}

.qa_row .question::before,
.sg-question:before,
.qa_row .answer::before,
.sg-answer::before {
    position: absolute;
    top: 1.1rem;
    left: 0;
    padding-bottom: .1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    margin-right: 1.5rem;
    border-radius: 50%;
    text-align: center;
    font-size: 1.25rem;
    font-weight: 700;
}

.qa_row .question::before,
.sg-question:before {
    top: 50%;
    transform: translateY(-50%);
    content: 'Q';
    border: 1px solid var(--color-primary);
    background-color: var(--color-primary);
    color: var(--color-white);
}

.qa_row .answer-wrap {
    display: none;
    padding-left: 0;
    /* border-top: 1px dashed #ccc; */
}

.sg-answer-wrap {
    margin-top: 1rem;
    padding-top: 2.25rem;
    border-top: 1px solid #666;
    padding-left: 0;
}

.qa_row .answer,
.sg-answer {
    display: flex;
}

.qa_row .answer::before,
.sg-answer::before {
    position: relative;
    top: 0;
    content: 'A';
    border: 1px solid var(--color-primary);
    background-color: var(--color-white);
    color: var(--color-primary);
}

.qa_row .question::after {
    position: absolute;
    top: 50%;
    right: 1.25rem;
    content: '\f078';
    color: var(--color-primary);
    font-size: 1.75rem;
    transform: translateY(-50%);
    transition: all .3s;
}

.qa_row .question.opened::after {
    transform: translateY(-50%) rotate(180deg);
}

@media screen and (max-width: 767px) {
    .qa_box + .is-style-heading-bd {
        margin: 3.2rem 0 0.3rem;
    }

    .qa_row .question,.sg-question {
        padding: 1.1rem 2.2rem 1rem 4.1rem;
        align-items: flex-start;
    }

    .qa_row .question::after {
        right: 0;
    }

    .qa_row .answer-wrap {
        padding: 0 0 .9rem 0;
    }
    
    .sg-answer-wrap {
        margin-top: .8rem;
        padding: 1.75rem 0 .9rem;
    }
    
    .sg-question {
        padding-right: 0
    }
    
}

.pagination {
    margin-top: 5rem;
    text-align: center;
    clear: both;
}

.pagination a,
.pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: .1rem .25rem;
    padding: 0 1.05rem .2rem;
    min-width: 44px;
    min-height: 44px;
    border: 1px solid var(--color-primary);
    border-radius: 4px;
    background-color: var(--color-white);
    text-decoration: none;
    color: var(--color-primary);
    line-height: 1;
    -webkit-transition: background-color .3s;
    transition: background-color .3s;
}

.pagination .current {
    border: 1px solid var(--color-primary);
    background-color: var(--color-primary);
    color: var(--color-white);
}

.pagination > *:first-child {
    margin-left: 0;
}

.pagination > *:last-child {
    margin-right: 0;
}


@media(hover: hover) {
    .pagination a:hover {
        border: 1px solid var(--color-primary);
        background-color: var(--color-primary);
        color: var(--color-white);
    }
}

@media screen and (max-width: 767px) {
    .pagination {
        display: flex;
        justify-content: center;
        margin-top: 4rem;
    }

    .pagination a,
    .pagination span {
        margin: .1rem .5vw;
        padding: 0 4.2vw;
    }
}


.post-navigation {
    margin-top: 5rem;
    display: flex;
    justify-content: center;
    gap: 0 3rem;

}

.post-navigation > * {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.6rem .2rem;
    min-width: 44px;
    min-height: 44px;
    border: 1px solid var(--color-primary);
    border-radius: 4px;
    background-color: var(--color-white);
    text-decoration: none;
    color: var(--color-primary);
    line-height: 1;
    -webkit-transition: background-color .3s;
    transition: background-color .3s;
}

@media(hover: hover) {
    .post-navigation a:hover {
        border: 1px solid var(--color-primary);
        background-color: var(--color-primary);
        color: var(--color-white);
    }
}

@media screen and (max-width: 767px) {
    .post-navigation {
        margin: 4rem 0 1.6rem;
        gap: 0 1.5rem;
    }

}



.news_list {
    margin: 2.9rem 0 4rem;
}

.news_row {
    display: flex;
    justify-content: space-between;
    background-color: var(--color-gray-1);
}

.news_row + .news_row {
    margin-top: .8rem;
}

.news_row > * {
    width: 100%;
}

.news_row .news_img {
    max-width: 224px;
}

.news_row .news_img img {
    width: 100%;
    height: 100%;
}

.news_row .news_copy {
    width: 100%;
    padding: 2rem;
    display: flex;
    flex-wrap: wrap;
}

.news_row .news_img + ..news_copy {

    max-width: calc(100% - 224px);
}

.news_row .news_copy .btn {
    margin-bottom: 1.1rem;
    padding-right: .94rem;
}

.news_row .news_copy .button--size-xs {
    padding: 0 .6rem .1rem;
    min-width: 112px;
    min-height: 23px;
    font-size: .88rem;
    border-radius: 4px;
}

.news_row .news_copy .date {
    margin-bottom: 1.1rem;
    padding: 0 .94rem;
    font-size: .88rem;
    line-height: 1.7;
}

.news_row .news_copy .tit {
    display: block;
    width: 100%;
}

.news_row .news_copy .tit a {
    text-decoration: none;
    color: #333;
    font-size: 1rem;
}

.news_row .news_copy .tit a:hover {
    color: var(--color-primary);
}

@media screen and (max-width: 767px) {
    .news_list {
        margin: 2.1rem 0 2.2rem;
    }

    .news_row {
        margin-top: 2.1rem;
        padding: 1rem 1rem 1.3rem;
        display: block;
    }

    .news_row > * {
        width: 100%;
    }

    .news_row + .news_row {
        margin-top: .7rem;
    }

    .news_row .news_img {
        margin-bottom: 1rem;
        max-width: 100%;
    }

    .news_row .news_img img {
        width: 100%;
        height: 47vw;
        object-fit: cover;
    }

    .news_row .news_copy {
        max-width: 100%;
        padding: 0;
    }

}




.single-content--news .entry_header {
    margin-bottom: 4rem;
}

.single-content--news .entry-title {
    color: var(--color-primary);
    font-size: 2rem;
    font-weight: 700;
}

@media screen and (max-width: 767px) {
    .single-content--news .entry-title {
        font-size: 1.75rem;
    }

    .single-content--news .entry_header {
        margin-bottom: 3rem;
    }
}



@media screen and (min-width: 768px) {
    #main {
        width: calc(73.8% - 1.5rem);
        margin-right: 3rem;
    }
}


.single_entry .entry_content h3 code {
    font-family: inherit;
    font-size: 1rem;
    font-weight: normal;
}


.single_entry .entry_content p {
    margin-bottom: 1.5rem;
}

.single_entry .entry_content p:not(.is-style-ds-text-lead,.ds-text-lead--size-m,.ds-text-lead--size-ms,.is-style-title1,.is-style-title2,.is-style-title3,.title4,.title6,.is-style-title-ud,.is-style-heading1,.is-style-heading3,.is-style-heading4) {
    line-height: 1.75;
}

.single_entry .entry_content h6:not(.is-style-title1,.is-style-title2,.is-style-title3,.title4,.title6,.is-style-title-ud,.is-style-heading1,.is-style-heading3,.is-style-heading4),
.single_entry .entry_content h5:not(.is-style-title1,.is-style-title2,.is-style-title3,.title4,.title6,.is-style-title-ud,.is-style-heading1,.is-style-heading3,.is-style-heading4),
.single_entry .entry_content h4:not(.is-style-title1,.is-style-title2,.is-style-title3,.title4,.title6,.is-style-title-ud,.is-style-heading1,.is-style-heading3,.is-style-heading4),
.single_entry .entry_content h3:not(.is-style-title1,.is-style-title2,.is-style-title3,.title4,.title6,.is-style-title-ud,.is-style-heading1,.is-style-heading3,.is-style-heading4),
.single_entry .entry_content h2:not(.is-style-title1,.is-style-title2,.is-style-title3,.title4,.title6,.is-style-title-ud,.is-style-heading1,.is-style-heading3,.is-style-heading4),
.single_entry .entry_content h1:not(.is-style-title1,.is-style-title2,.is-style-title3,.title4,.title6,.is-style-title-ud,.is-style-heading1,.is-style-heading3,.is-style-heading4) {
    margin-top: 3rem;
    margin-bottom: 1rem;
}

.single_entry .entry_content h3:not(.is-style-title1,.is-style-title2,.is-style-title3,.title4,.title6,.is-style-title-ud,.is-style-heading1,.is-style-heading3,.is-style-heading4),
.single_entry .entry_content h5:not(.is-style-title1,.is-style-title2,.is-style-title3,.title4,.title6,.is-style-title-ud,.is-style-heading1,.is-style-heading3,.is-style-heading4) {
    text-decoration: underline;
}

.single-content--news .entry-title {
    font-size: 1.5rem;
}

.article_entry .entry_content h6:not(.is-style-title1,.is-style-title2,.is-style-title3,.title4,.title6,.is-style-title-ud,.is-style-heading1,.is-style-heading3,.is-style-heading4),
.article_entry .entry_content h5:not(.is-style-title1,.is-style-title2,.is-style-title3,.title4,.title6,.is-style-title-ud,.is-style-heading1,.is-style-heading3,.is-style-heading4),
.article_entry .entry_content h4:not(.is-style-title1,.is-style-title2,.is-style-title3,.title4,.title6,.is-style-title-ud,.is-style-heading1,.is-style-heading3,.is-style-heading4),
.article_entry .entry_content h3:not(.is-style-title1,.is-style-title2,.is-style-title3,.title4,.title6,.is-style-title-ud,.is-style-heading1,.is-style-heading3,.is-style-heading4),
.article_entry .entry_content h2:not(.is-style-title1,.is-style-title2,.is-style-title3,.title4,.title6,.is-style-title-ud,.is-style-heading1,.is-style-heading3,.is-style-heading4),
.article_entry .entry_content h1:not(.is-style-title1,.is-style-title2,.is-style-title3,.title4,.title6,.is-style-title-ud,.is-style-heading1,.is-style-heading3,.is-style-heading4),
.voice_entry .entry_content h6:not(.is-style-title1,.is-style-title2,.is-style-title3,.title4,.title6,.is-style-title-ud,.is-style-heading1,.is-style-heading3,.is-style-heading4),
.voice_entry .entry_content h5:not(.is-style-title1,.is-style-title2,.is-style-title3,.title4,.title6,.is-style-title-ud,.is-style-heading1,.is-style-heading3,.is-style-heading4),
.voice_entry .entry_content h4:not(.is-style-title1,.is-style-title2,.is-style-title3,.title4,.title6,.is-style-title-ud,.is-style-heading1,.is-style-heading3,.is-style-heading4),
.voice_entry .entry_content h3:not(.is-style-title1,.is-style-title2,.is-style-title3,.title4,.title6,.is-style-title-ud,.is-style-heading1,.is-style-heading3,.is-style-heading4),
.voice_entry .entry_content h2:not(.is-style-title1,.is-style-title2,.is-style-title3,.title4,.title6,.is-style-title-ud,.is-style-heading1,.is-style-heading3,.is-style-heading4),
.voice_entry .entry_content h1:not(.is-style-title1,.is-style-title2,.is-style-title3,.title4,.title6,.is-style-title-ud,.is-style-heading1,.is-style-heading3,.is-style-heading4) {
    color: var(--color-primary);
}

.voice_entry .entry_content h2:not(.is-style-title1,.is-style-title2,.is-style-title3,.title4,.title6,.is-style-title-ud,.is-style-heading1,.is-style-heading3,.is-style-heading4) {
    font-size: 1.3rem
}

.article_entry .entry_content h2:not(.is-style-title1,.is-style-title2,.is-style-title3,.title4,.title6,.is-style-title-ud,.is-style-heading1,.is-style-heading3,.is-style-heading4) {
    font-size: 1.5rem
}



@media screen and (max-width: 767px) {

    .single_entry .entry_content h6,
    .single_entry .entry_content h5,
    .single_entry .entry_content h4,
    .single_entry .entry_content h3,
    .single_entry .entry_content h2,
    .single_entry .entry_content h1 {
        margin-top: 2.5rem;
    }
}

.single_entry .entry_content ul {
    margin-bottom: 2rem;
}

.single_entry .entry_content ol {
    list-style-type: decimal;
    margin-bottom: 2rem;
}

.single_entry .entry_content .wp-block-embed {
    margin: 2rem 0 1em;
}


.single_entry .entry_content .wp-block-columns {
    margin-top: 2rem;
}


/*--------------------------------------------------------------
    ### sidebar
--------------------------------------------------------------*/

#side_bar {
    width: 100%;
    margin-top: 4rem;
}

@media screen and (min-width: 768px) {
    #side_bar {
        margin-top: 0;
        width: calc(26.2% - 1.5rem);
    }
}


#side_bar .section {
    margin-bottom: 4rem;
}

#side_bar .section:last-child {
    margin-bottom: 0;
}

#side_bar .side_title {
    margin-bottom: 1rem;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid #666;
    font-size: 1.13rem;
    line-height: 1.6;
}

#side_bar ul li {
    margin-bottom: 1rem;
}

#side_bar ul li a {
    color: var(--color-gray);
    text-decoration: none;
}

@media(hover: hover) {
    #side_bar ul li a:hover {
        color: var(--color-primary);
    }
}


/*--------------------------------------------------------------
    ### search
--------------------------------------------------------------*/
.search-form {
    margin-top: 1.5rem;
    font-size: 0;
}

.search-form label {
    vertical-align: top;
}

.search-form .screen-reader-text {
    display: none;
}

.search-form input[type=search] {
    padding-left: 0.5rem;
    width: 250px;
    height: 47px;
    border: 1px solid #ccc;
    border-radius: 0;
    color: var(--color-gray);
    font-family: "Noto Sans JP", sans-serif;
    font-size: 0.9rem;
    -moz-appearance: none;
    appearance: none;
    -webkit-appearance: none;
}

.search-form input[type=search]:focus {
    border-radius: 0;
    outline: none;
}

.search-form input[type=search]::-webkit-search-cancel-button {
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    background: url(../img/ico_cancel.png) no-repeat;
    background-size: 20px 100%;
}

.search-form .search-submit {
    position: relative;
    top: 0;
    margin: 0;
    padding: 0.7rem 1rem;
    height: 47px;
    border: 0;
    background: var(--color-primary);
    color: #fff;
    font-size: 1.1rem;
    outline: none;
    cursor: pointer;
    -moz-appearance: none;
    appearance: none;
    -webkit-appearance: none;
}

.search_result .entry_header + .entry_content {
    margin-top: 1.5rem;
}

.search_result .entry_header a {
    font-size: 1.2rem;
}

/* ------------------------------------------------------------
*
#footer_area
*
------------------------------------------------------------ */

.grid_ab_col a {
    position: relative;
    background-color: #000;
}

.grid_ab_col img {
    opacity: .6;
}

.grid_ab_col .name {
    position: absolute;
    top: 50%;
    width: 100%;
    text-align: center;
    color: #fff;
    font-size: 1.3rem;
    font-weight: bold;
    transform: translateY(-50%);
}



#footer_area {
    margin-top: 4rem;
}

/* #footer {
    background-color: #e8e9db;
} */

#footer .ft_wrp {
    padding: 2rem 4rem 1.8rem;
}

#footer .ft_nav_wrp {
    background-color: rgba(232, 233, 219, .39);
}

#footer .ft_nav {
    display: flex;
    flex-wrap: wrap;
}

#footer .ft_logo a:hover img {
    opacity: 1;
}

#footer ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

#footer .ft_nav .ft_nav__col {
    width: 20%;
}


#footer .ft_nav .ft_sns_col .icon {
    float: left;
    padding: 0 .6rem;
}

#footer .ft_nav .ft_sns_col .fa-youtube {
    color: #e33123;
}

#footer .ft_nav .ft_sns_col .fa-xl {
    font-size: 2rem;
}


#footer .ft_nav a {
    display: block;
    text-decoration: none;
    color: #333;
}

#footer .ft_nav a:hover {
    opacity: .7;
}

.ft_nav .ft_nav__col > a {
    margin-bottom: 1.1rem;
    font-weight: 700;
}

.ft_nav .ft_nav__col ul li {
    margin: .3rem 0;
    font-size: .9rem;
}

#footer .ft_access_wrp {
    background-color: #fff;
}

.ft_access {
    display: flex;
    margin-top: 1rem;
    gap: 2.5rem;
    align-items: flex-end;
}

.ft_access .address {
    font-size: .9rem;
    color: #555;
}

#footer .ft_btm {
    background-color: #e8e9db;
    font-size: .8rem;
    padding: 1.9rem 4rem 4.5rem;
}


#footer .ft_btm .inner-wide {
    display: flex;
    justify-content: space-between;
}

#footer .ft_btm a {
    text-decoration: none;
    color: #333;
}

#footer .ft_btm_left {
    display: flex;
    gap: 1.5rem;
}

#footer .ft_btm a:hover {
    opacity: .7;
}

@media screen and (min-width: 768px) and (max-width: 1040px) {

    #footer .ft_wrp,
    #footer .ft_btm {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

@media screen and (max-width: 767px) {
    #footer_area {
        margin-top: 2.625rem;
    }

    #footer .ft_wrp {
        padding: 2rem 1rem 1.5rem;
    }

    #footer .ft_nav {
        padding-bottom: .7rem;
        flex-direction: column;
    }

    #footer .ft_nav .ft_nav__col {
        margin-top: 1.5rem;
        width: 100%;
    }

    #footer .ft_nav .ft_nav__col:first-child {
        margin-top: .6rem;
    }

    #footer .ft_access_wrp {
        padding-bottom: 2.5rem;
    }

    #footer .ft_logo {
        margin-top: .5rem;
    }

    .ft_access {
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
    }

    #footer .ft_btm {
        padding: 1.5rem 1rem 4rem;
    }

    #footer .ft_btm .inner-wide {
        flex-direction: column;
    }

    #footer .ft_btm .copyright {
        margin-top: 1rem;
    }


    #footer_area .over-scale img {
        height: 11rem;
    }

    #footer .ft_nav .ft_sns_col .icon:first-child {
        padding-left: 0;
    }
}


/* ------------------------------------------------------------
*
#caution_area
*
------------------------------------------------------------ */

.caution_area {
    color: #666;
    font-size: 0.83rem;
    line-height: 1.7;
}

.caution_area ul {
    padding: 0;
    list-style: none;
}

.caution_area li {
    text-indent: -1.5rem;
    padding-left: 1.5rem;
}


/* ------------------------------------------------------------
*
/participant/application/
.sousyun_cp
*
------------------------------------------------------------ */

.sousyun_cp {
    margin: 40px 0;
    background-color: #f3e1eb;
}

.sousyun_cp .t_price_b {
    font-size: 1.35rem;
    font-weight: bold;
}

.sousyun_cp .chance {
    width: 90%;
    margin: 1.5rem auto;
    padding: 1.5rem 0;
    text-align: center;
    border: 1px solid #333;
    border-radius: 1rem;
}

.sousyun_cp .chance h4 {
    font-size: 1.35rem;
}

.sousyun_cp .chance p {
    margin-top: 1.5rem;
}
