
#contact {
    width: 90%;
    max-width:960px;
    margin: auto;
    padding: 200px 0 120px;
}

#contact h2 {
    margin-bottom: 3vw;
    color: var(--Color4);
}
h2 {
	text-align: center;
	font-weight: 200;
	color: var(--Color4);
	letter-spacing: .3em;
}

/*　フォーム部分　*/
h2 + p {
	margin-top: 80px;
	text-align: center;
	color: var(--Color5);
	line-height: 2;
}
h2 + p a,
h2 + p a:hover {
	color: var(--Color4);
	text-decoration: underline;
}
input {
	width: calc(100% - .4em);
	height: 40px;
	padding: .2em;
	margin: auto;
}
textarea {
	width: calc(100% - .6em);
	height: 240px;
	padding: .3em;
	margin: auto;
}
form {
	margin-top: 120px;
}
form ul.form_item {
	margin-bottom: 120px;
}
form ul.form_item li {
	margin-bottom: 20px;
	color: var(--Color5);
}
form ul.form_item li label.required:after {
	content: "必須 required";
	margin-left: 10px;
	width: 30px;
	height: 18px;
	color: var(--Color2);
	background-color: red;
	font-size: 75%;
	padding: 2px;
	vertical-align: text-top;
}

/* --------------------- */
/* SP */
/* --------------------- */
@media screen and (max-width: 767px) {

#contact {
    width: 90%;
    max-width:90%;
    margin: auto;
    padding: 18vw 0;
}
h2 + p {
	margin-top: 8vw;
	text-align: justify;
}
form {
	margin-top: 10vw;
}
form ul.form_item {
	margin-bottom: 10vw;
}

}

/*　プライバシーポリシー　*/

h3.h2_privacy {
	text-align: center;
	font-size: 18px;
	color: var(--Color5);
}
#privacy-policy {
	width:960px;
	height: 300px;
	border: 1px #c4bfb8 solid;
	overflow-y: scroll;
	padding:16px 8px;
	color: var(--Color5);
}
#privacy-policy .wrap {
	width:940px;
}
#privacy-policy .content_wrap {
	margin-left: 16px;
}
#privacy-policy h2 {
    margin-bottom: 3vw;
    font-size: 1.25rem;
    color: var(--Color4);
}
#privacy-policy h3,h4 {
    color: var(--Color4);
    margin-top: 2vw;
}
#privacy-policy h5 {
    margin-top: 2vw;
}
#privacy-policy h5,
#privacy-policy p,
#privacy-policy ul li,
#privacy-policy ol li,
#privacy-policy table th,
#privacy-policy table td,
#privacy-policy table caption {
    font-size: 0.875rem;
}
#privacy-policy p {
    margin-top: .5em;
    text-indent: -1em;
    padding-left: 1em;
}
#privacy-policy ul,
#privacy-policy ol {
    margin: .5vw;
}
#privacy-policy ul li,
#privacy-policy ol li {
    text-indent: -1em;
    padding-left: 2em;
    padding-right: 1em;
}
#privacy-policy table {
    width: 85%;
    margin: 2vw auto;
}
#privacy-policy table th,
#privacy-policy table td {
    border: 1px solid var(--Color3);
    padding: .5em;
    vertical-align: middle;
}
#privacy-policy table caption {
    color: var(--Color4);
    text-align: left;
    margin-bottom: .25vw;
}
.pol_ph {
    text-indent: 0;
    padding-left: 0;
    font-size: 1rem;
    margin-bottom: 2vw;
}
.indent_p {
    padding-left: 2em;
    text-indent: 0;
}
.thatsall {
    margin-top: 2vw;
    text-align: right;
}

#privacy-policy address {
    text-align: left;
    height: auto;
    line-height: 1.5;
    margin-top: auto;
}
div.ppcb{
	width:520px;
	font-size: 1rem;
	text-align:center;
	margin: 20px auto 0;
}
#policy-checkbox {
	margin: 10px;
	transform: scale(1.5);
}
div.ppcb label{
	display:flex;
	padding-left:1em;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	color: var(--Color5);
}
div.ppcb label input{
	width: 16px;
	height: 16px;
}
#register{
	width: 360px;
	height: 60px;
	cursor: pointer;
	margin: 160px auto 80px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--Color3);
	color: var(--Color2);
	font-size: 1rem;
	border: none;
}
input#register:disabled {
	color: #ddd;
	background-color: #eee;
	border: none;
	cursor: not-allowed; /* クリック不可のカーソルを表示 */
}


/* --------------------- */
/* 1280*/
/* --------------------- */
@media screen and (max-width: 1280px) {


}


/* --------------------- */
/* 1000 */
/* --------------------- */
@media screen and (max-width: 1000px) {

#privacy-policy {
    padding: 6vw 0;
    width: 100%;
}
#privacy-policy .wrap {
	width: 100%;
}
#privacy-policy .content_wrap {
	margin: 0 16px;
}
#privacy-policy h2 {
    font-size: clamp(1.125rem, 0.711rem + 0.86vw, 1.25rem);
}
#privacy-policy h3,
#privacy-policy h4 {
    font-size: clamp(0.875rem, 0.461rem + 0.86vw, 1rem);
}
#privacy-policy h5,
#privacy-policy p,
#privacy-policy ul li,
#privacy-policy ol li,
#privacy-policy table th,
#privacy-policy table td,
#privacy-policy table caption{
    font-size: clamp(0.75rem, 0.336rem + 0.86vw, 0.875rem);
}
.pol_ph {
    font-size: clamp(0.875rem, 0.461rem + 0.86vw, 1rem);
}


}

/* --------------------- */
/* SP */
/* --------------------- */
@media screen and (max-width: 767px) {

h3.h2_privacy {
	text-align: justify;
	font-size: 4vw;
	letter-spacing: 0;
}

#privacy-policy {
    padding: 26vw 0 16vw;
}
#privacy-policy h2 {
    font-size: clamp(1.125rem, 0.965rem + 0.85vw, 1.375rem);
}
#privacy-policy h3,
#privacy-policy h4 {
    font-size: clamp(0.875rem, 0.715rem + 0.85vw, 1.125rem);
}
#privacy-policy h5,
#privacy-policy p,
#privacy-policy ul li,
#privacy-policy ol li,
#privacy-policy table th,
#privacy-policy table td,
#privacy-policy table caption {
    font-size: clamp(0.75rem, 0.59rem + 0.85vw, 1rem);
}
#privacy-policy table {
    width: 100%;
}
.pol_ph {
    font-size: clamp(0.875rem, 0.715rem + 0.85vw, 1.125rem);
}
div.ppcb{
	width:100%;
	margin: 2vw auto;
}
div.ppcb label{
	font-size: 3vw;
}
div.ppcb label input{
	width: 14px;
	height: 14px;
}
#register{
	width: 100%;
	height: 60px;
	cursor: pointer;
	margin: 8vw auto 4vw;
}

}



/*　確認画面　*/

#confirm {
    width: 90%;
    max-width:960px;
    margin: auto;
    padding: 200px 0 120px;
    color: var(--Color5);
}
#confirm .h1_copy{
	margin-top: 2vw;
	text-align: center;
}

.confirm_item {
	width: 960px;
	margin: 120px auto 160px;
	padding: 1em;
	background-color: #f3f3f3;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.confirm_item form {
	width: 100%;
	margin: 0;
}
.confirm_item form p {
	padding: .5em;
	width: 100%;
	text-align: justify;
}
.confirm_item form button {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 300px;
	height: 60px;
	margin: 20px auto;
	cursor: pointer;
	background-color: var(--Color3);
	color: var(--Color2);
	font-size: 1rem;
	border: none;
}
.confirm_item form button.send_btn {
}
.confirm_item form button.re_btn {
}

/* --------------------- */
/* 1000 */
/* --------------------- */
@media screen and (max-width: 1000px) {

#confirm {
    padding: 20vw 0 12vw;
}
.confirm_item {
	width: 90%;
}
}
/* --------------------- */
/* SP */
/* --------------------- */
@media screen and (max-width: 767px) {

#confirm {
    padding: 26vw 0 16vw;
}
}


/*　サンクス画面　*/

#Thanks {
    width: 90%;
    max-width:960px;
    margin: auto;
    padding: 200px 0 120px;
    color: var(--Color5);
}
#Thanks .h1_copy{
	margin-top: 2vw;
	text-align: center;
}
button {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 360px;
	height: 60px;
	margin: 160px auto 80px;
	background-color: var(--Color3);
	color: var(--Color2);
	font-size: 1rem;
	border: none;
}
button a,
button a:link,
button a:hover {
	display: block;
	width: 100%;
	height: 100%;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* --------------------- */
/* 1000 */
/* --------------------- */
@media screen and (max-width: 1000px) {

#Thanks {
    padding: 20vw 0 12vw;
}
}
/* --------------------- */
/* SP */
/* --------------------- */
@media screen and (max-width: 767px) {

#Thanks {
    padding: 26vw 0 16vw;
}
#Thanks .h1_copy{
	margin-top: 2vw;
	text-align: justify;
}
button {
	width: 80%;
	margin: 10vw auto 6vw;
}
}





