/* --------
   共通
-------- */
	body {
		font-family: "Yu Gothic", sans-serif;
		background-color: #F5F5F5;
	}

	
	.fadeIn {
		opacity: 0;
	}

	/* --------
	見出し
	-------- */

		main h2 {
			text-align: center;

			padding-top: 200px;
			padding-bottom: 100px;

			font-size: 50px;
		}

	/* --------
	servise
	-------- */

		.fade {
			opacity: 0;
			visibility: hidden;
			transform: translateY(30px);
			transition: opacity 2s, visibility 1s, transform 1s;
		}

		.fade-in {
			opacity: 1;
			visibility: visible;
			transform: translateX(0);
		}

		#service .etc {
			text-align: right;

			margin: auto;
			padding-right: 20px;

			max-width: 1500px;

			font-size: large;
			
		}

	/* --------
	achieve
	-------- */

		/* #achieve div {
			display: flex;
			justify-content: center;
		} */

		/* #achieve li {
			display: flex;
			align-items: center;

			margin-bottom: 20px;
			
		} */

		/* #achieve img {
			margin-right: 20px;

			width: 50px;
		} */

		/* #achieve .slick {
			width: 100%;
			height: 100%;

			overflow: hidden;
		} */

		#achieve .slick .slideImg {
			text-align: center;
			object-fit: cover;

			margin: 10px;
		}

		#achieve .slick img {
			width: 90%;
			margin: auto;
			margin-bottom: 10px;
		}

		#achieve .slick p {
			font-weight: bold;
		}


	/* --------
	company
	-------- */

		#company .box {
			display: flex;
			justify-content: center;
		}

		#company dl dt {
			font-weight: normal;
		}

		#company .president img {
			width: 200px;
		}

		#company .president p {
			text-align: center;

			margin-top: 20px;
		}

		#company .president p span {
			margin-right: 20px;

			letter-spacing: 1em;
		}

	/* --------
	contact
	-------- */

		#contact form {
			margin: auto;

			max-width: 800px;
		}

		#contact .caution {
			text-align: right;

			margin-right: 20px;
		}

		#contact  span {
			color: red;
		}

		#contact div {
			margin: 20px;
		}

		#contact div input {
			padding: 3px;

			width: 100%;

			border: 1px solid #646363;
			border-radius: 3px;
		}

		#contact div textarea {
			padding: 3px;

			width: 100%;
			min-height: 100px;

			border: 1px solid #646363;
			border-radius: 3px;
		}

		#contact .policy {
			overflow: auto;

			padding: 3px;

			max-height: 100px;

			border: 1px solid #646363;
			border-radius: 3px;
		}

		#contact .check {
			text-align: center;

			margin-bottom: 20px;
		}

		#contact button {
			display: block;
			text-align: center;

			margin: auto;
			padding: 10px;

			width: 150px;

			background-image: linear-gradient(to bottom, #e9e5e5, #c0bcbc);
			
			border: 1px solid #646363;
			border-radius: 3px;
		}

	/* --------
	footer
	-------- */

		footer div .name {
			font-weight: bold;
		}

/* --------
   PC
-------- */

	@media not screen and (max-width:1200px) {

	/* --------
	header
	-------- */

		header {
			display: flex;
			justify-content: space-around;

			height: 80px;

			background-color: #5FA5FF;
		}

		header h1 {
			display: flex;
			align-items: center;

			font-size: 50px;
			font-weight: bold;
		}

		header nav button {
			display: none;
		}
		header menu {
			display: flex;
			justify-content: center;

			margin: 0px;
			padding: 0px;

			list-style-type: none;
		}

		header menu li {
			width: 150px;

			border-left: 1px dashed #000000;
		}

		header menu .close {
			display: none;
		}

		header li a {
			display: block;
			text-align: center;

			padding: 30px 0%;
		}

	/* --------
	main
	-------- */

		main .main {
			padding-left: 2%;
			padding-top: 100px;

			height: 500px;

			font-size: xx-large;
			font-weight: bold;
			color: #FFFFFF;
			
			background-image:
				linear-gradient(to left, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.4)),
				url(../../images/01_main/main.jpg);
			background-size:
				auto,
				cover;
			background-repeat:
				no-repeat,
				no-repeat;
			background-position:
				0px,
				0px 45%;
		}

		main .main br {
			display: none;
		}

	/* --------
	service
	-------- */

		#service section {
			display: flex;
			align-items: stretch;

			margin: auto;
			margin-bottom: 100px;

			max-width: 1500px;
		}

		#service section:nth-child(odd) {
			flex-direction: row-reverse;
		}

		#service section .txt {
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;

			padding: 100px;

			width: 50%;
			min-height: 300px;
		}

		#service section .img {
			position: relative;
			overflow: hidden;

			width: 50%;
		}

		#service section img {
			position: absolute;
			top: 0;
			left: 0;
			object-fit: cover;

			width: 100%;
			height: 100%;
		}

		#service .txt h3 {
			margin-bottom: 40px;

			font-size: 250%;
		}

		/*#service .txt p {
			
		}*/



	/* --------
	company
	-------- */

		#company dl div {
			display: flex;

			margin-bottom: 50px;
		}

		#company dl dt {
			width: 150px;
		}

		#company .president {
			margin-left: 100px;
		}


	/* --------
	footer
	-------- */

		footer {
			display: flex;
			justify-content: space-around;

			margin-top: 100px;
			padding: 10px;

			background-color: #5FA5FF;
		}

		footer menu {
			display: flex;
			justify-content: center;

			margin: 0px;
			padding: 0px;

			list-style-type: none;
		}

		footer menu li {
			width: 150px;

			border-left: 1px dashed #000000;
		}

		footer li a {
			display: block;
			text-align: center;

			padding: 30px 0%;			
		}

		footer a {
			display: none;
		}
	}

/* --------
SP
-------- */
	@media screen and (max-width:1200px) {
		
	/* --------
	header
	-------- */

		header {
			display: flex;
			justify-content: space-between;

			height: 50px;

			background-color: #5FA5FF;
		}

		header h1 {
			display: flex;
			align-items: center;

			margin-left: 10px;
			
			font-size: 30px;
			font-weight: bold;
		}
		
		header nav {
			display: flex;
			align-items: center;

			padding: 5px;
		}

		header nav button img {
			width: 40px;
			height: auto;
		}

		header nav .gNav {
			display: none;

			position: absolute;
			top: 50px;
			left: 0px;

			width: 100%;

			background-color: #FFFFFF;
		}

		header nav menu {
			text-align: center;

			margin: 0px;
			padding: 0px;

			list-style-type: none;
		}

		header nav menu li {	
			border-bottom: 1px solid #000000;
		}

		header nav menu a ,
		header nav menu .close {
			display: block;

			padding: 5px;
		}

	/* --------
	main
	-------- */

		main .main{
			padding-left: 2%;
			padding-top: 50px;

			height: 600px;

			font-size: xx-large;
			font-weight: bold;
			color: #FFFFFF;

			background-image:
				linear-gradient(to left, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.4)),
				url(../../images/01_main/main.jpg);
			background-size:
				auto,
				cover;
			background-repeat:
				no-repeat,
				no-repeat;
			background-position:
				0px,
				0px 45%;
		}

	/* --------
	service
	-------- */

		#service section {
			display: flex;
			flex-direction: column-reverse;
			align-items: stretch;

			margin: auto;
			margin-bottom: 50px;
		}

		#service section .txt {
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;

			padding: 50px;
		}

		#service .txt h3 {
			margin-bottom: 40px;
			font-size: 200%;
		}

		#service section .img {
			position: relative;
			overflow: hidden;

			width: 100%;
			height: 200px;
		}

		#service section img {
			position: absolute;
			top: 0;
			left: 0;

			width: 100%;
		}

	/* --------
	company
	-------- */

		#company .box {
			flex-direction: column-reverse;
			align-items: center;
		}

		#company dt {
			margin-bottom: 10px;
		}

		#company dd {
			margin-bottom: 20px;
		}


		#company .president {
			margin-bottom: 50px;
		}

	/* --------
	footer
	-------- */

		footer {
			display: flex;
			flex-direction: column;
			justify-content: space-around;

			margin-top: 100px;
			padding: 10px;

			background-color: #5FA5FF;
		}

		footer div {
			text-align: center;
		}

		footer div p {
			margin-bottom: 5px;
		}

		footer menu {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;

			margin: 0px;
			padding: 0px;

			list-style-type: none;
		}

		footer menu .top {
			display: none;
		}

		footer menu li {
			text-align: center;

			margin: 5px;

			width: 40%;

			border: 1px solid #000000;
		}

		footer menu li a {
			display: block;

			padding: 5px;
		}

		footer div a {
			position: fixed;
			right: 10px;
			bottom: 10px;

			display: block;
		}

		footer a img {
			width: 40px;
			height: auto;
		}
		
	}