@charset "UTF-8";
/* Scss Document */
#sp_under {
	display: none;
}
@font-face {
	font-family: "HGRSMP";
	src: url(../webfont/HGRSMP.woff);
}
.hgr {
	font-family: "HGRSMP";
}
.shippori {
	font-family: ShipporiMinchoRyu-Regular;
}
/************/
#cy_header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 9990;
	display: flex;
	justify-content: space-between;
	background-color: #fff;
	overflow: hidden;
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
}
#logo {
	text-align: center;
}
#logo a {
	display: block;
	/* background-color: #0e336a; */
	width: 300px;
	height: 100%;
	padding: 25px 0 20px;
}
#cy_nav {
	position: absolute;
	top: 0;
	left: 320px;
	width: calc(100% - 655px);
}
#cy_nav li {
	display: inline-block;
	padding: 45px 10px;
}
#cy_nav a {
	color: #000;
	text-decoration: none;
	position: relative;
}
#cy_nav a:after {
	content: "";
	border-bottom: 4px solid #0b3775;
	position: absolute;
	bottom: -52px;
	left: 0;
	width: 100%;
	opacity: 0;
	transition: 0.3s ease-in-out;
}
#cy_nav a:hover:after {
	opacity: 1;
}
#cy_nav .hov_span {
	color: #000;
	text-decoration: none;
}
/***HOVER**/
#cy_nav li:hover .hovBox {
	height: 200px;
	padding: 20px 0;
}
.hovBox {
	position: fixed;
	top: 120px;
	left: 0;
	width: 100%;
	padding: 0;
	background-color: #fff;
	border-bottom: 0;
	height: 0;
	overflow: hidden;
	transition: 0.3s ease-in-out;
}
.hovBox:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	border-bottom: 3px solid #0b3775;
}
.hov_left {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	width: 300px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
.hov_icon {
	margin-right: 20px;
	position: relative;
	top: -5px;
}
.hov_midashi {
	font-size: 34px;
	text-align: left;
	line-height: 1em;
}
.hov_midashi span {
	display: block;
	letter-spacing: 0.05em;
	font-size: 16px;
}
.hov_flex {
	padding-left: 340px;
	display: flex;
}
.hov_flex .hov_li {
	width: 160px;
	margin-right: 40px;
	transition: 0.3s ease-in-out;
}
.hov_flex .hov_li:hover {
	opacity: 0.7;
}
.hov_flex p {
	color: #0b3775;
	margin-top: 10px;
}
/**************/
#main {
	margin-top: 120px;
	position: relative;
}
#title_box {
	position: absolute;
	top: 50%;
	left: 60px;
	transform: translateY(-50%);
	z-index: 500;
	color: #fff;
}
#title {
	font-size: 72px;
	line-height: 1.1em;
}
#t_eng {
	font-size: 42px;
	letter-spacing: 0.1em;
}
#main,
.flexslider,
#fade1,
#fade2,
#fade3,
#fade4 {
	height: 850px;
}
#fade1 {
	background: url(../images/fade1.jpg) 50% 0 / cover no-repeat;
}
#fade2 {
	background: url(../images/fade2.jpg) 50% 0 / cover no-repeat;
}
#fade3 {
	background: url(../images/fade3.jpg) 50% 0 / cover no-repeat;
}
#fade4 {
	background-color: #fff;
	position: relative;
	z-index: 600;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.3) inset;
}
.main_flex_box {
	display: flex;
	align-items: center;
	height: 100%;
}
.main_flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.main_left {
	width: 210px;
}
.main_left img {
	width: 100%;
	height: auto;
}
.main_right {
	width: calc(100% - 240px);
}
.main_midashi {
	font-size: 34px;
	display: inline;
	border-bottom: 1px solid #000;
}
.main_list {
	border: 1px solid #000;
	border-bottom: 0;
	margin: 30px 0 20px;
}
.main_list p {
	border-bottom: 1px solid #000;
	padding: 15px 60px;
}
.more a {
	display: block;
	background-color: #0b3775;
	color: #fff;
	padding: 10px 0;
	text-align: center;
	text-decoration: none;
	position: relative;
	width: 100%;
	max-width: 180px;
}
.more a span {
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
}
.more a:hover {
	background-color: #212121;
}
.more a:before {
	content: "";
	border-right: 2px solid #032350;
	position: absolute;
	right: -2px;
	bottom: 0;
	height: calc(100% - 5px);
}
.more a:after {
	content: "";
	border-bottom: 2px solid #032350;
	position: absolute;
	right: -2px;
	bottom: -2px;
	width: calc(100% - 5px);
}
/**************/
.mt-120 {
	margin-top: 120px;
}
.top_box {
	background-color: #fff;
	box-shadow: 10px 10px 15px rgba(0, 0, 0, 0.1);
	padding: 40px 40px 0;
}
.top_flex1 {
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 850px;
	margin: 0 auto;
}
.top_left1 {
	width: 260px;
}
.top_left1 img {
	width: 100%;
	height: auto;
}
.top_right1 {
	width: calc(100% - 340px);
	padding-top: 20px;
}
.midashi36 {
	font-size: 36px;
	line-height: 1.3em;
}
.color {
	color: #0b3775;
}
/***************/
.news_border {
	margin: 120px 0 60px;
	padding-bottom: 60px;
	position: relative;
}
.news_border:after {
	content: "";
	border-bottom: 1px solid #c9c9c9;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}
.news_flex {
	display: flex;
	justify-content: space-between;
}
.news_left {
	width: 300px;
	position: relative;
}
.news_left:after {
	content: "";
	border-right: 1px solid #c9c9c9;
	position: absolute;
	right: 0;
	top: -120px;
	height: calc(100% + 180px);
}
.midashi32 {
	font-size: 32px;
	line-height: normal;
}
.midashi32 .eng {
	color: #a0a0a0;
	font-size: 16px;
}
.span_block {
	display: block;
	margin-top: 5px;
}
.news_right {
	width: calc(100% - 420px);
	position: relative;
}
.news_right:after {
	content: "";
	border-bottom: 6px solid #0b3775;
	position: absolute;
	bottom: -60px;
	left: 0;
	width: 100%;
}
.news li {
	margin: 15px 0;
}
.news li:nth-child(1) {
	margin-top: 0;
}
.news .fas {
	margin-right: 10px;
}
.news a {
	display: table;
	width: 100%;
	color: #a0a0a0;
	text-decoration: none;
	transition: 0.3s ease-in-out;
}
.news a:hover {
	color: #000;
}
.n_cell1 {
	display: table-cell;
	vertical-align: top;
	width: 200px;
	border-right: 1px solid #c3c3c3;
	position: relative;
}
.n_cell2 {
	display: table-cell;
	vertical-align: top;
	padding-left: 60px;
}
/**************/
.bg_gray {
	background-color: #eaeaea;
}
.padding120 {
	padding: 120px 0;
}
.span_pl {
	padding-left: 15px;
}
.top_banar {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.top_banar li {
	width: 49%;
	margin: 20px 0;
}
.top_banar a {
	display: flex;
	justify-content: space-between;
	background-color: #fff;
	color: #000;
	text-decoration: none;
	position: relative;
}
.top_banar a:after {
	content: "";
	border: 5px solid #fff;
	position: absolute;
	top: 10px;
	left: 10px;
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	mix-blend-mode: overlay;
	transition: 0.3s ease-in-out;
}
.top_banar a:hover:after {
	border-color: #0b3775;
}
.top_banar span {
	letter-spacing: 0;
}
.banar_left {
	width: 210px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.banar_left h3 {
	font-size: 24px;
	text-align: center;
	line-height: 1em;
}
.banar_left h3 span {
	display: block;
	font-size: 12px;
	color: #a0a0a0;
}
.banar_left h3:after {
	content: "";
	border-bottom: 4px solid #0b3775;
	display: block;
	width: 30px;
	margin: 10px auto 0;
}
.banar_right {
	overflow: hidden;
	width: calc(100% - 210px);
}
/**************/
.recruit_box {
	background-color: #fff;
	padding: 140px 0;
	position: relative;
	overflow: hidden;
}
.recruit_box:before {
	content: "";
	border-top: 1px solid #fff;
	position: absolute;
	top: 140px;
	left: 0;
	width: 100%;
	z-index: 500;
	opacity: 0.2;
}
.recruit_box:after {
	content: "";
	border-top: 1px solid #fff;
	position: absolute;
	bottom: 140px;
	left: 0;
	width: 100%;
	z-index: 500;
	opacity: 0.2;
}
.rec_width {
	background-color: #fff;
	width: 480px;
	position: relative;
	z-index: 500;
	padding: 100px 120px 100px 0;
}
.rec_width:after {
	content: "";
	border-right: 1px solid #fff;
	height: 100%;
	position: absolute;
	left: 480px;
	top: -140px;
	height: calc(100% + 280px);
	opacity: 0.2;
}
.midashi24 {
	font-size: 24px;
}
#top_bg {
	position: absolute;
	top: 0;
	right: 0;
	background: url(../images/top8.jpg) 50% 0 / cover no-repeat;
	width: 65%;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
}
.more_list {
	display: flex;
	justify-content: space-between;
}
.more_list li {
	width: 49%;
}
.more_black a {
	background-color: #212121;
}
.more_black a:hover {
	background-color: #0b3775;
}
/**************/
.corona_box {
	background-color: #202020;
	color: #fff;
	padding: 80px 0;
	margin: 60px 0 20px;
}
.border_w {
	border: 1px solid #fff;
	padding: 60px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.corona_left {
	width: calc(100% - 280px);
}
.corona_right {
	width: 250px;
}
.corona_right a {
	display: block;
	padding: 10px 10px 10px 0;
	text-align: center;
	color: #0b3775;
	background-color: #fff;
	text-decoration: none;
	position: relative;
}
.corona_right a span {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}
.corona_right a:hover {
	background-color: #0b3775;
	color: #fff;
}
/***************/
#cy_footer {
	background-color: #202020;
	padding: 150px 0 0;
	color: #fff;
}
#cy_footer .margin_15 a{
	color:#fff;
}
.f_flex {
	display: flex;
	justify-content: space-between;
	font-size: 14px;
}
.f_left {
	width: 600px;
}
.f_flex2 {
	display: flex;
	justify-content: space-between;
}
.f_menu_left {
	width: 45%;
}
.f_menu_right {
	width: 45%;
}
.f_bb {
	border-bottom: 1px solid #fff;
	padding-bottom: 20px;
}
.f_nav {
	padding-top: 20px;
	display: flex;
	justify-content: space-between;
}
.f_nav li {
	width: 49%;
}
.f_nav li a {
	color: #fff;
	text-decoration: none;
}
.f_nav .p_mt {
	margin-top: 15px;
}
.f_nav p {
	padding: 2px 0;
}
.f_p_list {
	padding-top: 20px;
}
.f_p_list a {
	color: #fff;
	text-decoration: none;
}
.f_p_list p {
	padding: 2px 0;
}
.f_p_flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 15px;
}
.f_p_flex p {
	width: 50%;
}
.f_p_flex p:nth-child(2n) {
	width: 48%;
}
.f_nav3 {
	padding-top: 20px;
}
.f_nav3 li {
	display: inline-block;
	margin: 5px 20px 5px 0;
}
.f_nav3 a {
	color: #fff;
	text-decoration: none;
}
.f_right {
	width: calc(100% - 720px);
}
.map_img img {
	width: 100%;
	height: auto;
}
#copy {
	background-color: #fff;
	padding: 10px 10px 5px;
	text-align: center;
	margin-top: 150px;
	color: #000;
}
#copy a {
	color: #212121;
}
/*****************************************************************************************

	企業情報

*****************************************************************************************/
/**************************************
	代表挨拶/会社概要
**************************************/
#main_in {
	margin-top: 120px;
	background-color: #f6f8f9;
}
#title_in {
	padding: 120px 0;
	text-align: center;
	font-size: 34px;
	line-height: 1em;
}
#title_in span {
	display: block;
	font-size: 14px;
	color: #0b3775;
	letter-spacing: 0;
}
/*****/
.pan_list {
	border-bottom: 1px solid #dcdcdc;
	padding: 30px 0 15px;
	margin: 0 auto;
	font-size: 14px;
}
.pan_list a {
	color: #0b3775;
	text-decoration: none;
	margin-right: 15px;
}
.pan_list span {
	padding: 0 15px;
	border-left: 1px solid #dcdcdc;
}
/*********/
.pt-120 {
	padding-top: 120px;
}
.midashi32 .eng_in {
	font-size: 14px;
	color: #000;
	letter-spacing: 0.05em;
}
.af_bb:after {
	content: "";
	border-bottom: 2px solid #0b3775;
	width: 30px;
	display: block;
	margin: 10px 0 0;
}
.box_shadow {
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}
.gree_box {
	padding: 80px 20px 120px;
	width: 100%;
	max-width: 1024px;
	margin: 0 auto;
}
.name {
	text-align: right;
	color: #0b3775;
	font-size: 22px;
}
/********************/
.padding100_20 {
	padding: 100px 20px;
}
.w1024_auto {
	width: 100%;
	max-width: 1024px;
	margin: 0 auto;
}
.com_table li {
	display: table;
	width: 100%;
	padding: 15px 0;
}
.com_cell1 {
	display: table-cell;
	vertical-align: top;
	width: 250px;
	font-size: 22px;
}
.com_cell1 span {
	border-bottom: 1px solid #dcdcdc;
	display: block;
}
.com_cell2 {
	display: table-cell;
	vertical-align: top;
	padding-left: 80px;
}
.com_bb {
	padding: 5px 10px;
	border-bottom: 1px solid #dcdcdc;
}
/*****/
.travel_flex {
}
.travel_flex .travel_li {
	float: left;
	width: 30.33%;
	margin: 1.5%;
}
/**************************************
	拠点紹介
**************************************/
.sp_scroll_p {
	display: none;
}
.time_table {
	width: 100%;
}
.time_table td {
	width: 25%;
	padding: 20px;
	background-color: #f6f8f9;
	border: 2px solid #fff;
	font-size: 18px;
}
.time_table .bg_w {
	background-color: #fff;
}
/***********/
.w1200_auto {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}
.base_flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.base_left {
	width: 44%;
}
.base_right {
	width: 52%;
}
/***********/
.border_b {
	border: 1px solid #0b3775;
}
.center {
	text-align: center;
}
.qr_list {
	display: flex;
	justify-content: space-between;
}
.qr_list li {
	width: 50%;
	text-align: center;
}
.qr_list li:nth-child(1) {
	border-right: 1px solid #0b3775;
}
.qr_width {
	width: 100%;
	max-width: 220px;
	margin: 0 auto;
}
/*****************************************************************************************

	事業紹介

*****************************************************************************************/
/**************************************
	扉
**************************************/
.af_bg_se {
	position: relative;
}
.af_bg_se:after {
	content: "";
	background-color: #f6f8f9;
	position: absolute;
	right: 0;
	top: 0;
	height: 100%;
	width: 50%;
}
.span_bb {
	border-bottom: 1px solid #000;
}
.service_banar {
	display: flex;
	flex-wrap: wrap;
}
.service_banar li {
	width: 30.33%;
	margin: 30px 1.5%;
}
.service_banar a {
	color: #000;
	text-decoration: none;
}
.service_banar a:hover .img100:after {
	opacity: 0.7;
}
.service_banar a:hover .se_view {
	opacity: 1;
}
.service_banar .img100 {
	position: relative;
}
.service_banar .img100:after {
	content: "";
	background-color: #032350;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	mix-blend-mode: multiply;
	transition: 0.3s ease-in-out;
}
.se_view {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	text-align: center;
	color: #fff;
	font-size: 18px;
	z-index: 500;
	line-height: normal;
	opacity: 0;
	transition: 0.3s ease-in-out;
}
.se_view span {
	padding-left: 20px;
}
.se_midashi {
	font-size: 24px;
}
.se_midashi span {
	background-color: #0b3775;
	color: #fff;
	position: relative;
	padding-top: 2px;
}
/**************************************
	修理・取付工事
**************************************/
.flex_box {
	display: flex;
	justify-content: space-between;
}
.flex_42 {
	width: 42%;
}
.flex_52 {
	width: 52%;
}
/*******/
.flex_46 {
	width: 46%;
}
.padding60 {
	padding: 60px;
}
.border_g {
	border: 1px solid #dcdcdc;
}
.af_bb_center {
	text-align: center;
}
.af_bb_center:after {
	margin-left: auto;
	margin-right: auto;
}
/*********/
.repair_list {
	display: flex;
	justify-content: space-between;
}
.repair_list li {
	width: 31.33%;
}
.more_center a {
	margin-left: auto;
	margin-right: auto;
}
.repair_link {
	border: 1px solid #000;
	padding: 30px 30px 30px 0;
	display: table;
	width: 100%;
}
.repair_left {
	display: table-cell;
	vertical-align: middle;
	width: 200px;
	border-right: 2px solid #1b1b1b;
}
.repair_left p {
	position: relative;
	top: 3px;
	left: 50%;
	transform: translateX(-50%);
	display: inline-block;
	font-size: 18px;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.repair_right {
	display: table-cell;
	vertical-align: middle;
	padding-left: 80px;
}
.repair_p {
	font-size: 18px;
}
.repair_p .far {
	color: #ce3030;
}
.corona_a a {
	color: #000;
	border-bottom: 1px solid #000;
	text-decoration: none;
}
/*****************/
.bg_blue_thin {
	background-color: #f6f8f9;
}
.repair_padding {
	padding: 60px 0;
}
.repair_flow {
	display: flex;
	flex-wrap: wrap;
}
.repair_flow li {
	width: 30.33%;
	margin: 30px 1.5%;
}
.service_bg_w {
	background-color: #fff;
	padding: 60px 20px;
	position: relative;
	top: 100px;
}
/****************/
.repair_padding2 {
	padding: 260px 0 120px;
}
.repair_img {
	display: flex;
	flex-wrap: wrap;
}
.repair_img li {
	width: 32.33%;
	margin: 0.5%;
}
.repair_img img {
	width: 100%;
	height: auto;
}
/**************************************
	整備・定期点検
**************************************/
.flex_jus_center {
	display: flex;
	justify-content: center;
}
#tab {
	border-bottom: 1px solid #a0a0a0;
}
.mainte_tab {
	display: flex;
	justify-content: space-between;
}
.mainte_tab li {
	width: 49%;
	text-align: center;
	position: relative;
}
.mainte_tab li a {
	border: 1px solid #a0a0a0;
	border-bottom: 0;
	border-radius: 10px 10px 0 0;
	display: block;
	position: relative;
	z-index: 500;
	padding: 15px;
	font-size: 22px;
	color: #000;
	text-decoration: none;
}
.mainte_tab li:after {
	content: "";
	display: none;
	background-color: #fff;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(100% + 2px);
	border-radius: 15px 15px 0 0;
}
.mainte_tab li.active:after {
	display: block;
}
.mainte_tab li.active a {
	color: #0b3775;
}
/***************/
.bb_gray {
	border-bottom: 1px solid #ccc;
}
.case_table {
	display: table;
	width: 100%;
	border: 1px solid #eaeaea;
	padding: 100px 100px 100px 0;
}
.case_cell1 {
	display: table-cell;
	width: 200px;
	vertical-align: middle;
	color: #0b3775;
	font-size: 22px;
	border-right: 1px solid #eaeaea;
	text-align: center;
}
.case_cell2 {
	display: table-cell;
	vertical-align: middle;
	padding-left: 60px;
}
/***********/
.tel_midashi {
	text-align: center;
	font-size: 22px;
}
.tel_midashi span {
	background-color: #000;
	color: #fff;
	padding: 5px 5px 2px;
}
.tel_p {
	text-align: center;
	font-size: 54px;
	line-height: 1em;
	letter-spacing: 0.05em;
}
.tel_bb {
	border-bottom: 1px solid #000;
}
/*************/
.padding60_40 {
	padding: 60px 40px;
}
.mb-120 {
	margin-bottom: 120px;
}
/***********/
.fee_list {
	display: flex;
	justify-content: space-between;
	position: relative;
}
.fee_list li {
	width: 30.33%;
	position: relative;
	z-index: 500;
}
.fee_list img {
	width: 100%;
	height: auto;
}
.fee_list:after {
	content: "";
	border-bottom: 1px solid #032350;
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	transform: translateY(-50%);
}
/**************************************
	電気
**************************************/
.elect_flex {
	display: flex;
	align-items: flex-end;
}
.elect_left {
	width: 35%;
}
.elect_calc {
	background-color: #fff;
	padding: 80px 100px 40px 0;
	width: calc(100% + 160px);
	position: relative;
	z-index: 500;
}
.bl_midashi {
	border-left: 3px solid #0b3775;
	padding-left: 20px;
	font-size: 24px;
	line-height: normal;
}
.elect_right {
	width: 65%;
}
/*****/
.elect_list {
	display: flex;
	flex-wrap: wrap;
}
.elect_list li {
	width: 31.33%;
	margin: 1%;
	border: 1px solid #dcdcdc;
	padding: 40px;
}
.elect_icon {
	height: 100px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 10px;
}
.elect_font {
	color: #0b3775;
	font-size: 20px;
	text-align: center;
}
/*******/
.elect_calc_right {
	background-color: #fff;
	padding: 80px 0 40px 100px;
	width: calc(100% + 160px);
	position: relative;
	left: -160px;
	z-index: 500;
}
.bg_white {
	background-color: #fff;
}
.w380_auto {
	width: 100%;
	max-width: 400px;
	margin: 0 auto;
}
/**************************************
	地中熱
**************************************/
.geo_w_box {
	background-color: #fff;
	padding: 80px 20px;
	position: relative;
	z-index: 500;
	width: 94%;
	max-width: 1200px;
	margin: -140px auto 0;
}
.bg_b_midashi {
	color: #fff;
	background-color: #032350;
	padding: 15px 15px 10px;
	text-align: center;
}
.red_p {
	color: #ee0430;
}
/*********/
.border_midashi {
	display: flex;
	text-align: center;
	align-items: center;
}
.border_midashi:before,
.border_midashi:after {
	content: "";
	border-bottom: 1px solid #0b3775;
	flex-grow: 2;
}
.border_midashi:before {
	margin-right: 40px;
}
.border_midashi:after {
	margin-left: 40px;
}
.geo_num_list {
	display: flex;
	justify-content: space-between;
}
.geo_num_list li {
	width: 23%;
	max-width: 270px;
	text-align: center;
}
.geo_num_list p {
	font-size: 14px;
}
/***************/
.border_green {
	border: 1px solid #80c269;
	border-radius: 10px;
}
.geo_green {
	color: #80c269;
}
.geo_green:after {
	border-color: #80c269;
}
.geo_list {
	display: flex;
	justify-content: space-between;
	position: relative;
}
.geo_list li {
	width: calc(50% - 80px);
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
	padding: 60px;
}
.geo_list:after {
	content: "";
	background: url(../images/geo12.jpg) 50% 0/100% 100% no-repeat;
	width: 73px;
	height: 70px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}
/************/
.geo_intro {
	display: flex;
	flex-wrap: wrap;
}
.geo_intro li {
	width: 31.33%;
	margin: 1%;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.14);
	padding: 40px 20px 30px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
.geo_intro li p {
	width: 100%;
}
/************/
.contact_bg {
	background-color: #f6f8f9;
	padding: 60px 20px;
}
.contact_table li {
	display: table;
	width: 100%;
	padding: 30px 0;
	border-bottom: 1px solid #ccc;
}
.c_cell1 {
	display: table-cell;
	vertical-align: middle;
	width: 300px;
}
.c_cell2 {
	display: table-cell;
	vertical-align: middle;
}
.size {
	background-color: #fff;
	width: 100%;
	height: 60px;
	padding: 0 10px;
	border: 0;
}
.area {
	background-color: #fff;
	width: 100%;
	height: 250px;
	padding: 10px;
	border: 0;
}
.yuubin_posi {
	position: relative;
	width: 100%;
	max-width: 350px;
	padding-left: 40px;
}
.yuubin1 {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.hissu {
	color: #0b3775;
	padding-left: 10px;
}
.radio_flex .wpcf7-radio .wpcf7-list-item {
	display: inline-block;
	margin: 5px 20px 5px 0;
}
/*css radio02*/
.radio_box label {
	margin-right: 10px;
	margin-bottom: 15px;
	padding-left: 13px;
	display: block;
	position: relative;
	cursor: pointer;
}
.wpcf7-list-item-label {
	padding-left: 10px;
}
.radio_box input:checked:before {
	opacity: 1;
}
.radio_box input:after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 25px;
	height: 25px;
	background-color: #fff;
	border: 1px solid #000;
}
.radio_box input:before {
	content: "";
	position: absolute;
	left: 7px;
	top: 7px;
	width: 10px;
	height: 10px;
	background-color: #0b3775;
	border-radius: 50%;
	z-index: 500;
	opacity: 0;
	transition: 0.3s ease-in-out;
}
/********/
.sub input {
	display: block;
	width: 300px;
	margin: 0 auto;
	padding: 15px;
	text-align: center;
	color: #fff;
	background-color: #0b3775;
	border: 0;
	transition: 0.3s ease-in-out;
}
.sub input:hover {
	background-color: #000;
}
/*****************************************************************************************

	UKWについて

*****************************************************************************************/
.ukw_midashi {
	width: calc(100% + 400px);
	padding-top: 40px;
	position: relative;
	z-index: 500;
	font-size: 42px;
}
.ukw_midashi span {
	background-color: #fff;
	padding: 10px 10px 0;
}
/**********/
.af_bg_ukw {
	position: relative;
}
.af_bg_ukw:before {
	content: "";
	border-left: 1px solid #0b3775;
	position: absolute;
	top: -60px;
	left: 50%;
	transform: translateX(-50%);
	width: 1px;
	height: 120px;
	z-index: 500;
}
.af_bg_ukw:after {
	content: "";
	background-color: #f6f8f9;
	position: absolute;
	top: 0;
	left: 0;
	height: 70%;
	width: 100%;
}
.flex_50 {
	width: 50%;
}
.pdf_link {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.pdf_link li {
	width: 48%;
}
.pdf_link a {
	display: block;
	background-color: #0b3775;
	color: #fff;
	padding: 20px;
	color: #fff;
	text-decoration: none;
	background-color: #0b3775;
	position: relative;
	transition: 0.3s ease-in-out;
}
.pdf_link a:hover {
	background-color: #000;
}
.pdf_link span {
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
}
.pdf_link img {
	margin-right: 20px;
}
/***********/
.midashi44 {
	font-size: 44px;
	line-height: normal;
}
.ukw_flex {
	display: flex;
	justify-content: space-between;
}
.ukw_left {
	width: 60%;
	padding-top: 40px;
}
.ukw_list li {
	position: relative;
	padding-left: 80px;
	font-size: 20px;
	margin: 40px 0;
	height: 63px;
	display: flex;
	align-items: center;
}
.ukw_list img {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	display: block;
}
.ukw_list2 {
	position: relative;
	display: flex;
	justify-content: space-between;
	margin-top: 100px;
	padding: 60px 0;
}
.ukw_list2 li {
	position: relative;
	z-index: 500;
	width: 42%;
}
.ukw_list2:after {
	content: "";
	background-color: #f6f8f9;
	position: absolute;
	top: 0;
	left: -80px;
	width: calc(100% + 1000px);
	height: 100%;
}
.ukw_list2 p {
	color: #0b3775;
	font-size: 18px;
	margin-top: 20px;
}
.ukw_right {
	width: 36%;
	position: relative;
	z-index: 500;
	max-width: 340px;
}
.ukw_right p {
	color: #0b3775;
	font-size: 18px;
	margin-top: 20px;
}
/***************/
.ukw_midashi2 {
	text-align: center;
	font-size: 33px;
}
.big38 {
	font-size: 38px;
}
.big40 {
	font-size: 40px;
}
.big58 {
	font-size: 58px;
}
.big42 {
	font-size: 42px;
}
/***************/
.ukw_list3 {
	display: flex;
	flex-wrap: wrap;
}
.ukw_list3 li {
	width: 29.33%;
	margin: 40px 2%;
	padding-bottom: 50px;
	position: relative;
}
.ukw_list3 .img100 {
	margin-bottom: 20px;
}
.ukw_num {
	color: #f8f5f5;
	position: absolute;
	right: -20px;
	bottom: 0;
	font-size: 90px;
	line-height: 1em;
	letter-spacing: 0;
}
/*****************************************************************************************

	新卒採用

*****************************************************************************************/
#rec_main {
	background: url(../images/new_door1.jpg) 50% 0 / cover no-repeat;
	position: relative;
}
.main_size {
	margin-top: 120px;
	height: 700px;
}
#rec_title {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	transform: translateY(-50%);
}
#rec1 {
	font-size: 60px;
	text-align: center;
	color: #fff;
}
#rec1 span {
	font-size: 80px;
}
#rec2 {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	font-size: 20px;
}
#rec2:before,
#rec2:after {
	content: "";
	border-bottom: 1px solid #fff;
	width: 60px;
}
#rec2:before {
	margin-right: 20px;
}
#rec2:after {
	margin-left: 20px;
}
/***********/
#rec_bg {
	background: url(../images/new_door2.jpg) 50% bottom/1920px 943px no-repeat;
	height: 1400px;
}
.rec_text {
	text-align: center;
	font-size: 20px;
	line-height: 2.6em;
}
.rec_link {
	display: flex;
	justify-content: space-between;
}
.rec_link li {
	width: 48%;
}
.rec_link a {
	display: block;
	width: 100%;
	max-width: 100%;
	padding: 20px 20px 20px 0;
	background-color: #313131;
}
.rec_link a:before {
	border-right: 2px solid #212121;
}
.rec_link a:after {
	border-bottom: 2px solid #212121;
}
.rec_link a:hover {
	background-color: #0b3775;
}
.rec_link li:nth-child(1) a {
	background-color: #0b3775;
}
.rec_link li:nth-child(1) a:before,
.rec_link li:nth-child(1) a:after {
	border-color: #032350;
}
.rec_link li:nth-child(1) a:hover {
	background-color: #212121;
}
/**************************************
	トップメッセージ
**************************************/
.message_flex {
	display: flex;
	height: 444px;
}
.message_left {
	width: 50%;
	background: url(../images/message1.jpg) 50% 0 / cover no-repeat;
}
.message_right {
	background-color: #0b3775;
	color: #fff;
	width: 50%;
	padding: 20px 60px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.message_title {
	font-size: 24px;
	line-height: 2.2em;
	padding-top: 20px;
}
.message_title span {
	border-bottom: 1px solid #fff;
}
.message_name {
	margin-top: 40px;
	text-align: right;
	font-size: 20px;
}
.message_bg_w {
	background-color: #fff;
	padding: 120px 20px;
	position: relative;
	z-index: 500;
	width: 94%;
	max-width: 1200px;
	margin: -30px auto 0;
}
/**************************************
	採用までの流れ
**************************************/
.flow_list li {
	display: table;
	width: 100%;
	margin: 80px 0;
	position: relative;
}
.flow_list li:nth-child(1) .flow_cell1 {
	background-color: #d5e2f3;
}
.flow_list li:nth-child(2) .flow_cell1 {
	background-color: #abc4e6;
}
.flow_list li:nth-child(3) .flow_cell1 {
	background-color: #80a4d7;
}
.flow_list li:nth-child(4) .flow_cell1 {
	background-color: #5e8cce;
}
.flow_list li:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -45px;
	text-align: center;
	background: url(../images/rec_shape.png) 50% 0/14px 9px no-repeat;
	width: 360px;
	height: 9px;
}
.flow_list li:last-child:after {
	display: none;
}
.flow_list li a {
	color: #0b3775;
	text-decoration: none;
	border-bottom: 1px solid #0b3775;
}
.flow_cell1 {
	display: table-cell;
	vertical-align: middle;
	width: 360px;
	padding: 80px 20px;
	text-align: center;
	font-size: 22px;
}
.flow_cell2 {
	display: table-cell;
	vertical-align: middle;
	padding: 0 60px;
}
.entry_more a {
	font-size: 24px;
	padding: 60px 40px 55px 20px;
	max-width: 740px;
	margin: 0 auto;
}
/**************************************
	募集要項
**************************************/
.rec_table li {
	display: table;
	width: 100%;
	padding: 30px 60px;
	box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.03);
	margin: 30px 0;
}
.rec_cell1 {
	display: table-cell;
	width: 280px;
	vertical-align: middle;
}
.rec_cell2 {
	display: table-cell;
	vertical-align: middle;
}
.rec_bg {
	background-color: #fbfafa;
	padding: 30px;
}
.mini_table {
	display: table;
	width: 100%;
	margin: 5px 0;
}
.mini_cell1 {
	display: table-cell;
	width: 250px;
}
.mini_cell2 {
	display: table-cell;
}
/*****************************************************************************************

	既卒採用

*****************************************************************************************/
#al_main {
	background: url(../images/recruit_door1.jpg) 50% 0 / cover no-repeat;
	position: relative;
}
#al_bg {
	background: url(../images/recruit_door2.jpg) 50% bottom/cover no-repeat;
}
/*****************************************************************************************

	エントリーフォーム

*****************************************************************************************/
.entry_form .size,
.entry_form .area {
	background-color: #f8f8f8;
}
.entry_form .radio_box input:after {
	background-color: #f8f8f8;
	border: 1px solid #f8f8f8;
}
.age_list {
	display: table;
	width: 100%;
}
.age_li {
	display: table-cell;
	width: 33.33%;
	position: relative;
}
.age_li .age_p {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}
.age_li input {
	width: calc(100% - 60px);
}
/*****************************************************************************************

	お問い合わせ

*****************************************************************************************/
.news_in a {
	color: #000;
	padding: 40px 0;
	border-bottom: 1px solid #a0a0a0;
}
.c_tel_p {
	margin-right: 20px;
}

/****************************************************************/

.search_flex {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #f1f1f1;
	padding: 20px;
	margin-top: 30px;
}
.search_left {
	width: 150px;
	font-weight: bold;
}
.search_select {
	width: 250px;
	height: 40px;
	padding: 0 10px;
}
.search_right {
	width: 80px;
	height: 38px;
}
.search_right input {
	display: block;
	height: 100%;
	width: 100%;
	background-color: #0b3775;
	color: #fff;
	margin: 0 0 0 5px;
	border: 0;
}
.iftel a {
	color: #fff;
}
.font15 {
	font-size: 7.5px;
}
.margin_15 {
	margin: 15px 0 0 15px;
}
/* PC用
------------------------------------------------------------*/
@media only screen and (max-width: 1600px) {
	#logo a {
		width: 200px;
		height: 100%;
		padding: 12px 0;
	}
	#cy_nav {
		left: 220px;
		width: calc(100% - 470px);
	}
	#cy_nav li {
		padding: 35px 7px;
		font-size: 14px;
	}
	#cy_nav a:after {
		bottom: -35px;
	}
	#cy_nav a:hover:after {
		opacity: 1;
	}
	/***HOVER**/
	#cy_nav li:hover .hovBox {
		height: 200px;
		padding: 20px 0;
	}
	.hovBox {
		top: 90px;
	}
	.hov_left {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: 0;
		width: 220px;
	}
	.hov_icon {
		margin-right: 20px;
		position: relative;
		top: -5px;
	}
	.hov_midashi {
		font-size: 24px;
		text-align: left;
		line-height: 1em;
	}
	.hov_midashi span {
		display: block;
		letter-spacing: 0.05em;
		font-size: 12px;
	}
	.hov_flex {
		padding-left: 230px;
	}
	.hov_flex .hov_li {
		width: 160px;
		margin-right: 40px;
	}
	/*********/
	#h_right img {
		width: 270px;
		height: auto;
	}
	/**************/
	#main {
		margin-top: 90px;
		position: relative;
	}
	/*****************************************************************************************

	企業情報

*****************************************************************************************/
	/**************************************
	代表挨拶/会社概要
**************************************/
	#main_in {
		margin-top: 90px;
		background-color: #f6f8f9;
	}
	/*****************************************************************************************

	新卒採用

*****************************************************************************************/
	.main_size {
		margin-top: 90px;
	}
}

@media only screen and (max-width: 1300px) {
	#logo a {
		width: 180px;
	}
	#cy_nav {
		left: 200px;
		width: calc(100% - 450px);
	}
	#cy_nav li {
		font-size: 13px;
	}
	/***HOVER**/
	#cy_nav li:hover .hovBox {
		height: 180px;
		padding: 20px 0;
	}
	.hovBox {
		top: 90px;
	}
	.hov_left {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: 0;
		width: 180px;
	}
	.hov_icon {
		margin-right: 10px;
		position: relative;
		top: -5px;
	}
	.hov_midashi {
		font-size: 22px;
		line-height: 1em;
	}
	.hov_midashi span {
		font-size: 10px;
	}
	.hov_flex {
		padding-left: 210px;
	}
	.hov_flex .hov_li {
		width: 140px;
		margin-right: 20px;
	}
}

@media only screen and (max-width: 1200px) {
	#cy_nav {
		display: none;
	}
	#h_right {
		position: fixed;
		top: 0;
		right: 100px;
	}
	#h_right img {
		width: 275px;
		height: auto;
	}
}

@media only screen and (max-width: 1024px) {
	/**************/
	#main {
		margin-top: 90px;
		position: relative;
	}
	#title_box {
		left: 20px;
	}
	#title {
		font-size: 52px;
		line-height: 1.1em;
	}
	#t_eng {
		font-size: 30px;
		letter-spacing: 0.1em;
	}
	#main,
	.flexslider,
	#fade1,
	#fade2,
	#fade3,
	#fade4 {
		height: 550px;
	}
	/**************/
	.mt-120 {
		margin-top: 80px;
	}
	.midashi36 {
		font-size: 26px;
		line-height: 1.3em;
	}
	/***************/
	.news_border {
		margin: 80px 0 40px;
		padding-bottom: 40px;
	}
	.news_border:after {
		content: "";
		border-bottom: 1px solid #c9c9c9;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
	}
	.news_flex {
		display: flex;
		justify-content: space-between;
	}
	.news_left {
		width: 200px;
		position: relative;
	}
	.news_left:after {
		top: -80px;
		height: calc(100% + 120px);
	}
	.midashi32 {
		font-size: 24px;
	}
	.midashi32 .eng {
		font-size: 14px;
	}
	.span_block {
		display: block;
		margin-top: 5px;
	}
	.news_right {
		width: calc(100% - 260px);
	}
	.news_right:after {
		bottom: -40px;
	}
	/**************/
	.padding120 {
		padding: 80px 0;
	}
	.span_pl {
		padding-left: 10px;
	}
	.top_banar {
		display: block;
	}
	.top_banar li {
		width: 100%;
		margin: 20px 0;
	}
	.banar_left {
		width: 300px;
	}
	.banar_right {
		overflow: hidden;
		width: calc(100% - 300px);
	}
	/**************/
	.recruit_box {
		padding: 80px 0;
	}
	/**************/
	.corona_box {
		padding: 40px 0;
		margin: 40px 0 20px;
	}
	.border_w {
		padding: 40px;
	}
	/***************/
	#cy_footer {
		background-color: #202020;
		padding: 80px 0 0;
		color: #fff;
	}
	.f_flex {
		display: block;
		font-size: 14px;
	}
	.f_left {
		width: 100%;
	}
	.f_right {
		width: 100%;
		margin-top: 40px;
	}
	#copy {
		margin-top: 80px;
	}
	/*****************************************************************************************

	企業情報

*****************************************************************************************/
	/**************************************
	代表挨拶/会社概要
**************************************/
	.pt-120 {
		padding-top: 80px;
	}
	/********************/
	.padding100_20 {
		padding: 80px 20px;
	}
	/*****************************************************************************************

	事業紹介

*****************************************************************************************/
	/**************************************
	扉
**************************************/
	.service_banar {
		justify-content: space-between;
	}
	.service_banar li {
		width: 48%;
		margin: 30px 0;
	}
	.mb-120 {
		margin-bottom: 80px;
	}
	/*****************************************************************************************

	新卒採用

*****************************************************************************************/
	.main_size {
		margin-top: 90px;
		height: 450px;
	}
	#rec1 {
		font-size: 40px;
	}
	#rec1 span {
		font-size: 60px;
	}
}

@media only screen and (max-width: 740px) {
	#sp_under {
		display: block;
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		padding: 10px;
		z-index: 900;
		text-align: center;
		background-color: #0b3775;
	}
	#sp_under img {
		width: 200px;
		height: auto;
	}
	#logo a {
		width: 120px;
		padding: 10px 0;
	}
	#logo a img {
		width: 100px;
		height: auto;
	}
	/**************/
	#main {
		margin-top: 60px;
		position: relative;
	}
	#title_box {
		left: 0;
		padding: 0 14px;
	}
	#title {
		font-size: 26px;
		line-height: 1.3em;
	}
	#t_eng {
		font-size: 20px;
		letter-spacing: 0.1em;
	}
	#main,
	.flexslider,
	#fade1,
	#fade2,
	#fade3,
	#fade4 {
		height: 580px;
	}
	#fade1 {
		background: url(../images/fade1.jpg) 50% 0 / cover no-repeat;
	}
	#fade2 {
		background: url(../images/fade2.jpg) 50% 0 / cover no-repeat;
	}
	#fade3 {
		background: url(../images/fade3.jpg) 70% 0 / cover no-repeat;
	}
	#fade4 {
		background-color: #fff;
		position: relative;
		z-index: 600;
	}
	.main_flex_box {
		display: block;
		align-items: center;
		height: 100%;
		padding-top: 40px;
	}
	.main_flex {
		display: block;
	}
	.main_left {
		width: 100%;
		text-align: center;
	}
	.main_left img {
		width: 100%;
		max-width: 100px;
		height: auto;
	}
	.main_right {
		width: 100%;
	}
	.main_midashi {
		font-size: 18px;
	}
	.main_list {
		border: 1px solid #000;
		border-bottom: 0;
		margin: 10px 0 10px;
	}
	.main_list p {
		padding: 5px 20px;
	}
	#h_right {
		display: none;
		position: fixed;
		bottom: 0;
		left: 0;
	}
	#h_right img {
		width: 250px;
		height: auto;
	}
	/**************/
	.mt-120 {
		margin-top: 60px;
	}
	.top_box {
		background-color: #fff;
		box-shadow: 10px 10px 15px rgba(0, 0, 0, 0.1);
		padding: 20px 20px 0;
	}
	.top_flex1 {
		display: block;
	}
	.top_left1 {
		width: 100%;
		text-align: center;
		margin-top: 40px;
	}
	.top_left1 img {
		width: 100%;
		max-width: 260px;
		height: auto;
	}
	.top_right1 {
		width: 100%;
		padding-top: 20px;
	}
	.midashi36 {
		font-size: 22px;
		line-height: 1.5em;
	}
	.color {
		color: #0b3775;
	}
	/***************/
	.news_border {
		margin: 60px 0 20px;
		padding-bottom: 40px;
	}
	.news_flex {
		display: block;
	}
	.news_left {
		width: 100%;
		border-bottom: 1px solid #c9c9c9;
		padding-bottom: 20px;
		margin-bottom: 20px;
	}
	.news_left:after {
		display: none;
	}
	.midashi32 {
		font-size: 22px;
		line-height: 1.5em;
	}
	.midashi32 .eng {
		font-size: 12px;
	}
	.span_block {
		display: block;
		margin-top: 5px;
	}
	.news_right {
		width: 100%;
		position: relative;
	}
	.news_right:after {
		content: "";
		border-bottom: 6px solid #0b3775;
		position: absolute;
		bottom: -40px;
		left: 0;
		width: 100%;
	}
	.news li {
		margin: 0;
		border-bottom: 1px dashed #c3c3c3;
		padding: 10px 0;
	}
	.news li:nth-child(1) {
		margin-top: 0;
	}
	.news .fas {
		margin-right: 10px;
	}
	.news a {
		display: block;
		color: #000;
	}
	.n_cell1 {
		display: block;
		width: 100%;
		border: 0;
		color: #0b3775;
	}
	.n_cell2 {
		display: block;
		padding-left: 0;
		margin-top: 5px;
	}
	/**************/
	.padding120 {
		padding: 60px 0;
	}
	.span_pl {
		padding-left: 0;
		display: block;
		margin-top: 5px;
	}
	.top_banar {
		display: block;
		margin-top: 40px;
	}
	.top_banar li {
		width: 100%;
		margin: 5px 0;
	}
	.top_banar a:after {
		border: 3px solid #fff;
		top: 5px;
		left: 5px;
		width: calc(100% - 10px);
		height: calc(100% - 10px);
	}
	.banar_left {
		width: 140px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.banar_left h3 {
		font-size: 18px;
	}
	.banar_left h3 span {
		font-size: 10px;
	}
	.banar_left h3:after {
		border-bottom: 2px solid #0b3775;
		width: 30px;
	}
	.banar_right {
		overflow: hidden;
		width: calc(100% - 140px);
	}
	/**************/
	.recruit_box {
		padding: 40px 0;
	}
	.recruit_box:before {
		display: none;
	}
	.recruit_box:after {
		display: none;
	}
	.rec_width {
		width: 100%;
		padding: 20px 14px;
	}
	.rec_width:after {
		display: none;
	}
	.midashi24 {
		font-size: 18px;
	}
	#top_bg {
		position: static;
		height: 300px;
		width: 100%;
		margin-top: 40px;
	}
	/**************/
	.corona_box {
		padding: 20px 0;
		margin: 40px 0 20px;
	}
	.border_w {
		padding: 20px;
		display: block;
	}
	.corona_left {
		width: 100%;
	}
	.corona_right {
		width: 100%;
		margin-top: 20px;
	}
	/***************/
	#cy_footer {
		padding: 40px 0 0;
	}
	.f_flex {
		display: block;
		font-size: 14px;
	}
	.f_left {
		width: 100%;
	}
	.f_flex2 {
		display: block;
	}
	.f_menu_left {
		width: 100%;
	}
	.f_menu_right {
		width: 100%;
		margin-top: 40px;
	}
	.f_bb {
		padding-bottom: 10px;
	}
	.f_nav {
		padding-top: 10px;
	}
	.f_nav .p_mt {
		margin-top: 5px;
	}
	.f_nav p {
		padding: 2px 0;
	}
	.f_p_list {
		padding-top: 20px;
	}
	.f_p_flex {
		margin-top: 5px;
	}
	.f_p_flex p {
		width: 49%;
	}
	.f_p_flex p:nth-child(2n) {
		width: 49%;
	}
	.f_nav3 {
		padding-top: 15px;
		display: block;
	}
	.f_nav3 li {
		width: 100%;
		margin: 2px 0;
	}
	.f_right {
		width: 100%;
		margin-top: 40px;
	}
	.map_img img {
		width: 100%;
		height: auto;
	}
	#copy {
		margin-top: 40px;
	}
	/*****************************************************************************************

	企業情報

*****************************************************************************************/
	/**************************************
	代表挨拶/会社概要
**************************************/
	#main_in {
		margin-top: 60px;
	}
	#title_in {
		padding: 80px 0 60px;
		font-size: 24px;
		line-height: 1em;
	}
	#title_in span {
		font-size: 12px;
	}
	/*****/
	.pan_list {
		padding: 20px 0 10px;
		font-size: 10px;
	}
	.pan_list a {
		margin-right: 5px;
	}
	.pan_list span {
		padding: 0 5px;
	}
	/*********/
	.pt-120 {
		padding-top: 60px;
	}
	.midashi32 .eng_in {
		font-size: 12px;
	}
	.gree_box {
		padding: 20px 20px 20px;
		width: 100%;
		max-width: 1024px;
		margin: 0 auto;
	}
	.name {
		font-size: 16px;
	}
	/********************/
	.padding100_20 {
		padding: 40px 20px;
	}
	.w1024_auto {
		width: 100%;
		max-width: 1024px;
		margin: 0 auto;
	}
	.com_table li {
		display: block;
		padding: 0;
	}
	.com_cell1 {
		display: block;
		width: 100%;
		font-size: 14px;
		background-color: #f4f4f4;
		padding: 15px;
	}
	.com_cell1 span {
		border-bottom: 0;
		display: block;
	}
	.com_cell2 {
		display: block;
		padding-left: 0;
		padding: 15px 15px 25px 15px;
	}
	.com_bb {
		border-bottom: 0;
	}
	/*****/
	.travel_flex .travel_li {
		float: none;
		width: 100%;
		margin: 20px 0;
	}

	/**************************************
	拠点紹介
**************************************/
	.sp_scroll_p {
		display: block;
		color: #0b3775;
		margin-bottom: 10px;
	}
	.scroll_table {
		overflow-x: scroll;
	}
	.time_table {
		width: 580px;
	}
	.time_table td {
		width: 25%;
		padding: 10px;
		border: 2px solid #fff;
		font-size: 13px;
	}
	/***********/
	.w1200_auto {
		width: 100%;
		max-width: 1200px;
		margin: 0 auto;
	}
	.base_flex {
		display: block;
	}
	.base_left {
		width: 100%;
		margin-top: 40px;
	}
	.base_right {
		width: 100%;
	}
	/***********/
	.qr_list {
		display: block;
	}
	.qr_list li {
		width: 100%;
		padding: 20px 0;
		border-right: 0;
	}
	.qr_list li:nth-child(1) {
		border-right: 0;
		border-bottom: 1px solid #0b3775;
	}
	/*****************************************************************************************

	事業紹介

*****************************************************************************************/
	/**************************************
	扉
**************************************/
	.af_bg_se:after {
		width: 100%;
	}
	.service_banar {
		display: flex;
		justify-content: space-between;
	}
	.service_banar li {
		width: 49%;
		margin: 20px 0;
	}
	.service_banar .img100:after {
		display: none;
	}
	.service_banar p {
		font-size: 12px;
	}
	.se_view {
		display: none;
	}
	.se_midashi {
		font-size: 14px;
	}
	.se_midashi span {
		background-color: #0b3775;
		color: #fff;
		position: relative;
		padding-top: 2px;
	}
	/**************************************
	修理・取付工事
**************************************/
	.flex_box {
		display: block;
	}
	.flex_42 {
		width: 100%;
	}
	.flex_52 {
		width: 100%;
	}
	/*******/
	.flex_46 {
		width: 100%;
	}
	.padding60 {
		padding: 20px;
	}
	/*********/
	.repair_list {
		display: block;
	}
	.repair_list li {
		width: 100%;
		margin: 40px 0;
	}
	.repair_link {
		border: 1px solid #000;
		padding: 20px;
		display: block;
	}
	.repair_left {
		display: block;
		width: 100%;
		border-right: 0;
		border-bottom: 2px solid #1b1b1b;
	}
	.repair_left p {
		position: relative;
		top: 0;
		left: 0;
		transform: translateX(0);
		display: block;
		font-size: 18px;
		-ms-writing-mode: lr-tb;
		/* for MS IE8+ */
		-webkit-writing-mode: horizontal-tb;
		writing-mode: horizontal-tb;
	}
	.repair_right {
		display: block;
		padding-left: 0;
		padding-top: 20px;
	}
	.repair_p {
		font-size: 14px;
	}
	/*****************/
	.repair_padding {
		padding: 40px 0;
	}
	.repair_flow {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.repair_flow li {
		width: 49%;
		margin: 20px 0%;
	}
	.service_bg_w {
		padding: 40px 20px;
		top: 0;
	}
	/****************/
	.repair_padding2 {
		padding: 40px 0;
	}
	.repair_img {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.repair_img li {
		width: 49%;
		margin: 0.5% 0;
	}
	/**************************************
	整備・定期点検
**************************************/
	.flex_jus_center {
		display: block;
	}
	#tab {
		border-bottom: 1px solid #a0a0a0;
		margin-top: 0 !important;
	}
	.mainte_tab li a {
		padding: 10px 5px;
		font-size: 14px;
	}
	/***************/
	.case_table {
		display: block;
		width: 100%;
		border: 1px solid #eaeaea;
		padding: 20px;
	}
	.case_cell1 {
		display: block;
		width: 100%;
		vertical-align: middle;
		color: #0b3775;
		font-size: 18px;
		border-right: 0;
		text-align: center;
	}
	.case_cell2 {
		display: block;
		padding-left: 0;
		margin-top: 15px;
	}
	/***********/
	.tel_midashi {
		font-size: 18px;
	}
	.tel_midashi span {
		background-color: #000;
		color: #fff;
		padding: 5px;
	}
	.tel_p {
		font-size: 26px;
	}
	/*************/
	.padding60_40 {
		padding: 20px;
	}
	.mb-120 {
		margin-bottom: 60px;
	}
	/***********/
	.fee_list {
		display: block;
	}
	.fee_list li {
		width: 100%;
		margin: 20px 0;
	}
	.fee_list:after {
		content: "";
		border-bottom: 0;
		border-left: 1px solid #032350;
		position: absolute;
		top: 0;
		left: 50%;
		width: 1px;
		height: 100%;
		transform: translateX(-50%);
	}
	/**************************************
	電気
**************************************/
	.elect_flex {
		display: block;
	}
	.elect_left {
		width: 100%;
	}
	.elect_calc {
		background-color: #fff;
		padding: 0;
		width: 100%;
	}
	.bl_midashi {
		font-size: 18px;
		line-height: normal;
	}
	.elect_right {
		width: 100%;
		margin-top: 40px;
	}
	/*****/
	.elect_list {
		display: block;
	}
	.elect_list li {
		width: 100%;
		margin: 15px 0;
		padding: 20px;
	}
	.elect_font {
		font-size: 16px;
	}
	/*******/
	.elect_calc_right {
		padding: 0;
		width: 100%;
		left: 0;
	}
	/**************************************
	地中熱
**************************************/
	.geo_w_box {
		padding: 20px 0;
		margin: 0 auto 0;
	}
	.bg_b_midashi {
		padding: 10px;
		text-align: left;
		font-size: 16px;
	}
	.red_p {
		color: #ee0430;
	}
	/*********/
	.border_midashi {
		display: block;
	}
	.border_midashi:before,
	.border_midashi:after {
		display: none;
	}
	.geo_num_list {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.geo_num_list li {
		width: 46%;
		margin: 10px 0;
	}
	.geo_num_list p {
		font-size: 13px;
		text-align: left;
	}
	/***************/
	.geo_list {
		display: block;
	}
	.geo_list li {
		width: 100%;
		padding: 20px;
		margin: 80px 0;
	}
	.geo_list:after {
		content: "";
		background: url(../images/geo12.jpg) 50% 0/100% 100% no-repeat;
		width: 30px;
		height: 30px;
		position: absolute;
		left: 50%;
		top: calc(50% + 20px);
		transform: translate(-50%, -50%) rotate(90deg);
	}
	/************/
	.geo_intro {
		display: block;
	}
	.geo_intro li {
		width: 100%;
		margin: 5px 0;
		padding: 20px 10px;
		text-align: center;
		display: block;
	}
	.geo_intro li p {
		width: 100%;
	}
	/************/
	.contact_bg {
		background-color: #f6f8f9;
		padding: 20px;
	}
	.contact_table li {
		display: block;
		padding: 30px 0;
		border-bottom: 1px solid #ccc;
	}
	.c_cell1 {
		display: block;
		width: 100%;
	}
	.c_cell2 {
		display: block;
		margin-top: 10px;
	}
	.size {
		height: 40px;
	}
	.area {
		height: 200px;
	}
	.yuubin_posi {
		max-width: 150px;
		padding-left: 20px;
	}
	.yuubin1 {
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
	}
	.hissu {
		color: #0b3775;
		padding-left: 10px;
	}
	.radio_flex .wpcf7-radio .wpcf7-list-item {
		display: inline-block;
		margin: 5px 20px 5px 0;
	}
	/********/
	.sub input {
		width: 240px;
	}
	/*****************************************************************************************

	UKWについて

*****************************************************************************************/
	.ukw_midashi {
		width: 100%;
		padding-top: 0;
		font-size: 20px;
	}
	.ukw_midashi span {
		background-color: #fff;
		padding: 0;
	}
	/**********/
	.af_bg_ukw {
		position: relative;
	}
	.af_bg_ukw:before {
		top: -30px;
		width: 1px;
		height: 60px;
	}
	.af_bg_ukw:after {
		content: "";
		background-color: #f6f8f9;
		position: absolute;
		top: 0;
		left: 0;
		height: 70%;
		width: 100%;
	}
	.flex_50 {
		width: 100%;
	}
	.pdf_link {
		display: block;
	}
	.pdf_link li {
		margin: 10px auto;
		width: 100%;
	}
	.pdf_link a {
		padding: 20px 10px;
		letter-spacing: 0;
	}
	.pdf_link span {
		position: absolute;
		right: 10px;
		top: 50%;
		transform: translateY(-50%);
	}
	.pdf_link img {
		margin-right: 5px;
	}
	/***************/
	.ukw_midashi2 {
		text-align: center;
		font-size: 20px;
	}
	.big38 {
		font-size: 24px;
	}
	.big40 {
		font-size: 18px;
	}
	.big58 {
		font-size: 32px;
	}
	.big42 {
		font-size: 26px;
	}
	.midashi44 {
		font-size: 22px;
		line-height: normal;
	}
	.ukw_flex {
		display: block;
	}
	.ukw_left {
		width: 100%;
		padding-top: 0;
	}
	.ukw_list li {
		padding-left: 0;
		font-size: 14px;
		margin: 40px 0;
		height: auto;
		display: block;
		box-shadow: 0 0 10px rgba(0, 0, 0, 0.08);
		padding: 20px;
	}
	.ukw_list img {
		position: static;
		top: 100%;
		transform: translateY(0);
		display: block;
		margin: 0 auto 15px;
	}
	.ukw_list2 {
		position: relative;
		display: block;
		margin-top: 40px;
		padding: 20px;
	}
	.ukw_list2 li {
		width: 100%;
		margin: 15px 0;
	}
	.ukw_list2:after {
		left: 0;
		width: 100%;
	}
	.ukw_list2 p {
		color: #0b3775;
		font-size: 16px;
		margin-top: 10px;
	}
	.ukw_right {
		width: 100%;
		max-width: 100%;
		margin: 40px auto 0;
		text-align: center;
	}
	.ukw_right img {
		width: 150px;
		height: auto;
	}
	.ukw_right p {
		color: #0b3775;
		font-size: 16px;
		margin-top: 10px;
	}
	/***************/
	.ukw_list3 {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 0 !important;
	}
	.ukw_list3 li {
		width: 48%;
		margin: 20px 0;
		padding-bottom: 40px;
	}
	.ukw_list3 .img100 {
		margin-bottom: 20px;
	}
	.ukw_list3 p {
		position: relative;
		z-index: 500;
	}
	.ukw_list3 .ukw_num {
		right: -20px;
		bottom: 0;
		font-size: 90px;
		line-height: 1em;
		letter-spacing: 0;
		position: absolute;
		z-index: 10;
	}
	/*****************************************************************************************

	新卒採用

*****************************************************************************************/
	.main_size {
		margin-top: 60px;
		height: 350px;
	}
	#rec1 {
		font-size: 22px;
	}
	#rec1 span {
		font-size: 30px;
	}
	#rec2 {
		font-size: 16px;
	}
	#rec2:before,
	#rec2:after {
		width: 40px;
	}
	/***********/
	#rec_bg {
		background: url(../images/new_door2.jpg) 50% bottom/1920px 943px no-repeat;
		height: auto;
		padding-bottom: 400px;
	}
	.rec_text {
		text-align: left;
		font-size: 14px;
		line-height: 2.2em;
	}
	.rec_link {
		display: block;
	}
	.rec_link li {
		width: 100%;
		margin: 10px 0;
	}
	/**************************************
	トップメッセージ
**************************************/
	.message_flex {
		display: block;
		height: 100%;
	}
	.message_left {
		width: 100%;
		background: url(../images/message1.jpg) 50% 0 / cover no-repeat;
		height: 300px;
	}
	.message_right {
		width: 100%;
		padding: 40px 20px;
		display: block;
	}
	.message_title {
		font-size: 20px;
		line-height: 2em;
		padding-top: 20px;
	}
	.message_name {
		margin-top: 40px;
		text-align: right;
		font-size: 20px;
	}
	.message_bg_w {
		padding: 0;
		width: 94%;
		max-width: 1200px;
		margin: 40px auto 0;
	}
	/**************************************
	採用までの流れ
**************************************/
	.flow_list li {
		display: block;
		width: 100%;
		margin: 60px 0;
		position: relative;
	}
	.flow_list li:nth-child(1) {
		margin-top: 0;
	}
	.flow_list li:after {
		bottom: -20px;
		width: 100%;
	}
	.flow_cell1 {
		display: block;
		vertical-align: middle;
		width: 100%;
		padding: 20px;
		text-align: center;
		font-size: 18px;
	}
	.flow_cell2 {
		display: block;
		vertical-align: middle;
		padding: 20px 0;
	}
	.entry_more a {
		font-size: 16px;
		padding: 20px 40px 20px 20px;
	}
	/**************************************
	募集要項
**************************************/
	.rec_table li {
		display: block;
		width: 100%;
		padding: 0;
		box-shadow: 0 0 0 #fff;
		margin: 0;
	}
	.rec_cell1 {
		display: block;
		width: 100%;
		background-color: #f1f1f1;
		padding: 15px;
		font-size: 16px;
	}
	.rec_cell2 {
		display: block;
		padding: 15px 15px 25px;
	}
	.rec_bg {
		background-color: #fbfafa;
		padding: 20px;
	}
	.mini_cell1 {
		width: 100px;
	}
	/*****************************************************************************************

	エントリーフォーム

*****************************************************************************************/
	.age_list {
		display: block;
		width: 100%;
	}
	.age_li .age_p {
		position: absolute;
		right: 10px;
		top: 50%;
		transform: translateY(-50%);
	}
	.age_li input {
		width: calc(100% - 30px);
	}
	/*****************************************************************************************

	お問い合わせ

*****************************************************************************************/
	.news_in a {
		color: #000;
		padding: 20px 0;
		border-bottom: 0;
	}
	.c_tel_p {
		font-weight: bold;
		font-size: 14px;
		display: block;
		margin-bottom: 5px;
		line-height: 2em;
		margin-top: -25px;
	}
	.c_tel_p .tel-link2 {
		font-size: 22px;
	}

	/****************************************************************/

	.search_flex {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-wrap: wrap;
		padding: 15px;
		margin-top: 20px;
	}
	.search_left {
		width: 100%;
		margin-bottom: 5px;
	}
	.search_select {
		width: calc(100% - 85px);
		height: 30px;
		padding: 0 10px;
		display: inline-block;
	}
	.search_right {
		width: 80px;
		height: 30px;
	}
	.search_right input {
		margin: 0;
	}
}
