@charset "UTF-8";

/*==================================
1000px以下
==================================*/
@media (max-width: 1000px) {
    .pc_br {
        display: none;
    }

    .sp_br {
        display: block;
    }

    .pc_img {
        display: none;
    }

    /*ヘッダー  */
    .hmb {
        display: block;
    }

    .header_navi {
        display: none;
    }


    /*メインビジュアル */
    .main_visual {
        background-image: url(../images/main-visual--sp.jpg);
        background-size: cover;
        background-position: center top;
    }

    .mainvisual_content {
        width: 80%;
        text-align: center;
        top: 45%;
        left: 50%;
        transform: translateX(-50%);
    }

    .main_visual_mask {
        display: none;
    }

    .site_title {
        background-color: rgb(255, 250, 255, 0.4);
        padding: 30px 20px;
    }

    .site_title_top {
        font-size: 1rem;
    }

    .site_main_title {
        font-size: 2rem;
    }

    .site_title_bottom {
        font-size: 1rem;
    }

    .contact_btn--orange {
        width: 80%;
        margin: 0 auto;
        text-align: center;
        margin-top: 0px;
    }

    /*お悩み＆課題解決 */
    .worries_area {
        margin: 50px auto 50px;
    }

    .worries_area::before {
        bottom: -100px;
    }

    .worries_item_description {
        font-size: 0.875rem;
    }

    /* プラスが解決します */

    .worries_area_title {
        font-size: 1rem;
        margin-bottom: 60px;
    }

    .solution_item_img {
        width: 50px;
    }

    .solution_description {
        font-size: 1rem;
        margin-bottom: 30px;
    }

    /* 5つの特徴 */
    #service {
        padding-bottom: 0px;
    }

    .reasons {
        max-width: 1000px;
        margin: 0 auto;
    }

    /* 特徴1～3 */
    .reason_item {
        padding: 50px 40px;
    }

    .reason_title h2 {
        text-align: left;
    }

    .reason_description {
        grid-template-columns: 1fr;
    }

    .reason_description--reverse {
        grid-template-columns: 1fr;
    }

    .reason_description img {
        margin: 0 auto;
    }

    .sp_img {
        display: block;
        width: 50%;
        margin: 0 auto;
    }

    /* 特徴3・4 */
    .reason_item_bottom {
        flex-direction: column;
        gap: 30px;
    }

    .reason_item--small {
        width: 100%;
        padding: 50px 40px;
    }

    .reason_title--small {
        display: flex;
        align-items: center;
        margin-bottom: 30px;
    }

    /* CTAエリア*/
    .cta {
        height: 300px;
    }

    .cta_contents {
        width: 100%;
        left: 0%;
        height: 300px;
    }

    .cta_contents h2 {
        font-size: 1.5rem;
        margin-bottom: 10px;
    }

    .cta_image {
        display: none;
    }

    .cta_btn--orange {
        width: 500px;
        text-align: center;
        margin: 50px auto 0;
    }

    .cta_btn--orange p {
        font-size: 1.5rem;
    }

    .cta_btn--orange a span {
        font-size: 1.5rem;
        margin-right: 1rem;
    }

    .cta_btn--orange a:hover {
        transform: translateY(-2px);
        box-shadow: 0 15px 30px -5px rgb(0 0 0 / 15%), 0 0 5px rgb(0 0 0 / 10%);
    }

    /* ご利用のながれ */
    .flow_item_area {
        max-width: 1000px;
        margin: 0 auto;
        gap: 20px;
    }
}

/*==================================
640px以下
==================================*/
@media screen and (max-width: 688px) {

    /* ご利用のながれ*/
    .flow_item:not(:last-child)::before {
        display: none;
    }
}

/*==================================
450px以下
==================================*/
@media screen and (max-width: 450px) {

    /* セクションタイトル*/
    .section_main_title {
        font-size: 1.5rem;
        margin-bottom: 30px;
    }

    .section_sub_title {
        font-size: 0.875rem;
        width: 250px;
        margin-bottom: 10px;
    }

    .section_sub_title img {
        width: 80px;
    }

    .catch .section_main_title span {
        font-size: 1.5rem;
    }

    /* ヘッダー*/
    header {
        padding: 0 4%;
        height: 60px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: relative;
    }

    .header_logo img {
        width: 90px;
        padding-bottom: 6px;
    }

    .mainvisual_content {
        width: 95%;
        top: 35%;
    }

    .site_title_top {
        font-size: 0.875rem;
        margin-bottom: 10px;
    }

    .site_main_title {
        font-size: 1.25rem;
        margin-bottom: 10px;
    }

    .site_title_bottom {
        font-size: 0.875rem;
        font-weight: bold;
    }

    /* お問い合わせボタン */
    .contact_btn--orange {
        width: 100%;
        text-align: center;
        margin-top: 30px;
    }

    .contact_btn--orange a {
        font-size: 1rem;
    }

    .contact_btn--orange a:after {
        display: none;
    }

    /* メインビジュアル*/
    .main_visual {
        height: calc(100dvh - 60px);
    }

    /* お悩み＆課題解決*/
    .introduction {
        padding-top: 50px;
    }

    .introduction_title {
        font-size: 1rem;
    }

    .introduction_title--green {
        font-size: 1.25rem;
    }

    .worries_area {
        margin: 30px auto 0px;
        flex-direction: column;
    }

    .worries_area::before {
        bottom: -50px;
    }

    .worries_item {
        margin-bottom: 30px;
    }

    .worries_img {
        width: 100px;
        height: 100px;
        margin: 0 auto 10px;
    }

    .worries_item_description {
        margin: 0 auto;
    }

    /* プラスが解決します */
    .solution_area {
        margin-top: 100px;
        padding-bottom: 50px;
    }

    .worries_area_title {
        font-size: 1rem;
        margin-bottom: 30px;
    }

    .worries_area_title span {
        font-size: 1.5rem;
    }

    .solution_item_area {
        flex-direction: column;
        gap: 30px;
    }

    .solution_item {
        width: 100%;
        margin: 0 auto;
    }

    .solution_item_text {
        font-size: 1.25rem;
    }

    .solution_description {
        font-size: 0.875rem;
    }

    /* 5つの特徴*/
    #service {
        padding-top: 50px;
    }

    .reason_item {
        margin-bottom: 50px;
        padding: 4%;
        background-color: #fff;
        border-radius: 20px;
        position: relative;
        box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.4);
    }

    .reason_item--small {
        padding: 20px 4%;
    }

    .reason_number {
        width: 60px;
    }

    .reason_title h2 {
        font-size: 1rem;
        margin-left: 5px;
    }

    .reason_title--small h2 {
        font-size: 1rem;
    }

    /* 他社との比較*/
    /* 他社との比較*/
    .table_area {
        width: 100%;
        margin: 0 auto;
    }

    .table_area .thead {
        display: none;
    }

    .table_area tr {
        width: 100%;
    }

    .table_area tr td {
        display: flex;
        align-items: center;
        justify-content: space-between;
        text-align: right;
        width: 100%;
        line-height: 50px;
    }
    .table_area tr td:first-child{
        justify-content: center;
    }

    .table_area td:first-of-type {
        background: #D9D9D9;
        font-weight: bold;
        text-align: center;
        display: flex;
        align-items: center;

    }

    .table_area td:before {
        content: attr(data-label);
        float: left;
        font-weight: bold;
        margin-right: 10px;
    }

    .bg--orange {
        font-size: 1rem;
        margin-bottom: 50px;
        border: 5px solid #F59E0B;
        border-radius: 10px;
    }

    /* CTAエリア*/
    .cta {
        height: 250px;
    }

    .cta_contents h2 {
        font-size: 1rem;
    }

    .cta_btn--orange {
        width: 100%;
    }

    .cta_btn--orange p {
        font-size: 1rem;
        margin-bottom: 8px;
        margin-left: 10px;
        font-weight: 600;
        color: #fff;
        letter-spacing: 0.04rem;
        display: inline-block;
        position: relative;
    }

    .cta_btn--orange a {
        padding: 0;
        font-size: 1rem;
        height: 50px;
    }

    .cta_btn--orange a span {
        font-size: 1.5rem;
        margin-right: 0;
    }

    .cta_btn--orange a::after {
        font-size: 1.25rem;
        line-height: 40px;
        width: 40px;
        height: 40px;
    }

    /* よくある質問*/
    .qa__item {
        padding: 50px 0px;
    }

    /* フッター*/
    .footer_navi ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .footer_navi ul li {
        padding: 20px;
    }

    .footer_navi ul li:not(:last-child) {
        border-right: none;
    }
}