* {
    font-size: 16px;
    font-weight: 500;
    font-family: 'Noto Sans JP', sans-serif;
    box-sizing: border-box;
    letter-spacing: 0.05em;
}

img {
    width: 100%;
}

/* common */
p {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0.1em;
}

.fadeUpC, .fadeinC {
    opacity: 0;
}

.fadeUp {
    animation-name: fadeUp;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}

.fadeIn {
    animation-name: fadeIn;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}

.mB20 {
    margin-bottom: 20px
}

.mB30 {
    margin-bottom: 30px
}

.mB40 {
    margin-bottom: 40px
}


@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(100px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.flx_end {
    display: flex;
    justify-content: flex-end;
}

.flx_start {
    display: flex;
    justify-content: flex-start;
}

.flx_spBtw {
    display: flex;
    justify-content: space-between;
}

.link_btn_red {
    display: inline-block;
    min-width: 234px;
    filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.3));
}

.link_btn_white {
    display: inline-block;
    min-width: 234px;
}

.link_btn_red a {
    display: block;
    padding: 12px 16px;
    background: #0066cc;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.075em;
    color: #FFFFFF;
    border: 1px solid #0066cc;
    position: relative;
    transition: .2s;
    border-radius: 50em;
}

.link_btn_red a:hover {
    border: 1px solid #0066cc;
    background: #FFFFFF;
    color: #0066cc;
}

.link_btn_white a {
    display: block;
    padding: 12px 16px;
    border: 1px solid #000000;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.075em;
    position: relative;
    transition: .2s;
}

.top_c_sec .link_btn_red, .top_lead .link_btn_red {
    margin-top: 40px;
}

.top_lead .link_btn_red {
    display: block;
    width: 234px;
    margin-right: auto;
    margin-left: auto;
}

.link_btn_red a::after {
    content: "";
    display: block;
    width: 17px;
    height: 5px;
    margin-top: -3px;
    background: url("../img/common/link_arrow_white.svg");
    position: absolute;
    top: 50%;
    right: 10px;
}

.link_btn_white a::after {
    content: "";
    display: block;
    width: 17px;
    height: 5px;
    margin-top: -3px;
    background: url("../img/common/link_arrow_black.svg");
    position: absolute;
    top: 50%;
    right: 10px;
}

.grid_3_col {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 15px;
}

/* nav */
header {
    width: 100%;
    position: fixed;
    z-index: 99;
    top: 0;
}

#nav {
    width: 100%;
    padding-top: 32px;
    /* padding-bottom: 26px; */
    /* border-bottom: none; */
    border-bottom: 2px solid #0066cc;
    transition: .3s;
}

#nav.on {
    background: #FFFFFF;
    border-bottom: 2px solid #0066cc;
}

/* .stL,.stT {
    fill:#FFFFFF;
    transition: .3s;
} */
#nav .stL {
    fill: #0066cc;
}

#nav .stT {
    fill: #000000;
}

/* #nav.on .stL {
    fill: #0066cc;
}
#nav.on .stT {
    fill: #000000;
} */
.nav_wrap {
    /* display: flex !important; */
    justify-content: space-between;
    align-items: center;
    width: 1200px;
    margin: 0 auto;
}

.h_logo {
    width: 208px;
}

.nav_list {
    display: flex;
    justify-content: center;
}

.nav_list li {
    position: relative;
    line-height: 32px;
}

.nav_list li::after {
    content: "";
    display: block;
    width: 0;
    height: 2px;
    background: #0066cc;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: .2s;
}

.nav_list li:hover::after {
    width: 100%;
}

.nav_list li:not(:last-child) {
    margin-right: 30px;
}

.nav_list li a {
    display: block;
    padding-bottom: 8px;
    font-size: 15px;
    font-weight: 700;
    transition: .2s;
}

.nav_list li:hover a {
    color: #0066cc;
}

/* section */
/* #index section {
    padding: 72px 0;
} */

#index section:not(:last-child) {}

.top_c_sec {
    position: relative;
}

.wrap_960 {
    max-width: 960px;
    margin: 0 auto;
}

.wrap_840 {
    max-width: 840px;
    margin: 0 auto;
}

.wrap_720 {
    max-width: 720px;
    margin: 0 auto;
}

.wrap_960_flex {
    max-width: 960px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.wrap_480 {
    max-width: 480px;
    margin: 0;
}


/* TOP */
.top_solution_list {
    padding: 30px 0;
    background: #0066cc;
}

.top_solution_list ul {
    display: flex;
    justify-content: center;
    width: 960px;
    margin: 0 auto;
}

.top_solution_list ul li {
    width: 128px;
}

.top_solution_list ul li a {
    display: block;
    padding: 12px 10px;
    background: #FFFFFF;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.3));
    transition: .2s;
}

.top_solution_list ul li a:hover {
    opacity: .6;
}

/* top lead */

#hero {
    /* margin-top: 92px; */
    margin-top: 121px;
    animation: heroMove 3s ease .4s forwards;
    opacity: 0;
}

@keyframes heroMove {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

#index section.top_lead {
    padding-bottom: 100px;
}

.top_lead h2 {
    margin-bottom: 16px;
    font-size: 40px;
    font-weight: 700;
    text-align: center;
    line-height: 1.5;
}

.top_lead p {
    min-width: 506px;
    width: 60%;
    margin: 0 auto;
    font-size: 18px;
    line-height: 1.8;
}

.top_c_sec h2 {
    margin-bottom: 34px;
    font-size: 70px;
    font-weight: 700;
}

.top_c_sec h2 span {
    display: block;
    /* margin-top: 8px; */
    font-size: 15px;
    font-weight: 700;
    color: #0066cc;
}

.top_c_sec h3 {
    margin-bottom: 16px;
    font-size: 27px;
    font-weight: 500;
    line-height: 1.66;
}

/* TOP Strength */
#index section.top_strength {
    /* padding: 46px 0; */
    /* padding: 0 0; */
}

.top_strength.top_c_sec {
    background: #ebf4ff;
}

.top_strength_wrap, .top_seminar_wrap {
    max-width: 1200px;
    /* padding: 46px 0; */
    margin: 0 auto;
    position: relative;
}

.top_c_txt {
    width: 420px;
}

.top_strength .top_c_img {
    width: 50%;
    max-width: 600px;
    position: absolute;
    left: 0;
    /* top: -50px; */
    filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.3));
}

/* business */
#index section.top_business .top_c_img {
    width: 500px;
    margin-top: 24px;
}


/* top solution */
#index section.top_solution {
    padding: 50px 0;
    background: url("../img/top/top_solution.jpg");
    background-size: cover;
}

.top_solution .c_box {
    padding: 36px 82px;
    background: rgba(255, 255, 255, .9);
}

.top_c_hdr {
    margin-right: 74px;
}

#index section.top_solution .link_btn_red {
    margin-top: 26px;
}

/* top column */
#index section.top_column {
    padding: 80px 0;
    background: #FFFFFF;
}

.top_c_column ul li {
    padding: 20px 0;
    border-top: 1px solid #d4d4d4;
}

.top_c_column ul li:last-child {
    border-bottom: 1px solid #d4d4d4;
}

.top_c_column_info {
    align-items: center;
    margin-bottom: 16px;
}

.top_c_column_date {
    margin-right: 26px;
    font-size: 15px;
}

.top_c_column_cat a {
    display: inline-block;
    min-width: 150px;
    margin-right: 30px;
}

.top_c_column_cat a {
    display: block;
    padding: 10px;
    background: #0066cc;
    text-align: center;
    font-size: 14px;
    color: #FFFFFF;
}

.top_c_column_title {
    margin-bottom: 16px;
    font-size: 18px;
    font-weight: 700;
}

.top_c_column_info .top_c_column_title {
    margin-bottom: 0;
}

.top_c_column_lead {
    font-size: 18px;
}

.single_sec {
    padding: 72px 0 130px;
}

.single_info {
    margin-bottom: 24px;
}

.single_date {
    margin-bottom: 12px;
}

.single_info .single_cat {
    margin-bottom: 8px;
}

.single_ured {
    margin-bottom: 24px;
    font-size: 27px;
    font-weight: 700;
    padding-bottom: 12px;
    position: relative;
}

.single_ured::after {
    content: "";
    display: block;
    width: 100px;
    height: 2px;
    background: #0066cc;
    position: absolute;
    left: 0;
    bottom: 0;
}

.single_content {
    overflow: hidden;
    word-break: break-word;
    text-align: justify;
}

.single_info li.single_cat a {
    display: inline-block;
    min-width: 150px;
    margin-right: 30px;
    padding: 10px;
    background: #0066cc;
    text-align: center;
    font-size: 14px;
    color: #FFFFFF;
}

/* 下層トピックス */
.all_c_column ul li {
    padding: 20px 0;
    border-top: 1px solid #d4d4d4;
}

.all_c_column ul li:last-child {
    border-bottom: 1px solid #d4d4d4;
}

.all_c_column_info {
    align-items: center;
    margin-bottom: 16px;
}

.all_c_column_date {
    margin-right: 26px;
    font-size: 15px;
}

.all_c_column_cat a {
    display: inline-block;
    min-width: 150px;
    margin-right: 30px;
}

.all_c_column_cat a {
    display: block;
    padding: 10px;
    background: #0066cc;
    text-align: center;
    font-size: 12px;
    color: #FFFFFF;
}

.all_c_column_title {
    margin-bottom: 16px;
    font-size: 19px;
    font-weight: 700;
}

.all_c_column_info .top_c_column_title {
    margin-bottom: 0;
}

.all_c_column_lead {
    font-size: 18px;
}


/* top seminar */
#index section.top_seminar {
    margin-bottom: 80px;
    background: linear-gradient(90deg, #FFFFFF 0%, #FFFFFF 10%, #ebf4ff 10%, #ebf4ff 100%);
}

#index section.top_seminar .top_c_img {
    width: 50%;
    max-width: 600px;
    position: absolute;
    left: 0;
    filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.3));
}

/* top recruit */
#index section.top_recruit {
    padding: 0 0;
    background: url("../img/top/top_recruit.jpg");
    background-size: cover;
}

.top_recruit .top_c_txt {
    padding: 80px 30px 50px;
    background: rgba(255, 255, 255, .9);
}

.top_recruit .link_btn_white {
    margin-top: 40px;
}


/* top contact */

.c_contact {
    padding: 46px 0 50px;
    background: url("../img/top/top_contact.jpg");
    background-size: cover;
}

.c_contact.top_c_sec h2, .c_contact.top_c_sec h2 span {
    color: #FFFFFF;
}

.c_contact .top_c_hdr {
    margin-right: 40px;
}

.c_contact .top_c_txt {
    width: 428px;
    color: #FFFFFF;
}

.c_contact .link_btn_white {
    margin-top: 40px;
}

.c_contact .link_btn_white a {
    border: none;
    background: #FFFFFF;
    color: #000000;
    transition: .2s;
}

.link_btn_white a:hover {
    background: #0066cc;
    border-color: #0066cc;
    color: #FFFFFF;
}

.link_btn_white a:hover::after {
    opacity: 0;
}

/* footer */
.r_footer__group-wrap {
    display: flex;
    align-items: end;
    gap: 20px;
}

footer {
    /* padding: 30px 0 20px; */
    margin-top: -40px;
}

.footer_left {
    width: 284px;
}

.footer_right {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
}

.footer_logo {
    width: 224px;
    margin-bottom: 16px;
}

.footer_tel {
    font-size: 15px;
}

.footer_links {
    display: flex;
}

.footer_links li:not(:last-child) {
    margin-right: 28px;
}

.footer_links li a {
    font-size: 13px;
    font-weight: 700;
    transition: .2s;
}

.footer_links li a:hover {
    color: #0066cc;
}

.footer_copy p {
    font-size: 12px;
}

.footer_privacy_links {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 18px;
}

.footer_privacy_links li:first-child {
    margin-right: 32px;
}

.footer_privacy_links li:nth-child(2) {
    margin-right: 32px;
}

.footer_privacy_links li a {
    font-size: 13px;
    /* font-weight: 700; */
}


/* 下層 */
h3.ured {
    margin-bottom: 46px;
    font-size: 32px;
    font-weight: 700;
    padding-bottom: 12px;
    position: relative;
}

h3.ured.txt_cntr {
    text-align: center;
}

h4.ured {
    margin-bottom: 46px;
    font-size: 27px;
    font-weight: 500;
    padding-bottom: 12px;
    position: relative;
}

h4.ured.umrgLow {
    margin-bottom: 24px;
}

h4.ured::after, h3.ured::after {
    content: "";
    display: block;
    width: 100px;
    height: 2px;
    background: #0066cc;
    position: absolute;
    left: 0;
    bottom: 0;
}

h3.ured.txt_cntr::after {
    margin-left: -50px;
    left: 50%;
}

.kasou_v {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 122px;
    padding-top: -6vw;
    /* padding: 7vw 0 13vw; */
    height: 29vw;
}

#kasou .kasou_v {
    background: url("../img/business/business_bg.jpg");
    background-size: cover;
}

#kasou.business .kasou_v {
    background: url("../img/business/business_bg.jpg");
    background-size: cover;
}

#kasou.business.company .kasou_v {
    background: url("../img/company/company_bg.jpg");
    background-size: cover;
}

#kasou.business.strength .kasou_v {
    background: url("../img/strength/strength_bg.jpg");
    background-size: cover;
}

#kasou.business.achieve_arc .kasou_v {
    background: url("../img/achieve/achieve_bg.jpg");
    background-size: cover;
}

#kasou.business.seminar .kasou_v {
    background: url("../img/seminar/seminar_bg.jpg");
    background-size: cover;
}

#kasou.business.security-policy .kasou_v {
    background: url("../img/security_policy/security-policy_bg.jpg");
    background-size: cover;
}

#kasou.business.recruit .kasou_v {
    background: url("../img/recruit/recruit_bg.jpg");
    background-size: cover;
}

#kasou.business.privacy .kasou_v {
    background: url("../img/privacy/privacy_bg.jpg");
    background-size: cover;
}

#kasou.business.topics .kasou_v {
    background: url("../img/topics/topics_bg.jpg");
    background-size: cover;
}

#kasou.business.contact .kasou_v {
    background: url("../img/contact/contact_bg.jpg");
    background-size: cover;
}

.kasou_v h2 {
    font-size: 70px;
    font-weight: 700;
    color: #FFFFFF;
    text-align: center;
    line-height: 1;
}

.kasou_v h2 span {
    display: block;
    margin-top: 2vw;
    font-size: 15px;
}

#kasou.business.seminar .kasou_v h2 {
    color: #dc143c;
}

/* 下層ナビ */
#kasou #nav .stL {
    fill: #0066cc;
}

#kasou #nav .stT {
    fill: #000000;
}

/* パンクズ */
.breadcrumb_inner {
    padding: 20px 0;
}

.breadcrumb ul {
    display: flex;
}

.breadcrumb ul li, .breadcrumb ul li a {
    font-size: 14px;
}

.breadcrumb ul li:not(:last-child)::after {
    content: ">";
    position: relative;
    left: 16px;
    bottom: 1px;
    color: #abb0b7;
}

.breadcrumb ul li:not(:last-child) {
    margin-right: 38px;
}


/* 下層共通 */
.c_pre {
    position: relative;
}

.solution .c_pre_bg {
    max-width: 530px;
    width: 44%;
    position: absolute;
    top: 0;
    right: 0;
}

.c_pre h3 {
    margin-bottom: 12px;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.5;
    color: #0066cc;
}

.c_pre p {
    margin-bottom: 64px;
}

#kasou .c_sec_cr {
    padding: 7vw 0 13vw;
    background: #ebf4ff;
}

.solution_list_wrap {}

.solution_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.solution_list li {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 300px;
    margin-bottom: 30px;
    padding: 20px 25px;
    background: #FFFFFF;
    filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.3));
}

.solution_list_img {
    margin-bottom: 16px;
}

.solution_list_txt h5 {
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid #0066cc;
    font-size: 19px;
    font-weight: 500;
}

.solution_list_txt p {
    margin-bottom: 16px;
}

.solution_link a {
    display: block;
    padding: 12px 16px;
    background: #0066cc;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.075em;
    color: #FFFFFF;
    border: 1px solid #0066cc;
    position: relative;
    transition: .2s;
    width: 80%;
    margin-right: auto;
    margin-left: auto;
    border-radius: 50em;
}

.solution_link a::after {
    content: "";
    display: block;
    width: 17px;
    height: 5px;
    margin-top: -3px;
    background: url("../img/common/link_arrow_white.svg");
    position: absolute;
    top: 50%;
    right: 10px;
}

.solution_link a:hover {
    border: 1px solid #0066cc;
    background: #FFFFFF;
    color: #0066cc;
}

.c_sec {
    padding: 70px 0;
}

.solution_c .c_last_sec {
    padding-bottom: 124px;
}

.recruit .c_sec {
    padding-top: 24px;
}

/* solution nav */
.solution_nav {
    padding: 32px 0 20px;
    background: #f6f6f6;
    /* filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.3)); */
}

.solution_nav_list {
    display: flex;
    justify-content: center;
}

.solution_nav_list li {
    position: relative;
}

.solution_nav_list li::after {
    content: "";
    display: block;
    width: 0;
    height: 2px;
    background: #0066cc;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: .2s;
}

.solution_nav_list li:hover::after {
    width: 100%;
}

.solution_nav_list li:not(:last-child) {
    margin-right: 32px;
}

.solution_nav_list li a {
    display: block;
    padding-bottom: 18px;
    font-size: 14px;
    font-weight: 700;
    transition: .2s;
}

.solution_nav_list li:hover a {
    color: #0066cc;
}

/* solution inner */
.solution_content_lead {
    margin-top: 36px;
}

.solution_content_lead.lead_one {
    margin-bottom: 56px;
}

.solution_c .solution_content_lead {
    margin-top: 70px;
}

.solution_c .c_top_sec .solution_content_lead {
    margin-top: 36px;
}

.solution_content_catch_box {
    display: flex;
    justify-content: space-between;
}

.solution_content_catch {
    width: 560px;
}

.solution_content_catchimage {
    width: 354px;
}


.solution_content_catch h3 {
    margin-bottom: 34px;
    font-size: 70px;
    font-weight: 700;
    color: #000000;
    line-height: 1.2;
}

.solution_content_catch h3 span {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #0066cc;
}

.solution_content_catch h4 {
    margin-bottom: 12px;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.5;
    color: #0066cc;
}

.c_sec.solution_ex {
    padding: 50px 0;
    background: url("../img/top/top_solution.jpg");
    background-size: cover;
}

.solution_ex_inner {
    padding: 30px 40px;
    background: rgba(255, 255, 255, .9);
}

.solution_ex h4.ured {
    margin-bottom: 28px;
}

.solution_ex_list li {
    padding-left: 1.3em;
    font-size: 17px;
}

.solution_ex_list li:not(:last-child) {
    margin-bottom: 10px;
}

.solution_ex_list li::before {
    content: "";
    display: inline-block;
    width: 0.8em;
    height: 0.8em;
    margin-right: 5px;
    background: #000000;
    vertical-align: 0px;
    border-radius: 50%;
    font-size: 17px;
}

.solution_ba_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}

.solution_ba_before, .solution_ba_after {
    width: 432px;
}

.solution_ba_before p {
    margin-bottom: 8px;
    font-size: 19px;
    font-weight: 500;
    color: #0066cc;
}

.solution_ba_after p {
    margin-bottom: 8px;
    font-size: 19px;
    font-weight: 500;
    color: #0e1541;
}

.before_label {
    width: 180px;
    padding: 10px 0;
    margin-bottom: 14px;
    background: linear-gradient(90deg, rgb(0 102 204), rgb(0 102 204), rgba(255, 255, 255, 1));
    text-align: center;
    font-size: 19px;
    font-weight: 700;
    color: #FFFFFF;
}

.after_label {
    width: 180px;
    padding: 10px 0;
    margin-bottom: 14px;
    background: linear-gradient(90deg, rgb(237 159 66), rgb(237 159 66), rgba(255, 255, 255, 1));
    text-align: center;
    font-size: 19px;
    font-weight: 700;
    color: #FFFFFF;
}

.solution_ba_arrow {
    width: 20px;
}

.solution_ba_txt {
    width: 600px;
    margin: 0 auto;
    font-size: 18px;
}

.solution_ba_img {
    border: 1px solid #bebebe;
}


.solution_products_wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.solution_products_box {
    width: 432px;
}

.solution_products_img a {
    display: block;
    transition: .2s;
}

.solution_products_img a:hover {
    opacity: .6;
}

.solution_products_txt {
    width: 384px;
    min-height: 300px;
    margin-top: -36px;
    padding: 36px 0;
    background: #FFFFFF;
    position: relative;
    filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.3));
}

.solution_products_txt h5 {
    margin-bottom: 24px;
    padding: 0 40px;
    font-size: 19px;
    font-weight: 500;
    position: relative;
}

.solution_products_txt h5::before {
    content: "";
    display: block;
    width: 20px;
    height: 1px;
    background: #0066cc;
    position: absolute;
    left: 0;
    top: 0.5em;
}

.solution_products_txt p {
    padding: 0 40px;
    font-size: 18px;
}



.solution_cs_wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.solution_cs_box {
    width: 432px;
}

.solution_cs_img a {
    display: block;
    transition: .2s;
}

.solution_cs_img a:hover {
    opacity: .6;
}

.solution_cs_txt {
    width: 384px;
    min-height: 250px;
    margin-top: 8px;
    padding: 36px 0;
    background: #FFFFFF;
    position: relative;
    filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.3));
}

.solution_cs_txt p {
    padding: 0 40px;
    font-size: 18px;
}

.solution_cs_link {
    width: 384px;
    padding: 20px 0 11px;
}




.c_box_50_wrap {
    margin-bottom: 70px;
}

.c_box_50 {
    display: flex;
    align-items: center;
    /* align-items: stretch; */
    /* justify-content: space-between; */
    min-width: 1200px;
    margin: 0 auto;
}

.c_box_50:not(:last-child) {
    margin-bottom: 54px;
}

.c_box_50 .c_box_img {
    width: 50%;
}

.c_box_50 .c_box_txt {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 50%;
    padding: 50px;
    background: #FFFFFF;
}

.c_box_50 .c_box_txt:nth-child(odd) {
    align-items: flex-end;
}

.c_box_50 .c_box_txt h5 {
    margin-bottom: 24px;
    font-size: 27px;
    font-weight: 500;
    position: relative;
}

.c_box_50 h5.ured {
    margin-bottom: 22px;
    font-size: 27px;
    font-weight: 500;
    padding-bottom: 16px;
    position: relative;
}

.c_box_50 h5.ured::after {
    content: "";
    display: block;
    width: 100px;
    height: 2px;
    background: #0066cc;
    position: absolute;
    left: 0;
    bottom: 0;
}

/* dxサービス */
.service_box_wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 960px;
    margin: 0 auto;
}

.service_box {
    width: 455px;
    padding: 30px;
    background: #FFFFFF;
    filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.3));
}

.service_box_img {
    margin-bottom: 20px;
}

.service_box_txt h5 {
    margin-bottom: 10px;
    padding-bottom: 8px;
    font-size: 19px;
    font-weight: 500;
    border-bottom: 1px solid #0066cc;
}

.service_box_txt p {
    font-size: 18px;
    line-height: 1.8;
}

.certification_icon {
    width: 120px;
    margin-top: 20px;
}

.c_box_50 .link_btn_red {
    display: inline-block;
    margin-top: 24px;
    max-width: 264px;
    filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.3));
}

.c_banner_01 {
    width: 100%;
    max-width: 500px;
    margin-top: 24px;
}

.c_banner_01 a {
    display: block;
    transition: .2s;
}

.c_banner_01 a:hover {
    opacity: .6;
    transition: .2s;
}

/* 強み */
#kasou.strength .c_sec_cr {
    padding: 7vw 0 3vw;
    background: #ebf4ff;
}

.strength .solution_content_lead {
    margin-top: 36px;
}

.strength .c_pre_bg {
    max-width: 396px;
    width: 33%;
    position: absolute;
    top: 0;
    right: 0;
}

.strength .c_box_50 h5.strength_h5 {
    margin-bottom: 16px;
    line-height: 1.4;
    font-size: 27px;
    font-weight: 500;
    color: #0066cc;
}

.strength_c_cntr h5.strength_h5 {
    text-align: center;
    margin-bottom: 16px;
    line-height: 1.4;
    font-size: 27px;
    font-weight: 500;
    color: #0066cc;
}

.c_box_txt_wrap {
    width: 100%;
    max-width: 550px;
}

.strength_c_info {
    display: flex;
    justify-content: center;
    margin-top: 40px;
    align-items: center;
}

.strength_c_info_img {
    width: 240px;
    margin-right: 36px;
}

.strength_c_info_txt {
    width: 460px;
    line-height: 1.8;
}

.b_link, .single_sec a {
    color: #00a7d9;
    text-decoration: underline;
    transition: .2s;
}

.b_link:hover, .single_sec a:hover {
    opacity: .6;
}

/* 会社案内 */
.company_nav {
    padding: 32px 0 20px;
    background: #f6f6f6;
    /* filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.3)); */
}

.company_nav ul li:not(:last-child) {
    margin-right: 2em;
}

.company_nav_list {
    display: flex;
    justify-content: center;
}

.company_nav_list li {
    position: relative;
}

.company_nav_list li:not(:last-child) {
    margin-right: 32px;
}

.company_nav_list li a {
    display: block;
    padding-bottom: 18px;
    font-size: 14px;
    font-weight: 700;
    transition: .2s;
}

.company_nav_list li::after {
    content: "";
    display: block;
    width: 0;
    height: 2px;
    background: #0066cc;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: .2s;
}

.company_nav_list li:hover::after {
    width: 100%;
}

.content_catch h3 {
    margin-bottom: 34px;
    font-size: 70px;
    font-weight: 700;
    color: #000000;
    line-height: 1.2;
}

.content_catch h3 span {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #0066cc;
}

.company_table {}

.company_table th, .company_table td {
    line-height: 1.8;
    border-top: 1px solid #d4d4d4;
}

.company_table tr:last-child th, .company_table tr:last-child td {
    border-bottom: 1px solid #d4d4d4;
}

.company_table th {
    width: 30%;
    padding: 16px 20px;
    text-align: ;
}

.company_table td {
    width: 70%;
    padding: 16px 20px;
}

/* 代表挨拶 */
.message_img {
    width: 100%;
    margin-bottom: 48px;
}

.message_box {
    line-height: 2.4;
}


/* スタッフ紹介 */
.staff_c_sec {
    background: #ebf4ff;
}

.staff_intro_box {
    background: #ebf4ff;
    filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.3));
    position: relative;
}

.staff_intro_box a {
    display: block;
    padding: 50px;
    position: relative;
    transition: .2s;
}

.staff_intro_box a:hover {
    opacity: .6;
}

.staff_intro_box a::after {
    content: "";
    display: block;
    width: 255px;
    height: 77px;
    background: url("../img/company/staff_arrow.svg");
    position: absolute;
    right: 0;
    bottom: 0;
}

.staff_intro_box:not(:last-child) {
    margin-bottom: 30px;
}

.staff_intro_box_wrap {
    display: flex;
}

.staff .c_sec {
    padding: 70px 0;
}

.staff .c_sec.pdT0 {
    padding-top: 0;
}

.staff_intro_box_txt {}

.staff_intro_box_lead {
    margin-bottom: 22px;
    font-size: 27px;
    font-weight: 500;
    line-height: 1.4;
    color: #0066cc;
}

.staff_intro_box_h4 {
    margin-bottom: 22px;
    font-size: 30px;
    font-weight: 500;
}

.staff_intro_box_h4 span {
    display: block;
    font-size: 19px;
}

.staff_intro_box_p {
    font-size: 12px;
}

.staff_intro_box_img {
    width: 346px;
    margin-right: 30px;
}

.staff_mainImg {
    padding-top: 50px;
    padding-bottom: 190px;
    background: linear-gradient(#FFFFFF 0%, #FFFFFF 56%, #ebf4ff 56%, #ebf4ff 100%);
    position: relative;
}

.staff_mainImg_txt {
    width: 50vw;
    position: absolute;
    left: 0;
    bottom: 70px;
}

.staff_mainImg_txt_box {
    padding: 36px 30px 32px 10vw;
    background: #0066cc;
    color: #FFFFFF;
}

.staff_mainImg_txt_lead {
    margin-bottom: 20px;
    font-size: 25px;
    line-height: 1.4;
}

.staff_mainImg_txt_h4 {
    margin-bottom: 20px;
    font-size: 30px;
}

.staff_mainImg_txt_h4 span {
    display: block;
    font-size: 15px;
}

.staff_mainImg_txt_p {
    font-size: 14px;
}


.interview_sec {
    padding: 70px 0;
    background: #FFFFFF;
}

.interview_sec:not(:last-child) {
    margin-bottom: 80px;
}

.interview_box {
    display: flex;
    justify-content: space-between;
}

.interview_box_img {
    width: 400px;
}

.interview_box_txt {
    width: 496px;
}

.interview_box_txt_box:not(:last-child) {
    margin-bottom: 46px;
}

.interview_box_txt h5, .interview_box_txt_box h5 {
    margin-bottom: 20px;
    font-size: 27px;
    font-weight: 500;
    color: #0066cc;
}

.interview_sec.smll .interview_box_txt_box h5 {
    text-align: center;
}

.interview_sec.smll .interview_box_txt_box {
    margin: 0 auto;
}

/* SDGs */
.sdgs_box:not(:last-child) {
    margin-bottom: 72px;
}

.sdgs_box h3.ured {
    margin-bottom: 20px;
    font-size: 29px;
}

.sdgs_c {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sdgs_c_img {
    width: 460px;
}

.sdgs_c_txt {
    width: 460px;
}

.sdgs_c_txt p {
    margin-bottom: 24px;
}

.sdgs_c_txt_icons span {
    display: block;
    margin-bottom: 12px;
    font-size: 15px;
    font-weight: 500;

}

.sdgs_icon_list {
    display: flex;
}

.sdgs_icon_list li {
    width: 80px;
}

.sdgs_icon_list li.sdgs_dxlogo {
    width: 100px;
}

.sdgs_icon_list li:not(:last-child) {
    margin-right: 24px;
}

.sdgs_bottom_img {
    margin-bottom: 32px;
}

.sdgs_bottom_txt {
    padding: 20px;
}

.sdgs_bottom_txt h4 {
    margin-bottom: 24px;
    padding: 0 40px;

    text-align: center;
}

.sdgs_bottom_txt h4 span {
    display: inline-block;
    font-size: 27px;
    font-weight: 700;
    position: relative;
    color: #00a7d9;
}

/* .sdgs_bottom_txt h4 span::before {
    content: "";
    display: block;
    width: 30px;
    height: 1px;
    background: #0066cc;
    position: absolute;
    left: -42px;
    top: 0.55em;
} */
.sdgs_bottom_txt p {
    text-align: center;
    line-height: 2;
}

.sdgs_bottom_txt p a {
    display: block;
    text-align: center;
}

/* 実績 */
tr.fadeIn {
    border-bottom: 1px solid #d4d4d4;
}

.page_hdr_cntr_ured {
    margin-bottom: 54px;
    padding-bottom: 16px;
    font-size: 40px;
    font-weight: 700;
    position: relative;
    text-align: center;
}

.page_hdr_cntr_ured::after {
    content: "";
    display: block;
    width: 100px;
    height: 2px;
    margin-left: -50px;
    background: #0066cc;
    position: absolute;
    left: 50%;
    bottom: 0;
}

.all_c_achieve_table {
    border-collapse: collapse;
}

.all_c_achieve_table th, .all_c_achieve_table td {
    padding: 16px;
    text-align: center;
    width: 320px;
}

.all_c_achieve_table th {}

.all_c_achieve_table th span {
    padding: 6px 18px;
    border-radius: 2em;
    background: #0066cc;
    color: #FFFFFF;
    font-size: 14px;
}

.achive-text {
    text-align: left;
}

p.achive-title {
    padding-bottom: 12px;
    font-weight: bold;
    font-size: 24px !important;
}

.trouble_tit p,
.solution_tit p,
.achivement_tit p {
    font-size: 16px;
}

.trouble_tit,
.solution_tit {
    position: relative;
}

.trouble_tit::after,
.solution_tit::after {
    position: absolute;
    top: 50%;
    right: -1%;
    transform: translateY(-50%);
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7px 0 7px 12px;
    border-color: transparent transparent transparent #0066cc;
}

/* ポリシー */
.txt_indent {
    text-indent: 1em;
}

.txtcontent_lead {
    margin-bottom: 32px;
    text-indent: 1em;
}

.txtcontent_inner ol li {
    margin-bottom: 24px;
    line-height: 1.8;
}

.txtcontent_inner ol li span {
    display: block;
    margin-bottom: 4px;
    font-weight: 700;
}

.pv_sig {
    text-align: right;
    line-height: 1.6;
    margin-top: 40px;
}

.txtxcontent_box {
    width: max-content;
    margin-top: 1em;
    padding-left: 1em;
}

.txtxcontent_box table:first-child {
    width: 100%;
    margin-bottom: .8em;
}

.txtxcontent_box table th {
    width: 6em;
}

.txtxcontent_box table th, .txtxcontent_box table td {
    padding: 4px 10px;
}

.uredline {
    background: #d4d4d4;
}

/* お問い合わせ */
.c_form input, .c_form textarea {
    width: 100%;
    padding: 5px 10px;
    font-size: 18px;
    border: 1px solid #727070;
    border-radius: 5px;
    /* box-shadow: 0px 0px 5px #ccc inset; */
    background: #fefefe;
}

.c_form textarea {
    height: 8em;
}

.c_form table {
    width: 100%;
}

.c_form table th {
    padding: 12px 24px 12px 0;
    vertical-align: middle;
}

.c_form table td {
    padding: 12px 0;
    vertical-align: middle;
}

.c_form table th {
    width: 36%;
    font-weight: 500;
}

.c_form table th .c_form_flx {
    display: flex;
    justify-content: space-between;
}

.c_form table td {
    width: 64%;
}

.c_form .hissu {
    display: inline-block;
    margin-left: 16px;
    padding: 2px 4px;
    background: #0066cc;
    font-size: 13px;
    color: #FFFFFF;
}

.submit input {
    display: block;
    width: 220px;
    margin: 0 auto;
    padding: 20px;
    text-align: center;
    border: none;
    cursor: pointer;
    background: #eeecef;
    font-size: 18px;
    margin-top: 20px;
}

.privacy_box_confirm input[type=checkbox] {
    margin: 15px auto 0;
    width: max-content;
    display: block;
    transform: scale(1.4);
}

.privacy_box {
    padding: 24px;
    margin-top: 32px;
    border: 1px solid #a8a8a8;
}

.privacy_box>p strong {
    display: block;
    margin-bottom: 12px;
    text-align: center;
}

.privacy_box p {
    margin-bottom: 20px;
    font-size: 16px;
}

.privacy_box_link {
    text-align: center;
}

.privacy_box_link a {
    display: block;
    width: max-content;
    margin: 0 auto;
    padding: 12px 16px;
    font-size: 16px;
    color: #FFFFFF;
    text-align: center;
    border: 1px solid #0066cc;
    background: #0066cc;
    transition: .2s;
}

.privacy_box_link a:hover {
    background: #FFFFFF;
    color: #0066cc;
}

.privacy_box_confirm {
    display: flex;
    justify-content: center;
    margin-top: 24px;
}

.c_form select {
    width: max-content;
    padding: 5px 10px;
    border: 1px solid #727070;
    border-radius: 5px;
    background: #fefefe;
}

/* セミナー */

.seminar.solution_c .solution_content_lead {
    margin-top: 36px;
}

.notavailable {
    font-size: 40px;
    font-weight: 700;
    text-align: center;
}

/* 採用 */
.recruit_tab {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.tab_box {
    padding: 56px 42px;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

.recruit_box h4 {
    margin-bottom: 20px;
    font-size: 27px;
    font-weight: 500;
    padding-bottom: 12px;
    text-align: center;
    position: relative;
}

.recruit_box_exp {
    margin-bottom: 2em;
    /* text-align: center; */
}

.recruit_box_links {
    display: flex;
    justify-content: center;
}

.recruit_tab li {
    width: 33%;
    text-align: center;
}

.recruit_tab li a {
    display: block;
    padding: 10px 20px;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

.recruit_tab li .dxadviser {
    border-left: 1px solid #000000;
    border-right: 1px solid #000000;
    border-top: 1px solid #000000;
}

.recruit_tab li .seller {
    border-left: 1px solid #000000;
    border-right: 1px solid #000000;
    border-top: 1px solid #000000;
}

.recruit_tab li .engineer {
    border-left: 1px solid #000000;
    border-right: 1px solid #000000;
    border-top: 1px solid #000000;
}

.recruit_tab li.active .dxadviser {
    border-left: 1px solid #0066cc;
    border-right: 1px solid #0066cc;
    border-top: 1px solid #0066cc;
    background: #0066cc;
    color: #FFFFFF;
}

.recruit_tab li.active .seller {
    border-left: 1px solid #489ad9;
    border-right: 1px solid #489ad9;
    border-top: 1px solid #489ad9;
    background: #489ad9;
    color: #FFFFFF;
}

.recruit_tab li.active .engineer {
    border-left: 1px solid #ed9f42;
    border-right: 1px solid #ed9f42;
    border-top: 1px solid #ed9f42;
    background: #ed9f42;
    color: #FFFFFF;
}

.recruit_tab li a {
    background: #FFFFFF;
}

/*liにactiveクラスがついた時の形状*/
.recruit_tab li.active a {
    background: #fff;
}


/*エリアの表示非表示と形状*/
.area {
    display: none;
    /*はじめは非表示*/
    opacity: 0;
    /*透過0*/
    background: #fff;
}

#dxadviser {
    border-left: 1px solid #0066cc;
    border-right: 1px solid #0066cc;
    border-bottom: 1px solid #0066cc;
}

#seller {
    border-left: 1px solid #0e1540;
    border-right: 1px solid #0e1540;
    border-bottom: 1px solid #0e1540;
}

#engineer {
    border-left: 1px solid #166c3d;
    border-right: 1px solid #166c3d;
    border-bottom: 1px solid #166c3d;
}

.area.is-active {
    display: block;
    animation-name: showtab;
    animation-duration: 2s;
    animation-fill-mode: forwards;
}

.recruit_box_links li a {
    display: block;
    width: 240px;
    padding: 12px 16px;
    background: #0066cc;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.075em;
    color: #FFFFFF;
    border: 1px solid #0066cc;
    position: relative;
    transition: .2s;
    border-radius: 50em;
}

.recruit_box_links li a:hover {
    background: #FFFFFF;
    color: #0066cc;
}

.recruit_box_links li:not(:last-child) {
    margin-right: 24px;
}

.recruit_box_links li a.no_recruit, .recruit_box_links li a.no_recruit:hover {
    pointer-events: none;
    background: #727070;
    color: #FFFFFF;
    border: 1px solid #727070;
}

@keyframes showtab {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.license_box {
    margin-top: 40px;
    padding: 30px 40px;
    border: 1px solid #000;
    border-radius: 1em;
}

.license_box h4.red {
    color: #0066cc;
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 20px;
}

.license_list {
    display: flex;
    flex-wrap: wrap;

}

.license_list li {
    font-size: 17px;
}

.license_list li:not(:last-child) {
    margin-right: 10px;
    margin-bottom: 14px;
}

.license_list li::before {
    content: "";
    display: inline-block;
    width: 0.8em;
    height: 0.8em;
    margin-right: 5px;
    background: #000000;
    vertical-align: 0px;
    border-radius: 50%;
    font-size: 17px;
}


/* 送信完了 */
.thankscntr {
    text-align: center;
}

/* 採用追記 */

.recruit_table {
    width: max-content;
    border-collapse: collapse;
    margin: 0 auto 64px auto;
}

.recruit_table th {
    width: 156px;
    border-bottom: 1px solid #d11100;
    padding: 20px 20px;
}

.recruit_table td {
    padding: 20px 20px 20px 20px;
    border-bottom: 1px solid #bebebe;
}

#seller .recruit_table th {
    border-bottom: 1px solid #42aad9;
}

#engineer .recruit_table th {
    border-bottom: 1px solid #166c3d;
}

@media (min-width: 900px) {
    .pc_none {
        display: none !important;
    }

    .sp_none {
        display: block;
    }

    .pc_br {
        display: inline-block;
    }

    .sp_br {
        display: none;
    }

    .sp_ham {
        display: none !important;
    }

    .top_solution_list ul li:not(:last-child) {
        margin-right: 10px;
    }

    .staff .c_sec.c_top_sec {
        padding: 16px 0;
    }

    .c_box_50 .c_box_txt>p {
        max-width: 640px;
    }
}

@media (max-width: 900px) and (min-width: 0px) {
    * {
        font-size: 3.733vw;
    }

    p {
        font-size: 3.733vw;
    }

    .pc_none {
        display: block;
    }

    .sp_none {
        display: none !important;
    }

    .pc_br {
        display: none;
    }

    .sp_br {
        display: inline-block;
    }

    .wrap_960, .wrap_840, .wrap_720 {
        width: 90%;
        margin: 0 auto;
    }

    .wrap_960_flex {
        width: 90%;
        margin: 0 auto;
        display: block;
    }

    .wrap_480 {
        width: 100%;
        margin: 0 auto;
    }

    .wrap_480:not(:last-child) {
        padding: 0 0 19.2vw 0;
    }

    .spMrgnB16 {
        margin-bottom: 4.266vw;
    }

    .spMrgnT16 {
        margin-top: 4.266vw;
    }

    .link_btn_red {
        display: inline-block;
        min-width: 53.33vw;
        filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.3));
    }

    .link_btn_white {
        display: inline-block;
        min-width: 53.33vw;
    }

    .link_btn_red a {
        padding: 2.666vw;
        font-size: 3.466vw;
    }

    .link_btn_white a {
        padding: 2.666vw;
        font-size: 3.466vw;
    }

    .solution_link a {
        padding: 2.666vw;
        font-size: 3.466vw;
        letter-spacing: 0.075em;
    }

    .sp_txt_cntr {
        text-align: center;
    }

    h3.ured.sp_txt_cntr::after {
        width: 26.666vw;
        margin-left: -13.333vw;
        left: 50%;
    }

    /* hamburger */
    .sp_ham {
        position: relative;
        width: 13.333vw;
        height: 13.333vw;
        cursor: pointer;
        background: #fff;
        position: absolute;
        right: 2.666vw;
        top: 1.333vw;
        z-index: 99;
    }

    .sp_ham span {
        display: inline-block;
        background-color: #666;
        position: absolute;
        height: 0.53vw;
        transition: all .2s;
    }

    .sp_ham span:nth-of-type(1) {
        width: 6.666vw;
        top: 5.866vw;
    }

    .sp_ham span:nth-of-type(2) {
        width: 4vw;
        top: 7.733vw;
    }

    .sp_ham.active span:nth-of-type(1) {
        width: 4.666vw;
        top: 5.333vw;
        left: 4.266vw;
        transform: translateY(1.6vw) rotate(-45deg);
    }

    .sp_ham.active span:nth-of-type(2) {
        width: 4.666vw;
        top: 8.533vw;
        left: 4.266vw;
        transform: translateY(-1.6vw) rotate(45deg);
    }


    .c_sec.c_sec_spPTL {
        padding-top: 5.333vw;
    }

    header {
        /* background: #ffffff; */
        width: auto;
    }

    #nav .stL {
        fill: #0066cc;
    }

    #nav .stT {
        fill: #000000;
    }

    #nav {
        width: 100vw;
        padding-top: 0;
        padding-bottom: 0;
        border-bottom: none;
        transition: .3s;
        position: relative;
    }

    .sp_nav_wrap {
        display: flex;
        flex-direction: column;
        width: 100%;
        margin: 0 auto;
        position: relative;
        z-index: 98;
    }

    .sp_nav_wrap .nav_list {
        flex-direction: column;
    }

    .h_logo svg {
        width: 38vw;
    }

    .h_logo {
        width: 100%;
        text-align: center;
        padding: 5.3vw 0;
        background: #FFFFFF;
    }

    .sp_nav {
        width: 100%;
        ;
        padding: 17vw 5.866vw 3.533vw;
        background: #FFFFFF;
        transform: translateY(-100%);
        transition: .2s;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 98;
    }

    .sp_nav.active {
        transform: translateY(0);
        border-bottom: 2px solid #0066cc;
        /* overflow: scroll; */
    }

    .nav_list {
        display: block;
    }

    .nav_list li:not(:last-child) {
        margin-right: 0;
    }

    .top_c_sec .link_btn_red, .top_lead .link_btn_red {
        margin-top: 6.4vw;
    }

    .nav_list li a {
        display: block;
        padding: 1vw 0;
        font-size: 3vw;
        font-weight: 500;
        text-align: center;
    }

    .nav_list li:not(:last-child)::after {
        content: "";
        display: block;
        width: 30px;
        height: 2px;
        background: #0066cc;
        position: absolute;
        left: 50%;
        bottom: 0;
        transition: .2s;
        margin-left: -15px;
    }

    /* index */
    #hero {
        margin-top: 17vw;
    }

    .top_solution_list {
        padding: 3.733vw 3.733vw 0 3.733vw;
    }

    .top_solution_list ul li {
        width: 45%;
        margin-bottom: 5.3vw;
    }

    .top_solution_list ul li:nth-child(2n) {
        margin-left: 5.3vw;
    }

    .top_solution_list ul li a {
        padding: 2.6vw;
        font-size: 3.466vw;
    }

    .top_lead h2 {
        margin-bottom: 3.733vw;
        font-size: 5.866vw;
        font-weight: 700;
        text-align: center;
        line-height: 1.5;
    }

    .top_lead p {
        margin: 0 auto;
        font-size: 4vw;
    }

    .top_strength .top_c_img, .top_c_txt, .top_lead p {
        width: 100%;
        min-width: auto;
    }

    .top_solution_list ul {
        display: flex;
        justify-content: center;
        width: 100%;
        margin: 0 auto;
        flex-wrap: wrap;
    }

    #index section {
        padding: 12.8vw 0;
    }

    #index section.top_lead {
        padding-top: 7.466vw;
        padding-bottom: 9.6vw;
    }

    .flx_spBtw {
        flex-direction: column-reverse;
    }

    #index section.top_business .top_c_img {
        width: 90%;
        margin: 0 auto 24px;
    }

    .top_c_sec h3 {
        margin-bottom: 3.2vw;
        font-size: 5.333vw;
        line-height: 1.4;
    }

    .top_solution .c_box {
        flex-direction: column;
        padding: 36px 82px;
        background: rgba(255, 255, 255, .9);
    }

    .top_c_column {
        margin-top: 8.533vw;
        width: 100%;
    }

    .top_column .flx_start {
        flex-direction: column;
        align-items: flex-start;
    }

    .top_c_column ul li {
        padding: 5.333vw 0;
    }

    .top_c_column_title {
        margin-bottom: 4.266vw;
        font-size: 4.266vw;
    }

    .top_c_column_lead {
        font-size: 3.733vw;
    }

    .top_c_column_info {
        margin-bottom: 4.266vw;
    }

    .top_c_column_date {
        margin-right: 0;
        font-size: 3.2vw;
    }

    .top_c_column_cat {
        margin-top: 1.6vw;
    }

    .top_c_column_cat a {
        min-width: auto;
        padding: 1.6vw 3.733vw;
        font-size: 3.2vw;
    }

    .top_strength_wrap {
        max-width: none;
        padding: 12.8vw 0;
    }

    .top_seminar_wrap {
        max-width: none;
        padding: 0;
    }

    .top_strength_wrap .flx_end {
        flex-direction: column-reverse;
    }

    .top_strength .top_c_img {
        margin-bottom: 5.866vw;
        position: static;
    }

    .top_c_sec h2 {
        margin-bottom: 4.266vw;
        font-size: 10.666vw;
        font-weight: 700;
    }

    .top_c_sec h2 span {
        font-size: 3.466vw;
        margin-top: 0.5333vw;
    }

    #index section.top_column {
        padding: 12.8vw 0;
    }

    .top_solution .c_box {
        padding: 6.4vw;
    }

    .top_seminar_wrap .flx_end {
        flex-direction: column;
    }

    #index section.top_seminar .top_c_img {
        width: 100%;
        max-width: noen;
        position: static;
    }

    #index section.top_seminar {
        margin-bottom: 0;
        background: #ebf4ff;
    }

    .top_seminar .top_c_img {
        margin-bottom: 5.866vw;
        position: static;
    }

    .top_recruit .top_c_txt {
        padding: 8.533vw 5.333vw;
        background: rgba(255, 255, 255, .9);
    }

    /* 下層 */
    .breadcrumb ul li, .breadcrumb ul li a {
        font-size: 3.2vw;
    }

    .c_sec.c_top_sec {
        padding: 9.6vw 0;
    }

    .c_sec {
        padding: 9.6vw 0;
    }

    .c_sec.c_last_sec {
        padding-bottom: 21.333vw;
    }

    .kasou_v {
        margin-top: 17vw;
        padding: 6.4vw 0 8vw;
    }

    .kasou_v h2 {
        font-size: 7.8vw;
    }

    .kasou_v h2 span {
        display: block;
        margin-top: 3vw;
        font-size: 2.8vw;
    }

    .c_pre h3 {
        text-align: center;
        margin-bottom: 2.133vw;
        font-size: 7.466vw;
        font-weight: 500;
        line-height: 1.5;
    }

    .c_pre p {
        margin-bottom: 7.466vw;
    }

    h3.ured {
        margin-bottom: 7.466vw;
        font-size: 5.866vw;
        font-weight: 700;
        padding-bottom: 2.666vw;
        position: relative;
    }

    h4.ured {
        margin-bottom: 7.466vw;
        font-size: 5.333vw;
        font-weight: 700;
        line-height: 1.3;
        padding-bottom: 2.666vw;
        position: relative;
    }

    .page_hdr_cntr_ured {
        margin-bottom: 2.133vw;
        padding-bottom: 2.666vw;
        font-size: 5.866vw;
    }

    /* 事業案内 */
    .solution_c .solution_content_lead {
        margin-top: 6.4vw;
    }

    .solution_content_catch_box {
        flex-direction: column-reverse;
    }

    .solution_content_catch {
        width: 100%;
    }

    .solution_content_catch h4 {
        margin-bottom: 2.666vw;
        text-align: center;
        font-size: 4.8vw;
    }

    .solution_content_catchimage {
        width: 70%;
        margin-right: auto;
        margin-bottom: 2.133vw;
        margin-left: auto;
    }

    .solution_list li {
        width: 100%;
        margin-bottom: 8vw;
        padding: 4.8vw 5.866vw;
    }

    .solution_ba_box {
        flex-direction: column;
    }

    .solution_ba_before, .solution_ba_after, .solution_ba_txt {
        width: 100%;
    }

    .solution_products_box {
        width: 100%;
    }

    .solution_products_box:not(:last-child) {
        margin-bottom: 9.6vw;
    }

    .solution_products_txt {
        width: 88%;
        min-height: auto;
        margin-top: -6.4vw;
        padding: 6.4vw 0;
    }

    .solution_products_txt h5 {
        margin-bottom: 3.733vw;
        padding: 0 7.466vw;
        font-size: 19px;
    }

    .solution_cs_box {
        width: 100%;
    }

    .solution_cs_box:not(:last-child) {
        margin-bottom: 9.6vw;
    }

    .solution_cs_txt {
        width: 88%;
        min-height: auto;
        margin-top: 1vw;
        padding: 6.4vw 0;
    }

    .c_sec.solution_ex {
        padding: 9.6vw 0;
        background: url(../img/top/top_solution.jpg);
    }

    .solution_ex_inner {
        padding: 5.333vw;
        background: rgba(255, 255, 255, .9);
    }

    .solution_ex h4.ured {
        margin-bottom: 4.8vw;
        font-size: 4.8vw;
    }

    .solution_ex_list li {
        padding-left: 0;
        font-size: 3.733vw;
        line-height: 1.5;
    }

    .before_label, .after_label {
        width: 38vw;
        padding: 10px 0;
        margin-bottom: 2.666vw;
        font-size: 4.266vw;
    }

    .solution_ba_before p, .solution_ba_after p {
        margin-bottom: 2.666vw;
        font-size: 3.733vw;
        font-weight: 500;
    }

    .solution_ba_txt {
        font-size: 3.733vw;
    }

    .solution_ba_arrow {
        width: 4.8vw;
        margin-top: 2.666vw;
        margin-bottom: 2.666vw;
        transform: rotate(90deg);
    }

    .solution_products_txt p {
        padding: 0 40px;
        font-size: 3.733vw;
    }

    /* .solution_link a {
    padding: 0 40px;
    width: 100%;
} */

    .solution_cs_txt p {
        padding: 0 40px;
        font-size: 3.733vw;
    }

    .solution_cs_link {
        width: auto;
        padding: 12px 20px 0;
    }


    .c_banner_01 {
        width: 100%;
        max-width: 500px;
        margin-top: 6.4vw;
        margin-right: auto;
        margin-left: auto;
    }

    /* 実績 */
    .solution_nav {
        margin-bottom: 5.333vw;
        padding: 2.133vw 0;
    }

    .solution_nav_list {
        flex-direction: column;
        align-items: center;
    }

    .solution_nav_list li:not(:last-child) {
        margin-right: 0;
    }

    .solution_nav_list li a {
        padding: 2.133vw 0;
        font-size: 3.2vw;
        font-weight: 500;
    }

    .service_box_wrap {
        width: 90%;
        margin-right: auto;
        margin-left: auto;
    }

    .service_box {
        width: 100%;
        padding: 6.4vw;
        filter: none;
    }

    .all_c_achieve {
        max-width: 880px;
        max-height: 540px;
        overflow: scroll;
    }

    .all_c_achieve_table {
        white-space: nowrap;
        width: 100%;
        min-width: 730px;
        border-collapse: collapse;
    }

    .all_c_achieve_table p {
        white-space: normal;
    }

    .achieve_trouble,
    .achieve_solution,
    .achieve_achivement {
        position: sticky;
        top: 0;
        background: #fff;
        z-index: 10;
    }

    .all_c_achieve_table>tbody>tr:nth-child(1) {
        position: relative;
        z-index: 2;
    }

    .achieve_trouble::after,
    .achieve_solution::after,
    .achieve_achivement::after {
        content: "";
        width: 100%;
        height: 2px;
        background: #d4d4d4;
        top: 48px;
        left: 0;
        display: inline-block;
        position: absolute;
        z-index: 11;
    }

    .service_box_txt h5 {
        margin-bottom: 2.666vw;
        padding-bottom: 1.6vw;
        font-size: 4.8vw;
    }

    .service_box_txt p {
        font-size: 3.733vw;
    }

    /* トピックス */
    .all_c_column ul li {
        padding: 5.333vw 0;
    }

    .all_c_column_lead {
        font-size: 3.733vw;
    }

    .all_c_column_date {
        font-size: 3.2vw;
        margin-right: 3.733vw;
    }

    .all_c_column_cat a {
        min-width: auto;
        padding: 1.6vw 3.733vw;
        font-size: 3.2vw;
    }

    .all_c_column_title {
        margin-bottom: 4.266vw;
        font-size: 4.266vw;
    }

    .message_box {
        line-height: 2;
    }

    /* 会社案内 */
    .company_table th {
        padding: 1.066vw 4.8vw;
        background: #eeecef;
    }

    .company_table td {
        padding: 3.733vw 4.8vw;
    }

    .company_table th, .company_table td {
        display: block;
        width: 100%;
        line-height: 1.8;
        border-top: none;
    }

    .company_nav {
        margin-bottom: 5.333vw;
        padding: 2.133vw 0;
    }

    .company_nav_list {
        flex-direction: column;
        align-items: center;
    }

    .company_nav ul li:not(:last-child) {
        margin-right: 0;
    }

    .company_nav_list li a {
        padding: 2.133vw 0;
        font-size: 3.2vw;
        font-weight: 500;
    }

    .staff_intro_box a::after {
        width: 44vw;
        height: 13.333vw;
    }

    /* スタッフ */
    .content_catch h3 {
        margin-bottom: 9.066vw;
        font-size: 7.466vw;
        text-align: center;
    }

    .content_catch h3 span {
        margin-top: 0.5333vw;
        font-size: 3.733vw;
    }

    .staff_intro_box_wrap {
        flex-direction: column;
    }

    .staff_intro_box a {
        padding: 0;
    }

    .staff_intro_box_img, .staff_intro_box_txt {
        width: 100%;
    }

    .staff_intro_box_txt {
        padding: 5.333vw;
    }

    .staff_intro_box_lead {
        margin-bottom: 4.8vw;
        font-size: 4.8vw;
    }

    .staff_intro_box_h4 span {
        display: block;
        font-size: 4vw;
    }

    .staff_intro_box_h4 {
        font-size: 5.333vw;
    }

    .staff_mainImg_txt {
        width: 90%;
        margin: 0 auto;
        position: static;
    }

    .staff_mainImg_txt_box {
        padding: 5.333vw;
    }

    .staff_mainImg_txt_lead {
        margin-bottom: 4.8vw;
        font-size: 4.266vw;
        line-height: 1.5;
    }

    .staff_mainImg_txt_h4 {
        margin-bottom: 0;
        text-align: right;
        font-size: 5.333vw;
    }

    .staff_mainImg_txt_h4 span {
        display: block;
        font-size: 3.733vw;
    }

    .interview_sec:not(:last-child) {
        margin-bottom: 7.466vw;
    }

    .interview_sec {
        padding: 6.4vw 0;
        background: #FFFFFF;
    }

    .interview_box {
        flex-direction: column-reverse;
    }

    .interview_box_txt, .interview_box_img {
        width: 100%;
    }

    .interview_box_txt h5, .interview_box_txt_box h5 {
        margin-bottom: 2.666vw;
        font-size: 5.866vw;
    }

    .interview_sec.smll .interview_box_txt_box h5 {
        text-align: left;
    }

    .interview_box_txt_box:not(:last-child) {
        margin-bottom: 7.466vw;
    }

    .staff_mainImg {
        padding-top: 9.6vw;
        padding-bottom: 9.6vw;
        background: linear-gradient(#FFFFFF 0%, #FFFFFF 72%, #ebf4ff 72%, #ebf4ff 100%);
    }

    .seminar.solution_c .solution_content_lead {
        margin-top: 3.733vw;
    }

    /* SDGs */
    .sdgs_c {
        flex-direction: column;
    }

    .sdgs_c.sp_crev {
        flex-direction: column-reverse;
    }

    .sdgs_box h3.ured {
        margin-bottom: 2.666vw;
        font-size: 4.8vw;
    }

    .sdgs_c_txt, .sdgs_c_img {
        width: 100%;
    }

    .sdgs_c_img {
        margin-bottom: 3.733vw;
    }

    .sdgs .page_hdr_cntr_ured {
        margin-bottom: 6.666vw;
        padding-bottom: 2.666vw;
        font-size: 5.866vw;
    }

    .sdgs_bottom_txt h4 {
        margin-bottom: 3.2vw;
        padding: 0 0;
        text-align: center;
    }

    .sdgs_bottom_txt h4 span {
        display: inline-block;
        font-size: 4.8vw;
        letter-spacing: 0.01em;
        font-weight: 700;
        position: relative;
        color: #00a7d9;
    }

    .sdgs_bottom_txt {
        padding: 0;
    }

    .sdgs_c_txt_icons span {
        margin-bottom: 3.2vw;
        font-size: 4vw;
    }

    .sdgs_icon_list li:not(:last-child) {
        margin-right: 2.133vw;
    }

    .sdgs_icon_list li {
        width: 16vw;
    }

    .sdgs_icon_list li.sdgs_dxlogo {
        width: 20vw;
    }

    /* 強み */
    .c_box_50_wrap {
        width: 90%;
        margin: 0 auto 8.533vw;
    }

    .c_box_50 {
        flex-direction: column;
        min-width: auto;
    }

    .c_box_50:not(:last-child) {
        margin-bottom: 54px;
    }

    .c_box_50 .c_box_img {
        width: 100%;
    }

    .c_box_txt_wrap {
        width: 100%;
    }

    .c_box_50 .c_box_txt {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        padding: 6.4vw;
        background: #FFFFFF;
    }

    .c_box_50_wrap .c_box_50:nth-child(odd) {
        flex-direction: column-reverse;
    }

    .c_box_50 .c_box_txt:nth-child(odd) {
        align-items: flex-start;
    }

    .c_box_50 h5.ured {
        margin-bottom: 2.666vw;
        padding-bottom: 1.6vw;
        font-size: 4.8vw;
    }

    .c_box_50 h5.ured::after {
        content: "";
        display: block;
        width: 10.666vw;
        height: 1px;
        background: #0066cc;
        position: absolute;
        left: 0;
        bottom: 0;
    }

    .strength .c_box_50 h5.strength_h5 {
        margin-bottom: 3.733vw;
        font-size: 5.866vw;
    }

    .strength_c_info {
        flex-direction: column;
        margin-top: 8.533vw;

    }


    /* プライバシー */
    .txtxcontent_box {
        width: 100%;
    }

    .txtxcontent_box table th, .txtxcontent_box table td {
        display: block;
        width: 100%;
        line-height: 1.8;
        border-top: 1px solid #d4d4d4;
    }

    .strength .solution_content_lead {
        margin-top: 2.133vw;
    }

    .strength_c_cntr h5.strength_h5 {
        text-align: center;
        margin-bottom: 3.733vw;
        line-height: 1.4;
        font-size: 5.866vw;
    }

    .strength_c_info_img {
        width: 70%;
        max-width: 320px;
        margin-right: 0;
        margin-bottom: 5.866vw;
    }

    .strength_c_info_txt {
        width: 100%;
    }

    /* 採用 */
    .recruit_box_links {
        flex-direction: column;
        align-items: center;
    }

    .recruit_box_links li:not(:last-child) {
        margin-right: 0;
        margin-bottom: 3.733vw;
    }

    .recruit .page_hdr_cntr_ured {
        margin-bottom: 7.466vw;
    }

    .tab_box {
        padding: 6.4vw;
    }

    .recruit_box h4 {
        margin-bottom: 3.733vw;
        font-size: 5.333vw;
        padding-bottom: 0;
    }

    .recruit_box_links li a {
        width: 51.733;
        padding: 2.666vw 3.2vw;
        font-size: 3.466vw;
    }

    .license_box h4.red {
        color: #0066cc;
        font-size: 4.8vw;
        font-weight: 500;
        margin-bottom: 4.8vw;
    }

    .license_list {
        flex-direction: column;
    }

    .license_box {
        width: max-content;
        margin-top: 7.466vw;
        padding: 4.8vw;
        border: 1px solid #000;
        border-radius: 1em;
    }

    .license_list li, .license_list li:not(:last-child) {
        margin-right: 0;
        margin-bottom: 3.2vw;
        font-size: 3.733vw;
    }

    .recruit_tab {
        flex-direction: column;
    }

    .recruit_tab li {
        width: 100%;
        text-align: center;
    }

    .recruit_tab li:not(:first-child) a {
        border-top-left-radius: 0;
        border-top-right-radius: 0;
    }

    .recruit_tab li a.dxadviser {
        border-left: 1px solid #0066cc;
        border-right: 1px solid #0066cc;
        border-top: 1px solid #0066cc;
        background: #0066cc;
    }

    .recruit_tab li.active a.dxadviser {
        border-left: 1px solid #0066cc;
        border-right: 1px solid #0066cc;
        border-top: 1px solid #0066cc;
        background: #0066cc;
    }

    .recruit_tab li a.seller {
        border-left: 1px solid #0066cc;
        border-right: 1px solid #0066cc;
        border-top: none;
        background: #489ad9;
    }

    .recruit_tab li.active a.seller {
        border-left: 1px solid #0066cc;
        border-right: 1px solid #0066cc;
        border-top: none;
        background: #489ad9;
    }

    .recruit_tab li a.engineer {
        border-left: 1px solid #0066cc;
        border-right: 1px solid #0066cc;
        border-top: none;
        background: #ed9f42;
    }

    .recruit_tab li.active a.engineer {
        border-left: 1px solid #0066cc;
        border-right: 1px solid #0066cc;
        border-top: none;
        background: #ed9f42;
    }

    .privacy_box p {
        margin-bottom: 5.333vw;
        font-size: 3.733vw;
    }

    .privacy_box_link a {
        padding: 3.2vw;
        font-size: 3.733vw;
    }

    /* お問い合わせ */
    .c_contact .flx_start {
        flex-direction: column;
    }

    .c_contact {
        padding: 8.533vw 0;
        background: url(../img/top/top_contact_sp.jpg);
    }

    .c_contact .link_btn_white {
        margin-top: 6.4vw;
    }

    .c_contact .top_c_txt {
        width: 100%;
    }

    .c_form table th, .c_form table td {
        display: block;
        width: 100%;
    }

    .c_form table th {
        padding: 2.133vw 0 2.666vw;
        vertical-align: middle;
    }

    .c_form table td {
        padding: 0 0 2.133vw;
    }

    .c_form input, .c_form textarea {
        width: 100%;
        padding: 1.066vw 2.133vw;
        font-size: 3.733vw;
        border-radius: 1.066vw;
    }

    .c_form .submit input {
        width: 53.222vw;
        padding: 4.266vw;
        font-size: 4vw;
        margin-top: 4.8vw;
        margin-right: auto;
        margin-left: auto;
    }

    .c_form select {
        padding: 1.066vw 2.133vw;
        border-radius: 1.066vw;
    }

    .c_form .mfp_element_all {
        max-width: 100%;
    }

    /* footer  */
    .r_footer__group-wrap {
        flex-direction: column;
        align-items: baseline;
    }

    footer {
        /* padding: 5.866vw 0 5.866vw; */
        border-top: 1px solid #000;
    }

    footer .flx_spBtw {
        flex-direction: column;
    }

    .footer_privacy_links {
        margin-bottom: 2.666vw;
    }

    .footer_left {
        width: 100%;
        text-align: center;
    }

    .footer_logo {
        width: 38vw;
        margin-right: auto;
        margin-left: auto;
        margin-bottom: 4.266vw;
    }

    .footer_right {
        align-items: center;
    }

    .footer_links {
        width: 100%;
        flex-direction: column;
        align-items: center;
        margin-top: 4.266vw;
        margin-bottom: 4.266vw;
    }

    .footer_links li:not(:last-child) {
        margin-right: 0;
    }

    .footer_links li a {
        display: block;
        padding: 2.666vw 0;
        font-size: 3.2vw;
        font-weight: 500;
        transition: .2s;
    }

    .footer_privacy_links li a {
        font-size: 3.2vw;
    }

    .footer_tel {
        font-size: 2.666vw;
    }

    .footer_copy p {
        font-size: 2.666vw;
        text-align: center;
    }

    .footer_privacy_links li:first-child {
        margin-right: 10px !important;
    }

    .footer_privacy_links li:nth-child(2) {
        margin-right: 10px !important;
    }

    .topics .breadcrumb ul {
        flex-wrap: wrap;
    }

    .topics .breadcrumb ul li:nth-child(n + 3) {
        margin-top: 1.066vw;
    }

    .breadcrumb ul li:not(:last-child) {
        margin-right: 5.333vw;
    }

    .single_sec {
        padding: 6.4vw 0 21.333vw;
    }

    .single_info {
        margin-bottom: 4.266vw;
    }

    .single_info .single_cat {
        margin-bottom: 1.6vw;
    }

    .single_ured {
        margin-bottom: 3.733vw;
        font-size: 4.8vw;
    }

    .single_info li.single_cat a {
        min-width: auto;
        padding: 1.6vw 3.733vw;
        font-size: 3.2vw;
    }

    .single_date {
        margin-bottom: 3.733vw;
    }

    .notavailable {
        font-size: 4.8vw;
        font-weight: 700;
    }

    .breadcrumb ul li:not(:last-child)::after {
        left: 2.133vw;
        bottom: 0px;
    }


    /* 採用追記 */
    .recruit_table {
        width: 100%;
        border-collapse: collapse;
        margin: 0 auto 11.2vw auto;
    }

    .recruit_table th {
        display: block;
        width: 100%;
        font-size: 3.466vw;
        background: #f5c9c4;
        border-bottom: none;
        padding: 2.666vw 3.2vw;
    }

    #seller .recruit_table th {
        background: #c4d4f5;
        border-bottom: none;
    }

    #engineer .recruit_table th {
        background: #c4f5c9;
        border-bottom: none;
    }

    .recruit_table td {
        display: block;
        width: 100%;
        font-size: 3.466vw;
        padding: 2.666vw 3.2vw;
        border-bottom: none;
    }
}

/* ---------------------------------------------------------------------------
  ★ページャー
--------------------------------------------------------------------------- */
.page-numbers {
    display: flex;
    justify-content: center;
    margin-top: 30px;
    flex-wrap: wrap;
}

.page-numbers>li {
    margin: 0 10px;
    border: none !important;
}

.page-numbers>li span, .page-numbers>li a {
    padding: 5px 15px;
    color: #fff;
    background-color: #0066cc;
}

.page-numbers>li span.current, .page-numbers>li a.current {
    background: rgba(163, 163, 163, 0.7);
}


/* ---------------------------------------------------------------------------
  リニューアル　ここから
--------------------------------------------------------------------------- */
.pc {
    display: block !important;
}

.sp {
    display: none !important;
}

body {
    position: relative;
}

header {
    position: fixed;
    top: 0;
    z-index: 100;
    width: 100%;
}

.r_header {
    display: flex;
    justify-content: space-between;
    width: 94%;
    margin: 0 auto;
    padding: 15px 0 0;
    font-weight: bold;
    align-items: center;
}

.r_header a {
    color: #ffffff;
    display: inline-block;
    transition: all 0.3s ease;
}

.r_header a:hover {
    opacity: 0.7;
}

.logo {
    width: 20em;
}

.r_header01 {
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 12px;
}

.r_header01 .h_usr a,
.r_header01 .h_con a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #FFFFFF;
    border-radius: 10px;
    text-align: center;
    color: #0066CC;
    height: 76px;
    width: 6em;
    font-size: 1.5rem;
}

.r_header01 .h_con a {
    background: linear-gradient(249deg, #7DC0E2 -30.09%, #06C 53.42%);
    color: #ffffff;
}

.r_header01 .h_link a {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(80deg, #ED9F42 65.83%, #FFDFB8 117.67%);
    border-radius: 10px;
    text-align: left;
    color: #ffffff;
    font-size: 1.5rem;
    width: 100%;
    height: 76px;
    width: 8em;
}

.r_header01 .h_link a p {
    width: 60%;
    padding-left: 1.5em;
    line-height: 1.4;
}

.r_header01 .h_link a img {
    width: 40%;
}

.r_header01 .h_usr a,
.r_header01 .h_con a,
.r_header01 .h_link a {
    transition: all 0.3s ease;
}

/* 共通hover */
.r_header01 .h_usr a:hover,
.r_header01 .h_con a:hover,
.r_header01 .h_link a:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}

/* 白ボタン：ほんのり青み */
.r_header01 .h_usr a:hover {
    background-color: #f2f7ff;
}

/* 青グラデ：少しだけ明るく */
.r_header01 .h_con a:hover {
    filter: brightness(1.08);
}

/* オレンジ：グラデ微調整 */
.r_header01 .h_link a:hover {
    background: linear-gradient(80deg, #e5902f 65.83%, #ffd8aa 117.67%);
}

.nav {
    display: flex;
    gap: 30px;
    margin: 20px 0;
    letter-spacing: 0.05em;
}

.nav_u01 {
    position: relative;
    background: url(../img/common/arrow01.svg) no-repeat top 9px right 0px / 13px;
    padding-right: 22px;
}

.nav_u01 .nav_u01-box {
    background-color: #e8f0fade;
    position: absolute;
    width: 15em;
    z-index: 9999;
    top: 117%;
    left: -11px;
    padding: 12px 0 6px 18px;
    text-align: left;
    border-radius: 0.3em;
    box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.2);
}

.nav_u01 .nav_u01-box a {
    color: #1A1A1A;
    display: inline-block;
    margin-bottom: 10px;
    background: url(../img/common/arrow02.svg) no-repeat center left / 1em;
    padding-left: 1.5em;
    font-size: 15px !important;
}

@media (max-width: 900px) {
    .sp {
        display: block !important;
    }

    .pc {
        display: none !important;
    }

    /* ハンバーガーメニュー アコーディオンメニュー */
    .accordion-list:not(:first-child) {
        margin-top: 10px;
    }

    .accordion-title {
        cursor: pointer;
        padding: 10px 20px;
        position: relative;
        color: #fefefe;
    }

    .accordion-title:after {
        position: relative;
        display: block;
        content: "";
        right: -12px;
        top: 1em;
        width: 1em;
        height: 1em;
        /* transform: rotate(-90deg); */
        transition: all 0.4s ease-in-out;
        background: url(../img/common/arrow05.svg) no-repeat center left/100%;
    }

    .accordion-title.open:after {
        transform: rotate(180deg);
    }

    .global-nav .sp_logo {
        margin-top: 30px;
    }

    .global-nav .sp_logo img {
        width: 18em;
        margin: 20px 20px;
        display: inline-block;
    }

    .global-nav .sp_btnArea {
        margin-right: auto;
        margin-left: auto;
        width: 90%;
    }

    .global-nav .btn01 {
        width: 100%;
        text-align: center;
    }

    .global-nav .btn01.line {
        background: url(../img/arrow02_w.svg) no-repeat center right 1em/1.2em,
            linear-gradient(90deg, #ff5500, #ea8b00);
        color: #fff;
    }

    .global-nav {
        position: fixed;
        right: -320px;
        /* これで隠れる */
        top: 0;
        height: 100vh;
        color: #fefefe;
        transition: all 0.6s;
        z-index: 999999;
        overflow-y: auto;
        background: #F2F8FF;
    }

    .global-nav .accordion-container {
        width: 300px;
        margin: 0 auto;
        background: #F2F8FF;
        padding: 0 6%;
    }

    .global-nav .accordion-container.con02 {
        display: flex;
        justify-content: center;
        flex-direction: column;
    }

    .global-nav .accordion-container .accordion-title02 {
        position: relative;
        margin: 0;
        border-bottom: 1px solid #e5ecee;
        padding: 0.8em 0.8em 0.8em 0.8em;
        font-weight: normal;
        color: #0a0a0a;
        cursor: pointer;
        display: block;
        font-weight: bold;
        background: #F2F8FF;
        display: block;
        background-size: 16px;
    }

    .accordion-title {
        padding: 0 !important;
        width: 3em;
        height: 3.5em;
        position: absolute;
        top: 0;
        right: 0;
    }

    .global-nav .accordion-container .accordion-content li {
        padding: 0.3em 0.3em 0.3em 4.25em;
        border-bottom: none;
    }

    .global-nav .accordion-container .accordion-content li a {
        color: #fefefe;
    }

    .global-nav .btn01 a {
        width: 90%;
        margin-right: auto;
        margin-left: auto;
        text-align: center;
    }

    .global-nav .center a {
        color: #3c3c3c;
    }

    .accordion-content li {
        padding: 5px 20px;
        border-bottom: 1px solid #949292;
    }

    .hamburger {
        position: absolute;
        right: 0;
        top: 0;
        width: 58px;
        height: 56px;
        cursor: pointer;
        z-index: 999999;
        background: #0066cc;
    }

    .hamburger__line {
        position: absolute;
        left: 18px;
        width: 24px;
        height: 2px;
        background-color: #fff;
        transition: all 0.6s;
        border-radius: 50em;
    }

    .hamburger__line--1 {
        top: 19px;
    }

    .hamburger__line--2 {
        top: 26px;
    }

    .hamburger__line--3 {
        top: 33px;
    }

    .black-bg01 {
        position: fixed;
        left: 0;
        top: 0;
        width: 100vw;
        height: 100vh;
        z-index: 100;
        background-color: #000;
        opacity: 0;
        visibility: hidden;
        transition: all 0.6s;
        cursor: pointer;
    }

    /* 表示された時用のCSS */
    .nav-open .global-nav {
        right: 0;
    }

    .nav-open .hamburger {
        background: #0066cc00;
    }

    .nav-open .black-bg01 {
        opacity: 0.8;
        visibility: visible;
    }

    .nav-open .hamburger__line--1 {
        transform: rotate(45deg);
        top: 20px;
        background-color: #0066CC;
    }

    .nav-open .hamburger__line--2 {
        width: 0;
        left: 50%;
    }

    .nav-open .hamburger__line--3 {
        transform: rotate(-45deg);
        top: 20px;
        background-color: #0066CC;
    }

    .accordion-box {
        position: relative;
    }

    .accordion-close {
        display: none;
        padding-left: 0.8em;
        padding-bottom: 0.8em;
        padding-top: 0.3em;
        border-bottom: 1px solid #dde4e1;
    }

    .nav li:nth-child(1) a {
        border-left: none !important;
    }

    .accordion-close li a {
        padding: 6px 0 0px;
        font-weight: 400 !important;
        color: #0a0a0a;
        font-weight: bold;
        display: inline-block;
    }

    .global-nav .r_footer__sns {
        justify-content: right;
        margin-top: 18px;
        margin-right: 21px;
    }

}

/* mv */
.mv-wrap {
    width: 100%;
    position: relative;
    overflow: hidden;
    aspect-ratio: 8 / 5;
    /* max-height: 90vh; */
    max-height: 100vh;
}

.slides {
    display: flex;
    width: 400%;
    height: 100%;
    transition: transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);
}

.slide {
    width: 25%;
    height: 100%;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}

.slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transform: scale(1.08);
    transition: transform 6s ease-out;
    /* filter: brightness(0.82); */
}

.slide.active img {
    transform: scale(1);
}

.slide-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(71deg, #000 0%, rgba(0, 0, 0, 0.00) 98.08%);
    opacity: 0.2;
}

.slide-text {
    position: absolute;
    top: 59%;
    left: 5rem;
    transform: translateY(calc(-50% + 18px));
    color: #fff;
    opacity: 0;
    transition: opacity 0.7s 0.4s ease, transform 0.7s 0.4s ease;
}

.slide.active .slide-text {
    opacity: 1;
    transform: translateY(-50%);
    z-index: 1;
}

.slide-text__title {
    font-size: clamp(24px, 2.5vw, 36px);
    font-weight: 500;
    line-height: 1.5;
    color: #fff;
    margin-bottom: 1.5rem;
    letter-spacing: 0.14em;
}

.slide-text__desc {
    font-size: clamp(12px, 1.25vw, 18px);
    line-height: 1.7;
    color: #fff;
    margin-bottom: 1.5rem;
}

.slide-text__desc p {
    letter-spacing: 0.14em;
}

.slide-text__date {
    margin-bottom: 4px;
}

.slide-text__btn {
    display: inline-flex;
    align-items: center;
    gap: 60px;
    background: linear-gradient(80deg, #ED9F42 65.83%, #FFDFB8 117.67%);
    color: #fff;
    font-size: clamp(12px, 1.25vw, 18px);
    padding: 8px 10px 8px 30px;
    border-radius: 50em;
    text-decoration: none;
    transition: filter 0.3s ease;
}

.slide-text__btn:hover {
    filter: brightness(1.10);
}

.slide-text__btn img {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
}

.c_btn01 {
    display: inline-block;
    position: relative;
    background-image: linear-gradient(249deg, #7DC0E2 -30.09%, #06C 53.42%);
    color: #fff;
    font-size: clamp(14px, 1.25vw, 18px);
    padding: 17px 50px;
    border-radius: 50em;
    text-decoration: none;
    text-align: center;
    min-width: 260px;
    transition: filter 0.3s ease;
}

.c_btn01:hover {
    filter: brightness(1.10);
}

.c_btn01::after {
    content: '';
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 7px;
    background: url(../img/common/arrow03.svg) no-repeat center / contain;
}

.mv_list {
    margin-top: 1.5rem;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    list-style: none;
}

.mv_list li {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff url(../img/top/service_deco.png) no-repeat center / cover;
    color: #0066CC;
    font-size: 16px;
    padding: 30px 16px;
    border-radius: 5px;
    text-align: center;
}

/* 丸ver（スライド3用） */
.mv_list02 {
    margin-top: 1.5rem;
    display: flex;
    gap: 12px;
    list-style: none;
}

.mv_list02 li {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff url(../img/top/service_deco.png) no-repeat center / cover;
    color: #0066CC;
    font-size: 14px;
    border-radius: 50%;
    text-align: center;
    aspect-ratio: 1 / 1;
    width: calc(20% - 10px);
    box-shadow: 0 0 10.281px #EBEBEB;

}

/* arrowやdot */
/* .controls {
    position: absolute;
    bottom: 1.2rem;
    right: 2rem;
    display: flex;
    align-items: center;
    gap: 8px;
}

.dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.35);
    border: none;
    cursor: pointer;
    transition: background 0.3s, transform 0.3s;
    padding: 0;
}

.dot.active {
    background: #e8c000;
    transform: scale(1.3);
} */


/*
.nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.12);
    border: 0.5px solid rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
    backdrop-filter: blur(4px);
}

.nav-btn:hover {
    background: rgba(255, 255, 255, 0.25);
}

.nav-prev {
    left: 1rem;
}

.nav-next {
    right: 1rem;
}

.progress-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2.5px;
    background: #e8c000;
    width: 0%;
    transition: width 0s linear;
}

.progress-bar.running {
    transition: width 4s linear;
    width: 100%;
} */

/* 固定装飾 */
.slide::before {
    content: '';
    position: absolute;
    top: 26%;
    right: 0;
    width: 157px;
    height: 90px;
    background: url(../img/top/deco01.svg) no-repeat center / contain;
    z-index: 0;
    pointer-events: none;
    z-index: 1;
}

.slide::after {
    content: '';
    position: absolute;
    bottom: 2%;
    left: 0;
    width: 377px;
    height: 237px;
    background: url(../img/top/deco02.svg) no-repeat center / contain;
    z-index: 0;
    pointer-events: none;
}

/* 固定ボタン */
.mv-cta-wrap {
    position: absolute;
    bottom: 2rem;
    right: 2rem;
}

.mv-cta {
    position: relative;
    display: inline-block;
    background: linear-gradient(249deg, #7DC0E2 -30.09%, #06C 53.42%);
    border-radius: 60px;
    padding: 1rem 1.8rem 1rem;
    text-decoration: none;
    text-align: center;
    min-width: 260px;
}

.mv-cta__tag {
    position: absolute;
    top: -16px;
    left: 0.2rem;
    background: #fff;
    color: #0066CC;
    font-size: 16px;
    font-weight: 700;
    padding: 8px 18px;
    border-radius: 20px;
    white-space: nowrap;
}

.mv-cta__tag::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 8px solid #fff;
    background: none;
    clip-path: none;
}

.mv-cta__inner {
    margin-top: 0.3rem;
}

.mv-cta__main {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #fff;
}

.mv-cta__deco {
    width: 11px;
    height: 14px;
    margin-top: 6px;
}

.mv-cta__main img:nth-child(2) {
    width: 24px;
    height: 24px;
}

.mv-cta__title {
    font-size: 20px;
    color: #fff;
    letter-spacing: 0.05em;
}

.mv-cta__sub {
    font-size: 14px;
    color: #fff;
    margin-top: 4px;
    letter-spacing: 0.03em;
}

.mv-cta__deer {
    position: absolute;
    top: -37px;
    right: 30px;
    width: 60px;
    pointer-events: none;
}

/* ホバー */
.mv-cta {
    transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease;
}

.mv-cta:hover {
    transform: translateY(-4px);
    filter: brightness(1.15);
    box-shadow: 0 8px 24px rgba(33, 150, 243, 0.4);
}


.top-news {
    padding: 55px 0;
    background: #F2F8FF;
}

.top-news__inner {
    background: #fff;
    border-radius: 0 30px 30px 0;
    margin-right: 10%;
    padding: 1.5em 2rem 1em 6rem;
}

.top-news_wrap {
    display: flex;
    align-items: baseline;
}

.top-news__head {
    flex-shrink: 0;
    padding-right: 3.5rem;
}

.top-news__title {
    font-size: 24px;
    color: #0066CC;
}

.top-news__en {
    font-size: 16px;
    color: #1A1A1A;
    margin-top: 4px;
}

.top-news__list li {
    flex: 1;
    list-style: none;
    border-left: 1px solid #1A1A1A;
    padding-left: 2.5em;
    margin-bottom: 1em;
}

.top-news__link {
    display: flex;
    align-items: center;
    gap: 3rem;
    padding: 0.3rem 0;
    text-decoration: none;
    color: #1A1A1A;
    transition: opacity 0.2s;
}

.top-news__link:hover {
    opacity: 0.7;
}

.top-news__date {
    flex-shrink: 0;
    color: #1A1A1A;
    min-width: 90px;
}

.top-news__text {
    flex: 1;
    color: #1A1A1A;
}

.top-news__arrow {
    flex-shrink: 0;
    width: 24px;
    height: 5px;
}

.top-column {
    background: #F2F8FF;
    padding-bottom: 60px;
}

.inner_1000 {
    max-width: 1000px !important;
    position: relative;
    margin: 0 auto;
}

.inner_1200 {
    max-width: 1200px !important;
    position: relative;
    margin: 0 auto;
}

.inner_1400 {
    max-width: 1400px !important;
    position: relative;
    margin: 0 auto;
    padding-left: 10%;
}

@media (max-width: 900px) {
    .inner_1000 {
        width: 90%;
    }

    .inner_1200 {
        width: 90%;
    }

    .inner_1400 {
        width: 90%;
        padding-left: 0;
    }
}

.top-column__title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #0066CC;
    color: #fff;
    font-size: 24px;
    padding: 8px 20px;
    border-radius: 4px;
}

.top-column__title span {
    font-size: 16px;
    font-weight: 400;
}

/* Slickのローディング画像エラーを無効化 */
.slick-loading .slick-list {
    background: transparent !important;
}

.slick-loading .slick-slide {
    visibility: visible !important;
}

/* Slick スライダーのコンテナ */
.top_slider.slick-slider {
    position: relative;
    padding: 40px 0;
}

@media (max-width: 900px) and (min-width: 0px) {
    .top_slider.slick-slider {
        padding: 20px;
    }
}

/* スライド項目 */
.top_slider .slick-item {
    padding: 0 10px;
}

/* PC用：デフォルトスタイル */
@media (min-width: 1025px) {
    .top_slider .slick-item {
        margin-bottom: 0 !important;
        padding: 0 10px !important;
    }
}

/* Slickが自動計算した幅を上書きしないようにする */
.top_slider .slick-slide {
    float: left;
    height: auto;
    min-height: 1px;
}

/* スライダー全体の幅を確保 */
.top_slider .slick-list {
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.top_slider .slick-track {
    display: flex !important;
}

/* スライドカード全体 */
.top_slider .slider-card {
    display: block;
    text-decoration: none;
    color: inherit;
    background: #fff;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #CBCBCB;
}

/* 画像エリア */
.top_slider .slider-thumb-wrap {
    position: relative;
    overflow: hidden;
}

/* カテゴリー（赤帯） */
.top_slider .slider-cat {
    position: absolute;
    top: 0;
    left: 0;
    background-color: #e60012;
    color: white;
    padding: 4px 12px;
    font-size: 12px;
    font-weight: bold;
    z-index: 10;
}

/* 画像のサイズ統一 */
.top_slider .slider-thumb {
    width: 100%;
    height: 200px;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* 画像がない場合の白背景 */
.top_slider .slider-no-image {
    width: 100%;
    height: 200px;
    background-color: #fff;
    display: block;
}

/* テキストコンテンツエリア */
.top_slider .slider-content {
    padding: 12px;
    background: #fff;
}

/* タイトル */
.top_slider .slider-title {
    font-size: 14px;
    line-height: 1.5;
    font-weight: 500;
    color: #333;
    margin-bottom: 8px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 42px;
}

/* 日付 */
.top_slider .slider-date {
    font-size: 15px;
    color: #fff;
    background: #ED9F42;
    display: inline-block;
    padding: 4px 6px;
    border-radius: 2px;
    line-height: 1;
    margin-bottom: 7px;
    font-weight: 300;
}

/* タイトル見出し */
.top_slider_title {
    padding: 80px 0px 0px 0px;
    font-size: 40px;
    font-weight: 700;
    text-align: center;
    line-height: 1.5;
    color: #0066cc;
}

@media (max-width: 900px) and (min-width: 0px) {
    .top_slider_title {
        padding: 40px 0px 0px 0px;
        font-size: 5.866vw;
        font-weight: 700;
        text-align: center;
        line-height: 1.5;
    }
}

/* Slick スライダーの矢印ボタン */
.top_slider .slick-prev,
.top_slider .slick-next {
    position: absolute;
    bottom: -34px;
    z-index: 100;
    width: 50px;
    height: 50px;
    border: none;
    background-color: transparent;
    cursor: pointer;
    border-radius: 0;
    font-family: sans-serif !important;
}

.top_slider .slick-prev:hover,
.top_slider .slick-next:hover {
    background-color: transparent;
    opacity: 0.7;
}

.top_slider .slick-prev {
    left: 20px;
}

.top_slider .slick-next {
    right: 20px;
}

.top_slider .slick-prev:before {
    content: '';
    display: block;
    width: 50px;
    height: 50px;
    background: url(../img/common/arrow04.svg) no-repeat center / contain;
    transform: scaleX(-1);
    font-family: Arial, sans-serif !important;
}

.top_slider .slick-next:before {
    content: '';
    display: block;
    width: 50px;
    height: 50px;
    background: url(../img/common/arrow04.svg) no-repeat center / contain;
    font-family: Arial, sans-serif !important;
}

/* スマホ・タブレット対応 */
@media (max-width: 1024px) {

    .top_slider .sp-hidden {
        display: none !important;
    }

    .top_slider .slick-item {
        margin-bottom: 20px;
        padding: 0 !important;
    }

    .top_slider .slick-item:last-child {
        margin-bottom: 0;
    }

    .top_slider .slider-thumb,
    .top_slider .slider-no-image {
        width: 100%;
        height: 200px;
        object-fit: cover;
        object-position: center;
    }

    .top_slider .slider-card {
        width: 100%;
        display: block;
    }

    .top_slider .slick-prev,
    .top_slider .slick-next {
        width: 40px;
        height: 40px;
    }

    .top_slider .slick-prev:before,
    .top_slider .slick-next:before {
        width: 40px;
        height: 40px;
    }

    .top_slider .slick-prev {
        left: 10px;
    }

    .top_slider .slick-next {
        right: 10px;
    }
}

.top-business-lead {
    position: relative;
    padding: 10px 0 120px;
    background: #F2F8FF;
}


.top-business-lead::before {
    content: '';
    position: absolute;
    top: 20%;
    left: 0;
    width: 90%;
    height: 80%;
    background: linear-gradient(180deg, #7DC0E2 0%, #0066CC 100%);
    border-radius: 0 20px 20px 0;
    z-index: 0;
}

.top-business-lead_inner {
    background: #fff;
    border-radius: 30px 0 0 30px;
    margin-left: 10%;
    padding: 4em 6rem;
    z-index: 1;
    position: relative;
}

.top-business-lead__upper {
    margin-bottom: 3rem;
}

.top-business-lead__catch {
    font-size: 35px;
    margin-bottom: 1rem;
}

.top-business-lead__tags {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 1.5rem;
    align-items: end;
}

.top-business-lead__tags img {
    width: 87px;
    height: 87px;
}

.top-business-lead__tags span {
    font-size: 35px;
}

.top-business-lead__title {
    font-size: 35px;
    line-height: 1.5;
}

.top-business-lead__lower {
    display: flex;
    align-items: center;
    gap: 4rem;
}

.top-business-lead__venn {
    flex-shrink: 0;
    width: 47%;
}

.top-business-lead__venn img {
    width: 100%;
}

.top-business-lead__text {
    flex: 1;
}

.top-business-lead__bg-text {
    position: absolute;
    bottom: -50px;
    right: 10%;
    z-index: 1;
}

.top-business-lead__bg-text img {
    width: 100%;
}

.top-business-list {
    position: relative;
    padding: 145px 0 75px;
    background: #F2F8FF;
}

.top-business-list__title {
    font-size: clamp(20px, 2.2vw, 30px);
    font-weight: 700;
    color: #0066CC;
    text-align: center;
    margin-bottom: 1.5rem;
}

.top-business-list__desc {
    text-align: center;
    margin-bottom: 3rem;
    line-height: 2;
}

.top-business-list__desc p {
    font-size: clamp(13px, 1.1vw, 16px);
    color: #1A1A1A;
}

.top-business-list__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    list-style: none;
    margin-bottom: 3rem;
}

.top-business-list__grid li a {
    display: block;
    text-decoration: none;
    color: #1A1A1A;
    transition: opacity 0.2s;
}

.top-business-list__grid li a:hover {
    opacity: 0.75;
}

.top-business-list__img {
    border-radius: 5px 5px 0 0;
    overflow: hidden;
}

.top-business-list__img img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
}

.top-business-list__text {
    display: flex;
    align-items: center;
    color: #0066CC;
    padding: 22px 4px;
    flex-direction: column;
    gap: 14px;
    background: #fff;
    border-radius: 0 0 5px 5px;
}

.top-business-list__arrow {
    width: 30px;
    height: 6px;
    flex-shrink: 0;
}

.top-business-list__btn {
    text-align: center;
    margin-top: 3rem;
}

.top-strength {
    padding: 80px 0;
    background: #fff;
}

.top-strength__inner {
    display: flex;
    align-items: center;
    gap: 4rem;
}

.top-strength__img {
    flex-shrink: 0;
    width: 45%;
}

.top-strength__img img {
    width: 100%;
}

.top-strength__text {
    flex: 1;
}

.top-strength__head {
    margin-bottom: 1.5rem;
}

.top-strength__title {
    font-size: clamp(22px, 2.2vw, 32px);
    font-weight: 700;
    color: #0066CC;
    letter-spacing: 0.1em;
    margin-bottom: 4px;
}

.top-strength__en {
    font-size: 14px;
    color: #1A1A1A;
}

.top-strength__catch {
    font-size: clamp(15px, 1.4vw, 20px);
    font-weight: 700;
    color: #0066CC;
    line-height: 1.7;
    margin-bottom: 1.5rem;
}

.top-strength__desc {
    font-size: clamp(13px, 1.1vw, 15px);
    line-height: 1.9;
    color: #1A1A1A;
    margin-bottom: 2rem;
}

/* 実績・セミナー＋会社案内ラッパー */
.top-cards-company-wrap {
    position: relative;
    overflow: hidden;
}

/* 装飾 */
.top-deco {
    position: absolute;
    pointer-events: none;
    z-index: 0;
}

.top-deco--bl {
    bottom: -84px;
    left: 0;
    width: 300px;
    z-index: 0;
}

.top-deco--br {
    bottom: 0;
    right: 0;
    width: 300px;
}

/* 実績・セミナー */
.top-cards {
    padding: 0 0 80px;
    background: #ffffff;
    position: relative;
    z-index: 1;
}

.top-cards__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 80px;
    z-index: 1;
    position: relative;
}

.top-cards__item {
    display: block;
    background: #E7F0FA;
    border-radius: 12px;
    /* overflow: hidden; */
    text-decoration: none;
    color: #1A1A1A;
    transition: opacity 0.2s;
    padding: 24px 24px 30px 70px;
    position: relative;
}

.top-cards__item:hover {
    opacity: 0.8;
}

.top-cards__img-wrap {
    position: relative;
    border-radius: 6px;
    overflow: hidden;
}

.top-cards__img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    display: block;
}

.top-cards__label {
    position: absolute;
    left: 20px;
    top: 24px;
    height: 50%;
    width: auto;
}

.top-cards__body {
    padding: 1.5rem 0 2rem;
    position: relative;
}

.top-cards__title {
    font-size: clamp(18px, 1.8vw, 24px);
    color: #0066CC;
    text-align: center;
    margin-bottom: 1rem;
}

.top-cards__desc {
    font-size: clamp(13px, 1.1vw, 15px);
    line-height: 1.8;
    color: #1A1A1A;
}

.top-cards__arrow {
    position: absolute;
    bottom: -49px;
    width: 72px;
    height: 72px;
    right: -35px;
}

/* 会社案内 */
.top-company {
    padding: 80px 0;
    background: #e7f0fa;
    position: relative;
    z-index: 0;
}

.top-company__inner {
    display: flex;
    align-items: center;
    gap: 4rem;
}

.top-company__text {
    flex: 1;
}

.top-company__img {
    flex-shrink: 0;
    width: 45%;
    border-radius: 6px;
    overflow: hidden;
}

.top-company__img img {
    width: 100%;
    display: block;
}

.top-company__head {
    margin-bottom: 1.5rem;
}

.top-company__title {
    font-size: clamp(22px, 2.2vw, 32px);
    font-weight: 700;
    color: #0066CC;
    margin-bottom: 4px;
}

.top-company__en {
    font-size: 14px;
    color: #1A1A1A;
}

.top-company__catch {
    font-size: clamp(16px, 1.6vw, 22px);
    font-weight: 700;
    color: #0066CC;
    margin-bottom: 1.5rem;
    background: linear-gradient(transparent 65%, rgb(255 224 186 / 100%) 35%);
    display: inline-block;
}

.top-company__desc {
    font-size: clamp(13px, 1.1vw, 15px);
    line-height: 1.9;
    color: #1A1A1A;
    margin-bottom: 2rem;
}

.top-company__btns {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.top-recruit {
    padding: 60px 0 0 0;
    background: #e7f0fa;
    position: relative;
    z-index: 1;
    border-radius: 0 0 40px 40px;
}

.top-recruit__inner {
    display: flex;
    align-items: center;
    margin: 0 auto;
    background-image:
        linear-gradient(rgba(0, 102, 204, 0.39), rgba(0, 102, 204, 0.39)),
        linear-gradient(250deg, #7DC0E2 -3.62%, #06C 62.67%);
    border-radius: 40px;
    overflow: hidden;
    width: 100%;
}

.top-recruit__left {
    position: relative;
    width: 55%;
    flex-shrink: 0;
}

.top-recruit__collage {
    width: 100%;
    display: block;
    margin-top: -17%;
    margin-left: -15%;
    margin-bottom: 23px;
}

.top-recruit__bg-text {
    position: absolute;
    top: 28px;
    left: 46px;
    width: 100px;
    pointer-events: none;
}

.top-recruit__right {
    padding: 3rem 3rem 3rem 2rem;
    color: #fff;
    flex: 1;
}

.top-recruit__head {
    margin-bottom: 2rem;
}

.top-recruit__title {
    font-size: clamp(22px, 2.2vw, 32px);
    font-weight: 700;
    color: #fff;
    margin-bottom: 4px;
}

.top-recruit__en {
    font-size: 14px;
    color: rgb(255 255 255);
}

.top-recruit__desc {
    font-size: clamp(13px, 1.1vw, 16px);
    line-height: 2;
    color: #fff;
    margin-bottom: 2.5rem;
}

.top-recruit .c_btn01 {
    background-image: none;
    background: #fff;
    color: #0066CC;
    z-index: 2;
}

.top-recruit .c_btn01::after {
    background: url(../img/common/arrow04.svg) no-repeat center / contain;
    filter: none;
}

.top-recruit .c_btn01:hover {
    filter: brightness(0.95);
}

.r_contact {
    position: relative;
    padding: 139px 0 118px;
    background: url(../img/common/contact_bg.jpg) no-repeat center bottom / cover;
    margin-top: -60px;
    z-index: 0;
}

.r_contact__inner {
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
    background: linear-gradient(250deg, rgba(125, 192, 226, 0.82) -3.62%, rgba(0, 102, 204, 0.82) 62.67%);
    border-radius: 10px;
    padding: 4rem 2rem;
    text-align: center;
}

.r_contact__title {
    font-size: clamp(22px, 2.2vw, 32px);
    font-weight: 700;
    color: #fff;
    margin-bottom: 4px;
}

.r_contact__en {
    font-size: 13px;
    color: rgb(255 255 255);
    margin-bottom: 1rem;
}

.r_contact__desc {
    font-size: clamp(13px, 1.1vw, 16px);
    color: #fff;
    margin-bottom: 2rem;
}

.r_contact__btn {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0px;
    background: #fff;
    border-radius: 50em;
    padding: 23px 40px 10px;
    text-decoration: none;
    color: #0066CC;
    font-size: clamp(14px, 1.2vw, 18px);
    font-weight: 700;
    min-width: 320px;
    position: relative;
    transition: filter 0.2s;
}

.r_contact__btn:hover {
    filter: brightness(0.95);
}

.r_contact__btn-main {
    display: flex;
    align-items: center;
    gap: 10px;
}

.r_contact__btn-main img:first-child {
    width: 20px;
    height: 20px;
}

.r_contact__arrow {
    width: 30px;
    height: 6px;
}

.r_contact__note {
    font-size: 11px;
    color: #0066CC;
    font-weight: 400;
    margin-top: 2px;
}

.r_contact__deer {
    position: absolute;
    bottom: -15px;
    left: -28px;
    width: 64px;
    pointer-events: none;
}

.r_footer {
    background: #fff;
    padding: 60px 0 0;
}

.r_footer__inner {
    display: flex;
    gap: 4rem;
    max-width: 1200px;
    width: 94%;
    margin: 0 auto;
    padding-bottom: 40px;
}

/* 左エリア */
.r_footer__left {
    flex-shrink: 0;
    width: 44%;
}

.r_footer__logo {
    width: 16em;
    margin-bottom: 1.5rem;
}

.r_footer__address {
    font-size: 13px;
    line-height: 1.8;
    color: #1A1A1A;
    margin-bottom: 1.5rem;
    font-weight: 400;
}

.r_footer__icons {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 1.5rem;
}

.r_footer__icons div {
    width: 100px;
}

.r_footer__icons img {
    width: 100%;
}

.r_footer__group {
    background: #F2F8FF;
    border-radius: 20px;
    padding: 16px;
}

.r_footer__group-title {
    font-size: 15px;
    color: #0066CC;
    margin-bottom: 10px;
}

.r_footer__group-logos {
    display: flex;
    gap: 20px;
    align-items: center;
}

.r_footer__group-logos a {
    display: block;
    transition: opacity 0.2s;
}

.r_footer__group-logos a:hover {
    opacity: 0.7;
}

.r_footer__group-logos a:nth-child(1) {
    width: calc(30% - 20px);
}

.r_footer__group-logos a:nth-child(2) {
    width: calc(25% - 20px);
}

.r_footer__group-logos a:nth-child(3) {
    width: calc(45% - 20px);
}

.r_footer__group-logos a img {
    width: 100%;
    border-radius: 4px;
    display: block;
}

/* 右エリア */
.r_footer__right {
    flex: 1;
}

.r_footer__nav {
    display: flex;
    gap: 2rem;
    margin-bottom: 2rem;
}

.r_footer__nav-col {
    list-style: none;
    flex: 1;
}

.r_footer__nav-col li {
    margin-bottom: 8px;
}

.r_footer__nav-col li a {
    font-size: 13px;
    color: #1A1A1A;
    text-decoration: none;
    transition: color 0.2s;
    font-weight: 400;
}

.r_footer__nav-col li a:hover {
    color: #0066CC;
}

.r_footer__nav-head>a {
    font-weight: 500 !important;
}

.r_footer__nav-btn {
    margin-top: 13px;
    margin-bottom: 13px !important;
}

.r_footer__contact-btn {
    display: inline-block;
    background: #0066CC;
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
    padding: 12px 22px;
    border-radius: 50em;
    text-decoration: none;
    transition: filter 0.2s;
    text-align: center;
}

.r_footer__contact-btn:hover {
    filter: brightness(1.1);
}

.r_footer__policy {
    list-style: none;
    margin-bottom: 1rem;
}

.r_footer__policy li {
    margin-bottom: 6px !important;
}

.r_footer__policy li a {
    font-size: 12px;
    color: #1A1A1A;
    text-decoration: none;
    transition: color 0.2s;
}

.r_footer__policy li a:hover {
    color: #0066CC;
}

.r_footer__sns {
    display: flex;
    gap: 10px;
    justify-content: end;
}

.r_footer__pagetop-wrap {
    display: flex;
    justify-content: flex-end;
    padding-top: 1.5rem;
}

.r_footer__pagetop {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    color: #0066CC;
    text-decoration: none;
    white-space: nowrap;
}

.r_footer__pagetop-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: #0066CC;
    border-radius: 50%;
    position: relative;
}

.r_footer__pagetop-arrow::before {
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(-45deg);
    margin-top: 4px;
}

/* コピーライト */
.r_footer__copy {
    text-align: center;
    font-size: 12px;
    color: #1A1A1A;
    padding: 20px 0;
    font-weight: 300;
}


/* 下層ページ　共有 */
.r_page_hero {
    background: #EBF4FF;
    padding: 4rem 0 3rem;
    margin-top: 121px;
}

.r_page_hero__inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    max-width: 1200px;
    width: 94%;
    margin: 0 auto;
}

.r_page_hero__title {
    font-size: clamp(22px, 2.5vw, 36px);
    color: #0066CC;
    margin-bottom: 4px;
}

.r_page_hero__en {
    font-size: 14px;
    color: #1A1A1A;
    font-weight: 400;
}

.r_page_hero__bread {
    font-size: 13px;
    color: #1A1A1A;
}

.breadcrumb ul li:last-child {
    color: #0066cc;
}

#kasou footer {
    margin-top: 40px !important;
}

/* ==============================
       ヘッダー背景色変更
============================== */
.r_header .u_change {
    display: none;
}

header.change-color {
    background-color: #ebf4ff;
}

header.change-color .r_header .u_change {
    display: inline-block;
}

header.change-color .r_header .u_base {
    display: none;
}

header.change-color .r_header a {
    color: #0066CC;
}

header.change-color .nav_u01 {
    background: url(../img/common/arrow05.svg) no-repeat top 9px right 0px / 13px;
}

header.change-color .h_con a {
    color: #fff !important;
}

header.change-color .h_link a {
    color: #fff !important;
}

/* ==============================
      900〜1240px調整
============================== */
@media (max-width: 1240px) and (min-width: 900px) {
    .nav {
        gap: 8px;
        margin: 10px 0;
    }

    .r_header a {
        font-size: 13px;
    }

    .logo {
        width: 15em;
    }

    .mv_list {
        width: 50%;
    }

    .mv_list li {
        font-size: 14px;
        padding: 17px 6px;
    }

    .slide::after {
        width: 200px;
        bottom: 0%;
    }

    .mv_list02 {
        width: 85%;
    }

    .top-business-lead_inner {
        padding: 2em 3rem;
    }

    .inner_1200 {
        width: 96%;
    }

    .top-company__btns {
        flex-wrap: wrap;
    }

    .r_footer__contact-btn {
        font-size: 12px !important;
        padding: 10px 17px;
    }
}


/* ==============================
      SP調整
============================== */

@media (max-width: 900px) {
    .logo {
        width: 16em;
    }

    /* ==============================
       MV スライダー
    ============================== */
    .mv-wrap {
        height: 92vh;
    }

    #slide-2 img {
        object-position: 80% top;
    }

    .slide-text {
        top: 55%;
        left: 2rem;
        right: 1rem;
    }

    .slide-text__title {
        font-size: clamp(18px, 5vw, 26px);
        margin-bottom: 1rem;
    }

    .slide-text__desc {
        font-size: clamp(11px, 3vw, 14px);
        margin-bottom: 1rem;
    }

    .slide-text__btn {
        gap: 20px;
        padding: 6px 8px 6px 16px;
        font-size: clamp(11px, 3vw, 14px);
    }

    .slide-text__btn img {
        width: 28px;
        height: 28px;
    }

    .c_btn01 {
        font-size: clamp(12px, 3.5vw, 16px);
        padding: 12px 64px;
        min-width: auto;
    }

    .c_btn01::after {
        width: 26px;
    }

    .mv_list {
        /* grid-template-columns: repeat(2, 1fr); */
        gap: 8px;
        margin-top: 1rem;
    }

    .mv_list li {
        font-size: 10px;
        padding: 14px 7px;
        flex-wrap: wrap;
    }

    .mv_list02 {
        flex-wrap: wrap;
        gap: 8px;
    }

    .mv_list02 li {
        width: calc(25% - 8px);
        font-size: 11px;
    }

    #slide-2 .mv_list02 {
        gap: 4px;
        margin-top: 1.0rem;
    }

    #slide-2 .mv_list02 li {
        width: calc(20% - 8px);
        font-size: 10px;
        letter-spacing: 0;
    }

    .slide::before {
        width: 80px;
        height: 46px;
        top: 13%;
    }

    .slide::after {
        width: 141px;
        height: 115px;
    }

    .mv-cta-wrap {
        bottom: 1rem;
        right: 1rem;
    }

    .mv-cta {
        min-width: auto;
        padding: 0.4rem 1.2rem 0.7em;
        border-radius: 40px;
    }

    .mv-cta__tag {
        font-size: 12px;
        padding: 6px 12px;
    }

    .mv-cta__title {
        font-size: 13px;
    }

    .mv-cta__sub {
        font-size: 10px;
        margin-top: -1px;
    }

    .mv-cta__main {
        gap: 6px;
    }

    .mv-cta__main img:nth-child(2) {
        width: 16px;
        height: 16px;
    }

    .mv-cta__deer {
        width: 40px;
        top: -23px;
        right: 20px;
    }

    /* ==============================
       お知らせ・コラム
    ============================== */
    .top-news {
        padding: 30px 0;
    }

    .top-news__inner {
        border-radius: 0 20px 20px 0;
        padding: 1.5em 1.5rem 1em 1.5rem;
        margin-right: 5%;
    }

    .top-news__head {
        margin-bottom: 10px;
    }

    .top-news_wrap {
        flex-direction: column;
    }

    .top-news__title {
        font-size: 18px;
    }

    .top-news__list li {
        padding-left: 1.2em;
    }

    .top-news__link {
        flex-wrap: wrap;
        gap: 0.6rem;
    }

    .top-news__date {
        width: 100%;
    }

    .top-news__text {
        flex: 1;
    }

    .top-news__arrow {
        flex-shrink: 0;
    }

    .top-column {
        padding-bottom: 0 !important;
        padding-top: 0 !important;
    }

    .top-column__title {
        font-size: 18px;
    }

    .top-column__title span {
        font-size: 13px;
    }

    /* ==============================
       business-lead
    ============================== */
    .top-business-lead {
        padding-top: 0 !important;
    }

    .top-business-lead::before {
        top: 10%;
        width: 94%;
        height: 90%;
        border-radius: 0 20px 20px 0;
    }

    .top-business-lead_inner {
        margin-left: 30px;
        border-radius: 30px 0 0 30px;
        padding: 2em 1rem;
    }

    .top-business-lead__catch {
        font-size: 18px;
        margin-bottom: 9px;
    }

    .top-business-lead__tags {
        /* flex-wrap: wrap; */
        gap: 4px;
    }

    .top-business-lead__tags img {
        width: 50px;
        height: 50px;
    }

    .top-business-lead__tags span {
        font-size: 13px;
    }

    .top-business-lead__title {
        font-size: 17px;
    }

    .top-business-lead__upper {
        margin-bottom: 1rem;
    }

    .top-business-lead__lower {
        flex-direction: column;
        gap: 2rem;
    }

    .top-business-lead__venn {
        width: 90%;
        margin: 0 auto;
    }

    .top-business-lead__bg-text {
        bottom: -18px;
        right: 24px;
        width: 60%;
    }

    /* ==============================
       business-list
    ============================== */
    .top-business-list {
        padding: 100px 0 50px;
    }

    .top-business-list__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .top-business-list__img img {
        height: 140px;
    }

    .top-business-list__text {
        font-size: 13px;
        padding: 14px 4px;
        gap: 8px;
    }

    /* ==============================
       top-strength
    ============================== */
    .top-strength {
        padding: 50px 0;
    }

    .top-strength__inner {
        flex-direction: column;
        gap: 2rem;
    }

    .top-strength__img {
        width: 90%;
        margin: 0 auto;
    }

    /* ==============================
       top-cards
    ============================== */
    .top-cards {
        padding: 0 0 50px !important;
    }

    .top-cards__grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .top-cards__item {
        padding: 16px 16px 24px 31px;
    }

    .top-cards__label {
        left: 10px;
        top: 16px;
        height: 40%;
    }

    .top-cards__img {
        height: 180px;
    }

    .top-cards__arrow {
        width: 50px;
        height: 50px;
        bottom: -30px;
        right: -20px;
    }

    .top-deco--bl {
        width: 200px;
        bottom: -54px;
    }

    /* ==============================
       top-company
    ============================== */
    .top-company {
        padding: 50px 0;
    }

    .top-company__inner {
        flex-direction: column;
        gap: 2rem;
    }

    .top-company__img {
        width: 100%;
    }

    .top-company__btns {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }

    .top-deco--br {
        width: 200px;
        bottom: -7px;
    }

    /* ==============================
       top-recruit
    ============================== */
    .top-recruit {
        padding: 40px 0 0 !important;
        border-radius: 0 0 20px 20px;
    }

    .top-recruit__inner {
        flex-direction: column;
        border-radius: 20px;
    }

    .top-recruit__left {
        width: 100%;
    }

    .top-recruit__collage {
        margin-top: 0;
        margin-left: 0;
        margin-bottom: 0;
    }

    .top-recruit__bg-text {
        width: 60px;
        top: 16px;
        left: 16px;
    }

    .top-recruit__right {
        padding: 2rem 1.5rem;
    }

    .top-recruit__title {
        font-size: 24px;
    }

    .top-recruit__desc {
        font-size: 14px;
    }

    /* ==============================
       r_contact
    ============================== */
    .r_contact {
        padding: 80px 0 80px !important;
        margin-top: -41px;
    }

    .r_contact__inner {
        width: 90%;
        padding: 2.5rem 1.5rem;
    }

    .r_contact__title {
        font-size: 22px;
    }

    .r_contact__btn {
        min-width: auto;
        width: 90%;
        padding: 16px 20px 10px;
    }

    .r_contact__deer {
        width: 48px;
        left: -16px;
        bottom: -17px;
    }

    /* ==============================
       r_footer
    ============================== */
    .r_footer {
        padding: 40px 0 0 !important;
    }

    .r_footer__inner {
        flex-direction: column;
        gap: 2rem;
        width: 90%;
        padding-bottom: 20px;
    }

    .r_footer__left {
        width: 100%;
    }

    .r_footer__logo {
        width: 19em;
        margin-bottom: 1rem;
    }

    .r_footer__icons div {
        width: 70px;
    }

    .r_footer__nav {
        flex-wrap: wrap;
        row-gap: 0.5rem;
        margin-bottom: 0;
    }

    .r_footer__nav-col {
        padding-top: 0.8rem;
        margin-bottom: 0.8rem;
        width: calc(50% - 1rem);
        flex: none;
    }

    .r_footer__pagetop-wrap {
        padding-top: 0;
        margin-top: -40px;
    }

    .r_footer__sns {
        justify-content: flex-start;
    }

    /* ==============================
       下層ページ共通
    ============================== */
    .r_page_hero {
        padding: 2rem 0 1.5rem;
        margin-top: 56px;
    }

    .r_page_hero__inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
        width: 90%;
        margin-top: 20px;
    }

    .r_page_hero__title {
        font-size: clamp(20px, 6vw, 28px);
    }

    .breadcrumb .wrap_960 {
        width: 100%;
    }

    .r_page_hero__bread {
        margin-left: auto;
    }

    .r_header {
        padding: 0;
    }

    header.change-color {
        height: 56px;
    }

    header.change-color {
        background-color: #ebf4ff;
        height: 56px;
    }

    h1.logo {
        padding-top: 10px;
    }
}

/* ==============================
　特設ページ
============================== */
.rebranding .slide img {
    transform: scale(1);
    transition: none;
    object-position: bottom;
}

.rebranding .slide-text {
    opacity: 1;
    transform: translateY(-50%);
}

.rebranding .slide {
    width: 100%;
}

.rb-mv__bg-text {
    position: absolute;
    bottom: 10%;
    left: 5rem;
    font-size: clamp(40px, 10vw, 460px);
    max-width: 88vw;
    font-weight: 700;
    color: rgb(255 255 255);
    white-space: nowrap;
    letter-spacing: 0.1em !important;
    pointer-events: none;
    z-index: 0;
    text-decoration: underline;
    text-underline-offset: 24px;
    letter-spacing: 0.3rem;
    text-decoration-thickness: 1px;
}

.rebranding .slide-text {
    top: 44%;
}

.rebranding .slide-text__date {
    letter-spacing: 0.1em !important;
    font-size: 22px;
    font-weight: 400;
}

.float_r-img {
    float: right;
    width: 36%;
    margin-left: 15px;
    margin-bottom: 15px;
}

.rebranding01 {
    padding: 80px 0 130px;
    background: #F2F8FF;
}

.rebranding_tit01 {
    font-size: clamp(20px, 2.2vw, 30px) !important;
    font-weight: 700;
    color: #0066CC;
    text-align: center;
    line-height: 1.5;
    margin-bottom: 4rem;
}

.rebranding_tit02 {
    font-size: clamp(16px, 1.8vw, 24px) !important;
    font-weight: 700;
    margin-bottom: 2rem;
}

.r_last_sec {
    padding-bottom: 124px;
}

.mincho {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
    font-weight: 600;
}

.right {
    text-align: right !important;
}

.bg_inpages {
    background: #ffffff;
    transform: translate(0px, -86px);
    padding: 4px;
    border-radius: 0.5em 0.5em 0 0;
    margin-bottom: -86px;
}

.rebranding_photoArea {
    margin-top: 40px;
}

.rebranding .slick-slide {
    margin: 0 15px;
}

.rebranding02 {
    padding-bottom: 80px;
}

.rb-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-top: 3rem;
}

.rb-card {
    background: #F2F8FF;
    border-radius: 12px;
    padding: 1.5rem;
}

.rb-card__label {
    font-size: 20px;
    font-weight: 700;
    color: #1A1A1A;
    margin-bottom: 1rem;
    text-align: center;
    line-height: 1.3;
}

.rb-card__label span {
    font-size: 13px;
    font-weight: 400;
}

.rb-card__img {
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 1rem;
    aspect-ratio: 16 / 9;
}

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

.rb-card__img--logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #fff;
    padding: 1.5rem;
    aspect-ratio: 16 / 9;
}

.rb-card__img--logo img {
    width: 60%;
    height: auto;
    object-fit: contain;
    margin-bottom: 0.8rem;
}

.rb-card__tag {
    font-size: 11px;
    color: #0066CC;
    text-align: center;
}

.rb-card__title {
    font-size: clamp(14px, 1.4vw, 18px);
    font-weight: 700;
    color: #0066CC;
    margin-bottom: 0.8rem;
    text-align: center;
}

.mb0 {
    margin-bottom: 0 !important;
}

.rb-card__desc {
    font-size: clamp(12px, 1vw, 14px);
    line-height: 1.8;
    color: #1A1A1A;
}

.rebranding03 {
    position: relative;
    padding: 100px 0;
    overflow: hidden;
    background: url("../img/rebranding/statement_bg.jpg") center center / cover no-repeat;
}

.rebranding03::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgb(6 19 47 / 48%);
    z-index: 0;
}

.rebranding03__bg-text {
    position: absolute;
    bottom: -17px;
    right: 0;
    font-size: clamp(60px, 10vw, 140px);
    font-weight: 700;
    color: rgba(255, 255, 255, 0.1);
    white-space: nowrap;
    pointer-events: none;
    letter-spacing: 0.05em !important;
    z-index: 1;
}

.rebranding03 .inner_1000 {
    position: relative;
    z-index: 2;
}

.rebranding03__head {
    margin-bottom: 2.5rem;
}

.rebranding03__title {
    font-size: clamp(24px, 2.5vw, 36px);
    font-weight: 700;
    color: #fff;
    margin-bottom: 4px;
}

.rebranding03__sub {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
}

.rebranding03__body p {
    font-size: clamp(13px, 1.1vw, 16px);
    line-height: 2;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 1.5rem;
}

.rebranding03__catch {
    font-size: clamp(18px, 1.8vw, 24px) !important;
    font-weight: 700;
    color: #fff !important;
    margin-bottom: 2rem !important;
}

.rebranding03__accent {
    font-weight: 700;
    color: #fff !important;
}

.rebranding03__last {
    font-weight: 700;
    color: #fff !important;
    font-size: clamp(15px, 1.3vw, 18px) !important;
}

.rebranding03__sig {
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: 13px !important;
    margin-top: -0.5rem !important;
}

.rebranding04 {
    padding: 80px 0 0;
    background: #ebf4ff;
}

.rebranding04 .rebranding_tit01 {
    margin-bottom: 0;
}

.rebranding_tit01__sub {
    text-align: center;
    font-size: 16px;
    color: #1A1A1A;
    margin-top: 0.5rem;
}

.rb-sticky {
    display: flex;
    justify-content: space-between;
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 2rem;
    margin-top: 60px;
}

.rb-sticky__contents {
    width: 55%;
}

.rb-sticky__item {
    padding-top: 40vh;
}

.rb-sticky__item:first-child {
    padding-top: 0;
}

.rb-sticky__item:last-child {
    padding-bottom: 20vh;
}

.rb-sticky__title {
    font-size: clamp(18px, 1.8vw, 24px);
    font-weight: 700;
    color: #0066CC;
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
    background: linear-gradient(transparent 65%, rgb(255 224 186 / 100%) 35%);
    display: inline-block;
}

.rb-sticky__lead {
    font-size: 18px !important;
    font-weight: 700;
    margin-bottom: 1rem;
}

.rb-sticky__item p {
    font-size: clamp(13px, 1vw, 15px);
}

.rb-sticky__images {
    width: 40%;
    height: calc(100vh - 310px);
    display: flex;
    align-items: center;
    position: sticky;
    top: 149px;
}

.rb-sticky__images p {
    height: 100%;
    width: 100%;
    margin: auto;
    display: block;
    visibility: hidden;
    position: absolute;
    top: 0;
    bottom: 0;
    transition: opacity 0.8s;
    opacity: 0;
    z-index: 0;
}

.rb-sticky__images p img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.rb-sticky__images p.active {
    visibility: visible;
    opacity: 1;
    z-index: 1;
}

.rebranding05 {
    background: linear-gradient(249deg, #7DC0E2 -30.09%, #06C 53.42%);
    overflow: hidden;
}

.rebranding05__inner {
    display: flex;
    align-items: flex-start;
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

.rebranding05__scrolls-wrap {
    display: contents;
}

/* 左右スクロール画像エリア */
.rebranding05__scroll {
    width: 300px;
    flex-shrink: 0;
    overflow: hidden;
    height: 700px;
}

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

.rebranding05__scroll li {
    margin-bottom: 20px;
}

.rebranding05__scroll li img {
    width: 100%;
    object-fit: cover;
    display: block;
}

.rebranding05__scroll--left ul {
    animation: scroll-up 20s infinite linear;
}

.rebranding05__scroll--right ul {
    animation: scroll-down 20s infinite linear;
}

@keyframes scroll-up {
    from {
        transform: translateY(0);
    }

    to {
        transform: translateY(-50%);
    }
}

@keyframes scroll-down {
    from {
        transform: translateY(-50%);
    }

    to {
        transform: translateY(0);
    }
}

/* 中央テキスト */

.rebranding05 .rebranding_tit01 {
    margin-top: 60px;
}

.rebranding05__text {
    flex: 1;
    text-align: center;
    color: #fff;
}

.rebranding05 .rebranding_tit01 {
    color: #fff;
    margin-bottom: 2rem;
}

.rebranding05__text p {
    font-size: 15px;
    color: #fff;
    margin-bottom: 1.5rem;
}

.rebranding05__btn-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    margin-top: 2rem;
}

.rebranding05__btn {
    display: inline-block;
    position: relative;
    background: #fff;
    color: #0066CC;
    font-size: 15px;
    padding: 13px 53px 13px 20px;
    border-radius: 50em;
    text-decoration: none;
    text-align: center;
    transition: filter 0.3s ease;
}

.rebranding05__btn::after {
    content: '';
    display: inline-block;
    background: url('../img/common/arrow04.svg') no-repeat center / contain;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 7px;
}

.rebranding05__btn:hover {
    filter: brightness(0.95);
}

/* SP用画像はPCでは非表示 */
.rb-sticky__sp-img {
    display: none;
}

/* ==============================
      900〜1240px調整
============================== */
@media (max-width: 1040px) and (min-width: 900px) {
    .inner_1000 {
        width: 90%;
    }
}

@media (max-width: 1240px) and (min-width: 900px) {
    .rebranding05__scroll {
        width: 184px;
    }
}

/* ==============================
      SP調整
============================== */

@media (max-width: 900px) {
    .rb-mv__bg-text {
        right: 0;
        left: unset;
        font-size: clamp(33px, 9vw, 441px);
    }

    .rb-card__label {
        font-size: 16px;
    }

    .rb-card__label span {
        font-size: 11px;
    }

    /* rebranding02 */
    .rb-cards {
        grid-template-columns: 1fr;
    }

    /* rebranding01 */
    .float_r-img {
        float: none;
        width: 90%;
    }

    /* rebranding04 */
    .rb-sticky__sp-img {
        display: block;
        margin-top: 1.5rem;
    }

    .rb-sticky__sp-img img {
        width: 100%;
        object-fit: contain;
    }

    /* PC用の画像エリアは非表示 */
    .rb-sticky__images {
        display: none !important;
    }

    .rebranding04 {
        padding: 40px 0 0;
    }

    .rebranding_tit01__sub {
        font-size: 14px;
    }

    .rb-sticky {
        flex-direction: column;
        margin-top: 30px;
        padding: 0 1.5rem;
    }

    .rb-sticky__contents {
        width: 100%;
    }

    .rb-sticky__images {
        display: block;
        width: 100%;
        height: auto;
        position: static;
    }

    .rb-sticky__images p {
        position: static;
        visibility: visible;
        opacity: 1;
        height: auto;
        margin-bottom: 1rem;
    }

    .rb-sticky__images p img {
        width: 100%;
        height: 200px;
        object-fit: contain;
    }

    .rb-sticky__item {
        padding-top: 3rem;
    }

    .rb-sticky__item:first-child {
        padding-top: 0;
    }

    .rb-sticky__item:last-child {
        padding-bottom: 20px;
    }

    .rb-sticky__title {
        font-size: 18px;
    }

    .rb-sticky__lead {
        font-size: 15px !important;
    }

    .rb-sticky__item p {
        font-size: 13px;
        line-height: 1.8;
    }

    /* rebranding05 */
    .rebranding05__inner {
        flex-direction: column;
        gap: 30px;
        padding: 0;
    }

    .rebranding05 .rebranding_tit01 {
        margin-top: 1rem;
    }

    .rebranding05__text p {
        font-size: 14px;
    }

    /* 両方表示 */
    .rebranding05__scroll--left,
    .rebranding05__scroll--right {
        display: flex;
        gap: 8px;
        width: 100%;
        height: auto;
        overflow: visible;
    }

    /* 1つ目のulだけ表示・横並び */
    .rebranding05__scroll--left ul,
    .rebranding05__scroll--right ul {
        display: flex;
        flex-direction: row;
        gap: 8px;
        animation: none;
        width: 100%;
        justify-content: space-between;
    }

    /* 2つ目のulは非表示 */
    .rebranding05__scroll--left ul+ul,
    .rebranding05__scroll--right ul+ul {
        display: none;
    }

    .rebranding05__scroll--left li,
    .rebranding05__scroll--right li {
        width: calc(33.33% - 6px);
        flex-shrink: 0;
        margin-bottom: 0;
    }

    .rebranding05__scroll--left li img,
    .rebranding05__scroll--right li img {
        width: 100%;
        object-fit: cover;
    }

    /* 右側を下に移動 */
    .rebranding05__scroll--right {
        order: 3;
    }

    .rebranding05__text {
        width: 100%;
        order: 2;
    }

    .rebranding05__scroll--left {
        order: 1;
    }

    .rebranding05__btn {
        width: 263px;
        font-size: 14px;
        padding: 14px 49px;
    }

    .rebranding05__btn-wrap {
        flex-direction: column;
        align-items: center;
    }
}

/* ==============================
　トピックス　強制　青ボタン
============================== */
.single_sec .wrap_960>div a[href*="/topics/"] {
    background: linear-gradient(to bottom,
            #ffffff 0px,
            #ffffff 20px,
            #0066CC 20px,
            #0066CC 100%) !important;
}

/* ==============================
　下層微調整
============================== */

.c_sec.c_last_sec {
    overflow: scroll;
}

.solution_content_lead.lead_one {
    margin-top: 40px !important;
    margin-bottom: 20px !important;
}

#kasou * {
    letter-spacing: 0.01em;
}
