@charset "utf-8";

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

	flowNav

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

#flowNav li.arrow:before { content: ''; position: absolute; border: 10px solid #73E3B7; 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 #2071B0; 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 #73E3B7; border-bottom: 18px solid #73E3B7; border-right: 1px solid #73E3B7; top: 0px; right: -1px; }
#flowNav li.active { background-color: #CCF583; color: #000; border-right: none;}
#flowNav li.active:after { content: ''; position: absolute; border: 10px solid transparent; border-top: 18px solid #73E3B7; border-bottom: 18px solid #73E3B7; border-right: 1px solid #73E3B7; top: 0px; right: -1px; }

/* 確認画面 */
.conf #flowNav li.arrow:before { content: ''; right: -1px; border-right: 1px solid #73E3B7; border-top: 18px solid #73E3B7; border-bottom: 18px solid #73E3B7; }
.conf #flowNav li:nth-child(1).arrow:before { border: 10px solid transparent; border-top: 18px solid #73E3B7; border-bottom: 18px solid #73E3B7; border-right: 1px solid #73E3B7; }
.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 #CCF583; border-bottom: 18px solid #CCF583; border-right: 1px solid #CCF583; 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 #73E3B7; border-bottom: 15px solid #73E3B7; top: 0; height: 100%; }
	#flowNav li.active:after { content: ''; border-top: 15px solid #73E3B7; border-bottom: 15px solid #73E3B7; height: 100%; }
	
	/* 確認画面 */
	.conf #flowNav li:nth-child(1).arrow:before { border-top: 15px solid #73E3B7; border-bottom: 15px solid #73E3B7; }

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



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

	form

------------------------------------------------- */
form > div:not(.btn) {  margin-bottom: 40px; position: relative; }
form > div:not(.btn)::before { content:""; display: block; position: absolute; width: 6px; background: #73E3B7; 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; }
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 a,
form > div a:link,
form > div a:visited { color: #2071B0; }

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; }
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 input { margin: 0 10px; }
form .birth .year { width: 80px; }
form .birth .month { width: 50px; }
form .birth .day { width: 50px; }
/* 22.03.09 入力エラー Nakamura */
form .err { color:#e60000; font-weight: bold; }

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


.btn-a input { margin: 0; padding: 0; background: none; border: none; border-radius: 0; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; width: 100%; line-height: 1.8; }
/* .btn-a input:not(.back) { color: #2071B0; background: #fff; text-align: center; font-weight: bold; font-size: 1.4rem; letter-spacing: 0; display: block; border: solid #2071B0; border-width: 1px 1px 4px 1px; } */
.btn-a input:not(.back) { color: #000; border-radius: 5px; background: #73E3B7; box-shadow: 0 5px 0 0 #4FC295; font-size: 1.6rem; font-weight: 700; letter-spacing: 0.05em; }


@media (min-width: 768px) {

    #contents-wrap .w910 { margin-left: auto; margin-right: auto;}

    form dl dt { font-size: 1.8rem; }
	form > div p  { font-size: 1.8rem; }
	form > div:not(.btn) { 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; }

    .btn-a input:not(.back) { padding: 10px 10px; cursor: pointer; }
    .btn-a input:not(.back):hover { opacity: 0.8; /*text-decoration: none; background: #2071B0; color: #fff;*/ }

}

@media (max-width: 767px) {
    form dl dt { font-size: 1.6rem; }
	form > div p  { font-size: 1.6rem; }
	form > div:not(.btn) { 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; }

    .btn-a input:not(.back) { padding: 7px 10px; }

}

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


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

	confirm

------------------------------------------------------*/
#contact.conf form > div p { font-size: 1.6rem; }
#contact.conf form .birth { font-weight: normal; }
#contact.conf .back { width: auto; text-decoration: underline; color: #2071B0;}

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

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

@media (min-width: 768px) {
	.contents { margin-bottom: 200px;}
}

@media (max-width: 767px) {
.contents { margin-bottom: 150px;}
}



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

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

@media (min-width: 768px) {

}

@media (max-width: 767px) {

}



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

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

@media (min-width: 768px) {

}

@media (max-width: 767px) {

}



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

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

@media (min-width: 768px) {

}

@media (max-width: 767px) {

}
