/* =========================================
   Base
========================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: #222;
    background: #fff;
    font-family:
        "Noto Sans JP",
        "Hiragino Sans",
        "Yu Gothic",
        sans-serif;
    line-height: 1.8;
    font-weight:400;
}

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

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

ul,
ol {
    margin: 0;
    padding: 0;
    list-style: none;
}


/* =========================================
   Typography
========================================= */

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #3a3a3a;
}


/* =========================================
   Layout
========================================= */

.container {
    width: min(1200px, calc(100% - 80px));
    margin: 0 auto;
}

.hero .container {
    width: min(1680px, calc(100% - 80px));
}

section:not(.hero) {
    padding: 100px 0;
}

/* =========================================
   Responsive
========================================= */

@media (max-width: 768px) {

    .container {
        width: calc(100% - 40px);
    }

    section {
        padding: 64px 0;
    }

}


/* =========================================
   Button
========================================= */

.button-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    height: 56px;
    padding: 0 32px;
    background: #222;
    color: #fff;
    font-weight: 700;
    transition: .2s;
}

.button-primary:hover {
    background: #444;
}
