@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');

*{
    box-sizing: border-box;
}
html,body{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    background: #ffe9d6;
    margin: 0;
    padding: 0;
}

header{
    display: none;
}

h1,h2,h3,h4{
    margin:0;
}

ul, ol{
    padding: 0;
    margin: 0;
    list-style: none;
}
a{
    text-decoration: none;
}
a:hover{
    opacity: 0.6;
}



/*common*/
.flex{
    display: flex;
    display: -webkit-flex;
}

.contents{
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
.btn{
    display: inline-block;
    border-radius: 6px;
    padding: 20px;
    background: #f07167;
    box-shadow:0 5px rgba(217,85,75,1);
    color: #fff;
    font-size: 24px;
    font-weight: 900;
    min-width: 350px;
    text-align: center;
}


/*mv*/

.mv{
    height: 50vh;
    min-height: 600px;
    background: url(../images/elk/mv_bg.png) center top no-repeat;
    background-size: cover;
    color: #fff;
}
.mv .flex{
    align-items: center;
    -webkit-align-items: center;
    height: 100%;
}
.mv .flex > *{
    flex: 1;
}
.mv .logo{
    width: 290px;
    margin: 0 auto 30px;
}
.mv h1{
    text-indent: -9999px;
    width: 100%;
    height: 0;
    padding-bottom: 44.137%;
    background: url(../images/elk/logo.svg) center center no-repeat;
    background-size: contain;
}
.mv h2{
    text-align: center;
    font-size: 26px;
    line-height: 2.3em;
}
.mv .feature > .flex{
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}
.mv .feature > .flex > *{
    flex: unset;
    height: 170px;
    width: calc( 50% - 12px );
    border-radius: 10px;
    font-size: 18px;
    font-weight: 700;
    padding: 30px 20px;
}
.mv .feature > .flex > *:nth-child(even){
    margin-left: 24px;
}
.mv .feature > .flex > *:nth-child(n+3){
    margin-top: 15px;
}
.mv .feature > .flex > *:nth-child(1){
    background-color: rgba(0,129,167,0.8);
}
.mv .feature > .flex > *:nth-child(2){
    background-color: rgba(0,175,185,0.8);
}
.mv .feature > .flex > *:nth-child(3){
    background-color: rgba(240,113,103,0.8);
}
.mv .feature > .flex > *:nth-child(4){
    background-color: rgba(106,56,44,0.8);
}
.mv .feature .img{
    width: 110px;
    flex: unset;
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    height:100%;
}
.mv .feature .txt{
    padding-left: 20px;
}
.mv .feature > .flex > *:nth-child(1) .img{
    background-image: url(../images/elk/img3.svg);
}
.mv .feature > .flex > *:nth-child(2) .img{
    background-image: url(../images/elk/img2.svg);
}
.mv .feature > .flex > *:nth-child(3) .img{
    background-image: url(../images/elk/img4.svg);
}
.mv .feature > .flex > *:nth-child(4) .img{
    background-image: url(../images/elk/img1.svg);
}


/*upper contact*/
.upper_contact{
    padding: 50px;
    text-align: center;
}

/*arrow*/
.arrow{
    padding: 80px;
    text-align: center;
    background: url(../images/elk/allow.png) center center no-repeat #ffe9d6;
    background-size: auto;
    color: #261612;
    font-size: 32px;
    font-weight: 900;
}

/*feature*/
#feature > div{
    color: #fff;
    padding: 70px 0;
}
#feature > div:nth-child(1){
    background-color: rgba(0,129,167,1);
}
#feature > div:nth-child(2){
    background-color: rgba(0,175,185,1);
}
#feature > div:nth-child(3){
    background-color: rgba(240,113,103,1);
}
#feature > div:nth-child(4){
    background-color: rgba(106,56,44,1);
}
#feature .flex{
    align-items: center;
}
#feature .flex > *{
    flex: 1;
}
#feature .flex .img{
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}
#feature > div:nth-child(1) .img{
    background-image: url(../images/elk/img3.svg);
    min-height: 290px;
}
#feature > div:nth-child(2) .img{
    background-image: url(../images/elk/img2.svg);
    min-height: 380px;
}
#feature > div:nth-child(3) .img{
    background-image: url(../images/elk/img4.svg);
    min-height: 490px;
}
#feature > div:nth-child(4) .img{
    background-image: url(../images/elk/img1.svg);
    min-height: 380px;
}
#feature .flex .txt{
    padding: 0 0 0 20px;
}
#feature .flex .txt h3{
    font-size: 32px;
    font-weight: 500;
    letter-spacing: 0.1em;
    margin-bottom: 1em;
}
#feature .flex .txt p{
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.05em;
    max-width: 400px;
    line-height: 1.5em;
}


/*merit*/
#merit{
    color: #6a382c;
    padding: 50px 0;
}
#merit h3{
    font-size: 38px;
    margin-bottom: 1em;
    font-weight: 900;
    text-align: center;
}
#merit .contents{
    max-width: 840px;
}
#merit .img{
    width: 210px;
    min-height: 290px;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% auto;
}
#merit .merit1 .img{
    background-image: url(../images/elk/person1.png);
}
#merit .merit2 .img{
    background-image: url(../images/elk/person2.png);
}
#merit .txt{
    flex:1;
    padding: 0 0 0 20px;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.5em;
}
#merit .merit2{
    margin-top: 1.5em;
}

/*sample*/
#sample{
    height: 550px;
}
#sample .sample_wrap{
    position: relative;
    max-width: 800px;
}
#sample .sample_wrap .img{
    width: 290px;
    height: 550px;
    background: url(../images/elk/sample.png) center center no-repeat;
    background-size: contain;
    position:absolute;
    top: 0;
    left: 0;
    z-index:2;
}
#sample .sample_wrap .txt{
    position:absolute;
    z-index:1;
    width: 550px;
    height: 550px;
    background: #fff;
    border-radius: 50%;
    top: 0;
    right: 0;
    padding: 170px 20px 0 65px;
    color: #6a382c;
}
#sample .sample_wrap .txt h3{
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 1em;
}
#sample .sample_wrap .txt p{
    font-size: 18px;
    line-height: 1.5em;
}


/*option*/
#option{
    margin-top: 100px;
}
#option h3,
#price h3,
#contact h3{
    font-size: 38px;
    font-weight: 900;
    color: #6a382c;
    margin-bottom: 1em;
    text-align: center;
}
#option ul li{
    flex: 1;
    min-height: 450px;
    background-position: center;
    background-size: cover;
    color: #fff;
    padding: 0 30px;
}
#option ul li:nth-child(1){
    background-image:url(../images/elk/option_bg1.png);
    background-color: #00afb9;
}
#option ul li:nth-child(2){
    background-image:url(../images/elk/option_bg2.png);
    background-color: #0081a7;
}
#option ul li:nth-child(3){
    background-image:url(../images/elk/option_bg3.png);
    background-color: #f07167;
}
#option .option_wrap{
    display: table;
    width: 100%;
    height: 100%;
}
#option .option_contents{
    display: table-cell;
    vertical-align: middle;
}
#option .option_contents h4{
    text-align: center;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 0.05em;
}
#option .option_contents .txt{
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5em;
}
#option .option_contents .icon{
    width: 100px;
    height: 100px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin: 30px auto;
}
#option ul li:nth-child(1) .option_contents .icon{
    background-image: url(../images/elk/img5.svg);
}
#option ul li:nth-child(2) .option_contents .icon{
    background-image: url(../images/elk/img6.svg);
}
#option ul li:nth-child(3) .option_contents .icon{
    background-image: url(../images/elk/img7.svg);
}

/*price*/
#price{
    padding: 100px 0;
}
#price .price_table{
    width: 100%;
    overflow-x: auto;
}
#price .price_table::-webkit-scrollbar{
    width: 10px;
    height: 10px;
}
#price .price_table::-webkit-scrollbar-track {
    border-radius: 5px;
    background: transparent;
}
#price .price_table::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: rgba(0,0,0,0.6)
}
   
#price .price_table table{
    width: 100%;
    min-width: 950px;
    border-collapse: separate;
    border-spacing: 3px;
}
#price .price_table td,
#price .price_table th{
    width: 20%;
    padding: 13px;
    text-align: center;
}
#price .price_table thead th{
    font-size: 24px;
    font-weight: 700;
}
#price .price_table thead th:nth-child(2){ color: #3f9494; }
#price .price_table thead th:nth-child(3){ color: #f2882c; }
#price .price_table thead th:nth-child(4){ color: #c8553d; }
#price .price_table thead th:nth-child(5){ color: #6a382c; }
#price .price_table tbody tr td{
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    height: 80px;
}
#price .price_table tbody tr th{
    font-size: 20px;
    color: #6a382c;
}
#price .price_table tbody tr td:nth-child(2){ background-color: #3f9494; }
#price .price_table tbody tr td:nth-child(3){ background-color: #f2882c; }
#price .price_table tbody tr td:nth-child(4){ background-color: #c8553d; }
#price .price_table tbody tr td:nth-child(5){ background-color: #6a382c; }
#price .caution{
    font-size: 14px;
    margin-top: 1em;
    color: #6a382c;
    text-align: right;
}


/*contact*/
#contact{
    background: #fff;
    padding: 50px 0;
}
/*form*/
.form_wrap{
    max-width: 800px;
    margin: 0 auto;
}
.form_wrap table{
    width: 100%;
    border-collapse: collapse;
}
.form_wrap table tr th,
.form_wrap table tr td{
    border-bottom: 3px solid #00afb9;
    height: 50px;
}
.form_wrap table tr th{
    vertical-align: top;
    text-align:left;
    color: #00afb9;
    font-size: 18px;
    font-weight: 700;
    line-height: 50px;
    padding: 10px 20px 5px 10px;
    width: 220px;
}
.form_wrap table tr th .requied{
    color: #f07167;
    font-size: 12px;
    font-weight: 400;

}
.form_wrap table tr td{
    padding:0;
}
.form_wrap table tr + tr th{
    padding: 20px 20px 5px 10px;
}
.form_wrap table tr + tr td{
    padding: 20px 0 0 0;
}
.form_wrap table tr td select,
.form_wrap table tr td input{
    width: 100%;
    height: 50px;
    padding: 0 10px;
    border: none;
    outline: none;
}
.form_wrap table tr td input{
    appearance: none;
}
.form_wrap table tr td textarea{
    width: 100%;
    height: 200px;
    resize: vertical;
    border: none;
    outline: none;
    padding: 15px 0;
}
.form_wrap table tr td input::placeholder,
.form_wrap table tr td textarea::placeholder{
    color:#ccc;
}
.form_wrap .agree{
    font-size: 16px;
    margin: 2em 0;
    line-height: 1.5em;
}
.form_wrap .agree label{
    display: block;
    width: 300px;
    margin: 2em auto 0;
    border-radius: 10px;
    background: #eee;
    padding: 1em 2em;
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    cursor: pointer;
}
.form_wrap .agree input{
    margin-right: 1em;
    transform: scale(2);
}
.form_wrap .send_btn{
    text-align: center;
    margin-top: 3em;
    cursor: pointer;
}
.form_wrap input[type="submit"]{
    display: inline-block;
    border-radius: 6px;
    padding: 20px;
    background: #0081a7;
    box-shadow:0 5px rgba(2,99,128,1);
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    width: 80%;
    max-width: 350px;
    text-align: center;
    border: none;
    cursor: pointer;
    letter-spacing: 0.1em;
}
.form_wrap .wpcf7-response-output,
.form_wrap .wpcf7-not-valid-tip,
.form_wrap .screen-reader-response{
    color: #e00;
    font-weight: 500;
}
.form_wrap .wpcf7-response-output,
.form_wrap .wpcf7-not-valid-tip{
    padding: 0.5em 10px;
    display: block;
}



/*footer*/
footer{
    color: #fff;
    background: #4a2b14;
    padding: 50px 0;
    font-size: 14px;
    font-weight: 700;
}
footer .flex{
    justify-content: center;
}
footer .flex li + li{
    margin-left: 1em;
    padding-left: 1em;
    border-left: 1px solid #fff;
}
footer .flex li a{
    color: #fff;
}


@media screen and (max-width: 700px){

    .mv{
        height: auto;
        padding: 50px 0px;
        background-position: top right;
    }
    .mv .feature > .flex,
    .mv > .flex{
        display: block;
    }
    .mv .logo{
        width: 60%;
    }
    .mv h2{
        font-size:14px;
        margin-bottom: 10%;
    }
    .mv .feature > .flex > *{
        width: 100%;
    }
    .mv .feature > .flex > *:nth-child(even){
        margin-left: 0;
    }
    .mv .feature > .flex > *:nth-child(n+3),
    .mv .feature > .flex > * + *{
        margin-top: 5%;
    }
    .mv .feature > .flex > *{
        padding: 3% 5%;
        height: 100px;
    }
    .mv .feature li .flex{
        justify-content: center;
    }
    .mv .feature li .flex > *{
        flex: unset;
    }
    .mv .feature .img{
        width: 80px;
        height: 70px;
    }
    .mv .feature .txt{
    }
    
    .upper_contact{
        padding: 10% 0;
    }
    .btn{
        min-width: unset;
        width: 80%;
        font-size: 18px;
        letter-spacing: 0.1em;
    }

    .arrow{
        padding: 10% 0;
        font-size: 24px;
        line-height: 1.5em;
    }


    #feature > div{
        padding: 10% 0;
    }
    #feature .flex{
        display: block;
    }
    #feature > div .img{
        min-height: 180px !important;
    }

    element.style {
    }
    #feature .flex .txt{
        padding: 10% 3% 0;
    }
    #feature .flex .txt h3{
        font-size: 24px;
        line-height: 1.5em;
    }
    #feature .flex .txt p{
        font-size: 16px;
        max-width: unset;
    }

    #merit h3{
        font-size: 24px;
        margin-bottom: 1em;
    }
    #merit .flex{
        display:block;
    }
    #merit .flex .img{
        min-height: 220px;
        max-width: 300px;
        width: 100%;
        margin: 0 auto 10%;
        background-size: auto 220px;
    }
    #merit .flex .txt{
        font-size: 18px;
        padding: 0;
    }
    #merit .merit2{
        margin-top: 15%;
    }

    #sample .sample_wrap .img{
        width: 100%;
        height: 301px;
        background-size: contain;
        position: relative;
    }
    #sample .sample_wrap .txt{
        position: relative;
        width: 280px;
        height: 280px;
        top: -30px;
        left: unset;
        margin: 0 auto;
        padding: 55px 40px 0;
    }
    #sample .sample_wrap .txt h3{
        font-size: 16px;
    }
    #sample .sample_wrap .txt p{
        font-size: 12px;
    }

    #option h3, #price h3, #contact h3{
        font-size: 30px;
        margin-bottom: 1em;
        font-weight: 700;
    }
    #option .flex{
        display:block;
    }
    #option ul li{
        min-height: unset;
        padding: 30px 20px;
    }
    #option .option_contents h4{
        font-size: 24px;
        font-weight: 700;
    }
    #option .option_contents .txt{
        font-size: 16px;
    }

    #price{
        padding: 15% 0;
    }
    #price .price_table table{
        min-width: 800px;
    }
    #price .price_table thead th{
        font-size:18px;
    }
    #price .price_table tbody tr td,
    #price .price_table tbody tr th{
        font-size:14px;
        font-weight: 500;
    }
    #price .price_table td, #price .price_table th{
        width: unset;
        width: auto;
    }
    #price .price_table tbody tr th{
        width:110px;
    }


    .form_wrap table,
    .form_wrap table tbody,
    .form_wrap table tr,
    .form_wrap table tr th,
    .form_wrap table tr td{
        line-height: 1em;
        display: block;
        width: 100%;
        height: unset;
        height: auto;
    }
    .form_wrap table tr th{
        border:none;
        padding: 0px 20px 10px 10px;
    }
    .form_wrap table tr + tr th{
        padding: 20px 20px 10px 10px;
    }
    .form_wrap table tr + tr td{
        padding: 0;
    }
    .form_wrap table tr td textarea,
    .form_wrap table tr td select,
    .form_wrap table tr td input{
        border-radius: 0px;
        background: #eee;
        padding: 10px;
    }

    footer .flex{
        display:block;
        font-size: 12px;
    }
    footer .flex li + li{
        border:none;
        padding: 0;
        margin: 1.5em 0 0 0;
    }
}
