@charset "utf-8";

/*****************************************
 テーマ以外のオリジナルCSS
******************************************/

@import url('../js/lightbox/css/lightbox.css'); /* lightbox */
@import url('design.css'); /* 個別デザイン */
/*@import url('../js/timeline/css/style.css');*/ /* タイムライン */

/*//////////////////////////////////////////////
  
  PC・モバイル共通CSS
  
///////////////////////////////////////////////*/

h1.pc {
	float: left;
	width: 10%;
	height: 3vw;
    position: relative;
    margin: 0 0 0 2vw;
}

h1.pc img {
	width: 100%;
	height: auto;
	position: absolute;
    margin: auto;
    bottom: 0;
}

#global-nav {
	float: right;
	width: 65%;
}

/*----------------------------------------------
  共通CSS
----------------------------------------------*/
.pc {
	display: block !important;
}
.sp {
	display: none !important;
}

.pc_hid {
	display: block;
}
figure {
	margin: 0;
}

div#flow01 {
	z-index: 30;
}

div#flow02 {
	z-index: 29;
}

div#flow03 {
	z-index: 28;
}

div#flow04 {
	z-index: 27;
}

div#flow05 {
	z-index: 26;
}

div#flow06 {
	z-index: 25;
}

div#flow07 {
	z-index: 24;
}

div#flow08 {
	z-index: 23;
}

div#flow09 {
	z-index: 22;
}

div#flow10 {
	z-index: 21;
}

div#flow11 {
	z-index: 20;
}

div#flow12 {
	z-index: 19;
}

div#flow13 {
	z-index: 18;
}

div#flow14 {
	z-index: 17;
}

div#flow15 {
	z-index: 16;
}

div#flow16 {
	z-index: 15;
}

div#flow17 {
	z-index: 14;
}

.hide {
	display: none;
}


/*----------------------------------------------
  ヘッダー画像スライド
----------------------------------------------*/

.viewer {
	margin: 0 auto;
	width: 100%;
	position: relative;
	overflow: hidden;
}
.viewer ul {
	width: 100%;
	overflow: hidden;
	position: relative;
}
.viewer ul li {
	top: 0;
	left: 0;
	width: 100%;
	position: absolute;
}
.viewer ul li img {
	width: 100%;
	height: auto;
}

/* sideNavi
------------------------- */
.viewer .btnPrev,
.viewer .btnNext {
	margin-top: -25px;
	top: 50%;
	width: 50px;
	height: 50px;
	position: absolute;
	z-index: 101;
}
.viewer .btnPrev {
	left: 10px;
	background: #ccc url(../img/btnPrev.jpg) no-repeat center center;
}
.viewer .btnNext {
	right: 10px;
	background: #ccc url(../img/btnNext.jpg) no-repeat center center;
}


/* =======================================
	ClearFixElements
======================================= */
.viewer ul:after {
	content: ".";
	height: 0;
	clear: both;
	display: block;
	visibility: hidden;
}

.viewer ul {
	display: inline-block;
	overflow: hidden;
	margin: 0;
}

h1 {
	margin: 10px 5px;
	padding: 0;
}



/*--------------------------------------------------------
  float解除のCSS
--------------------------------------------------------*/
.clearfix::after {
	clear: both;
	content: "";
	display: block;
	height: 0;
}

.clearfix {
	overflow: hidden;
}


/*--------------------------------------------------------
  地図の表示
--------------------------------------------------------*/
section iframe {
	width: 100%;
}



/*--------------------------------------------------------
  お問い合わせフォームの表示
--------------------------------------------------------*/
textarea {
	width: 100%;
}

span.font-small {
	font-size: 70%;
	margin-left: 5px;
}

/*--------------------------------------------------------
  ブログカードの表示
--------------------------------------------------------*/

#container aside.blog-card_col2_box {
	margin: 0 5% 3vw;
}
#container aside.blog-card_col2_box ul {
	width: 100%;
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
	display: -webkit-box;/*--- Androidブラウザ用 ---*/
	display: -ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex;/*--- safari（PC）用 ---*/
	
	
	-webkit-flex-flow:row wrap;
	-ms-flex-flow:row wrap;
	flex-flow:row wrap;

}
#container aside.blog-card_col2_box li {
	width: calc(98% / 2);
	margin: 0 2% 0 0;
	position: relative;
}

#container aside.blog-card_col2_box li:nth-child(2n) {
    margin-right: 0;
}

#container aside.blog-card_col2_box h3 {
	background: #0852a0;
	font-size: 1.2vw;
	color: #fff;
	font-weight: bold;
	padding: 0.8vw 1vw;
	margin: 0;
	border: none;
}

#container aside.blog-card ul {
	list-style-type: none;
	margin: 0 -15px 0 0;
	padding: 0;
}

#container aside.blog-card_col2_box ul a {
	border-bottom: 1px solid #d9e0e2;
	display: block;
	overflow: hidden;
	padding: 0.4vw 0;
	position: relative;
	text-decoration: none;
}

#container aside.blog-card_col2_box figure {
	width: 10%;
	background: none repeat scroll 0 0 #fff;
}

#container aside.blog-card_col2_box figure img {
	margin: 0.3vw 0.5vw 0.3vw 0;
	width: 100%;
	height: auto;
	border: none;
}

#container aside.blog-card_col2_box ul p {
	font-size: 1.2vw;
	margin: 0.2vw 0 0;
	overflow: hidden;
	color: #111;
}

#container aside.popular-entries ul p.popular-title {
	font-size: 120%;
	font-weight: bold;
	color: #555;
}

#container aside.blog-card_col2_box ul a:hover {
	background: #f1f1f1;
}
 
#container aside.blog-card li {
	margin: 0 10px 0 0;
	display: inline-table;
	width: 48%;
}

#container aside.blog-card_col2_box .view_count {
	position: absolute;
	bottom: 0;
	right: 0;
	font-family: impact;
	color: #666;
	font-size: 0.8vw;
	background: rgba(0,0,0,0.1);
	padding: 0 0.5vw;
	line-height: 2;
}
 
#container aside.blog-card .view_count:after {
	/*content: "view";*/
	color: #000;
	margin: 0 0 0 5px;
}



/*------------------------------------------------------------
　足場ページの画像横並び
-------------------------------------------------------------*/

ul#grid {
	width: 100%;
	display:flex;
	justify-content: center;
	padding: 0;
	list-style: none;
}

ul#grid li.box01 {
	width: calc(100% / 3);
	margin:14px;
}

ul#grid li.box01:hover, .box2:hover {
	opacity: 0.8;
}

ul#grid li.box01 img {
	width: 100%;
	height: auto;
}





/*--------------------------------------------------------
 1カラムステップダウンのCSS
--------------------------------------------------------*/

ul.step_down {
	margin: 0;
	padding: 0;
}
	
ul.step_down li {
	margin: 0;
	padding: 1em;
	border-bottom: 1px solid #ccc;
	position: relative;
}

ul.step_down li:first-child {
	border-top: 1px solid #ccc;
}

ul.step_down li figure {
	background: #fff none repeat scroll 0 0;
	float: left;
	height: 135px;
	margin: 0 10px 0 0;
	overflow: hidden;
	position: relative;
	width: 190px;
}

ul.step_down li figure img {
	
}


ul.step_down li:nth-child(odd) {
	background: #ffffff;
}

ul.step_down li:nth-child(even) {
	background: #f5f5f5;
}

.triangle_bg01, .triangle_bg02, .triangle_first {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 40px 50px 0 50px;
	position: absolute;
	right: 0;
	top: 0;
}

ul.step_down li h3.step_down_title01 {
	color: #0056b4;
}

ul.step_down li h3.step_down_title02 {
	color: #0056b4;
}

ul.step_down li h3.step_down_title01, ul.step_down li h3.step_down_title02 {
	font-size: 16px;
}
	
.triangle_bg01, .triangle_first {
	border-color: #c9b460 transparent transparent transparent;
}

.triangle_bg02 {
	border-color: #c9b460 transparent transparent transparent;
}

.triangle::after:first-child:after {
	content: "";
}

.triangle_first::after {
	color: #000;
	content: "STEP";
	margin: -35px -20px;
	position: absolute;
	color: #fff;
	font-weight: bold;
}

.triangle_bg01::after, .triangle_bg02::after {
	color: #000;
	content: "NEXT";
	margin: -35px -20px;
	position: absolute;
	color: #fff;
	font-weight: bold;
}





/*--------------------------------------------------------
 画像のマウスオーバーのアニメーション
--------------------------------------------------------*/


figure.mouse_over {
	position: relative;
	overflow: hidden;
	margin: 0;
}
figure.mouse_over figcaption {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.6);
	-webkit-transition: .3s;
	transition: .3s;
	opacity: 0;
}
figure.mouse_over figcaption h3,
figure.mouse_over figcaption p {
	position: absolute;
	left: -100%;
	width: 260px;
	-webkit-transition: .3s;
	transition: .3s;
}
article figure.mouse_over figcaption h3 {
	top: 30px;
	color: #fff;
}
figure.mouse_over figcaption p {
	top: 75px;
	color: #fff;
}
figure.mouse_over:hover figcaption {
	opacity: 1;
}
figure.mouse_over:hover figcaption h3,
figure.mouse_over:hover figcaption p {
	left: 20px;
}
figure.mouse_over:hover figcaption h3 {
	-webkit-transition-delay: .2s;
	transition-delay: .2s;
}
figure.mouse_over:hover figcaption p {
	-webkit-transition-delay: .5s;
	transition-delay: .5s;
}



/*--------------------------------------------------------
 見出しのCSS
--------------------------------------------------------*/

#main-contents article h2.bg-blue, #main-contents article h2.bg-red, #main-contents article h2.bg-green, #main-contents article h2.bg-lightblue {
	display: inline-block;
	padding: 7px 16px;
	margin: 0;
}
/*
#main-contents article h2.bg-blue {
	color: #fff;
	background: #0056b4;
}

#main-contents article h2.bg-red {
	color: #fff;
	background: #FF6600;
}

#main-contents article h2.bg-green {
	color: #fff;
	background: #009944;
}

#main-contents article h2.bg-lightblue {
	color: #fff;
	background: #00a0e9;
}
*/





/*--------------------------------------------------------
 タイムラインのCSS
--------------------------------------------------------*/

.timeline {
	list-style: none;
}
.timeline > li {
	margin-bottom: 60px;
}

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

section.contact .col2_box_contents {
	
}

section.contact .col2_box_contents p.co2_tel {
	
}



}


@media
only screen and (min-width : 640px) {

body {
	margin: 0;
	padding: 0;
	line-height: 1.2vw;
	/*background-image: url(../images/common/bg_body.png);
	background-repeat: repeat;*/
	/*font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;*/
}

a {
	text-decoration: none;
	color: #00468b;
}

a:hover {
	color: #73c4e6;
}

div#flow01, div#flow02, div#flow03, div#flow04, div#flow05, div#flow06, div#flow07, div#flow08, div#flow09, div#flow10, div#flow11, div#flow12, div#flow13, div#flow14, div#flow15, div#flow16, div#flow17 {
	display: block;
	padding-top: 150px;
	margin-top: -150px;
}


/*----------------------------------------------
  共通CSS
----------------------------------------------*/

#container, #header, #main, #main-image, footer {
	width: 100%;
}

footer {
	
}
	
article, .sidebar-contents {
	background-color: #fff;	
	overflow: hidden;
}

#header-in, #global-nav-in, #main-image-in, #copyright-in {
	width: 1050px;
	margin: auto;
}


#main-in, #footer {
	clear: both;
	content: "";
	display: block;
	/*height: 0;*/
}

nav#global-nav ol, nav#global-nav li {
	list-style: none outside none;
}

img.img_full {
	width: 100%;
	height: auto;
}

ol {
	line-height: 1.8;
}


/*----------------------------------------------
  ヘッダー
----------------------------------------------*/

#header {
	background-color: #FFF;
	background-repeat: repeat-x;
	background-image: url(../images/common/line.jpg);
	float: left;
}

header {
	padding: 0;
}

#header-in {
	background: url("../images/common/line-gra.jpg") no-repeat;
	height: 8px;
}

#header-logo {
	width: 35%;
	float: left;
	margin: 5px;
}

#header-logo a:hover {
	opacity: 0.7;
}

#header-text {
	width: 60%;
	float: right;
	text-align: right;
	margin: 30px 5px;
	position: relative;
}

#header-text a {
	margin-left: 20px;
}

#header-text a img:hover {
	opacity: 0.5;
}

#header-text strong {
	font-size: 20px;
}

#header-text p {
	margin: 25px 10px 0;
}

#header-text .line_banner {
	position: absolute;
	margin-left: 30px;
	top: 0;
}

/*----------------------------------------------
  ヘッダー画像
----------------------------------------------*/

#main-image {
	margin-bottom: 0;
	clear: both;
	position: relative;
}

#main-image-in-except img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

#main-image-top-sp,
#main-image-sp {
	display: none;
}

/*----------------------------------------------
　メインコンテンツ
----------------------------------------------*/

#main-contents {
	width: 100%;
}

#main {
	
}

#main-contents article {
	
}
/*
article h2 {
	background: url("../images/common/title_icon01.png") no-repeat scroll 0 13px;
	font-size: 29.641px;
	padding: 25px 0 20px 75px;
	border-bottom: solid 3px #0056b4;
}
*/
article .simple_title {
	text-align: center;
	margin: 5vw;
}

article .simple_title h2 {
	font-size: 2.5vw;
}

article .simple_title p {
	font-size: 1.2vw;
}

article h2.underline {
	font-size: 2.8vw;
	position: relative;
	padding: 1.5vw 1vw;
	z-index: 100;
	text-align: center;
	margin: 3vw auto 2.5vw;
	display: table;
}
article h2.underline span {
	display: block;
	font-size: 1.7vw;
	color: #ce354e;
	margin-top: 1.8vw;
}
article h2.underline::after {
	position: absolute;
	bottom: 0;
	left: calc(50% - 2.5vw);
	content: '';
	width: 5vw;
	height: 0.15vw;
	background-color: #ce354e;
	display: inline-block;
	
}

article h2.underline_box {
	font-size: 2.8vw;
	position: relative;
	padding: 1.5vw 0 0;
	z-index: 100;
	text-align: center;
	margin: 3vw auto 2.5vw;
	display: table;
	width: 80%;
}
article h2.underline_box span {
	display: block;
	font-size: 0.9vw;
	color: #231815;
	margin-top: 2.5vw;
	background: #f3f1e9;
	padding: 0.5vw;
	font-weight: initial;
}
article h2.underline_box::after {

	
}
	

/* 文字の左右に横線を引くCSS */
/*
article h2.border {
  display: table;
  text-align: center;
  white-space: nowrap;
}
article h2.border:after, article h2.border:before {
  content: '';
  display: table-cell;
  width: 50%;
  background: -webkit-linear-gradient(transparent 50%, currentColor 50%, currentColor -webkit-calc(50% + 1px), transparent -webkit-calc(50% + 1px));
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(50%, currentColor), color-stop(currentColor calc(50% + 1px)), to(transparent calc(50% + 1px)));
  background: linear-gradient(transparent 50%, currentColor 50%, currentColor calc(50% + 1px), transparent calc(50% + 1px));
  -webkit-background-clip: padding;
  background-clip: padding;
}
article h2.border:after {
  border-left: 1em solid transparent;
}
article h2.border:before {
  border-right: 1em solid transparent;
}
*/





article p {
	font-size: 1.2vw;
	line-height: 1.7;
}

article ul p {
	margin-left: initial;
	margin-right: initial;
}

#main-contents section {
	padding: 0;
}

#main-contents section.voice_box {
	width: 60%;
	margin: auto;
}

#main-contents table {
	width: 100%;
	font-size: 1.2vw;
}

article .alignleft {
	clear: left;
	float: left;
	margin: 0 4vw 4vw 0;
}

article .alignright {
	clear: right;
	float: right;
	margin: 0 0 4vw 4vw;
}

#main-contents table.border-box {
	margin: 10px auto 30px;
	width: 100%;
	border-collapse: collapse;
}

#main-contents table.border-box tr {
	border: 1px solid #b2b2b2;
}

#main-contents table.border-box th {
	background: #f5f5f5;
	border-bottom: 1px solid #b2b2b2;
	border-right: 1px solid #b2b2b2;
	color: #000;
	font-weight: normal;
	padding: 10px 15px;
	text-align: left;
}

#main-contents table.border-box tr:last-child th {
	border-bottom: 1px solid #b2b2b2;
}

#main-contents table.border-box td {
	padding: 10px 15px;
	border-bottom: 1px solid #b2b2b2;
	border-right: 1px solid #b2b2b2;
}


#main-contents table.table_under-line {
	border-spacing: 2vw 0;
}

#main-contents table.table_under-line th {
	border-bottom: solid 0.25vw #0056b4;
	padding: 1.7vw 0.3vw 1.4vw;
	text-align: left;
}

#main-contents table.table_under-line td {
	border-bottom: solid 0.25vw #a5a6a6;
	padding: 1.7vw 0.3vw 1.4vw;
}


#main-contents table.table_over-line {
	border-spacing: 2vw 0;
	line-height: 1.5;
}

#main-contents table.table_over-line th {
	border-bottom: solid 0.2vw #0056b4;
	padding: 1.7vw 0.3vw 1.4vw;
	text-align: left;
	vertical-align: top;
}

#main-contents table.table_over-line tr:first-child th {
	border-top: solid 0.2vw #0056b4;
	
}

#main-contents table.table_over-line td {
	border-bottom: solid 0.2vw #a5a6a6;
	padding: 1.7vw 0.3vw 1.4vw;
}

#main-contents table.table_over-line tr:first-child td {
	border-top: solid 0.2vw #a5a6a6;
}

#main-contents table.table_over-line tr td img {
	vertical-align: bottom;
}


/* ワークフローのCSS */

ul.step_down_sp {
	display: none;
}

#main-contents article section.workflow-list {
	margin: 20px 0;
	padding: 0 15px;
}


#main-contents article section.workflow-list h3 {
	font-size: 14px;
	position: relative;
	margin: 0 0 2em;
	padding: 0.9em;
	background: #002145;
	color: #fff;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}

#main-contents  article section.workflow-list h3:after{
	position: absolute;
	bottom: -15px;
	left: 10%;
	z-index: 90;
	margin-left: -15px;
	border-top: 15px solid #002145;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-bottom: 0;
	content: "";
}


#main-contents section.top {
	color: #333;
	text-align: center;
}

#main-contents section.top h2 {
	background: initial;
	color: #333;
}

#main-contents section.top p {
	font-size: 16px;
	font-weight: bold;
}

article section .contentMain__item {
	background: #efefef;
	padding: 8vw 0 7vw;
	counter-reset: number 0;
}

article section .contentMain__item_left, article section .contentMain__item_right {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	position: relative;
	margin-bottom: 10vw;
}

article section .contentMain__item_left:last-child, article section .contentMain__item_right:last-child {
	margin-bottom: 2vw;
}

article section .contentMain__item_left .contentMain__item_text {
	background: #fff;
	padding: 3%;
	width: 26%;
	max-width: 600px;
	z-index: 1;
	margin-left: 5%;
	position: relative;
}

article section .contentMain__item_right .contentMain__item_text {
	background: #fff;
	padding: 3%;
	width: 26%;
	max-width: 600px;
	z-index: 1;
	margin-right: 5%;
	position: absolute;
	right: 0;
}

article section .contentMain__item_left h3, article section .contentMain__item_right h3, .features h3 {
	color: #ce354e;
	font-size: 1.5vw;
	line-height: 2vw;
	z-index: 999;
	margin-top: 0;
}

article section .contentMain__item h3::after {
	color: #ddd;
	content: counter(number,decimal-leading-zero);
	counter-increment: number;
	text-align: center;
	opacity: 0.999;
	float: left;
	position: absolute;
	z-index: -1;
	font-size: 5vw;
	font-weight: bold;
	top: 3vw;
	right: 2vw;
}

article section .contentMain__item_left p, article section .contentMain__item_right p {
	margin: 0;
	font-size: 1.2vw;
}

article section .contentMain__item_left .contentMain__item_img {
	position: absolute;
	right: 0;
	width: 70%;
}

article section .contentMain__item_right .contentMain__item_img {
	left: 0;
	width: 70%;
}

article section .contentMain__item_img img {
	width: 100%;
	height: auto;
	max-height: 30vw;
}

article section .contentMain__item_left::after, article section .contentMain__item_right::after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}	

.full_images_sp {
	width: 30%;
}

.full_images_sp img {
	width: 100%;
	height: auto;
}

.text_img-l_box p {
	overflow: hidden;
}

.text_img-l_box p span {
	text-align: right;
}



#main-contents section.work-flow {
	background: #f4f2ea;
	padding: 5vw 12vw;
}

.cp_timeline03 h3 {
	color: #ce354e;
	font-size: 1.5vw;
}
.cp_timeline03 {
	position: relative;
	margin: 0 auto 3vw;
	background: #ffffff;
	padding: 3vw;
}
.cp_timeline03:before {
	position: absolute;
	top: 5vw;
	width: 0.2vw;
	height: 92%;
	content: '';
	background-color: #cd354e;
	left: 8.5vw;
}
.cp_timeline03 .timeline_group {
	position: relative;
	padding-top: 55px;
}
.cp_timeline03 .timeline_group:first-child {
	padding-top: 0;
}

.cp_timeline03 .timeline_group:not(:first-of-type) {
	margin-top: 3.5vw;
}
.cp_timeline03 .time_subheading_contents {
	position: absolute;
	top: 0;
	left: 0;
	padding: 1.8vw 1vw;
	color: #fff;
	width: 100%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
    font-size: 1.7vw;
	text-align: center;
}

.cp_timeline03 .time_subheading-in {
	margin-top: 2vw;
}

.cp_timeline03 .time_subheading-in span {
	padding: 1.8vw 1vw;
	font-size: 1.7vw;
	text-align: center;
	display: block;
	color: #fff;
	
}

.cp_timeline03 .timeline_item {
	margin-bottom: 1em;
	position: relative;
	padding-left: 11vw;
}
.cp_timeline03 .timeline_item:not(:last-of-type) {
	margin-bottom: 5vw;
}

.cp_timeline03 .time {
	position: absolute;
	left: 0;
	box-sizing: border-box;
	min-width: 11vw;
	min-height: 8vw;
	padding: 0.5em 0.5em;
	text-align: center;
	color: #fff;
	background-color: #cd354e;
	margin-top: 0;
	    display: grid;
    place-items: center;
}
.cp_timeline03 .time_headline {
	font-size: 1.2vw;
	font-weight: 700;
	display: block;
	line-height: 1.5;
}
.cp_timeline03 .time_month {
	font-size: 0.8em;
	display: block;
	text-transform: uppercase;
}
.cp_timeline03 .desc {
	padding: 0 0 0 3vw;
	background-color: #fff;
	font-size: 0.9em;
}
.cp_timeline03 .desc .desc_contents figure {
	margin-right: 2vw;
	width: 40%;
	float: left;
}
.cp_timeline03 .desc .desc_contents figure img {
	width: 100%;
	height: auto;
}

.cp_timeline03 .desc p {
	margin: 1vw 0;
	font-size: 1.2vw;
}

.cp_timeline03 .desc .desc_contents p {
	/*width: 60%;*/
}

.cp_timeline03 .desc p span.left-line_organge {
	border-left: thick solid #f39800;
	padding-left: 1vw;
	display: block;
	color: #f39800;
	font-weight: bold;
	margin: 0.5vw 0 0;
}


.cp_timeline03 .desc_contents {
	/*display: flex;*/
	overflow: hidden;
}

.cp_timeline03 .desc_contents .desc_headline_orange {
	display: block;
	color: #f39800;
	font-weight: bold;
	font-size: 1.3vw;
	margin-bottom: 0.7vw;
}

.cp_timeline03 .desc .flag {
	font-size: 1.2em;
	font-weight: bold;
	margin: 0;
	padding: 0;
	padding-bottom: 0.3em;
}

.cp_timeline03 .desc p.btn {
	position: relative;
}

.cp_timeline03 .desc p.btn2 {
	position: relative;
	padding-bottom: 3vw;
}

.cp_timeline03 .timeline_group .time_subheading {
	position: relative;
	padding-top: 8.5vw;
}

.cp_timeline03 .timeline_group .time_subheading:last-child {
	padding-top: 3vw;
}

article section .tel-box {
	border: 1px solid #222;
	padding: 2.5vw;
	margin-bottom: 2vw;
	margin-top: 2vw;
}

article section .tel-box p.tel-box_contents {
	font-size: 3vw;
	font-weight: bold;
	margin: initial;
	padding-left: 15vw;
	background: url(../images/common/icon-tel_b.png) no-repeat 10vw 50%;
	display: inline-block;
	background-size: auto 50%;
	line-height: 1.3;
	text-align: initial;
}
article section .tel-box p.tel-box_contents a {
	color: #222;
}
article section .tel-box p.tel-box_contents span {
	font-size: 1.1vw;
    display: block;
}

article section .mail-box {
	border: 1px solid #222;
	padding: 2.5vw;
	margin-bottom: 2vw;
}

article section .mail-box .mail-box_contents {
font-size: 1.2vw;
    margin: initial;
    padding-left: 17vw;
    background: url(../images/common/icon-mail_b.png) no-repeat 10vw 50%;
    display: inline-block;
    background-size: auto 50%;
    line-height: 2.1;
}

article section .mail-box .mail-box_contents span a {
background: #47bcc6;
    text-align: center;
    border-radius: 2vw;
    box-shadow: 0px 3px rgb(0 0 0 / 30%);
    position: relative;
    top: 0;
	display: block;
	color: #fff;
}

article section .mail-box .mail-box_contents span a:hover {
	top: 1px;
	box-shadow: 0px 2px rgb(0 0 0 / 30%);
}




.cp_timeline04 {
    position: relative;
    margin: 2vw auto 0;
}

.cp_timeline04:before {
    position: absolute;
    top: -1.5vw;
    width: 100%;
    height: 0.2vw;
    content: '';
    background-color: #f39800;
    left: 0;
}

.cp_timeline04 .timeline_item04 {
    margin-bottom: 1vw;
    position: relative;
}

.cp_timeline04 .timeline_item04:last-child {
    
}

.cp_timeline04 .timeline_group04 {
	width: 100%;
    padding: 0;
    position: relative;
    padding-top: 3vw;
    display: flex;
    display:　-webkit-box;
    display:　-ms-flexbox;
    display:　-webkit-flex;
    justify-content:　space-between;
    -webkit-box-pack:　justify;
    -ms-flex-pack:　justify;
    -webkit-justify-content: space-between;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
}

.cp_timeline04 .timeline_item04:before {
    position: absolute;
    z-index: 0;
    left: 2.15vw;
    width: 0.2vw;
    height: 2vw;
    content: '';
    background-color: #f39800;
    top: -3.4vw;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.cp_timeline04 .time04 {
    position: absolute;
    left: 1.75vw;
    box-sizing: border-box;
    min-width: 1vw;
    min-height: 1vw;
    padding: 0.5vw;
    text-align: center;
    color: #fff;
    background-color: #f39800;
    top: -1.5vw;
    margin-top: -1vw;
    border-radius: 0.5vw;
}

.cp_timeline04 .desc04 {
    display: grid;
    font-size: 1.2vw;	
}

.cp_timeline04 .desc04 .flag04 {
	color: #fff;
	background-color: #f39800;
    font-size: 1.2em;
    font-weight: bold;
    margin: 0;
    padding: 1vw;
    padding-bottom: 0.3em;    writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    vertical-align: top;
	height: 20vw;
}
	
	


.cp_timeline05 {
	position: relative;
	margin: 0 auto 3vw;
	padding: 5vw 3vw 3vw;
	background: #fff;
}
.cp_timeline05 .timeline_group {
	position: relative;
	padding-top: 55px;
}
.cp_timeline05 .timeline_group:first-child {
	padding-top: 0;
}

.cp_timeline05 .timeline_group:not(:first-of-type) {
	margin-top: 3.5vw;
}
.cp_timeline05 .timeline_item {
	margin-bottom: 1vw;
	position: relative;
	padding-left: 11vw;
}
.cp_timeline05 .timeline_item:not(:last-of-type) {
	margin-bottom: 0;
	padding-bottom: 4vw;
}
.cp_timeline05 .timeline_item:before {
	position: absolute;
	top: 0;
	width: 0.2vw;
	height: 100%;
	content: '';
	background-color: #0b3190;
	left: 5.5vw;
}
.cp_timeline05 .timeline_item:last-child:before {
	content: initial;
}
.cp_timeline05 .time {
	position: absolute;
	left: 0;
	box-sizing: border-box;
	min-width: 11vw;
	min-height: 8vw;
	padding: 0.5em 0.5em;
	text-align: center;
	color: #fff;
	background-color: #0b3190;
	margin-top: 0;
	    display: grid;
    place-items: center;
}
.cp_timeline05 .time_headline {
	font-size: 1.2vw;
	font-weight: 700;
	display: block;
	line-height: 1.5;
}
.cp_timeline05 .desc {
	padding: 0 3vw;
	background-color: #fff;
	font-size: 0.9em;
}
.cp_timeline05 .desc .desc_contents figure {
	margin-right: 2vw;
	width: 40%;
}
.cp_timeline05 .desc .desc_contents figure img {
	width: 100%;
	height: auto;
}

.cp_timeline05 .desc p {
	margin: 1vw 0;
	font-size: 1.2vw;
}

.cp_timeline05 .desc .desc_contents p {
	width: 60%;
}

.cp_timeline05 .desc p span.left-line_organge {
	border-left: thick solid #f39800;
	padding-left: 1vw;
	display: block;
	color: #f39800;
	font-weight: bold;
	margin: 0.5vw 0 0;
}


.cp_timeline05 .desc_contents {
	display: flex;
}

.cp_timeline05 .desc_contents .desc_headline_orange {
	display: block;
	color: #f39800;
	font-weight: bold;
	font-size: 1.3vw;
	margin-bottom: 0.7vw;
}



/*--------------------------------------------------------
  見出しのCSS
--------------------------------------------------------*/

#main-contents h2.photo_title {
	font-size: 2.5vw;
	margin: 6vw auto 4vw;
	text-align: center;
}



#main-contents section.sec_basic h3 {
	font-size: 1.35vw;
	background-color: #e60012;
	padding: 0.7vw 5vw;
	color: #fff;
	display: inline-block;
	margin-bottom: 3vw;
}

#main-contents section.sec_basic::before {
	position: absolute;
	top: 18.32px;
	left: 16px;
	width: 18.32px;
	height: 18.32px;
	background-color: #0056b4;
	content: "";
}


article h3.mark-title {
	position: relative;
	padding-left: 30px;
	font-size:22.096px;
	color: #325A8C;	
}

article h3.mark-title::before,
article h3.mark-title::after{
	content: "□";
	position: absolute;
}

article h3.mark-title::before{
	left:0;
	top:-3px;
}

article h3.mark-title::after{
	left: 5px;
	top: 3px;
	color: #A1B8D1;
}



article h3.border-title {
	font-size: 22.096px;
	padding: 17px 20px 17px 20px;
	background: #eeeeee;
	border-left: 10px solid #0056b4;
}

article h4 {
	/*margin-left: 9.888px;*/
}


/*--------------------------------------------------------
 2カラム　BOXのCSS
--------------------------------------------------------*/

.col2_box {
	width: 85%;
	padding: 0;
	list-style: none;
	display: flex;
	display: -webkit-box;/*--- Androidブラウザ用 ---*/
	display: -ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex;/*--- safari（PC）用 ---*/
	-webkit-flex-flow:row wrap;
	-ms-flex-flow:row wrap;
	flex-flow:row wrap;
	margin: auto;
}

.col2_box_contents {
	width: calc(98% / 2);
	margin: 0 2% 1em 0;
	position: relative;
}

.col2_box_contents:nth-child(2n) {
    margin-right: 0;
}

.col2_box_contents .title {
	border-top: 1px dotted #333;
	border-bottom: 1px dashed #333;
	margin-bottom: 1em;
}

/*.col2_box_contents p {
	line-height: 1.5;
	margin-top: 10px;
}

.col2_box_contents p span {
	background: #0056b4;
	position: absolute;
	right: 10px;
	bottom: 10px;
	font-size: 12px;
	border-radius: 3px;
}
.col2_box_contents p span a {
	color: #fff;
	display: block;
	padding: 3px 7px;
}

.col2_box_contents p span:hover {
	background: #1c1f87;
}

.col2_box_contents img.alignleft {
	clear: left;
	float: left;
	margin: 0 20px 0 0;
	padding: 15px 0 15px 15px;
}*/


/* フッターコンタクト 2カラムの背景 */

section.contact .col2_box {
	width: 85%;
	padding: 0;
	list-style: none;
	display: flex;
	display: -webkit-box;/*--- Androidブラウザ用 ---*/
	display: -ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex;/*--- safari（PC）用 ---*/
	-webkit-flex-flow:row wrap;
	-ms-flex-flow:row wrap;
	flex-flow:row wrap;
	justify-content: center;
	margin: auto;
}

section.contact .col2_box_contents {
	width: calc(90% / 2);
	margin: 0 auto 1em;
	position: relative;
	padding: 1.5vw 1vw;
}

section.contact .col2_box_contents:nth-child(2n) {
    
}

section.contact .col2_box_contents .title {
	border-top: 1px dotted #333;
	border-bottom: 1px dashed #333;
	margin-bottom: 1em;
}

section.contact .col2_box_contents p {
	line-height: 1.5;
	margin-top: 10px;
}

section.contact .col2_box_contents p.col2_tel span {
	font-size: 0.9vw;
	display: block;
}

section.contact .col2_box_contents p span a {
	color: #fff;
	display: block;
	padding: 3px 7px;
}

section.contact .col2_box_contents img.alignleft {
	clear: left;
	float: left;
	margin: 0 20px 0 0;
	padding: 15px 0 15px 15px;
}

/* 2カラムのタイトル */
section.contact .col2_box_contents h3.col2_title {
	font-size: 19.776px;
	margin: 15px 0 0;
}

section.contact .col2_box_contents h3.col2_title02 {
	font-size: 19.776px;
	margin: 15px 0 10px;
	color: #0852a0;
}

/* 2カラムのpタグ */
.lightgreen p {
	font-size: 16px;
	margin: 15px 0;
}

section.contact p {
	color: #fff;
	font-size: 1.2vw;
	text-align: center;
	margin-bottom: 2vw;
}
	
section.contact .col2_box_contents p {
	color: #fff;
}

section.contact .col2_box_contents p.co2_tel {
	font-size: 3vw;
	font-weight: bold;
	margin: initial;
	padding-left: 9vw;
	background: url("../images/common/2col_tel.png") no-repeat 8% 50%;
	background-size: auto 50%;
	line-height: 1.3;
	text-align: initial;
}

section.contact .col2_box_contents p.co2_tel span {
	font-size: 1.1vw;
	display: block;
}

section.contact .col2_box_contents p.co2_tel a {
	color: #fff;
}

section.contact .col2_box_contents p.co2_tel a:hover {
	color: #ccc;
}

section.contact .col2_box_contents p.col2_button {
	font-size: 1.2vw;
	margin: initial;
	padding-left: 12vw;
	background: url("../images/common/2col_mail.png") no-repeat 13% 50%;
	display: inline-block;
	background-size: auto 50%;
	line-height: 2.1;
}

section.contact .col2_box_contents p.col2_button span a {
	background: #222222;
	text-align: center;
	border-radius: 2vw;
	box-shadow: 0px 3px rgba(0, 0, 0, 0.3);
	position: relative;
	top: 0;
}

section.contact .col2_box_contents p.col2_button span a:hover {
	top: 1px;
	box-shadow: 0px 2px rgba(0, 0, 0, 0.3);
}

section.contact .col2_box_contents p.col2_tel span a {
	color: #fff;
	padding: 10px;
	display: block;
}

.col2_box_contents p.co2_tel::before {
	/*content: "";
	width: 80px;
    height: 80px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);*/
}

.col2_box_contents p.col2_entrytime {
	margin: 0 0 15px;
	padding: 10px 5px;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

.col2_box_contents p.col2_entrytime span {
	background: #0852a0;
	border-radius: initial;
	bottom: initial;
	font-size: 12px;
	position: initial;
	right: initial;
	padding: 5px 10px;
	margin-right: 10px;
	color: #ffffff;
}

.col2_box_contents p span.col2_button {
	background: #0852a0;
	text-align: center;
	border-radius: 3px;
	box-shadow: 0px 3px rgba(0, 0, 0, 0.3);
	position: relative;
	top: 0;
}

.col2_box_contents p span col2_button:hover {
	top: 1px;
	box-shadow: 0px 2px rgba(0, 0, 0, 0.3);
}

.col2_box_contents p.col2_button a {
	color: #fff;
	padding: 10px;
	display: block;
}


/* 2カラムの背景 */
.lightgray {
	background: #f5f5f5;
}

.white {
	background: #fff;
}

.lightgreen {
	box-sizing: border-box;
	border: 1px solid #cccccc;
	border-radius: 3px;
	padding: 10px 40px;
}

.blue {
	background: #0b3190;
}

.orange {
	background: #f39800;
}


.col2_photo_box {
	width: 100%;
	padding: 0;
	list-style: none;
	display: flex;
	display: -webkit-box;/*--- Androidブラウザ用 ---*/
	display: -ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex;/*--- safari（PC）用 ---*/
	
	-webkit-flex-flow:row wrap;
	-ms-flex-flow:row wrap;
	flex-flow:row wrap;

}
.col2_photo_box li {
	width: calc(94% / 2);
	margin: 0 3% 3% 0;
	background: #f5f5f5; /*#f9f9f9*/
}

.col2_photo_box li img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.col2_photo_box li:nth-child(2n) {
    margin-right: 0;
}
	
/*--------------------------------------------------------
 3カラム　BOXのCSS
--------------------------------------------------------*/
.col3_box {
	width: 100%;
	padding: 0;
	list-style: none;
	display: flex;
	display: -webkit-box;/*--- Androidブラウザ用 ---*/
	display: -ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex;/*--- safari（PC）用 ---*/
	justify-content: center;
	-webkit-box-pack: center;/*--- Androidブラウザ用 ---*/
    -ms-flex-pack: center;/*--- IE10 ---*/
    -webkit-justify-content: center;/*--- safari（PC）用 ---*/
	
	-webkit-flex-flow:row wrap;
	-ms-flex-flow:row wrap;
	flex-flow:row wrap;

}
.col3_box li {
	width: calc(96% / 3);
	margin: 0 2% 4vw 0;
}


.col3_box li:nth-child(3n) {
    margin-right: 0;
}


ul.col3_box {
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	display: -webkit-box;/*--- Androidブラウザ用 ---*/
	display: -ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex;/*--- safari（PC）用 ---*/
	justify-content: center;
	-webkit-box-pack: center;/*--- Androidブラウザ用 ---*/
    -ms-flex-pack: center;/*--- IE10 ---*/
    -webkit-justify-content: center;/*--- safari（PC）用 ---*/
	
	-webkit-flex-flow:row wrap;
	-ms-flex-flow:row wrap;
	flex-flow:row wrap;

}
ul.col3_box li.background {
	width: calc(96% / 3);
	margin: 0 2% 2em 0;
	background: #f5f5f5; /*#f9f9f9*/
}


ul.col3_box li:nth-child(3n) {
    margin-right: 0;
}

/*ul.col3_box li:last-child {
	margin: 0;
}*/

ul.col3_box img {
	width: 100%;
	height: auto;
}



/* 画像大・下部にテキスト表示 */

ul.col3_box .thumb {
	width: 92%;
	padding: 4%;
	padding-bottom: 0;
}

ul.col3_box .thumb img {
	width: 100%;
	height: auto;
}

ul.col3_box .text_list {
	margin: 1vw;
}

ul.col3_box .text_list h3 {
	color: #333;
	font-size: 1.2vw;
	border-bottom: 1px dotted #ccc;
	padding: 0 0 0.5vw;
}


ul.col3_box .text_list p {
	font-size: 0.9vw;
	line-height: initial;
	margin-bottom: 0;
	border-bottom: 1px dotted #ccc;
	padding: 0 0 0.5vw;
}

ul.col3_box .text_list p.seko_icon01::before {
	color: #fff;
	content: "施工内容";
	font-size: 0.8vw;
	font-weight: bold;
	background: #0056b4;
	padding: 0.1vw 0.5vw;
	margin-right: 1vw;
}

ul.col3_box .text_list p.seko_icon02::before {
	color: #fff;
	content: "施工方法";
	font-size: 0.8vw;
	font-weight: bold;
	background: #0056b4;
	padding: 0.1vw 0.5vw;
	margin-right: 1vw;
}


ul.col3_box .text_list p:last-child {
	border-bottom: none;
}


/* 画像小・上下部にテキスト表示 */

ul.col3_box li.number {
	background: none;
}

ul.col3_box li.number h3 {
	font-size: 19.776px;
	margin-left: 35px;
	color: #333;
	margin-bottom: 1em;
}

ul.col3_box { /* ランキング */
    counter-reset: wpp-ranking;
}
 
ul.col3_box li.number:before { /* ランキング */
    color: #FFF;
    content: counter(wpp-ranking, decimal);
    counter-increment: wpp-ranking;
    text-align: center;
    opacity: 0.999;
    float: left;
    line-height: 28px;
    width: 24px;
    height: 24px;
    background-color: #0056b4;
    border-radius: 12px;
    -moz-border-radius: 2px;
	position: absolute;
	z-index: 1;
	margin: 8px 0 0 5px;
	font-size: 16px;
	font-weight: bold;
}




.col3_photo_box {
	
}


.col3_photo_box {
	width: 100%;
	padding: 0;
	list-style: none;
	display: flex;
	display: -webkit-box;/*--- Androidブラウザ用 ---*/
	display: -ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex;/*--- safari（PC）用 ---*/
	
	-webkit-flex-flow:row wrap;
	-ms-flex-flow:row wrap;
	flex-flow:row wrap;

}
.col3_photo_box li {
	width: calc(94% / 3);
	margin: 0 3% 3% 0;
	background: #f5f5f5; /*#f9f9f9*/
}

.col3_photo_box li img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.col3_photo_box li:nth-child(3n) {
    margin-right: 0;
}


.col3_box_contents {
	width: calc(96% / 3);
	margin: 0 2% 2em 0;
	background: #f5f5f5; /*#f9f9f9*/
}


.col3_box_contents:nth-child(3n) {
    margin-right: 0;
}


/* 画像小・上下部にテキスト表示 */

ul.col3_box .p-col3 {
	margin-left: 1vw;
}

/*--------------------------------------------------------
 4カラム　BOXのCSS
--------------------------------------------------------*/

.col4_box {
	width: 100%;
	padding: 0;
	list-style: none;
	margin-bottom: 2em;
	display: flex;
	display: -webkit-box;/*--- Androidブラウザ用 ---*/
	display: -ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex;/*--- safari（PC）用 ---*/
	-webkit-flex-flow:row wrap;
	-ms-flex-flow:row wrap;
	flex-flow:row wrap
}

.col4_box_contents {
	width: calc(94% / 4);
	margin: 0 2% 2em 0;
	position: relative;
}

.col4_box_contents:nth-child(4n) {
    margin-right: 0;
}

.col4_box_contents a:hover {
	opacity: 0.7;
}

.col4_box_contents img {
	width: 100%;
	height: auto;
	display: block;
}


.col4_box_contents h3.col4_title {
	color: #fff;
	font-size: 13.655px;
	padding: 3.489px 10px;
	position: absolute;
	/*top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);*/
	bottom: 0;
	margin: 0;
	width: 100%;
	background: rgba(6, 112, 206, .9);
	box-sizing: border-box;
}

.col4_box_contents h3.col4_title::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	margin-top: -5px;
	right: 10px;
	width: 8px;
	height: 8px;
	border-top: #fff 2px solid;
	border-right: #fff 2px solid;
	transform: rotate(45deg);
}



ul.col4_box {
	width: 100%;
	padding: 0;
	list-style: none;
	display: flex;
	display: -webkit-box;/*--- Androidブラウザ用 ---*/
	display: -ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex;/*--- safari（PC）用 ---*/
	justify-content: center;
	-webkit-box-pack: center;/*--- Androidブラウザ用 ---*/
    -ms-flex-pack: center;/*--- IE10 ---*/
    -webkit-justify-content: center;/*--- safari（PC）用 ---*/
	
	-webkit-flex-flow:row wrap;
	-ms-flex-flow:row wrap;
	flex-flow:row wrap;

}
ul.col4_box li {
	width: calc(94% / 4);
	margin: 0 2% 2em 0;
	background: #f5f5f5; /*#f9f9f9*/
}


ul.col4_box li:nth-child(4n) {
    margin-right: 0;
}

ul.col4_box img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}


.col4_box_main {
	width: 94%;
	padding: 0;
	margin: auto;
	list-style: none;
	margin-bottom: 2em;
	display: flex;
	display: -webkit-box;/*--- Androidブラウザ用 ---*/
	display: -ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex;/*--- safari（PC）用 ---*/
	-webkit-flex-flow:row wrap;
	-ms-flex-flow:row wrap;
	flex-flow:row wrap
}

.col4_box_main_contents {
	width: calc(100% / 4);
	margin: 0 0 2em 0;
	padding-bottom: 2vw;
	position: relative;
	
	border-width: 1px 0 1px 1px;
border-color: #ddd;
border-style: solid;
box-sizing: border-box;

}

.col4_box_main_contents:nth-child(4n) {
    margin-right: 0;
	border-right: 1px;
	border-right-style: solid;
	border-right-color: #ddd;
}

.col4_box_main_contents a:hover {
	opacity: 0.7;
}

.col4_box_main_contents .col4_box_main_contents_text {
	padding: 1.6vw 1.6vw 1.3vw;
	
}

.col4_box_main_contents img {
	width: 100%;
	height: auto;
	display: block;
}


.col4_box_main_contents h3.col4_main_title {
	font-size: 1.5vw;
	margin-bottom: 1vw;
}

.col4_box_main_contents p {
	font-size: 1.2vw;
	margin: 0;
}

.col4_box_main_contents span {
	position: absolute;
	bottom: 1.3vw;
	right: 1.6vw;
}

.col4_box_main_contents span a {
	font-size: 0.97vw;
}

/*--------------------------------------------------------
 5カラム　BOXのCSS
--------------------------------------------------------*/

.col5_box {
	width: 94%;
	padding: 0;
	list-style: none;
	margin: auto;
	display: flex;
	display: -webkit-box;/*--- Androidブラウザ用 ---*/
	display: -ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex;/*--- safari（PC）用 ---*/
	-webkit-flex-flow:row wrap;
	-ms-flex-flow:row wrap;
	flex-flow:row wrap
}

.col5_box_contents {
	width: calc(100% / 5);
	margin: 0 0 2em 0;
	position: relative;
	border-style: solid;
	border-width: 1px 0 1px 1px;
	border-color: #ddd;
	box-sizing: border-box;
}

.col5_box_contents:nth-child(5n) {
    margin-right: 0;
}

.col5_box_contents a:hover {
	opacity: 0.7;
}

.col5_box_contents img {
	width: 100%;
	height: auto;
	display: block;
}


.col5_box_contents h3.col5_title {
	font-size: 1.5vw;
	margin-bottom: 1vw;
}

h3.col5_title {
	text-align: center;
}

.col5_box_contents h3.col5_title::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	margin-top: -5px;
	right: 10px;
	width: 8px;
	height: 8px;
	border-top: #fff 2px solid;
	border-right: #fff 2px solid;
	transform: rotate(45deg);
}

.col5_box_contents .col5_box_contents_text {
	padding: 1.6vw 1.6vw 1.3vw;
	
}

.step_number {
	text-align: center;
	background-color: #ce354e;
	color: #ffffff;
	border-radius: 2vw;
	font-size: 1.5vw;
	font-weight: bold;
	
}
/*--------------------------------------------------------
 6カラム　BOXのCSS
--------------------------------------------------------*/

.col6_box {
	width: 100%;
	padding: 0;
	list-style: none;
	margin-bottom: 2em;
	display: flex;
	display: -webkit-box;/*--- Androidブラウザ用 ---*/
	display: -ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex;/*--- safari（PC）用 ---*/
	-webkit-flex-flow:row wrap;
	-ms-flex-flow:row wrap;
	flex-flow:row wrap
}

.col6_box_contents {
	width: calc(95% / 6);
	margin: 0 1% 2em 0;
	position: relative;
}

.col6_box_contents:nth-child(6n) {
    margin-right: 0;
}

.col6_box_contents a:hover {
	opacity: 0.7;
}

.col6_box_contents img {
	width: 100%;
	height: auto;
	display: block;
}


.col6_box_contents h3.col6_title {
	color: #fff;
	font-size: 13.655px;
	padding: 3.489px 10px;
	position: absolute;
	/*top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);*/
	bottom: 0;
	margin: 0;
	width: 100%;
	background: rgba(6, 112, 206, .9);
	box-sizing: border-box;
}

.col6_box_contents h3.col6_title::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	margin-top: -5px;
	right: 10px;
	width: 8px;
	height: 8px;
	border-top: #fff 2px solid;
	border-right: #fff 2px solid;
	transform: rotate(45deg);
}



/*--------------------------------------------------------
 セクションのCSS
--------------------------------------------------------*/
#main-contents section.sec_basic {
	text-align: center;
}

#main-contents section.sec_basic img {
	width: 100%;
	height: auto;
	margin-bottom: 3vw;
}

#main-contents section.sec_red, section.sec_red {
	padding: 1vw 0 3vw;
    background: #ce354e;
}

#main-contents section.sec_red h2, #main-contents section.sec_red h2.underline span, section.sec_red h2.underline, section.sec_red h2.underline span {
	color: #fff;
}

#main-contents section.sec_red h2.underline::after, section.sec_red h2.underline::after {
	background-color: #fff;
}


#main-contents section.sec_type {
	background: url(../images/index/bg_type.jpg) no-repeat center / cover;
	padding-top: 1vw;
}

#main-contents section.sec_works, #main-contents section.sec_you {
	margin: 0 5vw 5vw;
}

#main-contents section.sec_works .sec_works_text {
	text-align: center;
	margin-bottom: 3vw;
}

#main-contents section.sec_works_gallery {
	margin-bottom: 10vw;
}

#main-contents section.sec_philosophy {
	background: url(../images/company/philosophy1.jpg) no-repeat;
	background-size: 100% auto;
	padding-top: 5vw;
}

#main-contents section.sec_philosophy h2.underline {
	margin: 3vw auto 9vw;
}

#main-contents section div.cotents_gray {
	background: #efefef;
	padding: 0 0 2vw;
	margin: 0 0 5vw;
}

#main-contents section div.cotents_gray img {
	
}

#main-contents section div.cotents_blue {
	background: #0b3190;
	padding-bottom: 1vw;
}

#main-contents section.sec_tile {
	background: url(../images/common/tile.jpg) repeat;
	padding: 2vw 0px;
}

#main-contents section.sec_sky {
	padding: 2vw 0;
	background: #eaf6fd;
}


#main-contents section.sec_other {
	
}

#main-contents section.sec_other h3 {
	font-size: 1.3vw;
	color: #ce354e;
}

#main-contents section.sec_other p {
	margin-bottom: 3vw;
}

#main-contents section.sec_other ol {
	font-size: 1.2vw;
	margin-bottom: 3vw;
}

#main-contents section.sec_other ol li ol {
	margin-bottom: 0;
}


#main-contents section.sec_photo {
	margin: 0 6vw 6vw;
	border-top: 0.1vw solid #cccccc;
	padding-top: 2vw;
}


#main-contents section.contents_ashiba {
	margin: 5vw 14vw 6vw;
	border-top: 0.1vw solid #cccccc;
	padding-top: 3vw;
}

#main-contents section .half-rightblue {
	background: linear-gradient(to right, #eaf6fd 0%, #eaf6fd 45%, #fff 45%, #fff 100%);
}

#main-contents section.contents_ashiba .contents_ashiba_main {
	padding: 1vw 0 8vw 5vw;
}

#main-contents section.contents_ashiba .contents_ashiba_main h3 {
	font-size: 1.8vw;
	margin-bottom: 3vw;
	text-align: right;
}

#main-contents section.contents_ashiba .contents_ashiba_main img {
	width: 100%;
	height: auto;
}

/*
#main-contents section.contents_recruit_head {
	background: url(../images/recruit/b-1.jpg);
	background-size: 100% auto;
	background-position: center;
	background-repeat: no-repeat;
	color: #fff;
}

#main-contents section.contents_recruit_head .contents_recruit_head_text {
	width: 66%;
	padding: 4vw 12vw 12vw;
	box-sizing: border-box;
}

#main-contents section.contents_recruit_head h2 {
	font-size: 3.9vw;
}
*/

#main-contents section.about_charm1 {
	padding: 5vw 10vw;
	background: #f4f2ea;
	margin-top: 7vw;
}

#main-contents section.about_charm1 h2 {
	margin-bottom: 6vw;
	font-size: 2.5vw;
	position: relative;
	text-align: center;
}

#main-contents section.about_charm1 h2 span {
	font-size: 1.5vw;
	padding: 0.5vw 5vw;
	background: #0b3190;
	color: #fff;
	margin-left: 2vw;
	vertical-align: 1vw;
}

#main-contents section.about_charm1 .about_charm1_contents {
	clear: both;
	background: #fff;
	overflow: auto;
	margin-bottom: 3vw;
}


#main-contents section.about_charm1 figure.about_charm1_item_img_left {
	float: left;
	margin-right: 5vw;
}

#main-contents section.about_charm1 figure.about_charm1_item_img_right {
	float: right;
	margin-left: 5vw;
}

#main-contents section.about_charm1 .about_charm1_contents .about_charm1_text {
	padding: 2vw 5vw;
}

#main-contents section.about_charm1 .about_charm1_contents .about_charm1_text h3 {
	font-size: 1.8vw;
	margin-bottom: 2vw;
	line-height: 1.5;
}

#main-contents section.about_charm1 .about_charm1_contents .about_charm1_text h3 span {
	display: block;
	color: #cd354e;
	margin-bottom: 1vw;
}

#main-contents section.about_charm1 figure {
	width: 50%;
}

#main-contents section.about_charm1 figure img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.taxt_bg_red {
	display: flex;
  	flex-wrap: wrap;
	text-align: center;
}
	
.taxt_bg_red span {
	width: 42%;
	color: #ffffff;
	background-color: #cd354e;
    padding: 0.2vw 0.8vw;
   	margin-bottom: 0.5vw;
   	margin-right: 0.8vw;
}

.taxt_bg_red span:last-child {
	color: #cd354e;
	background-color: initial;
}

.taxt_bg_red span:nth-of-type(even) {
	margin-right: 0;
}
	
#main-contents section.recruit_charm2 {
	background: url(../images/recruit/b-4.jpg) no-repeat;
	background-size: 100% auto;
	margin-bottom: 5vw;
}

#main-contents section.recruit_charm2 h3 {
	font-size: 1.8vw;
	text-align: center;
	line-height: 2;
	padding-top: 20vw;
    margin: 0;
}

#main-contents section.recruit_charm2 h3 span {
	display: block;
	color: #0b318f;
}

#main-contents section.recruit_charm2 .recruit_charm2_contents {
	padding-left: 12vw;
	padding-right: 12vw;
	margin-top: 5vw;
	display:-webkit-box;
	display:-ms-flexbox;
	display: flex;
}


#main-contents section.recruit_charm2 .recruit_charm2_item_img {
	display:-webkit-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	width: 40%;
}

#main-contents section.recruit_charm2 .recruit_charm2_item_img img {
	margin-bottom: 1vw;
	width: 100%;
	height: auto;
}

#main-contents section.recruit_charm2 .recruit_charm2_item_text {
	padding-left: 3vw;
}


#main-contents section.recruit_charm2 .recruit_charm2_item_text h4 {
	display: flex;
	align-items: center;
	font-size: 2vw;
	margin-bottom: 2vw;
	margin-top: 1vw;
}

#main-contents section.recruit_charm2 .recruit_charm2_item_text h4:before {
	content: "";
	width: 5vw;
	height: 0.1vw;
	background-color: #221815;
	margin: 0 1vw 0 0;
}

#main-contents section.recruit_charm2 .recruit_charm2_item_text p {
	margin-left: 6vw;
	margin-bottom: 4vw;
}

#main-contents section.recruit_charm3 {
	background: url(../images/recruit/b-9.jpg) no-repeat;
	background-size: 100% auto;
	margin-bottom: 2vw;
	
}

#main-contents section.recruit_charm3 .recruit_charm3_contents {
	padding: 5vw 12vw;
	margin-bottom: 5vw;
}

#main-contents section.recruit_charm3 .recruit_charm3_contents h2 {
	font-size: 2.5vw;
	margin-bottom: 3vw;
}

#main-contents section.recruit_charm3 .recruit_charm3_contents h2 span {
	font-size: 5.3vw;
	margin-top: 3vw;
	display: block;
}

#main-contents section.recruit_charm3 .recruit_charm3_contents .recruit_3k {
	color: #28b074;
}

#main-contents section.recruit_charm3 .recruit_charm3_contents .recruit_5k {
	color: #fabe00;
}

#main-contents section.recruit_charm3 .recruit_charm3_contents .recruit_7k {
	color: #e60012;
}

#main-contents section.recruit_charm4 {
	padding: 0 15vw;
	margin-bottom: 5vw;
}


#main-contents section.recruit_charm4 .simple_title2 {
	text-align: center;
	margin-bottom: 3vw;
}

#main-contents section.recruit_charm4 .simple_title2 h2 {
	font-size: 2.8vw;
}


#main-contents section.recruit_charm5 {
	padding: 0 4vw;
	margin-bottom: 8vw;
}

#main-contents section.recruit_charm5 .recruit_charm5_item_img img {
	width: 100%;
	height: auto;
}

#main-contents section.recruit_charm6 {
	padding: 0 4vw;
}

#main-contents section.recruit_charm6 h2 {
    font-size: 3.9vw;
	text-align: center;
	margin-bottom: 4vw;
}



#main-contents section.sales1 {
	margin-bottom: 5vw;
}

#main-contents section.sales1 h3.sales1_title, #main-contents section.recruit_info h3.recruit_info_title {
	text-align: center;
	font-size: 2.5vw;
	margin: 4vw auto;
}

#main-contents section.sales1 .sales1_contents, #main-contents section.sec_worker1-2 .sec_worker1-2_contents, #main-contents section.sec_worker2 .sec_worker2_contents {
	display:-webkit-box;
	display:-ms-flexbox;
	display: flex;
}

#main-contents section.sales1 .sales1_contents .sales1_contents_item_left, #main-contents section.sec_worker1-2 .sec_worker1-2_contents .sec_worker1-2_contents_item_left, #main-contents section.sec_worker2 .sec_worker2_contents .sec_worker2_contents_item_left {
	margin-right: 5vw;
}

#main-contents section.sales1 .sales1_contents .sales1_contents_item_right, #main-contents section.sec_worker1-2 .sec_worker1-2_contents .sec_worker1-2_contents_item_right, #main-contents section.sec_worker2 .sec_worker2_contents .sec_worker2_contents_item_right {
	width: 47%;
}

#main-contents section.sales1 .sales1_contents .sales1_contents_item_right p, #main-contents section.sec_worker1-2 .sec_worker1-2_contents .sec_worker1-2_contents_item_right p, #main-contents section.sec_worker2 .sec_worker2_contents .sec_worker2_contents_item_right p {
	line-height: 2;
    margin-bottom: 2vw;
}

#main-contents section.sales1 .sales1_contents .sales1_contents_item_right h3, #main-contents section.sec_worker1-2 .sec_worker1-2_contents .sec_worker1-2_contents_item_right h3 {
	background: #221815;
	color: #fff;
	font-size: 1.8vw;
	padding: 1.2vw 2vw;
	margin-top: 3vw;
}

.ul-style1 {
	font-size: 1.2vw;
	line-height: 2;
	list-style: none;
    margin-bottom: 3vw;
	padding-left: 2vw;
}

.ul-style1 li {
	position: relative;
}

.ul-style1 li:before {
	display: block;
	content: "";
	position: absolute;
	width: 1vw;
	height: 0.1vw;
	background-color: #221815;
	top: 0.9vw;
	left: -2vw;
}


#main-contents section.sales1-2 {
	margin-bottom: 7vw;
}

#main-contents section.sales1-2 .sales1-2_contents_item_img {
	padding: 0 4vw;
}

#main-contents section.sales1-2 .sales1-2_contents_item_img img {
	width: 100%;
	height: auto;
}


#main-contents section.recruit_info {
	padding: 0px 15vw;
	margin-bottom: 5vw;
}

#main-contents section.recruit_info table {
	margin-bottom: 5vw;
}

#main-contents section.recruit_info h4 {
	font-size: 1.7vw;
	text-align: center;
}

#main-contents section.recruit_info p {
	padding: 0 2vw;
}


#main-contents section.sales1-4 {
	padding: 0 11.35vw;
	background: url(../recruit/images/other/sales1-6.jpg) no-repeat;
	background-color: #efefef;
	background-size: 100% auto;	
	padding-bottom: 1vw;
}

#main-contents section.sales1-4 h3, #main-contents section.sec_worker1-3 h3, #main-contents section.sec_worker2-3 h3 {
	position: relative;
	font-size: 1.8vw;
    text-align: center;
    line-height: 2;
    padding-top: 20vw;
	padding-bottom: 1vw;
    margin: 0 0 1vw;
}

#main-contents section.sales1-4 h3:after, #main-contents section.sec_worker1-3 h3:after, #main-contents section.sec_worker2-3 h3:after {
	position: absolute;
    bottom: 0;
    left: calc(50% - 1vw);
    content: '';
    width: 2vw;
    height: 0.1vw;
    background-color: #221815;
    display: inline-block;
	
}


#main-contents section.recruit_contact1 {
	margin: 6vw 10vw;
}

#main-contents section.recruit_contact1 .recruit_contact1_title {
	text-align: center;
}

#main-contents section.recruit_contact1 .recruit_contact1_title h2 {
	font-size: 2.8vw;
	margin-bottom: 3vw;
}

#main-contents section.recruit_contact1 .recruit_contact1_title p {
	margin-bottom: 2vw;
}

#main-contents section.recruit_contact1 table.border-ud {
	text-align: left;
	border-collapse:collapse;
	margin-bottom: 3vw;
}

#main-contents section.recruit_contact1 table.border-ud tr {
	border-top: solid 0.1vw #efefef;
	border-bottom: solid 0.1vw #efefef;
}

#main-contents section.recruit_contact1 table.border-ud tr th, #main-contents section.recruit_contact1 table.border-ud tr td {
	padding: 1.5vw;
}

#main-contents section.recruit_contact1 table.border-ud tr td select {
	font-size: 1.2vw;
	padding: 0.5vw;
	background: #efefef;
}

#main-contents section.recruit_contact1 table.border-ud tr td input, #main-contents section.recruit_contact1 table.border-ud tr td textarea {
	box-sizing: border-box;
	font-size: 1.2vw;
	padding: 1vw;
	border: none;
	background: #efefef;
}

#main-contents section.recruit_contact1 table.border-ud tr td input[type="text"],#main-contents section.recruit_contact1 table.border-ud tr td input[type="tel"]  {
	width: 100%;
}

#main-contents section.recruit_contact1 table.border-ud tr th {
	position: relative;
}

#main-contents section.recruit_contact1 table.border-ud tr th span {
	background: #e60012;
	color: #fff;
	font-size: 1.1vw;
	padding: 0.1vw 0.5vw;
	position: absolute;
    right: 0;
}

#main-contents section.recruit_contact1 p.privacy-link {
	text-align: center;
}

#main-contents section.recruit_contact1 p.privacy-link input {
	margin-right: 1vw;
}

#main-contents section.recruit_contact1 p.privacy-link span {
	background: #e60012;
	color: #fff;
	font-size: 1.1vw;
	padding: 0.1vw 0.5vw;
	margin-right: 1vw;
}

#main-contents section.recruit_contact1 p.privacy-link a {
	text-decoration: underline;
	color: #000;
}

#main-contents section.recruit_contact1 p.privacy-submit_button {
	text-align: center;
	margin-bottom: 5vw;
}

#main-contents section.recruit_contact1 p.privacy-submit_button input {
	background: #221815;
	color: #fff;
	padding: 1vw 10.6vw;
	border: none;
	font-size: 1.4vw;
}

#main-contents section.sec_recruit_link {
	padding: 0 4vw;
	margin-bottom: 3vw;
}




#main-contents section.sec_worker1 {
	background: #efefef;
	padding: 2vw 4vw;
}

#main-contents section.sec_worker1 .sec_worker1_title {
	text-align: center;
	margin-bottom: 5vw;
}

#main-contents section.sec_worker1 .sec_worker1_title h2 {
	font-size: 2.5vw;
	line-height: 1.5;
}

#main-contents section.sec_worker1 ul li {
	background: #fff;
}

#main-contents section.sec_worker1 ul li .text {
	font-size: 1.8vw;
	text-align: center;
	line-height: 1.2;
}

#main-contents section.sec_worker1-2 {
	padding: 5vw 0;
}

#main-contents section.sec_worker1-3 {
	padding: 0 11.35vw;
	background: url(../recruit/images/other/worker1-8.jpg) no-repeat;
	background-color: #efefef;
	background-size: 100% auto;	
	padding-bottom: 1vw;
}


#main-contents section.sec_worker2 {
	margin-bottom: 5vw;
}

#main-contents section.sec_worker2 h3 {
	font-size: 2.5vw;
	line-height: 1.5;
	text-align: center;
}

#main-contents section.sec_worker2 .sec_worker2_contents .sec_worker2_contents_item_right h4 {
	font-size: 1.5vw;
	line-height: 1.5;
	color: #0b318f;
	border: 0.2vw solid #0b318f;
	padding: 1.5vw 3vw;
}

#main-contents section.sec_worker2 .sec_worker2_contents .sec_worker2_contents_item_right h4 span {
	display: block;
	margin-top: 1vw;
}


#main-contents section.sec_worker2-2 {
	
}

#main-contents section.sec_worker2-2 .sec_worker2-2_contents_item_img {
	padding: 0 4vw;
}

#main-contents section.sec_worker2-2 .sec_worker2-2_contents_item_img img {
	width: 100%;
    height: auto;
}

#main-contents section.sec_worker2-3 {
	padding: 0 11.35vw;
	background: url(../recruit/images/other/worker2-6.jpg) no-repeat;
	background-color: #efefef;
	background-size: 100% auto;	
	padding-bottom: 1vw;
}


#main-contents h2.sdgs_title img {
	width: 100%;
	height: auto;
}


#main-contents section.sec_type {
	background: #efefef;
	padding: 3.5vw 0;
}

#main-contents section.sec_type h3 {
	font-size: 1.8vw;
}

#main-contents section.sec_type .sec_type_contents {
	display: flex;
	display: -webkit-box;/*--- Androidブラウザ用 ---*/
	display: -ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex;/*--- safari（PC）用 ---*/
	justify-content: center;
	-webkit-box-pack: center;/*--- Androidブラウザ用 ---*/
    -ms-flex-pack: center;/*--- IE10 ---*/
    -webkit-justify-content: center;/*--- safari（PC）用 ---*/
	margin: 0 12vw 3.5vw;
	padding: 2.5vw;
	background: #fff;
}

#main-contents section.sec_type .sec_type_contents figure {
	margin-right: 2.5vw;
	width: 95%;
}

#main-contents section.sec_type .sec_type_contents figure img {
	width: 100%;
	height: auto;
}

#main-contents section.sec_type .sec_type_contents .sec_type_contents_item_text {
	width: 100%;
}

#main-contents section.sec_type .sec_type_contents .sec_type_contents_item_text h4 {
	font-size: 1.8vw;
	margin-bottom: 1.5vw;
}

#main-contents section.sec_type .sec_type_contents .sec_type_contents_item_text p.sec_type_contents_item_text_underline {
	border-bottom: 0.2vw solid #dcdddd;
	padding-bottom: 1.5vw;
	margin-bottom: 2.5vw;
}


#main-contents section.sec_type .sec_type_contents .sec_type_contents_item_text h5 {
	font-size: 1.2vw;
	margin-bottom: 1vw;
}


#main-contents section.sec_introduction {
	background: #efefef;
	margin: 3vw;
	padding: 4vw 5vw;
}

#main-contents section.sec_introduction .sec_introduction_col3_box {
	width: 100%;
	padding: 0;
	list-style: none;
	display: flex;
	display: -webkit-box;/*--- Androidブラウザ用 ---*/
	display: -ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex;/*--- safari（PC）用 ---*/
	-webkit-flex-flow:row wrap;
	-ms-flex-flow:row wrap;
	flex-flow:row wrap;

}
#main-contents section.sec_introduction ul.sec_introduction_col3_box li {
	width: calc(96% / 3);
	margin: 0 2% 2em 0;
	background: #fff;
}


#main-contents section.sec_introduction ul.sec_introduction_col3_box li:nth-child(3n) {
    margin-right: 0;
}

#main-contents section.sec_introduction ul.sec_introduction_col3_box li img {
	width: 100%;
	height: auto;
}

#main-contents section.sec_introduction ul.sec_introduction_col3_box li .sec_introduction_col3_box_text {
	font-size: 1.7vw;
	font-weight: bold;
	line-height: 1.5;
	padding: 1vw 2.5vw;
}

#main-contents section.sec_introduction ul.sec_introduction_col3_box li .sec_introduction_col3_box_text span {
	font-size: 1.1vw;
	display: block;
}



#main-contents section.sec_staffvoice {
	margin: 5vw;
}

#main-contents section.sec_staffvoice .sec_staffvoice_contents {
	display:flex;
	justify-content:space-between;
	margin-bottom: 5vw;
}

#main-contents section.sec_staffvoice .sec_staffvoice_contents:nth-child(even) {
	flex-direction: row-reverse;
}

#main-contents section.sec_staffvoice .sec_staffvoice_contents figure {
	flex-basis: 40%;
}

#main-contents section.sec_staffvoice .sec_staffvoice_contents:nth-child(odd) figure {
	margin-right: 4vw;
}

#main-contents section.sec_staffvoice .sec_staffvoice_contents:nth-child(even) figure {
	margin-left: 4vw;
}

#main-contents section.sec_staffvoice .sec_staffvoice_contents figure img {
	width: 100%;
	height: auto;
}

#main-contents section.sec_staffvoice .sec_staffvoice_contents .sec_staffvoice_contents_text {
	flex-basis: 59%;
}

#main-contents section.sec_staffvoice .sec_staffvoice_contents .sec_staffvoice_contents_text h3.staffvoice_box {
	background: #0b3190;
	display: inline-block;
	color: #fff;
	font-size: 1.5vw;
	padding: 0.8vw 3vw;
	margin-top: 2.8vw;
}

#main-contents section.sec_staffvoice .sec_staffvoice_contents .sec_staffvoice_contents_text h3.staffvoice_line {
	color: #0b3190;
	font-size: 1.8vw;
	display: flex;
	margin-bottom: 2vw;
	margin-top: 4vw;
	line-height: 1.2;
}

#main-contents section.sec_staffvoice .sec_staffvoice_contents .sec_staffvoice_contents_text h3.staffvoice_line:before {
	content: "";
	width: 1.5vw;
	height: 0.2vw;
	background-color: #221815;
	margin: 0.9vw 1vw 0 0;
}


#main-contents section.sec_contect {
	margin: 4vw 8vw;
}

#main-contents section.sec_contect p.sec_contect_text {
	text-align: center;
	margin-bottom: 2vw;
}



/*----------------------------------------------
　足場の種類CSS
----------------------------------------------*/

.type-5 {
	padding: 5vw 5vw 3vw;
	margin-bottom: 2vw;
}

.type-15 {
	padding: 5vw 15vw 3vw;
	margin-bottom: 5vw;
}

.type-15 img {
	width: 100%;
	height: auto;
	margin-bottom: 1vw;
}

.type-15 p {
	font-size: 1.2vw;
}

.type_contents {
	display: flex;
	margin-bottom: 5vw;
}
.type_contents .type_contents_img {
	
}

.type_contents .type_contents_img figure {
	display: block;
	margin-bottom: 2vw;
	width: 45vw;
}

.type_contents .type_contents_img figure img {
	width: 100%;
	height: auto;
}

.type_contents .type_contents_text {
	padding: 0 3vw;
}

.type_contents .type_contents_text h3 {
	font-size: 2vw;
	line-height: 1.2;
	border-left: 1px solid #617ab7;
	margin-top: 0.8vw;
	margin-bottom: 3vw;
	padding-left: 1vw;
}

.type_contents .type_contents_text span {
	content: "MERIT/DEMERIT";
	display: block;
	font-size: 1vw;
	font-weight: bold;
}

.type_contents .type_contents_text p {
	font-size: 1.2vw;
}


#main-contents article section .type_pad-t5 {
	padding-top: 5vw;
}


.type_contents2 {
	display: flex;
	margin-bottom: 5vw;
}
.type_contents2 .type_contents2_img {
	
}

.type_contents2 .type_contents2_img figure {
	display: block;
	margin-bottom: 2vw;
	width: 40vw;
}

.type_contents2 .type_contents2_img figure img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.type_contents2 .type_contents2_text {
	padding: 0 5vw 0 4vw;
}

.type_contents2 .type_contents2_text h3 {
	font-size: 2vw;
	line-height: 1.2;
	border-left: 1px solid #617ab7;
	margin-top: 0.8vw;
	margin-bottom: 3vw;
	padding-left: 1vw;
}

.type_contents2 .type_contents2_text span {
	content: "MERIT/DEMERIT";
	display: block;
	font-size: 1vw;
	font-weight: bold;
}

.type_contents2 .type_contents2_text p {
	font-size: 1.2vw;
}

.type_contents2 .type_contents2_text p.type_contents2_text_font37 {
	font-size: 1.8vw;
	font-weight: bold;
}

.type_contents2 .type_contents2_text p.type_contents2_text_title {
	background: #221815;
	color: #fff;
	font-size: 1.5vw;
	padding: 0.5vw 2vw;
	margin-top: 3vw;
}

.type_contents2 .type_contents2_text p.type_contents2_text_bold {
	font-size: 1.5vw;
	font-weight: bold;
}


/*--------------------------------------------------------
 パーツのCSS
--------------------------------------------------------*/

p.list_btn {
	text-align: center;
	font-size: 1.2vw;
	color: #fff;
	margin-top: 4vw;
	margin-bottom: 5vw;
}

p.list_btn span {
	
}

p.list_btn span a {
	color: #fff;
	background: #0b3190;
	padding: 1.4vw 6vw;
}

p.list_btn span a:hover {
	
}

p.list_btn_black {
	text-align: center;
	font-size: 1.4vw;
	color: #fff;
	margin-top: 5vw;
	margin-bottom: 5vw;
}

p.list_btn_black span {
	
}

p.list_btn_black span a {
	color: #fff;
	background: #221815;
	padding: 1vw 6vw;
}

p.list_btn_black span a:hover {
	
}

p.icon_01 {
	position: relative;
	padding-left: 1.2vw;
}

p.icon_01 a::before {
	content: '';
	width: 0.85vw;
	height: 0.85vw;
	background: #1f286f;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: -0.15vw;
	margin-top: -0.47vw;
}
p.icon_01 a::after {
	content: '';
	width: 0.3vw;
	height: 0.3vw;
	border: 0;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -0.26vw;
	transform: rotate(45deg);
}


/*--------------------------------------------------------
 FAQのCSS
--------------------------------------------------------*/
.faq-Box {
	width: 80%;
	margin: 0 auto;
	font-size: 1.5vw;
}
	
.faq-Box .faq {
	border-top: 0.1vw solid #646464;
}
	
.faq-Box .faq:last-child {
	border-bottom: 0.1vw solid #646464;
}
.faq-Box .faq dt {
	color: #646464;
}
	
.faq-Box .faq dt,
.faq-Box .faq dd {
	/*display: flex;*/
	align-items: baseline;
	margin: 1.5vw 0;
	position: relative;
}

.faq-Box .faq dt p {
	margin: 0;
	padding: 0.9vw 0 0.9vw 4.5vw;
	width: 100%;
	box-sizing: border-box;
}

.faq-Box .faq dd p {
	margin: 0;
	padding: 0.9vw 0 0.9vw 4.5vw;
	width: 100%;
	box-sizing: border-box;
}

.faq-Box .faq dt::before {
	content: "Q";
	display: flex;
	justify-content: center;
	align-items: center;
	background: #ce354e;
	color: #fff;
	width: 3.5vw;
	height: 3.5vw;
	border-radius: 2vw;
	font-weight: bold;
	position: absolute;
}

.faq-Box .faq dd::before {
	content: "A";
	display: flex;
	justify-content: center;
	align-items: center;
	background: #5dc1a3;
	color: #fff;
	width: 3.5vw;
	height: 3.5vw;
	border-radius: 2vw;
	font-weight: bold;
	position: absolute;
}

@media screen and (max-width: 960px) {
.faq-Box {
		width: 95%;
	}
}
	

section.customization p.p-center {
	text-align: center;
	margin-bottom: 3vw;
}

section.customization p.p-border {
	text-align: center;
}

section.customization p.p-border span {
	color: #ce354e;
	border: 1px solid #ce354e;
	padding: 1vw 2vw;
    border-radius: 2vw;
}
	
	
/*----------------------------------------------
　フォントCSS
----------------------------------------------*/

.contentMain__sec_text {
	text-align: center;
}

.font-53 {
	font-size: 2.8vw;
}

.font-46 {
	font-size: 2.2vw;
	font-weight: bold;
	margin-top: 1vw;
}

.font-37 {
	font-size: 1.8vw;
}

.font-22 {
	font-size: 1.2vw;
}

.font-b {
	font-weight: bold;
}

.font-right-b {
	text-align: right;
	font-weight: bold;
}

.bottom-1 {
	margin-bottom: 1vw;
}

.bottom-5 {
	margin-bottom: 5vw;
}

.bottom-7 {
	margin-bottom: 7vw;
}

.mar-6 {
	margin: 6%;
}

.mar-10 {
	margin: 0 10%;
}

.mar-15 {
	margin: 0 15% 5vw;
}

.mar-18 {
	margin: 0 18vw;
}

.pad-6 {
	padding: 6vw;
}

.pad-15 {
	padding: 15vw;
}



/*----------------------------------------------
　リストCSS
----------------------------------------------*/

ol.list-design01 {
	counter-reset: list-design01; /*数字をリセット*/
	list-style-type: none;
	width: 65%;
	margin: 1vw auto 3vw;
	text-align: left;
	font-size: 1.2vw;
}

ol.list-design01 li {
	position: relative;
	padding-left: 2.5vw;
	line-height: 2;
	/*border-bottom: dashed 1px #0056b4;*/
}

ol.list-design01 li::before {
	position: absolute;
	display: inline-block;
	top: 50%;
	left: 0;
	/* カウントさせる */
	counter-increment: list-design01;
	content: counter(list-design01);
	/*装飾*/
	background: #0056b4;
	color: #fff;
	font-weight:bold;
	border-radius: 5%;
	/*border-color: #0056b4;
	border-width: 1px;
	border-style: solid;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;*/
	width: 1.7vw;
	height: 1.7vw;
	line-height: 1.9vw;
	text-align:center;
	transform: translateY(-50%);
}


ol.list-design02 {
	counter-reset: number 0;           /* number のカウンタを 0 にセット */
	list-style: none;
	padding: 0;
	width: 62.5%;
	margin: auto;
	text-align: left;
}
ol.list-design02 li {
    margin-bottom: 1vw;
	background: #fff;
	padding: 0.5vw 2vw 1.5vw;
}
ol.list-design02 li:before {
	font-weight: bold;
	white-space: pre;
	counter-increment: number 1;      /* number カウンタを増加 */
	content: "第" counter(number, cjk-ideographic) "条\A";      /* 表示形式を指定 */
	border-bottom: 1px solid #0b3190;
	padding-bottom: 0.3vw;
}

div.disc-design01 {
	padding: 0;
	width: 62.5%;
	margin: auto;
	text-align: left;
	font-size: 1.2vw;
	line-height: 1.5;
}

div.disc-design01 dl {
	margin-bottom: 1vw;
	background: #fff;
	padding: 1.5vw 2vw;
}

div.disc-design01 dl dt {
	border-bottom: 1px solid #0b3190;
	display: inline-block;
	padding-bottom: 0.3vw;
	margin-bottom: 1vw;
	font-weight: bold;
}

div.disc-design01 dl dd {
	margin: 0;
}


.list_check {
	width: 55%;
	margin: auto;
	margin-bottom: 3vw;
}

.list_check ul.list_check_mark {
	list-style-type: none;
}

.list_check ul.list_check_mark li {
	position: relative;
	line-height: 1.8;
	font-size: 1.2vw;
}

.list_check ul.list_check_mark li::after {
	content: '';
	display: block;
	position: absolute;
	top: .5em;
	left: -1.5em;
	width: 1vw;
	height: 0.5vw;
	border-left: 0.3vw solid #9c9c9c;
	border-bottom: 0.3vw solid #9c9c9c;
	transform: rotate(-45deg);
}


.list_circle {
	width: 55%;
	margin: auto;
	margin-bottom: 3vw;
}

.list_circle ul.list_circle_mark {
	
}

.list_circle ul.list_circle_mark li {
	list-style-type: circle;
	line-height: 1.8;
	font-size: 1.2vw;
}





/*----------------------------------------------
　よくある質問のデザイン
----------------------------------------------*/

article h3.faq_q {
	background: #0852a0 url("../images/faq/faq_q.png") no-repeat scroll 10px 0;
	font-size: 18.32px;
	padding: 14.82px 50px;
	color: #fff;
}

article p.faq_a {
	background: url("../images/faq/faq_a.png") no-repeat scroll 20px 0;
	padding: 10px 10px 0 60px;
	margin-bottom: 50px;
}



/*----------------------------------------------
　お客様の声のデザイン
----------------------------------------------*/

article .voice_box_contents h3::before {
	content: "";
	border-top: 1px solid #0852a0;
	width: 4vw;
	display: block;
	padding-top: 2vw;
}

article .voice_box_contents {
	
}




/*----------------------------------------------
　求人ページ
----------------------------------------------*/

article h3.title3 {
	font-size: 18.32px;
	position: relative;
	padding: 15px 20px 15px 33px;
}

article h3.title3::after {
	position: absolute;
	top: 9px;
	left: 14px;
	content: '';
	width: 7px;
	height: -webkit-calc(100% - 1em);
	height: calc(100% - 1em);
	background-color: #0056b4;
}
	
span.tag-label1 {
	display: inline-block;
	padding: 4px 12px 3px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1;
	color: #666;
	border-radius: 20px;
	border: 1px solid #666;
	-webkit-transition: color .25s ease,background .25s ease;
	transition: color .25s ease,background .25s ease;
	overflow: hidden;	
}


.v-wrap_button {
	text-align: center;
	margin: 2vw;
	font-size: 1.2vw;
}
.v-wrap_other {
	background: #ce354e;
	color: #ffffff;
	padding: 1vw 2vw;
	border-radius: 2vw;
}

.v-wrap_other:hover {
	background: #ffffff;
	border: 1px solid #ce354e;
	color: #ce354e;
}


/*----------------------------------------------
　サイドバー
----------------------------------------------*/

#sidebar {
	width: 300px;
	float: right;
}

.sidebar-contents {
	margin-bottom: 20px;
}


#sidebar h3 {
	background: url("../images/common/sidebar.png") no-repeat;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    margin: 0;
    padding: 12px 0 14px;
    text-align: center;
}

#sidebar section {
	border-bottom: 1px solid #d6d6d6;
    border-left: 1px solid #d6d6d6;
    border-radius: 0 0 5px 5px;
    border-right: 1px solid #d6d6d6;
    box-shadow: 0 2px 5px #d6d6d6;
    line-height: 1.4;
    padding: 13px 19px 9px;
}


#sidebar p {
	line-height: 1.8em;
	margin: 5px 0;
}

#sidebar ul {
	margin: 0;
	padding: 0;
	line-height: 40px;
}

#sidebar li {
	border-bottom: 1px dashed #dbdbdb;
	list-style: none;
	padding: 5px 0;
}

#sidebar section {
	line-height: 1.4;
	padding: 13px 19px 9px;
}

#sidebar ul.nav-side {
	margin: 0;
	padding: 0;
	line-height: 40px;
}

#sidebar li:first-child {
    border-top: 0 none;
}

#sidebar li:last-child {
    border-bottom: 0 none;
}

#sidebar ul.nav-side li {
	background: url("../images/common/side-icon.png") no-repeat scroll 0 10px rgba(0, 0, 0, 0);
	border-bottom: 1px dashed #dbdbdb;
	list-style: none;
	padding: 10px 65px 5px;
}

#sidebar ul.nav-side li:first-child {
    border-top: 0 none;
}

#sidebar ul.nav-side li:last-child {
    border-bottom: 0 none;
}

#sidebar ul.side-companyname li {
	padding: 10px 0 5px 40px;
}

#sidebar ul.side-companyname li.sideicon-tel {
	background: url("../images/common/side-tel.png") no-repeat scroll 0 10px rgba(0, 0, 0, 0);
}

#sidebar ul.side-companyname li.sideicon-company {
	background: url("../images/common/side-company.png") no-repeat scroll 0 10px rgba(0, 0, 0, 0);
}

/*----------------------------------------------
  ボトム画像
----------------------------------------------*/

#bottom-image {
	margin-bottom: 20px;
}

figure.grid {
	/*display: -ms-flexbox;
	display: -webkit-box;*/ /* Safari,Google Chrome用 */  
    /*display: -moz-box;*/ /* Firefox用 */
	display: inline-table;
	margin: 10px 7px 10px 6px;
}


/*--------------------------------------------------------
 フッターの設定
--------------------------------------------------------*/

footer {
	margin-bottom: 2.5vw;
}

div#footer_nav_wrap {
	background: #efefef;
}

div#footer_nav {
	padding: 6vw 5vw 0;
	position: relative;
}

div#footer_nav .adress {
	float: left;
	padding: 1vw 0 1vw 1vw;
	width: 30%;
}


div#footer_nav .adress .f_logo {
	margin-bottom: 1vw;
	margin-top: -4vw;
	width: 30%;
}

div#footer_nav .adress .f_logo img {
	width: 100%;
	height: auto;
	max-width: 331px;
}

div#footer_nav .adress .name {
	color: #ffffff;
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 20px;
}

div#footer_nav .adress .name span {
	color: #999;
	font-size: 11px;
	font-weight: normal;
	line-height: 24px;
}


div#footer_nav .adress p span {
	font-size: 1.2vw;
	font-weight: 500;
}

div#footer_nav .adress p {
	color: #221815;
	font-size: 0.8vw;
	line-height: 1.5;
}





div#footer_nav ul.border {
	width: 20%;
}

div#footer_nav ul {
	border-left: 1px solid #221815;
	display: inline-table;
	padding-left: 0;
	padding-right: 2vw;
	margin: 0;
	list-style: none;
}


div#footer_nav ul li {
	color: #333;
	font-weight: bold;
	line-height: 1.5vw;
	padding-left: 2vw;
}


div#footer_nav ul li a {
	color: #221815;
	font-size: 0.8vw;
	font-weight: normal;
	text-decoration: none;
}

div#footer_nav ul li a:hover {
	color: #666;
}




div#footer_copy_wrap {
	background: #ce354e;
	padding: 0.8vw;
}



#footer_copy_wrap {
	clear: both;
}

#footer_copy {
	
}

#footer_nav img.iso_logo {
	position: absolute;
	width: 8vw;
	height: auto;
	right: 1vw;
	bottom: 0;

}


/* コピーライトのCSS */
.copy {
	text-align: center;
	margin: 0;
}

p.copy, .copy a {
	color: #fff;
	text-decoration: none;
	font-size: 0.75vw;
}

.copy a:hover {
	font-weight: bold;
}



/*--------------------------------------------------------
 お問い合わせのボックス
--------------------------------------------------------*/
/*article section.contact_mobile {
	display: none;
}*/

.contact_fixed .col3_box_contents {
	background: initial;
}
article section.contact_fixed {
	display: inherit;
	position: fixed;
	bottom: 0;
	z-index: 999;
	width: 100%;
	left: 0;
	right: 0;
	height: 2.5vw;
}
article section.contact_fixed .col3_box {
	background: rgba(30,30,30,0.85);
	margin: 0;
	box-sizing: border-box;
}
article section.contact_fixed .col3_box_contents {
	width: calc(96% / 3);
}
article section.contact_fixed .icon_line,
article section.contact_fixed .icon_tel,
article section.contact_fixed .icon_email  {
	box-sizing: border-box;
}
article section.contact_fixed .icon_line {
	padding: 0;
	margin: 0;
}
article section.contact_fixed .icon_email {
	padding: 0;
	margin: 0;
	border-left: 1px dashed #ffffff;
	border-right: 1px dashed #ffffff;
}
article section.contact_fixed .icon_tel {
	padding: 0;
	margin: 0;
}


article section.contact_fixed .col3_box_contents p {
	font-size: 0.85vw;
	text-align: center;
	padding: 0;
	margin: 0;
}
article section.contact_fixed .col3_box_contents p a {
	color: #ffffff;
	display: block;
	padding: 0.5vw 2%;
}
article section.contact_fixed .col3_box_contents p a::before {
	content: '';
	display: inline-block;
	width: 1.5vw; /*アイコン画像横サイズ*/
	height: 1.5vw; /*アイコン画像縦サイズ*/
}
article section.contact_fixed .col3_box_contents p.col3_line a {
	
}
article section.contact_fixed .col3_box_contents p.col3_line a::before {
	background: url("../images/common/icon/icon-line.png") no-repeat top center;
}
article section.contact_fixed .col3_box_contents p.col3_tel a {
	
}
article section.contact_fixed .col3_box_contents p.col3_tel a::before {
	background: url("../images/common/icon/icon-tel.png") no-repeat top center;
}
article section.contact_fixed .col3_box_contents p.col3_email a {
	
}
article section.contact_fixed .col3_box_contents p.col3_email a::before {
	background: url("../images/common/icon/icon-email.png") no-repeat top center;
}

article section.contact_fixed .contact_info {
	color: #ef4123;
}
article section.contact_fixed .contact_info,
article section.contact_fixed .contact_entrytime {
	/*width: 100%;
	text-align: center;
	font-size: 11.321px;
	margin: 5px 0;*/
	display: none;
}

article section.contact_fixed .col3_box_contents p.col3_line a::before, 
article section.contact_fixed .col3_box_contents p.col3_tel a::before,
article section.contact_fixed .col3_box_contents p.col3_email a::before {
	background-size: 1.5vw;
	/*display:inline-block;*/
	vertical-align: middle;
	margin-right: 0.5vw;
}

.visible-mobile {
	display: none;
}


/*------------------------------------------------------------
　フッターリンク
-------------------------------------------------------------*/

ul.p-banner_box {
	width: 100%;
	padding: 0;
	margin-bottom: 0;
	list-style: none;
	display: flex;
	display: -webkit-box;/*--- Androidブラウザ用 ---*/
	display: -ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex;/*--- safari（PC）用 ---*/
	justify-content: center;
	-webkit-box-pack: center;/*--- Androidブラウザ用 ---*/
    -ms-flex-pack: center;/*--- IE10 ---*/
    -webkit-justify-content: center;/*--- safari（PC）用 ---*/
	
	-webkit-flex-flow:row wrap;
	-ms-flex-flow:row wrap;
	flex-flow:row wrap;

}
ul.p-banner_box li {
	width: calc(90% / 5);
	margin: 0 1% 2em 1%;
	background: #f5f5f5; /*#f9f9f9*/
}


ul.p-banner_box li:nth-child(5n) {
    /*margin-right: 0;*/
}

ul.p-banner_box img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

article section.p-banner {
	margin-top: 2em;
}
	
	
/*------------------------------------------------------------
　テーブル・セルの横幅
-------------------------------------------------------------*/

#main table .w05{ width: 5%; }
#main table .w10{ width: 10%; }
#main table .w15{ width: 15%; }
#main table .w20{ width: 20%; }
#main table .w25{ width: 25%; }
#main table .w30{ width: 30%; }
#main table .w35{ width: 35%; }
#main table .w40{ width: 40%; }
#main table .w45{ width: 45%; }
#main table .w50{ width: 50%; }
#main table .w55{ width: 55%; }
#main table .w60{ width: 60%; }
#main table .w65{ width: 65%; }
#main table .w70{ width: 70%; }
#main table .w75{ width: 75%; }
#main table .w80{ width: 80%; }
#main table .w85{ width: 85%; }
#main table .w90{ width: 90%; }
#main table .w95{ width: 95%; }


/*------------------------------------------------------------
　画像の配置
-------------------------------------------------------------*/

.img-left {
	margin: 0 0 15px 15px;
	float: right;
}



/*------------------------------------------------------------
　フロートの解除
-------------------------------------------------------------*/

#main-contents article section:after,
ul.step_down li:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}


/*------------------------------------------------------------
　ボックスの配置　トップページのボックス　不必要
-------------------------------------------------------------*/

article div[itemprop="articleBody"] {
	/*display: -ms-flexbox;
	display: -webkit-box; /* Safari,Google Chrome用 */  
    /*display: -moz-box; /* Firefox用 */ 
}


article section.box-2 {
	/*width: 325px;*/
	margin: 0 30px 30px 0;
	box-sizing: border-box;
	position: relative;
	clear: both;
}

article section.box-2 img {
	float: left;
	margin-right: 10px;
}

article section.box-2 span {
	background: #002145;
	position: absolute;
	padding: 3px 7px;
	right: 0;
	bottom: 0;
}

article section.box-2 span a {
	color: #FFF;
}

article section.box-2 span a:hover {
	color: #ccc;
}

.topbox-line {
	
}


#main-contents article .toplist ul {
	margin: 0;
	padding: 0;
}

.topbox-imgleft {
	float: left;
}

.topbox-contentright {
	float: right;
	width: 70%;
}

.topbox-imgright {
	float: right;
}

.topbox-contentleft {
	float: left;
	width: 70%;
}

.clearfix:before, .clearfix:after {
    content: "";
    display: block;
}

.clearfix:after {
    clear: both;
}

.toplist li {
	border-bottom: 1px dashed #cccccc;
	padding: 20px 10px;
	position: relative;
}

.toplist li:first-child {
	border-top: 1px dashed #cccccc;
}

.toplist li:last-child {
	border: none;
}


#main-contents article .toplist ul li h3 {
	font-size: 16px;
	margin: 0 0 5px;
}


#main-contents article .toplist ul li p {
	margin: 0;
}

#main-contents article .toplist ul li .topbox-contentright span {
	background: #007130;
	position: absolute;
	padding: 3px 7px;
	right: 10px;
	bottom: 20px;
	font-size: 12px;
}

#main-contents article .toplist ul li .topbox-contentleft span {
	background: #007130;
	position: absolute;
	padding: 3px 7px;
	left: 10px;
	bottom: 20px;
	font-size: 12px;
}

#main-contents article .toplist ul li .topbox-contentleft span:hover, #main-contents article .toplist ul li .topbox-contentright span:hover {
	background: #FFF100;
}

#main-contents article .toplist ul li span a {
	color: #FFF;
}

/*#main-contents article .toplist ul li a:hover {
	color: #ccc;
}*/


/*------------------------------------------------------------
　スマホのみ表示　PC消去
-------------------------------------------------------------*/
article.link_sp,
.link_button_sp {
	display: none;
}


/*--------------------------------------------------------
 見出しのCSS
--------------------------------------------------------*/
	
#main-contents article ol.vertical-text {
	padding-left: 0;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
}
#main-contents article ol.vertical-text li {
	background: #00a0e9;
	color: #ffffff;
	padding: 10px;
	margin: 5px 30px 5px 0;
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	vertical-align: top;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	position: relative;
	height: 200px;
}

#main-contents article ol.vertical-text li:first-child {
	
}

#main-contents article ol.vertical-text li::after {
	content: "";
	position: absolute;
	top: 40%;
	right: -20px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 0 10px 10px;
	border-color: transparent transparent transparent #00a0e9;
}

#main-contents article ol.vertical-text li:last-child::after {
	content: none;
	position: unset;
	top: unset;
	right: unset;
	display: unset;
	width: unset;
	height: unset;
	border-style: none;
	border-width: none;
	border-color: none;
}




/*--------------------------------------------------------
 仕事の流れのCSS
--------------------------------------------------------*/

#main-contents article .diamond {
	display: table;
	width: 160px;
	height: 160px;
	float: left;
	text-align: center;
	margin-right: 20px;
}
#main-contents article .diamond h3 {
	color: #ffffff;
	font-weight: normal;
	font-size: 17px;
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}

#main-contents article .circle {
	display: table;
	width: 160px;
	height: 160px;
	float: left;
	text-align: center;
	margin-right: 20px;
}
#main-contents article .circle h3 {
	color: #ffffff;
	font-weight: normal;
	font-size: 18px;
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	font-weight: bold;
}

#main-contents article .circle-lightblue h3 {
	font-size: 35px;
}

#main-contents article .diamond-blue {
	background: url(../images/common/parts/diamond-bl.png) no-repeat center;
}

#main-contents article .diamond-orange {
	background: url(../images/common/parts/diamond-or.png) no-repeat center;
}

#main-contents article .diamond-lightblue {
	background: url(../images/common/parts/diamond-lb.png) no-repeat center;
}

#main-contents article .circle-blue {
	background: url(../images/common/parts/circle-bl.png) no-repeat center;
}

#main-contents article .circle-orange {
	background: url(../images/common/parts/circle-or.png) no-repeat center;
}

#main-contents article .circle-green {
	background: url(../images/common/parts/circle-gr.png) no-repeat center;
}

#main-contents article .circle-lightblue {
	background: url(../images/common/parts/circle-lb.png) no-repeat center;
}

.btn-right {
	font-size: 14px;
	text-align: right;
}

.btn-subtle {
	background: #efefef;
	line-height: 1;
	padding: 0.5vw 2vw;
	position: absolute;
	bottom: 0;
	right: 0;
	font-size: 1vw;
}

article section p.col2_flow-tel, article section p.col2_flow-email {
	font-size: 22px;
	font-weight: bold;
	padding: 0;
	margin: 0;
}


article section p.col2_flow-tel a {
	background: #ffffff;
	color: #13334b;
	display: inline-block;
	padding: 10px 2%;
	border-radius: 3px;
	width: 80%;
	border: 1px solid #333333;
	box-shadow: 1px 1px 4px rgba(0,0,0,0.3);
}

article section p.col2_flow-email a {
	background: #ffffff;
	color: #13334b;
	display: inline-block;
	padding: 10px 2%;
	border-radius: 3px;
	width: 80%;
	border: 1px solid #333333;
	box-shadow: 1px 1px 4px rgba(0,0,0,0.3);
}

/*
article section p.col2_tel a::before {
	background: url("../images/mobile/tel.png") no-repeat 0 50%;
}

article section p.col2_email a::before {
	background: url("../images/mobile/email.png") no-repeat 0 50%;
}

article section p.col2_tel a::before, article section p.col2_email a::before {
	content: '';
	display: inline-block;
	width: 15px;
	height: 12px;
}
*/


.col2_telbox {
	/*width: 100%;*/
	padding: 0;
	list-style: none;
	display: flex;
	display: -webkit-box;/*--- Androidブラウザ用 ---*/
	display: -ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex;/*--- safari（PC）用 ---*/
	-webkit-flex-flow:row wrap;
	-ms-flex-flow:row wrap;
	flex-flow:row wrap
}

.col2_telbox_contents {
	width: calc(90% / 2);
	margin: 0 2% 0 0;
	position: relative;
	text-align: center;
}


p.blue-button {
	background: #0852a0;
	text-align: center;
	border-radius: 3px;
	box-shadow: 0px 3px rgba(0, 0, 0, 0.3);
	position: relative;
}
	
p.blue-button:hover {
	top: 1px;
	box-shadow: 0px 2px rgba(0, 0, 0, 0.3);
}

p.blue-button a {
	color: #fff;
	padding: 10px;
	display: block;
}

/*--------------------------------------------------------
 4to2カラム　BOXのCSS
--------------------------------------------------------*/
	
ul.col4to2_box {
	width: 100%;
	padding: 0;
	list-style: none;
	display: flex;
	display: -webkit-box;/*--- Androidブラウザ用 ---*/
	display: -ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex;/*--- safari（PC）用 ---*/
	justify-content: center;
	-webkit-box-pack: center;/*--- Androidブラウザ用 ---*/
    -ms-flex-pack: center;/*--- IE10 ---*/
    -webkit-justify-content: center;/*--- safari（PC）用 ---*/
	
	-webkit-flex-flow:row wrap;
	-ms-flex-flow:row wrap;
	flex-flow:row wrap;

}
ul.col4to2_box li {
	width: calc(94% / 4);
	margin: 0 2% 2em 0;
	background: #f5f5f5; /*#f9f9f9*/
}


ul.col4to2_box li:nth-child(4n) {
    margin-right: 0;
}

ul.col4to2_box img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
	


/*--------------------------------------------------------
 求人ランディングページ
--------------------------------------------------------*/

article .square-border {
	margin: 0 auto;
	padding: 10px 0;
	font-family: sans-serif;
	font-size: 20px;
	color:#3cb3e4;
}

article h2.square-border-in {
	margin: 10px 0;
	background: none;
	font-size: 29.641px;
}

article h2.square-border-in {
	border-top: 4px solid #009944;
	border-bottom: 4px solid #009944;
	padding: 7px 20px;
	position: relative;
	text-align: center;
	margin: 30px auto;
	color: #009944;
	font-weight: bold;
	line-height: normal;
}
article h2.square-border-in:before {
	content: "";
	border-left: 4px solid #009944;
	border-right: 4px solid #009944;
	display: block;
	position: absolute;
	width: calc(100% - 20px);
	height: 122px;
	top: -10px;
	left: 6px;
}

article h2.square-border-in::after {
	content: none;
}

ul.col3_box li.under-text {
	background: none;
}

/* 角丸Ver */
/*ul.col3_box li.under-text .text {
	text-align: center;

	background: #ff007f;
	border-radius: 0 0 40px 40px;
}
ul.col3_box li.under-text figure img {
	vertical-align: bottom;
	border-radius: 40px 40px 0 0;
}
ul.col3_box li.under-text .text h3 {
	color: #fff;
	font-size: 25.888px;
	line-height: 1.3;
	margin: 0;
	padding: 10px;
}*/

/* アンダーラインVer */
ul.col3_box li.under-text .text {
	text-align: center;
}
ul.col3_box li.under-text figure img {
	vertical-align: bottom;
}
ul.col3_box li.under-text .text:after {
    background-color: #ff007f;
    border-radius: 3px;
    content: "";
    display: block;
    height: 6px;
}
ul.col3_box li.under-text .text h3 {
	color: #ff007f;
	font-size: 25.888px;
	line-height: 1.3;
	margin: 7px 0 0;
	padding: 10px 0 5px;
}

/* 下矢印 */
.balloon-box {
	text-align: center;
	margin: 50px auto 20px;
}
h3.balloon-line {
	position: relative; /* 三角の位置を固定するために設定 */
	margin: 0 auto 40px; /* 上 左右 下のマージン */
	padding: 24px 50px; /* ふきだし内の余白 */
	background: #fff; /* 背景色 */
	border: 4px solid #0056b4; /* 線色 */
	text-align: center; /* テキストの揃え */
	display: inline-block;
	font-size: 29.641px;
}
h3.balloon-line::before,
h3.balloon-line::after { /* 三角 */
	content: '';
	border: 24px solid transparent;
	position: absolute;
	left: 50%;
	margin-left: -24px;
}
h3.balloon-line::before { /* 線になる部分 */
	border-top-color: #0056b4; /* 吹き出しの線の色と同じ色 */
	bottom: -48px;
}
h3.balloon-line::after { /* 地の部分 */
	border-top-color: #fff; /* 吹き出しの背景色と同じ色 */
	bottom: -43px;
}

.col2_box .img-full img {
	width: 100%;
	height: auto;
}


#main-contents table.two-lines {
	width: 100%;
	border-spacing: 0;
}
#main-contents table.two-lines tr {
	border: none;
}
#main-contents table.two-lines th {
	border-bottom: solid 2px #ff007f;
	padding: 20px 10px;
	background: initial;
	border-right: none;
	font-weight: bold;
	text-align: left;
	
}

#main-contents table.two-lines td {
	border-bottom: solid 2px #ccc;
	text-align: left;
	padding: 20px 10px;
	border-right: none;
}

#main-contents table.two-lines tr:last-child th {
	border-bottom: solid 2px #ff007f;
}


/*--------------------------------------------------------
 タイムラインのCSS
--------------------------------------------------------*/

.timeline-box {
	width: 70%;
	margin: 0 auto 5vw;
}

.timeline > li {
	overflow: hidden;
	margin: 0;
	position: relative;
	display: flex;
}

.timeline-date {
	width: 20%;
}

.timeline-content {
	width: 80%;
	border-left: 0.2vw #0056b4 solid;
	position: relative;
}

.timeline-content p {
	margin-left: 7vw;
}

.timeline-content:after {
	content: '';
	width: 0.64vw;
	height: 0.64vw;
	background: #0056b4;
	position: absolute;
	left: 4.9vw;
	top: 1.8vw;
	border-radius: 100%;
}

.timeline-content:before {
	position: absolute;
    top: 2vw;
    width: 5vw;
    height: 0.2vw;
    content: '';
    background-color: #0056b4;
    left: -0.1vw;
}

.map_contents {
	padding: 0 12vw;
	margin-bottom: 4vw;
}

.map_contents iframe {
	
}



}

