@charset "utf-8";

/* base */
html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 62.5%;
}

body {
    font-size: 1.6rem;
    color: #222;
    font-family: 'Noto Sans JP', sans-serif;
}

*,
*:before,
*:after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
}


img {
    width: 100%;
    vertical-align: bottom;
}

h1,
h2,
h3,
h4,
h5 {
    line-height: 1.6;
    font-weight: bold;
}

h1 {
    font-size: 4.2rem;
}

h2 {
    font-size: 3.6rem;
}

h3 {
    font-size: 3.0rem;
}

h4 {
    font-size: 2.4rem;
}

h5 {
    font-size: 1.8rem;
}

a {
    color: #59C5BF;
    text-decoration: none;
    transition: .3s;
}

a:hover {
    color: #59C5BF;
    transition: .3s;
}

.text-small {
    font-size: 1.4rem;
}

.text-x-small {
    font-size: 1.2rem;
    display: block;
}

.text-large {
    font-size: 1.8rem;
}

.text-x-large {
    font-size: 2.0rem;
}

hr {
    border: 0;
    height: 4px;
    background-image: repeating-linear-gradient(90deg, #777 0px, #777 1px, rgba(0, 0, 0, 0) 1px, rgba(0, 0, 0, 0) 4px);
}

.br-sp {
    display: none;
}

.pt-1 {
    padding-top: 1em;
}

.pb-1 {
    padding-bottom: 1em;
}

.mt-1 {
    margin-top: 1em;
}

.mt-2 {
    margin-top: 2em;
}

.mt-3 {
    margin-top: 3em;
}

.mt-4 {
    margin-top: 4em;
}

.mt-5 {
    margin-top: 5em;
}

.mb-1 {
    margin-bottom: 1em;
}

.mb-2 {
    margin-bottom: 2em;
}

.mb-3 {
    margin-bottom: 3em;
}

.mb-4 {
    margin-bottom: 4em;
}

.mb-5 {
    margin-bottom: 5em;
}

.color-1 {
    background-color: #f6f8f0;
}

.color-2 {
    background-color: #e8f2c2;
}

.color-3 {
    background-color: #b5e52e;
}

.color-4 {
    background-color: #7cd52f;
}

.color-5 {
    background-color: #bfe3f1;
}

.text-color-1 {
    color: #59C5BF;
}

@media screen and (max-width: 600px) {
    .br-sp {
        display: block;
    }
}

@media all and (max-width: 928px) {
    .sp-display {
        display: none;
    }
}


/*-- PC版表示CSS  --*/
.pc_area {
    display: block;
}

.sp_area {
    display: none !important;
}


/*-- スマホ版表示CSS  --*/
@media screen and (max-width: 820px) {
    .pc_area {
        display: none !important;
    }

    .sp_area {
        display: block !important;
        padding: 10px;
    }
}


/* スマホでタップした時だけ電話発信を有効にする */
@media(min-width: 768px) {
    a[href^="tel:"] {
        pointer-events: none;
    }
}


/* * * * * * * * */
/* sp-nav */
/* * * * * * * * */

.hamburger-nav {
    position: fixed;
    right: -300px;
    top: 0;
    width: 300px;
    height: 100vh;
    padding-top: 40px;
    background-color: #ebf1e7;
    -webkit-transition: all .6s;
    transition: all .6s;
    z-index: 20;
    overflow-y: auto;
}

.hamburger-nav-title {
    width: 70%;
    margin: 1.2em auto;
}

.hamburger-nav-list {
    margin: 0;
    padding: 0;
    display: block;
}

.hamburger-nav-item {
    padding: 1em 1em 1.2em 1.8em;
}

.hamburger-nav-item a {
    display: block;
    width: 100%;
}

.hamburger {
    position: absolute;
    right: 0;
    top: 0;
    width: 55px;
    height: 55px;
    cursor: pointer;
    z-index: 30;
}

@media all and (min-width: 928px) {
    .hamburger {
        display: none;
    }
}

.hamburger_line {
    position: absolute;
    left: 8px;
    width: 25px;
    height: 4px;
    background-color: #397414;
    -webkit-transition: all .6s;
    transition: all .6s;
}

.hamburger_line_1 {
    top: 20px;
}

.hamburger_line_2 {
    top: 28px;
}

.hamburger_line_3 {
    top: 36px;
}

.hamburger-bg {
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 15;
    background-color: #000;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all .6s;
    transition: all .6s;
    cursor: pointer;
}

.nav-open .hamburger-nav {
    right: 0;
}

.nav-open .hamburger-bg {
    opacity: .8;
    visibility: visible;
}

.nav-open .hamburger_line_1 {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 25px;
}

.nav-open .hamburger_line_2 {
    width: 0;
    left: 50%;
}

.nav-open .hamburger_line_3 {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 25px;
}

/* * * * * * * * */
/* /sp-nav */
/* * * * * * * * */
