@charset "utf-8";

/* contact お問い合わせフォーム */

#contact .mvTitle {
    background-image: url(../../images/src/contact/mv_title.png);
}

#contact .mvTitle .title span {
    width: 193px;
    left: 0;
    top: -74px;
}

@media screen and (min-width:769px) and (max-width:1200px) {
    #contact .text16 {
        font-size: 1.23vw;
    }
}

@media screen and (max-width:768px) {
    #contact .mvTitle {
        background-image: url(../../images/src/contact/sp/mv_title.png);
    }

    #contact .mvTitle .title span {
        width: 25.733vw;
        top: -9.866vw;
    }

    #contact .text16 {
        font-size: 3.733vw;
    }
}

#contact .secTitle {
    /* 共通 */
    margin-bottom: 60px;
    padding: 0 0 32px;
    font-size: 26px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
    text-align: center;
    background: url(../../images/src/aboutus/titleline.png) no-repeat center bottom;
    background-size: 60px auto;
}

@media screen and (min-width:769px) and (max-width:1200px) {
    #contact .secTitle {
        /* 共通 */
        margin-bottom: 11.666vw;
        font-size: 2.666vw;
    }
}

@media screen and (max-width:768px) {
    #contact .secTitle {
        /* 共通 */
        margin-bottom: 13.333vw;
        font-size: 4.133vw;
    }
}

#contact .sec01 {
    margin: 0 auto;
    width: 100%;
}

#contact .sec01 .sec01Inner {
    margin: 0 auto;
    padding: 0 0 45px;
    width: 100%;
    max-width: 1200px;
}

#contact .sec01 .sec01Inner .innerContact {
    margin-bottom: 95px;
    padding: 37px 0 0;
    width: 100%;
    height: 329px;
    background-image: url(../../images/src/contact/bg_sec01.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% auto;
    box-sizing: border-box;
}

#contact .sec01 .sec01Inner .innerContact .sec01Copy {
    color: #fff;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.6;
    letter-spacing: 0.16em;
    text-indent: 0.16em;
    text-align: center;
}

#contact .sec01 .sec01Inner .innerConsult {
    margin: 0 auto;
    padding: 55px 0 0;
    width: 100%;
    max-width: 1039px;
    height: 423px;
    background-image: url(../../images/src/contact/bg_sec02.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% auto;
    box-sizing: border-box;
}

#contact .sec01 .sec01Inner .innerConsult .consultTitle {
    margin: 0 auto 30px;
    padding: 16px 0 0;
    width: 100%;
    max-width: 768px;
    height: 88px;
    font-size: 26px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.2em;
    text-indent: 0.2em;
    background-image: url(../../images/src/contact/bg_title.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% auto;
}

#contact .sec01 .sec01Inner .innerConsult .consultList {
    margin: 0 auto 30px;
    width: 100%;
    max-width: 560px;
}

#contact .sec01 .sec01Inner .innerConsult .consultList li {
    padding: 0 0 0 40px;
    font-size: 20px;
    font-weight: bold;
    background-image: url(../../images/src/common/icon_check.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 22px auto;
}

#contact .sec01 .sec01Inner .innerConsult .consultList li+li {
    margin-top: 10px;
}

@media screen and (min-width:769px) and (max-width:1300px) {
    #contact .sec01 .sec01Inner {
        padding: 0 0 3.461vw;
        width: 93%;
    }

    #contact .sec01 .sec01Inner .innerContact {
        margin-bottom: 7.3vw;
        padding: 2.846vw 0 0;
        height: 25.3vw;
    }

    #contact .sec01 .sec01Inner .innerContact .sec01Copy {
        font-size: 2.3vw;
    }

    #contact .sec01 .sec01Inner .innerConsult {
        padding: 4.23vw 0 0;
        max-width: 79.9vw;
        height: 32.538vw;
    }

    #contact .sec01 .sec01Inner .innerConsult .consultTitle {
        margin: 0 auto 1.5vw;
        padding: 1.23vw 0 0;
        max-width: 59vw;
        height: 6.769vw;
        font-size: 2vw;
    }

    #contact .sec01 .sec01Inner .innerConsult .consultList {
        margin: 0 auto 2.3vw;
        max-width: 43vw;
    }

    #contact .sec01 .sec01Inner .innerConsult .consultList li {
        padding: 0 0 0 3vw;
        font-size: 1.538vw;
        background-size: 1.692vw auto;
    }

    #contact .sec01 .sec01Inner .innerConsult .consultList li+li {
        margin-top: 0.769vw;
    }
}

@media screen and (max-width:768px) {
    #contact .sec01 .sec01Inner {
        padding: 0 2.666vw 3vw;
        max-width: inherit;
        box-sizing: border-box;
    }

    #contact .sec01 .sec01Inner .innerContact {
        margin-bottom: 12vw;
        padding: 5.333vw 0 0;
        height: 50.666vw;
        background-image: url(../../images/src/contact/sp/bg_sec01.png);
    }

    #contact .sec01 .sec01Inner .innerContact .sec01Copy {
        font-size: 4vw;
    }

    #contact .sec01 .sec01Inner .innerConsult {
        padding: 4.4vw 0 0;
        max-width: inherit;
        height: 99vw;
        background-image: url(../../images/src/contact/sp/bg_sec02.png);
    }

    #contact .sec01 .sec01Inner .innerConsult .consultTitle {
        margin: 0 auto 10.4vw;
        padding: 4.266vw 0 0;
        max-width: inherit;
        height: auto;
        font-size: 4vw;
        line-height: 1.56;
        background: none;
    }

    #contact .sec01 .sec01Inner .innerConsult .consultList {
        margin: 0 auto;
        max-width: 64.533vw;
    }

    #contact .sec01 .sec01Inner .innerConsult .consultList li {
        padding: 0 0 0 7.333vw;
        font-size: 3.733vw;
        line-height: 1.4;
        background-size: 4.666vw auto;
    }

    #contact .sec01 .sec01Inner .innerConsult .consultList li+li {
        margin-top: 2vw;
    }
}

#contact .sec02 {
    margin: 0 auto 134px;
    width: 100%;
}

#contact .sec02 .sec02Inner {
    margin: 0 auto;
    padding: 100px 0 0;
    width: 100%;
    max-width: 900px;
}

#contact .sec02 .sec02Inner .table {
    width: 100%;
}

#contact .sec02 .sec02Inner .table table tr:nth-child(even) {
    background-color: #F6F6F6;
}

#contact .sec02 .sec02Inner .table table {
    margin-bottom: 80px;
}

#contact .sec02 .sec02Inner .table table th,
#contact .sec02 .sec02Inner .table table td {
    padding: 30px 0;
    font-size: 17px;
}

#contact .sec02 .sec02Inner .table table th {
    padding: 30px 0 30px 30px;
    width: 30%;
    font-weight: bold;
    box-sizing: border-box;
}

#contact .sec02 .sec02Inner .table table tr:last-of-type th {
    vertical-align: top;
}

#contact .sec02 .sec02Inner .table table td {
    padding: 30px 0 30px 88px;
    width: 70%;
    box-sizing: border-box;
}

#contact .sec02 .sec02Inner .table table td ul {
    width: 100%;
}

#contact .sec02 .sec02Inner .table table td ul::after {
    content: "";
    display: block;
    width: 33.333%;
}

#contact .sec02 .sec02Inner .table table td ul li {
    margin-bottom: 10px;
    width: 33.333%;
}

#contact .sec02 .sec02Inner .table table td ul li label span {
    padding: 0 0 0 10px;
}

#contact .sec02 .sec02Inner .table table td input[type="text"],
#contact .sec02 .sec02Inner .table table td input[type="email"],
#contact .sec02 .sec02Inner .table table td input[type="tel"],
#contact .sec02 .sec02Inner .table table td textarea {
    padding: 10px;
    width: 80%;
    border: 1px solid #c0c0c0;
}


input[type="checkbox"] {
    accent-color: #f00;
    transform: scale(1.5);
}

#contact .sec02 .sec02Inner .table .questionaryBox {
    margin-bottom: 60px;
    padding: 46px 33px 30px;
    width: 100%;
    font-size: 17px;
    background-color: #F6F6F6;
    box-sizing: border-box;
}

#contact .sec02 .sec02Inner .table .questionaryBox .boxCopy {
    font-weight: bold;
}

#contact .sec02 .sec02Inner .table .questionaryBox p+p {
    margin-top: 35px;
}

#contact .sec02 .sec02Inner .table .questionaryBox input[type="text"] {
    margin: 0 35px 0 15px;
    padding: 10px;
    width: 135px;
    border: 1px solid #c0c0c0;
}

#contact .sec02 .sec02Inner .table .questionaryBox .questionList {
    justify-content: flex-start;
    padding: 10px 0 0 30px;
    width: 620px;
}

#contact .sec02 .sec02Inner .table .questionaryBox .questionList li {
    margin: 0 15px 10px 0;
}

#contact .sec02 .sec02Inner .table .questionaryBox .questionList li span {
    padding: 0 0 0 10px;
}

button.commonBtn {
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    width: 100%;
    max-width: 380px;
    height: 55px;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    line-height: 1;
    background-color: #333333;
    background-image: url(../../images/src/common/icon01.png);
    background-repeat: no-repeat;
    background-position: right 30px center;
    background-size: 8px auto;
    border: 1px solid #333;
    border-radius: 100px;
    cursor: pointer;
}

@media screen and (min-width:769px) and (max-width:1000px) {
    #contact .sec02 {
        margin: 0 auto 13.4vw;
    }

    #contact .sec02 .sec02Inner {
        padding: 10vw 0 0;
        width: 90%;
    }

    #contact .sec02 .sec02Inner .table table {
        margin-bottom: 8vw;
    }

    #contact .sec02 .sec02Inner .table table th,
    #contact .sec02 .sec02Inner .table table td {
        padding: 3vw 0;
        font-size: 1.7vw;
    }

    #contact .sec02 .sec02Inner .table table th {
        padding: 3vw 0 3vw 3vw;
    }

    #contact .sec02 .sec02Inner .table table td {
        padding: 3vw 0 3vw 8.8vw;
    }

    #contact .sec02 .sec02Inner .table table td ul li {
        margin-bottom: 10p1vwx;
    }

    #contact .sec02 .sec02Inner .table table td ul li label span {
        padding: 0 0 0 1vw;
    }

    #contact .sec02 .sec02Inner .table table td input[type="text"],
    #contact .sec02 .sec02Inner .table table td input[type="email"],
    #contact .sec02 .sec02Inner .table table td input[type="tel"],
    #contact .sec02 .sec02Inner .table table td textarea {
        padding: 1vw;
    }

    #contact .sec02 .sec02Inner .table .questionaryBox {
        margin-bottom: 6vw;
        padding: 4.6vw 3.3vw 3vw;
        font-size: 1.7vw;
    }

    #contact .sec02 .sec02Inner .table .questionaryBox p+p {
        margin-top: 3.5vw;
    }

    #contact .sec02 .sec02Inner .table .questionaryBox input[type="text"] {
        margin: 0 3.5vw 0 1.5vw;
        padding: 1vw;
        width: 13.5vw;
    }

    #contact .sec02 .sec02Inner .table .questionaryBox .questionList {
        padding: 1vw 0 0 3vw;
        width: 62vw;
    }

    #contact .sec02 .sec02Inner .table .questionaryBox .questionList li {
        margin: 0 1.5vw 1vw 0;
    }

    #contact .sec02 .sec02Inner .table .questionaryBox .questionList li span {
        padding: 0 0 0 1vw;
    }

    button.commonBtn {
        max-width: 38vw;
        height: 5.5vw;
        font-size: 1.4vw;
        background-position: right 3vw center;
        background-size: 0.8vw auto;
    }
}

@media screen and (max-width:768px) {
    #contact .sec02 {
        margin: 0 auto 12.666vw;
    }

    #contact .sec02 .sec02Inner {
        margin: 0 auto;
        padding: 13.333vw 4vw 0;
        max-width: inherit;
        box-sizing: border-box;
    }

    #contact .sec02 .sec02Inner .table table tr:nth-child(even) {
        background-color: #fff;
    }

    #contact .sec02 .sec02Inner .table table {
        margin-bottom: 9.333vw;
    }

    #contact .sec02 .sec02Inner .table table th,
    #contact .sec02 .sec02Inner .table table td {
        display: block;
        padding: 4vw 3vw;
        font-size: 3.733vw;
    }

    #contact .sec02 .sec02Inner .table table th {
        padding: 4vw 3vw;
        width: 100%;
        background-color: #F6F6F6;
    }

    #contact .sec02 .sec02Inner .table table td {
        padding: 4vw 3vw;
        width: 100%;
    }

    #contact .sec02 .sec02Inner .table table td ul::after {
        content: "";
        display: block;
        width: 33.333%;
    }

    #contact .sec02 .sec02Inner .table table td ul li {
        margin-bottom: 2.666vw;
        width: 100%;
    }

    #contact .sec02 .sec02Inner .table table td ul li label span {
        padding: 0 0 0 2.666vw;
    }

    #contact .sec02 .sec02Inner .table table td input[type="text"],
    #contact .sec02 .sec02Inner .table table td input[type="email"],
    #contact .sec02 .sec02Inner .table table td input[type="tel"],
    #contact .sec02 .sec02Inner .table table td textarea {
        padding: 2.666vw;
        font-size: 16px;
    }

    #contact .sec02 .sec02Inner .table .questionaryBox {
        margin-bottom: 8vw;
        padding: 5vw 4vw 4vw;
        font-size: 3.733vw;
    }

    #contact .sec02 .sec02Inner .table .questionaryBox p {
        margin-left: 2vw;
        text-indent: -2vw;
    }

    #contact .sec02 .sec02Inner .table .questionaryBox p+p {
        margin-top: 4vw;
    }

    #contact .sec02 .sec02Inner .table .questionaryBox input[type="text"] {
        margin: 0 4vw;
        padding: 2.666vw;
        width: 29.333vw;
    }

    #contact .sec02 .sec02Inner .table .questionaryBox .questionList {
        justify-content: flex-start;
        padding: 10px 0 0 11vw;
        width: 100%;
        box-sizing: border-box;
    }

    #contact .sec02 .sec02Inner .table .questionaryBox .questionList li {
        margin: 0 0 2.666vw 0;
        width: 100%;
    }

    #contact .sec02 .sec02Inner .table .questionaryBox .questionList li span {
        padding: 0 0 0 2.666vw;
    }

    button.commonBtn {
        width: 68vw;
        max-width: inherit;
        height: 10.1vw;
        font-size: 3.2vw;
        background-position: right 4vw center;
        background-size: 1.466vw auto;
    }
}

#contact .sec03 {
    margin: 0 auto 250px;
    width: 100%;
}

#contact .sec03 .sec03Inner {
    margin: 0 auto;
    width: 100%;
    max-width: 1069px;
}

#contact .sec03 .sec03Inner .contactArea {
    margin: 0 auto;
    padding: 48px 32px;
    width: 100%;
    background: url(../../images/src/aboutus/flow/bg_contact.png) no-repeat center top;
    background-size: cover;
    box-sizing: border-box;
}

#contact .sec03 .sec03Inner .contactArea .stepItem {   
    padding: 18px 0;  
    background-size: cover;
    box-sizing: border-box;
}

#contact .sec03 .sec03Inner .contactArea .stepItem:first-of-type {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 45%;
}

#contact .sec03 .sec03Inner .contactArea .stepItem:first-of-type .contactTit {
    width: 300px;
}

#contact .sec03 .sec03Inner .contactArea .stepItem:nth-of-type(2) {
    width: 55%;
    text-align: center;
    letter-spacing: 0.04em;
    border-left: 1px solid #C0BFBB;
}

#contact .sec03 .sec03Inner .contactArea .stepItem:nth-of-type(2) .contactTel {}

#contact .sec03 .sec03Inner .contactArea .stepItem:nth-of-type(2) .contactTel span {
    padding: 0 0 0 40px;
    font-size: 46px;
    font-weight: bold;
    line-height: 40px;
    background: url(../../images/src/aboutus/flow/tel.png) no-repeat left center;
    background-size: 23px auto;
}

#contact .sec03 .sec03Inner .contactArea .stepItem:nth-of-type(2) .contactOpen {
    padding: 13px 0 0;
    font-size: 20px;
    line-height: 1;
}

@media screen and (min-width:769px) and (max-width:1100px) {
    #contact .sec03 {
        margin: 0 auto 22.727vw;
    }

    #contact .sec03 .sec03Inner {
        width: 97%;
    }

    #contact .sec03 .sec03Inner .contactArea {
        padding: 4.363vw 3.636vw;
    }

    #request .sec03 .sec03Inner .contactArea .stepItem { 
        padding: 1.636vw 0;   
    }

    #contact .sec03 .sec03Inner .contactArea .stepItem:first-of-type .contactTit {
        width: 27.272vw;
    }

    #contact .sec03 .sec03Inner .contactArea .stepItem:nth-of-type(2) {
        padding: 1.636vw 0 1.636vw 7.272vw;
    }

    #contact .sec03 .sec03Inner .contactArea .stepItem:nth-of-type(2) .contactTel span {
        padding: 0 0 0 3.636vw;
        font-size: 4.181vw;
        line-height: 3.636vw;
        background-size: 2vw auto;
    }

    #contact .sec03 .sec03Inner .contactArea .stepItem:nth-of-type(2) .contactOpen {
        padding: 1.181vw 0 0;
        font-size: 1.636vw;
    }
}

@media screen and (max-width:768px) {
    #contact .sec03 {
        margin: 0 auto 25vw;
    }
    
    #contact .sec03 .sec03Inner {
        max-width: inherit;
    }

    #contact .sec03 .sec03Inner .contactArea {
		padding: 5.333vw;
		width: 77.3vw;
		max-width: inherit;
	}

	#contact .sec03 .sec03Inner .contactArea .stepItem {
		width: 100%;
		background-size: cover;
		box-sizing: border-box;
	}

    #contact .sec03 .sec03Inner .contactArea .stepItem:first-of-type {
		width: 100%;
	}

	#contact .sec03 .sec03Inner .contactArea .stepItem:first-of-type .contactTit {
		margin: 0 auto 4vw;
		width: 44vw;
	}

	#contact .sec03 .sec03Inner .contactArea .stepItem:nth-of-type(2) {
		padding: 4.666vw 0 0;
        width: 100%;
		border-left: none;
		border-top: 1px solid #C0BFBB;
	}

	#contact .sec03 .sec03Inner .contactArea .stepItem:nth-of-type(2) .contactTel {}

	#contact .sec03 .sec03Inner .contactArea .stepItem:nth-of-type(2) .contactTel span {
		padding: 0 0 0 5.333vw;
		font-size: 6.5vw;
		line-height: 1;
		letter-spacing: normal;
		background-size: 3.2vw auto;
	}

	#contact .sec03 .sec03Inner .contactArea .stepItem:nth-of-type(2) .contactOpen {
		padding: 2vw 0 0;
		font-size: 3.2vw;
        text-align: center;
	}
}




#contact .sec02 .sec02Inner .table table td .column3_wrap > span {
    margin-bottom: 10px;
    margin-left: 0;
    width: 33.333%;
    display: inline-block;
}
#contact .sec02 .sec02Inner .table table td .column3_wrap > span input {
    margin-right:10px;
}

#contact .sec02 .sec02Inner .table .questionaryBox .questionList > span {
    margin: 0 15px 10px 0;
    margin-left: 0;
    display: inline-block;
}

#contact .sec02 .sec02Inner .table .questionaryBox .questionList > span input {
    margin-right:10px;
}
#contact .sec02 .sec02Inner .table .questionaryBox .separate_slash > span:nth-of-type(n+2)::before {
    content: '/';
    display: inline-block;
    padding: 0 0.5em;
}
input.commonBtn[type="submit"] {
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    width: 100%;
    max-width: 380px;
    height: 55px;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    line-height: 1;
    background-color: #333333;
    background-image: url(../../images/src/common/icon01.png);
    background-repeat: no-repeat;
    background-position: right 30px center;
    background-size: 8px auto;
    border: 1px solid #333;
    border-radius: 100px;
    cursor: pointer;
}
@media screen and (min-width:769px) and (max-width:1000px) {

    
    #contact .sec02 .sec02Inner .table table td .column3_wrap::after {
        content: "";
        display: block;
        width: 33.333%;
    }

    #contact .sec02 .sec02Inner .table table td .column3_wrap > span {
        margin-bottom: 2.666vw;
        width: 100%;
        margin-right: 2.666vw;
    }

    #contact .sec02 .sec02Inner .table .questionaryBox .questionList > span {
        margin: 0 1.5vw 1vw 0;
        padding: 0 0 0 1vw;
    }

    input.commonBtn[type="submit"] {
        max-width: 38vw;
        height: 5.5vw;
        font-size: 1.4vw;
        background-position: right 3vw center;
        background-size: 0.8vw auto;
    }

}
@media screen and (max-width:768px) {
    #contact .sec02 .sec02Inner .table table td .column3_wrap::after {
        content: "";
        display: block;
        width: 33.333%;
    }

    #contact .sec02 .sec02Inner .table table td .column3_wrap > span {
        margin-bottom: 2.666vw;
        width: 100%;
        margin-right: 2.666vw;
    }
    #contact .sec02 .sec02Inner .table .questionaryBox .questionList > span {
        margin: 0 0 2.666vw 0;
        width: 100%;
    }

    #contact .sec02 .sec02Inner .table .questionaryBox .questionList > span {
    }

    input.commonBtn[type="submit"] {
        width: 68vw;
        max-width: inherit;
        height: 10.1vw;
        font-size: 3.2vw;
        background-position: right 4vw center;
        background-size: 1.466vw auto;
    }

}



