@media (max-width: 768px) {
    .only-desktop {
        display: none !important;
    }

    .only-mobile {
        display: block !important;
    }

    .nav__link:not(:last-child) {
        display: none;
    }

    .logo {
        font-size: 24px;
        font-weight: 700;
    }

    .logo__image {
        display: none;
    }

    .nav__text {
        display: none;
    }

    header {
        padding: 16px 20px;
        /* background: url('../images/background-header-mobile.png'); */
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        height: 68px;
    }

    .header__overlay {
        display: block;
    }

    .header__container {
        background-image: url('../images/hero-banner-mobile.png');
        min-height: unset;
        width: 100%;
        position: relative;
    }

    .header__container.open {
        height: 100vh;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 1002;
    }

    .sub-header {
        position: unset;
        padding-top: 12%;
        padding-bottom: 22%;
    }

    .header__overlay-image {
        width: 100%;
    }

    .advance-filter {
        /* position: unset; */
        width: 100%;
    }

    .advance-filter-button {
        width: 100%;
    }

    .advance-filter__wrapper {
        width: 100%;
    }

    .sub-header__title {
        font-size: 32px;
        font-weight: 700;
        font-family: "Noto Sans JP", sans-serif;
    }

    .sub-header__description {
        font-size: 14px;
        font-weight: 500;
        font-family: "Noto Sans JP", sans-serif;
    }

    .advance-filter__icon {
        padding: 16px;
    }
    
    .advance-filter__text {
        padding: 0;
        font-size: 16px;
        font-weight: 500;
        font-family: "Noto Sans JP", sans-serif;
        line-height: 1.5;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 16px 0;
        flex: 1;
        min-width: unset;
    }

    .advance-filter__divider {
        height: 40px;
    }

    .advance-filter__icon img {
        max-width: 24px;
    }

    .advance-filter-pop-up-header__title {
        font-size: 24px;
        font-weight: 700;
        font-family: "Noto Sans JP", sans-serif;
    }

    .advance-filter__pop-up-container {
        height: calc(100vh - 56px);
    }

    .advance-filter-pop-up-header {
        padding: 0;
    }

    .advance-filter__section {
        padding: 0;
    }

    .advance-filter__options {
        padding-bottom: 0;
    }

    .advance-filter__section-title {
        font-size: 16px;
    }

    .advance-filter__label {
        font-size: 14px;
        font-weight: 400;
    }

    .search-by-category {
        padding: 32px 16px;
    }

    .title-section__title {
        font-size: 24px;
        padding-bottom: 20px;
    }

    .title-section__divider {
        width: 100px;
    }

    .search-by-category__body {
        margin-top: 20px;
        row-gap: 20px;
    }

    .search-by-category__header-title {
        font-size: 16px;
        font-weight: 700;
    }
    
    .search-by-category__body-item {
        padding: 16px 16px 24px 16px;
    }

    .search-by-category__header-item {
        padding: 12px 16px;
    }

    .search-by-category__item-list {
        gap: 8px;
    }

    .search-by-location__link {
        font-size: 14px;
        font-weight: 400;
        padding: 8px 12px;
        line-height: 1;
    }

    .search-by-location__item-sublist {
        grid-template-columns: repeat(2, 1fr);
    }

    .search-by-category__item-sublist-label {
        font-size: 14px;
        font-weight: 400;
    }

    .search-by-category__link {
        font-size: 14px;
        font-weight: 400;
    }

    .search-by-category__link {
        padding: 8px 12px;
        line-height: 1;
    }

    .search-by-category__item-sublist {
        grid-template-columns: repeat(2, 1fr);
    }

    .search-by-service__link {
        font-size: 14px;
        font-weight: 400;
        line-height: 1;
        padding: 8px 12px;
    }

    .search-by-category__footer {
        margin-top: 20px;
    }

    .search-by-category__show-more-button {
        font-size: 12px;
        font-weight: 500;
        padding: 11px;
    }

    /*  */
    .case-resolved {
        width: 100%;
        min-height: unset;
    }

    .case-resolved__container {
        margin: unset;
        padding: 32px 16px;
        max-width: unset;
    }

    .case-resolved__wrapper {
        padding: unset;
        transform: unset;
    }

    .case-resolved__container {
        width: 100%;
    }

    .case-resolved__subtitle {
        margin-top: 20px;
        font-size: 16px;
        font-weight: 500;
    }

    .case-resolved__carousel {
        margin-left: unset;
        margin-top: 20px;
    }

    .case-card {
        min-width: 100%;
    }

    .case-resolved__carousel-controls {
        margin-top: 20px;
    }

    .carousel-control {
        width: 48px;
        height: 48px;
    }

    .case-card__tag {
        font-size: 12px;
        padding: 7px 10px;
    }

    .case-card__title {
        font-size: 20px;
    }

    .case-card__excerpt {
        font-size: 14px;
        font-weight: 400;
    }

    .case-card__label {
        font-size: 14px;
        font-weight: 500;
    }

    .case-card__amount {
        font-size: 24px;
        font-weight: 700;
    }

    /*  */
    .useful-legal-info {
        width: 100%;
        padding: 32px 16px;
    }

    .legal-terrace {
        display: flex;
        flex-direction: column;
    }

    .legal-terrace {
        padding: 20px 16px;
    }

    .legal-terrace {
        margin-top: 20px;
    }

    .legal-terrace__content {
        padding: unset;

    }

    .legal-terrace__description {
        padding-right: 32px;
    }

    .legal-terrace__title {
        font-size: 20px;
        font-weight: 700;
    }

    .legal-terrace__icon {
        display: flex;
        width: 48px;
    }

    .legal-terrace__icon img {
        width: 100%;
        height: auto;
        object-fit: contain;
    }

    .legal-terrace__description {
        font-size: 14px;
    }

    .legal-terrace__image {
        margin-top: 16px;
    }

    .legal-terrace-pref-list {
        margin-top: 20px;
        padding: 20px 12px;
    }

    .legal-terrace-pref-list__title {
        font-size: 16px;
        font-weight: 700;
    }

    .legal-terrace-pref-list__title::before {
        height: 20px;
        width: 4px;
        left: -16px;
    }

    .legal-terrace-pref-list__lead {
        font-size: 14px;
    }

    .legal-terrace-pref-list__table-wrapper {
        margin-top: 16px;
    }

    .legal-terrace-table__header-cell {
        padding: 21px 8px;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.5;
    }

    #legal-terrace-name {
        width: 30%;
    }

    #legal-terrace-location {
        width: 26%;
    }

    #legal-terrace-phone {
        width: 24%;
    }

    .legal-terrace-cell {
        padding: 14px 8px;
    }

    .legal-terrace-cell {
        font-size: 12px;
        font-weight: 400;
    }

    .legal-terrace-cell__link-phone {
        font-size: 12px;
        font-weight: 400;
    }

    .legal-terrace-pref-list__note {
        margin-top: 16px;
        font-size: 14px;
        font-weight: 700;
    }

    /*  */
    .embedded-map {
        padding: 32px 16px;
    }

    .embedded-map__map-wrapper {
        margin-top: 24px;
    }

    .embedded-map__links {
        grid-template-columns: repeat(1, 1fr);
        padding: 8px 12px;
    }

    .embedded-map__link-text {
        font-size: 14px;
        font-weight: 400;
    }

    /*  */
    .usage-flow {
        padding: 32px 16px;
    }

    .usage-flow__steps {
        display: flex;
        flex-direction: column;
        margin-top: 20px;
        row-gap: 20px;
    }

    .usage-flow-step {
        padding: 12px 24px 40px 24px;
        border: 1px solid #F5F1EA;
    }

    .usage-flow-step__title {
        font-size: 24px;
    }

    .usage-flow-step__description {
        font-size: 16px;
    }

    /*  */
    .faq {
        padding: 32px 16px 14px 16px;
    }

    .faq-tag {
        padding-top: 26px;
    }

    .faq__container {
        display: flex;
        flex-direction: column;
    }

    .faq__content {
        margin-top: 20px;
    }

    .faq-item__summary {
        padding: 16px;
    }

    .faq__items {
        display: flex;
        flex-direction: column;
        row-gap: 16px;
    }

    .faq-item__question {
        font-size: 16px;
        font-weight: 500;
    }

    .faq-item__summary {
        display: flex;
        column-gap: 16px;
        align-items: center;
    }

    .faq-item__toggle {
        width: 24px;
        height: 24px;
    }

    .faq-item__toggle img {
        width: 100%;
        height: auto;
        object-fit: contain;
    }

    .faq-item__answer {
        padding: 24px 16px 16px 16px;
    }

    .faq-item__answer-text {
        font-size: 16px;
        font-weight: 400;
    }

    /* footer */
    .footer__content {
        flex-direction: column;
        padding: unset;
        padding: 32px 16px;
        row-gap: 24px;
    }

    .footer__column {
        padding: unset;
    }

    .footer__column-group {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        row-gap: 24px;
    }

    .footer__column {
        max-width: unset !important;
    }

    .footer__bottom-links {
        flex-direction: column;
        row-gap: 12px;
        align-items: start;
    }

    .footer__bottom-links {
        padding: 20px 16px;
    }

    .footer__sublink {
        font-size: 12px;
    }

    .footer__link {
        font-size: 14px;
    }

    .footer__logo-link {
        font-size: 20px;
    }

    .footer__bottom-link {
        font-size: 14px;
    }

    .footer__copyright {
        padding: 20px;
    }

    .footer__copyright-text {
        font-size: 14px;
        font-weight: 400;
    }
}

@media (max-width: 480px) {
    .sub-header {
        padding-top: 12%;
    }

    .advance-filter__pop-up-container {
        padding: 24px 16px 32px 16px;
    }

    .advance-filter__pop-up-container {
        height: calc(100vh - 56px);
        overflow: scroll;
    }
    
}
