/* css/reset.css */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --swl-fz--content: 1.6rem !important;
}

html,
body {
    height: 100%;
    font-family: sans-serif;
    font-size: 1.6rem;
    line-height: 1.6;
    color: #333;
    letter-spacing: 0.05em;
}

.c-entry,
.swl-entry-content,
.entry-content {
    font-size: 1.6rem !important;
    line-height: 1.6;
    color: #333;
    letter-spacing: 0.05em;
    font-family: sans-serif;
}

@media screen and (max-width: 960px) {
    :root {
        --swl-fz--content: 1.4rem !important;
    }
}





/* ベース設定 */
html {
    font-size: 62.5%;
    /* → 1rem = 10px として扱える */
}



ul,
ol {
    list-style: none;
}

a {
    text-decoration: none;
    color: inherit;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

:root {
    --header-height-pc: 80px;
    /* PC時のヘッダー高さ */
    --header-height-sp: 44px;
    /* SP時のヘッダー高さ */
}

main {
    padding-top: var(--header-height-pc);
}

@media screen and (max-width: 960px) {
    main {
        padding-top: var(--header-height-sp);
    }
}

.u-btn-square {
    display: inline-flex;
    /* 正方形系はflexが安定 */
    justify-content: center;
    align-items: center;
    width: 48px;
    /* 正方形サイズ指定 */
    height: 48px;
    box-sizing: border-box;
    color: #3B8B89;
    background-color: #fff;
    border: 1px solid #3B8B89;
    transition: color 0.5s ease;
    padding: 0;
    /* パディング不要 */
    position: relative;
    overflow: hidden;
}