@charset "utf-8";
/*------------------------------------------------------------
	contact
------------------------------------------------------------*/
#main .h3Ttl {
    margin: -10px 0 -10px;
}
#main .listUl {
    padding: 30px 0 208px;
    border-top: 1px solid #c5c5c5;
}
#main .listUl li {
    position: relative;
}
#main .listUl li:first-child:before {
    position: absolute;
    right: -3px;
    top: 2px;
    bottom: -10px;
    width: 2px;
    background: #7f7f7f;
    content: "";
}
#main .listUl li {
    width: 48%;
}
#main .listUl li a:hover {
    opacity: 0.7;
}
#main .listUl li .tel {
    margin-bottom: -7px;
    display: block;
}
#main .listUl li .tel a {
    padding: 10px 0 0 65px;
    display: inline-block;
    color: #004892;
    font-size: 4rem;
    font-weight: bold;
    letter-spacing: 0.2em;
    background: url("../img/common/icon03.png") no-repeat left center;
    background-size: 42px auto; 
}
#main .listUl li .time {
    display: block;
    font-size: 1.5rem;
}
#main .listUl li .email {
    padding-top: 22px;
    display: block;
}
#main .listUl li .email a {
    padding-left: 60px;
    color: #004892;
    font-weight: bold;
    line-height: 1.7;
    display: inline-block;
    background: url("../img/common/icon04.png") no-repeat left top;
    background-size: 44px auto; 
}
#main .listUl01 {
    padding-bottom: 102px;
    border-top: none;
}
#main .topTxt {
    margin-bottom: 30px;
}
#main .topTxt .color {
    color: #c4a200;
}
#main .topTxt01 {
    margin-bottom: 95px;
}
#main table {
    margin-bottom: 83px;
    width: 100%;
    word-break: break-all;
    border-collapse: collapse;
    border-top: 1px solid #c5c5c5;
}
#main th,
#main td {
    padding: 50px 0 20px;
    font-weight: 500;
    text-align: left;
    vertical-align: top;
}
#main td {
    font-size: 1.7rem;
}
#main th {
    width: 23%;
    color: #004892;
}
#main .confirm-tab th,
#main .confirm-tab td {
	vertical-align: middle;
}
#main td input[type="text"],
#main td input[type="email"],
#main td input[type="tel"],
#main td select,
#main td textarea {
    width: 69%;
	color: #000;
    padding: 5px 10px;
    font-size: 1.7rem;
    font-weight: 500;
    height: 51px;
    box-sizing: border-box;
    -webkit-appearance: none;
    border: 1px solid #acacac;
	border-radius: 0;
}
#main td select {
    padding: 0 20px;
    width: 33%;
    font-size: 2rem;
    border-radius: 20px;
    background: url("../img/common/select_bg.png") no-repeat right 25px center;
    background-size: 18px auto; 
}
#main td textarea {
    resize: vertical;
    height: 154px;
}
#main .spe th,
#main .spe td {
    padding: 19px 0 50px;
    border-bottom: 1px solid #c5c5c5;
}
#main .spe01 th {
	padding-top: 30px;
}
#main .spe01 td {
	padding-top: 40px;
}
#main .spe02 th {
	padding-top: 60px;
}
#main .spe02 td {
	padding-top: 50px;
}
#main td .notes {
    display: block;
    margin-top: 10px;
}
#main .must {
    color: #c4a200;
    display: block;
    font-size: 1.5rem;
}
#main .submit li {
    margin-bottom: 20px;
}
#main .submit li:last-child {
    margin-bottom: 0;
}
#main .submit li input {
    cursor: pointer;
    width: 454px;
    height: 90px;
    color: #004892;
    font-size: 3rem;
     -webkit-appearance: none;
    font-weight: bold;
    border-radius: 50px;
    border: none;
    background: #dfdfdf;
}
#main .submit li input:hover {
    opacity: 0.7;
}
#main .privacyTtl {
    margin-bottom: 10px;
    padding-bottom: 4px;
    color: #004892;
    font-size: 2rem;
    border-bottom: 2px solid #7f7f7f;
}
#main .infoBox {
    margin: 0 152px -28px 0;
}
#main .infoBox .privacyBox {
    height: 273px;
	width: 100% !important;
}
#main .border {
    padding-bottom: 14px;
    border-bottom: 2px solid #7f7f7f;
}
#main .infoBox .privacyBox .jspPane {
	padding-right: 40px !important;
	width: 100% !important;
	box-sizing: border-box;
}
#main .infoBox .privacyBox p {
    margin-bottom: 32px;
    font-size: 1.5rem;
    line-height: 2;
}
#main .infoBox .privacyBox .tit {
    margin-bottom: 0;
    font-weight: 700;
}
#main .infoBox .privacyBox .jspContainer {
    width: 100% !important;
}
#main .infoBox .privacyBox .jspVerticalBar {
	width: 19px;
}
#main .infoBox .privacyBox .jspTrack {
    background: #DFDFDF;
}
#main .infoBox .privacyBox .jspDrag {
	left: 4px;
	width: 11px;
    background: #929292;
}
#main td .agree {
    margin-top: 16px;
}
#main td input[type="checkbox"] {
    display: none;
}
#main td input[type="checkbox"] + span {
    background: url("../img/common/check_bg01.png") no-repeat left center;
    background-size: 36px 36px;
    display: block;
    font-size: 2rem;
    padding: 8px 0 8px 55px;
}	
#main td input[type="checkbox"]:checked + span {
    background: url("../img/common/check_bg02.png") no-repeat left center;
    background-size: 36px 36px;
}
#main .thanks .headLine02 {
	margin-top: -36px;
}
#main .thanks .txt {
    margin-bottom: 35px;
    line-height: 1.75;
}
#main .thanks .txt:last-of-type {
    margin-bottom: 92px;
}
.comInnerBox {
	margin-bottom: 100px;
}
.errorMsg {
	margin-bottom: 30px;
	color: #ff0000;
}
@media all and (min-width: 897px) and (max-width: 1000px) {
	#main .listUl li:first-child::before {
		right: -19px;
	}
	#main .listUl li .tel a {
		font-size: 3.8rem;
	}
}
@media all and (max-width: 896px) {
    #main .h3Ttl {
        padding: 16px 0 0;
        margin-bottom: 0;
        line-height: 1.4;
    }
    #main .listUl {
        padding: 10px 0 98px;
        display: block;
    }
    #main .listUl li {
        position: relative;
    }
    #main .listUl li:first-child:before {
        display: none;
    }
    #main .listUl li {
        width: 100%;
        max-width: inherit;
    }
    #main .listUl li .tel {
        margin-bottom: -7px;
        display: block;
    }
    #main .listUl li .tel a {
        padding: 10px 0 0 45px;
        font-size: 2.75rem;
        background: url("../img/common/sp_icon02.png") no-repeat left 3px center;
        background-size: 29px auto; 
    }
    #main .listUl li .time {
        margin-top: 5px;
        font-size: 1.1rem;
    }
    #main .listUl li .email {
        padding-top: 22px;
    }
    #main .listUl li .email a {
        padding-left: 40px;
        line-height: 1.7;
        font-size: 1.3rem;
        background: url("../img/common/sp_icon03.png") no-repeat left top;
        background-size: 31px auto; 
    }
    #main .listUl01 {
        padding-bottom: 40px;
        border-top: none;
    }
    #main .topTxt {
        line-height: 2.25;
		font-size: 1.4rem;
        margin-bottom: 22px;
    }
    #main .topTxt01 {
        margin-bottom: 45px;
    }
    #main table {
        margin-bottom: 4px;
    }
    #main th,
    #main td {
        padding: 20px 15px 0;
        display: block;
        font-size: 1.3rem;
    }
    #main td {
        padding: 6px 15px 15px;
        font-size: 1.1rem;
    }
    #main th {
        width: 100%;
    }
    #main td input[type="text"],
    #main td input[type="email"],
    #main td input[type="tel"],
    #main td slect,
    #main td textarea {
        width: 100%;
        padding: 5px 10px;
        font-size: 1.1rem;
        height: 36px;
    }
    #main td textarea {
        height: 127px;
    }
    #main td select {
        padding: 0 10px;
        width: 66.5%;
        height: 36px;
        font-size: 1.3rem;
        border-radius: 12px;
        background: url("../img/common/sp_select_bg.png") no-repeat right 20px center;
        background-size: 13px auto; 
    }
    #main .spe th,
    #main .spe td {
        line-height: 1.6;
        padding: 6px 15px 27px;
        border-bottom: 1px solid #c5c5c5;
    }
    #main .spe th {
        padding: 10px 15px 0;
        border: none;
    }
	#main .spe01 th {
		padding-top: 20px;
	}
	#main .spe01 td {
		padding: 5px 15px 22px;
	}
	#main .spe02 th {
		padding-top: 20px;
	}
	#main .spe02 td {
		padding-top: 5px;
	}
    #main td .notes {
        margin-top: 5px;
    }
    #main .must {
        padding-top: 3px;
        margin-bottom: -3px;
        font-size: 1rem;
    }
    #main .submit li {
        text-align: center;
        margin-bottom: 20px;
    }
    #main .submit li:last-child {
        margin-bottom: 0;
    }
    #main .submit li input {
        margin: 0 auto;
        width: 226px;
        height: 44px;
        font-size: 1.75rem;
    }
    #main .submit li input:hover {
        opacity: 1;
    }
    #main .privacyTtl {
        margin: 0 -15px 16px;
        padding: 15px 15px 22px;
        font-size: 1.3rem;
        border-bottom: 1px solid #7f7f7f;
    }
    #main .infoBox {
        margin: 0 0 -16px 0;
    }
    #main .infoBox .privacyBox {
        height: 120px;
    }
	#main .infoBox .privacyBox .jspPane {
		padding-right: 22px !important;
	}
	#main .infoBox .privacyBox .jspVerticalBar {
		width: 10px;
	}
	#main .infoBox .privacyBox .jspDrag {
		left: 0;
		width: 10px;
		background: #C5C5C5;
	}
    #main .border {
        margin: 0 -15px;
        padding-bottom: 14px;
        border-bottom: 1px solid #7f7f7f;
    }
    #main .infoBox .privacyBox p {
        margin-bottom: 32px;
        font-size: 1.3rem;
        line-height: 2.2;
    }
    #main .infoBox .privacyBox .tit {
        margin-bottom: 0;
    }
    #main td .agree {
        margin-top: -5px;
    }
    #main td input[type="checkbox"] + span {
        background: url("../img/common/sp_check_bg01.png") no-repeat left center;
        background-size: 24px 24px;
        font-size: 1.3rem;
        padding: 8px 0 8px 35px;
    }	
    #main td input[type="checkbox"]:checked + span {
        background: url("../img/common/sp_check_bg02.png") no-repeat left center;
        background-size: 24px 24px;
    }
	#main .thanks .headLine02 {
		margin-top: 0;
	}
    #main .thanks .txt {
        margin-bottom: 23px;
        line-height: 2.2;
		font-size: 1.3rem;
    }
    #main .thanks .txt:last-of-type {
        margin-bottom: 48px;
    }
	.comInnerBox {
		margin-bottom: 3px;
	}
}
@media all and (max-width: 374px) {
	#main .listUl li .tel a {
		font-size: 2.7rem;
	}
}
.grecaptcha-badge {
    z-index: 1000;
}