@charset "utf-8";

/* Edge */
::-webkit-input-placeholder {
	color: #a8a8a8;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "MS Pゴシック", "MS PGothic", sans-serif;
	font-size: 14px;
}

/* Internet Explorer 10-11 */
:-ms-input-placeholder {
	color: #a8a8a8;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "MS Pゴシック", "MS PGothic", sans-serif;
	font-size: 14px;
}

::placeholder {
	color: #a8a8a8;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "MS Pゴシック", "MS PGothic", sans-serif;
	font-size: 14px;
}

* {
	box-sizing: border-box;
}

select,
textarea,
input[type="email"],
input[type="text"] {
	border: 1px solid #ccc;
	padding: 5px;
	width: 100%;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "MS Pゴシック", "MS PGothic", sans-serif;
	font-size: 14px;
	width: 100%;
	outline: none;
}

input[type="file"] {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 16px;
}

.hide {
	display: none;
}

.wrapFile {
  overflow: hidden;
}

label.error {
	color: #d10000;;
	width: 100%;
	display: block;
	font-size: 12px;
}

.cap {
	font-size: 12px;
}

.capTop {
	padding: 0 30px;
	font-size: 15px;
	margin-bottom: 10px;
}

.capTopRed {
	padding: 0 30px;
	font-size: 15px;
	margin-bottom: 10px;
	font-weight: bold;
	color: #ff0000;
}

.capBot {
	font-size: 15px;
	margin-top: 50px;
	text-align: center;
	font-weight: bold;
}

.right {
	text-align: right;
}

.boxTxt {
	text-align: center;
	margin-bottom: 50px;
}

.boxTxt p {
	font-size: 15px;
}

.listCheck {
	position: relative;
	padding: 10px 0 0;
}

.listCheck label.error {
  position: absolute;
  bottom: 0;
  left: 0;
}


.boxTxt h2 {
	background-color: #247d46;
	margin: 70px auto 30px;
	padding: 10px 10px;
	color: #fff;
	font-weight: bold;
	font-size: 30px;
	text-align: center;
}

.btnSubmit {
  outline: none;
  border: none;
  display: block;
  max-width: 400px;
  width: 100%;
  margin: 30px auto 80px;
  text-align: center;
  font-size: 20px;
  color: #fff;
  line-height: 1;
  padding: 20px 0;
  position: relative;
  font-weight: bold;
  cursor: pointer;
  background: #247d46;
}

.btnSubmit::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: rgba(0,0,0,0.1);
  z-index: 1;
}

.btnSubmit::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 40px;
  content: '';
  width: 0;
  height: 0;
  border-left: 10px solid #fff;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  z-index: 3;
}

.btnSubmit span {
  position: relative;
  z-index: 2;
}

.btnSubmit:hover {
  opacity: 0.7;
}

table {
	font-size: 15px;
	width: 100%;
	border-collapse: collapse;
}

table td {
	border: 1px solid #ccc;
	padding: 10px 20px;
	word-break: break-all;
}

table td * {
	word-break: break-all;
}

table td:first-child {
	width: 27%;
	background: #efefef;
}
.require {
	color: #ff0000;
}
table td .require {
	margin-left: 5px;
}

table ul li {
	display: inline-block;
	margin: 0 35px 10px 0;
}

table .address ul:not(:last-child) {
	margin-bottom: 10px;
}

table .address ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

table .address ul li {
	display: block;
	margin: 0;
}

table .address ul li:nth-child(1) {
	width: 140px;
}

table .address ul li:nth-child(2) {
	width: calc(100% - 140px);
}

.wrapFile {
  overflow: hidden;
}

/* Confirm */
#confirm {
	padding: 50px 0 0;
}

#confirm .tit01 {
	font-size: 15px;
  margin: 30px auto 0;
  background: #efefef;
  padding: 5px 10px;
  font-weight: bold;
}

#confirm .formTable {
  width: 100%;
  margin: 50px auto;
  border-collapse: collapse;
}


#confirm .formTable th {
  width: 40%;
  font-weight: normal;
  background: #efefef;
  text-align: center;
}

#confirm .formTable td, 
#confirm .formTable th {
  border: 1px solid #ccc;
  padding: 10px;
  word-break: break-all;
}

#confirm .btnConfirm {
	cursor: pointer;
	background: #247d46;
	color: #fff;
  border: 0;
  outline: none;
  font-size: 20px;
  margin: 0 10px 10px 10px;
  padding: 10px 30px;
  font-weight: bold;
}

#confirm .btnConfirm:hover {
	opacity: 0.6;
}

#confirm .btnConfirmSupp {
	background: #dd5928;
}


/* Thanks */
#thank {
	height: 65vh;
}

#thank .tit {
  font-size: 30px;
  color: #ed1c24;
  font-weight: bold;
  margin-top: 30px;
  text-align: center;
}

#thank .des {
  font-size: 18px;
  margin-top: 30px;
  text-align: center;
}

#thank a {
  display: block;
  margin-top: 30px;
  text-decoration: underline;
  text-align: center;
}


/* Supplier */
.supp .boxTxt h2 {
	background: #dd5928;
}

.supp .btnSubmit,
.supp .btnConfirm {
	background: #dd5928 !important;
}

.group {
	margin-bottom: 40px;
}

.group h3 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 5px;
	padding: 0 30px;
}

.group h3 span {
	font-size: 15px;
}

.w100 {
	margin-right: 0;
	width: 100%;
}

@media (max-width: 767px) {
	.boxTxt h2 {
		font-size: 5.5vw;
	}

	table {
		font-size: 14px;
	}

	table .address ul li:nth-child(1) {
		width: 100%;
	}

	table .address ul li:nth-child(2) {
		width: 100%;
	}

	table th,
	table td {
		display: block;
		width: 100% !important;
	}

	table th,
	table td {
		border-bottom: 0 !important;
	}

	table tr:last-of-type td {
		border-bottom: 1px solid #ccc !important;
	}

	/*Thank*/
  #thank .tit {
    font-size: 5vw;
  }

  #thank .des {
    font-size: 3vw;
  }
  
}