@charset "utf-8";

div.wpcf7 .ajax-loader {
	display: none !important;
}


/* contact
----------------------------------------------- */
.contactarea .hdlbox {
	margin-bottom: 30px;
}
.formdet {
	margin-bottom: 30px;
}
.formbox .formtab {
	width: 100%;
	border-left: 1px #3195b0 solid;
	border-top: 1px #3195b0 solid;
}
.formbox .formtab th,
.formbox .formtab td {
	vertical-align: middle;
	padding: 15px 25px;
	background: #fff;
	border-bottom: 1px #3195b0 solid;
}
.formbox .formtab th {
	font-weight: 700;
	width: 27%;
	background: #eefafb;
	color: #024289;
}
.formbox .formtab td {
	border-right: 1px #3195b0 solid;
}
.formbox .formtab .formcont {
	display: flex;
	align-items: center;
	padding: 13px 0;
}
.formbox .formtab .must {
	margin-left: 15px;
	flex-shrink: 0;
	background: #024289;
	width: 56px;
	text-align: center;
	color: #fff;
	font-size: 12px;
	line-height: 22px;
}
.formbox input[type=text],
.formbox input[type=email],
.formbox input[type=tel] {
	background: #fff;
	border: 1px #adb3b5 solid;
	padding: 0 15px;
	height: 50px;
	font-family: 'Noto Sans JP', sans-serif;
	outline: none;
	width: 450px;
	max-width: 100%;
}
.formbox textarea {
	background: #fff;
	width: 100%;
	border: 1px #adb3b5 solid;
	padding: 15px;
	height: 140px;
	font-family: 'Noto Sans JP', sans-serif;
}
.formbox input::placeholder,
.formbox textarea::placeholder {
	font-size: 16px;
	font-family: 'Noto Sans JP', sans-serif;
	color: #777;
}
.formbox select {
	font-size: 16px;
	color: #333;
	background: url(../img/contact/down_select.png) right 15px center no-repeat #fff;
	border: 1px #adb3b5 solid;
	padding: 0 30px 0 15px;
	height: 50px;
	font-family: 'Noto Sans JP', sans-serif;
	outline: none;
	width: 450px;
	max-width: 100%;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
}

.formbtn {
	margin-top: 40px;
	display: flex;
	justify-content: center;
}
.formbtn input {
	width: 500px;
	height: 90px;
	text-align: center;
	font-size: 24px;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	cursor: pointer;
	border: none;
	background: #024289;
}

@media (max-width: 1024px) {
.formbox .formtab th {
	width: 35%;
}
}

@media (max-width: 767px) {
.contactarea .hdlbox {
	margin-bottom: 20px;
}
.formdet {
	margin-bottom: 20px;
}
.formbox .formtab {
	width: 100%;
	border: 1px #3195b0 solid;
}
.formbox .formtab th,
.formbox .formtab td {
	display: block;
	padding: 15px;
	border: none;
}
.formbox .formtab th {
	width: auto;
}
.formbox .formtab td {
	border: none;
}
.formbox .formtab .formcont {
	padding: 0;
}
.formbox .formtab .must {
	margin-left: 10px;
	width: 40px;
	font-size: 10px;
}
.formbox input[type=text],
.formbox input[type=email],
.formbox input[type=tel] {
	padding: 0 10px;
	height: 40px;
	width: 100%;
	max-width: 100%;
}
.formbox textarea {
	padding: 10px;
}
.formbox input::placeholder,
.formbox textarea::placeholder {
	font-size: 14px;
}
.formbox select {
	font-size: 14px;
	color: #333;
	background: url(../img/contact/down_select.png) right 10px center no-repeat #fff;
	border: 1px #adb3b5 solid;
	padding: 0 25px 0 10px;
	height: 40px;
	font-family: 'Noto Sans JP', sans-serif;
	outline: none;
	width: 100%;
}

.formbtn {
	max-width: 260px;
	margin:  30px auto 0;
}
.formbtn input {
	width: 100%;
	height: 50px;
	font-size: 16px;
}
}


/* !thanks
----------------------------------------------- */
.thanksbox {
	padding: 0;
}
.thankstit {
	text-align: center;
	font-size: 30px;
	font-weight: bold;
	margin-bottom: 20px;
}
.thankstxt {
	text-align: center;
}
@media (max-width: 767px) {
.thankstit {
	font-size: 18px;
}
}

.error {
	color: #ff0000;
}


/* news top
----------------------------------------------- */
.newsarea .hdlbox {
	margin-bottom: 60px;
}
.newsinner {
	max-width: 870px;
	margin: 0 auto;
}
.newslist li+li {
	margin-top: 15px;
}
.newslist a {
	display: flex;
}
.newslist a  .newsdate {
	width: 100px;
	letter-spacing: 0;
	flex-shrink: 0;
	color: #024289;
}
.newslist a  .newscont {
	flex: 1;
}

@media (max-width: 767px) {
.newsarea .hdlbox {
	margin-bottom: 30px;
}
.newslist a .newsdate {
	width: 90px;
}
}



/* news detail
----------------------------------------------- */
.detailarea .hdlbox {
	margin-bottom: 40px;
}
.detaildate {
	color: #024289;
	letter-spacing: 0;
	margin-bottom: 5px;
}
.detailhd {
	margin-bottom: 35px;
}
.detailinner {
	
}
.detailinner p+p {
	margin-top: 45px;
}
.detailinner p {
	line-height: 2.25;
}
.detailinner h2,
.detailinner h3,
.detailinner h4,
.detailinner h5,
.detailinner h6 {
	margin: 30px 0;
	font-weight: 700;
	color: #024289;
}
.detailinner h2 {
	font-size: 24px;
}
.detailinner h3 {
	font-size: 22px;
}
.detailinner h4 {
	font-size: 20px;
}
.detailinner h5 {
	font-size: 18px;
}
.detailinner h6 {
	font-size: 16px;
}

.detailinner p img {
	width: 100%;
	height: auto !important;
}
.newsback {
	max-width: 150px;
	margin: 150px auto 0;
}
.newsback a {
	border: 1px #024289 solid;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #024289;
	font-size: 14px;
	background: #fff;
	padding: 5px 0;
}
.newsback a img {
	margin-left: 5px;
}

@media (max-width: 767px) {
.detailarea .hdlbox {
	margin-bottom: 20px;
}
.detailhd {
	margin-bottom: 25px;
}
.detailinner p+p {
	margin-top: 30px;
}
.detailinner h2,
.detailinner h3,
.detailinner h4,
.detailinner h5,
.detailinner h6 {
	margin: 20px 0;
}
.detailinner h2 {
	font-size: 20px;
}
.detailinner h3 {
	font-size: 18px;
}
.detailinner h4 {
	font-size: 16px;
}
.detailinner h5 {
	font-size: 14px;
}
.detailinner h6 {
	font-size: 12px;
}
.newsback {
	max-width: 150px;
	margin: 50px auto 0;
}
}



/* top
----------------------------------------------- */
.topmain {
	background: url(../img/top/mainimg.jpg) center center no-repeat;
	background-size: cover;
	height: 500px;
	display: flex;
	align-items: center;
}
.topmain .mainbox {
	width: 100%;
}
.topmain .mainhd {
	text-align: center;
	font-size: 60px;
	letter-spacing: 0;
	color: #fff;
	font-weight: 900;
	line-height: 1;
}
.topmain .mainname {
	text-align: center;
	margin-top: 15px;
}
.topmain .mainnews {
	max-width: 670px;
	margin: 35px auto 0;
	background: rgba(255,255,255,0.7);
	padding: 30px;
}
.topmain .mainflex {
	display: flex;
	align-items: flex-start;
}
.topmain .mainmess {
	width: 115px;
	flex-shrink: 0;
}
.topmain .maintit {
	font-size: 20px;
	color: #024289;
	line-height: 1.2;
}
.topmain .mainbtn {
	margin-top: 10px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.topmain .mainbtn a {
	border: 1px #024289 solid;
	padding: 2px 5px;
	line-height: 1.2;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	color: #024289;
}
.topmain .mainbtn a img {
	margin-left: 5px;
}
.topmain .maininner {
	flex: 1;
}
.topmain .mainlist li+li {
	margin-top: 13px;
}
.topmain .mainlist li a {
	display: flex;
	-webkit-text-shadow: 0 0 5px #fff;
	-moz-text-shadow: 0 0 5px #fff;
	-ms-text-shadow: 0 0 5px #fff;
	-o-text-shadow: 0 0 5px #fff;
	text-shadow: 0 0 5px #fff;
}
.topmain .mainlist li .maindate {
	width: 100px;
	color: #024289;
	letter-spacing: 0;
	flex-shrink: 0;
}
.topmain .mainlist li .maintxt {
	flex: 1;
}
@media (max-width: 767px) {
.topmain {
	height: auto;
	padding: 40px 15px;
}
.topmain .mainhd {
	font-size: 30px;
}
.topmain .mainname img {
	width: 130px;
}
.topmain .mainnews {
	margin: 20px auto 0;
	padding: 15px;
}
.topmain .mainflex {
	display: block;
	padding: 0 0 35px;
	position: relative;
}
.topmain .mainmess {
	width: auto;
}
.topmain .maintit {
	font-size: 18px;
	text-align: center;
	margin-bottom: 10px;
}
.topmain .mainbtn {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	margin-top: 0;
	display: flex;
	align-items: center;
}
.topmain .mainlist li+li {
	margin-top: 10px;
}
.topmain .mainlist li .maindate {
	width: 80px;
}
}

.topblock+.topblock {
	margin-top: 100px;
	border-top: 1px #999 dotted;
}

.blockname {
	display: flex;
	height: 220px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background-repeat: no-repeat;
	background-position: center top;
}
.blockname .namelogo {
	
}
.blockname .namehd {
	font-size: 30px;
	font-weight: 700;
	margin-top: 10px;
	line-height: 1.2;
	-webkit-text-shadow: 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
	-moz-text-shadow: 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
	-ms-text-shadow: 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
	-o-text-shadow: 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
	text-shadow: 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
}
.blockmain {
	margin-bottom: 80px;
}
.blockmain .blockmainimg {
	text-align: center;
}
.blockmain .blockmaintxt {
	text-align: center;
	max-width: 1050px;
	margin: 30px auto 0;
}
.blockinner+.blockinner {
	margin-top: 60px;
}
.blockservice {
	margin-top: 15px;
	font-weight: 700;
	padding: 25px 30px;
}
.blockarea {
	display: flex;
	flex-direction: row-reverse;
}
.blockarea .areamap {
	width: 48%;
	flex-shrink: 0;
	position: relative;
	z-index: 1;
}
.blockarea .areamap iframe {
	width: 100%;
	height: 360px;
}
.blockarea .areainner {
	width: 52%;
	padding: 40px 7% 0;
	position: relative;
}
.blockarea .areainner:before {
	position: absolute;
	content: "";
	width: 572px;
	height: 370px;
	right: -110px;
	top: -60px;
	z-index: 0;
}
.blockarea .arealist {
	margin-top: 20px;
	position: relative;
	z-index: 1;
}
.blockarea .arealist li+li {
	margin-top: 11px;
}
.blockarea .arealist li {
	display: flex;
}
.blockarea .arealist .areatype {
	width: 90px;
	flex-shrink: 0;
}
.blockimg {
	display: flex;
	justify-content: center;
}
.blocklink {
	display: flex;
	flex-wrap: wrap;
	margin: 20px 0 -5px;
}
.blocklink li {
	margin: 5px 10px 5px 0;
}
.blocklink li a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 12px 25px;
	font-weight: 700;
}
.blocklink li a img {
	margin-left: 10px;
}


.umoblock .blockname {
	background-image: url("../img/top/bg_umo01.png");
}
.umoblock .blockname .namehd {
	color: #024289;
}
.umoblock .blockservice {
	background: #e8f6f7;
}
.umoblock .blockarea .arealist .areatype {
	color: #024289;
}
.umoblock .blockarea .areainner:before {
	background: url("../img/top/bg_umo02.png") 0 0 no-repeat;
}
.umoblock .blocklink li a {
	color: #024289;
	border: 1px #3195b0 solid;
}

.fcarsblock .blockname {
	background-image: url("../img/top/bg_fcars01.png");
}
.fcarsblock .blockname .namehd {
	color: #15585b;
}
.fcarsblock .hdlbox {
	color: #15585b;
}
.fcarsblock .hdlbox:before {
	background: #15585b;
}
.fcarsblock .hdlbox .hdlen .hdlenin {
	color: #699a7e;
}
.fcarsblock .blockservice {
	background: #e6f5ec;
}
.fcarsblock .blockarea .arealist .areatype {
	color: #15585b;
}
.fcarsblock .blockarea .areainner:before {
	background: url("../img/top/bg_fcars02.png") 0 0 no-repeat;
}
.fcarsblock .blocklink li a {
	color: #15585b;
	border: 1px #699a7e solid;
}


.bcarsblock .blockname {
	background-image: url("../img/top/bg_bcars01.png");
}
.bcarsblock .blockname .namehd {
	color: #db1524;
}
.bcarsblock .hdlbox {
	color: #db1524;
}
.bcarsblock .hdlbox:before {
	background: #db1524;
}
.bcarsblock .hdlbox .hdlen .hdlenin {
	color: #76736c;
}
.bcarsblock .blockservice {
	background: #efefef;
}
.bcarsblock .blockarea .arealist .areatype {
	color: #db1524;
}
.bcarsblock .blockarea .areainner:before {
	background: url("../img/top/bg_bcars02.png") 0 0 no-repeat;
}

.solicitation_policy {
	margin: 10px 0 0 0;
	font-size: 14px;
}
.solicitation_policy a {
	color: #1111cc;
}

@media (max-width: 767px) {
.topblock+.topblock {
	margin-top: 60px;
}

.blockname {
	height: 200px;
}
.blockname .namelogo {
	
}
.blockname .namehd {
	font-size: 20px;
}
.blockmain {
	margin-bottom: 50px;
}
.blockmain .blockmaintxt {
	margin: 20px auto 0;
}
.blockinner+.blockinner {
	margin-top: 30px;
}
.blockservice {
	margin-top: 10px;
	padding: 15px;
}
.blockarea {
	display: block;
}
.blockarea .areamap {
	width: 100%;
}
.blockarea .areamap iframe {
	height: 250px;
}
.blockarea .areainner {
	width: auto;
	padding: 0;
	margin: 0 0 30px;
}
.blockarea .areainner:before {
	display: none;
}
.blockarea .arealist li+li {
	margin-top: 10px;
}
.blockarea .arealist .areatype {
	width: 80px;
}
.blockimg {
	display: block;
	text-align: center;
}
.blockimg li+li {
	margin-top: 10px;
}
.blocklink {
	margin: 17px 0 -3px;
}
.blocklink li {
	margin: 3px 5px 3px 0;
}
.blocklink li a {
	padding: 10px;
}
.blocklink li a img {
	margin-left: 5px;
}
}



/* recruit
----------------------------------------------- */
.recruitarea .hdlbox {
	margin-bottom: 140px;
}
.recruittab {
	width: 100%;
	border-left: 1px #3195b0 solid;
	border-top: 1px #3195b0 solid;
}
.recruittab th,
.recruittab td {
	background: #fff;
	border-bottom: 1px #3195b0 solid;
	padding: 15px 20px;
	line-height: 1.5;
	vertical-align: top;
}
.recruittab th {
	width: 21%;
	font-weight: 700;
	background: #eefafb;
}
.recruittab td {
	border-right: 1px #3195b0 solid;
}
.recruitbtn {
	max-width: 500px;
	margin: 66px auto 0;
}
.recruitbtn a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 90px;
	background: #024289;
	font-size: 24px;
	color: #fff;
}
@media (max-width: 1024px) {
.recruittab th {
	width: 30%;
}
}

@media (max-width: 767px) {
.recruitarea .hdlbox {
	margin-bottom: 30px;
}
.recruittab {
	width: 100%;
	border: 1px #3195b0 solid;
}
.recruittab th,
.recruittab td {
	padding: 15px;
	display: block;
	border: none;
}
.recruittab th {
	width: auto;
}
.recruittab td {
	border: none;
}
.recruitbtn {
	max-width: 260px;
	margin: 40px auto 0;
}
.recruitbtn a {
	height: 60px;
	font-size: 18px;
}
}



/* company
----------------------------------------------- */
.companyblock+.companyblock {
	margin-top: 80px;
}
.compmain {
	text-align: center;
}
.greetbox {
	display: flex;
}
.greetbox .hdlbox {
	margin-bottom: 35px;
}
.greetbox .greetin {
	flex: 1;
}
.greetbox .greetimg {
	margin-left: 35px;
	flex-shrink: 0;
}
.greetbox .greettxt {
	
}
.companyblock .blockarea .areainner {
	padding-top: 25px;
}
.companyblock .blockarea .areainner:before {
	top: -10px;
}
.companyblock .blockarea .arealist {
	margin-top: 15px;
}
.companyblock .compname {
	margin-top: 15px;
	position: relative;
	z-index: 1;
}


@media (max-width: 1024px) {
.greetbox {
	flex-direction: column;
	align-items: center;
}
.greetbox .greetimg {
	margin: 40px 0 0;
}
}

@media (max-width: 767px) {
.companyblock+.companyblock {
	margin-top: 40px;
}
.greetbox .hdlbox {
	margin-bottom: 20px;
}
.greetbox .greetimg {
	margin: 30px 0 0;
}
.greetbox .greettxt {
	
}
.companyblock .blockarea .areainner {
	padding-top: 0;
}
.companyblock .blockarea .arealist {
	margin-top: 15px;
}
.companyblock .compname {
	margin-top: 10px;
}
.companyblock .compname img {
	width: 150px;
}
}

/* reCAPTCHAアイコン非表示 */
.grecaptcha-badge { visibility: hidden; }
.grecaptcha-txt { 
	font-size: 10px;
	margin: 20px 0 0 0;
}
