/* ==========================================================================
   company
   ========================================================================== */
/* p-message
-------------------------------------------------------------------------- */
.p-message {
    position: relative;
}

@media screen and (min-width:768px) {
    .p-message {
        padding-top: 60px;
    }
}

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

.p-message__container {
    position: relative;
    z-index: 2;
    background-color: #f8f1e3;
}

@media screen and (max-width: 767px) {
    .p-message__container {
        padding: 8vw 8vw 8vw 8vw;
    }
}

@media screen and (min-width: 768px) {
    .p-message__container {
        width: 100%;
        max-width: 690px;
        padding: 40px;
    }
}
/*
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .p-message__container {
        margin-left: auto;
        margin-right: auto;
    }
}
*/
@media screen and (max-width: 767px) {
    .p-message__body {
        padding-top: 5.33vw;
    }
}

@media screen and (min-width: 768px) {
    .p-message__body {
        padding-top: 20px;
    }
}

@media screen and (max-width: 767px) {
    .p-message__title {
        margin-top: 5.33vw;
        font-size: 40px;
        font-size: 5.33vw;
        line-height: 1.6;
    }
}

@media screen and (min-width: 768px) {
    .p-message__title {
        margin-top: 30px;
        font-size: 30px;
        font-size: 3rem;
        line-height: 1.6;
    }
}

.p-message__text {
    margin-bottom: 1.5em;
}

.p-message__author {
    text-align: right;
    font-weight: 700;
}

@media screen and (min-width: 768px) {
    .p-message__author {
        margin-top: 30px;
        font-size: 20px;
        font-size: 2rem;
    }
}

@media screen and (max-width: 767px) {
    .p-message__visual {
        margin-top: -6.67vw;
        height: 80vw;
    }
    .p-message__visual img {
        height: 80vw;
    }
}

@media screen and (min-width: 768px) {
    .p-message__visual {
        height: 500px;
    }
}
/*
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .p-message__visual {
        margin-top: -5.33vw;
    }
}
*/
@media screen and (min-width:768px) {
    .p-message__visual {
        position: absolute;
        top: 0;
        right: 0;
        width: 54.68%;
        height: 620px;
    }
}

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

/* p-point-left
-------------------------------------------------------------------------- */
.p-point-left {
    position: relative;
}

@media screen and (min-width:768px) {
    .p-point-left {
        padding-top: 60px;
        padding-bottom: 60px;
    }
}

@media screen and (min-width: 768px) {
    .p-point-left__inner {
        width: 100%;
    }
}

.p-point-left__container {
    position: relative;
    z-index: 2;
    background-color: #f8f1e3;
}

@media screen and (max-width: 767px) {
    .p-point-left__container {
        padding: 8vw 8vw 8vw 8vw;
    }
}

@media screen and (min-width: 768px) {
    .p-point-left__container {
        width: 100%;
        max-width: 690px;
        padding: 40px;
    }
}
/*
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .p-point-left__container {
        margin-left: auto;
        margin-right: auto;
    }
}
*/
@media screen and (max-width: 767px) {
    .p-point-left__body {
        padding-top: 5.33vw;
    }
}

@media screen and (min-width: 768px) {
    .p-point-left__body {
        padding-top: 20px;
    }
}

@media screen and (max-width: 767px) {
    .p-point-left__title {
        margin-top: 5.33vw;
        font-size: 40px;
        font-size: 5.33vw;
        line-height: 1.6;
    }
}

@media screen and (min-width: 768px) {
    .p-point-left__title {
        margin-top: 30px;
        font-size: 30px;
        font-size: 3rem;
        line-height: 1.6;
    }
}

.p-point-left__text {
    margin-bottom: 1.5em;
}

.p-point-left__author {
    text-align: right;
    font-weight: 700;
}

@media screen and (min-width: 768px) {
    .p-point-left__author {
        margin-top: 30px;
        font-size: 20px;
        font-size: 2rem;
    }
}

@media screen and (max-width: 767px) {
    .p-point-left__visual {
        margin-top: -6.67vw;
        height: 80vw;
    }
    .p-point-left__visual img {
        height: 80vw;
    }
}

@media screen and (min-width: 768px) {
    .p-point-left__visual {
        height: 500px;
    }
}
/*
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .p-point-left__visual {
        margin-top: -5.33vw;
    }
}
*/

@media screen and (min-width:768px) {
    .p-point-left__visual {
        position: absolute;
        top: 0;
        right: 0;
        width: 54.68%;
        height: 620px;
    }
}

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

/* p-point-right
-------------------------------------------------------------------------- */
.p-point-right {
    position: relative;
}

@media screen and (min-width:768px) {
    .p-point-right {
        padding-top: 60px;
        padding-bottom: 60px;
    }
}

@media screen and (min-width: 768px) {
    .p-point-right__inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        width: 100%;
    }
}

.p-point-right__container {
    position: relative;
    z-index: 2;
    background-color: #f8f1e3;
}

@media screen and (max-width: 767px) {
    .p-point-right__container {
        padding: 8vw 8vw 8vw 8vw;
    }
}

@media screen and (min-width: 768px) {
    .p-point-right__container {
        width: 100%;
        max-width: 690px;
        padding: 40px;
    }
}
/*
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .p-point-right__container {
        margin-left: auto;
        margin-right: auto;
    }
}
*/
@media screen and (max-width: 767px) {
    .p-point-right__body {
        padding-top: 5.33vw;
    }
}

@media screen and (min-width: 768px) {
    .p-point-right__body {
        padding-top: 20px;
    }
}

@media screen and (max-width: 767px) {
    .p-point-right__title {
        margin-top: 5.33vw;
        font-size: 40px;
        font-size: 5.33vw;
        line-height: 1.6;
    }
}

@media screen and (min-width: 768px) {
    .p-point-right__title {
        margin-top: 30px;
        font-size: 30px;
        font-size: 3rem;
        line-height: 1.6;
    }
}

.p-point-right__text {
    margin-bottom: 1.5em;
}

.p-point-right__author {
    text-align: right;
    font-weight: 700;
}

@media screen and (min-width: 768px) {
    .p-point-right__author {
        margin-top: 30px;
        font-size: 20px;
        font-size: 2rem;
    }
}

@media screen and (max-width: 767px) {
    .p-point-right__visual {
        margin-top: -6.67vw;
        height: 80vw;
    }
    .p-point-right__visual img {
        height: 80vw;
    }
}

@media screen and (min-width: 768px) {
    .p-point-right__visual {
        height: 500px;
    }
}
/*
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .p-point-right__visual {
        margin-top: -5.33vw;
    }
}
*/
@media screen and (min-width:768px) {
    .p-point-right__visual {
        position: absolute;
        top: 0;
        left: 0;
        width: 54.68%;
        height: 620px;
    }
}

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

/* p-widthall
-------------------------------------------------------------------------- */
.p-widthall {
    position: relative;
}

.p-widthall:nth-child(odd) {
    background-color: #f8f1e3;
}

.p-widthall:nth-child(even) {
    background-color: #fff;
}

@media screen and (min-width:768px) {
    .p-widthall {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .p-widthall:last-of-type {
        padding-bottom: 90px;
    }
}

@media screen and (min-width:768px) {
    .p-widthall__inner {
        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 (max-width: 767px) {
    .p-widthall__inner {
        padding-top: 8vw;
        padding-bottom: 8vw;
    }
}

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

.p-widthall__container {
    position: relative;
    z-index: 2;
}

@media screen and (min-width: 768px) {
    .p-widthall__container {
        width: 100%;
        max-width: 690px;
        padding: 40px;
    }
}
/*
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .p-widthall__container {
        margin-left: auto;
        margin-right: auto;
        max-width: 100%;
        padding: 0;
    }
}
*/

.p-widthall__heading .title {
    line-height: 1.3;
    font-family: 'Josefin Sans', sans-serif;
    font-weight: 400;
}

@media screen and (max-width: 767px) {
    .p-widthall__heading .title {
        padding-bottom: 2.67vw;
        font-size: 25px;
        font-size: 2.5rem;
        margin-top: 10px;
    }
}

@media screen and (min-width: 768px) {
    .p-widthall__heading .title {
        font-size: 30px;
        font-size: 3rem;
        padding-bottom: 10px;
    }
}

.p-widthall__heading .text {
    line-height: 1.3em;
}

.p-widthall__heading .point {
    position: relative;
    font-family: 'Josefin Sans', sans-serif;
    font-weight: 400;
}

@media screen and (max-width: 767px) {
    .p-widthall__heading .point {
        margin-bottom: 1.33vw;
        padding-bottom: .67vw;
        font-size: 45px;
        font-size: 6vw;
    }
}

@media screen and (min-width: 768px) {
    .p-widthall__heading .point {
        font-size: 20px;
        font-size: 2rem;
        padding-bottom: 5px;
        margin-bottom: 10px;
    }
}

.p-widthall__heading .point::after {
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    content: '';
    background: #59b0e0;
}

@media screen and (max-width: 767px) {
    .p-widthall__heading .point::after {
        width: 26.66667vw;
        height: .53333vw;
    }
}

@media screen and (min-width: 768px) {
    .p-widthall__heading .point::after {
        width: 100px;
        height: 2px;
    }
}

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

@media screen and (min-width: 768px) {
    .p-widthall__body {
        padding-top: 20px;
    }
}

@media screen and (max-width: 767px) {
    .p-widthall__title {
        margin-top: 5.33vw;
        font-size: 40px;
        font-size: 5.33vw;
        line-height: 1.6;
    }
}

@media screen and (min-width: 768px) {
    .p-widthall__title {
        margin-top: 30px;
        font-size: 30px;
        font-size: 3rem;
        line-height: 1.6;
    }
}

.p-widthall__text {
    margin-bottom: 1.5em;
}

.p-widthall__author {
    text-align: right;
    font-weight: 700;
}

@media screen and (min-width: 768px) {
    .p-widthall__author {
        margin-top: 30px;
        font-size: 20px;
        font-size: 2rem;
    }
}

@media screen and (max-width: 767px) {
    .p-widthall__visual {
        height: 66.66667vw;
    }
    .p-widthall__visual img {
        height: 66.66667vw;
    }
}

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

@media screen and (min-width:768px) {
    .p-widthall__visual {
        width: 54.68%;
        height: 370px;
    }
}

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

/* p-flow
-------------------------------------------------------------------------- */
.p-flow {
    position: relative;
}

.p-flow:nth-child(odd) {
    background-color: #f8f1e3;
}

.p-flow:nth-child(even) {
    background-color: #fff;
}

@media screen and (min-width:768px) {
    .p-flow {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .p-flow:last-of-type {
        padding-bottom: 90px;
    }
}

@media screen and (min-width:768px) {
    .p-flow__inner {
        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 (max-width: 767px) {
    .p-flow__inner {
        padding-top: 8vw;
        padding-bottom: 8vw;
    }
}

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

.p-flow__container {
    position: relative;
    z-index: 2;
}

@media screen and (min-width: 768px) {
    .p-flow__container {
        width: 100%;
    }
}
/*
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .p-flow__container {
        margin-left: auto;
        margin-right: auto;
        max-width: 100%;
        padding: 0;
    }
}
*/
.p-flow__heading .title {
    line-height: 1.3;
    font-family: 'Josefin Sans', sans-serif;
    font-weight: 400;
}

@media screen and (max-width: 767px) {
    .p-flow__heading .title {
        padding-bottom: 2.67vw;
        font-size: 25px;
        font-size: 2.5rem;
        margin-top: 10px;
    }
}

@media screen and (min-width: 768px) {
    .p-flow__heading .title {
        font-size: 30px;
        font-size: 3rem;
        padding-bottom: 10px;
    }
}

.p-flow__heading .text {
    line-height: 1.3em;
}

.p-flow__heading .point {
    position: relative;
    font-family: 'Josefin Sans', sans-serif;
    font-weight: 400;
}

@media screen and (max-width: 767px) {
    .p-flow__heading .point {
        margin-bottom: 1.33vw;
        padding-bottom: .67vw;
        font-size: 45px;
        font-size: 6vw;
    }
}

@media screen and (min-width: 768px) {
    .p-flow__heading .point {
        font-size: 20px;
        font-size: 2rem;
        padding-bottom: 5px;
        margin-bottom: 10px;
    }
}

.p-flow__heading .point::after {
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    content: '';
    background: #59b0e0;
}

@media screen and (max-width: 767px) {
    .p-flow__heading .point::after {
        width: 26.66667vw;
        height: .53333vw;
    }
}

@media screen and (min-width: 768px) {
    .p-flow__heading .point::after {
        width: 100px;
        height: 2px;
    }
}

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

@media screen and (min-width: 768px) {
    .p-flow__body {
        padding-top: 20px;
    }
}

@media screen and (max-width: 767px) {
    .p-flow__title {
        margin-top: 5.33vw;
        font-size: 40px;
        font-size: 5.33vw;
        line-height: 1.6;
    }
}

@media screen and (min-width: 768px) {
    .p-flow__title {
        margin-top: 30px;
        font-size: 30px;
        font-size: 3rem;
        line-height: 1.6;
    }
}

.p-flow__text {
    margin-bottom: 1.5em;
}

.p-flow__author {
    text-align: right;
    font-weight: 700;
}

@media screen and (min-width: 768px) {
    .p-flow__author {
        margin-top: 30px;
        font-size: 20px;
        font-size: 2rem;
    }
}

/* p-access
-------------------------------------------------------------------------- */
.p-access {
    position: relative;
}

@media screen and (max-width: 767px) {
    .p-access {
        padding-top: 6.67vw;
        padding-bottom: 20vw;
    }
}

@media screen and (min-width: 768px) {
    .p-access {
        padding-top: 25px;
    }
}

@media screen and (max-width: 767px) {
    .p-access::after {
        position: absolute;
        top: 0;
        right: 0;
        display: block;
        content: '';
        width: 40vw;
        height: 106.66667vw;
        z-index: -1;
        background: #f8f1e3;
    }
}

@media screen and (min-width: 768px) {
    .p-access::after {
        position: absolute;
        top: 0;
        right: 0;
        display: block;
        content: '';
        width: 40.36%;
        height: 750px;
        z-index: -1;
        background: #f8f1e3;
    }
}

@media screen and (max-width: 767px) {
    .p-access__heading {
        margin-bottom: 10.67vw;
    }
}

@media screen and (min-width: 768px) {
    .p-access__heading {
        margin-bottom: 40px;
    }
}

.p-access__map {
    width: 100%;
}

@media screen and (max-width: 767px) {
    .p-access__map {
        height: 117.33333vw;
        margin-bottom: 5.33vw;
    }
}

@media screen and (min-width: 768px) {
    .p-access__map {
        margin-bottom: 20px;
        height: 510px;
    }
}

@media screen and (min-width: 768px) {
    .p-access__content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }
}

.p-access__label {
    text-align: center;
    background: #f8f1e3;
}

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

@media screen and (min-width: 768px) {
    .p-access__label {
        margin-right: 16.66%;
        width: 240px;
        height: 50px;
        line-height: 50px;
    }
}

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

@media screen and (max-width: 767px) {
    .p-access__item {
        width: 46%;
        margin-right: 8%;
        margin-top: 4vw;
    }
}

@media screen and (min-width: 768px) {
    .p-access__item {
        margin-right: 60px;
    }
}

@media screen and (max-width: 767px) {
    .p-access__item:nth-child(-n+2) {
        margin-top: 0;
    }
}

@media screen and (max-width: 767px) {
    .p-access__item:nth-child(2n) {
        margin-right: 0;
    }
}

@media screen and (min-width:768px) {
    .p-cv__item {
        width: 45%;
    }
}

@media screen and (max-width: 767px) {
    .p-cv__item {
        width: 100%;
        margin: 15px 0;
    }
}

.p-cv__item:nth-child(2) {
    width: 80px;
}

@media screen and (max-width: 767px) {
    .p-cv__item:nth-child(2) {
        width: 100%;
        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;
        -webkit-transform: rotate(90deg);
                transform: rotate(90deg);
    }
}

.p-cv__item-titlearea .text {
    text-align: left;
    background-color: #f8f1e3;
    margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
    .p-cv__item-titlearea .text {
        padding: 1.33vw 2.67vw 1.33vw 2.67vw;
    }
}

@media screen and (min-width: 768px) {
    .p-cv__item-titlearea .text {
        padding: 1px 15px;
    }
}

.p-cv__item-titlearea .text .en {
    font-family: 'Josefin Sans', sans-serif;
    font-size: 18px;
    font-weight: bold;
}

.p-cv__item-textarea .name {
    font-size: 16px;
    margin-top: 5px;
    margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
    .p-cv__item-textarea .name {
        font-size: 14px;
    }
}

.p-cv__item-textarea .name_en {
    font-family: 'Josefin Sans', sans-serif;
    font-size: 20px;
    font-weight: bold;
    background: #5d330d;
    text-align: center;
    color: #fff;
    padding-top: 5px;
}

.p-cv__item-btnarea {
    background: #f8f1e3;
    margin-bottom: 40px;
}

.p-cv__item-btnarea a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    line-height: 1 !important;
    padding: 2.5px 10px 0;
    font-weight: bold;
    font-family: 'Josefin Sans', sans-serif;
    text-align: right;
}

.p-cv__item-btnarea i {
    margin-top: -5px;
}

.staff_type {
    font-size: 18px;
    margin-bottom: 15px;
}

/* p-constructionMain
-------------------------------------------------------------------------- */
.p-constructionMain {
    position: relative;
    background-color: #f8f1e3;
    padding-top: 80px;
    padding-bottom: 60px;
}

@media screen and (max-width: 767px) {
    .p-constructionMain {
        padding-top: 8vw;
        padding-bottom: 8vw;
    }
}

.p-constructionMain__inner {
    position: relative;
}

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

.p-constructionMain__container {
    position: relative;
    z-index: 2;
}

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

@media screen and (min-width: 768px) {
    .p-constructionMain__container {
        width: 100%;
        max-width: 615px;
    }
}
/*
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .p-constructionMain__container {
        margin-left: auto;
        margin-right: auto;
    }
}
*/
@media screen and (max-width: 767px) {
    .p-constructionMain__body {
        padding-top: 5.33vw;
    }
}

@media screen and (min-width: 768px) {
    .p-constructionMain__body {
        padding-top: 20px;
    }
}

@media screen and (max-width: 767px) {
    .p-constructionMain__title {
        margin-top: 5.33vw;
        font-size: 40px;
        font-size: 5.33vw;
        line-height: 1.6;
    }
}

@media screen and (min-width: 768px) {
    .p-constructionMain__title {
        margin-top: 30px;
        font-size: 30px;
        font-size: 3rem;
        line-height: 1.6;
    }
}

.p-constructionMain__text {
    margin-bottom: 1.5em;
}

.p-constructionMain__author {
    text-align: left;
    margin-bottom: 20px;
    font-weight: 700;
}

@media screen and (min-width: 768px) {
    .p-constructionMain__author {
        margin-top: 30px;
        font-size: 20px;
        font-size: 2rem;
    }
}

.p-constructionMain__visual {
    border: 1px solid #dac292;
    background: #fff;
    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;
    overflow: hidden;
}

@media screen and (max-width: 767px) {
    .p-constructionMain__visual {
        height: 66.66667vw;
    }
    .p-constructionMain__visual img {
        height: 66.66667vw;
    }
}

@media screen and (min-width: 768px) {
    .p-constructionMain__visual {
        height: 500px;
    }
}
/*
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .p-constructionMain__visual {
        margin-top: 0;
    }
}
*/
@media screen and (min-width:768px) {
    .p-constructionMain__visual {
        position: absolute;
        top: -95px;
        right: 0;
        width: 580px;
        height: 580px;
        overflow: hidden;
    }
    .p-constructionMain__visual img {
        width: 580px;
        height: 580px;
    }
}

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

@media screen and (min-width:768px) {
    .p-constructionMain__item-imagearea {
        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;
    }
}

.p-constructionMain__item-imagearea figcaption {
    display: none;
}

.p-constructionMain__item-imagearea .main-image {
    width: 66.5%;
}

@media screen and (max-width: 767px) {
    .p-constructionMain__item-imagearea .main-image {
        width: 100%;
        margin-bottom: 7px;
    }
}

@media screen and (min-width:768px) {
    .p-constructionMain__item-imagearea .main-image img {
        width: 100%;
        height: 48vw;
    }
}

@media screen and (min-width: 1240px) {
    .p-constructionMain__item-imagearea .main-image img {
        width: 100%;
        height: 606px;
    }
}
/*
@media screen and (max-width: 767px) and (min-width: 768px) {
    .p-constructionMain__item-imagearea .main-image img {
        width: 100%;
        height: 71vw;
    }
}
*/
@media screen and (max-width: 767px) {
    .p-constructionMain__item-imagearea .main-image img {
        width: 100%;
        height: 67vw;
    }
}

.p-constructionMain__item-imagearea .sub-image {
    width: 33%;
}

@media screen and (max-width: 767px) {
    .p-constructionMain__item-imagearea .sub-image {
        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;
        width: 100%;
    }
}

.p-constructionMain__item-imagearea .sub-image figure:first-child {
    margin-bottom: 7px;
}

@media screen and (max-width: 767px) {
    .p-constructionMain__item-imagearea .sub-image figure:first-child {
        margin-bottom: 0;
    }
}
/*
@media screen and (max-width: 767px) and (min-width: 768px) {
    .p-constructionMain__item-imagearea .sub-image figure {
        width: 49.5%;
        height: 35.5vw;
    }
}
*/

@media screen and (max-width: 767px) {
    .p-constructionMain__item-imagearea .sub-image figure {
        width: 49%;
        height: 33.7vw;
    }
}

@media screen and (min-width:768px) {
    .p-constructionMain__item-imagearea .sub-image img {
        width: 100%;
        height: 23.9vw;
    }
}

@media screen and (min-width: 1240px) {
    .p-constructionMain__item-imagearea .sub-image img {
        width: 100%;
        height: 300px;
    }
}
/*
@media screen and (max-width: 767px) and (min-width: 768px) {
    .p-constructionMain__item-imagearea .sub-image img {
        width: 100%;
        height: 35.5vw;
    }
}
*/

@media screen and (max-width: 767px) {
    .p-constructionMain__item-imagearea .sub-image img {
        width: 100%;
        height: 33.7vw;
    }
}

@media screen and (max-width: 767px) {
    .p-constructionMain__item-textarea--top {
        padding-bottom: 8vw;
    }
}

@media screen and (min-width: 768px) {
    .p-constructionMain__item-textarea--top {
        padding-bottom: 30px;
    }
}

.p-constructionMain__item-textarea .text_en {
    font-family: 'Josefin Sans', sans-serif;
    font-weight: bold;
    text-align: center;
    color: #5d330d;
    padding-top: 5px;
}

@media screen and (max-width: 767px) {
    .p-constructionMain__item-textarea .text_en {
        padding-bottom: 2.67vw;
        font-size: 54px;
        font-size: 7.2vw;
    }
}

@media screen and (min-width: 768px) {
    .p-constructionMain__item-textarea .text_en {
        font-size: 40px;
        font-size: 4rem;
        padding-bottom: 10px;
    }
}

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

#btnFormList, #btnConfList {
    list-style-type: none;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 20px auto 0;
}

#btnFormList2 a {
    text-decoration: none;
}

#btnFormList2, #btnConfList2 {
    list-style-type: none;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 20px auto 20px;
}

#btnSubmit {
    width: 300px;
    padding: 20px !important;
    text-align: center;
    font-size: 25px;
    color: #fff;
    font-weight: bold;
    letter-spacing: .2em;
    background: #693a08;
    margin: 0 20px;
}

@media screen and (max-width: 767px) {
    #btnSubmit {
        margin-bottom: 30px;
    }
}
/*
@media screen and (max-width: 767px) and (min-width: 768px) {
    #btnSubmit {
        margin-bottom: 100px;
    }
}
*/
#btnSubmit:hover {
    opacity: .8;
}

#btnSubmit a {
    color: #fff;
    text-decoration: none;
}

#btnSubmit.syusei {
    background: #ddd;
    color: #555;
}

#btnSubmit.syusei a {
    color: #555;
    text-decoration: none;
}

/* 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;
}

@media screen and (min-width:768px) {
    .photo-gallery {
        margin-top: 50px;
    }
}

@media screen and (max-width: 767px) {
    .photo-gallery {
        margin-top: 30px;
    }
}

.photo-gallery::after {
    content: '';
    display: block;
    width: 32.5%;
}

.photo-gallery figure {
    position: relative;
    width: 32.5%;
    height: auto;
    margin-bottom: 13px;
    overflow: hidden;
}

@media screen and (min-width:768px) {
    .photo-gallery figure img {
        width: 390px;
        height: 390px;
    }
}

@media screen and (max-width: 767px) {
    .photo-gallery figure {
        width: 49.5%;
    }
    .photo-gallery figure img {
        width: 47vw;
        height: 47vw;
    }
}

@media screen and (max-width: 767px) {
    .photo-gallery figure {
        width: 49.5%;
        margin-bottom: 2px;
    }
    .photo-gallery figure img {
        width: 50.66667vw;
        height: 35vw;
    }
}

.photo-gallery figure a {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.photo-gallery figure:nth-child(-n+2) {
    width: 49.5%;
}

@media screen and (min-width:768px) {
    .photo-gallery figure:nth-child(-n+2) img {
        width: 594px;
        height: 446px;
    }
}

@media screen and (max-width: 767px) {
    .photo-gallery figure:nth-child(-n+2) {
        width: 100%;
    }
    .photo-gallery figure:nth-child(-n+2) img {
        width: 100%;
        height: 71vw;
    }
}

@media screen and (max-width: 767px) {
    .photo-gallery figure:nth-child(-n+2) {
        width: 100%;
    }
    .photo-gallery figure:nth-child(-n+2) img {
        width: 133.33333vw;
        height: 70.66667vw;
    }
}

@media screen and (min-width: 768px) {
    .photo-gallery figcaption {
        margin-top: 3px;
        margin-bottom: 5px;
    }
}

@media screen and (max-width: 767px) {
    .photo-gallery figcaption {
        margin-top: 5px;
        margin-bottom: 5px;
    }
}

.photo-gallery figure img.outset {
    -o-object-fit: cover;
       object-fit: cover;
    font-family: 'object-fit: cover;';
}

.photo-gallery figure img.inset {
    -o-object-fit: contain;
       object-fit: contain;
    font-family: 'object-fit: contain;';
}
