@charset "utf-8";

.main {
    background: url(../images/img_main.png) no-repeat center center / cover;
    width: 100%;
    height: 100vh;
    /**height: 430px;**/
    margin: 0;
    padding: 0;
}

.vision {
    margin: 0;
    padding: 0;
    background: #EEEEEE;
}

.vision h2 {
    margin: 0 auto;
    padding: 50px 0;
    font-size: 2.7em;
    font-family: 'Theano Didot', serif;
    font-weight: lighter;
    text-align: center;
    color: #EEEEEE;
    background: #111111;
}

.vision h2 span {
    display: block;
    margin: 30px 0 0 0;
    font-size: 0.5em;
}

.vision h3 {
    display: inline-block;
    position: absolute;
    font-size: 2.3em;
    z-index: 1;
}

.vision h4 {
    position: absolute;
    display: inline-block;
    top: 0;
    left: 0;
    font-size: 4em;
    color: #FFFFFF;
}

.vision p {
    margin: 45px 0 0 0;
}

.vision ul {
    width: 850px;
    margin: 60px auto 0;
    padding: 0 0 100px 0;
    list-style: none;
}

.vision ul li {
    display: inline-block;
    position: relative;
    margin: 40px 0 0 0;
    padding: 35px 0 20px 0;
    border-bottom: #DDDDDD 1px solid;
}

.business {
    margin: 100px 0 0 0;
    padding: 0;
}

.business h2 {
    width: 1000px;
    margin: 0 auto;
    font-size: 5em;
    font-weight: bold;
    color: #F3F3F3;
}

.business h3 {
    width: 1000px;
    margin: 25px auto 0 auto;
    font-size: 1.6em;
    font-weight: normal;
    letter-spacing: 5px;
}

.business ul.first {
    width: 1000px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin: 100px auto 0 auto;
    padding: 0;
    list-style: none;
}

.business ul.second {
    width: 1000px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-direction: row-reverse;
    margin: 100px auto 0 auto;
    padding: 0;
    list-style: none;
}

.business ul.third {
    width: 1000px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-direction: row-reverse;
    margin: 100px auto 0 auto;
    padding: 0;
    list-style: none;
}

.business li {
    margin: 0;
    padding: 0;
}

.business li:nth-child(1) {
    width: 450px;
}

.business li:nth-child(2) {
    width: 490px;
}

.business h4 {
    font-size: 2em;
    font-weight: bold;
    line-height: 120%;
}

.business h5 {
    font-size: 0.8em;
    font-weight:normal;
    margin: 0 0 35px 0;
}

.business h5::before {
    content: "●";
    margin: 0 5px 0 0;
    color: #D83D3D;
}

.business p strong {
    font-size: 1.2em;
    font-weight: bold;
}

.business p {
    margin: 20px 0 0 0;
}

.company {
    margin: 100px 0 0 0;
    padding: 100px 0 0 0;
    background: #EEEEEE;
    line-height: 0;
}

.company h2 {
    width: 1000px;
    margin: 0 auto;
    font-size: 5em;
    font-weight: bold;
    color: #FFFFFF;
}

.company h3 {
    width: 1000px;
    margin: 25px auto 0 auto;
    font-size: 1.6em;
    font-weight:normal;
    letter-spacing: 5px;
    line-height: 180%;
}

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

.company li {
    width: 490px;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #DDDDDD;
}

.company li:nth-child(1) {
    border-top: 1px solid #DDDDDD;
}

.company li:nth-child(2) {
    border-top: 1px solid #DDDDDD;
}

.company li .item {
    width: 120px;
    margin: 0;
    padding: 35px 0;
    font-weight: bold;
    line-height: 180%;
}

.company li .content {
    width: 370px;
    margin: 0;
    padding: 0;
    line-height: 180%;
}

.company iframe {
    width: 100%;
    height: 550px;
    margin: 35px auto 0 auto;
    padding: 0;
}

.inquiry {
    width: 1000px;
    margin: 100px auto 0 auto;
    padding: 0;
}

.inquiry h2 {
    width: 1000px;
    margin: 125px auto 0 auto;
    font-size: 5em;
    font-weight: bold;
    color: #F3F3F3;
}

.inquiry h3 {
    width: 1000px;
    margin: 40px auto 0 auto;
    font-size: 1.6em;
    font-weight:normal;
    letter-spacing: 5px;
}

.inquiry form {
    margin: 85px 0 0 0;
    padding: 0;
}

.inquiry ul {
    display: flex;
    justify-content: space-between;
    list-style: none;
    margin: 0 0 30px 0;
    padding: 0;
}

.inquiry li.item {
    width: 250px;
    margin: 10px 0 0 0;
    font-weight: bold;
}

.inquiry li.item::after {
    content: "必須";
    margin: 0 0 0 15px;
    padding: 5px 17px;
    font-size: 0.8em;
    background: #D83D3D;
    border-radius: 5px;
    color: #FFFFFF;
}

.inquiry li.input {
    width: 750px;
}

.inquiry li.input input {
    width: 710px;
    height: 50px;
    padding: 0 20px;
    border: #DDDDDD solid 1px;
}

.inquiry li.input textarea {
    width: 710px;
    height: 160px;
    padding: 20px;
    border: #DDDDDD solid 1px;
    resize: none;
}

.button {
    width: 200px;
    height: 50px;
    background: #D83D3D;
    border-radius: 5px;
    border: none;
    color: #FFFFFF;
    font-weight: bold;
}

.send {
    width: 200px;
    margin: 15px auto 0 auto;
}

@media (max-width: 640px){
    .main {
        margin: 70px 0 0 0;
        height: 100vh;
        /**height: 400px;**/
    }
    
    .vision h2 {
        padding: 30px 0;
        line-height: 115%;
    }
    
    .vision h3 {
        font-size: 2em;
        line-height: 110%;
        position: relative;
    }
    
    .vision h4 {
        font-size: 1.82em;
        line-height: 105%;
    }
    
    .vision p {
        margin: 15px 0 0 0;
    }
    
    .vision ul {
        width: 90%;
    }
    
    .vision ul li {
        padding: 20px 0 10px 0;
    }
    
    .business h2 {
        width: 90%;
        font-size: 3.5em;
    }
    
    .business h3 {
        width: 90%;
        margin: 10px auto 0 auto;
    }
    
    .business ul.first {
        width: 90%;
        display: flex;
        flex-direction: column-reverse;
    }
    
    .business ul.second {
        width: 90%;
        flex-direction: column-reverse;
    }
    
    .business ul.third {
        width: 90%;
        flex-direction: column-reverse;
    }
    
    .business li:nth-child(1) {
        width: 100%;
    }
    
    .business li:nth-child(2) {
        width: 100%;
    }

    .business li img {
        width: 100%;
    }
    
    .company {
        padding: 100px 0 5px 0;
    }
    
    .company h2 {
        width: 90%;
        font-size: 3.5em;
    }
    
    .company h3 {
        width: 90%;
        margin: 20px auto 0 auto;
    }
    
    .company ul {
        width: 90%;
    }
    
    .company li {
        width: 100%;
    }
    
    .company li:nth-child(2) {
        border-top: 0;
    }
    
    .company li .item {
        width: 20%;
        padding: 0;
    }
    
    .company li .content {
        width: 80%;
        padding: 35px 0;
    }
    
    .company iframe {
        display: block;
        width: 90%;
        margin: 35px auto 100px auto;
    }
    
    .inquiry {
        width: 90%;
    }
    
    .inquiry h2 {
        width: 100%;
        font-size: 3.5em;
    }
    
    .inquiry h3 {
        width: 100%;
        margin: 20px auto 0 auto;
    }
    
    .inquiry ul {
        flex-direction: column;
    }
    
    .inquiry li.input {
        width: 100%;
    }
    
    .inquiry li.input input {
        width: 90%;
    }
    
    .inquiry li.input textarea {
        width: 90%;
    }
}

/* フォーム */
#main {
    width: 1000px;
    margin: 50px auto 0 auto;
}

#main h2 {
    font-size: 1.6em;
    font-weight:normal;
    letter-spacing: 5px;
}

.text {
    width: 1000px;
    margin: 30px auto 0 auto;
}

.content {
    width: 1000px;
    margin: 0 auto;
}

.qa {
    margin: 30px 0 0 0;
}

.item {
    font-weight: bold;
}

.input {
    margin: 10px 0 0 0;
}

.submit {
    margin: 70px 0 0 0;
    text-align: center;
}

@media (max-width:640px) {
    #main {
        width: 90%;
        margin: 120px auto 0 auto;
    }
    
    .text {
        width: 90%;
    }
    
    .content {
        width: 90%;
    }
}