@charset "utf-8";

/*==============================================================================
    header style common -confirm,thanks-
============================================================================= */
.header .bg{background-color: #fff;}
.header_block{display: flex; align-items: center; height: 90px;}
.header_logo{position: relative;top: 18px;width: 127px;box-shadow: 0px 0px 12px -9px grey;}
.header_txt{margin-left: 22px; font-size: 14px; font-weight: bold; line-height: 1.5; }

/*==============================================================================
    common -confirm,thanks-
============================================================================= */
.common-ttl-block { padding: 62px 0 40px; }
.common-ttl-block h1 { margin: 0 0 36px; font-size: 50px; font-weight: bold; text-align: center; line-height: 1.45; letter-spacing: .2rem; }
.common-ttl-block .step { margin: 0 auto 36px; }
.common-ttl-block .txt-01 { font-size: 20px; text-align: center; line-height: 1.7; }

/*==============================================================================
    footer style common -confirm,thanks-
============================================================================= */
#footer { background-color: #4a4a4a; color: #fff; padding: 27px 0; text-align: center; }

/*==============================================================================
    form.php
============================================================================= */
#page-form .form-table { margin: 0 0 22px; }
#page-form .form-table dl { display: flex; display: -webkit-flex; flex-wrap: wrap; -ms-flex-wrap: wrap; -moz-flex-wrap: wrap; -webkit-flex-wrap: wrap; justify-content: space-between; -webkit-justify-content: space-between; align-items: center; width: 930px; margin: 0 auto; padding: 10px 0 11px; border-bottom: dashed #e6e6e6 1px; }
#page-form .form-table dt { position: relative;  width: 290px; margin: 0; padding: 0 0 0 5px; line-height: 1.3; font-size: 16px; }
#page-form .form-table dt .font-small { font-size: 14px; }
#page-form .form-table .required-item:before { position: absolute; top: 0; bottom: 0; right: 58px; width: 52px; height: 26px; margin: auto 0; background: #e00f19; color: #fff; font-size: 12px; text-align: center; line-height: 26px; content: "必須"; }
#page-form .form-table dd { position: relative; width: 640px; }
#page-form .form-table input { width: 396px; height: 34px; padding: 0 0 0 14px; border: solid 1px #bbb; font-size: 14px; line-height: 34px; }

/*checkbox*/
#page-form .form-table .chkbox-list li { display: inline-block; margin: 0 25px 0 0; }
#page-form .form-table .chkbox-label { display: inline-block; margin: .7rem 0; padding: 0 0 0 3rem; background: url(../img/form_check_icon01.png)no-repeat; background-size: 2.2rem; font-size: 1.2rem; height: 2.2rem; line-height: 2.2rem; letter-spacing: .06rem; cursor: pointer; }

/*tel*/
#page-form .form-table .tel-wrap input { width: 245px; }
#page-form .form-table .tel-wrap .please-note { position: absolute; top: 5px; left: 262px; font-size: 14px; }

/*textarea-wrap*/
#page-form .form-table .textarea-wrap { align-items: normal; }
#page-form .form-table .textarea-wrap textarea { width: 594px; max-width: 594px; min-height: 138px; margin: 0 0 20px; padding: 10px; border: solid 1px #bbb; font-size: 16px; }
#page-form .form-table .textarea-wrap .txt-01 { margin: 0 0 .6rem; font-size: .9rem; }

/*privacy*/
#page-form .form-privacy { margin: 0 0 20px; padding: 22px 15px 17px 27px; background: #f7f9fa; font-size: 12px; }
#page-form .form-privacy label { display: inline-block; margin: 0 0 20px; padding: 0 0 0 33px; background: url(../img/form_check_icon01.png)no-repeat; background-size: 22px; font-size: 14px; height: 22px; line-height: 22px;letter-spacing: .05rem; cursor: pointer; }

#page-form .form-table .chkbox-label { padding: 0 0 0 33px; background-size: 22px; font-size: 14px; height: 22px; line-height: 22px;  }
input[type="checkbox"]:checked + label { background-position: left bottom!important; }

/*btn*/
#page-form #btn-submit { display: block; width: 501px; height: 103px; margin: 0 auto 50px; overflow: hidden; }
#page-form #btn-submit.true img { position: relative; top: -104px; }


/*==============================================================================
    validation message
============================================================================= */
.form-table .error { background: #ffe8e8; }
.form-table .error-msg-balloon { position: absolute!important; z-index: 10; margin: 0; padding: 0; background: #ff8080; color: #fff; font-size: 16px; }
.form-table .error-msg-balloon span { display: inline-block; position: relative; padding: .25em .5em; font-size: 14px; }
.form-table .error-msg-balloon span:after { top: 100%; left: 50%; border: solid transparent; content:''; height: 0; width: 0; position: absolute; pointer-events: none; border-color: rgba(51, 51, 51, 0); border-top-color: #ff8080; border-width: 10px; margin-left: -10px; }

/*errmsg-box*/
.form-table .errmsg-box { margin: 0 0 2em; padding: 1em; background: #ff8080; color: #fff; font-size: 16px; line-height: 1.15; }

/*==============================================================================
    confirm.php
============================================================================= */
#page-confirm .confirm .bg { padding: 0 0 62px; }

#page-confirm .form-table { margin: 0 0 36px; }
#page-confirm .form-table dl { display: flex; display: -webkit-flex; flex-wrap: wrap; -ms-flex-wrap: wrap; -moz-flex-wrap: wrap; -webkit-flex-wrap: wrap; justify-content: space-between; -webkit-justify-content: space-between; align-items: center;  width: 930px; margin: 0 auto; padding: 13px 0; border-top: dashed #e6e6e6 1px; line-height: 1.3; }
#page-confirm .form-table dl:first-child { border-top: none; }
#page-confirm .form-table dt { position: relative; width: 290px; padding: 0 0 0 5px; }
#page-confirm .form-table dt .font-small { font-size: 14px; }
#page-confirm .form-table .required-item:before { position: absolute; top: 0; bottom: 0; right: 58px; width: 52px; height: 26px; margin: auto 0; background: #e00f19; color: #fff; font-size: 12px; text-align: center; line-height: 26px; content: "必須"; }
#page-confirm .form-table dd { position: relative; width: 640px; word-wrap: break-word; overflow-wrap: break-word; }
#page-confirm .form-table dd .category-item { display: inline-block; margin: 0 40px 0 0; }
#page-confirm .form-table dd .category-item:last-child { margin: 0; }
#page-confirm .form-table .textarea-wrap { align-items: normal; }

#page-confirm .btn-block { width: 717px; margin: 0 auto; }
#page-confirm .btn-block #btn-back { width: 303px; }
#page-confirm .btn-block #btn-send { width: 394px; }

/*==============================================================================
    thanks.php
============================================================================= */
#page-thanks .common-ttl-block { min-width: 980px; padding: 52px 0 60px; }
#page-thanks .step { margin: 0 0 72px;  }


