

.p-progress_step *{
	box-sizing: border-box;
}

.page_bottom {
	margin-bottom: 30px;
}

/*============================
	Foundation
==============================*/
/*form reset iOS*/

input[type=submit]{
	-webkit-appearance: none;
	border-radius: 0;
}




/*============================
	Layout
==============================*/


/*============================
	Object
==============================*/

/*---------------
	component
----------------*/
.c-address{
	font-size: 0.8125rem;
	line-height: 1.4;
}
.c-required{
	/*color: #E6002D;*/
	display: inline-block;
	margin-left: 8px;
	vertical-align: 1px;
	text-indent: 0;
}
.c-required::before{
	content: "必須";
	display: block;
	padding: 4px 6px;
	color: #fff;
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0.03em;
	background-color: #E6002D;
	border-radius: 3px;
	line-height: 1;
}
.c-note{
/*	margin: 0.5em 0;
	font-size: 0.9375rem;
	padding-left: 2rem;
	text-indent: -2rem;*/
}
.c-center,
.c-align--center{
	text-align: center;
}

/*---------------
	project
----------------*/
h2.p-main_heading{
	font-size: 1.5rem;
	margin: 2rem auto 0;
}

.p-contactBody{
	margin: 0 0 2rem;
	padding:0.5rem 1.2rem;
	border: #ccc 1px solid;
}
.p-contactBody dl{
	margin: 0 0 1rem;
	padding: 1rem 0 0;
	border-top: #ccc 1px solid;
	display: flex;
	justify-content:space-between;
}
.p-contactBody dl:first-child{
	border: none;
}
.p-contactBody__subTitle{
	flex:0 0 auto;
	width: 6em;
	margin-right: auto;
	font-size: 1.125rem;
}
.p-contactArea{
	flex: 1 0 auto;
	margin-left: auto;
	width: 50%;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.p-contactArea__info{
	flex: 0 0 auto;
	width: 32%;
	margin-right: 1%;
	margin-bottom: 1rem;
	line-height: 1.3;
}

/*p-progress_step*/
.p-progress_step{
	padding: 0.625rem 1rem;
	background-color: #edeef0;
	border-radius: 4px;
	margin-bottom: 1rem;
	font-family:"Roboto","Noto Sans JP","メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif; 
}
.p-progress_step>ul{
	display: flex;
	justify-content: space-between;
}
.p-progress_step ul::after{
	display: none;
}
.p-progress_step__item{
	flex: 0 0 auto;
	width: calc((100% - 120px)/3);
	font-size: 0.9375rem;
	line-height: 1;
	font-weight: 600;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	/*background-color: #fff;*/
	border-radius: 4px;
	position:relative;
	color: #62676c;
}
.p-progress_step__item.current{
	background-color: #375d94;
	color: #fff;
}
.p-progress_step__item::after{
	content: "";
	width: 10px;
	height: 10px;
	border: #a4acb6 3px solid;
	border-bottom: none;
	border-left: none;
	transform: rotate(45deg);
	position: absolute;
	left: calc(100% + 20px);
	top:50%;
	margin-top: -7px;
}
.p-progress_step__item:last-of-type::after{
	display: none;
}
.sp .p-progress_step{
	padding: 0.5rem 0.625rem;
}
.sp .p-progress_step__item{
	width: calc((100% - 20px)/3);
	font-size: 0.8125rem;
}
.sp .p-progress_step__item::after{
	display: none;
}

/*step-2*/
.p-step-2 .p-progress_step__item{
	width: calc((100% - 60px)/2);
}
.p-step-2 .p-step_txt{
	text-align: left;
	padding-left: 1rem;
}
.sp .p-step-2 .p-progress_step__item {
	width: calc((100% - 20px) / 2);
}
/**/

.p-step_num{
	flex: 0 0 auto;
	width: 2rem;
	color: #82888E;
	background-color: #fff;
	border-radius: 4px;
	margin-right: 0;
	text-align: center;
	padding: 0.625rem 0;
	font-size: 1.125rem;
}
.current .p-step_num{
	background-color: #1d4886;
	color: #fff;
	border-radius: 4px 0 0 4px;
}
.p-step_txt{
	flex: 1 0 auto;
	text-align: center;
	width: calc(100% - 2rem);
	line-height: 1.3;
	padding: 0.25rem 1.25rem 0.25rem 0.25rem;
}
.sp .p-step_num{
	width: 1rem;
	font-size: 0.875rem;
}
.sp .p-step_txt{
	width: calc(100% - 1rem);
	padding: 0.25rem 0.75rem 0.25rem 0.25rem;
}


/*contactForm*/

.p-contactForm{
	/*border: #ccc 1px solid;
	padding: 1rem 1.2rem;*/
	margin-bottom: 3rem;
	padding-top: 2rem;
	border-top: #ccc 1px solid;
}
.p-contactForm__section{
	margin: 0 0 2rem;
	padding: 0 0 0.75rem 0;
	border-bottom: #ccc 1px solid;
}
.p-contactForm__section dl{
	display: flex;
	justify-content: space-between;
}

.p-contactForm__sectionTitle{
	flex: 0 0 auto;
	width:18%;
}
.p-contactForm__sectionBody{
	flex: 0 0 auto;
	width:82%;
}
.p-formItem{
	display: flex;
	justify-content: flex-start;
	margin-bottom: 1.5rem;
}
.p-formItem .c-cellLabel{
	flex: 0 0 auto;
	width: 10em;
}
.p-contactForm .u-indent{
	margin-left: 2rem;
}

/*formElem*/
textarea{
	display: block;
	font-family:"メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
}
form input.txt,
form textarea {
	border:#b6b6b6 1px solid;
}

form input.txt.hover,
form textarea.hover {
	background-color:#f4f4f4;
}

form input.txt.focus,
form textarea.focus {
	background-color:#f4f4f4;
	border:#000099 1px solid;
}

form label {
	cursor:pointer;
}

.p-contactForm input.txt {
	/*width:34em;*/
	width:32em;
	padding:6px;
	cursor:text;
}
.p-contactForm input.txt.yubin {
	width:4em;
	vertical-align:0px;
	margin:0 3px 8px 3px;
}

.p-contactForm label {
	cursor:pointer;
}

.p-contactForm textarea {
	width:28em;
	height:16em;
	padding:6px;
	cursor:text;
}
.p-contactForm textarea.address {
	height:6em;
	resize: none;
}
.p-contactForm textarea.message {
	width:100%;
	margin-top: 0.75rem;
	resize: none;
}

.p-chbox_naiyo{
	margin-bottom: 0.5rem;
}
.p-chbox_naiyo li{
	margin-bottom: 0.5rem;
	position: relative;
	padding-left: 1.5rem;
}
.p-chbox_naiyo li input{
	position: absolute;
	top:0.25rem; left: 0px;
}

.p-privacyComment{
	font-size: 0.875rem;
	text-align: center;
}
.p-privacyComment a{
	text-decoration: underline;
	color: #051E93;
}

.p-btnArea{
	display: flex;
	justify-content: center;
	align-items:center;
	margin: 2rem 0 2rem;
}
.p-btnArea .txt{
	flex: 0 0 auto;
	text-align: left;
	width: auto;
	margin-right: 1rem;
}
.p-btnArea input,
.p-btnArea button{
	display: block;
	/*margin:0.5rem auto;*/
	width: 14rem;
	text-align: center;
	padding:1.5rem 0 1.5rem 0.5em;
	font-family:"Roboto","Noto Sans JP","メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif; 
	font-size: 1.375rem;
	font-weight: 500;
	cursor:pointer;
	letter-spacing: 0.5em;
	border-radius: 2px;
	background: #447AAC;
	border: #447AAC 1px solid;
	color: #fff;
	line-height: 1;
	transition: background-color 0.3s;
	margin: 0 0.75rem;
}
.p-btnArea input:hover,
.p-btnArea button:hover{
	background-color: #375d94;
}


/*-------------------
	Utility
--------------------*/
.u-bold{
	font-weight: bold;
}

/*p-errorbox*/
.p-errorbox{
	display: none;
	color: #7e0012;
	font-size: 0.9375rem;
	line-height: 1.5;
	padding: 0.5rem 0.875rem;
	margin: 0.875rem 0;
	background: #faccd5;
	text-align: center;
	position: relative;
	border-radius: 4px;
}
.p-errorbox.is-appear{
	display: block;
}
.p-errorbox::after{
	content: "";
	display: block;
	border-style: solid;
	border-color: transparent transparent #faccd5 transparent;
	border-width: 0 12px 16px 12px;
	position: absolute;
	bottom: 100%;
	left: 50%;
	margin-left: -12px;
	margin-bottom: -2px;
}

.p-errorbox.above{
	margin-top: 0;
}
.p-errorbox.above::after{
	transform: rotate(180deg);
	bottom: inherit;
	top:100%;
	margin-top: -2px;
	margin-bottom: 0;
}


/*============================
	sp
==============================*/
