/* ==========================================================================
   company
   ========================================================================== */
/* p-message
-------------------------------------------------------------------------- */
.p-message {
    position: relative;
    background-color: #f8f1e3;
}

@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;
}

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

@media screen and (min-width: 768px) {
    .p-message__container {
        width: 100%;
        padding: 40px 0;
    }
}
/*
@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;
        padding-bottom: 40px;
    }
}

@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: -13.33vw;
        height: 66.66667vw;
    }
}

@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: -120px;
    }
}
*/
@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%;
    }
}

@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;
    }
}

@media screen and (max-width: 767px) {
    .p-cv__item-titlearea .text {
        margin-top: 2.67vw;
        font-size: 36px;
        font-size: 4.8vw;
        line-height: 1.4;
    }
}

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

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

@media screen and (max-width: 767px) {
    .p-cv__item-titlearea .text .en {
        margin-top: 2.67vw;
        font-size: 36px;
        font-size: 4.8vw;
        line-height: 1.4;
    }
}

@media screen and (min-width: 768px) {
    .p-cv__item-titlearea .text .en {
        margin-top: 23px;
        font-size: 23px;
        font-size: 2.3rem;
    }
}

.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;
}
