@charset "utf-8";

/* -------------------------------------------------

	flowNav

------------------------------------------------- */
#flowNav { margin-bottom: 50px; overflow: hidden; padding: 0; }
#flowNav li { font-weight: bold; color: #333; font-size: 1.6rem; width: 33.3%; height: 36px; line-height: 36px; padding: 0 10px 0px 20px; position: relative; background-color: #eee; }
#flowNav li:last-child { border-right: none; }

#flowNav li.arrow:before { content: ''; position: absolute; border: 10px solid #eee; border-top: 18px solid transparent; border-bottom: 18px solid transparent; border-right: 1px solid transparent; top: 0px; right: 0px; z-index: 1;}
#flowNav li.arrow.active:before { content: ''; position: absolute; border: 10px solid #5C2E7E; border-top: 18px solid transparent; border-bottom: 18px solid transparent; border-right: 1px solid transparent; top: 0px; right: 0px; z-index: 1;}
#flowNav li.arrow:after { content: ''; position: absolute; border: 10px solid #fff; border-top: 18px solid #eee; border-bottom: 18px solid #eee; border-right: 1px solid #eee; top: 0px; right: -1px; }
#flowNav li.active { background-color: #5C2E7E; color: #fff; border-right: none;}
#flowNav li.active:after { content: ''; position: absolute; border: 10px solid transparent; border-top: 18px solid #eee; border-bottom: 18px solid #eee; border-right: 1px solid #eee; top: 0px; right: -1px; }

/* 確認画面 */
.conf #flowNav li.arrow:before { content: ''; right: -1px; border-right: 1px solid #5C2E7E; border-top: 18px solid #5C2E7E; border-bottom: 18px solid #5C2E7E; }
.conf #flowNav li:nth-child(1).arrow:before { border: 10px solid transparent; border-top: 18px solid #5C2E7E; border-bottom: 18px solid #5C2E7E; border-right: 1px solid #5C2E7E; }
.conf #flowNav li:nth-child(1).arrow:after { border: 10px solid transparent; }

/* 送信完了 */
.thanks #flowNav li.active:after { content: ''; border: none; }
.thanks #flowNav li:nth-child(2).arrow:before { content: ''; border: 10px solid transparent; border-top: 18px solid #5C2E7E; border-bottom: 18px solid #5C2E7E; border-right: 1px solid #5C2E7E; right: -1px; }
.thanks #flowNav li:nth-child(2).arrow:after { border: 10px solid transparent; }

@media (max-width: 767px) {
    #flowNav { margin-bottom: 25px;}
	#flowNav li { font-size: 1.4rem; }
}

@media (max-width: 480px) {
	#flowNav li { font-size: 1.2rem; height: auto; min-height: 30px; line-height: 1; padding: 9px 5px 0px 0px; text-align: center; margin: 0; }
	#flowNav li:first-child { width: 38%;}
	#flowNav li:nth-child(2) { width: 38%; }
	#flowNav li:last-child { width: 24%; }
	#flowNav li.arrow:before { content: ''; border-top: 15px solid transparent; border-bottom: 15px solid transparent; top: 0; height: 100%; }
	#flowNav li.arrow:after { content: ''; border-top: 15px solid #eee; border-bottom: 15px solid #eee; top: 0; height: 100%; }
	#flowNav li.active:after { content: ''; border-top: 15px solid #eee; border-bottom: 15px solid #eee; height: 100%; }
	
	/* 確認画面 */
	.conf #flowNav li:nth-child(1).arrow:before { border-top: 15px solid #5C2E7E; border-bottom: 15px solid #5C2E7E; }

	/* 送信完了 */
	.thanks #flowNav li:nth-child(2).arrow:before { border-top: 15px solid #5C2E7E; border-bottom: 15px solid #5C2E7E; }
}



/* -------------------------------------------------

	form

------------------------------------------------- */
form > div:not(.btnWrap) {  margin-bottom: 40px; position: relative; }
form > div:not(.btnWrap)::before { content:""; display: block; position: absolute; width: 3px; background: #5C2E7E; height: 100%; left: 0; }
form > div select { border: 1px solid #a8a8a8; width: 100%; height: 43px;padding: 5px 10px; font-size: 1.6rem; background: #fff; /*-webkit-appearance: none; -moz-appearance: none; appearance: none;*/ border-radius: 0; }
form dl dt { position: relative; font-weight: bold; margin-bottom: 11px; color: #5C2E7E; }
form dl dt.required::after { content: '必須'; background: #D00000; color: #fff; font-weight: bold; font-size: 1.4rem; letter-spacing: 0.2em; width: 50px; display: inline-block; text-align: center; margin-left: 10px; vertical-align: middle;}
form > div p { color: #333; letter-spacing: 0.05em; line-height: 1.858; margin-top: 5px; }
form > div .select { position: relative; }
form > div .w200 { max-width: 200px; }
form > div .w250 { max-width: 250px; }
form > div .w300 { max-width: 300px; }
form > div .w350 { max-width: 350px; }
form > div .w430 { max-width: 430px; }
form > div .w500 { max-width: 500px; }
form > div a,
form > div a:link,
form > div a:visited { color: #3096B7; }

form dl dd { font-size: 1.6rem; }
form dl dd input[type="text"],
form dl dd textarea { font-size: 1.6rem; }
form dl dd input[type="text"] { border: 1px solid #a8a8a8; width: 100%; padding: 10px 10px; border-radius: 0; }
form dl dd textarea { border: 1px solid #a8a8a8; width: 100%; height: 200px; padding: 10px; }
form dl dd label { /*margin-bottom: 10px;*/ display: inline-block; }
form dl dd .radio_col { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; }
form dl dd .radio_col > label { margin-right: 10px; }
form dl dd .radioWrap input { vertical-align: inherit; }
form dl dd > p { font-size: 1.4rem; margin-bottom: 10px; }
form > div.address input[type="text"]:not(:last-of-type),
form > div .select { margin-bottom: 20px; }
/* form > div .select::before { content: '▼'; pointer-events: none; position: absolute; top: 0; right: 0; width: 43px; height: 43px; background: #fff; border: 1px solid #A8A8A8; text-align: center; line-height: 43px; color: #666; font-size: 1.6rem; } */
form hr { display: block; width: 100%; height: 1px; background-color: #eee; border: 0; margin-bottom: 50px; }
form .birth { font-weight: bold; }
form .birth dl dt {}
form .birth dl dd { display: -webkit-box; display: flex; -webkit-box-align: center; align-items: center; }
form .birth dl dd > div { display: -webkit-box; display: flex; -webkit-box-align: center; align-items: center; }
form .birth dl dd > div > .select { margin-bottom: 0; }
/* form .birth input { margin: 0 10px; } */
form .birth dl dd > div > .year { width: 80px; margin: 0 5px; }
form .birth dl dd > div > .year > input { margin: 0; }
form .birth dl dd > div > .month { width: 50px; margin: 0 5px; }
form .birth dl dd > div > .day { width: 50px; margin: 0 5px; }
/* 22.03.09 入力エラー Nakamura */
form .err { color:#e60000; font-weight: bold; }

form .example { line-height: 40px; display: inline-block; vertical-align: top; }

/* .btn_submit { cursor: pointer; background: #7A828F; color: #fff; font-size: 1.6rem; border: none; padding: 18px 0; width: 300px; position: relative; margin: 0 auto; display: block; }
.btn_submit::before { content: ''; position: absolute; top: 50%; right: 25px; margin-top: -5px; border-top: 2px solid #fff; border-right: 2px solid #fff; width: 10px; height: 10px; transform: rotate(45deg); } */

form .btnWrap .btn-b button { text-decoration: none; display: block; position: relative; font-weight: bold; width: 100%; margin: 0 auto; }
form .btnWrap .btn-b button { color: #fff; background-color: #5C2E7E; font-size: 1.6rem; text-align: center; padding: 10px 20px; max-width: 260px; border: 1px solid #5C2E7E;}
form .btnWrap .btn-b button::before {}
form .btnWrap .btn-b button::after { content: ''; width: 10px; height: 10px; border-top: 2px solid #fff; border-right: 2px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; right: 10px; top: calc(50% - 5px); }


@media (min-width: 768px) {
    form dl dt { font-size: 1.8rem; }
	form > div p  { font-size: 1.8rem; }
	form > div:not(.btnWrap) { padding-left: 55px; padding-right: 50px; }
	form div.col2 { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
	form div.col2 > dl { max-width: 380px; width: calc(50% - 17px); }
	form dl dd .radio_col > label { width: 25%; }
	form .gender dl dd .radio_col > label { width: 10%; }
	form .example { margin-left: 20px; }
/*
	form > div .select::after { content: ''; display: block; position: absolute; width: 0; height: 0; border-style: solid; border-width: 12.5px 8.5px 8px 8.5px; border-color: #fff transparent transparent transparent; right: 11px; top: 50%; margin-top: -5px; pointer-events: none; }
	form > div .select::before { content: ''; display: block; position: absolute; width: 40px; height: 100%; background: #fff; right: 0px; top: 0px; pointer-events: none; border: 1px solid #a8a8a8; background: #A6A6A6; }
*/
    form .btnWrap .btn-b button { transition: color 0.4s,background-color 0.4s,border-color 0.4s; }
	form .btnWrap .btn-b button:hover { background-color: #F0EAF5; color: #5C2E7E; }
	form .btnWrap .btn-b button:hover::after { border-color: #5C2E7E; }
}

@media (max-width: 767px) {
    form dl dt { font-size: 1.6rem; }
	form > div p  { font-size: 1.6rem; }
	form > div:not(.btnWrap) { padding-left: 20px; }
	form div.col2 > dl:first-of-type { margin-bottom: 11px; }
	form dl dd .radio_col > label { width: 100%; }
	form .example { margin-left: 10px; }
	form > div .w200 { max-width: 200px; }
}

@media (max-width: 480px) {
}


/*------------------------------------------------------

	thanks

------------------------------------------------------*/




/*------------------------------------------------------

	confirm

------------------------------------------------------*/
#contact.conf form > div p { font-size: 1.6rem; }
#contact.conf form .birth { font-weight: normal; }
#contact.conf .back { display: block; text-align: center; color: inherit; margin-top: 30px; }
