@charset "UTF-8";



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

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

.pc_hid {
	display: none;
}

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

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

ol.list-style-on {
	list-style: inherit;
}

th, td {
	font-size: 3vw;
}
 
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-top-sp h2 {
	margin: 0;
}

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

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

#main-contents {
	float: inherit;
}

#main {
	
}

#main-contents article {
	/*border: 5px solid #05407d;*/
	background: #ffffff;
}

article h2.underline {
	font-size: 4vw;
	position: relative;
	padding: 1.5vw 1vw;
	z-index: 100;
	text-align: center;
	margin: 3vw auto 5vw;
	display: table;
}
article h2.underline span {
	display: block;
	font-size: 2.5vw;
	color: #ce354e;
}
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: 4vw;
	position: relative;
	padding: 1.5vw 1vw;
	z-index: 100;
	text-align: center;
	margin: 3vw auto 5vw;
	display: table;
	width: 100%;
}
article h2.underline_box span {
	display: block;
	font-size: 2.5vw;
	color: #231815;
	background: #f3f1e9;
	padding: 0.5vw;
	font-weight: initial;
}
article h2.underline_box::after {

	
}


/*----------------------------------------------
 トップページ
----------------------------------------------*/

article section .contentMain__item {
	background: #efefef;
	padding: 4%;
}

article section .contentMain__item_left, article section .contentMain__item_right {
	margin-bottom: 5vw;
}

article section .contentMain__item_left h3, article section .contentMain__item_right h3 {
	font-size: 4vw;
}

article section .contentMain__item_left p, article section .contentMain__item_right p {
	font-size: 3vw;
}

#main-contents section.sec_red, section.sec_red {
	padding: 4%;
	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;
}

.white {
    background: #fff;
}

.col4_box_main_contents h3.col4_main_title {
	font-size: 4vw;
}

.col4_box_main_contents p {
	font-size: 3vw;
}

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

.col4_box_main_contents .col4_box_main_contents_text {
    padding: 1vw 3vw 3vw;
	margin-bottom: 3vw;
}

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

.slick-slide h3 {
	font-size: 2.5vw;
}

p.list_btn {
	text-align: center;
	font-size: 3vw;
	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 {
	
}

ul.col3_box li {
	background: #f5f5f5;
	padding: 4%;
	margin-bottom: 4%;
}

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

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

ul.col3_box .text_list {
	
}

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

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

ul.col3_box .text_list p.seko_icon01 {
    background: url(../images/common/icon/seko01.png) no-repeat;
}

ul.col3_box .text_list p.seko_icon02 {
    background: url(../images/common/icon/seko02.png) no-repeat;
}


/*----------------------------------------------
 施工の流れ
----------------------------------------------*/

#main-contents section.work-flow {
	margin: 0 4%;
}

article .simple_title {
	text-align: center;
	margin: 5vw;
}

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

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

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

.cp_timeline03 .timeline_item:not(:last-of-type) {
	
}

.cp_timeline03 h3 {
	color: #ce354e;
	font-size: 4vw;
}

.cp_timeline03 .desc p {
	font-size: 3vw;
}

.cp_timeline03 .time {
	font-size: 3vw;
	color: #fff;
	background-color: #cd354e;
	padding: 2vw 3vw;
	font-weight: bold;
}

.cp_timeline03 .desc .desc_contents figure img {
	width: 100%;
	height: auto;
}

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

article section .tel-box p.tel-box_contents {
	font-size: 3vw;
	font-weight: bold;
	margin: initial;
	padding-left: 5vw;
	background: url(../images/common/icon-tel_b.png) no-repeat 0 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: 2.5vw;
    display: block;
}

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

article section .mail-box .mail-box_contents {
font-size: 2.5vw;
    margin: initial;
    padding-left: 7vw;
    background: url(../images/common/icon-mail_b.png) no-repeat 0 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_timeline03 .time br {
	display: none;
}

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



.cp_timeline03 .desc p.btn {
	position: relative;
	padding-bottom: 5vw;
}

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


.cp_timeline03 .time_subheading_contents {
	padding: 1.8vw 0;
	color: #fff;
	width: 100%;
	font-size: 2.5vw;
	text-align: center;
	display: block;
	margin-bottom: 5vw;
}

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

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


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

.clearfix {
	overflow: hidden;
}

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

.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_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 {
	margin-bottom: 1vw;
	position: relative;
}

.cp_timeline04 .timeline_item04:before {
	position: absolute;
	z-index: 0;
	left: 2.65vw;
	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: 2.25vw;
	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: 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: 26vw;
}


/*----------------------------------------------
 お客様の声
----------------------------------------------*/

article .voice_box {
	padding: 4%;
}

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

article .voice_box_contents　p {
	font-size: 3vw;
}


/*----------------------------------------------
 会社案内
----------------------------------------------*/

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

article .contentMain__sec_text {
	text-align: center;
	padding: 0 4%;
}

#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: 0 auto 5vw;
}

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

#main-contents section.sec_philosophy h4.sp_title4 {
	margin: 0 0 5vw;
}

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

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

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

#main-contents section.sec_philosophy p.font-22 {
	padding: 0 4%;
}

/*----------------------------------------------
 代表者挨拶
----------------------------------------------*/

#main-contents section.mar-6 {
	padding: 0 4%;
}

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


/*----------------------------------------------
 会社概要
----------------------------------------------*/

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

#main-contents table.table_under-line {
	
}

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

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

.timeline-box {
	margin: 0 4% 5vw;
}

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

.timeline-date {
	width: 30%;
	font-size: 2.5vw;
}

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

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

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

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

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

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


/*----------------------------------------------
 Type
----------------------------------------------*/

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

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

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

#main-contents section.sec_type .sec_type_contents {
	margin: 0 4% 5vw;
	padding: 3.5vw;
	background: #fff;
}

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

#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 h4 {
	font-size: 3vw;
	margin-bottom: 1.5vw;
}

#main-contents section.sec_type2 .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: 3vw;
	margin-bottom: 1vw;
}

#main-contents section.sec_type .sec_type_contents .sec_type_contents_item_text p {
	font-size: 3vw;
}

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

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


/*----------------------------------------------
 こだわり
----------------------------------------------*/

#main-contents section .type-5 img, .type_contents2 .type_contents2_img figure img {
	width: 100%;
	height: auto;
}

.type_contents2 .type_contents2_text {
	padding: 4%;
}

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

.type_contents2 .type_contents2_text p.type_contents2_text_font37, .type_contents2 .type_contents2_text p.type_contents2_text_bold {
	font-weight: bold;
}

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


/*----------------------------------------------
 新築足場
----------------------------------------------*/

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

#main-contents section.contents_ashiba {
	font-size: 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: 3vw;
	margin-bottom: 3vw;
	text-align: right;
}

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


/*----------------------------------------------
 施工実績
----------------------------------------------*/

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

.type-15 {
	padding: 5vw 4% 3vw;
}

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

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

.type_contents {
	margin: 4%;
}

.type_contents .type_contents_img figure {
	margin-bottom: 3vw;
}

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

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

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

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

/*----------------------------------------------
 社員紹介
----------------------------------------------*/

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

section.sec_introduction ul.sec_introduction_col3_box li {
	margin: 0 2% 2em 0;
	background: #fff;
}

figure {
	margin: 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: 3vw;
	font-weight: bold;
	padding: 2vw 3.5vw;
}

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

/*----------------------------------------------
 先輩社員の声
----------------------------------------------*/

#main-contents section.sec_staffvoice {
	margin: 4%;
}

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

#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 h3.staffvoice_box {
	background: #0b3190;
	display: inline-block;
	color: #fff;
	font-size: 2.5vw;
	padding: 0.8vw 3vw;
	margin-top: 3vw;
}

#main-contents section.sec_staffvoice .sec_staffvoice_contents .sec_staffvoice_contents_text h3.staffvoice_line {
	color: #0b3190;
	font-size: 3vw;
	display: flex;

}

#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: 2.5vw 1vw 0 0;
}


/*----------------------------------------------
 求人募集
----------------------------------------------*/

#main-contents section.contents_recruit_head {
	padding: 4%;
	background: #0b3190;
	color: #fff;
}

#main-contents section.contents_recruit_head .contents_recruit_head_text p {
	font-size: 3vw;
}

#main-contents section.contents_recruit_head h2 {
	font-size: 4vw;
}


#main-contents section.about_charm1 {
	padding: 5vw 4%;
	background: #efefef;
}

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

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

#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 {

}

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

#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: 4vw;
	margin-bottom: 2vw;
}

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

#main-contents section.about_charm1 .about_charm1_contents .about_charm1_text p {
	font-size: 3vw;
}


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

#main-contents section.about_charm2 h3 {
	font-size: 4vw;
	text-align: center;
	line-height: 1.5;
	padding-top: 18vw;
	margin: 0;
}

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

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

#main-contents section.about_charm2 .about_charm2_item_text {
    padding: 4%;
}

#main-contents section.about_charm2 .about_charm2_item_text p {
	font-size: 3vw;
}

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

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

#main-contents section.about_charm2 .about_charm2_item_text p {
	font-size: 3vw;
	margin-bottom: 5vw;
}

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

#main-contents section.about_charm3 .about_charm3_contents {
	padding: 0 4% 1vw;
}

#main-contents section.about_charm3 .about_charm3_contents h2 {
	font-size: 2.5vw;
	margin-bottom: 0;
	margin-top: 0;
}

#main-contents section.about_charm3 .about_charm3_contents h2 span {
	font-size: 5vw;
	margin-left: 3vw;
}

#main-contents section.about_charm3 .compare-box .compare-left-wrap, #main-contents section.about_charm3 .compare-box .compare-right-wrap {
	width: 50%;
	overflow: hidden;
	margin-right: 2vw;
	border: 0.4vw solid #ccc;
	background: #fff;
	text-align: center;
}

#main-contents section.about_charm3 .compare-box {
	width: 100%;
	margin: auto;
}

#main-contents section.about_charm3 .compare-box .compare-left-wrap {
	margin-right: 1vw;
}

#main-contents section.about_charm3 .compare-box .compare-right-wrap {
	margin-left: 1vw;
	margin-right: initial;
}


#main-contents section.about_charm3 .compare-box .compare-left-head, #main-contents section.about_charm3 .compare-box .compare-right-head {
	color: #FFF;
	font-weight: bold;
	padding: 0.5vw 0.8vw;
	width: 100%;
	box-sizing: border-box;
}

.compare-left-head h4, .compare-right-head h4 {
	margin: 0.5vw;
}

.compare-box .compare-left, .compare-box .compare-right {
    padding: 0 1.2vw;
    font-size: 1.2vw;
}

#main-contents section.about_charm3 .compare-box .list li {
	padding: 0.1vw;
	font-size: 1vw;
}

#main-contents section.about_charm3 .compare-box-separate .compare-left-head, #main-contents section.about_charm3 .compare-box-separate .compare-right-head, #main-contents section.about_charm3 .compare-box-separate .compare-right-head {
	border-bottom: 1px solid #ccc;
}

#main-contents section.about_charm4 {
	padding: 0 4%;
	margin-bottom: 5vw;
}

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

#main-contents section.about_charm4 .simple_title2 h2 {
	font-size: 4vw;
}

#main-contents section.about_charm4 .simple_title2 p {
	font-size: 3vw;
}

#main-contents table.table_over-line {
	line-height: 1.5;
	font-size: 3vw;
}

#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 td {
	border-bottom: solid 0.2vw #a5a6a6;
	padding: 1.7vw 0.3vw 1.4vw;
}

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

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

#main-contents section.about_charm5, #main-contents section.sec_recruit_link {
	padding: 0 4%;
}

#main-contents section.about_charm5 .col4_box_contents, #main-contents section.sec_recruit_link .col4_box_contents {
	margin-bottom: 2vw;
}

#main-contents section.about_charm5 .col4_box_contents img, #main-contents section.sec_recruit_link .col4_box_contents img {
	width: 100%;
	height: auto;
}

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

#main-contents section.about_charm6 {
    padding: 0 4%;
}

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

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

#main-contents section.about_charm6 .col4_box_contents {
    margin-bottom: 2vw;
}


#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: 4vw;
	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 {
    padding: 0 4%;
}

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

#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 {
	font-size: 3vw;
}

#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: 3vw;
	padding: 1.2vw 2vw;
	margin-top: 3vw;
}

.ul-style1 {
	font-size: 3vw;
	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: 3vw;
	left: -2vw;
}

.col2_photo_box li, .col3_photo_box li {
	margin-bottom: 2vw;
}

.col2_photo_box li img, .col3_photo_box li img {
	width: 100%;
	height: auto;
}

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

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

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


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

#main-contents section.recruit_info p {
	font-size: 3vw;
}

#main-contents section.sales1-4 {
	padding: 0 4%;
	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: 3vw;
	text-align: center;
	line-height: 2;
	padding-top: 20vw;
	padding-bottom: 0.5vw;
	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;
}

.taxt_bg_red {
	display: flex;
  	flex-wrap: wrap;
	text-align: center;
}

.taxt_bg_red p {
	
}

.taxt_bg_red span {
	width: 47%;
	color: #ffffff;
	background-color: #cd354e;
    padding: 0.2vw 0.8vw;
   	margin-bottom: 1vw;
   	margin-right: 2%;
}

.taxt_bg_red span:nth-child(even) {
	margin-right: 0;
}

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


.cp_timeline05 {
    position: relative;
    margin: 0 auto 3vw;
    padding: 5vw 3vw 3vw;
    background: #fff;
}

.cp_timeline05 .timeline_item:not(:last-of-type) {
	margin-bottom: 0;
	padding-bottom: 4vw;
}

.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;
	font-size: 3vw;
}

.cp_timeline05 .desc .desc_contents figure img {
	width: 100%;
	height: auto;
}

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

.cp_timeline05 .desc p {
	font-size: 3vw;
}

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

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

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

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

#main-contents section.recruit_contact1 table.border-ud {
	text-align: left;
	margin-bottom: 3vw;
	padding: 3vw;
	background: #efefef;
	border-spacing: 0 1vw;
}

#main-contents section.recruit_contact1 table.border-ud tr {
	
}

#main-contents section.recruit_contact1 table.border-ud tr th {
		position: relative;
		display: block;
		width: 100%;
		font-size: 3vw;
}

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

#main-contents section.recruit_contact1 table.border-ud tr td {
	display: block;
	width: 100%;
}

#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 td input, #main-contents section.recruit_contact1 table.border-ud tr td textarea {
	box-sizing: border-box;
	font-size: 2.5vw;
	padding: 1vw;
	border: none;
	background: #fff;
}

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

#main-contents section.recruit_contact1 p.privacy-link span {
	background: #e60012;
	color: #fff;
	font-size: 2.5vw;
	padding: 0.5vw 0.5vw;
	margin-right: 1vw;
	vertical-align: text-bottom;
}

#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: 3vw;
}

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

#main-contents section.sec_worker1 .sec_worker1_title h2 {
	font-size: 4vw;
	text-align: center;
}

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

#main-contents section.sec_worker1 ul.col3_box img {
	width: 100%;
	height: auto;
}

#main-contents section.sec_worker1 ul li .text {
	font-size: 3vw;
}

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

#main-contents section.sec_worker1-2 .sec_worker1-2_contents .sec_worker1-2_contents_item_left img {
	width: 100%;
	height: auto;
}

#main-contents section.sec_worker1-3 {
	padding: 0 4%;
	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: 4vw;
	text-align: center;
}

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

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

#main-contents section.sec_worker2 .sec_worker2_contents .sec_worker2_contents_item_right h4 {
	font-size: 3vw;
	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 .sec_worker2-2_contents_item_img img {
	width: 100%;
	height: auto;
}

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

/*----------------------------------------------
 お問合せ
----------------------------------------------*/

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

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

/*----------------------------------------------
 写真ページ
----------------------------------------------*/

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

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




.lightgray {
	background: #f5f5f5;
}


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

.font-46 {
	font-size: 4vw;
}

.font-53 {
	font-size: 4vw;
	font-weight: bold;
}

.orange {
	background: #f39800;
}

.blue {
    background: #0b3190;
}

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







/* トップページ */
#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;
}


article section .contentMain__item_img img {
	width: 100%;
	height: auto;
}


/* 事業内容ページ */

#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: 100%;
	height: auto;
	margin-bottom: 20px;
}


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

#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, #main-contents article section .greeeting_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;
}

/*--------------------------------------------------------
 FAQのCSS
--------------------------------------------------------*/
.faq-Box {
	width: 80%;
	margin: 0 auto;
	font-size: 3vw;
}
	
.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 {
	padding: 0 0 0 6.5vw;
	width: 100%;
	box-sizing: border-box;
}

.faq-Box .faq dd p {
	padding: 0 0 0 6.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: 5vw;
	height: 5vw;
	border-radius: 2.5vw;
	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: 5vw;
	height: 5vw;
	border-radius: 2.5vw;
	font-weight: bold;
	position: absolute;
}

.faq-Box {
	width: 95%;
}

section.customization p.p-center, section.customization p.p-border {
	font-size: 3vw;
}

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

section.customization p.p-border {
	text-align: center;
	margin: 6vw 0;
}

section.customization p.p-border span {
	color: #ce354e;
	border: 1px solid #ce354e;
	padding: 1vw 2vw;
    border-radius: 3vw;
}



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

#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-'] {
	padding: 0;
	list-style: none;
	counter-reset: number;
}
[class^='list-'] li {
	position: relative;
	margin-bottom: 1.5vw;
	margin-left: 4%;
}
[class^='list-'] li::before {
	position: absolute;
	left: -4%;
	top: 0.5vw;
	content: counter(number);
	counter-increment: number;
}
.list-design01 li {
	position: relative;
    padding-left: 1.5vw;
}
.list-design01 li::before {
	font-size: 2.5vw;
	font-weight: bold;
	background: #0056b4;
	color: #fff;
	width: 4vw;
	height: 4vw;
	text-align: center;
}


ol.list-design01 {
	text-align: left;
	padding: 0 4%;
	font-size: 3vw
}
/*
ol.list-design01, ol.list-design01 li {
	list-style: decimal;
}
*/

div.disc-design01 {
	text-align: left;
	font-size: 2.5vw;
	padding: 0 4% 4%;
}

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

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

div.disc-design01 dl dd {
	margin: 0;
	font-size: 3vw;
}


ol.list-design02 {
	counter-reset: number 0;           /* number のカウンタを 0 にセット */
	list-style: none;
	padding: 0 7px;
	margin: 0 0 25.888px;
}
ol.list-design02 li {
    margin-bottom: 10px;
	margin-left: 0;
}
ol.list-design02 li:before {
	font-weight: bold;
	white-space: pre;
	counter-increment: number 1;      /* number カウンタを増加 */
	content: "第" counter(number, cjk-ideographic) "条\A";      /* 表示形式を指定 */
	position: initial;
}

#main-contents section.sec_works, #main-contents section.sec_you {
	margin-bottom: 5vw;
}
	
.v-wrap {
	width: 92%;
	margin: 3vw auto;
}

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

.v-wrap_other:hover {
	background: #ffffff;
	border: 1px solid #ce354e;
	color: #ce354e;
}
/*----------------------------------------------
　サイドバー
----------------------------------------------*/

#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: #efefef;
	color: #666;
	margin-bottom: 11vw;
}
footer p {
	font-size: 2.5vw;
}

footer a {
	color: #00468b;
}

footer p.copy a {
	color: #fff;
}

footer ul.border {
	display: none;
}

footer .adress {
	padding: 5% 2% 0;
	text-align: center;
}

footer .f_logo img {
	height: auto;
	width: 30%;
}

footer img.iso_logo {
	width: 20%;
	height: auto;
	margin: 0 40% 2vw;
}

#footer_copy_wrap {
	background: #ce354e;
}

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



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

table input {
	width: 100%;
}

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


/*------------------------------------------------------------
　その他ページ
-------------------------------------------------------------*/
#main-contents section.sec_other {
	padding: 4%;
}

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

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

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

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

.list_check {
	margin-bottom: 3vw;
	padding: 0 5%;
}

.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: 3vw;
}

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


.list_circle {
	margin-bottom: 3vw;
	padding: 0 5%;
}

.list_circle ul.list_circle_mark {
	
}

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


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

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: 60px;
}

#main-image-sp {
	margin-top: 60px;
	margin-bottom: 0;
}

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

#main-image-sp2 img {
	width: 100%;
	height: auto;
	margin-top: 60px;
	vertical-align: bottom;
}

/*--------------------------------------------------------
 2カラム　BOXのCSS
--------------------------------------------------------*/
.col2_box_contents {
	width: inherit;
	margin: 0 4% 2em;
}
.col2_box_contents:nth-child(2n) {
	margin: 0 4% 2em;
}
.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: 998;
	width: 100%;
	height: 11vw;
}
article section.contact_fixed .col3_box {
	/*background: rgba(245,245,245,0.9);*/
	margin: 0;
	box-sizing: border-box;
	width: 100%;
	padding: 0;
	list-style: none;
	display: flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	justify-content: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	-webkit-flex-flow: row wrap;
	-ms-flex-flow: row wrap;
		flex-flow: row wrap;
}


article section.contact_fixed .col3_box_contents {
	width: calc(100% / 3);
}
article section.contact_fixed .icon_line,
article section.contact_fixed .icon_tel,
article section.contact_fixed .icon_email  {
	box-sizing: border-box;
	opacity: 0.9;
}
article section.contact_fixed .icon_line {
	padding: 0;
	margin: 0;
}
article section.contact_fixed .icon_email {
	padding: 0;
	margin: 0;
}
article section.contact_fixed .icon_tel {
	padding: 0;
	margin: 0;
}


article section.contact_fixed .col3_box_contents p {
	font-size: 2.5vw;
	text-align: center;
	padding: 0;
	margin: 0;
	line-height: 1.2;
}
article section.contact_fixed .col3_box_contents p a {
	color: #ffffff;
	display: block;
	padding: 0.5vw;
	/*border-radius: 3px;*/
}
article section.contact_fixed .col3_box_contents p a::before {
	content: '';
	display: inline-block;
	width: 100%; /*アイコン画像横サイズ*/
	height: 3.5vw; /*アイコン画像縦サイズ*/
}
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: 3.5vw;
}
article section.contact_fixed .col3_box_contents a span.dot {
    display: none;
}
	
/*--------------------------------------------------------
 5カラム　BOXのCSS
--------------------------------------------------------*/

.col5_box {

}

.col5_box_contents {

}

.col5_box_contents:nth-child(5n) {
    
}

.col5_box_contents a:hover {
	
}

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


.col5_box_contents h3.col5_title {
	font-size: 4vw;
}
	
.col5_box_contents p {
	font-size: 3vw;
}
	

h3.col5_title {
	
}

.col5_box_contents h3.col5_title::before {
	
}

.col5_box_contents .col5_box_contents_text {
	padding: 1vw 3vw 3vw;
	margin-bottom: 3vw;
	
}

p.step_number {
	text-align: center;
	background-color: #ce354e;
	color: #ffffff;
	border-radius: 2vw;
	font-size: 3vw;
	font-weight: bold;
	
}


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

#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;
	padding: 0.8vw 2.5vw;
}

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


/*----------------------------------------------
  UL画像横テキスト
----------------------------------------------*/

article section ul.side-table li figure {
	width: 15%;
	height: 15%;
}
article section ul.side-table li figure img {
	width: 100%;
	height: auto;
}

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

section.p-banner {
	padding: 0 2%;
}
ul.p-banner_box {
	width: 100%;
	padding: 0;
	margin: 2em 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(92% / 2);
	margin: 2%;
}

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


}


/*
  CSS のみのドロップダウンメニュー
  Copyright Rectus Inc, 2019
  https://www.rectus.co.jp/
  https://www.rectus.co.jp/archives/74
 */

/* 基本CSS */
ul,
div,
img {
  margin: 0px;
  padding: 0px;
  list-style: none;
  font-weight: normal;
}

/* 本文をメニューの高さ分下げる */
#main {
	
}

#navi {
  background-color: #ce354e;
  position: fixed;
  top: 0;
  left: 0;
  height: 60px;
  width: 100%;
	z-index: 999;
}
/* チェックボックスを非表示 */
#navi input {
  display: none;
}
/* 左上ロゴ */
.menu-left {
  float: left;
  line-height: 60px;
}
.menu-left img {
	height: 8vw;
    width: auto;
  vertical-align: middle;
  margin-left: 10px;
}
/* 上部メニュー */
.menu {
  float: right;
}
.menu-parent {
  float: left;
  margin-right: 30px;
  line-height: 60px;
  font-size: 17px;
  font-weight: bold;
  white-space: nowrap;
}
/* パソコンでは V を非表示 */
.menu-parent .pd {
  display: none;
}
/* 上部メニューの最後の項目 */
.menu-parent:last-child {
  margin-right: 0px;
}

#menu-navibtn {
  display: none;
  cursor: pointer;
  cursor: hand;
}

@media screen and (max-width: 640px) {
  /* スマホの際に V を表示 */
  .menu-parent .pd {
    display: inline-block;
    width: 100%;
  }
  .menu {
    display: none;
  }
  .menu-parent {
    height: auto;
    width: 100%;
    padding: 0px 20px;
    border-bottom: 1px solid #DDD;
  }
  .menu-parent:first-child {
    border-top: 1px solid #DDD;
  }
  .menu-parent i {
    padding: 0px 6px;
  }
  /* メニューを移動させないため */
  #menu-navibtn:checked ~ #navi {
    position: fixed;
    overflow-y: scroll;
    overflow-x: hidden;
    height: 100%;
	  z-index: 999;
  }
}

/* ドロップダウンメニュー */
.menu-parent {
  position: relative;
}
.menu-parent .menu-child {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  margin-left: -40px;
  width: auto;
  box-sizing: border-box;
  padding: 0px 20px;
  background-color: #FFF;
}
/* パソコン用 */
@media screen and (min-width: 620px) {
  .menu-parent:hover .menu-child {
    visibility: visible;
    opacity: 1;
  }
}
/* スマホ用 */
@media screen and (max-width: 640px) {
  /* ハンバーガーメニューがクリックされた時 */
  #menu-navibtn:checked ~ * .menu {
	  background: #efefef;
    display: block;
    opacity: 1;
	z-index: 999;
  }
  #menu-navibtn:checked ~ * .menu-parent {
    max-height: inherit;
    overflow-y: visible;
  }
  #menu-navibtn:checked ~ * .menu-child {
    max-height: 0;
    overflow-y: hidden;
    visibility: hidden;
  }
  /* 子メニュー */
  .menu-parent .menu-child {
    border-top: 1px solid #DDD;
    border-bottom: 1px solid #FFF;
    position: relative;
    padding: 0 20px;
    opacity: 1;
    top: 0;
    margin-left: auto;
    left: auto;
    width: auto;
  }
  .menu-parent > label:hover {
    cursor: pointer;
    cursor: hand;
  }
  /* 子メニューがクリックされた時 */
  #navi input[type="checkbox"]:checked ~ .menu-child {
	  background: #f5f5f5;
    max-height: inherit;
    overflow-y: visible;
    visibility: visible;
  }
  .angletoggle:before {
    content: "\f107";
  }
  #navi input[type="checkbox"]:checked ~ * .angletoggle:before {
    content: "\f106";
  }
}
/* 子メニュー */
.menu-child li {
  font-size: 14px;
  border-bottom: 1px solid #DDD;
}
/* 余分な最後の線を消去 */
.menu-child li:last-child {
  border: none;
}
.menu-child li i {
  margin-right: 3px;
}

/* ハンバーガー */
#navi #navibtn {
  display: none;
}
@media screen and (max-width: 640px) {
  #navi #navibtn {
    display: block;
    position: absolute;
    top: 10px;
    right: 10px;
  }
  #navibtn span {
    display: block;
    width: 40px;
    height: 40px;
    background-color: #333;
  }
  #navibtn span span {
    display: block;
    overflow: hidden;
    width: 1px;
    height: 1px;
  }
  #navibtn span span::before,
  #navibtn span span::after,
  #navibtn span::after {
    position: absolute;
    left:10px;
    content:"";
    width: 20px;
    height: 3px;
    background-color: #FFF;
  }
  /* 上の棒 */
  #navibtn span span::before {
    top:10px;
  }
  #menu-navibtn:checked ~ #navi label#navibtn span span::before {
    top:19px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
  }
  /* 下の棒 */
  #navibtn span::after {
    bottom:10px;
  }
  #menu-navibtn:checked ~ #navi label#navibtn > span::after {
    bottom:18px;
    transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
  }
  /* 中の棒 */
  #navibtn span span::after {
    top:18px;
  }
  #menu-navibtn:checked ~ #navi label#navibtn span span::after {
    display: none;
  }
}
