@charset "UTF-8";

/* ===================================================================
	/
	/	共通
	/
	=================================================================== */
	#main_contents { width:100%; margin-top:50px; }
	.under h3 { font-size: 35px; line-height: 45px; }
	.under h3 span { font-size: 30px; font-weight: bold; }
	.under p { font-size: 18px; line-height: 35px; }


	@media only screen and (max-width: 1024px) {
		.under h3 { font-size: 30px; line-height: 35px; }
		.under h3 span { font-size: 20px; }
		.under p { font-size: 16px; line-height: 30px; }
	}

	@media only screen and (max-width: 768px) {
		#main_contents { width:100%; float:none; margin-top:10px; }
		.sp_flex_r { -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; }
		.under h3 { font-size: 25px; line-height: 30px; }
		.under p { font-size: 14px; line-height: 25px; }
	}

	@media only screen and (max-width: 479px) {
		.under h3 { font-size: 20px; line-height: 25px; }
		.under h3 span { font-size: 14px; }
		.under p { font-size: 13px; }
	}



/* ===================================================================
	/
	/	メインイメージ
	/
	=================================================================== */

	.policy .main_img { height:150px; position:relative; background-image:url(../images/policy_mainimg.jpg); background-repeat:no-repeat; background-size:cover; background-position:center bottom; }
	.company .main_img { height:150px; position:relative; background-image:url(../images/company_mainimg.jpg); background-repeat:no-repeat; background-size:cover; background-position:center bottom;  }
	.contact .main_img { height:150px; position:relative; background-image:url(../images/contact_mainimg.jpg); background-repeat:no-repeat; background-size:cover; background-position:center bottom;  }
	.recruit .main_img { height:150px; position:relative; background-image:url(../images/recruit_mainimg.jpg); background-repeat:no-repeat; background-size:cover; background-position:center bottom;  }
	.newslist .main_img { height:150px; position:relative; background-image:url(../images/newslist_mainimg.jpg); background-repeat:no-repeat; background-size:cover; background-position:center bottom;  }
	.service .main_img { height:150px; position:relative; background-image:url(../images/service_mainimg.jpg); background-repeat:no-repeat; background-size:cover; background-position:center bottom;  }
	.office .main_img { height:150px; position:relative; background-image:url(../images/office_mainimg.jpg); background-repeat:no-repeat; background-size:cover; background-position:center bottom;  }

	@media only screen and (max-width: 768px) {
		.policy .main_img { height:100px;  }
		.company .main_img { height:100px; }
		.contact .main_img { height:100px;}
		.recruit .main_img { height:100px; }
		.newslist .main_img { height:100px;  }
		.service .main_img{ height:100px;  }
		.office .main_img{ height:100px;  }
	}




/* ===================================================================
	/
	/	service（サービス）
	/
	=================================================================== */
	.service .u_s1 { padding: 100px 0; background-color: #EAF3F7; text-align: center; }
	.service .u_s1 p { line-height: 45px; width: 65%; margin:0 auto 80px; }

	.service .u_s2 { padding: 100px 0 200px; }
	.service .u_s2 .service_box .service_img { width: 50%; }
	.service .u_s2 .service_box .service_img img { width: 100%; }
	.service .u_s2 .service_box .service_text { width: 50%; padding: 50px 40px; }
	.service .u_s2 .service_box .service_text h3 { margin-bottom: 30px; }
	.service .u_s2 .service_box .service_text .b01 { color: #2C7FBF; }
	.service .u_s2 .service_box .service_text .b02 { color: #063992; }
	.service .u_s2 .service_box .service_text .b03 { color: #021F4D; }
	.service .u_s2 .service_box .service_text p { margin-bottom: 10px; }


	@media only screen and (max-width: 1024px) {
		.service .u_s1 p { width: 90%; margin: 0 auto 50px; }
		.service .u_s1 img { width: 50%; }
		.service .u_s2 .service_box { -webkit-box-align: center; -ms-flex-align: center;	align-items: center; }
		.service .u_s2 .service_box .service_text { padding: 20px; }
		.service .u_s2 .service_box .service_text h3 { margin-bottom: 10px; }
		.service .u_s2 .service_box .service_text p { margin-bottom: 5px; }
	}


	@media only screen and (max-width: 768px) {
		.service .u_s1 { padding: 50px 0; }
		.service .u_s1 p { width: 85%; line-height: 35px; }
		.service .u_s2 { padding: 0 0 50px; }
		.service .u_s2 .service_box .service_img { width: 100%; }
		.service .u_s2 .service_box .service_text { width: 100%; padding: 50px; }
	}

	@media only screen and (max-width: 479px) {
		.service .u_s1 p { text-align: left; line-height: 30px; }
		.service .u_s1 img { width: 70%; }
		.service .u_s2 .service_box .service_text { padding: 20px; }
	}


/* ===================================================================
	/
	/	policy（理念・方針）
	/
	=================================================================== */
	.policy p { font-size:1rem; line-height:30px; margin:20px 0; }

	.policy .s1 { padding:0 0 80px; }
	.policy .s1 h1 { color:#0099CC; font-size:2rem; font-weight:bold; letter-spacing:3px; margin-bottom:20px; }
	.policy .s1 .box {overflow:hidden; margin:20px auto; }
	.policy .s1 .l { float:left; width:50%; padding:2%; }
	.policy .s1 .l img { width:100%; }
	.policy .s1 .r { float:right; width:50%; padding:2%; }
	.policy .s1 .r p.blue { color:#0099CC; }

	.policy .s2 { padding:50px 0 80px; }
	.policy .s2 h2 { font-size:1.5rem; font-weight:bold; background-color:#f6f6f6; padding:10px 0 10px 20px; letter-spacing:3px; margin-bottom:20px; }
	.policy .s2 h3 { color:#0099CC; font-size:1.2rem; font-weight:bold; letter-spacing:3px; margin-bottom:10px; padding:0 3%; }
	.policy .s2 ul { margin-bottom:30px; }
	.policy .s2 ul li { font-size:1rem; line-height:30px; margin-bottom:5px; padding:0 3%; }

	.policy .s3 { padding:50px 0 80px; text-align:center; }
	.policy .s3 h2 { font-size:1.5rem; font-weight:bold; background-color:#f6f6f6; padding:10px 0 10px 20px; letter-spacing:3px; margin-bottom:20px; text-align:left; }
	.policy .s3 img { width:70%; margin:0 auto; }

	.policy .s4 { padding:50px 0 80px; }
	.policy .s4 h2 { font-size:1.5rem; font-weight:bold; background-color:#f6f6f6; padding:10px 0 10px 20px; letter-spacing:3px; margin-bottom:20px; text-align:left; }
	.policy .s4 p { padding:0 3%; }
	.policy .s4 ul li { color:#0099CC; font-size:1rem; line-height:30px; margin-bottom:5px; padding:0 3%; }

	.policy .s5 { padding:0px 0 30px; text-align:center; }
	.policy .s5 h2 { font-size:1.5rem; font-weight:bold; background-color:#f6f6f6; padding:10px 0 10px 20px; letter-spacing:3px; margin-bottom:20px; text-align:left; }
	.policy .s5 h3 { color:#0099CC; font-size:1.2rem; font-weight:bold; letter-spacing:3px; margin-bottom:10px; padding:0 3%; line-height:35px; text-align:left; }
	.policy .s5 img { width:60%; margin:0 auto; }


	@media only screen and (max-width: 768px) {

	}


/* ===================================================================
	/
	/	company（会社概要）
	/
	=================================================================== */
	.company table { padding:0 3%; margin:0 auto; width:1100px; }
	.company table tr th { width:180px; font-size:1rem; line-height:30px; padding:10px 30px; text-align:right; color:#131713; }
	.company table tr td { width:700px;font-size:1rem; line-height:30px; padding:10px 30px; border-bottom:solid 1px #cccccc; color:#131713; }
	.company table tr td span a { text-decoration:none; color:#0099CC; }

	.company .u_s1 {  padding:0 0 80px; }
	.company .u_s2 {  padding:0 0 80px;  margin-bottom:100px; }
	.company h2 { font-size:1.5rem; font-weight:bold; background-color:#f6f6f6; padding:10px 0 10px 20px; letter-spacing:3px; margin:0 auto 20px; }
	.company .u_s3 p { padding: 3%; }
	.company .u_s4 ul { padding: 0 3%; margin: 30px auto 60px; }
	.company .u_s4 ul li { font-size: 1rem; margin-bottom: 20px; }
	.company .u_s4 ul li::before { content: "■"; color:#06297A;	}

	.company .company_menu ul { width: 80%; margin: 0 auto 80px; }
	.company .company_menu ul li { font-size: 20px; width: 12%; list-style-image:url(../images/li_icon.png); margin-left: 8%; }
	.company .company_menu ul li a { color: #000; text-decoration: none; }

	.company_link { margin-top: -110px; padding-top: 110px; }


	@media only screen and (max-width: 768px) {
		.company table { padding:0 3%; width:90%; margin:0 auto; }
		.company table tr th { width:26%; font-size:1.1rem; line-height:25px; padding:8px 10px 8px 5px; }
		.company table tr td { width:74%;font-size:1.1rem; line-height:25px; padding:8px 10px; }

		.company .u_s1 { padding:0 0 30px; }
		.company .u_s2 { padding:0 0 100px; margin-bottom:0; }
		.company h2 { width:100%; }
		.company .u_s4 ul li { font-size: 1.1rem; margin-bottom: 10px; }

		.company .company_menu ul { margin: 20px auto 20px; }
		.company .company_menu ul li { font-size: 16px; }

		.company_link { margin-top: -80px; padding-top: 80px; }
	}

	@media only screen and (max-width: 479px) {
		.company .u_s4 ul li { line-height: 22px; padding-left:1.3em; text-indent:-1.3em; }
		.company .u_s4 ul li::before { margin-right: 3px;	}

		.company .company_menu ul { width: 90%; }
		.company .company_menu ul li {
	    width: 33%;
	    list-style: none;
	    background-image: url(../images/li_icon.png);
	    background-size: 0.5em;
	    background-repeat: no-repeat;
	    background-position: left;
	    padding-left:15px;
			margin-left: 0;
			font-size: 14px;
			margin: 5px 0;
		}
		.company_link { margin-top: -65px; padding-top: 65px; }
	}


/* ================================================================
	/
	/	contact（お問い合わせ）
	/
	=================================================================== */
	.contact .u_s1 { padding:0 0 80px; margin-bottom:100px; }
	.contact h1 { font-size:1.5rem; margin-bottom:10px; }
	.contact h2 { font-size:1.5rem; font-weight:bold; background-color:#f6f6f6; padding:10px 0 10px 20px; letter-spacing:3px; margin:0 auto 20px; }

	/* form
	------------------------------------------------------------------- */
	.contact table { width:100%; margin:0 0 50px; text-align:left; border:1px solid #DDD; font-size:1.4rem; }
	.contact table tr th,
	.contact table tr td { padding:20px 0; border-bottom:1px solid #DDD; }
	.contact table tr:nth-child(2n) { background:#FAFAFA; }
	.contact table tr th { width:30%; vertical-align:middle; padding-left:50px; font-size:1rem; }
	.contact table tr th span { background:#930; color:#FFF; font-size:0.8rem; margin-left:1em; letter-spacing:1px; padding:0.2em 1em; }
	.contact table tr td { padding:20px 50px; }
	.contact table tr td p { font-size:1.1rem; margin-top:10px; color:#888; }


	/* input */
	.contact table tr td input[type="text"],
	.contact table tr td input[type="email"],
	.contact table tr td input[type="tel"] { width:100%; padding:5px 10px; border:1px solid #CCC; }
	.contact table tr td input[type="fax"] { width:100%; padding:5px 10px; border:1px solid #CCC; }
	.contact table tr td input[type="radio"] { margin:5px; }
	.contact table tr td.short input { width:50%; }
	.contact table tr td.mini input { width:15%; }
	.contact table tr td select { width:50%; padding:5px 10px; border:1px solid #CCC; }
	.contact table tr td textarea { width:100%; height:15em; padding:5px 10px; border:1px solid #CCC; }


	/* submit */
	.contact input[type="submit"] { -webkit-appearance:none; display:block; width:250px; height:50px; line-height:36px; border:2px solid #0099cc; background:#0099cc; color:#FFF; letter-spacing:1px; text-align:center; border-radius:3px; font-weight:bold; font-size:1.4rem; text-shadow:1px 1px 1px rgba(0,0,0,0.2); margin:0 auto 80px; }
	.contact input[type="submit"]:hover { background:none; color:#0099cc; text-shadow:1px 1px 1px rgba(0,0,0,0); }


	/* check */
	.contact p.check { text-align:center; padding:30px; border:3px solid #DDD; background:#F1F1F1; margin-bottom:30px; font-size:1.2rem; }

	/* complete */
	.contact .complete { text-align:center; padding:30px; border:3px solid #DDD; background:#F1F1F1; margin-bottom:30px; }
	.contact .complete p { margin-bottom:40px; font-size:1.2rem; }
	.contact .complete a { display:block; width:250px; height:40px; line-height:36px; border:2px solid #0099cc; background:#0099cc; color:#FFF; letter-spacing:1px; text-align:center; border-radius:3px; font-weight:bold; font-size:1.4rem; text-shadow:1px 1px 1px rgba(0,0,0,0.2); margin:0 auto; }
	.contact .complete a:hover { background:none; color:#0099cc; text-shadow:1px 1px 1px rgba(0,0,0,0); }


	@media only screen and (max-width: 768px) {
		.contact .u_s1 { padding:0 0 100px; margin-bottom:0; }
		.contact h1 { width:90%; margin:20px auto 0; }
		.contact h2 { width: 100%; }

		/* form
		------------------------------------------------------------------- */
				/*.contact section { padding:1.5em; }*/
				.contact table { width:90%; margin:0 auto 2em; font-size:1.1rem; }
				.contact table tr th,
				.contact table tr td { padding:0.5em; }
				.contact table tr th { width:30%; }
				.contact table tr td { padding-left:0.5em; }
				.contact table tr th span { font-size:.9rem; margin-left:0; padding:0.2em 1em; display:block; width:5em; text-align:center; margin-top:0.5em; }
				.contact table tr td p { font-size:.9rem; margin-top:0.2em; }

				/* input */
				.contact table tr td.short input { width:100%; }
				.contact table tr td select { width:100%; padding:5px 10px; border:1px solid #CCC; }
				.contact table tr td textarea { height:8em; }

				/* submit */
				.contact input[type="submit"] { width:60%; height:40px; font-size:1.2rem; }

				.contact .check { padding:2em; margin-bottom:2em; }
				.contact .complete p { margin-bottom:2em; font-size:1.2rem }
				.contact .complete a { width:80%; font-size:1.2rem; }
	}


/* ===================================================================
	/
	/	privacy（プライバシーポリシー）
	/
	=================================================================== */
	.privacy .u_s1 { padding:0 0 80px; margin-bottom:100px; }
	.privacy .u_s1 h2 { font-size:1.5rem; font-weight:bold; background-color:#f6f6f6; padding:10px 0 10px 20px; letter-spacing:3px; margin-bottom:20px; }
	.privacy .u_s1 p { font-size:1rem; line-height:30px; margin:20px 0; padding: 0 3%; }
	.privacy .u_s1 .privacy_box { margin:30px 0; }
	.privacy .u_s1 .privacy_box h3 { font-size:1rem; padding: 0 3%; }
	.privacy .u_s1 .privacy_box ul li { font-size: 0.9rem; line-height: 30px; margin-bottom: 10px; padding: 0 4%; }
	.privacy .u_s1 .privacy_box ul li a { text-decoration:none; color:#000; }
	.privacy .u_s1 .privacy_box ul li a:hover { color:#0099CC; }


	@media only screen and (max-width: 768px) {
		.privacy .u_s1 { padding:0 0 100px; margin-bottom:0; }
		.privacy .u_s1 p { font-size:1.2rem; line-height:25px; padding: 0 5%; }
		.privacy .u_s1 .privacy_box h3 { font-size:1.2rem; line-height:25px; padding: 0 5%; }
		.privacy .u_s1 .privacy_box ul li { font-size:1.2rem; line-height:25px; padding: 0 5%; }
	}


/* ===================================================================
	/
	/	access（アクセス）
	/
	=================================================================== */
	.access .u_s1 { padding: 0 0 100px; }
	.access .u_s1 h2 { font-size:1.5rem; font-weight:bold; background-color:#f6f6f6; padding:10px 0 10px 20px; letter-spacing:3px; margin-bottom:20px; }
	.access .u_s1 p { font-size:1rem; line-height:30px; margin:20px 0; padding: 0 3%; }
	.access .u_s1 p a { text-decoration:none; color:#000; }
	.access .u_s1 p a:hover { color:#0099CC; }
	.access .u_s1 iframe { padding: 0 3%; }


	@media only screen and (max-width: 768px) {
		.access .u_s1 { padding: 0 0 50px; }
		.access .u_s1 p { font-size:1.2rem; line-height:25px; padding: 0 5%; }
		.access .u_s1 iframe { height:300px; padding: 0 5%; }
	}

	@media only screen and (max-width: 479px) {
		.access .u_s1 { padding: 0 0 30px; }
	}



/* ===================================================================
	/
	/	newslist（お知らせ一覧）
	/
	=================================================================== */
	.newslist .u_s1 { padding:0 0 80px; margin-bottom:100px; }
	.newslist .u_s1 h2 { font-size:1.5rem; font-weight:bold; background-color:#f6f6f6; padding:10px 0 10px 20px; letter-spacing:3px; margin-bottom:20px; }

	.newslist .u_s1 .news_box { margin:0 5% 6%; /*border:1px solid #808080;*/ padding:4%; }
	.newslist .u_s1 .news_box p { font-size:1rem;}
	.newslist .u_s1 .news_box p.news_date {  }
	.newslist .u_s1 .news_box p.news_tit { font-size:1.1rem; margin:20px 0; font-weight:bold; border-bottom:1px solid #0099CC; }
	.newslist .u_s1 .news_box p.news_contents { margin-left:3%; line-height:30px; margin-bottom:20px; }
	.newslist .u_s1 .news_box img { margin-left:0%; }
	.newslist .u_s1 .news_box iframe { margin-left:3%; margin-top: 20px;}


	@media only screen and (max-width: 768px) {
		.newslist .u_s1 { padding:0 0 100px; margin-bottom:0; }

		.newslist .u_s1 .news_box { margin:0 auto 6%; border:none; padding:4%; padding-top:80px; margin-top:-80px; text-align:center; }
		.newslist .u_s1 .news_box p { font-size:1.2rem; line-height:25px; padding: 0 5%; text-align:left; }
		.newslist .u_s1 .news_box img { margin:0; padding:0; margin:0 auto; }
	}


/* ===================================================================
	/
	/	news
	/
	===================================================================
	.news { background-image:url(../images/black_bg.jpg); background-repeat:no-repeat; background-size:cover; padding:50px 0; }
	.news .containar h2 { font-size:1.8rem; font-weight:bold; margin-bottom:20px; color:#fff; letter-spacing:2px; }
	.news .containar h2 span { font-size:1.2rem; }


	@media only screen and (max-width: 768px) {
		.news { padding:30px 0; }
		.news .containar h2 { font-size:2rem; text-align:center; }

	}
*/

/* ===================================================================
	/
	/	office
	/
	=================================================================== */
	.office .u_s1 { padding: 100px 0 200px; }
	.office .containar h2 { font-size:1.8rem; font-weight:bold; margin-bottom:20px; color:#000; text-align:center; letter-spacing:2px; }
	.office .containar .office_box { width:48%; float:left; border:solid 1px #cccccc; margin:1%; background-color:#fff; min-height: 220px; }
	.office .containar .office_box h3 { font-size:1.2rem; font-weight:bold; border-left:solid 3px #0099cc; padding-top:3%; padding-left:2%; margin:0 5% 5% 5%; }
	.office .containar .office_box p { font-size:0.95rem; margin:0 2% 3% 7%; line-height:25px; }
	.office .containar .office_box p.depo { font-size:0.95rem; margin:0 2% 3% 7%; line-height:10px; }
	.office .containar .office_box .office_info { width:55%; float:left; }
	.office .containar .office_box .office_map { width:45%; float:left; }
	.office .containar .office_box .office_map iframe { padding:10px 10px 0; }

	#office { padding-top:85px; margin-top:-85px; }

	@media only screen and (max-width: 1300px) {
		.office .containar .office_box { min-height: 285px; }
	}

	@media only screen and (max-width: 768px) {
		.office .u_s1 { padding:30px 0 100px; }
		.office .containar h2 { font-size:2rem; }
		.office .containar .office_box {
			display:-webkit-box;
			display:-ms-flexbox;
			display:flex;
			-webkit-box-orient: vertical;
	  	-webkit-box-direction: normal;
	  	-ms-flex-direction: column;
	  	flex-direction: column;
			-webkit-box-pack: justify;
			-ms-flex-pack: justify;
			justify-content: space-between;
		}
		.office .containar .office_box h3 { font-size:1.4rem; font-weight:bold; border-left:solid 3px #0099cc; padding-left:2%; margin:0 5% 2% 5%;}
		.office .containar .office_box p { font-size:1.2rem; margin:0 5% 3% 7%; line-height:20px; }
		.office .containar .office_box .office_info { width:100%; float:none; }
		.office .containar .office_box .office_map { width:100%; float:none; }
		.office .containar .office_box .office_map iframe { padding:0 5%; height:120px; }

		#office { padding-top:60px; margin-top:-60px; }
	}

	@media only screen and (max-width: 479px) {
		.office .containar .office_box { width:90%; float:none; margin:2% auto; min-height: unset;  }

	}


/* ===================================================================
	/
	/	recruit（リクルート）
	/
	=================================================================== */
	.recruit .u_s1 { padding:0 0 80px; margin-bottom:100px; }
	.recruit .u_s1 h2 { font-size:1.5rem; font-weight:bold; background-color:#f6f6f6; padding:10px 0 10px 20px; letter-spacing:3px; margin-bottom:20px; }
	.recruit .u_s1 p { font-size:1.2rem; line-height:30px; margin:20px 0; padding: 0 3%; }


	@media only screen and (max-width: 768px) {
		.recruit .u_s1 { padding:0 0 100px; margin-bottom:0; }
	}
