/* ==========================================================================
   Foundation
   ========================================================================== */
/* ===============================================
#p-architectureDetail
=============================================== */
.p-architectureDetail__title
{
    font-size: 40px;
    font-size: 4rem;

    position: relative;

    display: inline-block;

    margin: 0 auto; 
    padding: 0 50px;

    color: #37465f;
}

@media screen and (max-width: 1719px) and (min-width: 1480px)
{
    .p-architectureDetail__title
    {
        font-size: 2.32558vw;
    }
}

@media screen and (max-width: 1479px) and (min-width: 1024px)
{
    .p-architectureDetail__title
    {
        font-size: 2.7027vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .p-architectureDetail__title
    {
        font-size: 5.07813vw;
    }
}

@media screen and (max-width: 767px)
{
    .p-architectureDetail__title
    {
        font-size: 22.56px;
        font-size: 2.9375rem;
    }
}

@media screen and (min-width: 768px)
{
    .p-architectureDetail__title
    {
        text-align: center;
    }
}

.p-architectureDetail__title:before,
.p-architectureDetail__title:after
{
    position: absolute;
    top: 0;
    bottom: 0;

    width: 3px;
    height: 45px;
    margin: auto; 

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

    background: #37465f;
}

.p-architectureDetail__title:before
{
    left: 10px;
}

.p-architectureDetail__title:after
{
    right: 10px;
}

.p-architectureDetail__inner
{
    text-align: center;
}

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

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

.p-architectureDetail__subtitle
{
    font-family: 'Antonio', sans-serif;
    font-size: 30px;
    font-size: 3rem;

    margin-bottom: 20px; 

    color: #37465f;
}

@media screen and (max-width: 1719px) and (min-width: 1480px)
{
    .p-architectureDetail__subtitle
    {
        font-size: 1.74419vw;
    }
}

@media screen and (max-width: 1479px) and (min-width: 1024px)
{
    .p-architectureDetail__subtitle
    {
        font-size: 2.02703vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .p-architectureDetail__subtitle
    {
        font-size: 3.80859vw;
    }
}

@media screen and (max-width: 767px)
{
    .p-architectureDetail__subtitle
    {
        font-size: 16.92px;
        font-size: 2.20313rem;
    }
}

@media screen and (max-width: 1479px) and (min-width: 1024px)
{
    .p-architectureDetail__subtitle
    {
        margin-bottom: 1.35135vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .p-architectureDetail__subtitle
    {
        margin-bottom: 1.85547vw;
    }
}

@media screen and (max-width: 767px) and (min-width: 600px)
{
    .p-architectureDetail__subtitle
    {
        margin-bottom: 2.47396vw;
    }
}

@media screen and (max-width: 599px) and (min-width: 320px)
{
    .p-architectureDetail__subtitle
    {
        margin-bottom: 3vw;
    }
}

@media screen and (max-width: 319px)
{
    .p-architectureDetail__subtitle
    {
        margin-bottom: 5.3125vw;
    }
}

.p-architectureDetail__backbtnArea
{
    text-align: center;
}

.p-architectureDetail__backbtnArea .btn
{
    font-family: 'Antonio', sans-serif;
    font-size: 30px;
    font-size: 3rem;

    padding: 1px 90px 3px;

    -webkit-transition: .3s ease;

    transition: .3s ease;

    color: #37465f; 
    border: 1px solid #37465f;
    border-radius: 200px;
}

@media screen and (max-width: 1719px) and (min-width: 1480px)
{
    .p-architectureDetail__backbtnArea .btn
    {
        font-size: 1.74419vw;
    }
}

@media screen and (max-width: 1479px) and (min-width: 1024px)
{
    .p-architectureDetail__backbtnArea .btn
    {
        font-size: 2.02703vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .p-architectureDetail__backbtnArea .btn
    {
        font-size: 3.80859vw;
    }
}

@media screen and (max-width: 767px)
{
    .p-architectureDetail__backbtnArea .btn
    {
        font-size: 16.92px;
        font-size: 2.20313rem;
    }
}

.p-architectureDetail__backbtnArea .btn:hover
{
    color: #fff;
    background: #37465f;
}

/* PhotoGallery
   ----------------------------------------------------------------- */
.photo-gallery
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: justify;

        -ms-flex-pack: justify;

            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.photo-gallery::before
{
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
}

.photo-gallery::before,
.photo-gallery::after
{
    display: block;

    width: calc((100% / 4) - .82vw); 

    content: '';
}

@media screen and (max-width: 1023px)
{
    .photo-gallery::before,
    .photo-gallery::after
    {
        width: calc((100% / 2) - 1.5vw);
    }
}

@media screen and (max-width: 767px)
{
    .photo-gallery::before,
    .photo-gallery::after
    {
        width: calc((100% / 2) - 2vw);
    }
}

.photo-gallery figure
{
    position: relative;

    overflow: hidden;

    width: 100%; 
    height: auto;
}

.photo-gallery figure:before
{
    display: block;

    padding-top: 75%; 

    content: '';
}

@media screen and (min-width: 768px)
{
    .photo-gallery figure.small
    {
        width: calc(33.3333333% - .3% * 2 / 3);
    }
}

.photo-gallery figure.small:before
{
    padding-top: 147.5%;
}

@media screen and (min-width: 768px)
{
    .photo-gallery figure.medium
    {
        width: calc(50% - .3% * 1 / 2);
    }
}

@media screen and (min-width: 768px)
{
    .photo-gallery figure.large
    {
        width: calc(66.6666666% - .3% * 1 / 2);
    }
    .photo-gallery figure.large:before
    {
        padding-top: 73%;
    }
}

@media screen and (min-width: 768px)
{
    .photo-gallery figure:nth-of-type(n + 3)
    {
        margin-top: 3px;
    }
}

@media screen and (max-width: 767px)
{
    .photo-gallery figure:nth-of-type(n + 2)
    {
        margin-top: 3px;
    }
}

.photo-gallery figure img
{
    width: 100%;
    height: 100%;
}

.photo-gallery figure a
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}

.photo-gallery figcaption
{
    display: none;
}

/* p-messageImage-center
-------------------------------------------------------------------------- */
@media screen and (min-width: 1024px)
{
    .p-messageImage-center
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        -webkit-box-pack: justify;

            -ms-flex-pack: justify;

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

@media screen and (max-width: 767px)
{
    .p-messageImage-center__visual
    {
        width: 100%; 
        height: 70vw;
    }
    .p-messageImage-center__visual img
    {
        width: 100%; 
        height: 70vw;
    }
}

@media screen and (min-width: 768px)
{
    .p-messageImage-center__visual
    {
        height: 550px;
    }
}

@media screen and (min-width: 768px) and (max-width: 1023px)
{
    .p-messageImage-center__visual
    {
        width: 100%; 
        height: 70vw;
        max-height: 533px;
    }
}

@media screen and (min-width: 1024px)
{
    .p-messageImage-center__visual
    {
        width: 49.9%;
        height: 600px;
    }
}

@media screen and (min-width: 768px)
{
    .p-messageImage-center__image
    {
        width: 100%;
        height: 100%;
    }
}

.p-messageImage-center figcaption
{
    display: none;
}
