/*
Theme Name: Ecoro
Version: 1.0
*/
html {
    font-size: 10px;
    min-width: 400px;
    margin: 0;
}
a {
    color: #333;
}
a:hover{
    color: #F0830F;
}
.mincho {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
header {
    position: fixed;
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    background-color: #fff;
    z-index: 1;
    border-bottom: 1px #7c7c7c solid;
}
.header_logo {
    width: 160px;
}
.header_logo img {
    width: 100%;
}
.header_menu ul{
    list-style: none;
    display: flex;
    height: 100%;
}
.header_menu li {
    padding: 0 10px;
    display: -webkit-box;
    box-align: center;
}
.header_menu li a{
    box-sizing: border-box;
    padding: 10px;
    display: flex;
    align-items: center;
    text-decoration: none;
    font-size: 1.2rem;
    border-bottom: 1px transparent solid;
}
.header_menu li a:hover{
    transition: .3s;
}
.header_contact {
    font-size: 1.6rem;
    display: -webkit-box;
    box-align: center;
    background-color: #1a1b20;
}
.header_contact:hover {
    background-color: #3c3d42;
    transition: .3s;
}
.header_contact a{
    box-sizing: border-box;
    padding: 10px 40px;
    display: flex;
    align-items: center;
    text-decoration: none;
    font-size: 1.4rem;
    color: #ccc;
}

.top .top_image {
    width: 100%;
    height: 100vh;
}
.top_image_bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}
.top_image_logo {
    width: 50vw;
    position: absolute;
    left: calc(50vw - 25vw - 1vw);
    top: calc(50vh - 50vw/3/2);
    z-index: 0;
    filter: drop-shadow(0px 0px 3px #fff);
}
.top_text {
    font-size: 3rem;
    padding: 100px 20px;
    text-align: center;
    max-width: 1140px;
    margin: -35vh auto 318px;
    color: #dfdfdf;
    text-shadow:0px 0px 3px #000;
}
.main .content{
    max-width: 1140px;
    margin: 0 auto 148px;
    display: flex;
}
.content_text {
    width: 432px;
    padding-top: 40px;
}
.content_title_en {
    font-size: 1.4rem;
    letter-spacing: .1em;
}
.content_title_ja {
    font-size: 2.8rem;
    padding: 20px 0 40px;
}
.content_text {
    padding-left: 80px;
}
.content_text p {
    font-size: 1.6rem;
    line-height: 1.5em;
    padding-left: 20px;
    letter-spacing: .1em;
    color: #7c7c7c;
}
.content_img {
    width: 700px;
    height: 428px;
}
.content_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.content_text .button_wrap {
    font-size: 1.6rem;
    display: -webkit-box;
    box-align: center;
    background-color: #1a1b20;
    display:inline-block;
    margin: 20px 0 0 20px;
}
.content_text .button_wrap:hover {
    background-color: #3c3d42;
    transition: .3s;
}
.content_text .button_wrap a{
    box-sizing: border-box;
    padding: 20px 40px;
    display: flex;
    align-items: center;
    text-decoration: none;
    font-size: 1.4rem;
    color: #ccc;
}
footer {
    padding: 70px;
    text-align: center;
    font-size: 1.4rem;
}
.header_menu_sp {
    display: none;
}
.main_content {
    padding: 200px 20px 0 20px;
    max-width: 1200px;
    min-height: 100vh;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    font-size: 1.6rem;
    line-height: 2.8em;
}
.main_content h2 {
    font-size: 2.4rem;
    margin: 20px 0;
}

@media screen and (max-width: 1400px) {
    .main .content{
        flex-wrap: wrap;
        margin: 0 auto 60px;
    }
    .content_img {
        width: calc(100% - 40px);
        height: 250px;
        padding: 20px;
    }
    .content_text {
        width: 900px;
        box-sizing: border-box;
        padding: 40px;
        text-align: center;
        margin: 0 auto;
    }
    .content_text p {
        padding-left: 0;
    }
    .content_text .button_wrap {
        margin-left: 0;
    }
}

@media screen and (max-width: 1080px) {
    .top_image_logo {
        width: 70vw;
        position: absolute;
        left: calc(50vw - 35vw - 1vw);
        top: calc(50vh - 50vw/3/2);
        z-index: 0;
    }
    .top_text {
        margin: -40vh auto 100px;
    }
    .header_menu, .header_contact {
        display: none;
    }
    .header_menu_sp {
        display: block;
    }
    .header_menu_sp ul {
        margin-top: 10px;
    }
    .header_menu_sp li {

        padding: 10px;
        font-size: 1.4rem;
    }
    #menu {
        margin-top: 24px;
    }
}



/*Contact Form 7カスタマイズ*/
/*スマホContact Form 7カスタマイズ*/
@media(max-width:500px){
    .inquiry th,.inquiry td {
     display:block!important;
     width:100%!important;
     border-top:none!important;
     -webkit-box-sizing:border-box!important;
     -moz-box-sizing:border-box!important;
     box-sizing:border-box!important;
    }
    .inquiry tr:first-child th{
     border-top:1px solid #d7d7d7!important;
    }
    /* 必須・任意のサイズ調整 */
    .inquiry .haveto,.inquiry .any {
    font-size:10px;
    }}
    .inquiry {
        margin: 0 auto;
    }
    input, textarea {
        border: none;
        font-size:15px;
        width: 100%;
        height: 100%;
        font-family: Arial, Helvetica, sans-serif;
        margin: 0;
    }
    /*見出し欄*/
    .inquiry th{
     text-align:left;
     font-size:14px;
     color:#444;
     padding:0 10px;
     width:30%;
     background:#f7f7f7;
     border:solid 1px #d7d7d7;
     vertical-align: middle;
    }
    /*通常欄*/
    .inquiry td{
     font-size:13px;
     border:solid 1px #d7d7d7;
     padding:10px;
    }
    /*横の行とテーブル全体*/
    .entry-content .inquiry tr,.entry-content table{
     border:solid 1px #d7d7d7;
    }
    /*必須の調整*/
    .haveto{
     font-size:7px;
     padding:5px;
     background:#ff9393;
     color:#fff;
     border-radius:2px;
     margin-right:5px;
     position:relative;
     bottom:1px;
    }
    /*任意の調整*/
    .any{
     font-size:7px;
     padding:5px;
     background:#93c9ff;
     color:#fff;
     border-radius:2px;
     margin-right:5px;
     position:relative;
     bottom:1px;
    }
    /*ラジオボタンを縦並び指定*/
    .verticallist .wpcf7-list-item{
     display:block;
    }
    /*送信ボタンのデザイン変更*/
    #formbtn{
     display: block;
     padding:15px;
     width:350px;
     background:#ffaa56;
     color:#fff;
     font-size:18px;
     font-weight:bold;
     border-radius:2px;
     margin:25px auto 0;
    }
    /*送信ボタンマウスホバー時*/
    #formbtn:hover{
     background:#fff;
     color:#ffaa56;
     border:2px solid #ffaa56;
    }
.thumbnail img {
    width: 200px;
    height: 200px;
    object-fit: cover;
    margin-right: 20px;
    display: block;
}
.post {
    display: flex;
    padding: 20px;
    border: 1px #ccc solid;
    line-height: 1.5em;
    margin-bottom: 10px;
}
.nav {
    display: flex;
    justify-content: space-between;
}
.nav a {
    text-decoration: none;
}