@charset "UTF-8";

/*------------------------------------------
  Display / Layout
------------------------------------------*/
.flex {
    display: flex;
}

.flex--center {
    justify-content: center;
    align-items: center;
}

.flex--between {
    justify-content: space-between;
}

.width-100 {
    width: 100%;
}

/*------------------------------------------
  Container
------------------------------------------*/
.max-width {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 1000px) {
    .pad-x {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/*------------------------------------------
  Visibility
------------------------------------------*/
.is-hidden {
    display: none !important;
}

@media (max-width: 768px) {
    .is-hidden-tab {
        display: none !important;
    }
}

@media (max-width: 480px) {
    .is-hidden-sp {
        display: none !important;
    }
}

@media (min-width: 769px) {
    .is-hidden-pc {
        display: none !important;
    }
}

/*------------------------------------------
  Device switch（最小限）
------------------------------------------*/
.pc-only {
    display: block;
}

.sp-only {
    display: none;
}

@media (max-width: 768px) {
    .pc-only {
        display: none;
    }

    .sp-only {
        display: block;
    }
}

/*------------------------------------------
  Text utility
------------------------------------------*/
.text-center {
    text-align: center;
}

.letter-tight {
    letter-spacing: -0.04em;
}