@media only screen and (max-width: 768px) {
    .mobile-flex {
        display: flex;
    }

    .pc {
        display: none;
    }

    .header {
        height: auto;
        padding: 2vw 5vw;
        position: static;
        width: 100%;
    }

    .header-buttons {
        display: none;
    }

    .header-logo {
        width: 32%;
    }

    .header-logo img {
        height: auto;
        width: 100%;
    }

    .content-container {
        width: 100%;
        margin-top: 0;
        padding: 0 5vw 80px 5vw;
        ;
    }

    .slider-header {
        width: 100%;
    }

    .site-name {
        font-size: 4vw;
        margin: 25px 0;
    }

    .company {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .company-name,
    .company-sub {
        font-size: 5vw;
        ;
    }

    .nav-and-intro {
        width: 100%;
    }

    .navigator {
        gap: 2vw;
        font-size: 3.5vw;
        padding: 0px 2.5vw;
    }

    .navigator-item {
        flex: 1 1 calc(50% - 20px);
    }

    .navigator-item img {
        width: auto;
        height: 5vw;
    }

    .intro {
        flex-direction: column;
        margin: 50px 0 30px 0;
    }

    .intro-text {
        width: 100%;
    }

    .intro-title {
        font-size: 6.2vw;
    }

    .intro-p {
        font-size: 4vw;
        line-height: 7vw;
        margin-top: 0;
    }

    .intro-picture {
        margin-left: auto;
        margin-right: auto;
        width: 80%;
        margin-top: 30px;
        margin-bottom: 10px;
    }

    .intro-items {
        flex-direction: column;
        width: auto;
    }

    .intro-item:not(:last-child)::after {
        background-color: white;
    }

    .intro-item-title {
        padding: 4px 5vw;
        font-size: 4vw;
        margin-bottom: 20px;
    }

    .intro-item-text {
        font-size: 6.2vw;
        line-height: normal;
    }

    .intro-item-divider {
        display: block;
        width: 60%;
        margin-left: auto;
        margin-right: auto;
        border: 1px solid rgba(189, 189, 189, 1);
        margin: 50px 0;
    }

    .section-title {
        margin: 50px 0 20px 0;
    }

    .title {
        font-size: 10vw;
        line-height: normal;
    }

    .sub-title {
        font-size: 3.7vw;
        margin: 0 0 20px 0;
        line-height: normal;
        width: 100%;
        text-align: center;
    }

    .about-content {
        flex-direction: column;
        gap: 20px;
    }

    .about-picture {
        flex: auto;
        width: 100%;
        height: auto;
    }

    .about-picture img {
        width: 100%;
        height: auto;
        object-fit: cover;
    }

    .about-title-1,
    .about-p-1 {
        margin-top: 0;
        padding: 0;
    }

    .about-title-1 {
        font-size: 5.2vw;
    }

    .about-p-1 {
        font-size: 4vw;
        line-height: 6.2vw;
    }

    .merit-items {
        padding: 0 5.5vw;
        flex-direction: column;
    }

    .merit-item {
        padding: 7vw 5vw;
        margin-top: 0;
    }

    .merit-title {
        font-size: 6.2vw;
    }

    .merit-img {
        width: 30vw;
        height: auto;
        margin: 30px 0;
    }

    .merit-p {
        line-height: 6.2vw;
        font-size: 3.9vw;
    }

    .message-content {
        display: flex;
        flex-direction: column-reverse;
        width: auto;
    }

    .message-p {
        font-size: 4vw;
        line-height: 6.2vw;
        padding-right: 0;
    }

    .message-img-wrapper {
        flex: auto;
        max-width: 100%;
        margin: 0 0 30px 0;
    }

    .message-img {
        width: 100%;
        height: auto;
        object-fit: cover;
        display: block;
    }

    .message-img-social-media {
        width: 16vw;
        margin-top: 10px;
    }

    .voice {
        width: auto;
    }

    .voice-content {
        flex-direction: column;
        padding: 0 5vw;
        gap: 30px;
    }

    .voice-item-image img {
        object-fit: cover;
        height: auto;
        width: 100%;
    }

    .voice-sub-title {
        font-size: 3.7vw;
        margin: 0 0 20px 0;
        line-height: normal;
        width: 100%;
        text-align: left;
    }

    .voice-item-text {
        padding: 6.5vw;
    }

    .voice-item-name-kana {
        font-size: 3.8vw;
        line-height: normal;
        margin-top: 0;
    }

    .voice-item-name {
        font-size: 6.2vw;
        line-height: normal;
    }

    .voice-item-p {
        font-size: 4vw;
        line-height: 6.2vw;
    }

    .voice-mini-title {
        margin: 30px 0 20px 0;
        font-size: 4.5vw;
    }

    .voice-mini-p {
        font-size: 4vw;
        line-height: 6.2vw;
    }

    .our-salon-content {
        flex-direction: column;
        gap: 25px;
    }

    .map iframe {
        width: 100%;
        height: 200px;
    }

    .map-details-title {
        font-size: 4.5vw;
        line-height: normal;
        margin-bottom: 20px;
    }

    .map-details-text {
        font-size: 4vw;
        line-height: normal;
        margin-bottom: 20px;
    }

    .entry-container {
        flex-direction: column;
        gap: 10px;
    }

    .vertical-divider {
        height: 15px;
        width: 1px;
    }

    .inner-div-sp {
        display: flex;
        flex-direction: row;
        width: 100%;
        height: auto;
        background-color: rgba(252, 251, 245, 1);
    }

    .step {
        font-size: 3.8vw;
        line-height: normal;
    }

    .step-number {
        font-size: 6.2vw;
        line-height: 20px;
    }

    .step-icon {
        height: 55;
        width: auto;
        margin: 15px 0 15px 0;
    }

    .step-title {
        font-size: 5vw;
        margin-bottom: 15px;
    }

    .column1 {
        width: 25%;
        padding: 3vw 6vw;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .column2 {
        width: 50%;
        text-align: center;
        padding: 0;
    }

    .column3 {
        width: 20%;
    }

    .entry-green-button,
    .entry-white-button {
        padding: 5vw 5vw;
        font-size: 4.5vw;
        gap: 10px;
    }

    .entry-green-button {
        margin: 50px 0 25px 0;
    }

    .entry-green-button img,
    .entry-white-button img {
        height: 3.5vw;
    }

    .entry-white-button {
        border: 3px solid rgb(202, 202, 202);
    }

    .entry-white-button span {
        margin-top: 0;
        font-size: 3.5vw;
        line-height: 7vw;
        text-align: left;
        letter-spacing: normal;
    }

    .question {
        font-size: 4vw;
        line-height: normal;
        padding-bottom: 2vw;
        margin-bottom: 20px;
    }

    .answer {
        gap: 1vw;
        font-size: 4vw;
        line-height: normal;
        padding: 0;
    }

    .q-and-a-initial {
        font-weight: 700;
    }

    .footer-div {
        font-size: 3.5vw;
        margin: 0;
    }

    .bottom-fixed {
        display: flex;
        gap: 1vw;
        padding: 1vw;
    }

    .header-button-1,
    .header-button-2 {
        width: 100%;
        font-size: 4vw;
        font-weight: 700;
        line-height: 27.2px;
        padding: 3vw 0;
        border-radius: 5px;
        transition: opacity 0.3s;
    }
}