@charset "UTF-8";

/* 共通 */

body {
    font-family: 'Noto Serif JP Regular', 'Noto Serif JP Bold' !important;
    color: #1f1f1f;
}

.ly_inner {
    max-width: 1000px;
    width: 100%;
    margin: auto;
}

a {
    cursor: pointer;
    display: inline-block;
    transition: .3s;
}

a:hover {
    opacity: .7;
}

strong {
    font-weight: bold;
}

.u_hidden_sp {
    display: block;
}

.u_hidden_pc {
    display: none !important;
}

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

    .u_hidden_sp {
        display: none;
    }

    .u_hidden_pc {
        display: block;
    }

    img {
        width: 100%;
        display: block;
        height: auto;
    }
}

/* header */

header {
    position: fixed;
    width: 100% !important;
    background: #ffffff;
    z-index: 999;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    top: 0;
}

.bl_header {
    padding: 10px 0;
}

.bl_header_right {
    gap: 20px;
}

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

    .bl_header {
        padding: 1.563vw 4.688vw;
    }


    .bl_header_left {
        width: 29.531vw;
    }

    .bl_header_right_btn01 {
        width: 45.313vw;
    }
}

/* fixed */

@media screen and (max-width: 640px) {
    .bl_fixed_link {
        width: 90.313vw;
        position: fixed;
        z-index: 999;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
    }
}

/* fv */

.bl_fv {
    background-image: url(../img/pc_fv_bg.jpg);
    background-position: top;
    background-size: cover;
    background-repeat: no-repeat;
    text-align: center;
    padding: 80px 0;
    margin-top: 76px;
}

.bl_fv_text {
    text-align: left;
}

.bl_fv_item {
    text-align: left;
    margin-top: 50px;
}

@media screen and (max-width: 640px) {
    .bl_fv {
        background-image: url(../img/sp_fv_bg.jpg);
        padding: 6.25vw 0 0 0;
        margin-top: 11.875vw;
        background-size: contain;
    }

    .bl_fv_text {
        width: 89.219vw;
    }

    .bl_fv_item {
        margin: 0 calc(50% - 50vw);
        margin-top: 9.063vw;
        background-color: #005388;
        padding: 1.563vw 0 2vw;
    }

    .bl_fv_item img{
      display: block;
      width: 93.594vw;
      margin: 0 auto;
    }
}

/* info */

.ly_info {
    padding: 30px 0;
    background-color: #f1faff;
    background-size: cover;
    background-repeat: no-repeat;
    text-align: center;
}

.bl_info_container {
    background-image: url(../img/pc_info_bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    padding: 30px 0;
    max-width: 1000px;
    width: 100%;
}

.bl_info_container_ttl {
    margin-top: 20px;
}

.bl_info_container_item {
    margin-top: 30px;
}

.bl_info_container_item02 {
    margin-top: 30px;
}

.bl_info_container_text {
    font-size: 16px;
    margin-top: 30px;
    line-height: 1.5;
    font-weight: bold;
}

.bl_info_container_btn {
    margin-top: 30px;
}

@media screen and (max-width: 640px) {
    .ly_info {
        padding: 4.688vw 0;
    }

    .bl_info_container {
        padding: 4.688vw 0;
        background: #ffffff;
        width: 94.063vw;
        margin: auto;
        background-position: center;
        box-shadow: 0px 0px 2.344vw -1.25vw #777777;
    }


    .bl_info_container_ttl {
        width: 16.25vw;
        margin: auto;
        margin-top: 3.125vw;
    }

    .bl_info_container_item {
        width: 78.594vw;
        margin: auto;
        margin-top: 4.688vw;
    }

    .bl_info_container_item02 {
        width: 79.844vw;
        margin: auto;
        margin-top: 4.688vw;
    }

    .bl_info_container_btn {
        margin-top: 4.688vw;
    }

    .bl_info_container_text {
        font-size: 3.75vw;
        margin-top: 4.688vw;
        line-height: 1.5;
    }

    .bl_info_container_btn_content {
        width: 84.375vw;
        margin: auto;
    }
}

/* trouble */

.ly_trouble {
    background-image: url(../img/pc_trouble_bg.png);
    background-position: top;
    background-size: contain;
    background-repeat: no-repeat;
    padding: 30px 0;
    text-align: center;
}

.bl_trouble_text {
    margin-top: 40px;
}

@media screen and (max-width: 640px) {
    .ly_trouble {
        background-image: none;
        padding: 0 0 7.813vw 0;
    }
}

/* solution */

.ly_solution {
    text-align: center;
    background-image: url(../img/pc_solution_bg.png);
    background-position: bottom;
    background-size: contain;
    background-repeat: no-repeat;
    padding-bottom: 160px;
}

.bl_solution_container {
    padding: 45px 0;
    margin-top: 80px;
    border-top: 1px solid #d9d9d9;
    border-bottom: 1px solid #d9d9d9;
}

.bl_solution_container.ver02 {
    margin: 0;
}

.bl_solution_container_right {
    text-align: left;
}

.bl_solution_container_right_ttl .ttl01 {
    font-size: 36px;
    font-weight: bold;
    color: #003e65;
    padding-right: 20px;
    border-right: 1px solid #333333;
}

.bl_solution_container_right_ttl .ttl02 {
    font-size: 24px;
    font-weight: bold;
    padding-left: 20px;
}

.bl_solution_container_right_text {
    font-size: 16px;
    line-height: 1.6;
    margin-top: 20px;
}

.bl_solution_container_right_list {
    margin-top: 20px;
}

.bl_solution_image {
    padding-bottom: 45px;
    border-bottom: 1px solid #d9d9d9;
}

@media screen and (max-width: 640px) {
    .ly_solution {
        background-image: url(../img/sp_solution_bg.png);
        padding-bottom: 25vw;
    }


    .bl_solution_container {
        padding: 0 0 7.031vw 0;
        margin-top: 9.375vw;
        flex-wrap: wrap;
        gap: 4.688vw;
        border: none;
    }

    .bl_solution_container_image {
        width: 90.625vw;
        margin: auto;
    }

    .bl_solution_ttl {
        width: 89.219vw;
        margin: auto;
    }

    .bl_solution_container_right {
        margin: 0 4.688vw 0 4.688vw;
        padding-bottom: 10.938vw;
        border-bottom: 1px solid #d9d9d9;
    }

    .bl_solution_container_right.ver02 {
        padding: 0;
        border: none;
    }


    .bl_solution_container_right_ttl .ttl01 {
        font-size: 6.875vw;
        padding-right: 3.125vw;
        line-height: 1;
    }

    .bl_solution_container_right_ttl .ttl02 {
        font-size: 4.688vw;
        font-weight: bold;
        padding-left: 3.125vw;
    }

    .bl_solution_container_right_text {
        font-size: 4.063vw;
        line-height: 1.6;
        margin-top: 3.125vw;
    }

    .bl_solution_container_right_list {
        margin-top: 3.125vw;
    }

    .bl_solution_image {
        padding-bottom: 0;
        margin: auto;
        border: none;
        width: 90.625vw;
    }

}

/* comparison */

.ly_comparison {
    text-align: center;
    background-color: #f1faff;
    padding: 80px 0;
}

.bl_comparison_image {
    margin-top: 50px;
}

.bl_comparison_text {
    margin-top: 50px;
}

.bl_comparison_btn {
    margin-top: 30px;
}

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

    .ly_comparison {
        padding: 15.625vw 0;
    }

    .bl_comparison_ttl {
        width: 89.844vw;
        margin: auto;
    }

    .bl_comparison_image {
        width: 96.25vw;
        margin: auto;
        margin-top: 7.813vw;
    }

    .bl_comparison_image02 {
        width: 83.75vw;
        margin: auto;
    }

    .bl_comparison_text {
        margin: auto;
        margin-top: 7.813vw;
        width: 73.594vw;
    }

    .bl_comparison_btn {
        margin: auto;
        margin-top: 4.688vw;
        width: 88.438vw;
    }
}

/* report */

.ly_report {
    text-align: center;
    padding: 0 0 70px 0;
}

.bl_report_ttl {
    background-image: url(../img/pc_report_title_bg.png);
    background-position: top;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 50px 0;
}

.bl_report_container_list {
    margin-top: 30px;
}

.bl_report_container {
    margin-top: 60px;
}

.bl_report_container_text {
    text-align: left;
    font-size: 24px;
    font-weight: bold;
    color: #003e65;
    position: relative;
    padding-left: 30px;
}

.bl_report_container_text::before {
    position: absolute;
    left: 0;
    content: '';
    display: inline-block;
    width: 22px;
    height: 22px;
    background: url(../img/pc_report_heading_deco.png) no-repeat;
    background-size: contain;
    background-position: center;
    vertical-align: middle;
}

.bl_report_container_text::after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 29%;
    height: 1px;
    background: #003e65;
    background-size: contain;
    background-position: center;
}

.bl_report_container_image {
    margin-top: 30px;
}

.bl_report_container_text.ver02::after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 79%;
    height: 1px;
    background: #003e65;
    background-size: contain;
    background-position: center;
}

.bl_report_btn {
    margin-top: 40px;
}

@media screen and (max-width: 640px) {
    .ly_report {
        text-align: center;
        padding: 0 0 10.938vw 0;
    }

    .bl_report_ttl_container {
        background-image: url(../img/sp_report_title_bg.png);
    }

    .bl_report_container {
        margin-top: 9.375vw;
    }

    .bl_report_container .splide {
        margin-top: 6.25vw;
    }

    .bl_report_container .splide__list {
        height: auto;
    }

    .bl_report_ttl {
        background-image: none;
        padding: 7.813vw 0;
        width: 85.156vw;
        margin: auto;
    }

    .bl_report_container_text {
        text-align: left;
        font-size: 5.313vw;
        padding: 0 4.688vw 0 9.688vw;
        line-height: 1.2;
    }

    .bl_report_container_text::after {
        display: none;
    }

    .bl_report_container_text::before {
        position: absolute;
        left: 4.344vw;
        top: 1.563vw;
        content: '';
        display: inline-block;
        width: 3.438vw;
        height: 3.438vw;
    }

    .bl_report_container .splide__arrow--next {
        right: 4em;
    }

    .bl_report_container .splide__arrow--prev {
        left: 4em;
    }

    .bl_report_container .splide__arrow {
        width: 9.375vw;
        height: 9.375vw;
        background: #e55f10;
        opacity: 1;
        box-shadow: 0px 0.781vw 0px rgba(162, 53, 10, 1);
    }

    .bl_report_container .splide__arrow svg {
        fill: #fff;
    }

    .bl_report_container .splide__pagination {
        bottom: -5.687vw;
    }

    .bl_report_container .splide__pagination__page {
        width: 7.813vw;
        border-radius: 0;
        height: 1.25vw;
        margin: 0 0.938vw;
    }

    .splide__pagination__page.is-active {
        background: #e55f10;
        transform: scale(1);
    }

    .bl_report_container_text.ver02 {
        margin-top: 18.75vw;
    }

    .bl_report_container_text.ver02::after {
        display: none;
    }

    .bl_report_container_image {
        width: 90.625vw;
        margin: auto;
        margin-top: 4.688vw;
    }

    .bl_report_btn {
        width: 88.438vw;
        margin: auto;
        margin-top: 6.25vw;
    }
}

/* flow */

.ly_flow {
    padding: 80px 0 110px 0;
    background-color: #f1faff;
    text-align: center;
}

.bl_flow_image {
    margin-top: 60px;
}

@media screen and (max-width: 640px) {
    .ly_flow {
        padding: 17.188vw 0;
    }

    .bl_flow_ttl {
        width: 55.937vw;
        margin: auto;
    }

    .bl_flow_image {
        margin: auto;
        margin-top: 9.375vw;
        width: 90.781vw;
    }
}

/* qa */

.ly_qa {
    text-align: center;
    padding: 80px 0;
}

.bl_qa_ttl {
    margin-bottom: 30px;
}


/* アコーディオン */

.bl_qa_accordion {
    margin: 0 auto 20px auto;
    max-width: 900px;
    width: 100%;
}

.bl_qa_accordion-q {
    cursor: pointer;
    padding: 30px;
    background: none;
    width: 100%;
    border: none;
    border-bottom: 1px solid #dbe7ed;
}

.bl_qa_accordion-q .symbol {
    width: 18px;
    height: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.bl_qa_accordion-q .symbol span {
    background-color: #003e65;
    width: 100%;
    height: 2px;
    transition: all 0.4s ease;
}

.bl_qa_accordion-q .symbol span:nth-of-type(1) {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.bl_qa_accordion-q .symbol span:nth-of-type(2) {
    transform: rotate(-90deg);
}

.bl_qa_accordion-q-text {
    color: #1e1e1e;
    font-size: 18px;
    font-weight: bold;
    flex: 1;
}

.bl_qa_accordion-q-text .text {
    line-height: 1.5;
    color: #333333;
    font-size: 16px;
    font-weight: bold;
    position: relative;
    padding-left: 30px;
    padding-right: 30px;
}

.bl_qa_accordion-q-text .text::before {
    content: '';
    display: inline-block;
    width: 3px;
    height: 40px;
    position: absolute;
    background: #dbe7ed;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.bl_qa_accordion-q-text:before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 24px;
    background-image: url(../img/pc_faq_q_icon.png);
    background-repeat: no-repeat;
    padding-right: 50px;
}

.bl_qa_accordion-a {
    background-color: #ffffff;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease;
    border-radius: 10px;
}

.bl_qa_accordion-a-text {
    padding: 30px;
    text-align: left;
    font-weight: bold;
}

.bl_qa_accordion-a-text:before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 24px;
    background-image: url(../img/pc_faq_a_icon.png);
    background-repeat: no-repeat;
    padding-right: 50px;
}

.bl_qa_accordion-a-text .text {
    line-height: 1.5;
    color: #333333;
    font-size: 16px;
    position: relative;
    padding-left: 30px;
}

.bl_qa_accordion-a-text .text span {
    color: #e55f10;
    font-weight: bold;
}

.bl_qa_accordion-a-text .text:before {
    content: '';
    display: inline-block;
    width: 3px;
    height: 40px;
    position: absolute;
    background: #dbe7ed;
    top: 20px;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.bl_qa_accordion-a-text .red {
    color: #dc3545;
}

.bl_qa_accordion-a-text .image {
    margin-right: 20px;
    margin-top: 10px;
}

.js-q.active .symbol span:nth-of-type(2) {
    transform: rotate(0deg);
}

/* アコーディオン */

@media screen and (max-width: 640px) {
    .ly_qa {
        text-align: center;
        padding: 12.5vw 0;
    }

    .bl_qa_ttl {
        margin: auto;
        margin-bottom: 4.688vw;
        width: 44.375vw;
    }

    .bl_qa_accordion {
        margin: 0 auto 20px auto;
        max-width: 90vw;
        width: 100%;
    }

    .bl_qa_accordion-q {
        padding: 4.688vw;
    }

    .bl_qa_accordion-q-text {
        color: #1e1e1e;
        font-size: 4.063vw;
        font-weight: bold;
    }

    .bl_qa_accordion-q-text:before {
        width: 3.125vw;
        height: 3.75vw;
        padding-right: 7.813vw;
        background-size: contain;
        margin-top: 1vw;
    }

    .bl_qa_accordion-q-text .text::before {
        width: 0.469vw;
        height: 6.25vw;
        top: 4.125vw;
        left: 0%;
    }

    .bl_qa_accordion-q-text .text {
        line-height: 1.5;
        color: #333333;
        font-size: 4.063vw;
        font-weight: bold;
        position: relative;
        padding-left: 4.688vw;
        padding-right: 4.688vw;
        text-align: left;
    }

    .bl_qa_accordion-q .symbol {
        width: 2.813vw;
        height: 2.813vw;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
    }

    .bl_qa_accordion-a-text {
        padding: 4.688vw;
        text-align: left;
        font-weight: bold;
    }

    .bl_qa_accordion-a-text:before {
        content: '';
        display: inline-block;
        width: 3.125vw;
        height: 3.75vw;
        background-image: url(../img/pc_faq_a_icon.png);
        background-repeat: no-repeat;
        padding-right: 7.813vw;
        margin-top: 1vw;
        background-size: contain;
    }

    .bl_qa_accordion-a-text .text {
        line-height: 1.5;
        color: #333333;
        font-size: 4.063vw;
        font-weight: bold;
        position: relative;
        padding-left: 4.688vw;
    }

    .bl_qa_accordion-a-text .text:before {
        content: '';
        display: inline-block;
        width: 0.469vw;
        height: 6.25vw;
        position: absolute;
        background: #dbe7ed;
        top: 4.125vw;
        left: 0%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
    }

}


footer {
    background-color: #003e65;
}

.bl_footer_list {
    padding: 70px 0;
}

.bl_footer_list_item {
    margin-top: 20px;
    gap: 40px;
}

.bl_footer_list_item_text01 {
    width: 8%;
    color: #fff;
    text-align: right;
}

.bl_footer_list_item_text02 {
    color: #fff;
    line-height: 24px;
}

small {
    text-align: center;
    display: block;
    padding: 20px 0;
    color: #fff;
    border-top: 1px solid #fff;
}

@media screen and (max-width: 640px) {
    .bl_footer_list {
        padding: 10.938vw 4.688vw;
    }

    .bl_footer_list_item_text01 {
        width: 20%;
        font-size: 3.125vw;
        color: #fff;
        text-align: right;
    }

    .bl_footer_list_item_text02 {
        color: #fff;
        width: 67%;
        font-size: 3.125vw;
        line-height: 4.375vw;
    }

    small {
        text-align: center;
        display: block;
        font-size: 2.813vw;
        padding: 3.125vw 0;
        color: #fff;
        border-top: 1px solid #fff;
    }
}
