@charset "UTF-8";
main {
    background: url(../img/contact_bg.png) top left / cover no-repeat;
}
.page_wrap{
    background-image: url(../img/contact_ttl.png);
    background-repeat: no-repeat;
    background-position: center top 26px;
}
.form_wrap{
    padding: 40px 0 65px;
}
.formDtl_wrap{
    padding: 100px 90px 60px;
    background: #fff;
    border-radius: 30px;
    position: relative;
    z-index: 2;
}
body.is-confirm .formDtl_wrap {
    padding-top: 50px;
}
.formRead_wrap {
    margin-bottom: 94px;
}
body.is-confirm .formRead_wrap {
    margin-bottom: 80px;
}
.formRead_wrap .ttl {
    font-size: 34px;
    line-height: 1.6;
    color: #e15a4f;
    font-weight: bold;
    text-align: center;
}
.formRead_wrap .txt {
    font-size: 20px;
    text-align: center;
    margin-top: 30px;
}
.formRead_wrap .txts {
    font-size: 16px;
}
.requ-txt {
    font-size: 20px;
    margin-top: 15px;
    text-align: center;
}
.requ-note {
    color: #e15a4f;
    margin-top: 20px;
    text-align: center;
}
.requ-add {
    font-size: 16px;
    margin-top: 28px;
    text-align: center;
}
.tel_box {
    border: 4px solid #e15a4f;
    font-size: 22px;
    text-align: center;
    margin-top: 30px;
    padding: 20px 0;
}
.tel_box span {
    font-size: 20px;
}
.formEnd_wrap {
    margin-top: 68px;
}
.formPolicy_wrap{
    text-align: center;
}
.formPolicy_wrap .txt{
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 1;
    font-weight: bold;
    margin-bottom: 20px;
}
.formPolicy_wrap .txt a{
    color: #e15a4f;
    text-decoration: underline;
    text-underline-offset: 6px;
}
.formPolicy_wrap .txt span{
    text-decoration: underline;
}
.formPolicy_wrap .txt:last-child{
    margin-bottom: 0;
}
.form_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-bottom: 40px;
    margin-bottom: 40px;
    border-bottom: 1px solid #e6e6e6;
}
.form_box.is-ver2 {
    padding-bottom: 20px;
}
.form_box .mds {
    width: 240px;
    font-size: 18px;
    line-height: 1;
    font-weight: bold;
    text-align: left;
    position: relative;
    overflow: hidden;
    padding-right: 20px;
    box-sizing: border-box;
}
body.is-confirm .form_box .mds {
    line-height: 1.8;
}
.form_box .mds .his {
    display: inline-block;
    color: #fff;
    background: #ff0000;
    font-size: 14px;
    padding: 6px 8px 4px;
    border-radius: 2px;
    line-height: 1;
    vertical-align: middle;
    margin-left:8px;
    margin-top: -2px;
}
.form_box .box {
    font-size: 18px;
    line-height: 1.6;
    text-align: left;
    width: -webkit-calc(100% - 240px);
    width: calc(100% - 240px);
    box-sizing: border-box;
}
.form_box .box dt {
    font-size: 18px;
    line-height: 1;
    font-weight: bold;
    margin-bottom: 12px;
}
.form_box .box dt .nin {
    font-size: 16px;
    font-weight: normal;
}
.form_box .box dd {
    margin-bottom: 30px;
}
.form_box .box dd:last-child {
    margin-bottom: 0;
}
.form_box .box dd.is-ver2 {
    font-size: 17px;
    font-weight: 500;
    color: #e15a4f;
    margin-left: -240px;
    text-align: left;
}
.form_box .box ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: -10px;
}
.form_box .box ul li {
    margin-right: 20px;
    margin-top: 22px;
    font-size: 18px;
    line-height: 1;
}
.form_box textarea,
.form_box select,
.form_box input[type="text"],
.form_box input[type="tel"],
.form_box input[type="email"] {
    font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
    background: #fff;
    border: 1px solid #c9c9c9;
    border-radius: 2px;
    width: 100%;
    box-sizing: border-box;
    font-size: 16px;
}
.form_box select,
.form_box input[type="text"],
.form_box input[type="tel"],
.form_box input[type="email"]{
    height: 40px;
    padding: 0 20px;
}
.form_box textarea {
    height: 100px;
    padding: 10px;
}
.select-wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 5px 0 5px;
  border-color: #888 transparent transparent transparent;
  pointer-events: none;
}
/* .formDtl_wrap input[type="radio"],
.formDtl_wrap input[type="checkbox"] {
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
    font-size: 16px;
} */
.formDtl_wrap input[type="radio"],
.formDtl_wrap input[type="checkbox"] {
    display: none;
}
.formDtl_wrap input[type="radio"] + label,
.formDtl_wrap input[type="checkbox"] + label {
    font-size: 16px;
    padding: 0 0 0 30px;
    position: relative;
    cursor: pointer;
    display: inline-block;
}
.formDtl_wrap input[type="radio"] + label:before,
.formDtl_wrap input[type="radio"] + label:after,
.formDtl_wrap input[type="checkbox"] + label:before,
.formDtl_wrap input[type="checkbox"] + label:after {
    content: '';
    display: block;
    position: absolute;
    box-sizing: border-box;
}
.formDtl_wrap input[type="radio"] + label:before,
.formDtl_wrap input[type="checkbox"] + label:before {
    width: 20px;
    height: 20px;
    left: 0;
    top: -2px;
    border: 1px solid #c9c9c9;
    border-radius: 2px;
}
.formDtl_wrap input[type="radio"] + label:after,
.formDtl_wrap input[type="checkbox"] + label:after {
    background: transparent;
    border: none;
    border-bottom: 3px solid #e15a4f;
    border-left: 3px solid #e15a4f;
    height: 10px;
    width: 14px;
    transform: rotate(-45deg);
    top: 1px;
    left: 3px;
    border-radius: 0;
    opacity: 0;
}
.formDtl_wrap input[type="radio"]:checked + label:after,
.formDtl_wrap input[type="checkbox"]:checked + label:after {
    opacity: 1;
}
.formPolicy_wrap input[type="radio"]:checked + label:after {
    top: 1px;
}
.formBtn_wrap,
.formBtnEnd_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    padding-top: 40px;
}
.formBtn_wrap a,
.formBtn_wrap button {
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
    -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
    font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
    transition: opacity .2s ease-out, all .2s ease-out;
    width: 340px;
    height: 80px;
    font-size: 22px;
    font-weight: bold;
    color: #fff;
    background: #e15a4f;
    border-radius: 2px;
    text-decoration: none;
    position: relative;
    text-align: center;
    border: none;
    margin: 0 10px;
    border: 1px solid #e15a4f;
    box-sizing: border-box;
}
.formBtn_wrap .formBtn.is-submit a {
    width: 360px;
    height: 100px;
    font-size: 20px;
    letter-spacing: 0.1em;
    text-align: left;
}
.formBtn_wrap .formBtn.is-submit a span {
    position: relative;
}
.formBtn_wrap .formBtn.is-submit a span:before {
    content: "";
    position: absolute;
    display: block;
    width: 38px;
    height: 10px;
    bottom: 10px;
    right: 0;
    z-index: 10;
    background: url("../img/btn_arw.png") no-repeat center center;
    background-size: 100% auto;
    transition: opacity .2s ease-out, all .2s ease-out;
}
.formBtn_wrap .re a,
.formBtn_wrap button.re {
    width: 200px;
    background: #c9c9c9;
    border: 1px solid #c9c9c9;
}
.confirm .form_box .mds {
    padding-top: 0;
}
.confirm .form_box .mds .his {
    display: none;
}
.form_box .error,
.formPolicy_wrap .error {
    padding: 12px 0 0 0;
    color: #ff0000;
    font-weight: 500;
}
.formEnd_box .mds{
    font-size: 24px;
    line-height: 1;
    font-weight: bold;
    color: #101254;
    text-align: center;
    padding-bottom: 20px;
}
.formEnd_box .txt{
    font-size: 16px;
    line-height: 1.6;
    text-align: center;
    font-weight: bold;
}
/*20240523*/
.facility_select {
    display: block;
    position: relative;
    width: 375px;
}
.facility_select:before {
    content: "";
    position: absolute;
    display: block;
    width: 5px;
    height: 5px;
    top: 18px;
    right: 8px;
    z-index: 10;
    border: 6px solid transparent;
    border-top: 6px solid #c9c9c9;
    box-sizing: border-box;
}
.facility_select + .facility_select {
    margin-top: 15px;
}
.facility_select select {
    width: 100%;
    height: 40px;
    font-size: 16px;
    padding: 0 26px 0 20px;
    border: 1px solid #c9c9c9;
    background: #fff;
}
.facility_select select.is-disabled {
    opacity: .7 !important;
    background: #ddd !important;
}
.form_select {
    width: 345px;
    position: relative;
}
.form_select::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 5px 0 5px;
    border-color: #c9c9c9 transparent transparent transparent;
    pointer-events: none;
}
.form_select select {
    width: 100%;
    padding-right: 30px;
}
@media (min-width: 896px) {
    .formPolicy_wrap .txt a:hover {
        text-decoration: none;
    }
    .formBtn_wrap a:hover,
    .formBtn_wrap button:hover {
        opacity: .8;
    }
    .formBtn_wrap .formBtn.is-submit a:hover {
        opacity: 1;
    }
    .formBtn_wrap .formBtn.is-submit a:hover span:before {
        right: -10px;
    }
    .formBtn_wrap .re a:hover,
    .formBtn_wrap button.re:hover {
        color: #c9c9c9;
        background: #fff;
    }
    .form_wrap{
        padding: 40px 0 65px;
        min-height: -webkit-calc(100vh - 360px);
        min-height: calc(100vh - 360px);
    }
    .form_box.js-inquiry .mds .his {
        margin-left: 154px;
        margin-top: 10px;
    }
}
@media only screen and (max-width: 896px) {
    main {
        background: url(../img/sp/contact_bg.png) top left / cover no-repeat;
    }
    .page_wrap{
        background-image: url(../img/sp/contact_ttl.png);
        background-size: 375px auto;
        background-position: center top 15px;
    }
    .form_wrap {
        padding: 18px 0 60px;
    }
    .formDtl_wrap {
        width: -webkit-calc(100% - 40px);
        width: calc(100% - 40px);
        box-sizing: border-box;
        padding: 40px 15px;
        margin: 0 auto;
        border-radius: 20px;
    }
    .formRead_wrap {
        margin-bottom: 40px;
    }
    .formRead_wrap .ttl {
        font-size: 20px;
        line-height: 1.4;
    }
    .formRead_wrap .txt {
        font-size: 16px;
        text-align: left;
        margin-top: 20px;
    }
    .requ-txt {
        font-size: 14px;
        margin-top: 20px;
    }
    .requ-note {
        font-size: 12px;
        margin-top: 15px;
    }
    .tel_box {
        border: 2px solid #e15a4f;
        font-size: 14px;
        line-height: 1.4;
        margin-top: 20px;
        padding: 14px 10px;
    }
    .tel_box span {
        display: inline-block;
        font-size: 13px;
        padding-top: 10px;
    }
    .formEnd_wrap {
        margin-top: 40px;
    }
    .formEnd_wrap {
        font-size: 14px;
    }
    .formPolicy_wrap {
        text-align: left;
    }
    .formPolicy_wrap .txt a{
        text-underline-offset: 4px;
    }
    .formPolicy_wrap .txt{
        font-size: 16px;
        line-height: 1.4;
        margin-bottom: 20px;
        text-align: center;
    }
    .formPolicy_wrap .txt.policy{
        text-align: left;
    }
    .form_box {
        padding-bottom: 30px;
        margin-bottom: 30px;
    }
    .form_box .mds {
        width: 100%;
        font-size: 18px;
        padding: 0;
        margin-bottom: 20px;
    }
    .form_box .mds .his {
        margin-left: 10px;
        margin-top: 0;
    }
    .form_box .box {
        width: 100%;
        font-size: 16px;
    }
    .form_box .box dt {
        font-size: 16px;
        line-height: 1.4;
        margin-bottom: 8px;
    }
    .form_box .box dt .nin {
        font-size: 14px;
    }
    .form_box .box dd {
        margin-bottom: 30px;
    }
    .form_box .box dd:last-child {
        margin-bottom: 0;
    }
    .form_box .box dd.is-ver2 {
        font-size: 14px;
        margin-left: 0;
    }
    .form_box .box ul {
        margin-top: -8px;
    }
    .form_box .box ul li {
        margin-right: 10px;
        margin-top: 20px;
        font-size: 16px;
        line-height: 1.4;
    }
    .form_box input[type="text"],
    .form_box input[type="tel"],
    .form_box input[type="email"] {
        height: 40px;
        padding: 0 10px;
    }
    .form_box textarea {
        height: 80px;
        padding: 10px;
    }
    .formDtl_wrap input[type="radio"] + label,
    .formDtl_wrap input[type="checkbox"] + label {
        padding: 0 0 0 24px;
    }
    .formDtl_wrap input[type="radio"] + label:before,
    .formDtl_wrap input[type="checkbox"] + label:before {
        width: 15px;
        height: 15px;
        top: 3px;
    }
    .formDtl_wrap input[type="radio"] + label:after,
    .formDtl_wrap input[type="checkbox"] + label:after {
        border-bottom: 2px solid #e15a4f;
        border-left: 2px solid #e15a4f;
        width: 10px;
        height: 6px;
        left: 2px;
        top: 6px;
    }
    .formBtn_wrap,
    .formBtnEnd_wrap {
        display: block;
        padding-top: 30px;
    }
    .formBtn_wrap a,
    .formBtn_wrap button {
        width: 100%;
        max-width: 300px;
        height: 50px;
        margin: 0 auto;
        font-size: 18px;
    }
    .formBtn_wrap .re a,
    .formBtn_wrap button.re {
        width: 100%;
        margin-top: 15px;
    }
    .form_box .error,
    .formPolicy_wrap .error {
        padding: 8px 0 0 0;
    }
    .formEnd_box .mds{
        font-size: 20px;
        line-height: 1.2;
        padding-bottom: 20px;
    }
    .formEnd_box .txt{
        font-size: 14px;
        line-height: 1.6;
        text-align: left;
    }
    /*20240523*/
    .facility_select {
        width: 100%;
    }
    .facility_select + .facility_select {
        margin-top: 15px;
    }
    .facility_select:before {
        right: 6px;
        border: 5px solid transparent;
        border-top: 5px solid #c9c9c9;
    }
    .facility_select select {
        width: 100%;
        padding: 0 22px 0 10px;
    }
    .formBtn_wrap .formBtn.is-submit a {
        width: 100%;
        height: 80px;
        font-size: 16px;
        letter-spacing: 0.15em;
    }
    .form_select {
        width: 100%;
    }
}
@media only screen and (max-width: 374px) {
    .formRead_wrap .ttl {
        font-size: 16px;
    }
    .requ_box dt {
        font-size: 12px;
    }
    .requ_box dd {
        font-size: 11px;
    }
    .tel_box {
        font-size: 12px;
        line-height: 1.6;
    }
    .tel_box span {
        font-size: 13px;
    }
    .formPolicy_wrap .txt {
        font-size: 14px;
    }
    .formBtn_wrap .formBtn.is-submit a {
        font-size: 14px;
    }
    .form_box.js-inquiry .mds .his {
        padding: 6px 6px 4px;
    }
}
