@charset "UTF-8";

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

    p {
        font-size: 3.589vw!important;
        line-height: 2;
    }

    /* section {
        padding: 0!important;
        margin-top: 50px;
        margin-bottom: 50px;
    } */

    .pc_br {
        display: none;
    }

    .sp_br {
        display: block;
    }

    header {
        height: initial;
    }

    header .wrapper {
        padding: 20px 5.128vw;
    }

    header.scroll_header {
        justify-content: space-between;
    }

    header.scroll_header::before {
        left: -20px;
    }
    
    .logo a {
        width: 45.38vw;
        max-width: 255px;
    }

    .main_nav ul {
        display: none;
    }

    .hamburger_menu {
        display: block;
        width: 6.666vw;
        height: 1.282vw;
        position: fixed;
        top: 35px;
        right: 5.128vw;
        z-index: 10001;
    }

    .menu_btn {
        display: block;
        width: 6.666vw;
        height: 1.282vw;
        z-index: 10001;
        left: 0;
        right: 0;
        margin: auto;
        position: relative;
    }
    .menu_btn span,
    .menu_btn span:before {
        content: '';
        display: block;
        height: 0.256vw;
        width: 6.666vw;
        background-color: #000;
        position: absolute;
        margin: auto;
        z-index: 81;
        top: 0;
    }

    .menu_btn span:before {
        top: 1.153vw;
    }

    #menu_btn_check:checked ~ .menu_btn span::after {
        background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
    }
    #menu_btn_check:checked ~ .menu_btn span {
        bottom: 1vw;
        transform: rotate(45deg);
    }

    #menu_btn_check:checked ~ .menu_btn span::before {
        top: 0;
        transform: rotate(-90deg);
    }

    #menu_btn_check {
        display: none;
    }

    .menu_content {
        width: 100%;
        height: 100vh;
        position: fixed;
        top: 0;
        left: 100%;
        z-index: 10000;
        transition: all 0.5s;
        background: linear-gradient(
            to bottom left,
            #FFFFFF 0%,
            #F7F8F9 9%,
            #DDE4EB 100%
        );
    }

    .menu_content ul {
        margin-top: 15%;
    }

    .menu_content ul li {
        list-style: none;
        margin-bottom: 30px;
    }

    .menu_content ul li > a {
        display: block;
        width: 70%;
        margin: 0 auto;
        font-size: 1.6rem;
        box-sizing: border-box;
        color:#282828;
        text-decoration: none;
        font-weight: 600;
        line-height: 16px;
        padding: 0;
    }

    #menu_btn_check:checked ~ .menu_content {
        left: 0;
    }

    main,
    .fv {
        margin-top: 107px;
    }

    .wrapper {
        width: 100%;
        padding: 0 5.128vw;
    }

    .scroll_down {
        width: 86px;
        height: 86px;
        top: 30vw;
        right: 10px;
    }

    .dot {
        width: 4px;
        height: 4px;
    }

    @keyframes moveDown {
        0% {
            top: 45px;
        }
        
        100% {
            top: 65px;
        }
    }

    .fv_title {
        font-size: 4.2rem;
        font-size: 10.76vw;
        margin-left: 5.128vw;
    }

    .fv_title p {
        font-size: 3.076vw;
    }

    .fv_bg {
        width: 61.53vw;
        top: -107px;
    }

    .fv_slideshow {
        margin-top: 0;
    }

    .fv_slideshow_item {
        margin: 50px 10px 30px 10px;
    }

    .marquee {
        font-size: 9rem;
        font-size: 23.07vw;
    }

    .marquee_box {
        margin-bottom: 50px;
    }

    .marquee_box::before {
        bottom: 14px;
    }

    .about {
        padding: 0 0 100px 0;
    }

    .about .wrapper {
        padding: 0;
    }

    .about::before,
    .about::after {
        width: 71.79vw;
        height: 71.79vw;
    }

    .about::before {
        top: -20px;
    }

    .about::after {
        bottom: -20px;
    }

    .about_contents {
        flex-direction: column;
        padding: 0 5.128vw;
    }

    .about_contents_txt {
        width: 100%;
    }

    .about h2 {
        font-size: 7.179vw;
        margin-bottom: 12.82vw;
    }

    .about h2 span {
        font-size: 3.076vw;
        padding: 2.051vw 3.076vw;
        margin-bottom: 4.102vw;
    }

    footer {
        color: #FFF;
    }

    .footer_top {
        flex-direction: column;
        align-items: initial;
    }

    .footer_top .logo {
        width: 100%;
        padding-bottom: 30px;
        border-bottom: 1px solid #7C7C7C;
    }

    .address {
        margin-top: 35px;
        font-size: 3.077vw;
    }

    footer .main_nav {
        padding: 30px 0;
        border-bottom: 1px solid #7C7C7C;
    }

    footer .main_nav ul {
        display: block;
    }

    footer .main_nav ul li {
        margin-left: 0;
        margin-bottom: 20px;
    }

    footer .main_nav ul li.nav_contact {
        margin-left: 0;
        margin-bottom: 0;
    }

    footer .main_nav ul li.nav_contact a {
        width: 36.15vw;
    }

    footer .main_nav ul li a {
        font-size: 3.589vw;
    }

    .footer_bottom {
        justify-content: center;
    }

    .copyright {
        font-size: 3.076vw!important;
    }

    .kasou section {
        margin: 30px 0;
    }
    
    .kasou .fv {
        margin-top: 110px;
    }

    .kasou h2 {
        font-size: 6.153vw;
    }

    .kasou h3 {
        font-size: 4.615vw;
    }

    .subtitle {
        font-size: 3.333vw;
        padding: 2.051vw 2.564vw;
    }

    .kasou_title {
        margin-bottom: 55px;
    }

    .kasou_title span {
        font-size: 4.2rem;
    }

    .service_maintxt {
        font-size: 7.179vw!important;
        line-height: 1.2;
    }

    .service .contents {
        flex-direction: column;
    }

    .service_details {
        width: 100%;
        padding: 55px 5.128vw;
    }

    .service_list li {
        padding: 0 15px;
    }

    .service_list_icon {
        width: 5.641vw;
    }

    .service_list li p {
        width: calc(100% - 5.641vw - 10px);
    }

    .price {
        margin: 55px 0 110px 0!important;
    }

    .price_title {
        flex-direction: column;
    }

    .price_title p {
        display: none;
    }

    .price_list {
        flex-direction: column;
    }

    .price_list > li {
        width: 100%;
        padding: 55px 5.128vw;
    }

    .price_list .price_service_price {
        font-size: 6.666vw!important;
    }

    .price_service_list_icon {
        width: 6.666vw;
    }

    section.profile {
        margin-bottom: 55px;
    }

    .profile .contents {
        flex-direction: column;
        gap: 35px;
    }

    .profile_img,
    .profile_txt {
        width: 100%;
    }

    .profile_name {
        font-size: 4.102vw!important;
        margin-bottom: 6.153vw;
    }

    .company {
        padding: 55px 0;
    }

    .company .contents {
        padding: 55px 5.128vw;
        flex-direction: column;
        gap: 40px;
    }

    .company_txt,
    .company_map {
        width: 100%;
    }

    .company_map iframe {
        height: 80vw;
    }













}
