@charset "utf-8";
/* CSS Document */


h3{
	font-size: 22px;
	line-height: 20px;
	font-family: "Noto Sans Japanese";
}




/****お問い合わせ****/
#contact{
	width: 90%;
	max-width: 960px;
	margin: auto;
	position: relative;
	padding-top: 8px;
	padding-bottom: 60px;
}




/**お電話でのお問い合わせ**/
.tel{
	margin-top: 60px;
	padding-bottom: 30px;
	border-bottom: 1px solid rgba(0,91,152,0.3);
}

.tel h3::before{
	content: "";
	display: block;
	width: 42px;
	height: 42px;
	margin: auto;
	margin-bottom: 10px;
	background-image: url(../images/contact/icon_tel.png);
	background-size: contain;
}

.tel p:first-of-type{
	font-size: 26px;
	font-weight: 500;
	text-align: center;
	margin-top: 20px;	
}

.tel p:last-of-type{
	font-size: 14px;
	margin-top: 10px;
	text-align: center;
}

/**メールでのお問い合わせ**/
.mail{
	margin-top: 30px;
}

.mail h3::before{
	content: "";
	display: block;
	width: 42px;
	height: 31px;
	margin: auto;
	margin-bottom: 10px;
	background-image: url(../images/contact/icon_mail.png);
	background-size: contain;
}

.formarea{
	margin: 0 15px;
}

.formarea>p{
	text-align: center;
	margin-top: 20px;
}

table{
	margin: auto;
	margin-top: 25px;
	width: 100%;
	max-width: 750px;
	border-collapse: separate;
}

th{
	width: 230px;
	background: #f8f8f8;
	padding: 9px 0 0 15px;
	line-height: 23px;
	text-align: left;
	vertical-align: top;
	border-top: 2px solid #fff;	
}

tr:first-of-type th,
tr:first-of-type td{
	border: none;
}

td{
	padding: 9px 5px 9px 20px;
	line-height: 23px;
	background: #fff;
	border-top: 2px solid #f4f3f1;	
}

.required {
    position: relative;
}

.required::after {
    content: "必須";
    color: #ffffff;
    font-size: 12px;
	font-weight: bold;
    background: #005b98;
    padding: 0px 13px;
    position: absolute;
    right: 20px;
}

.form_line {
    font-size: 13px;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
}

.form_line li {
    width: 48%;
}

.form_line li input.form_name {
    width: calc(100% - 2em);
    margin-left: 1em;
}

input, textarea {
    border: 1px solid #dedede;
    font-size: 13px;
    padding: 10.5px;
}

input,textarea{
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	line-height: 23px;	
	font-size: 13px;
}

.addressfield li:nth-of-type(n+2) {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
     display: flex; 
    align-items: center;
}

.addressfield li:nth-of-type(2) input {
    width: calc(100% - 9em);
    margin-left: auto;
}

.addressfield li:nth-of-type(3) input {
    width: calc(100% - 5em);
    margin-left: auto;
}

.js-button {
    white-space: nowrap;
    display: inline-block;
    width: 100px;
    line-height: 40px;
    text-align: center;
    background: #f4f3f1;
    border: 1px solid #e3e3e3;
    cursor: pointer;
    vertical-align: middle;
    margin: 7.5px 0 7.5px 17px;
}

.must {
    color: red;
    font-size: 13px;
    line-height: 24px;
}

.checkitem,.send{
	width: 100%;
	max-width: 750px;
	margin: auto;
	margin-top: 20px;
}

.send{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
}

.check{
	text-align: center;
}

.checkitem .btn{
	margin: auto;
	margin-top: 45px;
}

.check a {
    text-decoration: underline;
}

.check a:hover {
    color: red;
}

.btn{
	display: block;
	margin-top: 30px;
	text-align: center;
	border: 1px solid #005b98;
	background: #fff;
	width: 300px;
	line-height: 38px;
	color: #005b98;
}

.send .btn{
	width: 200px;
	color: #005b98;
}

.send .btn:first-of-type{
	margin-right: 10%;
}

#main .btn:hover{
	background: #005b98;
	color: #fff;
	text-decoration: none;
}


/**thanks**/
.thanks{
	margin-top: 40px;
	margin-bottom: 350px;
}

.thanks p:first-of-type{
	font-size: 26px;
	line-height: 32px;
	margin-bottom: 20px;
}

.thanks p:last-of-type{
	line-height: 23px;
}





/*---------------------------------------------------------------------------------------------*/
/*****タブレット・スマホ用*****/
@media screen and (max-width: 640px) {
th,td{
	display: block;
	width: 100%;
	padding: 15px;
	border: none;
}	
	
.form_line {
    display: block;
}	
	
.form_line li {
    width: 100%;
}
	
.form_line li:last-of-type input {
    margin-top: 7.5px;
}	
	
.addressfield li {
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
}	
	
.addressfield li:nth-of-type(n+2) {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
}	
	
.addressfield li:nth-last-of-type(-n+2) input {
    width: 100%;
    margin-top: 7.5px;
}	
	
.checkitem .btn{
	width: 80%;
	max-width: 300px;
}	
	
.send{
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: space-around;
}
	
.send .btn:first-of-type{
	margin-right: 0;
}
}
	
	







