@charset "utf-8";

header {
    margin: 5px 0 5px
}

header .top-contact {
    position: absolute;
    top: -7px;
    right: 1px
}

.branding_area {
    height: 280px;
    background-color: #faebd7;
    background: url("../img/contact/contact_top_img.jpg") no-repeat center center;
    background-size: cover
}

main .contents {
    padding-top: 30px
}

main .section,
main .section_wrap {
    background: #fff;
    width: 960px;
    margin: 0 auto 50px;
    padding: 50px;
    border-radius: 16px;
    box-sizing: border-box
}

main .section_wrap {
    position: relative
}

main .page_ttl {
    position: absolute;
    top: -155px;
    left: 0;
    width: 250px;
    height: 250px;
    box-sizing: border-box;
    background: url("../img/company/company_top_ttl_icon.png") no-repeat center bottom 60px #23903a;
    border-radius: 200px;
    font-family: KaiseiOpti-Bold;
    font-size: 2.5rem;
    letter-spacing: 10px;
    text-align: center;
    line-height: 35px;
    padding-top: 65px;
    color: #fff
}

main .section_ttl {
    font-family: KaiseiOpti-Bold;
    margin: 0 0 30px;
    text-align: center;
    font-size: 3.2rem;
    color: #603813;
    letter-spacing: 10px
}

main .section_ttl span {
    font-size: 1.6rem;
    letter-spacing: 1px
}

.contact_area #contact {
    padding-top: 30px
}

.contact_wrap {
    position: relative;
    background-color: #fcf1e0;
    padding: 25px 30px 20px 30px
}

.contact_txt_head p {
    text-align: center;
    margin-bottom: 30px;
    font-weight: 700;
    line-height: 1.6
}

.contact_txt_head span {
    color: #603813
}

.contact_wrap p {
    margin-bottom: 0
}

.contact_wrap .must {
    float: none;
    background: 0 0;
    border: none;
    box-shadow: none;
    text-shadow: none;
    padding: 0;
    margin: 0;
    color: #23903a;
    font-size: 1.6rem;
    display: inline
}

.contact_wrap table {
    width: 100%
}

.contact_wrap tr td,
.contact_wrap tr th {
    border-bottom: 1px solid #999;
    padding: 20px 0;
    line-height: 1.6
}

.contact_wrap tr.no-border td,
.contact_wrap tr.no-border th {
    border-bottom: none
}

.contact_wrap tr th {
    width: 170px;
    text-align: left;
    vertical-align: top
}

.contact_wrap tr td small {
    font-size: 1.4rem
}

.contact_wrap tr td small a {
    font-size: 1.4rem;
    text-decoration: underline
}

.contact_wrap tr.first-block td,
.contact_wrap tr.first-block th {
    padding: 20px 0 5px
}

.contact_wrap tr.center-block td,
.contact_wrap tr.center-block th {
    padding: 5px 0
}

.contact_wrap tr.last-block td,
.contact_wrap tr.last-block th {
    padding: 5px 0 20px
}

.contact_wrap tr input {
    width: 299px !important;
    height: 31px;
    box-sizing: border-box;
    padding: 14px 10px;
    font-size: 1.4rem
}

.contact_wrap tr input.half {
    width: 148px !important
}

.contact_wrap tr input.no-width {
    width: auto !important;
    margin: -2px 10px 0;
    padding: 0
}

.contact_wrap textarea {
    width: 553px !important;
    height: 185px !important;
    box-sizing: border-box;
    font-size: 1.6rem;
    padding: 1rem
}

form#mailformpro label.mfp_not_checked {
    padding: 0 0 0 225px;
    border: none
}

form#mailformpro label.mfp_checked {
    padding: 0 0 0 225px;
    border: none;
    background-color: inherit;
    box-shadow: none
}

form#mailformpro label {
    border-radius: 0;
    margin: 0
}

.contact_wrap label {
    padding-left: 225px
}

.contact_wrap label input {
    text-align: center
}

.contact_wrap .button_area {
    margin: 0 auto;
    text-align: center
}

.contact_wrap button {
    text-align: center;
    background: url(../img/contact/submit_button_icon.png) no-repeat right 35px bottom 17px #459b36;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    width: 340px;
    height: 60px;
    cursor: pointer;
    text-shadow: none;
    border: none;
    transition: all .3s 0s ease
}

.contact_wrap button:hover {
    background: url("../img/contact/submit_button_icon.png") no-repeat right 25px bottom 17px #459b36;
    box-shadow: none;
    opacity: .7;
    transition: all .3s 0s ease
}

.privacy_area {
    width: 553px;
    height: 185px;
    box-sizing: border-box;
    padding: 15px;
    overflow-y: scroll;
    background: #fff;
    border: 1px solid #999
}

.privacy_area .head_note {
    margin-bottom: 30px
}

.privacy_area h3 {
    line-height: 1.6
}

.privacy_area h4 {
    line-height: 1.6;
    padding-left: 1em
}

.privacy_area p {
    line-height: 1.6;
    padding-left: 1em
}

.privacy_area .align-right {
    text-align: right;
    margin-top: 30px
}

#mfp_overlay_inner h4 {
    margin: 10px 0 20px 10px
}

table#mfp_confirm_table tr.mfp_colored {
    background-color: #fcf1e0
}

table#mfp_confirm_table tr td,
table#mfp_confirm_table tr th {
    font-size: 1.5rem;
    padding: 15px 10px
}

#mfp_overlay_inner th {
    vertical-align: top
}

#mfp_overlay_inner #mfp_button_send {
    font-size: 1.8rem;
    font-weight: 700;
    background: #459b36;
    border: none;
    text-shadow: none;
    color: #fff;
    padding: 10px 50px
}

#mfp_overlay_inner #mfp_button_send:hover {
    opacity: .7;
    box-shadow: none;
    background: #459b36
}

#mfp_overlay_inner #mfp_button_cancel {
    font-size: 1.4rem;
    text-decoration: underline;
    background: 0 0;
    text-shadow: none;
    border: none;
    color: #000
}

#mfp_overlay_inner #mfp_button_cancel:hover {
    box-shadow: none;
    opacity: .7
}

.thanks-page .section_wrap {
    margin-top: -260px
}

.thanks-page .contact_wrap {
    text-align: center;
    padding-bottom: 40px
}

.thanks-page .section_ttl {
    margin-bottom: 10px
}

.thanks-page .contact_wrap p {
    margin-bottom: 0
}

.thanks-page p.thanks_head_txt {
    margin-bottom: 30px;
    color: #666;
    line-height: 1.6
}

.thanks-page .contact_wrap h3 {
font-family: "Hiragino Mincho ProN" ,"Yu Mincho", "YuMincho", "MS PMincho", serif;
    font-size: 2.5rem;
    margin-bottom: 10px;
    letter-spacing: 3px
}

.thanks-page .contact_wrap img {
    margin-bottom: 10px
}

.thanks-page .contact_txt_head p {
    font-size: 1.8rem;
    letter-spacing: 1px
}
