@charset "utf-8";

/** ▼▼▼ main ▼▼▼ **/
.main {
    position: relative;
    width: 100%;
    height: 220px;
    margin: -70px 0 0 0;
    padding: 380px 0 0 0;
    background: url(../images/img_main.png) no-repeat center center / cover;
}

.main h2 {
    position: relative;

    /**top: -245px;**/
    z-index: 1000;

    width: 1000px;
    /**margin: -245px auto 0 auto;**/
    margin: 0 auto;
    font-size: 1.87em;
    line-height: 150%;
    font-weight: 100;
    color: #333333;
}
/** ▲▲▲ main ▲▲▲ **/

/** ▼▼▼ about ▼▼▼ **/
.about {
    /**margin: 305px auto 0 auto;**/
    margin: 150px auto 0 auto;
}

.about p {
    width: 1000px;
    margin: 100px auto 0 auto;
    padding: 0 0 50px 0;
}

.about ul {
    width: 800px;
    height: 250px;
    margin: 50px auto 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    list-style: none;
}

.about ul li {
    width: 400px;
}

.about ul li img {
    width: 100%;
    height: auto;
}

.about ul li h4 {
    font-size: 0.81em;
    font-weight: 100;
    color: #4964A1;
}

.about ul li h4 span {
    display: block;
    margin: 20px 0 0 0;
    font-size: 1.92em;
    font-family: serif;
    font-weight: 700;
    color: #333333;
}

.about ul li p {
    width: 350px;
    margin: 20px 0 0 0;
}
/** ▲▲▲ about ▲▲▲ **/

/** ▼▼▼ works ▼▼▼ **/
.works {
    margin: 100px 0 75px 0;
    padding: 100px 0;
    background: #E5F4FD;
}

.works p {
    width: 1000px;
    margin: 50px auto 0 auto;
    padding: 0 0 50px 0;
}

.works ul {
    width: 800px;
    margin: 50px auto 0 auto;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.works ul li h4 {
    padding: 10px 6px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-size: 1.12em;
    font-family: serif;
    font-weight: 300;
    vertical-align: center;
    color: #4964A1;
    background: #E8F4FC;
}

.works ul li h5 {
    width: 200px;
    padding: 16px 0 16px 20px;
    font-size: 0.81em;
    font-family: serif;
    font-weight: 700;
    color: #4964A1;
    background: rgba(255,255,255,0.7);
}

.works ul li h5 span {
    display: block;
    margin: 5px 0 0 0;
    font-size: 1.56em;
    color: #333333;
}

.item01 {
    background: url(../images/img_item01.png) no-repeat 15px 0;
    height: 350px;
}

.item02 {
    background: url(../images/img_item02.png) no-repeat 0 0;
    height: 350px;
}

.item03 {
    background: url(../images/img_item03.png) no-repeat 15px 0;
    height: 350px;
}

.item04 {
    background: url(../images/img_item04.png) no-repeat 0 0;
    height: 350px;
}

.reverse {
    flex-direction: row-reverse;
}
/** ▲▲▲ works ▲▲▲ **/

/** ▼▼▼ company ▼▼▼ **/
.company {
    margin: 150px 0;
}

.company p {
    width: 1000px;
    margin: 50px auto 0 auto;
}

.company ul {
    width: 800px;
    margin: 70px auto 0 auto;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
}

.company ul li {
    padding: 30px 0 30px 20px;
}

.company ul li.heading {
    width: 180px;
    font-weight: 600;
    border-bottom: 1px solid #4964A1;
}

.company ul li.content {
    width: 580px;
    border-bottom: 1px solid #CCCCCC;
}

.company div {
    width: 800px;
    height: 500px;
    margin: 50px auto 0 auto;
}
/** ▲▲▲ company ▲▲▲ **/

/** ▼▼▼ contact ▼▼▼ **/
.contact {
    margin: 150px 0 0 0;
    padding: 100px 0 100px 0;
    background: #E5F4FD;
}

.contact h3 {
    width: 1000px;
    margin: 50px auto 0 auto;
}

.contact p {
    width: 1000px;
    margin: 50px auto 0 auto;
}

.contact form {
    margin: 100px 0 0 0;
}

.contact ul {
    width: 800px;
    display: flex;
    list-style: none;
    margin: 25px auto 0 auto;
}

/**.contact ul li {
    margin: 0 0 25px 0;
}**/

.contact ul li.headline {
    width: 220px;
    margin: 0;
    padding: 12px 0 0 0;
    font-weight: 600;
}

.contact ul li.headline::after {
    content: "必須";
    width: 50px;
    height: 25px;
    margin: 0 0 0 10px;
    background: #4964A1;
    padding: 2px 6px;
    border-radius: 5px;
    font-weight: 300;
    color: #FFFFFF;
}

.contact ul li.input {
    width: 580px;
}

.contact ul li input {
    width: 560px;
    height: 50px;
    padding: 0 10px;
    border: 0;
    background: #FFFFFF;
    border: #CCCCCC 1px solid;
    font-size: 1em;
    font-weight: 300;
    color: #333333;
}

.contact ul li textarea {
    width: 560px;
    height: 180px;
    padding: 10px;
    background: #FFFFFF;
    border: #CCCCCC 1px solid;
    resize: none;
    font-size: 1em;
    font-weight: 300;
    color: #333333;
}

.contact .send {
    margin: 100px 0 0 0;
    text-align: center;
}

.button {
    width: 250px;
    height: 50px;
    background: #4964A1;
    border: 0;
    border-radius: 10px;
    font-weight: 700;
    color: #FFFFFF;
}

.error {
    color: #FF0000;
}

/** 確認 **/
.confirm {
    width: 800px;
    margin: 100px auto;
    padding: 0;
}

.confirm h2 {
    width: 800px;
}

.confirm p {
    width: 800px;
    margin: 50px auto 0 auto;
}

.confirm ul {
    width: 800px;
    margin: 100px auto 0 auto;
    padding: 0;
    display: flex;
    justify-content: space-between;
    list-style: none;
}

.confirm .headline {
    width: 200px;
}

.confirm .input {
    width: 600px;
    border-bottom: 1px solid #A99781;
    font-size: 1.2em;
}

.confirm .submit {
    width: 550px;
    margin: 100px auto 0 auto;
    display: flex;
    justify-content: space-between;
}

.button_02 {
    width: 250px;
    height: 50px;
    border: 1px solid #4964A1;
    border-radius: 10px;
    background: #FFFFFF;
    font-size: 0.93em;
    font-weight: 700;
    color: #4964A1;
}
/** //確認 **/
/** ▲▲▲ contact ▲▲▲ **/

@media (max-width: 640px) {
    /** ▼▼▼ main ▼▼▼ **/
    .main {
        margin: 0;
        height: 400px;
        margin: 70px 0 0 0;
        padding: 50px 0 0 0;
        background: url(../images/img_main.png) no-repeat -250px center / cover;
        /**position: relative;
        width: 100%;**/
    }

    .main h2 {
        -ms-wrting-mode: tb-rl;
        writing-mode: vertical-rl;
        position: relative;
        width: 100px;
        font-size: 1.5em;
        margin: 0;

        z-index: 100;

        /**line-height: 150%;
        font-weight: 100;
        color: #333333;**/
    }
    /** ▲▲▲ main ▲▲▲ **/
    
    /** ▼▼▼ about ▼▼▼ **/
    .about {
        margin: 100px auto 0 auto;
    }

    .about p {
        width: 90%;
        /**margin: 100px auto 0 auto;
        padding: 0 0 50px 0;**/
    }

    .about ul {
        width: 90%;
        height: 100%;
        flex-direction: column-reverse;
        /**margin: 50px auto 0 auto;
        display: flex;
        align-items: center;
        justify-content: space-between;
        list-style: none;**/
    }

    .about ul li {
        width: 100%;
    }

    /**.about ul li img {
        width: 100%;
        height: auto;
    }**/

    /**.about ul li h4 {
        font-size: 0.81em;
        font-weight: 100;
        color: #4964A1;
    }**/

    /**.about ul li h4 span {
        display: block;
        margin: 20px 0 0 0;
        font-size: 1.92em;
        font-family: serif;
        font-weight: 700;
        color: #333333;
    }**/

    .about ul li p {
        width: 100%;
        letter-spacing: 0;
        /**margin: 20px 0 0 0;**/
    }
    /** ▲▲▲ about ▲▲▲ **/

    /** ▼▼▼ works ▼▼▼ **/
    /**.works {
        margin: 100px 0 75px 0;
        padding: 100px 0;
        background: #E5F4FD;
    }**/

    .works p {
        width: 90%;
        /**margin: 50px auto 0 auto;
        padding: 0 0 50px 0;**/
    }

    .works ul {
        width: 90%;
        /**margin: 50px auto 0 auto;
        list-style: none;
        display: flex;
        align-items: center;
        justify-content: space-between;**/
    }

    .works ul li h4 {
        margin: 0 24px 0 0;
        /**padding: 10px 6px;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        font-size: 1.12em;
        font-family: serif;
        font-weight: 300;
        vertical-align: center;
        color: #4964A1;
        background: #E8F4FC;**/
    }

    .works ul li h5 {
        margin: 220px 0 0 0;
        /**width: 200px;
        padding: 16px 0 16px 20px;
        font-size: 0.81em;
        font-family: serif;
        font-weight: 700;
        color: #4964A1;
        background: rgba(255,255,255,0.7);**/
    }

    /**.works ul li h5 span {
        display: block;
        margin: 5px 0 0 0;
        font-size: 1.56em;
        color: #333333;
    }**/

    .item01 {
        background: url(../images/img_item01.png) no-repeat -65px 0;
        /**height: 350px;**/
    }

    .item02 {
        background: url(../images/img_item02.png) no-repeat center 0;
        /**height: 350px;**/
    }

    .item03 {
        background: url(../images/img_item03.png) no-repeat -250px 0;
        /**height: 350px;**/
    }

    .item04 {
        background: url(../images/img_item04.png) no-repeat -350px 0;
        /**height: 350px;**/
    }

    /**.reverse {
        flex-direction: row-reverse;
    }**/
    /** ▲▲▲ works ▲▲▲ **/

    /** ▼▼▼ company ▼▼▼ **/
    /**.company {
        margin: 150px 0;
    }**/

    .company p {
        width: 90%;
        /**margin: 50px auto 0 auto;**/
    }

    .company ul {
        width: 90%;
        /**margin: 70px auto 0 auto;
        display: flex;
        flex-wrap: wrap;
        list-style: none;**/
    }

    .company ul li {
        padding: 30px 0;
    }

    .company ul li.heading {
        width: 35%;
        /**font-weight: 600;
        border-bottom: 1px solid #4964A1;**/
    }

    .company ul li.content {
        width: 65%;
        /**border-bottom: 1px solid #CCCCCC;**/
    }

    .company div {
        width: 90%;
        /**height: 500px;
        margin: 50px auto 0 auto;**/
    }
    /** ▲▲▲ company ▲▲▲ **/

    /** ▼▼▼ contact ▼▼▼ **/
    .contact {
        margin: 100px 0 0 0;
        padding: 100px 0 100px 0;
        /**background: #E5F4FD;**/
    }

    .contact h3 {
        width: 90%;
        letter-spacing: -0.1px;
        /**margin: 50px auto 0 auto;**/
    }

    .contact p {
        width: 90%;
        /**margin: 50px auto 0 auto;**/
    }

    /**.contact form {
        margin: 100px 0 0 0;
    }**/

    .contact ul {
        width: 90%;
        flex-wrap: wrap;
        /**display: flex;
        list-style: none;
        margin: 25px auto 0 auto;**/
    }

    /**.contact ul li {
        margin: 0 0 25px 0;
    }**/

    .contact ul li.headline {
        width: 100%;
        margin: 0 0 25px 0;
        /**padding: 12px 0 0 0;
        font-weight: 600;**/
    }

    /**.contact ul li.headline::after {
        content: "必須";
        width: 50px;
        height: 25px;
        margin: 0 0 0 10px;
        background: #4964A1;
        padding: 5px 10px;
        border-radius: 5px;
        color: #FFFFFF;
    }**/

    .contact ul li.input {
        width: 100%;
    }

    .contact ul li input {
        width: 94%;
        border-radius: 0;
        /**height: 50px;
        padding: 0 10px;
        border: 0;
        background: #FFFFFF;
        border: #CCCCCC 1px solid;
        font-size: 1em;
        font-weight: 300;
        color: #333333;**/
    }

    .contact ul li textarea {
        width: 94%;
        border-radius: 0;
        /**height: 180px;
        padding: 10px;
        background: #FFFFFF;
        border: #CCCCCC 1px solid;
        resize: none;
        font-size: 1em;
        font-weight: 300;
        color: #333333;**/
    }

    /**.contact .send {
        margin: 25px 0 0 0;
        text-align: center;
    }**/

    .button {
        width: 150px;
        font-size: 0.93em;
        /**height: 50px;
        background: #4964A1;
        border: 0;
        border-radius: 10px;
        font-weight: 700;
        color: #FFFFFF;**/
    }

    /**.error {
        color: #FF0000;
    }**/

    /** 確認 **/
    .confirm {
        width: 90%;
        /**margin: 100px auto;
        padding: 0;**/
    }

    .confirm h2 {
        width: 90%;
    }

    .confirm p {
        width: 90%;
        /**margin: 50px auto 0 auto;**/
    }

    .confirm ul {
        width: 90%;
        flex-wrap: wrap;
        margin: 50px auto 0 auto;
        /**padding: 0;
        display: flex;
        justify-content: space-between;
        list-style: none;**/
    }

    .confirm .headline {
        width: 100%;
        margin: 0 0 15px 0;
    }

    .confirm .input {
        width: 100%;
        /**border-bottom: 1px solid #A99781;
        font-size: 1.2em;**/
    }

    .confirm .submit {
        width: 90%;
        /**margin: 100px auto 0 auto;
        display: flex;
        justify-content: space-between;**/
    }

    .button_02 {
        width: 150px;
        /**height: 50px;
        border: 1px solid #A99781;
        border-radius: 10px;
        background: #FFFFFF;
        font-size: 0.93em;
        font-weight: 700;
        color: #A99781;**/
    }
    /** //確認 **/
    /** ▲▲▲ contact ▲▲▲ **/
}