/* ==========================================================================
   subppage
   ========================================================================== */
/* p-footBanner
   ----------------------------------------------------------------- */
.p-footBanner
{
    padding: 60px 0;
}
.p-footBanner__label
{
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    line-height: 1;

    margin-bottom: 30px; 

    text-align: center;
}
@media screen and (max-width: 767px)
{
    .p-footBanner__label
    {
        font-size: 80px;
        font-size: 10.67vw;
    }
}
@media screen and (min-width: 768px)
{
    .p-footBanner__label
    {
        font-size: 40px;
        font-size: 4rem;
    }
}
.p-footBanner__list
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;
}
@media screen and (min-width: 768px)
{
    .p-footBanner__list
    {
        max-width: 795px;
        margin-right: auto;
        margin-left: auto;

        -webkit-box-pack: center;

            -ms-flex-pack: center;

                justify-content: center;
    }
}
@media screen and (min-width: 1025px)
{
    .p-footBanner__list
    {
        max-width: none;

        -webkit-box-pack: justify;

            -ms-flex-pack: justify;

                justify-content: space-between;
    }
}
.p-footBanner__link
{
    position: relative;
    z-index: 20; 

    display: block;

    width: 100%;
    height: 100%;

    text-decoration: none;
}
.p-footBanner__item
{
    position: relative; 

    text-align: center;
}
@media screen and (max-width: 1024px)
{
    .p-footBanner__item
    {
        width: 49.05%;
        margin-right: 1.88%;
    }
}
@media screen and (min-width: 1025px)
{
    .p-footBanner__item
    {
        width: 22.32%;
        margin-right: 3.57%;
    }
}
@media screen and (max-width: 1024px)
{
    .p-footBanner__item:nth-child(2n)
    {
        margin-right: 0;
    }
}
@media screen and (min-width: 1025px)
{
    .p-footBanner__item:nth-child(4n)
    {
        margin-right: 0;
    }
}
@media screen and (min-width: 1025px)
{
    .p-footBanner__item:nth-child(n+4)
    {
        margin-bottom: 0;
    }
}
@media screen and (max-width: 767px)
{
    .p-footBanner__item:last-child
    {
        margin-bottom: 0;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px)
{
    .p-footBanner__item:last-child
    {
        margin-bottom: 0;
    }
}
.p-footBanner__text_area
{
    line-height: 1;

    position: relative;
    z-index: 50;

    padding: 0 0 15px; 

    text-align: left;
}
@media screen and (max-width: 767px)
{
    .p-footBanner__text_area
    {
        font-size: 40px;
        font-size: 5.33vw;
    }
}
@media screen and (min-width: 768px)
{
    .p-footBanner__text_area
    {
        font-size: 20px;
        font-size: 2rem;
    }
}
@media screen and (max-width: 767px)
{
    .p-footBanner__text
    {
        font-size: 32px;
        font-size: 4.27vw;
    }
}
@media screen and (min-width: 768px)
{
    .p-footBanner__text
    {
        font-size: 16px;
        font-size: 1.6rem;
    }
}

/* p-indexBlock
   ----------------------------------------------------------------- */
.p-indexBlock--voice
{
    overflow: hidden; 

    background-color: #fafafa;
}

.p-indexBlock--nextresidence
{
    background-image: url(../image/nextresidence_bg_01.jpg); 
    background-position: center;
    background-size: cover;
}

@media screen and (max-width: 767px)
{
    .p-indexBlock__inner
    {
        padding-right: 5.33vw; 
        padding-left: 5.33vw;
    }
}

@media screen and (min-width: 768px)
{
    .p-indexBlock__inner
    {
        max-width: 1240px;
        margin-right: auto;
        margin-left: auto;
        padding-right: 20px; 
        padding-left: 20px;
    }
}

@media screen and (max-width: 767px)
{
    .p-indexBlock__inner1500
    {
        padding: 0vw 5.33vw 0vw 5.33vw;
    }
}

@media screen and (min-width: 768px)
{
    .p-indexBlock__inner1500
    {
        max-width: 1440px;
        margin-right: auto;
        margin-left: auto;
        padding-right: 20px; 
        padding-left: 20px;
    }
}

@media screen and (max-width: 767px)
{
    .p-indexBlock__inner800
    {
        padding: 0vw 5.33vw 0vw 5.33vw;
    }
}

@media screen and (min-width: 768px)
{
    .p-indexBlock__inner800
    {
        max-width: 800px;
        margin-right: auto;
        margin-left: auto;
        padding-right: 20px; 
        padding-left: 20px;
    }
}

@media screen and (max-width: 767px)
{
    .p-indexBlock__btn
    {
        width: 69.33333vw;
        height: 12vw;
        margin-top: 8vw;
        margin-right: auto; 
        margin-left: auto;
    }
}

@media screen and (min-width: 768px)
{
    .p-indexBlock__btn
    {
        font-size: 20px;
        font-size: 2rem; 

        width: 300px;
        height: 60px;
        margin-top: 52px;
        margin-right: auto;
        margin-left: auto;
    }
}

/* p-eventLink
   ----------------------------------------------------------------- */
.p-eventLink
{
    padding: 20px 0; 

    border-top: 1px solid #0dac66;
    border-bottom: 1px solid #8c917e;
}
.p-eventLink__list
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    text-decoration: none;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}
@media screen and (min-width: 768px)
{
    .p-eventLink__list
    {
        max-width: 795px;
        margin-right: auto; 
        margin-left: auto;
    }
}
@media screen and (min-width: 1025px)
{
    .p-eventLink__list
    {
        max-width: none;
    }
}
@media screen and (max-width: 1024px)
{
    .p-eventLink__list
    {
        text-align: center; 

        -ms-flex-wrap: wrap; 

            flex-wrap: wrap;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }
}
.p-eventLink__list:hover .p-eventLink__btn
{
    opacity: 1;
    color: #0dac66;
    border: solid 1px #0dac66; 
    background: #fff;
}
.p-eventLink__btn
{
    font-weight: 100;
    line-height: 1;

    position: relative;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    width: 160px;
    margin: 10px 20px 0;
    padding: 8px 0 10px;

    cursor: pointer;
    -webkit-transition: .3s ease;
    transition: .3s ease;
    text-align: center;
    text-decoration: none;

    color: #fff;
    border: solid 1px #0dac66; 
    outline: none;
    background: #0eac66;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
@media screen and (max-width: 767px)
{
    .p-eventLink__btn
    {
        font-size: 40px;
        font-size: 5.33vw;
    }
}
@media screen and (min-width: 768px)
{
    .p-eventLink__btn
    {
        font-size: 20px;
        font-size: 2rem;
    }
}
.p-eventLink__btn:hover
{
    opacity: .6;
}
.p-eventLink__link
{
    width: 100%;
    height: 100%;

    text-decoration: none;
}
.p-eventLink__item
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-bottom: 0; 

    text-align: center;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}
@media screen and (max-width: 767px)
{
    .p-eventLink__item
    {
        width: 100%;
    }
}
.p-eventLink__item.images
{
    width: 120px;
}
@media screen and (max-width: 1024px)
{
    .p-eventLink__item
    {
        display: block;

        width: 100%;
        padding: 10px 0;
    }
}
.p-eventLink__warp
{
    margin: 0 10%;
}
.p-eventLink__text_area
{
    line-height: 1;

    position: relative;
    z-index: 50;

    text-align: left;

    color: #fff;
}
@media screen and (max-width: 767px)
{
    .p-eventLink__text_area
    {
        font-size: 40px;
        font-size: 5.33vw;
    }
}
@media screen and (min-width: 768px)
{
    .p-eventLink__text_area
    {
        font-size: 20px;
        font-size: 2rem;
    }
}
.p-eventLink__title
{
    font-weight: 300;
    line-height: 1;

    margin-bottom: 10px; 
    padding: 0 0;

    text-align: left;
}
@media screen and (max-width: 1024px)
{
    .p-eventLink__title
    {
        text-align: center;
    }
}
@media screen and (max-width: 767px)
{
    .p-eventLink__title
    {
        font-size: 80px;
        font-size: 10.67vw;

        text-align: center;
    }
}
@media screen and (min-width: 768px)
{
    .p-eventLink__title
    {
        font-size: 55px;
        font-size: 7.33vw;
    }
}
@media screen and (min-width: 1025px)
{
    .p-eventLink__title
    {
        font-size: 30px;
        font-size: 4vw;
    }
}
@media screen and (min-width: 1281px)
{
    .p-eventLink__title
    {
        font-size: 60px;
        font-size: 6rem;
    }
}
.p-eventLink__text
{
    font-family: 'Jost', sans-serif; 

    text-align: center;
}
@media screen and (max-width: 767px)
{
    .p-eventLink__text
    {
        font-size: 40px;
        font-size: 5.33vw;
    }
}
@media screen and (min-width: 768px)
{
    .p-eventLink__text
    {
        font-size: 20px;
        font-size: 2rem;
    }
}
.p-eventLink__thumb
{
    position: relative;
    z-index: 0; 

    width: 214px;
    margin: 0 auto;
}
.p-eventLink__numArea
{
    font-family: 'Jost', sans-serif;

    z-index: 100;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    width: 120px;
    height: 120px;
    margin-right: 30px;

    background: #fff;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
.p-eventLink__numArea p
{
    line-height: 1; 

    display: block;

    width: 100%;

    text-align: center;
}
.p-eventLink__numArea p:nth-child(1)
{
    font-weight: 500;
}
@media screen and (max-width: 767px)
{
    .p-eventLink__numArea p:nth-child(1)
    {
        font-size: 36px;
        font-size: 4.8vw;
    }
}
@media screen and (min-width: 768px)
{
    .p-eventLink__numArea p:nth-child(1)
    {
        font-size: 18px;
        font-size: 1.8rem;
    }
}
.p-eventLink__numArea p:nth-child(2)
{
    font-weight: 400;
}
@media screen and (max-width: 767px)
{
    .p-eventLink__numArea p:nth-child(2)
    {
        font-size: 100px;
        font-size: 13.33vw;
    }
}
@media screen and (min-width: 768px)
{
    .p-eventLink__numArea p:nth-child(2)
    {
        font-size: 50px;
        font-size: 5rem;
    }
}

.color_bw
{
    color: #8c917e;
}

.color_bl
{
    color: #0dac66;
}

/* mission
   ----------------------------------------------------------------- */
.mission__list
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;
}
@media screen and (min-width: 768px)
{
    .mission__list
    {
        max-width: 795px;
        margin-right: auto;
        margin-left: auto;

        -webkit-box-pack: center;

            -ms-flex-pack: center;

                justify-content: center;
    }
}
@media screen and (min-width: 1025px)
{
    .mission__list
    {
        max-width: none;

        -webkit-box-pack: justify;

            -ms-flex-pack: justify;

                justify-content: space-between;
    }
}

.mission__item
{
    position: relative; 

    text-align: center;
}
@media screen and (max-width: 767px)
{
    .mission__item
    {
        width: 100%;
    }
}
@media screen and (min-width: 768px)
{
    .mission__item
    {
        width: 45.28%;
        margin-right: 2.51%;
    }
}
@media screen and (min-width: 1025px)
{
    .mission__item
    {
        width: 29.41%;
    }
}
@media screen and (max-width: 1024px)
{
    .mission__item
    {
        margin-bottom: 45px;
    }
    .mission__item:nth-child(3)
    {
        margin-bottom: 0;
    }
}
@media screen and (max-width: 767px)
{
    .mission__item
    {
        margin-bottom: 8vw;
    }
    .mission__item:nth-child(3)
    {
        margin-bottom: 0;
    }
}
@media screen and (max-width: 1024px)
{
    .mission__item:nth-child(2n)
    {
        margin-right: 0;
    }
}
@media screen and (min-width: 1025px)
{
    .mission__item:nth-child(3n)
    {
        margin-right: 0;
    }
}
@media screen and (min-width: 1025px)
{
    .mission__item:nth-child(n+4)
    {
        margin-bottom: 0;
    }
}
@media screen and (max-width: 767px)
{
    .mission__item:last-child
    {
        margin-bottom: 0;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px)
{
    .mission__item:last-child
    {
        margin-bottom: 0;
    }
}

.mission__text_area
{
    padding: 0 0 15px; 

    text-align: left;
}

.mission__num
{
    font-family: 'Jost', sans-serif;
    font-weight: 200; 
    line-height: 1;

    padding: 15px 0 0;

    text-align: center;

    color: #0dac66;
}
@media screen and (max-width: 767px)
{
    .mission__num
    {
        font-size: 210px;
        font-size: 28vw;
    }
}
@media screen and (min-width: 768px)
{
    .mission__num
    {
        font-size: 80px;
        font-size: 10.67vw;
    }
}
@media screen and (min-width: 1025px)
{
    .mission__num
    {
        font-size: 60px;
        font-size: 8vw;
    }
}
@media screen and (min-width: 1281px)
{
    .mission__num
    {
        font-size: 120px;
        font-size: 12rem;
    }
}

/* action
   ----------------------------------------------------------------- */
.action
{
    margin-top: 60px;
}
.action__list
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;
}
@media screen and (min-width: 768px)
{
    .action__list
    {
        max-width: 795px;
        margin-right: auto;
        margin-left: auto;

        -webkit-box-pack: center;

            -ms-flex-pack: center;

                justify-content: center;
    }
}
@media screen and (min-width: 1025px)
{
    .action__list
    {
        max-width: none;

        -webkit-box-pack: justify;

            -ms-flex-pack: justify;

                justify-content: space-between;
    }
}
.action__item
{
    text-align: center;
}
@media screen and (max-width: 767px)
{
    .action__item
    {
        width: 100%;
    }
}
@media screen and (min-width: 768px)
{
    .action__item
    {
        width: 45.28%;
        margin-right: 2.51%;
    }
}
@media screen and (min-width: 1025px)
{
    .action__item
    {
        width: 29.41%;
    }
}
@media screen and (max-width: 1024px)
{
    .action__item
    {
        margin-bottom: 45px;
    }
    .action__item:nth-child(6)
    {
        margin-bottom: 0;
    }
}
@media screen and (max-width: 767px)
{
    .action__item
    {
        margin-bottom: 8vw;
    }
    .action__item:nth-child(6)
    {
        margin-bottom: 0;
    }
}
@media screen and (max-width: 1024px)
{
    .action__item:nth-child(2n)
    {
        margin-right: 0;
    }
}
@media screen and (min-width: 1025px)
{
    .action__item:nth-child(3n)
    {
        margin-right: 0;
    }
}
@media screen and (min-width: 1025px)
{
    .action__item:nth-child(n+3)
    {
        margin-bottom: 30px;
    }
}
@media screen and (max-width: 767px)
{
    .action__item:last-child
    {
        margin-bottom: 0;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px)
{
    .action__item:last-child
    {
        margin-bottom: 0;
    }
}
.action__text_area
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    padding: 0 0 15px; 

    text-align: left;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
}
.action__point
{
    font-weight: normal;
    line-height: 1;

    display: block;

    min-width: 105px; 
    margin-right: 20px;

    text-align: center;

    color: #0dac66;
}
@media screen and (max-width: 767px)
{
    .action__point
    {
        font-size: 45px;
        font-size: 6vw;
    }
}
@media screen and (min-width: 768px)
{
    .action__point
    {
        font-size: 30px;
        font-size: 4vw;
    }
}
@media screen and (min-width: 1025px)
{
    .action__point
    {
        font-size: 25px;
        font-size: 3.33vw;
    }
}
@media screen and (min-width: 1281px)
{
    .action__point
    {
        font-size: 42px;
        font-size: 4.2rem;
    }
}
.action__text
{
    display: block;
}

.ls
{
    padding-left: 1em; 

    letter-spacing: 1em;
}

/* p-message
-------------------------------------------------------------------------- */
.p-message
{
    position: relative;
}
@media screen and (min-width: 768px)
{
    .p-message__inner
    {
        width: 100%;
    }
}
.p-message__container
{
    position: relative;
    z-index: 2;
}
@media screen and (max-width: 767px)
{
    .p-message__container
    {
        padding: 0vw 0vw 8vw 0vw;
    }
}
@media screen and (min-width: 768px)
{
    .p-message__container
    {
        width: 100%;
        max-width: 600px;
        padding: 0 57px 0 0;
    }
}
@media screen and (min-width: 768px) and (max-width: 1024px)
{
    .p-message__container
    {
        margin-right: auto;
        margin-left: auto;
        padding: 0 0 0 0;
    }
}

@media screen and (max-width: 1280px) and (min-width: 1025px)
{
    .p-message__container
    {
        max-width: 50vw;
    }
}
@media screen and (max-width: 767px)
{
    .p-message__body
    {
        padding-top: 5.33vw;
    }
}
.p-message__title
{
    margin-bottom: 60px;
}
.p-message__title span
{
    display: block;
}
.p-message__title span.jp
{
    margin-bottom: 15px;
}
.p-message__title span.en
{
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    line-height: 1; 

    color: #80c9d3;
}
@media screen and (max-width: 767px)
{
    .p-message__title span.en
    {
        font-size: 38px;
        font-size: 5.07vw;
    }
}
@media screen and (min-width: 768px)
{
    .p-message__title span.en
    {
        font-size: 20px;
        font-size: 2rem;
    }
}
.p-message__text
{
    margin-bottom: 1.5em;
}
.p-message__author
{
    text-align: right;
}
@media screen and (max-width: 767px)
{
    .p-message__author
    {
        font-size: 20px;
        font-size: 2rem;
    }
}
@media screen and (min-width: 768px)
{
    .p-message__author
    {
        font-size: 20px;
        font-size: 2rem;
    }
}
@media screen and (max-width: 767px)
{
    .p-message__visual
    {
        height: 85.33333vw;
    }
    .p-message__visual img
    {
        height: 85.33333vw;
    }
}
@media screen and (min-width: 768px)
{
    .p-message__visual
    {
        height: 500px;
    }
}
@media screen and (min-width: 768px) and (max-width: 1024px)
{
    .p-message__visual
    {
        padding-top: 30px;
    }
}
@media screen and (min-width: 1025px)
{
    .p-message__visual
    {
        width: 50%;
        height: 640px;
    }
}
@media screen and (min-width: 768px)
{
    .p-message__image
    {
        width: 100%;
        height: 100%;
    }
}

/* p-message-v
-------------------------------------------------------------------------- */
.p-message-v
{
    position: relative;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    background: #0dac66;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
@media screen and (min-width: 1025px)
{
    .p-message-v
    {
        height: 660px;
    }
}
@media screen and (min-width: 768px)
{
    .p-message-v__inner
    {
        width: 100%;
    }
}
.p-message-v__container
{
    position: relative;
    z-index: 2;

    display: inline-block;

    width: 100%;
}
@media screen and (max-width: 767px)
{
    .p-message-v__container
    {
        padding: 8vw 0vw 8vw 0vw;
    }
}
@media screen and (min-width: 1025px)
{
    .p-message-v__container
    {
        max-width: 600px;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px)
{
    .p-message-v__container
    {
        margin-right: auto;
        margin-left: auto;
        padding: 80px 0 30px 0;
    }
}

@media screen and (max-width: 1280px) and (min-width: 1025px)
{
    .p-message-v__container
    {
        max-width: 50vw;
    }
}
.p-message-v__title
{
    color: #fff;
}
@media screen and (min-width: 1025px)
{
    .p-message-v__title
    {
        margin-bottom: 15px;
    }
}
.p-message-v__title span
{
    display: block;
}
.p-message-v__title span.en
{
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    line-height: 1;

    margin-bottom: 10px;
}
@media screen and (max-width: 767px)
{
    .p-message-v__title span.en
    {
        font-size: 38px;
        font-size: 5.07vw;

        margin-top: 60px;
    }
}
@media screen and (min-width: 768px)
{
    .p-message-v__title span.en
    {
        font-size: 20px;
        font-size: 2rem;
    }
}
.p-message-v__text
{
    padding: 10px 0; 

    border-top: 1px solid #0dac66;
    border-bottom: 1px solid #0dac66;
}
@media screen and (max-width: 1024px)
{
    .p-message-v__text
    {
        width: 100%;
    }
}
@media screen and (min-width: 768px)
{
    .p-message-v__text
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        -webkit-box-align: center;

            -ms-flex-align: center;

                align-items: center;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
    }
}
@media screen and (min-width: 1025px)
{
    .p-message-v__text
    {
        margin: 40px 70px 40px 0;
    }
}
.p-message-v__text .ttl
{
    line-height: 1;

    display: block;
}
.p-message-v__text .type
{
    line-height: 1;
}
@media screen and (max-width: 767px)
{
    .p-message-v__text .type
    {
        display: block;

        margin-top: 10px;
    }
}
.p-message-v__visual
{
    background: #fff;
}
@media screen and (max-width: 767px)
{
    .p-message-v__visual
    {
        height: 88vw;
        margin-top: 60px;
    }
    .p-message-v__visual img
    {
        height: 88vw;
    }
}
@media screen and (min-width: 768px)
{
    .p-message-v__visual
    {
        height: 660px;
    }
}
@media screen and (min-width: 768px) and (max-width: 1024px)
{
    .p-message-v__visual
    {
        margin-top: 80px;
    }
}
@media screen and (min-width: 1025px)
{
    .p-message-v__visual
    {
        position: absolute;
        top: 0;
        right: 0;

        width: 50%;
        height: 660px;
    }
}
@media screen and (min-width: 768px)
{
    .p-message-v__image
    {
        width: 100%;
        height: 100%;
    }
}

/* p-message-s
-------------------------------------------------------------------------- */
.p-message-s
{
    position: relative;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    background: #0dac66;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
@media screen and (min-width: 1025px)
{
    .p-message-s
    {
        height: 660px;
    }
}
@media screen and (min-width: 768px)
{
    .p-message-s__inner
    {
        width: 100%;
    }
}
.p-message-s__container
{
    position: relative;
    z-index: 2;

    display: inline-block;

    width: 100%;
}
@media screen and (max-width: 767px)
{
    .p-message-s__container
    {
        padding: 8vw 0vw 8vw 0vw;
    }
}
@media screen and (min-width: 1025px)
{
    .p-message-s__container
    {
        max-width: 600px;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px)
{
    .p-message-s__container
    {
        margin-right: auto;
        margin-left: auto;
        padding: 30px 0 30px 0;
    }
}

@media screen and (max-width: 1280px) and (min-width: 1025px)
{
    .p-message-s__container
    {
        max-width: 50vw;
    }
}
.p-message-s__title
{
    color: #fff;
}
@media screen and (min-width: 1025px)
{
    .p-message-s__title
    {
        margin-bottom: 15px;
    }
}
.p-message-s__title span
{
    display: block;
}
@media screen and (max-width: 767px)
{
    .p-message-s__title span.jp
    {
        font-size: 65px;
        font-size: 8.67vw;
    }
}
@media screen and (min-width: 768px)
{
    .p-message-s__title span.jp
    {
        font-size: 55px;
        font-size: 5.5rem;
    }
}
.p-message-s__title span.en
{
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    line-height: 1;

    margin-top: 10px;
}
@media screen and (max-width: 767px)
{
    .p-message-s__title span.en
    {
        font-size: 38px;
        font-size: 5.07vw;
    }
}
@media screen and (min-width: 768px)
{
    .p-message-s__title span.en
    {
        font-size: 20px;
        font-size: 2rem;
    }
}
@media screen and (max-width: 767px)
{
    .p-message-s__title span.text
    {
        font-size: 36px;
        font-size: 4.8vw; 

        margin-top: 60px;
    }
}
@media screen and (max-width: 1024px)
{
    .p-message-s__title span.text
    {
        margin-top: 80px;
    }
}
@media screen and (min-width: 768px)
{
    .p-message-s__title span.text
    {
        font-size: 18px;
        font-size: 1.8rem;
    }
}
.p-message-s__text
{
    padding: 10px 0;
}
.p-message-s__textItem
{
    width: 100%; 
    padding: 15px 0;

    border-bottom: 1px solid #0dac66;
}
@media screen and (min-width: 768px)
{
    .p-message-s__textItem
    {
        width: 47%;
    }
}
.p-message-s__textItem.w100p
{
    width: 100%;
}
.p-message-s__textItem span
{
    display: inline-block; 

    width: 90px;
}
@media screen and (max-width: 1024px)
{
    .p-message-s__text
    {
        width: 100%;
    }
}
@media screen and (min-width: 768px)
{
    .p-message-s__text
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        -webkit-box-align: center;

            -ms-flex-align: center;

                align-items: center;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
}
@media screen and (min-width: 1025px)
{
    .p-message-s__text
    {
        margin: 10px 70px 40px 0;
    }
}
.p-message-s__text .ttl
{
    line-height: 1;

    display: block;
}
.p-message-s__text .type
{
    line-height: 1;
}
@media screen and (max-width: 767px)
{
    .p-message-s__text .type
    {
        display: block;

        margin-top: 10px;
    }
}
.p-message-s__visual
{
    background: #fff;
}
@media screen and (max-width: 767px)
{
    .p-message-s__visual
    {
        width: 100%;
        height: 88vw;
        margin-top: 60px;
    }
    .p-message-s__visual img
    {
        width: 100%; 
        height: 88vw;
    }
}
@media screen and (min-width: 768px)
{
    .p-message-s__visual
    {
        height: 660px;
    }
}
@media screen and (min-width: 768px) and (max-width: 1024px)
{
    .p-message-s__visual
    {
        width: 100%; 
        margin-top: 80px;
    }
}
@media screen and (min-width: 1025px)
{
    .p-message-s__visual
    {
        position: absolute;
        top: 0;
        right: 0;

        width: 50%;
        height: 660px;
    }
}
@media screen and (min-width: 768px)
{
    .p-message-s__image
    {
        width: 100%;
        height: 100%;
    }
}

/* c-inner
   ----------------------------------------------------------------- */
@media screen and (max-width: 767px)
{
    .c-inner
    {
        padding: 0vw 5.33vw 0vw 5.33vw;
    }
}

@media screen and (min-width: 768px)
{
    .c-inner
    {
        max-width: 1240px;
        margin-right: auto;
        margin-left: auto;
        padding-right: 20px; 
        padding-left: 20px;
    }
}

.bk_white
{
    display: block;

    width: 100%; 

    background: #fff;
}

.bk_none
{
    display: block;

    width: 100%;
}

.contactPage-outline
{
    background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(1.3%, #fff), color-stop(1.3%, #ebebeb), color-stop(25.1%, #ebebeb), color-stop(25.1%, #fff), to(#fff));
    background-image: linear-gradient(#fff 0%, #fff 1.3%, #ebebeb 1.3%, #ebebeb 25.1%, #fff 25.1%, #fff 100%);
}
@media screen and (max-width: 1024px)
{
    .contactPage-outline
    {
        background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(1%, #fff), color-stop(1%, #ebebeb), color-stop(16.3%, #ebebeb), color-stop(16.3%, #fff), to(#fff));
        background-image: linear-gradient(#fff 0%, #fff 1%, #ebebeb 1%, #ebebeb 16.3%, #fff 16.3%, #fff 100%);
    }
}
@media screen and (max-width: 767px)
{
    .contactPage-outline
    {
        background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(11vw, #fff), color-stop(11vw, #ebebeb), color-stop(84.3vw, #ebebeb), color-stop(84.3vw, #fff), to(#fff));
        background-image: linear-gradient(#fff 0%, #fff 11vw, #ebebeb 11vw, #ebebeb 84.3vw, #fff 84.3vw, #fff 100%);
    }
}
.contactPage-outline__table
{
    width: 100%;
}
@media screen and (max-width: 767px)
{
    .contactPage-outline__table
    {
        border-top: none;
    }
}
.contactPage-outline__table tr
{
    border-bottom: 1px solid #eee;
}
.contactPage-outline__table tr:first-of-type
{
    padding-top: 2px; 

    background: url(../image/ttl_bg.png) repeat-x top;
    background-size: 510px 2px;
}
.contactPage-outline__table tr:last-of-type
{
    padding-bottom: 2px;

    border-bottom: none; 
    background: url(../image/ttl_bg.png) repeat-x bottom;
    background-size: 510px 2px;
}
@media screen and (max-width: 767px)
{
    .contactPage-outline__table tr
    {
        border-top: none; 
        border-bottom: none;
    }
}
.contactPage-outline__table tr.ltbt
{
    padding-bottom: 2px; 

    background: url(../image/ttl_bg.png) repeat-x bottom;
    background-size: 510px 2px;
}
.contactPage-outline__table th
{
    font-weight: 500; 

    width: 40%;
    padding-right: 3.15%;
    padding-left: 3.15%;

    text-align: left;
}
@media screen and (min-width: 1025px)
{
    .contactPage-outline__table th
    {
        padding-left: 13.15%;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px)
{
    .contactPage-outline__table th
    {
        width: 37%;
    }
}
@media screen and (max-width: 767px)
{
    .contactPage-outline__table th
    {
        text-align: center;

        border-top: 1px solid #ececec;
    }
}
.contactPage-outline__table td
{
    line-height: 1.8;

    max-width: 750px; 
    padding-right: 3.33%;
}
@media screen and (max-width: 1024px)
{
    .contactPage-outline__table td
    {
        padding-left: 0;
    }
}
.contactPage-outline__table th,
.contactPage-outline__table td
{
    padding-top: 22px;
    padding-bottom: 22px;

    vertical-align: middle;
}
@media screen and (max-width: 767px)
{
    .contactPage-outline__table th,
    .contactPage-outline__table td
    {
        font-size: 32px;
        font-size: 4.27vw; 

        display: block;

        width: 100%;
        padding: 4vw 6.67vw 4vw 6.67vw;
    }
}
.contactPage-outline__table ul li
{
    display: inline-block;
}
@media screen and (max-width: 767px)
{
    .contactPage-outline__table ul li
    {
        display: block;
    }
}

/* reset
-------------------------------------------------------------------------- */
input[type='submit'],
input[type='button']
{
    cursor: pointer; 

    border: none;
    border-radius: 0;

    -webkit-appearance: button;

       -moz-appearance: button;

            appearance: button;
}

input[type='submit']::-webkit-search-decoration,
input[type='button']::-webkit-search-decoration
{
    display: none;
}

input[type='submit']::focus,
input[type='button']::focus
{
    outline-offset: -2px;
}

select
{
    border: none;
    outline: none;
    background: transparent; 

    -webkit-appearance: none; 

       -moz-appearance: none; 

            appearance: none;
}

button,
input[type='submit']
{
    padding: 0;

    border: none;
    outline: none;
    background: transparent; 

    -webkit-appearance: none; 

       -moz-appearance: none; 

            appearance: none;
}

select
{
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

select::-ms-expand
{
    display: none;
}

select
{
    font-size: 16px;

    text-align: left !important;

    border: 0;
    background: inherit;
    background: none; 

    -webkit-appearance: none; 

       -moz-appearance: none; 

            appearance: none;
}

input[type='number']
{
    -moz-appearance: textfield;
}

input[type='number']::-webkit-outer-spin-button,
input[type='number']::-webkit-inner-spin-button
{
    margin: 0; 

    -webkit-appearance: none; 

            appearance: none;
}

/* table
-------------------------------------------------------------------------- */
.table
{
    margin-bottom: 60px; 

    border-spacing: 0;
    border-collapse: collapse;
}
@media screen and (max-width: 767px)
{
    .table ul li
    {
        display: inline-block;
    }
}
@media screen and (max-width: 767px)
{
    .table ul li .yoko
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        margin-bottom: 20px; 

        -ms-flex-wrap: wrap; 

            flex-wrap: wrap;
    }
}
@media screen and (max-width: 767px)
{
    .table ul li .yoko li:first-child
    {
        display: block;

        width: 100%;
    }
    .table ul li .yoko li:first-child div
    {
        width: 97%; 
        max-width: 100%;
    }
    .table ul li .yoko li div
    {
        max-width: 125px;
    }
}

@media screen and (max-width: 767px)
{
    .table th,
    .table td
    {
        display: block;

        padding: 20px 10px 20px; 

        text-align: left;
    }
}

.table th
{
    width: 30%;

    text-align: left;
    vertical-align: middle; 
    white-space: nowrap;
}
@media screen and (max-width: 767px)
{
    .table th
    {
        width: 100%;
        padding-left: 15px; 

        white-space: normal;
    }
}

@media screen and (max-width: 767px)
{
    .table ul.yoko2
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        margin-bottom: 20px;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .table ul.yoko2 li div
    {
        max-width: 130px;
    }
}

@media screen and (min-width: 1025px)
{
    .area_input
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
}

.area_input input[type='number'].qtWidth,
.area_input input[type='text'].qtWidth
{
    width: 80%;
}

/* headLine
-------------------------------------------------------------------------- */
.headLine
{
    font-size: 25px;
    font-size: 2.5rem;
    font-weight: 300;

    margin-bottom: 15px;
}
@media screen and (max-width: 1024px)
{
    .headLine
    {
        font-size: 20px;
        font-size: 2.0rem;
    }
}
.headLine img
{
    width: 30px;
    margin-right: 10px; 
    margin-bottom: -5px;
}

/* honeypot
-------------------------------------------------------------------------- */
.hypt
{
    display: none !important;
}

/* error
-------------------------------------------------------------------------- */
.errMsg
{
    color: #f00;
}

.errList
{
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.5em;

    display: block;

    width: 95%;

    color: #f00;
}

@media screen and (max-width: 1024px) and (min-width: 768px)
{
    .errList
    {
        font-size: 20px;
        font-size: 2.0rem;
    }
}

/*
-------------------------------------------------------------------------- */
.req,
.opt
{
    font-size: .82em;
    font-weight: normal;
    font-weight: bold; 

    margin-left: .5em;
    padding: 2px 10px 2px;

    color: #f00 !important;
}

@media screen and (max-width: 1024px) and (min-width: 768px)
{
    .req,
    .opt
    {
        margin-top: 5px; 
        margin-left: 0;
    }
}

td .req,
.opt
{
    margin-left: 0;
    padding: 2px 10px 2px 0;
}

/*
-------------------------------------------------------------------------- */
.req_pcmail,
.opt
{
    font-size: .82em;
    font-weight: normal;
    font-weight: bold; 

    margin-left: 0;
    padding: 2px 10px 5px 0;

    color: #f00 !important;
}

@media screen and (max-width: 1024px) and (min-width: 768px)
{
    .req_pcmail,
    .opt
    {
        margin-top: 5px; 
        margin-left: 0;
    }
}
@media screen and (max-width: 1024px)
{
    .req_pcmail,
    .opt
    {
        display: block;
    }
}

/* form
-------------------------------------------------------------------------- */
.area_input input[type='number'].qtWidth,
.area_input input[type='text'].qtWidth
{
    width: 80%;
}

input,
button,
textarea,
select
{
    font-family: 'Noto Sans JP', sans-serif !important; 

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

input[type='email'],
input[type='tel'],
input[type='number'],
input[type='text'],
input[type='password'],
textarea
{
    font-size: 16px;
    font-weight: 300;

    -webkit-box-sizing: border-box;

            box-sizing: border-box;
    width: 100%;
    margin: 5px 0; 
    padding: 10px;
    padding: 10px !important;

    text-align: left !important;

    border: 1px solid #ccc;
    border: solid 1px #ccc;
    background: #fff !important;
    -webkit-box-shadow: 0 0 3px #ccc inset;
            box-shadow: 0 0 3px #ccc inset;
}
@media screen and (min-width: 1025px)
{
    input[type='email'].qtWidth,
    input[type='tel'].qtWidth,
    input[type='number'].qtWidth,
    input[type='text'].qtWidth,
    input[type='password'].qtWidth,
    textarea.qtWidth
    {
        width: 45%;
    }
}

@media screen and (max-width: 1024px) and (min-width: 768px)
{
    input[type='email'].qtWidth,
    input[type='tel'].qtWidth,
    input[type='number'].qtWidth,
    input[type='text'].qtWidth,
    input[type='password'].qtWidth,
    textarea.qtWidth
    {
        width: 60%;
    }
}
@media screen and (max-width: 767px)
{
    input[type='email'].qtWidth,
    input[type='tel'].qtWidth,
    input[type='number'].qtWidth,
    input[type='text'].qtWidth,
    input[type='password'].qtWidth,
    textarea.qtWidth
    {
        width: 85%;
        margin-right: 5px;
    }
}
@media screen and (max-width: 767px)
{
    input[type='email'],
    input[type='tel'],
    input[type='number'],
    input[type='text'],
    input[type='password'],
    textarea
    {
        width: 99%;
    }
}
input[type='email']:focus,
input[type='tel']:focus,
input[type='number']:focus,
input[type='text']:focus,
input[type='password']:focus,
textarea:focus
{
    background-color: #ddd;
}

/* select
-------------------------------------------------------------------------- */
.cp_ipselect
{
    font-weight: 300; 

    width: 160px;
    margin: 0 auto;

    text-align: center;
}
.cp_ipselect select
{
    font-weight: 300; 

    width: 100%;
    padding-right: 1em;

    cursor: pointer;
    text-indent: .01px;
    text-overflow: ellipsis;

    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    -webkit-box-shadow: none;
            box-shadow: none;

    -webkit-appearance: none;

       -moz-appearance: none;

            appearance: none;
}
.cp_ipselect select::-ms-expand
{
    display: none;
}

.cp_ipselect.cp_sl01
{
    position: relative;

    display: inline-block;

    margin: 5px; 

    border: 1px solid #bbb;
    background: #fff;
}
.cp_ipselect.cp_sl01::before
{
    position: absolute;
    top: 0;
    right: .9em;
    bottom: 0;

    width: 0;
    height: 0;
    margin: auto; 
    padding: 0;

    content: '';
    pointer-events: none;

    border-top: 6px solid #666;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
}
.cp_ipselect.cp_sl01 select
{
    padding: 8px 20px 8px 8px;
}

/*
-------------------------------------------------------------------------- */
.radio_sp,
.checkbox_sp
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;
}
@media screen and (max-width: 767px)
{
    .radio_sp,
    .checkbox_sp
    {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }
}
@media screen and (max-width: 767px)
{
    .radio_sp.radio_reply,
    .checkbox_sp.radio_reply
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
}
.radio_sp li,
.checkbox_sp li
{
    max-width: 33.3333%; 

    -ms-flex-preferred-size: 33.3333%; 

        flex-basis: 33.3333%;
}
@media screen and (max-width: 1024px)
{
    .radio_sp li,
    .checkbox_sp li
    {
        max-width: 100%; 

        -ms-flex-preferred-size: 100%; 

            flex-basis: 100%;
    }
}
@media screen and (max-width: 767px)
{
    .radio_sp li,
    .checkbox_sp li
    {
        max-width: 95%; 

        text-align: left;

        -ms-flex-preferred-size: 80%;
        flex-basis: 95%;
    }
}
.radio_sp li label,
.checkbox_sp li label
{
    display: block;

    margin-right: 10px;
    margin-bottom: 10px;
    padding: 10px;

    cursor: pointer; 

    border: 1px solid #bbb;
    background: #ebebeb;
}
@media screen and (max-width: 1024px)
{
    .radio_sp li label,
    .checkbox_sp li label
    {
        margin-right: 0;
    }
}
@media screen and (min-width: 768px)
{
    .radio_sp li label :hover,
    .checkbox_sp li label :hover
    {
        background: #0dac66;
    }
}
.radio_sp .l1 li,
.checkbox_sp .l1 li
{
    max-width: 100%; 

    -ms-flex-preferred-size: 100%; 

        flex-basis: 100%;
}
@media screen and (max-width: 1024px)
{
    .radio_sp .l1 li,
    .checkbox_sp .l1 li
    {
        max-width: 80%; 

        -ms-flex-preferred-size: 80%; 

            flex-basis: 80%;
    }
}
.radio_sp input,
.checkbox_sp input
{
    display: none;
}
.radio_sp input:checked + label,
.checkbox_sp input:checked + label
{
    font-weight: bold; 

    color: #fff;
    background: #0dac66;
}

.radio_sp input + label
{
    position: relative; 

    padding-left: 30px;
}
.radio_sp input + label::before
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 5px;

    display: block;

    width: 17px;
    height: 17px;
    margin: auto;

    content: '';

    border: 1px solid #999;
    border-radius: 50%;
    background: #fff;
}

.radio_sp input:checked + label::after
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 8px;

    display: block;

    width: 11px;
    height: 11px;
    margin: auto;

    content: '';

    border-radius: 50%; 
    background: #0dac66;
}

.checkbox_sp input + label
{
    position: relative; 

    padding-left: 30px;
}
.checkbox_sp input + label::before
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 7px;

    display: block;

    width: 15px;
    height: 15px;
    margin: auto;

    content: '';

    border: 1px solid #999;
    background: #fff;
}

.checkbox_sp input:checked + label::after
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 10px;

    display: block;

    width: 8px;
    height: 12px;
    margin: auto;

    content: '';
    -webkit-transform: rotate(40deg);
            transform: rotate(40deg);

    border-right: 3px solid #0dac66; 
    border-bottom: 3px solid #0dac66;
}

/* atten
-------------------------------------------------------------------------- */
.c_atten img
{
    width: 100%;
}

.c_atten ul
{
    text-align: left;
}
.c_atten ul li
{
    display: inline-block;

    margin-bottom: 0; 

    vertical-align: middle;
}
.c_atten ul li:first-child
{
    max-width: 60px;
}

@media screen and (max-width: 1023px)
{
    .c_atten ul li:first-child
    {
        width: 100%;
        max-width: 100%;
    }
}

@media screen and (max-width: 1023px)
{
    .c_atten ul li:first-child img
    {
        display: block; 

        width: 60px;
        height: auto;
        margin: 0 auto 20px;
    }
}

.c_atten ul li:nth-child(2)
{
    width: 90%;
    margin-left: 10px;
}

.c_atten ul li:nth-child(2) .color
{
    color: #0dac66;
}

@media screen and (max-width: 1023px)
{
    .c_atten ul li:nth-child(2)
    {
        line-height: 1.5; 

        max-width: 100%;
    }
}

.atten_ad
{
    font-size: 23px !important; 
    font-weight: 400;

    margin-bottom: 10px;
}

/* btn
-------------------------------------------------------------------------- */
#btnFormList a
{
    text-decoration: none;
}

#btnFormList,
#btnConfList
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    padding: 0;

    list-style-type: none;

    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

#btnFormList2 a
{
    text-decoration: none;
}

#btnFormList2,
#btnConfList2
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    padding: 0;

    list-style-type: none;

    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

#btnSubmit
{
    font-size: 25px;
    font-weight: 100;
    line-height: 1;

    position: relative;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    min-width: 300px;
    margin: 10px 20px 0;
    padding: 15px 20px 17px;

    cursor: pointer;
    -webkit-transition: .3s ease;
    transition: .3s ease;
    text-align: center;
    text-decoration: none;
    letter-spacing: .2em;

    color: #fff;
    color: #fff;
    border: solid 1px #fff; 
    outline: none;
    background: #0dac66;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
#btnSubmit:hover
{
    opacity: 1;
    color: #0dac66;
    border: solid 1px #0dac66; 
    background: #fff;
}

@media screen and (max-width: 767px)
{
    #btnFormList2 li:nth-child(2) #btnSubmit,
    #btnConfList2 li:nth-child(2) #btnSubmit,
    #btnFormList li:nth-child(2) #btnSubmit,
    #btnConfList li:nth-child(2) #btnSubmit
    {
        margin-top: 20px;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    #btnSubmit
    {
        /* margin-bottom: 100px; */
    }
}

#btnSubmit:hover
{
    opacity: .8;
}

#btnSubmit a
{
    text-decoration: none; 

    color: #fff;
}

#btnSubmit.syusei
{
    color: #0dac66;
    border: solid 1px #0dac66; 
    background: #fff;
}
#btnSubmit.syusei:hover
{
    opacity: 1;
    color: #fff;
    border: solid 1px #fff; 
    background: #0dac66;
}

/* conf
-------------------------------------------------------------------------- */
.page_disc
{
    font-size: 25px;
    font-size: 2.5rem;
    font-weight: bold;

    width: 1080px;
    max-width: 90vw;
    margin: 40px auto 20px;
    padding: 0 5px;

    text-align: center;

    color: red;
}

@media screen and (max-width: 767px)
{
    .page_disc
    {
        font-size: 20px;
        font-size: 2.0rem;
    }
}

/* datepicker
-------------------------------------------------------------------------- */
.datepicker
{
    width: 280px !important;
    max-width: 280px;
    margin-right: 25px;
}

@media screen and (max-width: 750px)
{
    .datepicker
    {
        width: 100% !important;
        max-width: 100%;
        margin-right: 0;
    }
}

@media screen and (max-width: 767px)
{
    .table ul.rway
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        margin-bottom: 20px;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .table ul.rway li:first-child
    {
        display: block;

        width: 100%;
    }
    .table ul.rway li:first-child div
    {
        width: 97%;
        max-width: 100%;
    }
    .table ul.rway li div
    {
        max-width: 170px;
    }
}

@media screen and (max-width: 767px)
{
    .table ul.rway2
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        margin-bottom: 20px;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .table ul.rway2 li
    {
        display: inline-block;
    }
    .table ul.rway2 li div
    {
        max-width: 120px;
    }
}

/* formbtn
   ----------------------------------------------------------------- */
.formbtn
{
    font-size: 30px;
    font-size: 3.0rem;
    line-height: 1.3;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    padding: 20px 40px;

    text-align: center;
    text-decoration: none;

    background: #f8f1e3;

    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.formbtn .c-link__arrow
{
    font-size: 40px;
    font-size: 4rem;
}

@media screen and (max-width: 767px)
{
    .formbtn
    {
        font-size: 18px;
        font-size: 1.8rem;

        padding: 10px 15px;
    }
}

@media screen and (max-width: 1023px)
{
    .formbtn
    {
        display: inherit;
    }
    .formbtn br
    {
        display: none;
    }
}

.btnArea
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 100%;
    margin-top: 60px; 

    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

/* p-message2culm
-------------------------------------------------------------------------- */
.p-message2culm
{
    position: relative;
}
@media screen and (min-width: 1025px)
{
    .p-message2culm__inner
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        width: 100%; 
        max-width: 1240px;
        margin-right: auto;
        margin-left: auto;
        padding-right: 20px;
        padding-left: 20px;

        -webkit-box-pack: end;

            -ms-flex-pack: end;

                justify-content: flex-end;
    }
}
.p-message2culm__container
{
    padding-top: 60px;
    padding-bottom: 60px;
}
@media screen and (max-width: 767px)
{
    .p-message2culm__container
    {
        padding: 16vw 5.33vw 16vw 5.33vw;
    }
}
@media screen and (min-width: 1025px)
{
    .p-message2culm:nth-child(odd) .p-message2culm__container:nth-child(odd)
    {
        padding-right: 20px;
    }
}
@media screen and (min-width: 1281px)
{
    .p-message2culm:nth-child(odd) .p-message2culm__container:nth-child(odd)
    {
        padding-right: 60px;
    }
}
@media screen and (min-width: 1025px)
{
    .p-message2culm:nth-child(odd) .p-message2culm__container:nth-child(even)
    {
        padding-left: 20px;
    }
}
@media screen and (min-width: 1281px)
{
    .p-message2culm:nth-child(odd) .p-message2culm__container:nth-child(even)
    {
        padding-left: 60px;
    }
}
@media screen and (min-width: 1025px)
{
    .p-message2culm:nth-child(even) .p-message2culm__container:nth-child(odd)
    {
        padding-right: 20px;
    }
}
@media screen and (min-width: 1281px)
{
    .p-message2culm:nth-child(even) .p-message2culm__container:nth-child(odd)
    {
        padding-right: 60px;
    }
}
@media screen and (min-width: 1025px)
{
    .p-message2culm:nth-child(even) .p-message2culm__container:nth-child(even)
    {
        padding-left: 20px;
    }
}
@media screen and (min-width: 1281px)
{
    .p-message2culm:nth-child(even) .p-message2culm__container:nth-child(even)
    {
        padding-left: 60px;
    }
}
.p-message2culm__container
{
    position: relative;
    z-index: 2; 

    display: -webkit-box; 

    display: -ms-flexbox; 

    display: flex;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
}
@media screen and (min-width: 768px)
{
    .p-message2culm__container
    {
        width: 100%;
    }
}
@media screen and (min-width: 768px) and (max-width: 1024px)
{
    .p-message2culm__container
    {
        margin-right: auto;
        margin-left: auto;
        padding: 8vw 2.67vw 8vw 2.67vw;
    }
}

@media screen and (max-width: 1280px) and (min-width: 1025px)
{
    .p-message2culm__container
    {
        max-width: 50vw;
    }
}
.p-message2culm__body .num
{
    font-family: 'Jost', sans-serif;
    font-weight: 100;
    line-height: 1;
}
@media screen and (max-width: 767px)
{
    .p-message2culm__body .num
    {
        font-size: 180px;
        font-size: 24vw;
    }
}
@media screen and (min-width: 768px)
{
    .p-message2culm__body .num
    {
        font-size: 120px;
        font-size: 12rem;
    }
}
.p-message2culm__title
{
    margin-bottom: 60px;
}
@media screen and (max-width: 767px)
{
    .p-message2culm__title
    {
        margin-bottom: 30px;
    }
}
.p-message2culm__title span
{
    display: block;
}
.p-message2culm__title span.jp
{
    margin-bottom: 15px;
}
.p-message2culm__title span.en
{
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    line-height: 1;
}
@media screen and (max-width: 767px)
{
    .p-message2culm__title span.en
    {
        font-size: 38px;
        font-size: 5.07vw;
    }
}
@media screen and (min-width: 768px)
{
    .p-message2culm__title span.en
    {
        font-size: 20px;
        font-size: 2rem;
    }
}
.p-message2culm__visual
{
    position: relative;
}

@media screen and (min-width: 768px) and (max-width: 1024px)
{
    .p-message2culm__visual
    {
        width: 80%; 
        margin-right: auto;
        margin-left: auto;
    }
}
.p-message2culm__visual:before
{
    position: absolute;
    bottom: -2.5vw;
    left: -2.5vw;

    width: 7vw;
    height: 7vw;

    content: '';

    opacity: .3; 
    background: #ccc;
}

@media screen and (min-width: 768px) and (max-width: 1024px)
{
    .p-message2culm__visual:before
    {
        bottom: -5vw;
        left: -5vw;

        width: 10vw;
        height: 10vw;
    }
}
@media screen and (max-width: 767px)
{
    .p-message2culm__visual:before
    {
        bottom: -5vw;
        left: -10vw;

        width: 20vw;
        height: 20vw;
    }
}
.p-message2culm__visual:after
{
    position: absolute;
    top: -5vw;
    right: -5vw;

    width: 14vw;
    height: 14vw;

    content: '';

    opacity: .3; 
    background: #0dac66;
}

@media screen and (min-width: 768px) and (max-width: 1024px)
{
    .p-message2culm__visual:after
    {
        top: -10vw;
        right: -10vw;

        width: 20vw;
        height: 20vw;
    }
}
@media screen and (max-width: 767px)
{
    .p-message2culm__visual:after
    {
        top: -10vw;
        right: -20vw;

        width: 40vw;
        height: 40vw;
    }
}

/* p-shopinfo
-------------------------------------------------------------------------- */
@media screen and (min-width: 768px)
{
    .p-shopinfo
    {
        margin-right: auto; 
        margin-left: auto;
    }
}

.p-shopinfo__list
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

@media screen and (min-width: 768px) and (max-width: 1024px)
{
    .p-shopinfo__list
    {
        width: 100%;
        margin-right: auto;
        margin-left: auto;

        -ms-flex-pack: distribute;

            justify-content: space-around;
    }
}

@media screen and (max-width: 1480px)
{
    .p-shopinfo__item:nth-child(n+5)
    {
        display: none;
    }
}

@media screen and (max-width: 1024px)
{
    .p-shopinfo__item
    {
        margin: 0vw 0vw 1.07vw 0vw;
    }
}

@media screen and (max-width: 767px)
{
    .p-shopinfo__item
    {
        display: block;

        width: 100%;
    }
}

@media screen and (min-width: 768px)
{
    .p-shopinfo__item
    {
        width: auto;
        width: 32.5%;
    }
}
@media screen and (min-width: 768px) and (max-width: 1024px)
{
    .p-shopinfo__item
    {
        width: 49%; 
        max-width: 49%;
    }
}

@media screen and (min-width: 1025px)
{
    .p-shopinfo__item:nth-last-child(-n+3)
    {
        margin-bottom: 0;
    }
}

@media screen and (max-width: 1024px) and (min-width: 768px)
{
    .p-shopinfo__item:nth-last-child(-n+2)
    {
        margin-bottom: 0;
    }
}

@media screen and (max-width: 767px)
{
    .p-shopinfo__item:last-child
    {
        margin-bottom: 0;
    }
}

/* p-shopinfo_in
-------------------------------------------------------------------------- */
.p-shopinfo_in
{
    display: block;

    text-decoration: none;
}
.p-shopinfo_in:hover
{
    opacity: .8;
}
.p-shopinfo_in__thumbnail
{
    position: relative;

    display: block; 
    overflow: hidden;
}
@media screen and (min-width: 1025px)
{
    .p-shopinfo_in__thumb img
    {
        width: 100%;
        height: auto;
    }
}
@media screen and (max-width: 1024px)
{
    .p-shopinfo_in__thumb img
    {
        width: 100%;
        height: auto;
    }
}
@media screen and (max-width: 767px)
{
    .p-shopinfo_in__thumb img
    {
        width: 100%;
        height: auto;
    }
}
.p-shopinfo_in__heading
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: justify;

        -ms-flex-pack: justify;

            justify-content: space-between;
}
.p-shopinfo_in__unreleased
{
    font-weight: 600; 
    line-height: 1;

    padding: 10px 0;

    text-align: right;
}
@media screen and (max-width: 767px)
{
    .p-shopinfo_in__unreleased
    {
        font-size: 56px;
        font-size: 7.47vw;
    }
}
@media screen and (min-width: 768px)
{
    .p-shopinfo_in__unreleased
    {
        font-size: 28px;
        font-size: 2.8rem;
    }
}
@media screen and (min-width: 1025px)
{
    .p-shopinfo_in__unreleased
    {
        margin-top: 0;
    }
}
@media screen and (min-width: 768px)
{
    .p-shopinfo_in__unreleased--unreleased
    {
        font-size: 30px;
        font-size: 3rem;
    }
}
.p-shopinfo_in__unit
{
    line-height: 1; 

    color: #000;
}
@media screen and (max-width: 767px)
{
    .p-shopinfo_in__unit
    {
        font-size: 28px;
        font-size: 3.73vw;
        font-weight: normal;
    }
}
@media screen and (min-width: 768px)
{
    .p-shopinfo_in__unit
    {
        font-size: 16px;
        font-size: 1.6rem;
    }
}
.p-shopinfo_in__size
{
    font-weight: bold;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    width: 100%;

    text-align: center;

    background: #f0f0f0; 

    -webkit-box-align: center; 

        -ms-flex-align: center; 

            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
@media screen and (max-width: 767px)
{
    .p-shopinfo_in__size
    {
        font-size: 42px;
        font-size: 5.6vw;
    }
}
@media screen and (min-width: 768px)
{
    .p-shopinfo_in__size
    {
        font-size: 21px;
        font-size: 2.1rem;
    }
}
.p-shopinfo_in__address,
.p-shopinfo_in__distance
{
    line-height: 1.8;
}
@media screen and (max-width: 767px)
{
    .p-shopinfo_in__information
    {
        padding-top: 5.33vw;
    }
}
@media screen and (min-width: 768px)
{
    .p-shopinfo_in__information
    {
        padding-top: 10px;
    }
}
@media screen and (min-width: 768px) and (max-width: 1024px)
{
    .p-shopinfo_in__information
    {
        padding-bottom: 30px;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px)
{
    .p-shopinfo_in__information--unreleased
    {
        padding-top: 35px;
        padding-bottom: 40px;
    }
}
@media screen and (min-width: 1025px)
{
    .p-shopinfo_in__information--unreleased
    {
        padding-top: 35px;
    }
}
.p-shopinfo_in__message
{
    display: block;

    margin-top: 5px;
    margin-bottom: 1em; 

    text-align: center;
}
@media screen and (max-width: 767px)
{
    .p-shopinfo_in__message
    {
        font-size: 32px;
        font-size: 4.27vw; 
        line-height: 1.8;

        margin-top: .5em;
    }
}
.p-shopinfo_in__checkbox
{
    margin-top: 10px;

    border-top: solid 1px #e6e6e6;
}
.p-shopinfo_in__checkbox > input
{
    display: none;
}
.p-shopinfo_in__checkbox > input:checked + label::after
{
    position: absolute;
    top: 0;
    right: 0;
    left: 0;

    display: block;

    margin: auto;

    content: '';
    -webkit-transform: rotate(40deg);
            transform: rotate(40deg);
}
@media screen and (max-width: 767px)
{
    .p-shopinfo_in__checkbox > input:checked + label::after
    {
        width: 2.66667vw;
        height: 5.33333vw;

        border-right: 1.06667vw solid #0dac66;
        border-bottom: 1.06667vw solid #0dac66;
    }
}
@media screen and (min-width: 768px)
{
    .p-shopinfo_in__checkbox > input:checked + label::after
    {
        width: 10px;
        height: 20px;

        border-right: 3px solid #0dac66;
        border-bottom: 3px solid #0dac66;
    }
}
.p-shopinfo_in__checkbox > label
{
    position: relative;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    width: 100%;
    padding: 0;

    cursor: pointer;
    -webkit-transition: .3s ease;
    transition: .3s ease;

    background: #e0e0e0;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
@media screen and (max-width: 767px)
{
    .p-shopinfo_in__checkbox > label
    {
        height: 8vw;
    }
}
@media screen and (min-width: 768px)
{
    .p-shopinfo_in__checkbox > label
    {
        height: 30px;
    }
}
.p-shopinfo_in__checkbox > label::before
{
    position: relative;
    top: 0;

    display: inline-block;

    content: '';

    border: 1px solid #d4d4d4;
    background: #fff;
}
@media screen and (max-width: 767px)
{
    .p-shopinfo_in__checkbox > label::before
    {
        width: 5.33333vw;
        height: 5.33333vw;
    }
}
@media screen and (min-width: 768px)
{
    .p-shopinfo_in__checkbox > label::before
    {
        width: 20px;
        height: 20px;
    }
}
.p-shopinfo_in__checkbox span.none
{
    display: block; 

    background: #e0e0e0;
}
@media screen and (max-width: 767px)
{
    .p-shopinfo_in__checkbox span.none
    {
        height: 8vw;
    }
}
@media screen and (min-width: 768px)
{
    .p-shopinfo_in__checkbox span.none
    {
        height: 30px;
    }
}

.companyPage-access__map
{
    position: relative; 

    overflow: hidden;

    height: 0;
    padding-bottom: 56.25%;
}
@media screen and (max-width: 767px)
{
    .companyPage-access__map
    {
        padding-bottom: 117.33333vw;
    }
}

.companyPage-access__map iframe
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%; 
    height: 100%;
}

.accessIcon img
{
    width: 25px;
}

@media screen and (min-width: 768px)
{
    .accessIcon
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        -webkit-box-align: center;

            -ms-flex-align: center;

                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }
    .accessIcon span
    {
        margin: 0 10px;
    }
}

@media screen and (max-width: 767px)
{
    .accessIcon span
    {
        display: inline-block;

        margin: 2.5px auto;
    }
}
