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

/*==============================*/
/* フォーム ブラウザ設定 */
/*==============================*/
input[type="submit"],
button,
select {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	font-size: 15px;
}
select {
  line-height: 2em;
  color: #333;
  box-shadow: none;
  padding: 6px 36px 6px 10px;
  background: #fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 5px top 55%;
  background-size: 16px 16px;
  cursor: pointer;
}


/*==============================*/
/* フォームタグ共通設定 */
/*==============================*/
input[type="text"],
input[type="tel"],
input[type="password"],
select,
textarea{ min-height: 2.5em;}

input[type="text"],
input[type="tel"],
input[type="password"],
input[type="date"],
select,
textarea{
	color: #444;
	border-radius: 3px;
	border: 1px solid #ccc;
	max-width: 100%;
	background-color: #FAFAFA;
}

input[type="radio"],
input[type="checkbox"]{ 
	position: relative; top: 1px;
	margin-right: 6px;
}

label:has(input:disabled),
input:disabled + label {
  opacity: 0.4;
  cursor: normal;
}


/*  */
[type="text"] {
	width: 100%;
	padding: 6px 10px 5px 10px;
}

/*  */
input[type="password"] {
	width: 100%;
	padding: 7px 10px 5px 10px;
}

/*  */
input[type="tel"] {
	width: 100%!important;
	padding: 4px 10px 2px 10px;
}

/*  */
select { min-height: 2.5em;}

/*  */
textarea{
	width: 100%;
	padding: 7px 8px 5px 8px;
}

	/* ======= SP =======*/
	@media (max-width: 767px){
		select { width: 100%; }
		
		/* スマホ　ズームバグ修正 */
		input,
		select,
		textarea{ font-size: 15px;  }
	}



/*==============================*/
/* 名前 */
/*==============================*/
ul.formName{
	display: flex; display: -webkit-flex;
	justify-content: space-between; -webkit-justify-content: space-between;
	width: 400px;
	max-width: 100%;
}
ul.formName li{ width: calc(50% - 1%); }

/*-- セイ・メイ付き　カタカナ
------------------------- */
ul.formName-kana { width: 500px; }
ul.formName-kana li{ position: relative; padding-left: 37px;}
ul.formName-kana li:before { position: absolute; top: 7px; left: 0;}
ul.formName-kana li:nth-child(1):before{ content: "セイ";}
ul.formName-kana li:nth-child(2):before{ content: "メイ";}

/*-- 姓・名付き　漢字
------------------------- */
ul.formName-kanji{ width: 500px; }
ul.formName-kanji li{ position: relative; padding-left: 37px;}
ul.formName-kanji li:before { position: absolute; top: 8px; left: 5px;}
ul.formName-kanji li:nth-child(1):before{ content: "姓";}
ul.formName-kanji li:nth-child(2):before{ content: "名";}

	/* ======= SP =======*/
	@media (max-width: 767px) {
		ul.formName{ width: 100%; }
		
		ul.formName-kana,
		ul.formName-kanji{ width: 100%; flex-wrap: wrap; -webkit-flex-wrap: wrap;}
		ul.formName-kana li,
		ul.formName-kanji li { width: 100%;}
		ul.formName-kana li:not(:last-child),
		ul.formName-kanji li:not(:last-child) { margin-bottom:10px;}
		ul.formName-kana li input[type="text"],
		ul.formName-kanji li input[type="text"]{ width: 100%; }
	}


/*---------------------------------
   確認画面
---------------------------------*/
#confirm ul.formName{
	justify-content: flex-start; -webkit-justify-content: flex-start;
	width: auto;
}
#confirm ul.formName li{ width: auto; }
#confirm ul.formName li:not(:last-child){ margin-right: 14px;}

/*-- セイ・メイ付き　カタカナ
------------------------- */
#confirm ul.formName-kana li{ padding-left: 0px;}
#confirm ul.formName-kana li:nth-child(1):before{ display: none;}
#confirm ul.formName-kana li:nth-child(2):before{ display: none;}

/*-- 姓・名付き　漢字
------------------------- */
#confirm ul.formName-kanji li{ padding-left: 0px;}
#confirm ul.formName-kanji li:nth-child(1):before{ display: none;}
#confirm ul.formName-kanji li:nth-child(2):before{ display: none;}



/*==============================*/
/* 郵便番号 */
/*==============================*/
.formAddress-number ul{
	display: flex; display: -webkit-flex;
	justify-content: space-between; -webkit-justify-content: space-between;
	width: 330px;
	width: min(330px,100%);
}
.formAddress-number ul li{
	position: relative;
	width: calc( 50% - 0.4%);
	padding-left: 20px;
}
.formAddress-number ul li:before{ position: absolute; top: 6px; left: 0;}
.formAddress-number ul li:first-child::before{ content: "〒"; }
.formAddress-number ul li:nth-child(2)::before{ left: 5px; content: "-"; }


/*-- 〒なし
------------------------- */
.formAdress-number-none ul li{
	padding-left: 0;
	width: calc( calc( 100% - 24px ) / 2 );
}
.formAdress-number-none li:first-child::before{ display: none;}
.formAddress-number.formAdress-number-none li:nth-child(2)::before{ position: absolute; top: 9px; left: -16px;}

	/* ======= SP =======*/
	@media (max-width: 767px) {
		.formAddress-number{ flex-direction: column; -webkit-flex-direction: column;}
		.formAddress-number ul{ width: 100%; margin-bottom: 8px;}		
	}

/*---------------------------------
   確認画面
---------------------------------*/
#confirm .formAddress-number ul{
	justify-content: flex-start; -webkit-justify-content: flex-start; /* Safari */
	width: auto;
}
#confirm .formAddress-number ul li{
	width: auto;
	padding-left: 20px;
}
#confirm .formAddress-number ul li:first-child{ margin-right: 3px;}
#confirm .formAddress-number ul li:nth-child(2){ padding-left: 11px;}
#confirm .formAddress-number ul li:before{ position: absolute; top: 0px; left: 0;}

/*-- 〒なし
------------------------- */
#confirm .formAdress-number-none ul li:first-child{	padding-left: 0;}



/*==============================*/
/* 電話番号 */
/*==============================*/
ul.formTell{
	display: flex; display: -webkit-flex;
	justify-content: space-between; -webkit-justify-content: space-between;
	width: min(470px,100%);
}
ul.formTell li:nth-child(1){ width: calc(22% - 1%); }
ul.formTell li:nth-child(2),
ul.formTell li:nth-child(3){ width: calc(39% - 1%); }

/*-- ハイフンあり
------------------------- */
ul.formTell-hyphen li:nth-child(1){ width: calc(22% - 14px);}
ul.formTell-hyphen li:nth-child(2),
ul.formTell-hyphen li:nth-child(3){ width: calc(39% - 14px);}

ul.formTell-hyphen li:nth-child(2) { position: relative; }
ul.formTell-hyphen li:nth-child(2):before { position: absolute; top: 6px; left: -14px; content: "-"; }
ul.formTell-hyphen li:nth-child(2):after { position: absolute; top: 6px; right: -12px; content: "-";}



/*---------------------------------
   確認画面
---------------------------------*/
#confirm ul.formTell{
	width: auto;
	max-width: auto;
	justify-content: flex-start; -webkit-justify-content: flex-start; /* Safari */
}
#confirm ul.formTell li{ width: auto; }

/*-- ハイフンあり
------------------------- */
#confirm ul.formTell-hyphen li:nth-child(1){ margin-right: 3px;}
#confirm ul.formTell-hyphen li:nth-child(2){ padding: 0 11px;}
#confirm ul.formTell-hyphen li:nth-child(2):before { position: absolute; top: 0px; left: 0; content: "-"; }
#confirm ul.formTell-hyphen li:nth-child(2):after { position: absolute; top: 0px; right: 0; content: "-";}
#confirm ul.formTell-hyphen li:nth-child(3){ margin-left: 3px;}

	/* ======= SP =======*/
	@media (max-width: 743px) {
		ul.formTell-hyphen li:nth-child(1){ width: calc(26% - 12px);}
		ul.formTell-hyphen li:nth-child(2),
		ul.formTell-hyphen li:nth-child(3){ width: calc(37% - 12px);}

		ul.formTell-hyphen li:nth-child(2):before { position: absolute; top: 8px; left: -15px; content: "ー"; font-size: 12px;}
		ul.formTell-hyphen li:nth-child(2):after { position: absolute; top: 8px; right: -15px; content: "ー"; font-size: 12px;}
	}


