@charset "UTF-8";



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

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

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: 60px;
	margin-top: -60px;
}
	
body {
	width: auto;
	margin: 0;
	padding: 0;
	line-height: 1.4em;
	/*background-image: url(../images/common/bg_body.png);*/
	background-repeat: repeat;
	font: 16px/1.6 verdana,"ヒラギノ丸ゴ ProN W4","Hiragino Maru Gothic ProN","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}

p {
	font-size: 13.655px;
}

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

a:hover {
	color: #73c4e6;
}

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

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

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

#header-in, #main-image-in, #main-image-in-except, #main-in, footer, #copyright-in {
	width: 100%;
	margin: auto;
}


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

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

th, td {
	font-size: 13.655px;
}
 
article .alignleft {
	clear: left;
	float: left;
	margin: 0 2% 1% 0;
}

article .alignright {
	clear: right;
	float: right;
	margin: 0 0 1% 2%;
}


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

#header {
	background-color: #fff;
	background: url("../images/common/line.jpg") repeat-x scroll 0 0 rgba(0, 0, 0, 0);
	float: left;
	margin-bottom: 10px;
}

header {
	padding: 20px 0 0;
}

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

#header-logo {
	width: 100%;
	float: left;
	text-align: center;
}

#header-logo img {
	height: auto;
	width: 100;
}
#header-text {
	width: 100%;
	float: right;
	text-align: center;
}

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

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



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

#main-image {
	margin-bottom: 20px;
	clear: both;
	position: relative;
	margin-top: 80px;
}

#main-image #film_roll_slider img {
	width: 100%;
	height: auto;
}

#main-image #film_roll_slider .film_roll_child {
	margin: 0;
}

#main-image #film_roll_slider #film_roll_arrow {
	
}

#main-image .film_roll_wrapper img {
	margin-left: 0;
	margin-right: 0;
}

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

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

#main-contents {
	float: inherit;
}

#main {
	margin-bottom: 20px;
}

#main-contents article {
	/*border: 5px solid #05407d;*/
	padding: 0 10px;
	margin-bottom: 20px;
	background: #ffffff;
}
/*
#main-contents article h2 {
	border-left: 7px solid #0056b4;
	color: #0056b4;
	font-size: 20px;
	padding-left: 10px;
}
*/
#main-contents article h2 {
	font-size: 18.32px;
	position: relative;
	padding: 10px 20px 12px 30px;
	background: #f5f5f5;
}
#main-contents article h2::after {
	position: absolute;
	top: 10px;
	left: 12px;
	content: '';
	width: 7px;
	height: -webkit-calc(100% - 1em);
	height: calc(100% - 1em);
	background-color: #0056b4;
}

#main-contents article h3 {
	margin: 5px 0 10px 40px;
/*	color: #002145;*/
	font-size: 16px;
}

#main-contents article p {
	margin-bottom: 30px;
}

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

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

#main-contents table th {
	background: #f5f5f5;
	border-bottom: 1px solid #b2b2b2;
	border-right: 1px solid #b2b2b2;
	color: #000000;
	padding: 10px 15px;
	text-align: left;
}

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

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


/* トップページ */
#main-contents section.toplist ul {
	margin: 0;
	padding: 0;
}

#main-contents section.toplist ul li.clearfix {
	border-bottom: 1px dashed #cccccc;
	clear: both;
	margin-bottom: 20px;
	padding-bottom: 20px;
	position: relative;
	overflow: hidden;
}

#main-contents section.toplist .topbox-imgright, #main-contents section.toplist .topbox-imgleft {
	float: left;
    margin-right: 10px;
    width: 30%;
}

#main-contents section.toplist .topbox-contentleft, #main-contents section.toplist .topbox-contentright {
	
}

#main-contents section.toplist .topbox-contentleft h3, #main-contents section.toplist .topbox-contentright h3 {
	margin: 0;
	padding: 0;
}

#main-contents section.toplist .topbox-contentleft p, #main-contents section.toplist .topbox-contentright p {
	margin: 0 0 10px;
	padding: 0;
}

#main-contents section.toplist .topbox-imgright img, #main-contents section.toplist .topbox-imgleft img {
	height: auto;
	width: 100%;
}

#main-contents section.toplist .topbox-contentleft a, #main-contents section.toplist .topbox-contentright a {
	color: #fff;
}

#main-contents article .toplist ul li .topbox-contentright span, #main-contents article .toplist ul li .topbox-contentleft span {
	background: #007130;
	position: absolute;
	padding: 2px 5px;
	right: 0px;
	bottom: 3px;
	font-size: 8px;
}

#main-contents article section.toplist li:first-child {
	padding-top: 20px;
	border-top: 1px dashed #cccccc;
}

#main-contents article section.toplist li:last-child {
	margin-bottom: 20px;
	border: none;
}

#main-contents ul.col3_box li.number div.text p {
	margin: 0;
}


/* 事業内容ページ */

#main-contents article img.alignright,#main-contents article img.alignleft {
	/*width: 100%;
	height: auto;*/
}

#main-contents article section .full_images_sp {
	
}
#main-contents article section .full_images_sp img {
	width: 30%;
	height: auto;
}


/* 仕事の流れページ */

#main-contents article section ul.step_down {
	display: none;
}

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

#main-contents article section ul.step_down_sp h3 {
	margin: 0 0 10px;
	box-sizing: border-box;
	color: #0056b4;
}

#main-contents article ul.step_down_sp li {
	position: relative;
	padding: .5em 0;
	background-color: #fff;
	border-bottom: 2px solid #ccc;
	margin-bottom: 30px;
	display: table;
}

#main-contents article ul.step_down_sp li::before,
#main-contents article ul.step_down_sp li::after {
	position: absolute;
	top: 100%;
	left: 50%;
	content: '';
	height: 0;
	width: 0;
	border: 25px solid transparent;
}

#main-contents article ul.step_down_sp li::before {
	border-top: 15px solid #ccc;
}
#main-contents article ul.step_down_sp li::after {
	margin-top: -2px;
	border-top: 15px solid #fff;
}

#main-contents article ul.step_down_sp li:last-child {
	position: inherit;
}

#main-contents article ul.step_down_sp li:last-child::before,
#main-contents article ul.step_down_sp li:last-child::after  {
	position: inherit;
	top: inherit;
	left: inherit;
	content: inherit;
	height: inherit;
	width: inherit;
	border: inherit;
	margin-top: inherit;
	border-top: inherit;
}

#main-contents article ul.step_down_sp lin li {
	padding: 0;
}

#main-contents article ul.step_down_sp li figure {
	width: 30%;
	height: auto;
	float: right;
	margin: 0 0 1% 2%;
}

#main-contents article ul.step_down_sp li figure img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

#main-contents article ul.step_down_sp li p {
	margin: 0 0 20px 0;
}

.triangle_bg01, .triangle_bg02, .triangle_first {
	font-size: 14px;
}
.triangle_first::after, .triangle_bg01::after, .triangle_bg02::after {
	margin: -38px -20px;
}
#main-contents article ul.step_down li:nth-child(odd) {
	background: inherit;
}

#main-contents article ul.step_down li:nth-child(even) {
	background: inherit;
}



/* リンクボタン */
#main-contents article p.link_button_sp {
	text-align: center;
	margin-bottom: 15px;
}
#main-contents article p.link_button_sp a {
	width: 100%;
	position: relative;
	padding: 10px 0;
	display: inline-block;
	background: #007130;
	border-radius: 3px;
	color: #fff;
}

#main-contents article p.link_button_sp a::before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -4px;
}



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

#main-contents article section.voice_box_pc {
	display: none;
}

#main-contents article section.voice_box_sp .img_full {
	width: 100%;
	height: auto;
}

#main-contents article section.voice_box_sp .voice_box p.voice_img img {
	width: 30%;
	height: auto;
}

#main-contents article section.voice_box_sp .voice_box h3 {
	margin: 10px 0;
	border: 3px solid #0056b4;
	box-sizing: border-box;
	text-align: center;
	color: #0056b4;
	padding: 10px 5px;
}

#main-contents article section.voice_box_sp .voice_box p.voice_img {
	margin: 0;
}

#main-contents article section.voice_box_sp .voice_box p.voice {
	margin: 0;
}



/* よくある質問 */
#main-contents article h3.faq_q {
	background: #0852a0 url("../images/faq/faq_q.png") no-repeat scroll 1px 1px;
	font-size: 16px;
	padding: 10px 5px 10px 40px;
	margin: 0;
	color: #fff;
}

#main-contents article p.faq_a {
	background: url("../images/faq/faq_a.png") no-repeat scroll 1px 0;
	padding: 10px 5px 0 40px;
}


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

#main-contents article h3.square-title {
	font-size: 16px;
	position: relative;
	margin: 0;
	padding: 0 25.888px;
}

#main-contents article h3.square-title::before {
	position: absolute;
	top: 5.333px;
	left: 6.11px;
	width: 16px;
	height: 16px;
	background-color: #0056b4;
	content: "";
}


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

#main-contents article h3.title3 {
	font-size: 18.32px;
	position: relative;
	padding: 15px 20px 15px 20px;
	margin: 5px 0 20px 0;
}

#main-contents article h3.title3::after {
	position: absolute;
	top: 11px;
	left: 5px;
	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;	
}

#main-contents article ul.ul-style01 {
	padding: 0 20px;
}

#main-contents article ul.ul-style01 li {
	list-style: initial;
}

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

[class^='list-'] {
	margin: 15px 0;
	padding: 0;
	list-style: none;
	counter-reset: number;
	font-size: 13.655px;
}
[class^='list-'] li {
	position: relative;
	margin-bottom: 9.888px;
	margin-left: 1.75em;
}
[class^='list-'] li::before {
	position: absolute;
	left: -1.75em;
	content: counter(number);
	counter-increment: number;
}
.list-design01 li {
	margin-left: 25.888px;
	padding-left: 9.888px;
	border-left: 3px solid #ccc;
}
.list-design01 li::before {
	font-size: 13.655px;
	font-weight: bold;
	left: -22.096px;
	color: #0056b4;
}

/*
ol.list-design01 {
	font-size: 13.655px;
	padding: 0 25.888px;
	margin: 0 0 22.096px;
}

ol.list-design01, ol.list-design01 li {
	list-style: decimal;
}
*/
/*----------------------------------------------
　サイドバー
----------------------------------------------*/

#sidebar {
	width: 100%;
	float: left;
}

.sidebar-contents {
	/*border: 5px solid #002145;*/
	margin-bottom: 20px;
}

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

#sidebar h3 {
	background: #002145;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	margin: 0 -15px;
	padding: 9px 0;
	text-align: center; 
}

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

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

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

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

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

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

#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 0 5px 65px;
}

#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);
}

#sidebar ul.nav-side li a {
	display: block;
}


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

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

figure.grid {
	margin: 15px 0;
}

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


/*----------------------------------------------
　フッター
----------------------------------------------*/

footer {
	/*background-color: #333333;*/
	background: #0056b4;
	border-top: 2px solid #dbac5d;
	color: #ffffff;
	margin-bottom: 145px;
}

footer a {
	color: #FFFFFF;
}

footer ul.border {
	display: none;
}

footer .adress {
	padding: 15px 15px 0;
	text-align: center;
}

footer .adress .name{
	margin-bottom: 10px;
}

footer img {
	height: auto;
	width: 100;
}

#footer_copy_wrap {
	background: #1f1f1f;
}

#footer_copy {
	color: #fff;
	text-align: center;
}

#footer_copy p {
	margin: 0;
	padding: 15px;
}


/*------------------------------------------------------------
　テーブル・セルの横幅
-------------------------------------------------------------*/

#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 {
	width: 100%;
	height: auto;
}


/*------------------------------------------------------------
　ボックスの配置
-------------------------------------------------------------*/

article div[itemprop="articleBody"] {
	
}


article section.box-2 {
	width: 100%;
	margin: 0 30px 30px 0;
	box-sizing: border-box;
	border-bottom: 1px dashed;
	position: relative;
	clear: both;
}

article section.box-2 img {
	width: 100%;
	height: auto;
}

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

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



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

input {
	width: 100%;
}

input.radio {
	width: initial;
}



/*--------------------------------------------------------
  ブログカードの表示
--------------------------------------------------------*/
#container aside.blog-card h3 {
	font-size: 16px;
	background: #fff;
	border-left: 7px solid #0056b4;
	color: inherit;
	padding: 3px 10px;
}

#container aside.blog-card ul p {
	font-size: 13.655px;
}

#container aside.blog-card ul {
	margin: 0;
}

#container aside.blog-card li {
	margin: 0;
	width: 100%;
}



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

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

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

/*--------------------------------------------------------
 画像のマウスオーバーのアニメーション
--------------------------------------------------------*/
#main-contents article figcaption h3 {
	color: #fff;
	margin: 0;
}


/*------------------------------------------------------------
　トップページのスマホ表示
-------------------------------------------------------------*/
#header {
	display: none;
}

/*#header-sp {
	background: url(../images/top_sp.jpg) repeat scroll right top / cover;
	height: 550px;
	margin-top: 55px;
	position: relative;
	text-align: center;
	margin-bottom: -40px;
}

#header-sp h2 img {
	margin: 0 auto;
	padding-top: 180px;
	width: 200px;
	height: auto;
}*/

#main-image-top-sp h2 img {
	width: 100%;
	height: auto;
}


#main-image {
	display: none;
}

/*------------------------------------------------------------
　ヘッダー画像のスマホ表示
-------------------------------------------------------------*/
#main-image {
	display: none;
}

#main-image-top-sp {
	margin-top: 48px;
}

#main-image-sp {
	margin-top: 48px;
	margin-bottom: 20px;
}

#main-image-sp {
	display: inherit;
	width: 100%;
	height: 0;
	padding-top: calc(400 / 650 * 100%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	/*background: url(bg.jpg) center center / cover no-repeat;*/
}
#main-image-sp img {
	width: 100%;
	height: auto;
	position: absolute;
	top: 0;
	left: 0;
}



/*--------------------------------------------------------
 2カラム　BOXのCSS
--------------------------------------------------------*/
.col2_box_contents {
	width: inherit;
}
.col2_box_contents img.alignleft {
	clear: left;
	float: inherit;
	margin: 0;
	padding: 15px 15px 5px;
	width: 100%;
	height: auto;
	box-sizing: border-box;
}
#main-contents article .col2_box_contents h3 {
	margin: 0 0 10px 15px;
}
.col2_box_contents p {
	padding: 0 15px;
}
.col2_box_contents p span {
	position: inherit;
	right: inherit;
	bottom: inherit;
	text-align: center;
}
.col2_box_contents p span a {
	background: #EA4E31;/*#0056b4*/
	color: #fff;
	display: block;
	padding: 10px 0;
	margin-top: 15px;
	border-radius: 3px;
	box-shadow: 0px 3px rgba(0, 0, 0, 0.3);
	position: relative;
	top: 0;
}
.col2_box_contents p span a:hover {
	top: 1px;
	box-shadow: 0px 2px rgba(0, 0, 0, 0.3);
}


/*--------------------------------------------------------
 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(96% / 2);
	margin: 0 2% 2em 0;
	background: #f5f5f5; /*#f9f9f9*/
}


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

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


/* スマホ用2カラム */
article.link_sp .col2_box_sp {
	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;
	background: #eff3f9;
}

article.link_sp .col2_box_contents_sp {
	width: calc(100% / 2);
	margin: 0;
	position: relative;
	padding: 10px 3% 20px;
	box-sizing: border-box;
	border-right: 1px solid #c9d8eb;
}

article.link_sp .col2_box_contents_sp a {
	display: block;
	/*padding: 10px 10px 20px*/
}

article.link_sp .col2_box_contents_sp img {
	width: 100%;
	height: auto;
}

article.link_sp .col2_box_contents_sp:nth-child(2n) {
	border-right: none;
}

article.link_sp p.arrow01 {
	position: relative;
	margin: 0;
	padding-left: 20px;
	display: inline-block;
}

article.link_sp p.arrow01:before {        /*白い丸 */ 
	display: block;
	content: "";
	position: absolute;
	top: 12px;
	left: 0;
	width: 15px;
	height: 15px;
	margin-top: -8px;
	border: 1px solid #0056b4;
	border-radius: 50%;        /* CSS3草案 */  
    -webkit-border-radius: 50%;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 50%;   /* Firefox用 */  
	box-sizing:border-box;
}
article.link_sp p.arrow01:after {       /*「after要素」で三角 */ 
	display: block;
	content: '';
	position: absolute;
	top: 13px;
	left: 4px;
	width: 4px;
	height: 4px;
	border: 0px;
	border-top: 1px solid #0056b4;
	border-right: 1px solid #0056b4;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	margin-top: -4px;
}




/* お問い合わせのボックス */

/*
article section.contact {
	display: none;
}
article section.contact_fixed {
	display: inherit;
	position: fixed;
	bottom: 0;
	z-index: 999;
}
article section.contact_fixed .col2_box {
	background: #f5f5f5;
	margin: 0;
	box-sizing: border-box;
}
article section.contact_fixed .col2_box_contents {
	width: calc(98% / 2);
}
article section.contact_fixed .icon_tel,
article section.contact_fixed .icon_email  {
	box-sizing: border-box;
}
article section.contact_fixed .icon_tel {
	padding: 0 1%;
	margin: 0;
}
article section.contact_fixed .icon_email {
	padding: 0;
	margin: 0;
}
article section.contact_fixed .col2_box_contents p {
	font-size: 90%;
	text-align: center;
	padding: 0;
	margin: 0;
}
article section.contact_fixed .col2_box_contents p a {
	color: #ffffff;
	display: block;
	padding: 10px 2%;
	border-radius: 3px;
}
article section.contact_fixed .col2_box_contents p a::before {
	content: '';
	display: inline-block;
	width: 15px; アイコン画像横サイズ
	height: 12px; アイコン画像縦サイズ
}
article section.contact_fixed .col2_box_contents p.col2_tel a {
	background: #0056b4;
}
article section.contact_fixed .col2_box_contents p.col2_tel a::before {
	background: url("../images/mobile/tel.png") no-repeat 0 50%;
}
article section.contact_fixed .col2_box_contents p.col2_email a {
	background: #ef4123;
}
article section.contact_fixed .col2_box_contents p.col2_email a::before {
	background: url("../images/mobile/email.png") no-repeat 0 50%;
}

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;
}
*/


article section.contact {
	display: none;
}
article section.contact_fixed {
	display: inherit;
	position: fixed;
	bottom: 0;
	z-index: 999;
}
article section.contact_fixed .col3_box {
	background: rgba(245,245,245,0.9);
	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 1%;
	margin: 0;
}
article section.contact_fixed .icon_tel {
	padding: 0;
	margin: 0;
}


article section.contact_fixed .col3_box_contents p {
	font-size: 90%;
	text-align: center;
	padding: 0;
	margin: 0;
}
article section.contact_fixed .col3_box_contents p a {
	color: #ffffff;
	display: block;
	padding: 10px 2%;
	border-radius: 3px;
}
article section.contact_fixed .col3_box_contents p a::before {
	content: '';
	display: inline-block;
	width: 20px; /*アイコン画像横サイズ*/
	height: 20px; /*アイコン画像縦サイズ*/
}
article section.contact_fixed .col3_box_contents p.col3_line a {
	background: #0056b4;
}
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 {
	background: #ef4123;
}
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 {
	background: #333333;
}
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;
}

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 {
	white-space: pre;
	width: 100%;
	background-size: 20px;
}
article section.contact_fixed .col3_box_contents a span.dot {
    display: none;
}
	
	
/*--------------------------------------------------------
 3カラム　BOXのCSS
--------------------------------------------------------*/
ul.col3_box .text_list {
	margin: 0;
}
ul.col3_box li {
	width: inherit;
}

#main-contents article ul.col3_box li .text_list h3 {
	margin: 0 0 0 15px;
}
#main-contents article ul.col3_box li .text_list p {
	margin: 15px;
}

#main-contents article ul.col3_box li.number h3 {
	margin-left: 30px;
}

#main-contents article ul.col3_box li.number:before { /* ランキング */
    line-height: 20px;
	margin: 8px 0 0 5px;
	width: 20px;
	height: 20px;
}

/*--------------------------------------------------------
 5カラム　BOXのCSS
--------------------------------------------------------*/
.col5_box_contents {
	width: inherit;
}
#main-contents article .col5_box_contents h3.col5_title {
	color: #fff;
	margin: 0;
	font-size: 13.655px;
}

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

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

	
/*----------------------------------------------
  アンダーラインカーソル
----------------------------------------------*/

.underline-cursor {
	position: relative;
	padding: 0 0 20px 0;
	border-bottom: 2px solid #ccc;
	margin-bottom: 30px;
	display: flow-root;
}

.underline-cursor::before, .underline-cursor::after {
	position: absolute;
	top: 100%;
	left: 45%;
	content: '';
	height: 0;
	width: 0;
	border: 25px solid transparent;
	border-top-color: transparent;
	border-top-style: solid;
	border-top-width: 25px;
}

.underline-cursor::before {
	border-top: 15px solid #ccc;
}

.underline-cursor::after {
	margin-top: -2px;
	border-top: 15px solid #fff;
}


.underline-cursor:last-child {
	position: relative;
	padding: 0 ;
	border-bottom: initial;
}

.underline-cursor:last-child::before, .underline-cursor:last-child::after {
	position: absolute;
	top: 100%;
	left: 45%;
	content: '';
	height: 0;
	width: 0;
	border: 25px solid transparent;
	border-top-color: transparent;
	border-top-style: solid;
	border-top-width: 25px;
}

.underline-cursor:last-child::before {
	border-top: initial;
}

.underline-cursor:last-child::after {
	margin-top: initial;
	border-top: initial;
}

.underline-cursor figure {
	width: 30%;
	height: auto;
	float: right;
	margin-right: initial;
	margin-left: 15px;
	margin-top: 15px;
}

.underline-cursor figure img {
	width: 100%;
	height: auto;
}

.underline-cursor p a.btn--subtle {
	width: 100%;
	padding: 0.7em 0;
}

.underline-cursor p.btn-right {
	text-align: right;
}


/*--------------------------------------------------------
 見出しの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: inherit;

}
	
#main-contents article h3.underline-h3 {
	margin: 5px 0 10px;
	padding: 7px;
}


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

#main-contents article .circle h3 {
	margin: 0;
	color: #fff;
	padding: 7px 14px;
}

#main-contents article .circle-blue h3 {
	background: #13334b;
}

#main-contents article .circle-orange h3 {
	background: #eb6100;
}

#main-contents article .circle-lightblue h3 {
	background: #00a0e9;


}

#main-contents article .circle h3 br {
	display: none;
}

#main-contents article h3.headline-h3-blue {
	margin: 10px 0;
}

#main-contents article h3.underline-h3-blue, #main-contents article h3.underline-h3-orange, #main-contents article h3.underline-h3-green, #main-contents article h3.underline-h3-lightblue {
	margin: 10px 0;
}

#main-contents article h3.bg-square-green, #main-contents article h3.bg-square-blue{
	margin: 0;
}

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


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

.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(96% / 2);
	margin: 0 2% 0 0;
	position: relative;
	text-align: center;
}

.col2_telbox_contents:last-child {
	margin-right: 0;
}


.btn-subtle {
	border: 1px solid #ccc;
	border-radius: 0.25em;
	line-height: 1;
	padding: 5px 15px;
}

.dotted-box {
	width: inherit;
}
	
.dotted-box ul {
	padding: 0;
	font-size: 100%;
}

#main-contents article ol.vertical-text {
	margin: 0;
	padding: 0;
	
}

#main-contents article ol.vertical-text li {
	background: #00a0e9;
	padding: 10px;
	margin: 0px 0 10px 0;
	color: #fff;
}


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;
}


}