@charset "UTF-8";
h1.ami {
    background: url("../img/contact/mainimg@2x.jpg") no-repeat left 50% / cover;
    height: 300px;
    display: flex;
    justify-content: center;
    align-items: center;
}

@media only screen and ( max-width: 782px) {
    h1.ami { height: 250px;background: url("../img/contact/mainimg-sp.jpg") no-repeat left 50% / cover;}
    h1.ami img { width: 290px;}
}
#maincolumn > .inner_w { text-align: center; padding-bottom: 100px;}

#maincolumn h2 { font-size: 160%; font-weight: bold; text-align: center; padding-top: 4em;margin-bottom: 1.5em; line-height: 1.4;color: #0e9f67;}
h4.grin { margin: 2em 0 0 0; font-size: 125%; }
h4.grin span { display:inline-block; padding: 0.5em 2em; font-weight: bold; color:#fff;  background: #35af02; border-radius: 30px;}

h3.h301 {
    margin: 4em 0 2em;
    padding: 1.2em 1.5em;
    font-size: 150%;
    color: #35af01;
    font-weight: normal;
    border: #35af01 1px solid;
    text-align: center;
}
#maincolumn .tel a {
    font-size: 45px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #424242;
    display: inline-block;
}
#maincolumn .tel a:hover { text-decoration: none;}

@media only screen and (max-width: 782px) {
    #maincolumn  > .inner_w { padding-bottom: 50px;}
    #maincolumn h2 { padding-top: 2em;}
    #maincolumn .tel a { font-size: 30px;}
    #footer { margin-top:0;}
}


tr th::before,
span.must {
    color: #ff0000;
    font-size: 120%;
    display: inline-block;
    padding: 4px 1px;
    line-height: 1;
    margin: 0 2px;
}
tr th::before {
    content: "□";
    font-weight: normal;
    margin-right: 5px;
    position: absolute;
    left: 0;
    top:1.25em;
    color: #ff0000;
}
tr.must th::before {
    content: "■";
}

.tb-form { width: 100%; margin: 2em auto 0; border-collapse: collapse;border-bottom: #bfbfbf 1px solid; text-align: left;}
.tb-form th,
.tb-form td {
    font-weight: normal;
    padding: 1.5em 2em;
    border-top: #bfbfbf 1px solid;
    text-align: left;
    vertical-align: top;
}
.tb-form th { width: 240px;
white-space: nowrap; position: relative;}

@media only screen and (max-width: 782px) {
    .tb-form { display: block;width: 100%; margin: 2em auto 0; border-collapse: collapse;border-bottom: #bfbfbf 1px solid;}
    .tb-form tbody,
    .tb-form tr,
    .tb-form th,
    .tb-form td {
        display: block;
    }
    .tb-form tr {  border-top: #bfbfbf 1px solid;}
    .tb-form th,
    .tb-form td {
        padding: 1.5em 2em;
        border-top:none;
    }
    .tb-form th {
        width: auto;
        padding: 1.2em 0.5em 0;
        font-weight: bold;
    }
    .tb-form td {
        padding: 0.3em 0.5em 1.2em;
    }
    tr th::before  {
        position: relative;
        left: auto;
        top:auto;
    }
}

.tb-form input[type='text'],
.tb-form input[type='email'] {
    width: 240px;
}
.tb-form .flex-input {
    width: 240px;
    display: inline-flex;
    align-items: center;
}
.tb-form .flex-input.short { width: auto;}
.tb-form .flex-input.short input[type='text'] { width: 140px;}
.tb-form .flex-input input { margin-left: 3px;}

@media only screen and (max-width: 782px) {
    .tb-form input[type='text'],
    .tb-form input[type='email'] {
        width: 100%;
    }
    .tb-form .flex-input {
        width: auto;
        display: flex;
    }
}

.tb-form .note { margin-left: 2em;}
.tb-form .note.pc { display: inline-block; margin-left: 2em;}
.tb-form input[name='address'] {
    width: 100%;
    margin-top: 0.5em;
}
.tb-form + p {
    margin-top: 3em;
    text-align: center;
}
.tb-form + p input[type="checkbox"] { margin-right: 5px;}
#maincolumn .btn {
    display: flex;
    justify-content: center;
    margin-top: 3em;
    font-size: 114%;
    letter-spacing: 0.1em;
}
@media only screen and (max-width: 782px) {
    #maincolumn .tb-form + p.btn {
        margin-top: 2em;
    }
    .tb-form .note { margin-left: 1em;}
    .tb-form .note.pc { display: none;}
    .tb-form .note.sp {
        display: inline-block;
        position: absolute;
        font-weight: normal;
    }
    .tb-form .must .note.sp { margin-left: 4em;}
}

#maincolumn input[type='text'] {
    width: 500px;
    box-sizing: border-box;
}
#maincolumn input[type='text'][name='tel_must'],
#maincolumn input[type='text'][name='zip']{
    width: 250px;
}
#maincolumn input[type='button'] {
    background: #fff;
    color: #079f7a;
    border: #079f7a 2px solid;
    min-width: 250px;
}
#maincolumn input[type='submit'] {
    min-width: 250px;
}
#maincolumn input[type='submit'].send {
    border: #079f7a 2px solid;
    min-width: 250px;
}
#maincolumn .btn > *:nth-of-type(2) {
    margin-left: 20px;
}
@media only screen and (max-width: 782px) {
    #maincolumn input[type='text'] {
        width: 100%;
    }
    #maincolumn input[type='text'][name='tel_must'],
    #maincolumn input[type='text'][name='zip']{
        width: calc(100% - 150px);
        max-width: 250px;
    }
    #maincolumn input[type='submit'].send,
    #maincolumn input[type='submit'] {
        min-width: 180px;
    }
    #maincolumn input[type='button'] {
        min-width: inherit;
    }
    #maincolumn .btn > *:nth-of-type(2) {
        margin-left: 10px;
    }
}

.mr30 { margin-right: 3em;}

#maincolumn .btn.go2top a {
    display: inline-block;
    font-weight: bold;
    letter-spacing: 0.046875em;
    box-shadow: none;
    border-radius: 0px;
    padding: 1em 4em;
    box-sizing: border-box;
    background: #fff;
    color: #079f7a;
    border: #079f7a 2px solid;
    text-decoration: none;
}
