/* ------------------------
  utilities Classes
------------------------ */
.u-hidden
{
    display: none !important;
    visibility: hidden;
}

@media (max-width: 767.98px)
{
    .u-hidden-sm
    {
        display: none !important;
        visibility: hidden;
    }
}

.u-hidden-up-sm
{
    display: none !important;
    visibility: hidden;
}

@media (max-width: 767.98px)
{
    .u-hidden-down-sm
    {
        display: none !important;
        visibility: hidden;
    }
}

@media (min-width: 768px) and (max-width: 1023.98px)
{
    .u-hidden-md
    {
        display: none !important;
        visibility: hidden;
    }
}

@media (min-width: 768px)
{
    .u-hidden-up-md
    {
        display: none !important;
        visibility: hidden;
    }
}

@media (max-width: 1023.98px)
{
    .u-hidden-down-md
    {
        display: none !important;
        visibility: hidden;
    }
}

@media (min-width: 1024px)
{
    .u-hidden-lg
    {
        display: none !important;
        visibility: hidden;
    }
}

@media (min-width: 1024px)
{
    .u-hidden-up-lg
    {
        display: none !important;
        visibility: hidden;
    }
}

.u-hidden-down-lg
{
    display: none !important;
    visibility: hidden;
}

.u-visuallyhidden
{
    position: absolute;

    overflow: hidden;
    clip: rect(0 0 0 0);

    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;

    border: 0;
}

.u-visuallyhidden.focusable:active,
.u-visuallyhidden.focusable:focus
{
    position: static;

    overflow: visible;
    clip: auto;

    width: auto;
    height: auto;
    margin: 0;
}

.u-invisible
{
    visibility: hidden;
}

.clearfix::after
{
    display: block;
    clear: both;

    content: '';
}

/* ------------------------
  Print Styles
------------------------ */
@media print
{
    *,
    *::before,
    *::after
    {
        color: #000 !important;
        background: transparent !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited
    {
        text-decoration: underline;
    }

    tr,
    img
    {
        page-break-inside: avoid;
    }

    img
    {
        max-width: 100% !important;
    }

    p,
    h2,
    h3
    {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3
    {
        page-break-after: avoid;
    }
}
/*
* common.css
*
*/
/* --------------------------------
  common
-------------------------------- */
.brand-top__bg
{
    position: relative;

    display: flex;

    min-height: 240px;

    background-color: #000;

    align-items: center;
}

.brand-top__bgImg
{
    position: absolute;

    width: 100%;
    height: 100%;

    opacity: .3;
}
.brand-top__bgImg img
{
    width: 100%;
    height: 100%;

    -o-object-fit: cover;

       object-fit: cover;
}

.brand-top__titleWrap
{
    position: relative;

    display: flex;
    flex-direction: column;

    width: 100%;
    padding: 32px;

    text-align: center;

    color: #fff;
}
@media (max-width: 767.98px)
{
    .brand-top__titleWrap
    {
        padding: 32px 0;
    }
}

.brand-top__title .ja
{
    display: block;
}
.brand-top__title .ja_lg
{
    font-size: 3.4rem;
    font-weight: bold;
}
@media (max-width: 767.98px)
{
    .brand-top__title .ja_lg
    {
        font-size: 2rem;
    }
}

.brand-top__caption
{
    font-size: 1.4rem;
    font-weight: bold;

    margin-top: 24px;

    text-align: center;
}
@media (max-width: 767.98px)
{
    .brand-top__caption
    {
        font-size: 1.2rem;
    }
}

.brand-top__image
{
    margin-top: 40px;
}
@media (max-width: 767.98px)
{
    .brand-top__image
    {
        margin-top: 24px;
    }
}

.l-brand
{
    padding-bottom: 104px;
}
@media (max-width: 767.98px)
{
    .l-brand
    {
        padding-bottom: 64px;
    }
}
.l-brand.l-brand--last
{
    padding-bottom: 0;
}

.brand-sec__jaHeading
{
    font-size: 1.2rem;
    font-weight: 600;

    padding-bottom: 6px;

    text-align: center;
}
@media (max-width: 767.98px)
{
    .brand-sec__jaHeading
    {
        font-size: 1rem;
    }
}

.brand-sec__jaHeading--gray
{
    color: #656666;
}

.brand-sec__jaHeading--lg
{
    margin-bottom: 32px;
}

.brand-sec__lv4Heading
{
    font-size: 2.8rem;
    font-weight: 600;
}
@media (max-width: 767.98px)
{
    .brand-sec__lv4Heading
    {
        font-size: 1.4rem;
    }
}
.brand-sec__lv4Heading.brand-sec__lv4Heading--md
{
    font-size: 2rem;
}
@media (max-width: 767.98px)
{
    .brand-sec__lv4Heading.brand-sec__lv4Heading--md
    {
        font-size: 1.4rem;
    }
}

.brand-sec__column
{
    -moz-column-gap: 32px;
         column-gap: 32px;
    flex-wrap: nowrap;
}
@media (max-width: 767.98px)
{
    .brand-sec__column
    {
        row-gap: 40px;
        flex-wrap: wrap;
    }
}
@media (max-width: 767.98px)
{
    .brand-sec__column.brand-sec__column--twoColumn
    {
        row-gap: 8px;
    }
}
