@charset "utf-8";


.form-group {
	margin-bottom: 20px;
}
label {
	display: block;
	font-weight: bold;
	margin-bottom: 5px;
}
.required::after {
	content: "【必須】";
	color: #d9534f;
	margin-left: 0px;
}
input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
	width: 100%;
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-sizing: border-box;
	height: 150px;
	resize: vertical;
}
/*textarea {
	height: 120px;
	resize: vertical;
}*/

.form-group input {
	width: 100%;
	padding: 10px;
	height: 20px;
}

/* エラーメッセージ用のスタイル */
.error-message {
	color: #d9534f;
	font-size: 13px;
	margin-top: 5px;
	display: none; /* 初期状態は非表示 */
}
.privacy-box {
	background: #f0f0f0;
	border: 1px solid #ccc;
	padding: 15px;
	font-size: 13px;
	line-height: 1.6;
	margin-bottom: 20px;
}
.info-footer {
	margin-top: 20px;
	padding-top: 15px;
	border-top: 1px dashed #ccc;
	font-size: 14px;
	line-height: 1.6;
}
.btn-submit {
	background-color: #0056b3;
	color: #fff;
	border: none;
	padding: 15px 40px;
	font-size: 16px;
	cursor: pointer;
	border-radius: 4px;
	display: block;
	margin: 30px auto;
}
.btn-submit:hover {
	background-color: #003d82;
}


#form {
	width: 100%;
	border-collapse: collapse;
	margin: 1em auto;
	border: 1px solid #2891F6;
}

#form th, #form td {
	width:: 100%;
	border: 1px solid #333;
	padding: 8px;
}

#form th {
	white-space: nowrap;
	background: #F0E4D3;
}

#form td {
	background: #fff;
}



/*p.btn input {
	width: 110px;
	height: 30px;
	margin: 2em auto;
	border: 1px solid #333;
}*/

p.btn input {
	background-color: #0056b3;
	color: #fff;
	border: none;
	padding: 15px 40px;
	font-size: 16px;
	cursor: pointer;
	border-radius: 4px;
	display: block;
	margin: 30px auto;
}
.btn input:hover {
	background-color: #3dFF82;
	color: #000;
	font-weight: bold;
}



.button-group {
  display: flex;
  justify-content: center; /* 中央寄せにする */
  gap: 10px;              /* ボタンの間隔 */
}

.button-group input {
	background-color: #0056b3;
	color: #fff;
	border: none;
	padding: 15px 30px;
	font-size: 16px;
	cursor: pointer;
	border-radius: 4px;
	display: block;
	margin: 20px;
}
.button-group input:hover {
	background-color: #3dFF82;
	color: #000;
	font-weight: bold;
}



/* for title */
h2 {
	font-size: 100%;
	text-align: left;
	border-left: solid 4px #DCC5B2;
	border-bottom: 1px solid gray;
	padding: 4px 6px;
	margin: 2em 0;
	width: 500px;
}

/* for message */
p.msg {
	color: #dd0000;
	margin: 2em;
}
span.msg {
	color: #dd0000;
}

/* for back-button */
form.back {
	margin-top: 2em;
}

/* スマホ用 */
@media only screen and (max-width: 480px) {
	body { font-size: 100%; }
	#body { margin-left: 0; }
	
	/* 投稿フォーム */
	#form {
		margin: 0 auto;
		width: 100%;
	}
    #form th, #form td {
    	text-align: left;
		width: 100%;
		display: block;
		padding: 10px 3px;
    }
    p.btn {
    	margin: 0.5em auto;
    	text-align: center;
    }
    p.btn input {
    	width: 9em;
    }

	/* 小見出し */
	h2 { margin: 1em 3px; width: 90%; }
	
	/* サンクス */
	p.msg { margin: 1em auto; padding: 1em; }
}



.history-block { 
	width: 100%;
	margin: 0em auto;
	padding: 0em 5em;
	text-align: left;
	border: 0px solid #2891F6;
/*	display: flex;*/
}

@media (max-width: 800px) {
	.history-block {
		padding: 0em 1em;
	}
}


.history-koumoku { 
	width: 100%;
	margin: 0 auto 0.7em auto;
	padding: 0.6em 0em 0.5em 0em;
	color: #FFF;
	text-align: center;
	font-size: 150%;
	font-weight: 900;
	letter-spacing: 0.5em;
	line-height: 1.0em;
	background-color: #1C97C3;
	border-radius: 7px;
	border: 1px solid #1C97C3;
}

@media (max-width: 800px) {
	.history-koumoku { 
		font-size: 130%;
		letter-spacing: 0.05em;
	}
}


.personal-info { 
	width: 100%;
	margin: 2em auto;
	padding: 1em;
	text-align: left;
	border: 2px solid #2891F6;
}

@media (max-width: 800px) {
	.personal-info {
		padding: 0.5em;
	}
}


/******************************
注目情報
******************************/
.attention {
	width: 680px;
	margin: 1em auto;
	padding: 0em;
	text-align: center;
	color: #0000CD;
	border: 0px solid #2891F6;
}

@media (max-width: 800px) {
	.attention {
		width: 80%;
	}
}



