@charset "UTF-8";

/*
Theme Name: ゆぴが作ったテーマ😻
*/

body {
    margin: 0;
    font-size: 13px;
}

@font-face {
    font-family: "Noto Sans JP";
    src: url("./fonts/NotoSansJP-Regular.woff") format("woff");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "Noto Sans JP";
    src: url("./fonts/NotoSansJP-Medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: "Noto Sans JP";
    src: url("./fonts/NotoSansJP-Bold.woff") format("woff");
    font-weight: 700;
    font-style: normal;
}

a,
p,
h1,
h2,
h3,
td {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
}

a {
    text-decoration: none !important;
}

h2 {
    font-weight: 500 !important;
}

header {
    background-color: #4285f4;
    justify-content: space-between;
    align-items: center;
}

.d-flex {
    display: flex;
}

.flex-wrap {
    flex-wrap: wrap;
}

.w-100 {
    width: 100%;
}

.text-center {
    text-align: center;
}

.text-white {
    color: #fff;
}

.section-title {
    color: #333333;
    font-weight: 600;
}

.section-title-en {
    color: #4285f4;
    font-weight: bold;
}

.news .news-post_wrap a {
    color: #333333;
}

.btn_wrap {
    width: fit-content;
    margin: 0 auto;
}

.btn_wrap a {
    color: #4285F4;
    background: none;
    border: 1px solid #4285F4;
    display: block;
    border-radius: 50px;
    font-weight: 500;
    transition: .3s;
}

.btn_wrap a:hover,
.btn_wrap a:active {
    color: #fff;
    background: #4285F4;
}

.service {
    background: #F0F0F0;
}

footer {
    background-color: #4285f4;
}

footer p {
    text-align: center;
    color: #fff;
    margin: 0;
    padding: 2rem 0;
}

/* pc版 */

@media screen and (min-width: 769px) {

    .sp {
        display: none;
    }

    header {
        height: 5rem;
    }

    header h1 {
        margin: 0 0 0 2rem;
        font-size: 1.8em;
        font-weight: 700 !important;
    }

    header .header-gnav {
        align-items: center;
        margin-right: 2rem;
    }

    header .header-gnav .header-gnav__item {
        margin-right: 2rem;
    }

    header a p {
        margin: 0 !important;
        font-size: 1.2em;
    }

    header .header-tel {
        color: #fff;
        background: none;
        border: 1.5px solid #fff;
        padding: 0.5rem 1.2rem;
        border-radius: 5rem;
        transition: .3s;
    }

    header .header-tel:hover,
    header .header-tel:active {
        color: #4285F4;
        background: #fff;
    }

    header .header-tel .fa-solid {
        font-size: 1em;
        margin-right: 0.8vw;
    }

    .section_wrap {
        padding: 4rem 0;
    }

    .section-title {
        font-size: 1.5em !important;
        margin-bottom: 0;
    }

    .section-title-en {
        font-size: 0.8em;
        margin-top: 0.15rem;
    }

    .news-post_wrap {
        margin: 2.5vw 0 0;
    }

    .news-post_wrap hr {
        margin: 1vw auto;
        width: 50vw;
        display: block;
    }

    .news .news-post_wrap a {
        display: flex;
        justify-content: center;
        gap: 0 1rem;
        align-items: center;
    }

    .news .news-post_wrap a p {
        margin-bottom: 0;
        margin-top: 0;
        font-size: 1em;
    }

    .service .service-box_wrap {
        display: flex;
        justify-content: center;
        margin-top: 3vw;
    }

    .service .service-box_wrap .box {
        background: #fff;
        border-radius: 10px;
        margin: 0 3vw;
        width: 23.5vw;
    }

    .service .service-box_wrap .box .fa-solid {
        color: #4285F4;
        font-size: 5.5vw;
        margin: 2.6vw auto 2.6vw;
        display: block;
        width: fit-content;
    }

    .service .service-box_wrap .box p {
        font-size: 1em;
        padding-bottom: 1.5vw;
        color: #333333;
        font-weight: 500;
    }

    .btn_wrap {
        margin-top: 3vw;
    }

    .btn_wrap a {
        font-size: 1em;
        padding: 0.8vw 2.4vw;
    }

    .contact .text_wrap {
        margin-top: 3.2vw;
    }

    .contact p:not(.section-title-en) {
        text-align: center;
        font-size: 1em;
        color: #333333;
    }

    .contact .tel {
        text-align: center;
        display: block;
        font-size: 1.7vw;
        color: #333333;
        margin: 1.7vw 0 1.6vw 0;
    }

    .contact .tel .fa-solid {
        margin-right: 0.5vw;
    }

    footer p {
        font-size: 1em;
    }

}

/* sp版 */

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

    .pc {
        display: none;
    }

    header {
        height: 5.5rem;
    }

    header h1 {
        font-size: 1.8em;
        margin: 0 0 0 1rem;
        line-height: 5.5rem;
        font-weight: 700 !important;
    }

    .checkbox {
        display: none
    }

    .header__menuTrigger {
        height: 2rem;
        margin-right: 0.5rem;
    }

    .menu-trigger {
        position: relative;
        width: 2rem;
        height: 2rem;
        cursor: pointer;
        z-index: 200
    }

    .menu-trigger span {
        content: '';
        display: block;
        height: 2px;
        width: 19px;
        background: #fff;
        transition: 0.3s;
        position: absolute;
        top: 0
    }

    .menu-trigger span:nth-child(1) {
        top: 20%
    }

    .menu-trigger span:nth-child(2) {
        top: 50%
    }

    .menu-trigger span:nth-child(3) {
        top: 80%
    }

    #drawer-check:checked~.menu-trigger span:nth-child(2) {
        opacity: 0
    }

    #drawer-check:checked~.menu-trigger span:nth-child(1) {
        transform: rotate(45deg);
        background: #fff;
        top: 50%
    }

    #drawer-check:checked~.menu-trigger span:nth-child(3) {
        transform: rotate(-45deg);
        background: #fff;
        top: 50%
    }

    .header-gnav_wrap {
        width: 100%;
        height: 100vh;
        position: fixed;
        right: 0;
        top: 0;
        z-index: 99;
        background: #4285F4;
        padding-top: 4rem;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.5s, visibility 0.5s
    }

    #drawer-check:checked~.header-gnav_wrap {
        opacity: 1;
        visibility: visible
    }

    .header__menuTrigger .header-gnav_wrap a:not(.header-gnav a) {
        margin: 3rem auto 0;
        display: block;
        width: fit-content
    }

    .header__menuTrigger p:not(.header-gnav p) {
        font-size: 1.4em;
        margin: 0;
        letter-spacing: .65px
    }

    .header__menuTrigger .header-gnav_wrap .header-gnav__tel {
        border: 2px solid #fff;
        border-radius: 5rem;
        padding: 0.8rem 2rem;
    }

    .header__menuTrigger .header-gnav_wrap .header-gnav__tel .fa-phone {
        margin-right: 0.5rem;
    }

    h2 {
        font-size: 1.5em !important;
    }

    .section_wrap {
        padding: 3rem 1rem;
    }

    .section-title {
        margin-bottom: 0;
    }

    .section-title-en {
        font-size: 1em;
        margin-top: 1vw;
    }

    .news-post_wrap {
        margin: 10vw 5vw 0;
    }

    .news .news-post_wrap a .page-title {
        font-size: 1.2em;
    }

    .news .news-post_wrap a .single-post-date {
        font-size: 0.9em;
        margin-right: 3vw;
    }

    .news .news-post_wrap a .single-category {
        font-size: 3vw;
        padding: 0 1vw;
    }

    .service .service-box_wrap {
        margin-top: 2.5rem;
        margin-bottom: 2.5rem;
    }

    .service .service-box_wrap .box {
        background: #fff;
        border-radius: 10px;
        margin: 0 auto 1.5rem;
        width: 80%;
    }

    .service .service-box_wrap .box .fa-solid {
        font-size: 3.5rem;
        padding: 7vw 0 6vw 0;
        margin: 0 auto;
        display: block;
        width: fit-content;
    }

    .service .service-box_wrap .box p {
        font-size: 1.2em;
        padding-bottom: 1.5rem;
        margin: 0;
    }

    .contact .btn_wrap {
        margin-top: 12vw;
    }

    .btn_wrap a {
        font-size: 1.25em;
        padding: 0.8rem 2rem;
    }

    .contact .text_wrap {
        margin-top: 3rem;
    }

    .contact p:not(.section-title-en) {
        font-size: 1.2em;
        margin: 1rem 0;
    }

    .contact .tel {
        font-size: 2em;
        color: #4285f4;
        margin: 2rem auto;
        display: block;
        width: fit-content;
    }

    .contact .tel .fa-phone {
        margin-right: 0.5rem;
    }

    footer p {
        font-size: 1.2em;
    }

}