@charset "utf-8";
/* -----------------------------
 index.css
----------------------------- */
main article h2 {
	position: relative;
	margin-bottom: 50px;

	width: 100%;
	height: 550px;

	background-image: url(../../images/index/main_img.jpg);
	background-position: center;
	background-repeat: no-repeat;
}

main article h2 span {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 100%;
	text-align: center;
	color: #34837E;
}

main article #description h3 {
	margin-bottom: 10px;

	font-size: x-large;
	font-weight: bold;
}

main article #description h3:before {
	content: "◆";
}

main article #description p {
	margin: 0px auto 15px;
}

main article #description p span {
	display: block;
	margin: 10px 0px 0px;
	font-weight: bold;
}

main article #company h3 {
	width: 100%;
	background-image: url(../../images/index/company_title.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-color: #007B80;
	text-align: center;
	font-weight: bold;
	color: #FFFFFF;
}

main article #company table {
	margin: 0px auto;
	width: 100%;
}

main article #company table th,
main article #company table td {
	vertical-align: middle;
}

main article #company table tr:nth-child(even) {
	background-color: #EEF5ED;
}

main article #profile h3 {
	font-size: x-large;
	font-weight: bold;
	color: #006600;
}

main article #profile {
	padding: 0px 50px;
}

main article #profile div:first-of-type p {
	margin-bottom: 20px;
	letter-spacing: 2px;
	line-height: 150%;
	font-size: large;
}

main article #profile img {
	display: block;
	margin: 0px auto;
}

main article #contact {
	margin: 0px;
	background-color: #008B93;
}

main article #contact h3 {
	text-align: center;
	letter-spacing: 2px;
	font-weight: bold;
	color: #FFFFFF;
}

main article #contact form > div:first-child {
	padding: 0px 10px;
	color: #FFFFFF;
}

main article #contact form > div:first-child > p {
	margin-bottom: 10px;
}

main article #contact #input {
	position: relative;
	padding: 30px 0px;
}

main article #contact .tab1 {
	background-color: #007B80;
}

main article #contact .tab2 {
	background-color: #005155;
}

main article #contact #input > div {
	margin: 0px auto;
	width: 800px;
}

main article #contact #input > div > p {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;

	width: 100%;
	padding-bottom: 20px;
}

main article #contact #input > div > p span {
	width: 20px;
}

main article #contact form input:not([name="agree"]),
main article #contact form textarea {
	padding: 5px 0px 5px 10px;
	width: calc(100% - 20px) !important;
	border: none;
}

::placeholder,
#privacy {
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
}

main article #contact #mode {
	position: absolute;
	padding: 0px;
}

main article #contact #mode input {
	display: none;
}

main article #contact #mode .tab {
	position: absolute;
	display: inline-block;
	padding: 2px 1px;

	text-align: center;
	font-weight: bold;
	color: #FFFFFF;
}

main article #contact #mode p:first-child label  {
	top: 0;
	left: 0;
	background-color: #007B80;
}

main article #contact #mode p:nth-child(2) label  {
	background-color: #005155;
}

main article #contact #mode .select {
	z-index: 1;
}

main article #contact #mode .unselect {
	z-index: 0;
}

main article #contact p input[disabled] {
	background-color: #005155;
	color: #FFFFFF;
}

main article #contact #input textarea {
	padding: 10px;
	resize: none;
}

main article #contact #privacy {
	float: right;
	margin: 0px auto 30px;
	padding: 10px;
	width:calc(100% - 20px);
	background-color: #FFFFFF;
	overflow: auto;
	line-height: 150%;
	letter-spacing: 1px;
}

main article #contact #privacy h4 {
	margin-bottom: 10px;
	text-align: center;
	font-size: x-large;
}

main article #contact #privacy > ol > li {
	margin-bottom: 30px;
}

main article #contact #privacy h5,
main article #contact #privacy h6 {
	margin-bottom: 5px;
	font-weight: bold;
}

main article #contact #privacy p {
	margin-bottom: 20px;
	font-size: small;
}

main article #contact #privacy > ol > li:last-of-type p:nth-of-type(2) {
	margin-bottom: 5px;
}

main article #contact #privacy ul {
	margin-bottom: 10px;
	font-size: small;
}

main article #contact #privacy > ol > li:last-of-type p:nth-of-type(2):before,
main article #contact #privacy ul li:before {
	content: "■";
}

main article #contact #privacy ul a {
	text-decoration: underline;
	color: #0000EE;
}

main article #contact #privacy ol li > ol > li {
	margin-bottom: 10px;
	font-size: small;
}

main article #contact #input .btn {
clear: both;
	margin: 0px auto;
	padding: 0px 0px 50px;
	color: #FFFFFF;
}

main article #contact #input .btn {
	text-align: center;
}

main article #contact #input > .btn span {
	margin-left: 10px;
	cursor: pointer;
}

main article #contact .btn label {
	display: block;
}

main article #contact .btn label input {
	width: 18px;
	height: 18px;
}

main article #contact .btn button {
	background-color: #FFFFFF;
	font-weight: bold;
	color: #333333;
}

.required {
	margin: 0px;
	padding: 0px;
	font-size: large;
	font-weight: bold;
	color: #FF0000;
}

.dNon {
	display: none;
}



/* -----------------------------
 PC
----------------------------- */
@media screen and (min-width:1000px) {
	main article h2 {
		width: 100%;
		height: 550px;
	}

	main article h2 span {
		top: 65%;
	
		font-size: xx-large;
	}

	main article #description h3 {
		margin: 0px auto 10px;
		width: 80%;
	}

	main article #description p {
		margin-bottom: 30px;
		width: 80%;
		line-height: 150%;
	}

	main article #company h3 {
		height: 200px;
		line-height: 200px;
		font-size: xx-large;
	}

	main article #company table {
		font-size: large;
	}

	main article #company table th,
	main article #company table td {
		height: 100px;
	}

	main article #company table th {
		padding-right: 30px;
		text-align: right;
	}

	main article #company table td {
		padding-left: 30px;
	}

	main article #profile {
		display: grid;
		grid-template-columns: 50% 1fr;
		grid-template-rows: 10% auto;

	}

	main article #profile h3 {
		grid-column: 1/2;
		grid-row: 1/2;
	}

	main article #profile div:first-of-type {
		grid-column: 1/2;
		grid-row: 2/3;
	}

	main article #profile div:last-of-type {
		grid-column: 2/3;
		grid-row: 1/3;
	}

	main article #contact {
		padding: 50px 0px 0px;
	}

	main article #contact h3 {
		margin-bottom: 50px;
		font-size: xx-large;
	}

	main article #contact form > div:first-child {
		margin: 0px auto 110px;
		width: 800px;
		line-height: 130%;
		font-size: large;
	}

	main article #contact #mode {
		top: -60px;
		left: calc((100% - 800px) / 2);
		width: 900px;
	}

	main article #contact #mode .tab {
		width: 410px;
		height: 60px;
	
		border-radius: 30px 30px 0px 0px;
	
		line-height: 60px;
	}

	main article #contact #mode p:nth-child(2) label  {
		left: 390px;
	}

	main article #contact #input textarea {
		height: 100px;
	}

	main article #contact #privacy {
		height: 150px;
	}

	main article #contact #input .btn {
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}

	main article #contact .btn label {
		width: calc(800px - 223px);
		font-size: large;
	}

	main article #contact .btn button {
		width: 223px;
		height: 60px;
	}

	main article #contact .btn button:hover {
		opacity: 0.8;
	}


}

/* -----------------------------
 SP
----------------------------- */
@media screen and (max-width:999px) {
	main article h2 {
		width: 100%;
		height: 300px;
	}

	main article h2 span {
		top: 80%;
	
		font-size: large;
		font-weight: bold;
	}

	main article #description h3 {
		margin: 0px auto 10px;
		width: 90%;
		font-size: large;
	}

	main article #description p {
		width: 90%;
		line-height: 150%;
		letter-spacing: 2px;
		font-size: large;
	}

	main article #company h3 {
		height: 100px;
		background-position: right 40% center;
		background-size: auto 100px;
		line-height: 100px;
		font-size: x-large;
	}

	main article #company table tr {
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		align-items: center;
	}

	main article #company table th {
		margin: 20px 0px 2px;
	}

	main article #company table td {
		margin: 2px 0px 20px;
		text-align: center;
		line-height: 150%;
		letter-spacing: 2px;
	}

	main article #profile {
		display: flex;
		flex-direction: column;
	}

	main article #profile h3 {
		order: 1;

		margin-bottom: 20px;
		text-align: center;
	}

	main article #profile div:first-of-type {
		order: 3;

		margin: 0px auto;
		width: 90%;
	}

	main article #profile div:last-child {
		order: 2;
	}

	main article #profile div:last-child img {
		margin: 0px auto 15px;
		width: 80%;
		height: auto;
	}

	main article #contact {
		padding: 20px 0px 0px;
	}

	main article #contact h3 {
		margin-bottom: 20px;
		font-size: large;
	}

	main article #contact form > div:first-child {
		margin: 0px auto 70px;
		width: 100%;
		line-height: 150%;
		letter-spacing: 1px;
		font-size: large;
	}

	main article #contact #input > div {
		width: 95%;
	}

	main article #contact #mode {
		top: -50px;
		left: calc((100% - 95%) / 2);
		width: 95%;
	}

	main article #contact #mode .tab {
		width: 53%;
		height: 50px;
	
		border-radius: 20px 20px 0px 0px;
	
		line-height: 50px;
	}

	main article #contact #mode p:nth-child(2) label  {
		left: 47%;
	}

	main article #contact #input textarea {
		width: 100%;
		height: 150px;
	}

	main article #contact #privacy {
		height: 150px;
	}

	main article #contact .btn label {
		margin: 0px auto 30px;
		width: 70%;
		line-height: 150%;
		font-size: large;
	}

	main article #contact .btn button {
		width: 150px;
		height: 40px;
	}


}





