@charset "UTF-8";

/* ==================================================
page_title
================================================== */
#page_title {
	text-align:center;
	background-color:#f0f3f8;
	background-position:top center;
	background-repeat:no-repeat;
	position:relative;
	padding:2% 0 45px;
	-webkit-background-size:100% auto;
	-moz-background-size:100% auto;
	background-size:100% auto;
	margin:0 0 70px;
}
#page_title::after {
	content:"";
	position:absolute;
	bottom:-32px;
	left:50%;
	width:1px;
	height:70px;
	background:#3f59bf;
}
#page_title.title_job {
}
#page_title.title_company {
}
#page_title.title_works {
}
#page_title.title_contact {
}
/* ==================================================
contents
================================================== */
#main h2 {
	font-size:225%;
	line-height:1.4;
	margin:2em 0 40px;
	position:relative;
	clear:both;
}
#main h2 span {
	position:relative;
	padding:0 50px;
}
#main h2 span::before {
	content:"";
	position:absolute;
	left:0;
	bottom:0;
	z-index:-1;
	width:100%;
	height:20px;
	background-color:#afe6f9;
}
#main h2::after {
	content:"";
	position:absolute;
	left:25px;
	top:5px;
	width:0;
	height:40px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	border-width: 0 0 0 3px;
	border-style: solid;
	border-color: #2a46b7;
}
#main h2:first-child {
	margin-top:0;
}
#main h3 {
	margin:1.5em 0 30px;
	font-size:143%;
	line-height:1.2;
}
#main p {
	margin:0 0 20px;
}
#main table {
	width:100%;
	margin:0 0 40px;
}
#main ul {
	margin:0 0 10px;
	list-style:none;
}
#main ul li {
	background:url(../images/free/list_icon.png) no-repeat left 7px;
	padding-left:16px;
	margin:0 0 10px;
}
#main ol {
	margin:0 0 10px 2.4em;
}
#main ol li {
	margin:0 0 10px;
}
/* ==================================================
table
================================================== */
#main table.tbl_line {
	border-top:2px solid #e9e9e9;
}
#main table.tbl_line th {
	text-align:left;
	font-weight:bold;
	width:12em;
	padding:20px 20px 10px;
	border-bottom:2px solid #242e81;
}
#main table.tbl_line tr:first-child th {
	border-top:2px solid #242e81;
}
#main table.tbl_line td {
	padding:20px 20px 10px;
	border-bottom:2px solid #e9e9e9;
	text-align:left;
}
#main table.tbl_line th p,
#main table.tbl_line td p {
	margin-bottom:10px;
}
#main table.tbl_line ul {
	margin-bottom:0;
}
/* ==================================================
job
================================================== */
#main .job_msg {
	margin:0 0 50px;
	clear:both;
}
#main .job_msg .job_msg_main {
	float:left;
	width:calc(100% - 440px);
	font-size:112.5%;
	padding:20px 0;
}
#main .job_msg .job_msg_img {
	float:right;
	width:400px;
}
#main .job_msg .job_msg_img p {
	position:relative;
}
#main .job_msg .job_msg_img p::before {
	content:"";
	position:absolute;
	top:20px;
	left:20px;
	width:100%;
	height:100%;
	background:#eceff9;
	z-index:-1;
}
/* ==================================================
company
================================================== */
#main .ceo_msg {
	background-color:#ffffff;
	border:1px solid #eeeeee;
	position:relative;
	padding:40px;
	margin:0 0 50px;
	clear:both;
}
#main .ceo_msg::before {
	content:"";
	position:absolute;
	top:20px;
	left:20px;
	width:100%;
	height:100%;
	background:#eceff9;
	z-index:-1;
}
#main .ceo_msg .ceo_msg_main {
	float:left;
	width:calc(100% - 440px);
	font-size:112.5%;
	line-height:3;
}
#main .ceo_msg .ceo_msg_main h2 {
	font-size:125%;
	margin:0 0 20px;
	color:#293e54;
}
#main .ceo_msg .ceo_msg_main h2::after {
	display:none;
}
#main .ceo_msg .ceo_msg_main span {
	font-weight:bold;
	font-size:125%;
	display:inline-block;
	vertical-align:middle;
	padding:0 5px;
}
#main .ceo_msg .ceo_msg_img {
	float:right;
	width:400px;
}
/* nav_link
============================== */
#main #nav_link {
	margin:0 0 50px;
}
#main #nav_link ul {
	margin:0 -10px;
}
#main #nav_link ul li {
	float:left;
	width:25%;
	padding:0 10px;
	text-align:center;
	background-image:none;
}
#main #nav_link ul li a {
	display:block;
	text-decoration:none;
	background-color:#6495ed;
	color:#fff;
	padding:10px 4px;
	position:relative;
	transition: 0.8s;
}
#main #nav_link ul li a::before{
	content:"";
	display:inline-block;
	vertical-align:middle;
	margin-right:10px;
	margin-bottom:4px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}
#main #nav_link ul li a:hover {
	background-color:#242e81;
}
/* company_philosophy
============================== */
#main .company_philosophy {
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	padding:10px 20px 40px;
	border:10px solid #ddd;
	margin:0 0 50px;
	text-align:center;
	clear:both;
}
#main .company_philosophy h2 {
	font-size:150%;
	margin:30px 0;
	font-weight:normal;
}
#main .company_philosophy h2::after {
	display:none;
}
#main .company_philosophy p {
	font-size:225%;
	font-weight:bold;
	margin:0;
}
/* gmap
============================== */
#main .gmap {
	border:2px solid #ccc;
	margin:0 0 40px;
}
/* ==================================================
works
================================================== */
#main .works_reading {
	position:relative;
	text-align:center;
	font-size:125%;
	line-height:2;
	padding:40px 0;
	margin:0 0 70px;
}
#main .works_reading::after {
	content:"";
	position:absolute;
	left:50%;
	bottom:0;
	width:80px;
	height:2px;
	margin-left:-40px;
	background:#3f59bf;
}
/* works_sec3
============================== */
#main .works_sec3 {
	margin:0 -20px 50px;
	clear:both;
}
#main .box_works {
	float:left;
	width:33.3%;
	padding:0 20px;
}
#main .box_works p {
	margin-bottom:0;
}
#main .box_works_cnt {
	box-shadow: 0 20px 20px rgba(0, 0, 0, 0.19);
	padding: 20px;
}
/* ==================================================
contact
================================================== */
/* contact_read
============================== */
#main .contact_read {
	margin:0 0 50px;
}
/* cont2
============================== */
#main .cont2 {
	clear:both;
}
#main .cont2 p {
	display:inline-block;
	vertical-align:middle;
	margin-right:50px;
}
#main .cont2 span {
	display:inline-block;
	vertical-align:middle;
}
#main .cont2 .ttl {
	display:inline-block;
	text-transform:uppercase;
	background-color:#141c36;
	color:#ffffff;
	padding:3px 15px;
	margin:0 10px 0 0;
	font-size:112.5%;
	letter-spacing:0.2em;
}
#main .cont2 .telno,
#main .cont2 .faxno {
	font-family:Arial, Helvetica, sans-serif;
	font-weight:bold;
	font-size:200%;
}
#main .cont2 .telno a {
	text-decoration:none;
	color:#000;
}
/* privacy
============================== */
#main .privacy {
	border:2px solid #ddd;
	padding:50px 40px 20px;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	margin:0 0 40px;
}
#main .privacy_ttl {
	text-align:center;
}
#main .privacy_ttl h3 {
	margin:0 0 40px;
	padding:0 0 40px;
	position:relative;
}
#main .privacy_ttl h3::before {
	content:"";
	position:absolute;
	left:50%;
	bottom:0;
	width:80px;
	height:2px;
	margin-left:-40px;
	background:#141c36;
}
#main .privacy_cnt h4 {
	font-size:100%;
	margin:0 0 10px;
}
#main .privacy_cnt p {
	font-size:87.5%;
}
/* tbl_form
============================== */
#main table.tbl_form {
	border-top:2px solid #e9e9e9;
}
#main table.tbl_form th {
	text-align:left;
	font-weight:bold;
	width:15em;
	padding:25px 3.5em 5px 20px;
	border-bottom:2px solid #228b22;
	position:relative;
}
#main table.tbl_form tr:first-child th {
	border-top:2px solid #228b22;
}
#main table.tbl_form td {
	padding:20px 20px 10px;
	border-bottom:2px solid #e9e9e9;
	text-align:left;
}
#main table.tbl_form th p,
#main table.tbl_form td p {
	margin-bottom:10px;
}
#main table.tbl_form .in_txt,
#main table.tbl_form .in_txt2,
#main table.tbl_form .in_txta {
	border:1px solid #999;
	padding:5px;
}
#main table.tbl_form .in_txt {
	width:80% !important;
}
#main table.tbl_form .in_txt2 {
	width:80px !important;
}
#main table.tbl_form .in_txta {
	width:90% !important;
}
#main table.tbl_form .txt_sml {
	font-size:0.8rem;
	color:#666;
}
#main table.tbl_form .must {
	position:absolute;
	top:25px;
	right:10px;
	color:#FFF;
	background-color:#C00;
	padding:3px 5px 3px 8px;
	font-size:0.7rem;
	display:inline-block;
	letter-spacing:0.2em;
}
/* form_btn */
#main .form_btn {
	text-align:center;
	margin:0 auto 50px;
}
#main .form_btn p {
	display:inline-block;
	vertical-align: middle;
	padding:0 20px;
}
#main .form_btn p input {
	background-color:#ddd;
	color:#000;
	padding:20px 50px;
	border:none;
	cursor:pointer;
	min-width:300px;
	transition: 0.8s;
}
#main .form_btn .submit_btn input {
	background-color:#20b2aa;
	color:#fff;
}
#main .form_btn p input:hover {
	background-color:#c0c0c0;
}
#main .form_btn .submit_btn input:hover {
	background-color:#006400;
}
#main .contact_error {
	background:url(../images/free/contact_error.png) no-repeat top center;
	padding:220px 0 40px;
}
#main .contact_send {
	text-align:center;
	font-size:114.3%;
	background:url(../images/free/contact_send.png) no-repeat top center;
	padding:220px 0 40px;
}

/* ==================================================
clearfix
================================================== */
#main .job_msg:after,
#main .ceo_msg:after,
#main .nav_link:after,
#main .works_sec3:after,
#main #nav_link ul:after,
#main .cont2:after {
	content: ""; 
	display: table;
	clear: both;
}
@media screen and (max-width: 1200px) {
#main .ceo_msg .ceo_msg_main {
	width:calc(100% - 300px);
	line-height:2;
}
#main .ceo_msg .ceo_msg_img {
	width:260px;
}
}
@media screen and (max-width: 960px) {
#main .ceo_msg .ceo_msg_main {
	width:calc(100% - 240px);
	font-size:100%;
	line-height:2;
}
#main .ceo_msg .ceo_msg_img {
	width:200px;
}
}
