/* ---------------------------
PAGE CONTACT
----------------------------*/
.page-contact h2 {
	position: absolute;
	bottom: 5.7vw;
	left: 9%;
	line-height: 1;
	letter-spacing: .1em;
	font-family: 'Oswald', sans-serif;
	font-size: 3vw;
}
.page-contact h2 span {
	display: block;
	margin-top: 1vw;
	letter-spacing: 0;
	font-family: "Yu Gothic Medium", sans-serif;
	font-size: 1vw;
	font-weight: normal;
}

/*contact*/
.contact {
	position: relative;
	margin: 9% 9%;
}
.contact h2 {
	font-family: 'Oswald', sans-serif;
	font-size: 2vw;
	letter-spacing: .1em;
}
.contact-mail {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 7% auto;
}
.contact-mail > div {
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #000;
	width: 32%;
	height: 9vw;
	text-align: center;
}
.contact-mail div p {
	font-size: 1vw;
}
.contact-mail div a {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 2.5%;
	font-size: 1vw;
}
.contact-mail div i {
	margin-right: 3%;
	font-size: 1.2vw;
}
.contact-mail div a:hover p {
	text-decoration: underline;
}

/*form*/
.form-text {
	margin: 3% 0;
}
.form-text h3 {
	font-size: 1vw;
}
.form-text p {
	font-size: .8vw;
}
.form-text-mail {
	margin-top: 1em;
}
.form-text-mail a:hover {
	text-decoration: underline;
}
.inq-list {
	display: flex;
	margin-bottom: 3px;
	padding-bottom: 3px;
	border-bottom: 1px dotted #a3a3a3;
}
.inq-list:last-of-type {
	border-bottom: none;
}
.inq-title {
	display: flex;
	align-items: center;
	position: relative;
	padding-left: 2%;
	width: 24%;
	font-size: .8vw;
}
.inq-title.req::after {
	position: absolute;
	right: 6%;
	padding: .2em .1em .2em .2em;
	content: "必須";
	width: 3em;
	text-align: center;
	line-height: 1.5em;
	letter-spacing: 0.15em;
	font-size: .7vw;
	color: #fff;
	background-color: #cc2828;
}
.inq-in {
	padding: 20px;
	width: 100%;
	font-size: .8vw;
}
.txtfield {
	padding: 5px 0 4px 5px;
	width: 65%;
	font-size: .8vw;
}
.txtarea {
	width: 100%;
	font-size: .8vw;
}
.confirm-btn {
	display: block;
	margin: 3% auto 0;
	padding: 1% 0;
	width: 14vw;
	border: none;
	border-radius: 6px;
	text-align: center;
	letter-spacing: .1em;
	font-size: 1vw;
	font-weight: bold;
	background: #171717;
	color: #fff;
	cursor: pointer;
	transition: 200ms;
}
.confirm-btn:hover {
	opacity: .8;
	transition: 200ms;
}
.confirm-btn.disabled {
	opacity: .8;
	background: #d5d5d5;
	cursor: default;
}



/*thanks*/
.thanks {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgb(255,255,255,0);
	transition: 300ms;
}
.thanks-text {
	padding: 2% 4%;
	border: 1px solid #000;
	text-align: center;
	font-family: "Yu Gothic", sans-serif;
	font-weight: bold;
	letter-spacing: .02em;
	font-size: 1.2vw;
	opacity: 0;
	transform: translateY(-100%);
	transition: 500ms;
}
.thanks-text span {
	display: block;
	margin-top: 2%;
	line-height: 1.6;
	font-family: "Yu Gothic Medium", sans-serif;
	font-weight: normal;
	font-size: .8vw;
}
.thanks-text span a:hover {
	text-decoration: underline;
}
.thanks.show {
	background: rgb(255,255,255,.9);
	transition: 300ms;
}
.show .thanks-text {
	opacity: 1;
	transform: translateY(0);
	transition: 500ms;
}
.hide {
	display: none;
}
#fake-target {
	display: none;
	width: 0;
	height: 0;
	border: 0;
}

/* privacy */
.inq-list-privacy .inq-in {
	display: flex;
	align-items: center;
}
.inq-list-privacy .inq-in label {
	cursor: pointer;
}
.inq-in-privacy-check {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
}
.inq-in-privacy-check input {
	margin: 0;
	padding: 0;
	width: 20px;
	height: 20px;
	cursor: pointer;
}
.inq-in-privacy-text {
	padding: 0 .8em;
	line-height: 1.8;
}
.form-privacy-text {
	padding: 1.7em 2%;
	height: 15em;
	border-top: 1px solid #a3a3a3;
	border-bottom: 1px solid #a3a3a3;
	font-size: .8vw;
	line-height: 1.7;
	overflow-y: scroll;
}
.form-privacy-text h3,
.form-privacy-text p {
	margin-bottom: 1em;
}
.form-privacy-text p {
	padding-left: 2em;
	text-indent: -2em;
}
.form-privacy-text p:first-of-type {
	padding-left: 0;
	text-indent: 0;
}
.form-privacy-text p:last-of-type {
	margin-bottom: 0;
}
.form-privacy-text a:hover {
	text-decoration: underline;
}
.new-sns-icon {
	bottom: 3.8%;
}
.insta-logo {
	bottom: 5.2%;
}

@media screen and (max-width: 559px) {
	.page-contact h2 {
		bottom: 20vw;
		left: 7%;
		letter-spacing: .0em;
		font-size: 7.5vw;
	}
	.page-contact h2 span {
		margin-top: .5em;
		letter-spacing: .05em;
		font-size: 3.5vw;
	}

	/*contact*/
	.contact {
		margin: 15% auto 0;
		padding: 0 7%;
	}
	.contact h2 {
		margin: 0 0 7% 0;
		font-size: 5vw;
		letter-spacing: .05em;
	}
	.contact-mail {
		display: block;
		margin: 7% auto 0;
	}
	.contact-mail > div {
		display: flex;
		margin-bottom: 3%;
		padding: 6% 5% 5%;
		width: 100%;
		height: auto;
	}
	.contact-mail div p {
		line-height: 1.8;
		font-size: 3.1vw;
	}
	.contact-mail div a {
		margin-top: 2.5%;
	}
	.contact-mail div a p {
		font-size: 3.5vw;
	}
	.contact-mail div i {
		margin-right: 3%;
		font-size: 3.5vw;
	}
	.contact-mail div a:hover p {
		text-decoration: underline;
	}

	/*form*/
	.form-text {
		margin: 25% 0 10%;
	}
	.form-text h3 {
		margin-bottom: 2%;
		font-size: 3.8vw;
	}
	.form-text p {
		font-size: 2.9vw;
	}
	.inq-list {
		display: block;
		margin-bottom: 8%;
		padding-bottom: 8%;
		border-bottom: 1px dotted #a3a3a3;
	}
	.inq-list:first-of-type {
		padding-top: 8%;
		border-top: 1px dotted #a3a3a3;
	}
	.inq-list:last-of-type {
		margin-bottom: 0;
		padding-bottom: 0;
		border-bottom: none;
	}
	.inq-title {
		margin-bottom: 3%;
		padding-left: 0;
		width: 100%;
		font-size: 3.8vw;
	}
	.inq-title.req::after {
		position: initial;
		margin-left: 1.5em;
		font-size: 2.9vw;
	}
	.inq-in {
		padding: 0;
		width: 100%;
		font-size: 2.9vw;
	}
	.txtfield {
		padding: 5px 0 4px 5px;
		width: 100%;
		font-size: 16px;
	}
	.txtarea {
		font-size: 16px;
	}
	.confirm-btn {
		display: block;
		margin: 15% auto 0;
		padding: 3% 0;
		width: 50%;
		border: none;
		border-radius: 6px;
		text-align: center;
		letter-spacing: .1em;
		font-size: 4vw;
		font-weight: bold;
		-webkit-appearance: none;
	}
	.confirm-btn:hover {
		opacity: 0.8;
	}

	/*thanks*/
	.thanks {
		position: fixed;
	}
	.thanks-text {
		margin: 0 7%;
		padding: 8% 7%;
		font-size: 4vw;
	}
	.thanks-text span {
		display: block;
		margin-top: 2%;
		text-align: left;
		font-family: "Yu Gothic Medium", sans-serif;
		font-weight: normal;
		font-size: 2.9vw;
	}
	.thanks.show {
		background: rgb(255,255,255,.95);
		transition: 300ms;
		z-index: 2;
	}
	.show .thanks-text {
		opacity: 1;
		transform: translateY(0);
		transition: 500ms;
	}

	#contact h2 {
		margin: 40% auto 0;
	}

	/* privacy */
	.inq-list-privacy {
		display: flex;
		align-items: center;
		justify-content: flex-start;
	}
	.inq-list-privacy .inq-title {
		margin-bottom: 0;
		width: 65%;
	}
	.inq-list-privacy .inq-in {
		width: 35%;
		font-size: 3.2vw;
	}
	.inq-in-privacy-check {
		width: 1.5em;
		height: 1.5em;
	}
	.inq-in-privacy-check input {
		width: 1.5em;
		height: 1.5em;
	}
	.form-privacy-text {
		margin-top: 7%;
		font-size: 2.9vw;
	}
	.form-privacy-text a:hover {
		text-decoration: none;
	}
	.new-sns-icon {
		bottom: auto;
	}
	.insta-logo {
		bottom: auto;
	}
}
