@charset 'UTF-8';
@media screen and (max-width:768px) {
    * {
        box-sizing: border-box;
        -webkit-text-size-adjust: 100%;
    }

    html,
    body,
    div,
    span,
    object,
    iframe,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    blockquote,
    pre,
    abbr,
    address,
    cite,
    code,
    del,
    dfn,
    em,
    img,
    ins,
    kbd,
    q,
    samp,
    small,
    strong,
    sub,
    sup,
    var,
    b,
    i,
    dl,
    dt,
    dd,
    ol,
    ul,
    li,
    fieldset,
    form,
    label,
    legend,
    table,
    caption,
    tbody,
    tfoot,
    thead,
    tr,
    th,
    td,
    article,
    aside,
    canvas,
    details,
    figcaption,
    figure,
    footer,
    header,
    hgroup,
    menu,
    nav,
    section,
    summary,
    time,
    mark,
    audio,
    video {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
        outline: 0;
        border: 0;
        background: transparent;
        vertical-align: baseline;
        font-size: 100%;
    }

    img {
        max-width: 100%;
        height: auto;
    }
    body {
        line-height: 1;
    }

    article,
    aside,
    details,
    figcaption,
    figure,
    footer,
    header,
    hgroup,
    menu,
    nav,
    section {
        display: block;
        list-style: none;
    }

    a {
        margin: 0;
        padding: 0;
        background: transparent;
        color: #333;
        vertical-align: baseline;
        text-decoration: none;
    }

    a:hover {
        text-decoration: underline;
    }
    table {
        border-spacing: 0;
        border-collapse: collapse;
    }
    input,
    select {
        vertical-align: middle;
    }
    select {
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: none transparent;
        color: inherit;
        vertical-align: middle;
        font-size: inherit;
    }

    select {
        text-indent: .01px;
        text-overflow: '';
        -moz-appearance: none;
    }
    select::-ms-expand {
        display: none;
    }
    ul li {
        list-style: none;
    }
    .sp_off {
        display: none;
    }

    html {
        width: 100%;
        height: 100%;
    }
    header {
        height: 70px;
        position: relative;
    }
    body {
        position: relative;
        min-height: 100%;
        width: 100%;
        height: 100%;
        color: #333;
        font-family: 'Noto Sans JP', sans-serif;
        line-height: 1.75;
        font-size: 16px;
    }
    sup {
        vertical-align: top;
        font-size: 12px;
    }
    .clearfix {
        display: block;
    }
    .inner {
        margin: 0 auto;
    }
    .txt_center {
        text-align: center;
    }
    .bold {
        font-weight: 700;
    }
    .orange {
        color: #fe7801;
    }

/* ヘッダー */
    .h_wrap {
        position: fixed;
        background: rgba(255, 255, 255, .9);
        width: 100%;
        z-index: 100;
    }
    .head_contact {
        padding-left: 5px;
        vertical-align: text-bottom;
    }
    .h_logo {
        display: inline-block;
    }
    .h_contact {
        vertical-align: top;
    }
    .head_right {
        display: block
    }
    .head_right li {
        display: block;
    }
    .h_block {
        height: 70px;
        padding: 15px 0;
        margin: 0 24px;
    }
    .hamburger {
        flex-direction: column;
        justify-content: space-between;
        width: 20px;
        height: 16px;
        background: none;
        border: none;
        cursor: pointer;
        padding: 0;
        z-index: 1001;
        display: flex;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 1.2rem;
    }
    .hamburger span {
        height: 2px;
        width: 20px;
        background: #083388;
        transition: all 0.3s ease;
        border-radius: 2px;
    }
    .hamburger.active span:nth-child(1) {
        transform: translateY(9px) rotate(45deg);
    }
    .hamburger.active span:nth-child(2) {
        opacity: 0;
    }
    .hamburger.active span:nth-child(3) {
        transform: translateY(-5px) rotate(-45deg);
    }
    .menu_area {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100%;
        background: #fff;
        backdrop-filter: blur(4px);
        transition: right 0.3s ease;
        z-index: 1000;
        padding: 2rem 1.5rem;
    }
    .menu_area.open {
        right: 0;
    }
    .menu--list {
        display: block;
        gap: 0;
    }
    .menu--item,
    .header__inquiry {
        margin-bottom: 1.5rem;
    }
    .menu--item {
        padding: 0;
    }
    .menu_area {
        display: block;
    }
    .menu--list li a {
        font-size: 16px;
    }


    h2,
    .title_answer {
        padding: 10px 0;
        color: #333;
        text-align: center;
        font-size: clamp(22px, 5.2vw, 28px);
        line-height: normal;
        letter-spacing: normal;
    }
    .title_accent {
        color: #083388;
    }

/* メインビジュアル */
    .key_vis {
        width: 100%;
        background-image: image-set(url(./img/mv_background_sp.jpg));
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        overflow: hidden;
    }
    .top_box {
        width: 90%;
        height: clamp(350px, 90vw, 480px);
        margin: 0 auto;
        padding-top: 3vw;
    }
    .ttl_sub {
        padding-bottom: 14px;
        margin-bottom: 24px;
    }

    .ttl_main {
        width: 100%;
        max-width: 450px;
        margin-bottom: 2vw;
        position: relative;
        z-index: 1;
    }
    .ttl_main::before {
        content: "";
        position: absolute;
        left: 53%;
        bottom: -34px;
        transform: translateX(-50%);
        width: 120%;
        max-width: 580px;
        height: 90px;
        background: url(./img/mv_border.png) no-repeat center center;
        background-size: 100% 100%;
        z-index: -1;
    }
    .ttl_sub img {
        width: 60%;
        max-width: 280px;
    }

/* CTA */
    .cta {
        background: url(./img/cta_background_sp.jpg) no-repeat center center;
        background-size: cover;
        padding: 20px;
        margin: 0 auto;
        overflow: hidden;
    }
    .cta_inner {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: clamp(20px, 5vw, 30px);
    }
    .cta h3 {
        color: #fff;
        font-size: clamp(21px, 5.1vw, 30px);
        font-weight: 500;
        letter-spacing: 2px;
        line-height: normal;
        text-align: center;
        margin-left: 8px;
    }
    .cta p {
        color: #fff;
        font-size: clamp(14px, 3.8vw, 18px);
        text-align: center;
        line-height: normal;
        margin-top: 10px;
        margin-left: 5px;
    }
    .btn_wrap {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 20px;
        margin-top: 20px;
    }
    a.diagnosis_btn {
        display: block;
        color: #fff;
        font-size: clamp(14px, 3.5vw, 18px);
        text-align: center;
        background-color: #FE7801;
        border-radius: 3px;
        padding: 10px 0 10px 3px;
        width: 82%;
        text-decoration: none;
    }
    .btn_small {
        font-size: clamp(12px, 3vw, 16px);
    }
    .diagnosis_btn:hover {
        background-color: #e86d00;
        transform: translateY(3px);
        box-shadow: 0 0 0 #333;
    }
    a.form_btn {
        display: block;
        color: #fff;
        font-size: clamp(14px, 3.5vw, 18px);
        text-align: center;
        border: #fff solid 2px;
        border-radius: 3px;
        padding: 10px 0;
        width: 82%;
        text-decoration: none;
    }
    .form_btn:hover {
        transform: translateY(3px);
        box-shadow: 0 0 0 #333;
    }
    .cta_wrap_r {
        width: 100%;
        max-width: 500px;
    }

/* お悩み */
    .trouble {
        padding: 20px;
        background-color: #F5F5F5;
    }
    .trouble .case {
        padding: 20px 0;
    }
    .case ul {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: clamp(10px, 3vw, 20px);
    }
    .case .ttl {
        font-size: 18px;
        text-align: center;
        font-weight: 500;
        line-height: normal;
    }
    .casebox_card {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 20px;
        height: 100%;
    }
    .casebox_card img {
        width: 61px;
    }
    .case01 {
        background: url(./img/case01.png) right 20px center no-repeat;
        background-size: auto 133px;
    }
    .case02 {
        background: url(./img/case02.png) right 20px center no-repeat;
        background-size: auto 133px;
    }
    .case03 {
        background: url(./img/case03.png) right 20px center no-repeat;
        background-size: auto 133px;
    }
    .case01, .case02, .case03 {
        width: 100%;
        max-width: 400px;
        height: 180px;
        background-color: #fff;
        border-radius: 3px;
        border: #D9D9D9 solid 1px;
    }
    .title_answer {
        padding-top: 10px;
        font-weight: bold;
    }

/* メリット */
    .merit {
        background-color: #F5F5F5;
    }
    .merit_main_box {
        background: url(./img/service_background_sp.png) center center no-repeat;
        background-size: cover;
        color: #fff;
        font-size: clamp(16px, 4vw, 20px);
        line-height: clamp(34px, 8vw, 38px);
        padding: 20px;
        overflow: hidden;
    }
    .merit_main_box .big{
        height: clamp(26px, 6.5vw, 30px);
        margin: 0 3px -4px 4px;
    }
    .merit h2 {
        padding-top: 40px;
    }
    .merit .title_answer {
        padding: 0 0 30px 0;
    }
    .merit ul {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: clamp(10px, 3vw, 20px);
        padding: 30px 20px;
    }
    .merit .ttl {
        font-size: 18px;
        text-align: center;
        font-weight: 500;
        line-height: normal;
    }
    .merit .txt {
        font-size: 16px;
        line-height: normal;
        text-align: center;
    }
    .meritbox {
        width: 100%;
        max-width: 400px;
        height: 180px;
        background-color: #fff;
        border-radius: 3px;
        border: #D9D9D9 solid 1px;
    }
    .meritbox_card {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 10px;
        height: 100%;
    }
    .meritbox_card img {
        height: 50px;
    }

    /* 導入事例 */
    .case {
        padding: 20px;
    }
    .case_inner {
        width: 100%;
        max-width: 480px;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        background: #F5F5F5;
        border: #D9D9D9 solid 1px;
        border-radius: 3px;
        overflow: hidden;
        margin-top: 30px;
    }
    .case_wrap_l {
        flex: 1;
    }
    .case_job {
        display: inline-block;
        font-size: 16px;
        color: #fff;
        background: #083388;
        padding: 3px 24px;
    }
    .case_txt_wrap {
        padding: 20px;
    }
    .case_title {
        font-size: 18px;
        font-weight: 600;
        line-height: normal;
        text-align: center;
        margin-bottom: 20px;
    }
    .case_txt {
        font-size: 16px;
        text-align: justify;
    }
    .case_wrap_r {
        width: 100%;
        display: flex;
    }
    .case_wrap_r img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

/* 他社比較 */
    .comparison {
        padding: 10px 20px 30px 20px;
    }
    .comparison .pc {
        display: none;
    }
    .comparison_img {
        width: 100%;
        max-width: 600px;
        display: block;
        margin: 0 auto;
        margin-top: clamp(20px, 5vw, 30px);
        margin-bottom: clamp(10px, 3vw, 20px);
    }

/* 公的支援制度 */
    .section-wrap {
        width: 94%;
        margin: 0 auto;
    }
    .subsidy-ttl {
        font-size: 1.3em;
        line-height: 1.6;
    }
    .subsidy-exp {
        margin-top: 40px;
    }
    .subsidy-list {
        flex-direction: column;
    }
    .subsidy-item {
        width: 100%;
    }
    .subsidy-link a {
        padding: 5%;
    }

/* よくある質問 */
    .qa h2 {
        font-size: clamp(30px, 8vw, 36px);
        padding: 40px 0 30px;
    }
    .qa h2 .big {
        font-size: clamp(50px, 10vw, 56px);
    }
    .qa__question .qa-q,
    .qa__answer--big .qa-a {
        margin-right: 16px;
    }
    .qa__question {
        padding: 16px 60px;
    }

/* サービスの流れ */
    .flow {
        background: #F5F5F5;
        padding: 30px 20px 40px 20px;
    }
    .flow_inner {
        width: 100%;
        max-width: 400px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 10px;
        margin: 0 auto;
        margin-top: 30px;
    }
    .flow_card {
        width: 100%;
        background: #fff;
        border-radius: 3px;
        border: #D9D9D9 solid 1px;
        padding: 20px 40px;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
    .flow_wrap {
        display: flex;
        align-items: flex-start;
        gap: 30px;
    }
    .flow_icon {
        height: 60px;
    }
    .flow_title {
        margin-top: -10px;
    }
    .flow_number {
        font-size: 22px;
        color: #083388;
        font-weight: bold;
    }
    .flow h3 {
        font-size: 18px;
        line-height: 1.3;
    }
    .flow .txt {
        display: block;
        width: 100%;
        text-align: justify;
        line-height: normal;
    }
    .arrow {
        width: 13px;
        object-fit: contain;
        transform: rotate(90deg);
    }

/* 必要度チェック */
    .diagnosis {
        background-image: none;
    }
    .diagnosis__inner {
        width: 94%;
    }
    .diagnosis__result--message,
    .diagnosis__result--advice,
    .diagnosis__cta {
        width: 90%;
    }

/* 相談フォーム */
    .consultation {
        background: url(img/bg_contact.webp);
        padding-bottom: 5%;
    }
    .consultation h2 {
        position: relative;
        color: #fff;
        letter-spacing: 0.1em;
        padding: 25px;
        background: #083388;
    }
    .consultation h2 .big {
        font-size: 1.4em;
    }
    .consultation h2:after {
        content: ' ';
        height: 0;
        position: absolute;
        width: 0;
        border: 25px solid transparent;
        border-top-color: #083388;
        top: 100%;
        left: 0;
        right: 0;
        margin: 0 auto;
    }
    .form_outer {
        width: 90%;
        margin: 0 auto;
        margin-top: 64px;
    }
    .contact__form--headingComment {
        text-align: center;
        font-size: 16px;
    }
    .contact__form--headingCaution {
        margin-top: 2.5rem;
        margin-bottom: 3rem;
        background-color: #eaebef;
        padding: 1.5rem 2.5rem;
    }
    .bg-red {
        background-color: #e38015;
        line-height: 1;
        color: #fff;
        padding: 0 4px;
    }


    .btn {
        display: block;
        font-weight: 700;
        cursor: pointer;
        font-size: 1.2em;
        margin: 5% 0;
        padding: 2% 0;
        color: #fff;
        text-align: center;
        background-color: #fe7801;
        box-shadow: 0 6px 0 #d95f00, 0 0 0;
        -webkit-transition: color 0.3s, background-color 0.3s, box-shadow 0.3s, -webkit-transform 0.3s;
        transition: color 0.3s, background-color 0.3s, box-shadow 0.3s, transform 0.3s;
    }

    .btn:hover {
        background-color: #fe7801;
        box-shadow: 0 3px 0 #d95f00, 0 0 0;
        -webkit-transform: translateY(3px);
        transform: translateY(3px);
        text-decoration: none;
    }

    .btn:active {
        color: #fff;
        background-color: #fe7801;
        box-shadow: 0 0 0 #d95f00, 0 0 0;
        -webkit-transform: translateY(6px);
        transform: translateY(6px);
        transition-duration: 0.1s;
    }

    .icons_btn {
        padding-left: 10px;
    }

    .h_wrap .btn {
        padding: 3px 0;
        font-size: 16px;
        margin: 0;
        box-shadow: 0 3px 0 #d95f00, 0 0 0;
        -webkit-transition: color 0.3s, background-color 0.3s, box-shadow 0.3s, -webkit-transform 0.3s;
        transition: color 0.3s, background-color 0.3s, box-shadow 0.3s, transform 0.3s;
    }

    .h_wrap .btn:hover {
        box-shadow: 0 2px 0 #d95f00, 0 0 0;
    }

    .h_wrap .btn:active {
        box-shadow: 0 0 0 #d95f00, 0 0 0;
    }

    .btn._type02 {
        width: 94%;
        padding: 3% 0;
        display: block;
        margin: 3% auto 0;
        font-size: 1.1em;
    }

    footer {
        background: #083388;
        text-align: center;
        color: #fff;
        padding: 10px 0;
        font-size: 14px;
    }
    footer a {
        background: #fff;
        text-align: center;
        color: #083388;
        display: block;
        width: 75%;
        margin: 0 auto;
        font-size: 1.1em;
        font-weight: 700;
        margin-bottom: 2%;
        letter-spacing: .3em;
    }
    footer a:hover {
        opacity: .84;
        cursor: pointer;
    }

    .cookieCaution {
        background-color: #FFF;
    }
    .cookieCaution__in {
        padding: 16px 4%;
    }
    .cookieCaution__text {
        margin-bottom: 32px;
    }
    .cookieCaution__text p {
        font-size: 12px;
        line-height: 1.5;
        text-align: left;
    }
    .cookieCaution__logo {
        max-width: 80%;
        margin: 0 auto;
    }
    .cookieCaution__logo--list {
        display: flex;
        justify-content: center;
    }
    .cookieCaution__logo--item+.cookieCaution__logo--item {
        margin-left: 16px;
    }
    .cookieCaution__logo--item:first-child img {
        max-width: 70px;
        height: auto;
    }
    .cookieCaution__logo--item img {
        max-width: 110px;
        margin: 0 auto;
        display: block;
        height: auto;
    }
    .copyright {
        text-align: center;
        color: #333;
        font-size: 12px;
        padding-bottom: 10px;
    }

}