@charset 'UTF-8';

/* mv
---------------------------------------- */
#mv
{
    background-color: #000;
}

#mv .inner-area
{
    position: relative;

    overflow: hidden; 

    max-width: 1600px;
    margin: 0 auto;
}

#mv .inner-area .yokoku
{
    position: absolute;
    z-index: 9;
    top: 2%;
    left: 2%;

    display: flex;

    width: 96%;

    align-items: center;
}

#mv .inner-area .yokoku .tit
{
    font-size: 1.2rem;
    line-height: 1.2;

    width: 80px;
    margin-right: 10px;
    padding: 5px 0;

    text-align: center; 

    border: 1px solid #000;
}

#mv .inner-area .yokoku .txt
{
    font-size: 1.2rem;
    line-height: 1.2;
}

#mv .inner-area video
{
    position: absolute;
    top: 0;
    left: 50%;

    width: 1600px;

    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
}

@media screen and (max-width: 740px)
{
    #mv
    {
        background-color: #fff;
    }
    #mv .inner-area
    {
        overflow: visible;
    }
    #mv .inner-area .yokoku
    {
        top: -6.3vh;
    }
    #mv .inner-area .yokoku .tit
    {
        font-size: 3.0vw;
    }
    #mv .inner-area .yokoku .txt
    {
        font-size: 3.0vw;
    }
    #mv .inner-area video
    {
        width: auto;
        height: 100%;
    }
}

/* copy
---------------------------------------- */
.copy
{
    padding: 50px 0 50px 0;

    text-align: center;
}

@media screen and (max-width: 740px)
{
    .copy
    {
        padding: 2.65625vw 3.125vw 2.65625vw 3.125vw;
    }
}

/* bnr
---------------------------------------- */
.bnr-area
{
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding-bottom: 80px;

    text-align: center;
}

@media screen and (max-width: 740px)
{
    .bnr-area
    {
        padding: 2.65625vw 3.125vw 8.59375vw 3.125vw;
    }
}

.bnr-area a
{
    display: block;
}

.bnr-area a:first-child
{
    margin-bottom: 20px;
}

/* news
---------------------------------------- */
#news
{
    min-height: 300px;
    padding: 0 0 58px 0;

    background: url(../img/index/pc_bg_news.png) no-repeat center bottom;
}

#news h2
{
    width: 179px;
    margin: 0 auto 17px auto;
}

#news ul
{
    max-width: 800px;
    margin: 0 auto;
}

#news ul li
{
    display: -webkit-flex;
    display:         flex;

    padding: 18px 0;

    border-top: 1px solid #dcdcdc;
}

#news ul li .date
{
    width: 124px;
    padding: 0 0 0 20px; 

    color: #686868;
}

#news ul li .text
{
    font-size: 1.2rem;
}

@media screen and (max-width: 1200px)
{
    #news .inner
    {
        padding: 0 3.125vw;
    }
}

@media screen and (max-width: 740px)
{
    #news
    {
        min-height: 150px;
        padding: 0 0 7.8125vw 0;

        background: url(../img/index/sp_bg_news.png) no-repeat center bottom;
    }
    #news h2
    {
        width: 27.96875vw;
        margin: 0 auto 3.125vw auto;
    }
    #news ul li
    {
        padding: 3.125vw 0;
    }
    #news ul li .date
    {
        font-size: 2.8125vw; 

        width: 20%;
        padding: 0;
    }
    #news ul li .text
    {
        font-size: 2.8125vw; 

        width: 78%;
    }
}

/* menu
---------------------------------------- */
#menu
{
    padding: 34px 0;

    background-color: #f7f5f4;
}

#menu .inner
{
    max-width: 1540px;
    margin: 0 auto;
}

#menu .menu-list
{
    display: -webkit-flex;
    display:         flex;

    flex-wrap: wrap;
}

#menu .menu-list li
{
    width: 25%;

    background-color: #000;
}

#menu .menu-list li figure
{
    position: relative;

    overflow: hidden; 

    margin: 0 auto;
}

#menu .menu-list li figure img
{
    -webkit-transition: all .5s ease-in-out;
            transition: all .5s ease-in-out;
}

#menu .menu-list li figure figcaption
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    padding: 12% 11.7%;
}

#menu .menu-list li a:hover figure > img
{
    -webkit-transform: scale(1.15, 1.15);
       -moz-transform: scale(1.15, 1.15);
        -ms-transform: scale(1.15, 1.15);
         -o-transform: scale(1.15, 1.15); 
            transform: scale(1.15, 1.15);
}

#menu .menu-list li.nolink figure
{
    opacity: .7;
}

@media screen and (max-width: 740px)
{
    #menu
    {
        padding: 4.6875vw 3.125vw;
    }
    #menu .menu-list li
    {
        width: 50%;
    }
    #menu .menu-list li img
    {
        width: 100%;
    }
}

/* note
---------------------------------------- */
.note .inner
{
    font-size: 1.1rem; 

    max-width: 1540px;
    margin: 0 auto;
    padding: 36px 0;

    color: #333;
}

@media screen and (max-width: 1540px)
{
    .note .inner
    {
        padding: 36px 3.125vw 36px 3.125vw;
    }
}

@media screen and (max-width: 740px)
{
    .note .inner
    {
        font-size: 2.8125vw; 

        padding: 7.03125vw 3.125vw;
    }
}
