@charset "UTF-8";
/*---------------------------------------------------------------
    contact
---------------------------------------------------------------*/
.contact__h2 {
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 20px;
}

.form__h3 {
    background: #EFEFEF;
    margin-bottom: 20px;
    padding: 2px 20px;
    text-align: center;
    font-size: 1.8rem;
}
.form__h3.web span, .form__h3.tel span {
    position: relative;
    padding-left: 30px;
}
.form__h3.web span::after, .form__h3.tel span::after {
    content: "";
    display: block;
    width: 20px;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: url(../img/common/ico_mail.svg) no-repeat center center/contain;
}
.form__h3.tel span::after {
    background: url(../img/common/ico_tel.svg) no-repeat center center/contain;
}

@media all and (min-width: 1025px) {
    .contact__h2 {
        font-size: 3rem;
        text-align: left;
        margin-bottom: 30px;
    }

    .form__h3 {
        margin-bottom: 30px;
        padding: 5px 20px;
        text-align: left;
        font-size: 2.2rem;
    }
}
.contact__fleft {
    text-align: left;
}
.contact__fleft a {
    margin: 0;
}
.contact__steps {
    display: flex;
    justify-content: flex-start;
    max-width: none;
    margin: 0 0 50px;
}
.contact__step {
    font-size: 1.6rem;
    line-height: 1.75;
    width: calc(100%/4);
    background: #EFEFEF;
    color: #676767;
    font-weight: 600 !important;
    display: flex;
    align-items: center;
    padding: 10px 0 10px 20px;
}
.step01 .contact__step:nth-child(1), .step02 .contact__step:nth-child(2), .step03 .contact__step:nth-child(3), .step04 .contact__step:nth-child(4) {
    background: #676767;
    color: #fff;
}
.step01 .contact__step:nth-child(1)::after, .step02 .contact__step:nth-child(2)::after, .step03 .contact__step:nth-child(3)::after {
    content: "";
    display: block;
    width: 25px;
    height: 100%;
    background: url(../img/content/contact/arrow_select.svg) no-repeat center center/cover;
    position: absolute;
    top: 0;
    right: -22px;
    z-index: 100;
}
.contact__step:not(:first-child) {
    padding-left: 40px;
}
.contact__step:not(:last-child) {
    position: relative;
}
.contact__step:not(:last-child)::after {
    content: "";
    display: block;
    width: 25px;
    height: 100%;
    background: url(../img/content/contact/arrow_nomal.svg) no-repeat center center/cover;
    position: absolute;
    top: 0;
    right: -22px;
    z-index: 100;
}
.contact__block {
    display: flex;
    justify-content: space-between;
    max-width: none;
    margin: 0;
    flex-wrap: wrap;
}
.contact__block a {
    max-width: none;
    width: 100%;
    margin: 0;
    line-height: 1.22;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-bottom: 10px;
}
.contact__block a.notagree::after {
    background: url(../img/common/ico_arrow_gray.svg) no-repeat center center/contain;
}
.contact__block a.agree {
    background: #E60012;
    color: #fff;
}
.contact__block a.agree::after {
    background: url(../img/common/ico_arrow_white.svg) no-repeat center center/contain;
}
.contact__block a.agree:hover {
    background: #222222;
}
.contact__block02 {
    display: flex;
    justify-content: center;
    max-width: none;
    margin: 0;
    flex-wrap: wrap;
}
.contact__block02 a {
    margin: 0;
    line-height: 1.22;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-bottom: 10px;
}
.contact__block02 a.back::after{
    top: 0;
    left: 20px;
    transform: scale(-1, 1);
    background: url(../img/common/ico_arrow_gray.svg) no-repeat center center;
}

    input.back {
        width: 300px;
        line-height: 1.88;
		background: #fff;
		border: 1px solid #999;
		padding: 10px;
        margin-right: 10px;
		cursor: pointer;
    }

    .contact__block02 input.send {
		background: #999;
		color: white;
}

@media all and (max-width: 1024px) {
    .contact__step {
        font-size: 1.2rem;
    }
    .contact__step span {
        display: none;
    }
    .step01 .contact__step:nth-child(1) span, .step02 .contact__step:nth-child(2) span, .step03 .contact__step:nth-child(3) span, .step04 .contact__step:nth-child(4) span {
        display: block !important;
    }
    .step01 .contact__step:nth-child(1), .step02 .contact__step:nth-child(2), .step03 .contact__step:nth-child(3), .step04 .contact__step:nth-child(4) {
        width: 85%;
    }
    .step01 .contact__step:not(:nth-child(1)), .step02 .contact__step:not(:nth-child(2)), .step03 .contact__step:not(:nth-child(3)), .step04 .contact__step:not(:nth-child(4)) {
        width: 5%;
    }
    .contact__block02 {
        flex-direction: column-reverse;
    }
	
    .contact__block02 input.back {
        margin:5px auto 15px;
    }
}
@media all and (min-width: 1025px) {
    .contact__block {
        margin-bottom: 50px;
    }
    .contact__block a, .contact__block input {
        width: 48%;
        line-height: 1.88;
		background: #fff;
		border: 1px solid #333;
    }
    .contact__block02 {
        margin-bottom: 50px;
    }
    .contact__block02 a, .contact__block02 input {
        width: 300px;
        line-height: 1.88;
		background: #fff;
		border: 1px solid #999;
		padding: 10px;
	}
    .contact__block02 a.back, .contact__block02 input.back {
        margin-right: 10px;
		cursor: pointer;
    }
}
/*--- privacy -------------------------------------------*/
.link a {
    display: inline-block;
    position: relative;
    font-size: 1.4rem;
    color: red;
}
.link a::after {
    content: "";
    display: block;
    width: 11px;
    height: 100%;
    position: absolute;
    right: -15px;
    top: 0;
    background: url(../img/common/ico_outlink.svg) no-repeat center center/contain;
}

/*--- contactform -------------------------------------------*/
.form_table {
    border: 1px solid #CCCCCC;
    width: 100%;
    margin-bottom: 50px;
}
.form_table th,
.form_table td {
    padding: 15px;
}
.form_table th p,
.form_table td p {
    padding: 0 !important;
}
.form_table th {
    background: #EFEFEF;
    text-align: left;
    vertical-align: top;
}
.form_table th span {
    display: block;
}
.form_table th span.hissu::after {
    content: "【必須】";
    font-size: 1.4rem;
    color: red;
}
.form_table input {
    font-size: 1.6rem;
    line-height: 30px;
    padding: 5px 10px;
    border: 1px solid #CCCCCC;
}
.form_table input.input__zip {
    width: calc(70% - 10px);
    margin-right: 10px;
    margin-bottom: 10px;
}
.form_table input.btn_ok {
    width: 30%;
    background: #fff;
}
.form_table textarea {
    width: 100%;
    height: 200px;
    padding: 10px 10px;
    border: 1px solid #CCCCCC;
		font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";

}
.form_table select {
    width: 100%;
    padding: 12px 10px;
    border: 1px solid #CCCCCC;
}

@media all and (max-width: 1024px) {
    .form_table th,
    .form_table td {
        font-size: 1.6rem;
        display: block;
        width: 100%;
    }
    .form_table th.spnone,
    .form_table td.spnone {
        background: none;
        padding: 20px 15px 0;
        border: none !important;
    }
    .form_table th.border__none,
    .form_table td.border__none {
        border: none !important;
    }
    .form_table th {
        border-top: 1px solid #CCCCCC;
        padding: 2px 15px;
    }
    .form_table td {
        padding: 20px 15px;
    }
    .form_table td.form_name label {
        display: inline-block;
        width: 2.5em;
    }
    .form_table td.form_name input {
        width: calc(100% - 3em);
    }
    .form_table td.form_name input:nth-child(2) {
        margin-bottom: 10px;
    }
    .form_table td.border--btm {
        padding-top: 0;
        position: relative;
    }
    .form_table td.border--btm::after {
        content: "";
        width: calc(100% - 30px);
        height: 1px;
        position: absolute;
        bottom: 0;
        left: 15px;
        background: #CCCCCC;
    }
}
@media all and (min-width: 1025px) {
    .form_table th,
    .form_table td {
        border: 1px solid #CCCCCC;
    }
    .form_table td.form_name label {
        display: inline-block;
        width: 2.5em;
    }
    .form_table td.form_name input {
        width: calc(45% - 3em);
        margin-right: 20px;
    }
    .form_table input {
        font-size: 1.8rem;
    }
    .form_table input.input__zip {
        width: calc(100% - 110px);
    }
    .form_table input.btn_ok {
        width: 100px;
    }
    .form_table select {
        width: 50%;
    }
}
/*--- thanks -------------------------------------------*/
.form_table2 {
    width: 100%;
    margin-bottom: 50px;
}
.form_table2 th,
.form_table2 td {
    border-bottom: 1px solid #EFEFEF;
    padding: 30px 15px 20px;
    line-height: 1.2;
    text-align: left;
}
.form_table2 th.noBorder,
.form_table2 td.noBorder {
    border-bottom: none;
}
.form_table2 th {
    width: 22%;
    max-width: 260px;
}
.form_table2 td {
    width: 78%;
}
@media all and (max-width: 1024px) {
    .form_table2 th {
        font-size: 1.6rem;
        display: block;
        width: 100%;
        max-width: auto;
        padding: 20px 15px 0;
        border-bottom: none;
    }
    .form_table2 td {
        font-size: 1.6rem;
        display: block;
        width: 100%;
        max-width: auto;
        padding: 10px 15px 20px;
    }
}
