@charset"utf-8";
/* ============================================
*
　共通
*
===============================================*/
#sub{
    min-width: 1300px;
}    
#sub main{
	margin-bottom: 100px;
	line-height: 0;
}
#sub .inner{
    width: 1000px;
    margin: 0 auto;
}  
#sub .inner_w850{
    width: 850px;
    margin: 0 auto;
}  
#sub .breadcrumb{
    padding: 13px 0;
    font-size: 1.4rem;
    line-height: 1;
	border-bottom: 1px solid #c8c8c8;
	color: #4a4a4a;
	font-weight: 400;
}
#sub .breadcrumb a{
	text-decoration: underline;
    font-weight: 400;
    color: #4a4a4a;
}
h2{
    position: relative;
    font-size: 4rem;
    text-align: center;
    font-weight: 600;
    line-height: 1;
	font-family: 'Noto Serif JP', sans-serif;
	letter-spacing: 0.1em;
	margin-bottom: 40px;
}
h2 span{
	font-family: 'Noto Serif JP', sans-serif;
	font-weight: 300;
	line-height: 1;
	display: block;
	font-size: 1.4rem;
	letter-spacing: 0.13em;
	margin-top: 10px;
}
h2.h2_2{
    position: relative;
    font-size: 2.4rem;
    text-align: center;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 41px;
}
.message{
	text-align: center;
	margin-bottom: 20px;
}
.message h3{
	font-size: 2.8rem;
	color: #000000;
	font-family: 'Noto Serif JP', sans-serif;
	font-weight: 300;
	text-align: center;
	position: relative;
	display: inline-block;
}
.message h3:before{
	position: absolute;
    background-color: #000;
    height: 1px;
    width: 80px;
    left: -110px;
    content: "";
    top: 53%;
}
.message h3:after{
	position: absolute;
    background-color: #000;
    height: 1px;
    width: 80px;
    right: -110px;
    content: "";
    top: 53%;
}
#sub .p_txt_area{
    padding: 30px 30px 20px;
    width: 530px;
    border: 2px solid #c8dbee;
    border-radius: 10px;
    margin-bottom: 20px;
}
#sub .p_txt_area h3{
    margin-bottom: 11px;
}
#sub .p_txt_area_2{
    background: #fff;
    padding: 30px 20px 20px;
}
#sub .sec_box{
    margin-bottom: 80px;
	line-height: 1.5;
}
#sub .sec_box:last-child{
	margin-bottom: 0px;
}
#sub .sec_box p.read{
    font-weight: 600;
    font-size: 1.7rem;
}
#sub .sec_box p.read_normal{
    font-weight: 500;
    font-size: 1.6rem;
    text-align: center;
    margin-bottom: 50px;
}
#sub a.a_link{
    color: #0f6cc1;
    text-decoration: underline;
    font-size: 1.5rem;
    display: block;
}
#sub .gr_box{
    background: #ecf1f3;
    border-radius: 10px;
    padding: 25px;
    margin-bottom: 20px;
}
#sub .gr_box span{
    font-size: 1.2rem;
    color: #434343;
    line-height: 1.8;
    display: block;
}
#sub span.red{
    font-size: 1.3rem;
}


/*MV*/
#sub main .mv{
	background-size: cover;
	height: 500px;
	position: relative;
}
#sub main .mv.sh{
	height: 350px;
}
#sub main .mv .inner{
	position: absolute;
	top: 65%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
}
#sub main .mv .inner h1{
	font-family: 'midashi', "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-size: 5rem;
	line-height: 1;
	text-align: center;
	width: 100%;
	letter-spacing: 0.1em;
	color: #fff;
	font-weight: normal;
}
#sub main .mv .inner h1 span{
	line-height: 1;
	display: block;
	font-size: 1.5rem;
	font-family: 'Noto Serif JP', sans-serif;
    font-weight: 600;
	margin-top: 15px;
	color: #fff;
}

#sub main .sec01{
	margin-top: 80px;
}

/*下層 - 実績以外の共通*/
p, ul, li, a, span{
	line-height: 1.9;
	font-weight: normal;
}
p{
	margin-bottom: 10px;
}
p.last{
	margin-bottom: 0px;
}

/*テーブル*/
#sub .table_area{
	margin-top: 30px;
}
#sub table{
	width: 100%;
	table-layout: fixed;
}
#sub table tr{
	border-bottom: 5px solid #fff;
}
#sub table th{
	background: #d9cb9f;
	color: #000;
	width: 200px;
	text-align: center;
	padding: 13px 20px;
	box-sizing: border-box;
}
#sub table td{
	padding-left: 20px;
	background: #f4f4f4;
}

/*インプット*/
.input_btn_area{
	margin: 0 auto;
	text-align: center;
	padding: 30px 0 0px;
}
.input_btn_area input[type=button]{
	margin-right: 10px;
}
.input_btn_area input[type=button]:last-child{
	margin-right: 0px;
}
input[type=button]{
	display: inline-block;
	border-radius: 5px;
	font-size: 1.5rem;
	text-align: center;
	cursor: pointer;
	padding: 15px 15px;
	background: #bdae7c;
	color: #ffffff;
	line-height: 1;
	transition: .3s;
	border: none;
	min-width: 100px;
	letter-spacing: 0.1em;
	box-shadow: 3px 3px 6px -2px #cccccc;
	transition: all 0.3s ease 0s;
}
input[type=button]:hover{
	opacity: 0.8;
}
button, input, input[type=button], input[type=reset], input[type=submit]{
	border: 2px solid #dfdfdf;
	width: 220px;
	padding: 5px;
	font-family: 'Noto Sans JP', sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans";
	font-size: 1.5rem;
	line-height: 1;
	box-shadow: 3px 3px 6px -2px #e0e0e0, 3px 3px 8px rgb(255 255 255 / 67%) inset;
	border-radius: 5px;
	cursor: pointer;
	box-sizing: border-box;
}
input[type="radio" i] ,
input[type="checkbox" i] {
	border:none;
	width: auto;
	padding: 0;
	font-family: 'Noto Sans JP', sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans";
	font-size: 1.5rem;
	line-height: 1;
	box-shadow: none;
	border-radius: 0px;
	cursor: pointer;
	box-sizing: border-box;
}
textarea{
	width: auto;
    padding: 0;
    font-family: 'Noto Sans JP', sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans";
    font-size: 1.5rem;
    line-height: 1;
    box-shadow: none;
    border-radius: 0px;
    cursor: auto;
    box-sizing: border-box;
    border: 2px solid #dfdfdf;
    border-radius: 5px;
    height: 200px;
    box-shadow: 3px 3px 6px -2px #e0e0e0;
	padding: 10px;
}

/*セレクト*/
select{
	border: 2px solid #dfdfdf;
	width: 220px;
	padding: 10px 15px 11px 5px;
	font-family: 'Noto Sans JP', sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans";
	font-size: 1.5rem;
	line-height: 1;
	box-shadow: 3px 3px 6px -2px #e0e0e0, 3px 3px 8px rgb(255 255 255 / 67%) inset;
	border-radius: 5px;
	cursor:pointer;
	box-sizing: border-box;
}

/*ページネーション*/
#sub main .pager{
	margin-top: 30px;
}
#sub main .pager  ul.pagination {
  text-align: center;
  margin: 0;
  padding: 0;
}
#sub main .pager .pagination li {
	margin: 0 2px;
	padding: 0;
	display: inline-block;
	background: #ffffff;
	width: 45px;
	height: 45px;
	text-align: center;
	position: relative;
	border: 1px solid;
}
#sub main .pager .pagination li a{
  vertical-align: middle;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  display:table;
  color: #000;
  text-decoration: none;
}
#sub main .pager .pagination li a span{
  display:table-cell;
  vertical-align:middle;
}
#sub main .pager .pagination li a:hover,
#sub main .pager .pagination li a.active{
	color: #fff;
	background: #000;
	opacity: 1;
}

/*リスト*/
#sub main ul.ul_list{
	margin: 20px 0;
}
#sub main ul.ul_list li{
	list-style-type: disc;
	text-indent: -3px;
	margin-left: 18px;
	line-height: 1.9;
}
/*
SP用設定
----------------------------------*/
@media only screen and (max-width: 767px){
    #sub{
        min-width: 100%;
    }    
    #sub main{
        margin-bottom: 10%;
		margin-top: 65px;
    }
    #sub .inner,#sub .inner_w850{
        width: 100%;
        margin: 0 auto;
        padding: 0 5%;
    }  
    #sub .inner p,#sub .inner_w850 p{
		line-height: 1.9;
		margin-bottom: 5%;
    } 
    #sub .inner p{
        line-height: 1.9;
        margin-bottom: 3%;
		font-size: 1.4rem;
    }  
	.message{
		text-align: center;
		margin-bottom: 10px;
	}
	.message h3{
		font-size: 2rem;
		color: #000000;
		font-family: 'Noto Serif JP', sans-serif;
		font-weight: 300;
		text-align: center;
		position: relative;
		display: inline-block;
	}
	.message h3:before{
		position: absolute;
		background-color: #000;
		height: 1px;
		width: 30px;
		left: -60px;
		content: "";
		top: 53%;
	}
	.message h3:after{
		position: absolute;
		background-color: #000;
		height: 1px;
		width: 30px;
		right: -60px;
		content: "";
		top: 53%;
	}
    #sub main .mv,
	#sub main .mv.sh{
        width: 100%;
        height: 200px;
        background-size: cover;
        margin-bottom: 10%;
        position: relative;
    }  
    #sub main .mv .inner{
        position: absolute;
        top: 55%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }
    #sub main .mv .inner h1{
		font-family: 'midashi', "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
		font-size: 4rem;
		line-height: 1;
		text-align: center;
		width: 100%;
		letter-spacing: 0.1em;
		color: #fff;
		font-weight: normal;
	}
	#sub main .mv .inner h1 span{
		line-height: 1;
		display: block;
		font-size: 1.3rem;
		font-family: 'Noto Serif JP', sans-serif;
		font-weight: 600;
		margin-top: 10px;
		color: #fff;
	}
	#sub main h2{
		font-size: 2.4rem;
		margin-bottom: 20px;
	}
    #sub .breadcrumb{
        display: none;
    }
    #sub .breadcrumb a{
        text-decoration: underline;
    }
	/*テーブル*/
	#sub .table_area{
		margin-top: 5%;
	}
	#sub table{
		width: 100%;
		table-layout: fixed;
		font-size: 1.3rem;
	}
	#sub table tr{
		border-bottom: 3px solid #fff;
	}
	#sub table th{
		background: #d9cb9f;
		color: #000;
		width: 100px;
		text-align: center;
		padding: 10px;
		box-sizing: border-box;
	}
	#sub table td{
		padding: 8px;
		background: #f4f4f4;
	}
	#sub .sec_box{
		margin-bottom: 15%;
	}
	#sub main .sec01{
		margin-top: 15%;
	}
    
	/*インプット*/
	.input_btn_area{
		margin: 0 auto;
		text-align: center;
		padding: 5% 0 0px;
	}
	.input_btn_area input[type=button]{
		margin-right: 0px;
		margin-bottom: 0px;
	}
	.input_btn_area input[type=button]:last-child{
		margin-right: 0px;
		margin-bottom: 0px;
	}
	input[type=button]{
		display: inline-block;
		border-radius: 5px;
		font-size: 1.5rem;
		text-align: center;
		cursor: pointer;
		padding: 15px 15px;
		background: #bdae7c;
		color: #ffffff;
		line-height: 1;
		transition: .3s;
		border: none;
		min-width: 100px;
		letter-spacing: 0.1em;
		box-shadow: 3px 3px 6px -2px #cccccc;
		transition: all 0.3s ease 0s;
		width: 100%;
		margin-bottom: 15px;
	}
	input[type=button]:hover{
		opacity: 0.8;
	}

	/*セレクト*/
	select{
		border: 2px solid #dfdfdf;
		width: 100%;
		padding: 10px 15px 11px 5px;
		font-family: 'Noto Sans JP', sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans";
		font-size: 1.5rem;
		line-height: 1;
		box-shadow: 3px 3px 6px -2px #e0e0e0, 3px 3px 8px rgb(255 255 255 / 67%) inset;
		border-radius: 5px;
		cursor:pointer;
	}
	
	/*ページネーション*/
	#sub main .pager .pagination li {
		margin: 0 2px;
		padding: 0;
		display: inline-block;
		background: #ffffff;
		width: 32px;
		height: 32px;
		text-align: center;
		position: relative;
		border: 1px solid;
	}
}/*---------------------SP用ここまで*/



/* ============================================
*
　実績
*
===============================================*/
#sub.works .contact_area{
	margin-top: -100px;
}
#sub.works main{
	margin-bottom: 0;
}
#sub.works .sec_box{
	margin-bottom: 0;
}
#sub.works .sec_box.area_map{
	margin-bottom: 100px;
}
#sub.works main .mv{
	background-image: url(../../works/img/ttl_img.png);
}
#sub.works main h2{
	padding-left: 60px;
	position: relative;
	text-align: left;
	margin-bottom: 50px;
}

#sub.works main h2:before{
	background-image: url(../../works/img/icon_map.png);
	content: "";
	position: absolute;
	width:44px;
	height: 51px;
	top: 7px;
	left: 0px;
}
#sub.works main .area_map .inner{
	width: 1000px;
	margin: 0 auto;
	position: relative;
	height: auto;
}
#sub.works main .area_map .inner:before{
	content: "";
	background: url("../../works/img/japan.png") no-repeat center center;
	position: absolute;
	width: 526px;
	height: 577px;
	top:45px;
	right: 0px;
	z-index: -3;
}
#sub.works main .area_map .area {
	width: 1000px;
	display: flex;
	flex-wrap: wrap;
}
 
#sub.works main .area_map .tab_class {
	width: 501px;
	height: auto;
	line-height: 1;
	font-size: 15px;
	text-align: left;
	display: block;
	order: -1;
	cursor: pointer;
	transition: all 0.3s ease 0s;
	font-size: 2.2rem;
	margin-bottom: 40px;
}
#sub.works main .area_map .tab_class.kyushu_okinawa{
	margin-bottom: 100px;
}
#sub.works main .area_map .tab_class p{
	position: relative;
	font-size: 2.2rem;
	text-align: left;
	padding-left: 56px;
	line-height: 1;
	margin: 0;
	font-weight: 500;
}
#sub.works main .area_map .tab_class p:before{
	content: "";
	background: url(../../works/img/line_start.png) no-repeat center center;
	position: absolute;
	width: 38px;
	height: 1px;
	bottom: 9px;
	left: 0;
	z-index: 3;
	opacity: 1;
	transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
}
#sub.works main .area_map .tab_class p span{
	font-size: 1.4rem;
    text-align: left;
    padding-left: 20px;
    font-weight: 300;
    letter-spacing: 0.1em;
    line-height: 1;
}
 
#sub.works main .area_map input[name="tab_name"] {
  display: none;
}

#sub.works main .area_map .content_class {
  display: none;
  width: 100%;
}
 
#sub.works main .area_map input:checked + .tab_class + .content_class {
  display: block;
/*    margin-top: 180px;
    margin-bottom: 100px;
    width: 1000px;
    margin: 180px auto;*/
}

/*県別ホバー時 文字色変更*/
#sub.works main .area_map .tab_class.hokkaido:hover{
	color: #8970b0;
}
#sub.works main .area_map .tab_class.tohoku:hover{
	color: #ca8c66;
}
#sub.works main .area_map .tab_class.kanto:hover{
	color: #2c8d9d;
}
#sub.works main .area_map .tab_class.chubu:hover{
	color: #91c349;
}
#sub.works main .area_map .tab_class.kinki:hover{
	color: #e8894c;
}
#sub.works main .area_map .tab_class.chugoku:hover{
	color: #5db7c3;
}
#sub.works main .area_map .tab_class.shikoku:hover{
	color:#29568a;
}
#sub.works main .area_map .tab_class.kyushu_okinawa:hover{
	color: #d76667;
}


/*県別ホバー時 各県出現 + 下線出現*/
#sub.works main .area_map .tab_class:after{
    content: '';
    position: absolute;
    z-index: -2;
    opacity: 0;
    transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
}
#wosub.worksrks main .area_map .tab_class:before{
    content: '';
    position: absolute;
    z-index: -2;
    opacity: 0;
    transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
}

/*北海道*/
#sub.works main .area_map .tab_class.hokkaido:hover:after{
	content: "";
	background: url(../../works/img/hokkaido.png) no-repeat center center;
	position: absolute;
	width: 172px;
	height: 166px;
	top: 45px;
	right: 11px;
	z-index: 1;
	opacity: 1;
    transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
}
#sub.works main .area_map .tab_class.hokkaido p:hover:after{
	content: "";
	background: url(../../works/img/hokkaido_line.png) no-repeat center center;
	position: absolute;
	width: 563px;
	height: 25px;
	bottom: -16px;
	right: -348px;
	z-index: 3;
	opacity: 1;
	transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
}
/*---チェック*/
#sub.works main .area_map input#tab1:checked + .tab_class:after{
	content: "";
	background: url(../../works/img/hokkaido.png) no-repeat center center;
	position: absolute;
	width: 172px;
	height: 166px;
	top: 45px;
	right: 11px;
	z-index: 1;
	opacity: 1;
    transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
}
#sub.works main .area_map input#tab1:checked + .tab_class.hokkaido p:after{
	content: "";
	background: url(../../works/img/hokkaido_line.png) no-repeat center center;
	position: absolute;
	width: 563px;
	height: 25px;
	bottom: -16px;
	right: -348px;
	z-index: 3;
	opacity: 1;
	transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
}
#sub.works main .area_map input#tab1:checked + .tab_class{
	color: #8970b0;
}
/*東北*/
#sub.works main .area_map .tab_class.tohoku:hover:after{
	content: "";
	background: url(../../works/img/tohoku.png) no-repeat center center;
	position: absolute;
	width: 86px;
	height: 207px;
	top: 197px;
	right: 116px;
	z-index: 1;
	opacity: 1;
    transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
}
#sub.works main .area_map .tab_class.tohoku p:hover:after{
	content: "";
	background: url(../../works/img/tohoku_line.png) no-repeat center center;
	position: absolute;
	width: 571px;
	height: 96px;
	right: -326px;
	z-index: 3;
	opacity: 1;
	transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
	top: 12px;
}
/*---チェック*/
#sub.works main .area_map input#tab2:checked + .tab_class:after{
	content: "";
	background: url(../../works/img/tohoku.png) no-repeat center center;
	position: absolute;
	width: 86px;
	height: 207px;
	top: 197px;
	right: 116px;
	z-index: 1;
	opacity: 1;
    transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
}
#sub.works main .area_map input#tab2:checked + .tab_class.tohoku p:after{
	content: "";
	background: url(../../works/img/tohoku_line.png) no-repeat center center;
	position: absolute;
	width: 571px;
	height: 96px;
	right: -326px;
	z-index: 3;
	opacity: 1;
	transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
	top: 12px;
}
#sub.works main .area_map input#tab2:checked + .tab_class{
	color: #d08f68;
}
/*関東*/
#sub.works main .area_map .tab_class.kanto:hover:after{
	content: "";
	background: url(../../works/img/kanto.png) no-repeat center center;
	position: absolute;
	width: 81px;
	height: 91px;
	top: 385px;
    right: 148px;
	z-index: 1;
	opacity: 1;
    transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
}
#sub.works main .area_map .tab_class.kanto p:hover:after{
	content: "";
    background: url(../../works/img/kanto_line.png) no-repeat center center;
    position: absolute;
    width: 544px;
    height: 181px;
	right: -288px;
    z-index: 3;
    opacity: 1;
    transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
    top: 12px;
}
/*---チェック*/
#sub.works main .area_map input#tab3:checked + .tab_class:after{
	content: "";
	background: url(../../works/img/kanto.png) no-repeat center center;
	position: absolute;
	width: 81px;
	height: 91px;
	top: 385px;
    right: 148px;
	z-index: 1;
	opacity: 1;
    transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1)
}
#sub.works main .area_map input#tab3:checked + .tab_class.kanto p:after{
	content: "";
    background: url(../../works/img/kanto_line.png) no-repeat center center;
    position: absolute;
    width: 544px;
    height: 181px;
	right: -288px;
    z-index: 3;
    opacity: 1;
    transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
    top: 12px;
}
#sub.works main .area_map input#tab3:checked + .tab_class{
	color: #2c8d9d;
}
/*中部*/
#sub.works main .area_map .tab_class.chubu:hover:after{
	content: "";
	background: url(../../works/img/chubu.png) no-repeat center center;
	position: absolute;
	width: 143px;
	height: 158px;
	top: 331px;
	right: 182px;
	z-index: 1;
	opacity: 1;
    transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
}
#sub.works main .area_map .tab_class.chubu p:hover:after{
	content: "";
    background: url(../../works/img/chubu_line.png) no-repeat center center;
    position: absolute;
    width: 480px;
    height: 140px;
    right: -226px;
    z-index: 3;
    opacity: 1;
    transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
    top: 12px;
}
/*---チェック*/
#sub.works main .area_map input#tab4:checked + .tab_class:after{
	content: "";
	background: url(../../works/img/chubu.png) no-repeat center center;
	position: absolute;
	width: 143px;
	height: 158px;
	top: 331px;
	right: 182px;
	z-index: 1;
	opacity: 1;
    transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
}
#sub.works main .area_map input#tab4:checked + .tab_class.chubu p:after{
	content: "";
    background: url(../../works/img/chubu_line.png) no-repeat center center;
    position: absolute;
    width: 480px;
    height: 140px;
    right: -226px;
    z-index: 3;
    opacity: 1;
    transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
    top: 12px;
}
#sub.works main .area_map input#tab4:checked + .tab_class{
	color: #91c349;
}
/*近畿*/
#sub.works main .area_map .tab_class.kinki:hover:after{
	content: "";
    background: url(../../works/img/kinki.png) no-repeat center center;
    position: absolute;
    width: 86px;
    height: 97px;
    top: 437px;
    right: 281px;
    z-index: 1;
    opacity: 1;
    transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
}
#sub.works main .area_map .tab_class.kinki p:hover:after{
	content: "";
	background: url(../../works/img/kinki_line.png) no-repeat center center;
	position: absolute;
	width: 480px;
	height: 140px;
	right: -181px;
	z-index: 3;
	opacity: 1;
	transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
	top: -13px;
}
/*---チェック*/
#sub.works main .area_map input#tab5:checked + .tab_class:after{
	content: "";
    background: url(../../works/img/kinki.png) no-repeat center center;
    position: absolute;
    width: 86px;
    height: 97px;
    top: 437px;
    right: 281px;
    z-index: 1;
    opacity: 1;
    transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
}
#sub.works main .area_map input#tab5:checked + .tab_class.kinki p:after{
	content: "";
	background: url(../../works/img/kinki_line.png) no-repeat center center;
	position: absolute;
	width: 480px;
	height: 140px;
	right: -181px;
	z-index: 3;
	opacity: 1;
	transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
	top: -13px;
}
#sub.works main .area_map input#tab5:checked + .tab_class{
	color: #e8894c;
}

/*中国*/
#sub.works main .area_map .tab_class.chugoku:hover:after{
	content: "";
    background: url(../../works/img/chugoku.png) no-repeat center center;
    position: absolute;
    width:120px;
    height: 69px;
    top: 443px;
	right: 361px;
    z-index: 1;
    opacity: 1;
    transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
}
#sub.works main .area_map .tab_class.chugoku p:hover:after{
	content: "";
    background: url(../../works/img/chugoku_line.png) no-repeat center center;
    position: absolute;
    width: 297px;
    height: 58px;
    right: -64px;
    z-index: 3;
    opacity: 1;
    transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
    top: 14px;
}
/*---チェック*/
#sub.works main .area_map input#tab6:checked + .tab_class:after{
	content: "";
    background: url(../../works/img/chugoku.png) no-repeat center center;
    position: absolute;
    width:120px;
    height: 69px;
    top: 443px;
	right: 361px;
    z-index: 1;
    opacity: 1;
    transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
}
#sub.works main .area_map input#tab6:checked + .tab_class.chugoku p:after{
	content: "";
    background: url(../../works/img/chugoku_line.png) no-repeat center center;
    position: absolute;
    width: 297px;
    height: 58px;
    right: -64px;
    z-index: 3;
    opacity: 1;
    transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
    top: 14px;;
}
#sub.works main .area_map input#tab6:checked + .tab_class{
	color: #5db7c3;
}
/*四国*/
#sub.works main .area_map .tab_class.shikoku:hover:after{
	content: "";
    background: url(../../works/img/shikoku.png) no-repeat center center;
    position: absolute;
    width: 90px;
    height: 66px;
    top: 495px;
    right: 352px;
    z-index: 1;
    opacity: 1;
    transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
}
#sub.works main .area_map .tab_class.shikoku p:hover:after{
	content: "";
	background: url(../../works/img/shikoku_line.png) no-repeat center center;
	position: absolute;
	width: 325px;
	height: 57px;
	right: -83px;
	z-index: 3;
	opacity: 1;
	transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
	top: 13px;
}
/*---チェック*/
#sub.works main .area_map input#tab7:checked + .tab_class:after{
	content: "";
    background: url(../../works/img/shikoku.png) no-repeat center center;
    position: absolute;
    width: 90px;
    height: 66px;
    top: 495px;
    right: 352px;
    z-index: 1;
    opacity: 1;
    transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
}
#sub.works main .area_map input#tab7:checked + .tab_class.shikoku p:after{
	content: "";
	background: url(../../works/img/shikoku_line.png) no-repeat center center;
	position: absolute;
	width: 325px;
	height: 57px;
	right: -83px;
	z-index: 3;
	opacity: 1;
	transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
	top: 13px;
}
#sub.works main .area_map input#tab7:checked + .tab_class{
	color:#29568a;
}
/*九州・沖縄*/
#sub.works main .area_map .tab_class.kyushu_okinawa:hover:after{
	content: "";
	background: url(../../works/img/kyushu_okinawa.png) no-repeat center center;
	position: absolute;
	width: 526px;
	height: 120px;
	top: 502px;
	right: 0px;
	z-index: 1;
	opacity: 1;
	transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
}
#sub.works main .area_map .tab_class.kyushu_okinawa p:hover:after{
	content: "";
    background: url(../../works/img/kyushu_okinawa_line.png) no-repeat center center;
    position: absolute;
    width: 105px;
    height: 28px;
    right: -2px;
    z-index: 3;
    opacity: 1;
    transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
    top: 13px;
}
/*---チェック*/
#sub.works main .area_map input#tab8:checked + .tab_class:after{
	content: "";
	background: url(../../works/img/kyushu_okinawa.png) no-repeat center center;
	position: absolute;
	width: 526px;
	height: 120px;
	top: 502px;
	right: 0px;
	z-index: 1;
	opacity: 1;
	transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
}
#sub.works main .area_map input#tab8:checked + .tab_class.kyushu_okinawa p:after{
	content: "";
    background: url(../../works/img/kyushu_okinawa_line.png) no-repeat center center;
    position: absolute;
    width: 105px;
    height: 28px;
    right: -2px;
    z-index: 3;
    opacity: 1;
    transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
    top: 13px;
}
#sub.works main .area_map input#tab8:checked + .tab_class{
	color: #d76667;
}



/*表示・リスト中身--------------------*/
/*共通*/
#sub.works main .area_map .content_class{
	margin: 0 calc(49% - 50vw) auto;
	width: 100vw;
	background: #e8e8e8;
	margin-top: 111px;
}
#sub.works main .content_class .inner:before{
	display: none;
}
#sub.works main .area_map .content_class .in{
	width: 1000px;
	margin: 0 auto;
	padding: 80px 0;
}
#sub.works main .area_map .content_class h3{
	line-height: 1;
	display: block;
	font-size: 3.5rem;
	font-family: 'Noto Serif JP', sans-serif;
    font-weight: 600;
	margin-bottom: 30px;
	color: #000;
	text-align: center;
}
#sub.works main .area_map .content_class h4{
	line-height: 1;
	display: block;
	font-size: 2rem;
	font-family: 'Noto Serif JP', sans-serif;
    font-weight: 600;
	margin-bottom: 13px;
	padding-bottom: 14px;
	color: #000;
	text-align: left;
	border-bottom: 1px solid;
}
#sub.works main .content_class ul.list{
	flex-wrap: wrap;
	width: 1000px;
	align-items: flex-start;
}
#sub.works main .content_class ul.list li{
	width: 470px;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.5;
	margin-bottom: 10px;
}
#sub.works main .content_class ul.list li:nth-child(odd){
	margin-right: 50px;
}
#sub.works main .content_class .label_area{
	align-items: flex-start;
	justify-content: center;
	margin-bottom: 50px;
}
#sub.works main .content_class .label_area li{
	width: 92px;
	margin: 0 2.5px;
}
#sub.works main .content_class .label_area li a{
	width: 100%;
	height: 100%;
	display: block;
	box-sizing: border-box;
	line-height: 1;
	font-size: 1.6rem;
	font-weight: 400;
	text-align: center;
	color: #fff;
	background: #a5a5a5;
	padding: 5px 0;
}
#sub.works main .content_class .area_box{
	margin-bottom: 50px;
}
#sub.works main .content_class .area_box:last-child{
	margin-bottom: 0px;
}
#sub.works main .content_class ul.list li a{/*220310追記*/
	text-decoration: underline;
}
/*北海道*/
#sub.works main .area_map .content_class.hokkaido{
	background: #f4f1f9;
}
#sub.works main .area_map .content_class.hokkaido h3{
	color: #9274c1;
	margin-bottom: 50px;
}
#sub.works main .area_map .content_class.hokkaido h4{
	color: #9274c1;
}
#sub.works main .content_class.hokkaido .label_area li a{
	background: #9274c1;
}
/*東北*/
#sub.works main .area_map .content_class.tohoku{
	background: #faf4f0;
}
#sub.works main .area_map .content_class.tohoku h3{
	color: #d08f68;
}
#sub.works main .area_map .content_class.tohoku h4{
	color: #d08f68;
}
#sub.works main .content_class.tohoku .label_area li a{
	background: #d08f68;
}
/*関東*/
#sub.works main .area_map .content_class.kanto{
	background: #e9f3f5;
}
#sub.works main .area_map .content_class.kanto h3{
	color: #2c8d9d;
}
#sub.works main .area_map .content_class.kanto h4{
	color: #2c8d9d;
}
#sub.works main .content_class.kanto .label_area li a{
	background: #2c8d9d;
}
/*中部*/
#sub.works main .area_map .content_class.chubu{
	background: #f4f9ec;
}
#sub.works main .area_map .content_class.chubu h3{
	color: #91c349;
}
#sub.works main .area_map .content_class.chubu h4{
	color:#91c349;
}
#sub.works main .content_class.chubu .label_area li a{
	background: #91c349;
}
/*近畿*/
#sub.works main .area_map .content_class.kinki{
	background:#fff3eb;
}
#sub.works main .area_map .content_class.kinki h3{
	color: #e8894c;
}
#sub.works main .area_map .content_class.kinki h4{
	color: #e8894c;
}
#sub.works main .content_class.kinki .label_area li a{
	background: #e8894c;
}
/*中国*/
#sub.works main .area_map .content_class.chugoku{
	background:#f3fafa;
}
#sub.works main .area_map .content_class.chugoku h3{
	color: #5db7c3;
}
#sub.works main .area_map .content_class.chugoku h4{
	color: #5db7c3;
}
#sub.works main .content_class.chugoku .label_area li a{
	background: #5db7c3;
}
/*四国*/
#sub.works main .area_map .content_class.shikoku{
	background: #e4eaf2;
}
#sub.works main .area_map .content_class.shikoku h3{
	color: #29568a;
}
#sub.works main .area_map .content_class.shikoku h4{
	color: #29568a;
}
#sub.works main .content_class.shikoku .label_area li a{
	background: #29568a;
}
/*九州沖縄*/
#sub.works main .area_map .content_class.kyushu_okinawa{
	background: #fcf0f0;
}
#sub.works main .area_map .content_class.kyushu_okinawa h3{
	color: #d76667;
}
#sub.works main .area_map .content_class.kyushu_okinawa h4{
	color: #d76667;
}
#sub.works main .content_class.kyushu_okinawa .label_area li a{
	background: #d76667;
}

/*ラジオボタンクリックしたら下のボックスまで移動*/
#sub.works main .area_map #box01,
#sub.works main .area_map #box02,
#sub.works main .area_map #box03,
#sub.works main .area_map #box04,
#sub.works main .area_map #box05,
#sub.works main .area_map #box06,
#sub.works main .area_map #box07,
#sub.works main .area_map #box08{
	display: block;
	padding-top: 237px;
	margin-top: -160px;
}
/*
SP用設定
----------------------------------*/
@media only screen and (max-width: 767px){
	#sub.works .contact_area{
		margin-top: -100px;
	}
	#sub.works main{
		margin-bottom: 0;
	}
	#sub.works .sec_box{
		margin-bottom: 0;
	}
	#sub.works .sec_box.area_map{
		margin-bottom: 100px;
		margin-top: 15%;
	}
	#sub.works main .mv{
		background-image: url(../../works/img/ttl_img.png);
	}
	#sub.works main h2{
		padding-left: 60px;
		position: relative;
		text-align: left;
		margin-bottom: 10%;
	}

	#sub.works main h2:before{
		background-image: url(../../works/img/icon_map.png);
		content: "";
		position: absolute;
		width:44px;
		height: 51px;
		top: 0px;
		left: 0px;
	}
	#sub.works main .area_map .inner{
		width: 100%;
		margin: 0 auto;
		position: relative;
		height: auto;
	}
	#sub.works main .area_map .inner:before{
		display: none;
	}
	#sub.works main .area_map .area {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
	}

	#sub.works main .area_map .tab_class {
		width: 100%;
		height: auto;
		line-height: 1;
		text-align: left;
		display: block;
		order: -1;
		cursor: pointer;
		transition: all 0.3s ease 0s;
		font-size: 2rem;
		margin-bottom: 0;
	}
	#sub.works main .area_map .tab_class.kyushu_okinawa{
		margin-bottom: 10%;
	}
	#sub.works main .area_map .tab_class p{
		position: relative;
		font-size: 2rem;
		text-align: left;
		padding-left: 32px;
		margin-bottom: 3%;
		line-height: 1.9;
	}
	#sub.works main .area_map .tab_class p:before{
		content: "";
		background: url(../../works/img/line_start.png) no-repeat center center;
		position: absolute;
		width: 18px;
		height: 1px;
		bottom:18px;
		left: 0;
		z-index: 3;
		opacity: 1;
		transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
	}
	#sub.works main .area_map .tab_class p span{
		font-size: 1.2rem;
		text-align: left;
		padding-left: 10px;
		font-weight: 300;
		letter-spacing: 0.1em;
		line-height: 1;
	}

	#sub.works main .area_map input[name="tab_name"] {
	  display: none;
	}

	#sub.works main .area_map .content_class {
	  display: none;
	  width: 100%;
	}

	#sub.works main .area_map input:checked + .tab_class + .content_class {
	  display: block;
	/*    margin-top: 180px;
		margin-bottom: 100px;
		width: 1000px;
		margin: 180px auto;*/
	}

	/*県別ホバー時 文字色変更*/
	#sub.works main .area_map .tab_class.hokkaido:hover{
		color: #000;
	}
	#sub.works main .area_map .tab_class.tohoku:hover{
		color: #000;
	}
	#sub.works main .area_map .tab_class.kanto:hover{
		color: #000;
	}
	#sub.works main .area_map .tab_class.chubu:hover{
		color: #000;
	}
	#sub.works main .area_map .tab_class.kinki:hover{
		color: #000;
	}
	#sub.works main .area_map .tab_class.chugoku:hover{
		color: #000;
	}
	#sub.works main .area_map .tab_class.shikoku:hover{
		color: #000;
	}
	#sub.works main .area_map .tab_class.kyushu_okinawa:hover{
		color: #000;
	}


	/*県別ホバー時 各県出現 + 下線出現*/
	#sub.works main .area_map .tab_class:after{
		display: none;
	}
	#wosub.worksrks main .area_map .tab_class:before{
		display: none;
	}

	/*北海道*/
	#sub.works main .area_map .tab_class.hokkaido:hover:after{
		display: none;
	}
	#sub.works main .area_map .tab_class.hokkaido p:hover:after{
		display: none;
	}
	/*---チェック*/
	#sub.works main .area_map input#tab1:checked + .tab_class:after{
		display: none;
	}
	#sub.works main .area_map input#tab1:checked + .tab_class.hokkaido p:after{
		display: none;
	}
	/*東北*/
	#sub.works main .area_map .tab_class.tohoku:hover:after{
		display: none;
	}
	#sub.works main .area_map .tab_class.tohoku p:hover:after{
		display: none;
	}
	/*---チェック*/
	#sub.works main .area_map input#tab2:checked + .tab_class:after{
		display: none;
	}
	#sub.works main .area_map input#tab2:checked + .tab_class.tohoku p:after{
		display: none;
	}
	/*関東*/
	#sub.works main .area_map .tab_class.kanto:hover:after{
		display: none;
	}
	#sub.works main .area_map .tab_class.kanto p:hover:after{
		display: none;
	}
	/*---チェック*/
	#sub.works main .area_map input#tab3:checked + .tab_class:after{
		display: none;
	}
	#sub.works main .area_map input#tab3:checked + .tab_class.kanto p:after{
		display: none;
	}
	/*中部*/
	#sub.works main .area_map .tab_class.chubu:hover:after{
		display: none;
	}
	#sub.works main .area_map .tab_class.chubu p:hover:after{
		display: none;
	}
	/*---チェック*/
	#sub.works main .area_map input#tab4:checked + .tab_class:after{
		display: none;
	}
	#sub.works main .area_map input#tab4:checked + .tab_class.chubu p:after{
		display: none;
	}
	/*近畿*/
	#sub.works main .area_map .tab_class.kinki:hover:after{
		display: none;
	}
	#sub.works main .area_map .tab_class.kinki p:hover:after{
		display: none;
	}
	/*---チェック*/
	#sub.works main .area_map input#tab5:checked + .tab_class:after{
		display: none;
	}
	#sub.works main .area_map input#tab5:checked + .tab_class.kinki p:after{
		display: none;
	}

	/*中国*/
	#sub.works main .area_map .tab_class.chugoku:hover:after{
		display: none;
	}
	#sub.works main .area_map .tab_class.chugoku p:hover:after{
		display: none;
	}
	/*---チェック*/
	#sub.works main .area_map input#tab6:checked + .tab_class:after{
		display: none;
	}
	#sub.works main .area_map input#tab6:checked + .tab_class.chugoku p:after{
		display: none;
	}
	/*四国*/
	#sub.works main .area_map .tab_class.shikoku:hover:after{
		display: none;
	}
	#sub.works main .area_map .tab_class.shikoku p:hover:after{
		display: none;
	}
	/*---チェック*/
	#sub.works main .area_map input#tab7:checked + .tab_class:after{
		display: none;
	}
	#sub.works main .area_map input#tab7:checked + .tab_class.shikoku p:after{
		display: none;
	}
	/*九州・沖縄*/
	#sub.works main .area_map .tab_class.kyushu_okinawa:hover:after{
		display: none;
	}
	#sub.works main .area_map .tab_class.kyushu_okinawa p:hover:after{
		display: none;
	}
	/*---チェック*/
	#sub.works main .area_map input#tab8:checked + .tab_class:after{
		display: none;
	}
	#sub.works main .area_map input#tab8:checked + .tab_class.kyushu_okinawa p:after{
		display: none;
	}




	/*表示・リスト中身--------------------*/
	/*共通*/
	#sub.works main .area_map .content_class{
		margin: 0;
		width: 100%;
		background: #e8e8e8;
		margin-top: 0%;
		margin-bottom: 5%;
	}
	#sub.works main .content_class .inner:before{
		display: none;
	}
	#sub.works main .area_map .content_class .in{
		width: 100%;
		margin: 0 auto;
		padding: 10% 5%;
	}
	#sub.works main .area_map .content_class h3{
		line-height: 1;
		display: block;
		font-size: 2.4rem;
		font-family: 'Noto Serif JP', sans-serif;
		font-weight: 600;
		margin-bottom: 10%;
		color: #000;
		text-align: center;
	}
	#sub.works main .area_map .content_class h4{
		line-height: 1;
		display: block;
		font-size: 2rem;
		font-family: 'Noto Serif JP', sans-serif;
		font-weight: 600;
		margin-bottom: 13px;
		padding-bottom: 14px;
		color: #000;
		text-align: left;
		border-bottom: 1px solid;
	}
	#sub.works main .content_class ul.list{
		flex-wrap: wrap;
		width: 100%;
		align-items: flex-start;
	}
	#sub.works main .content_class ul.list li{
		width: 100%;
		font-size: 1.4rem;
		font-weight: 400;
		line-height: 1.5;
		margin-bottom: 8px;
	}
	#sub.works main .content_class .label_area{
		align-items: flex-start;
		justify-content: space-between;
		margin-bottom: 10%;
		display: flex;
		width: 100%;
		flex-wrap: wrap;
	}
	#sub.works main .content_class .label_area li{
		width: 49%;
		margin: 0;
		margin-bottom: 6px;
	}
	#sub.works main .content_class .label_area li a{
		width: 100%;
		height: 100%;
		display: block;
		box-sizing: border-box;
		line-height: 1;
		font-size: 1.4rem;
		font-weight: 400;
		text-align: center;
		color: #fff;
		background: #a5a5a5;
		padding: 6%;
	}
	#sub.works main .content_class .area_box{
		margin-bottom: 10%;
	}
	#sub.works main .content_class .area_box:last-child{
		margin-bottom: 0px;
	}
	
	/*ラジオボタンクリックしたら下のボックスまで移動*/
	#sub.works main .area_map #box01,
	#sub.works main .area_map #box02,
	#sub.works main .area_map #box03,
	#sub.works main .area_map #box04,
	#sub.works main .area_map #box05,
	#sub.works main .area_map #box06,
	#sub.works main .area_map #box07,
	#sub.works main .area_map #box08{
		display: block;
		padding-top: 197px;
		margin-top: -160px;
		transition: 2s;
	}
}/*---------------------SP用ここまで*/






/* ============================================
*
　会社概要
*
===============================================*/
#sub.about main .mv{
	background-image: url(../../about/img/ttl_img.png);
}
#sub.about main .sec03 .accsess strong{
	font-size: 2rem;
    display: block;
    line-height: 1;
    margin-bottom: 10px;
    background: #f4f4f4;
    padding: 10px 20px 10px 50px;
    box-sizing: border-box;
	position: relative;
}
#sub.about main .sec03 .accsess strong a{
	pointer-events: none;
}
#sub.about main .sec03 .accsess a.a_link{
	font-size: 1.8rem;
}
#sub.about main .sec03 .accsess p:nth-child(1) strong:before{
	position: absolute;
	content: "";
	background-image: url(../../about/img/icon01.png);
	width: 40px;
	height: 40px;
	left: 7px;
	background-size: 70%;
	background-repeat: no-repeat;
	top: 6px;
}
#sub.about main .sec03 .accsess p:nth-child(2) strong:before{
	position: absolute;
	content: "";
	background-image: url(../../about/img/icon02.png);
	width: 40px;
	height: 40px;
	left: 7px;
	background-size: 70%;
	background-repeat: no-repeat;
	top: 6px;
}
#sub.about main .sec03 .accsess p:nth-child(3) strong:before{
	position: absolute;
	content: "";
	background-image: url(../../about/img/icon03.png);
	width: 40px;
	height: 40px;
	left: 7px;
	background-size: 70%;
	background-repeat: no-repeat;
	top: 6px;
}
#sub.about main .sec03 .accsess p{
	font-size: 1.8rem;
	margin-bottom: 20px;
}
#sub.about main .sec03 .map iframe{
	border: 0;
    width: 100%;
    height: 300px;
}
/*220113追記*/
#sub.about main .sec02 .profile{
	margin-top: 40px;
}
#sub.about main .sec02 .profile_box{
	flex-direction: row-reverse;
	justify-content: space-between;
}
#sub.about main .sec02 .profile .txt{
	width: 780px;	
}
#sub.about main .sec02 .profile strong{
	font-size: 2rem;
    display: block;
    line-height: 1;
    margin-bottom: 10px;
    background: #f4f4f4;
    padding: 10px 20px 10px 8px;
    box-sizing: border-box;
}
#sub.about main .sec02 .profile .name_box{
	border-bottom: 1px solid #000;
	margin-bottom: 15px;
}
#sub.about main .sec02 .profile .name{
	font-family: 'Noto Serif JP', sans-serif;
    font-size: 3.2rem;
    font-weight: 600;
	line-height: 1;
	margin-bottom: 6px;
	margin-top: 10px;
}
#sub.about main .sec02 .profile .com{
	font-family: 'Noto Serif JP', sans-serif;
    font-size: 1.5rem;
    font-weight: 500;;
}
#sub.about main .sec02 .profile .ul_keireki li{
	margin-bottom: 5px;
	width: 780px;
}
#sub.about main .sec02 .jisseki{
	margin-top: 30px;
}
/*
SP用設定
----------------------------------*/
@media only screen and (max-width: 767px){
	#sub.about main .sec03 .accsess strong{
		font-size: 1.6rem;
		line-height: 1.8;
	}
	#sub.about main .sec03 .accsess strong a{
		pointer-events: auto;
	}
	#sub.about main .sec03 .accsess p:nth-child(1) strong:before{
		top: 10px;
	}
	#sub.about main .sec03 .accsess p:nth-child(2) strong:before{
		top: 10px;
	}
	#sub.about main .sec03 .accsess p:nth-child(3) strong:before{
		top: 10px;
	}
	#sub.about main .sec03 .accsess p{
		font-size: 1.4rem;
	}
	#sub.about main .table_area a.a_link.a_link1{
		color: #0f6cc1;
		text-decoration: underline;
		font-size: 1.5rem;
		display: block;
		pointer-events: auto;
	}
	#sub.about main .sec03 .accsess a.a_link{
		font-size: 1.5rem;
	}
	#sub.about main table th{
		width: 120px;
	}
	/*220113追記*/
	#sub.about main .sec02 .profile{
		display: block;
		margin-top: 5%;
	}
	#sub.about main .sec02 .profile .txt{
		width: 100%;	
	}
	#sub.about main .sec02 .profile .txt strong{
		font-size: 1.6rem;
		line-height: 1.8;
		padding: 2%;
	}
	#sub.about main .sec02 .profile .txt .box2{
		margin-top: 5%;
	}
	#sub.about main .sec02 .profile .name_box{
		border-bottom: 1px solid #000;
		margin-bottom: 15px;
	}
	#sub.about main .sec02 .profile .name{
		font-family: 'Noto Serif JP', sans-serif;
		font-size: 2.5rem;
		font-weight: 600;
		line-height: 1;
		margin-bottom: 6px;
		margin-top: 5%
	}
	#sub.about main .sec02 .profile .com{
		font-family: 'Noto Serif JP', sans-serif;
		font-size: 1.4rem;
		font-weight: 500;;
	}
	#sub.about main .sec02 .profile .ul_keireki li{
		line-height: 1.5;
		margin-bottom: 4%;
		width: 100%;
	}
	#sub.about main .sec02 .profile img{
		width: 120px;
		margin: 0 auto;
		display: block;
	}
	#sub.about main .sec02 .jisseki{
		margin-top: 5%;
	}
	#sub.about main .sec02 .jisseki strong{
		font-size: 1.6rem;
		line-height: 1.8;
		padding: 2%;
	}
	#sub.about main .sec02 .profile .keireki{
		margin-top: 5%;
	}
	#sub.about main .sec02 .profile strong{
		font-size: 1.6rem;
		line-height: 1.8;
		padding: 2%;
	}
}/*---------------------SP用ここまで*/





/* ============================================
*
　事例紹介
*
===============================================*/
#sub.case main .mv{
	background-image: url(../../case/img/ttl_img.png);
	background-position: center;
}
#sub.case .btn_area{
	flex-wrap: wrap;
	justify-content: space-between;
}
#sub.case .btn_area .pic{
	overflow: hidden;
	width: 332.6px;
	background: #000;
	position: relative;
    margin-bottom: 1px;
	margin-right: 0.6px;
}
#sub.case .btn_area .pic .pic_in{
	position: absolute;
    color: #fff;
    width: 100%;
    height: 100%;
}
#sub.case .btn_area .pic .label{
	position: absolute;
	left: 0 ;
	top: -4px;
	z-index: +1;
}
#sub.case .btn_area .pic .label span{
	font-size: 1.2rem;
	text-align: center;
	line-height: 1;
	background: #000000ad;
	padding: 2px 6px;
	margin-right: -1px;
}
#sub.case .btn_area .pic .ttl{
	line-height: 1;
    font-family: 'Noto Serif JP', sans-serif;
    font-size: 1.5rem;
    font-weight: 600;
    display: block;
    margin-top: 10px;
    position: absolute;
    width: 100%;
    left: 10px;
    bottom: 10px;
	z-index: +1;
	text-shadow: 
    black 1px 1px 10px, black -1px 1px 10px,
    black 1px -1px 10px, black -1px -1px 10px;
}
#sub.case .btn_area .pic img{
	opacity: 0.5;
	overflow: hidden;
}
#sub.case .btn_area .pic img:hover{
	opacity: 1;
	transform:scale(1.5,1.5);
	transition:0.5s all;
}
#sub.case .btn_area .pic a{
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	display: block;
	opacity: 1;
}
#sub.case .btn_area .pic a:hover{
	opacity: 1;
}
#sub.case .btn_area .pic img{
	width: 100%;
}

/*絞り込み検索周り-----------*/
#sub.case div.select_box{
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
#sub.case div.select_box p{
	margin-bottom: 0;
	margin-right: 10px;
	font-weight: 600;
}
#sub.case div.select_box{
	margin-right: 20px;
}
#sub.case div.select_box:last-child{
	margin-left: 0px;
}
#sub.case .select_box_all{
	margin: 0 auto;
    width: 1000px;
    justify-content: center;
}
#sub.case .search-area{
	background: #f4f4f4;
	padding: 30px;
	margin-bottom: 30px;
}
#sub.case .search-area p.ttl{
	line-height: 1;
	display: block;
	font-size: 2.2rem;
	font-family: 'Noto Serif JP', sans-serif;
	font-weight: 600;
	color: #000;
	text-align: center;
	border-bottom: 1px solid #000;
	padding-bottom: 20px;
	margin-bottom: 20px;
}
#sub.case .search-area p.ttl span{
	font-size: 2.2rem;
	font-family: 'Noto Serif JP', sans-serif;
	font-weight: 600;
	position: relative;
	padding-left: 40px;
}
#sub.case .search-area p.ttl span:before{
	position: absolute;
    background-image: url(../../case/img/search_icon.png);
    width: 40px;
    height: 40px;
    content: "";
    left: -6px;
    background-size: 80%;
    background-repeat: no-repeat;
    top: -1px;
}
#sub.case .btn_area{
	justify-content: flex-start;
}
#sub.case .search-area .input_btn_area button{
	border: none;
	padding: 10px;
	box-shadow: 3px 3px 6px -2px #e0e0e0;
	color: #fff;
    font-weight: 500;
    letter-spacing: 0.08em;
}
#sub.case .search-area .input_btn_area button:hover{
	opacity: 0.7;
}
#sub.case .search-area .input_btn_area button#button1{
	background: #c7000a;
	margin-right: 10px;
}
#sub.case .search-area .input_btn_area button#button2{
    background: #000;
}

/*タグ一覧*/
#sub.tag h2{
	font-family: 'Noto Sans JP', sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans";
	font-size: 3rem;
	font-weight: 500;
	margin-bottom: 60px;
}
#sub.tag h2 span{
	display: inline;
	font-family: 'Noto Sans JP', sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans";
    box-sizing: border-box;
    background: #e8e8e8;
    font-size: 1.8rem;
    line-height: 1;
    padding: 10px 15px 11px;
    border-radius: 4px;
	font-weight: 500;
}
#sub.tag .btn_area .pic .pic_in{
	position: absolute;
    color: #fff;
    width: 100%;
    height: 199px;
    overflow: hidden;
}
#sub.tag .btn_area .pic a{
	width: 100%;
	height: 199px;
    overflow: hidden;
	box-sizing: border-box;
	display: block;
	opacity: 1;
}
#sub.tag .btn_area .pic p.bg_ttl{
	margin: 0;
}
#sub.tag .btn_area .pic p.bg_ttl a{
	    width: 100%;
    height: auto;
    color: #fff;
    font-family: 'Noto Serif JP', sans-serif;
    text-align: center;
    padding: 3%;
    transition: all 0.3s ease 0s;
    font-weight: 500;
    line-height: 1.5;
}
#sub.tag .btn_area .pic p.bg_ttl :hover{
	opacity: 0.7;
}
/*
SP用設定
----------------------------------*/
@media only screen and (max-width: 767px){
	#sub.case .btn_area .pic{
		overflow: hidden;
		width: 100%;
		background: #000;
		position: relative;
		margin-bottom: 5%;
		margin-right: 0;
	}
	#sub.case .btn_area .pic .pic_in{
		position: absolute;
		color: #fff;
		width: 100%;
		height: 100%;
	}
	#sub.case .btn_area .pic .label{
		position: absolute;
		left: 0 ;
		top: -4px;
		z-index: +1;
	}
	#sub.case .btn_area .pic .label span{
		font-size: 1.2rem;
		text-align: center;
		line-height: 1;
		background: #000000ad;
		padding: 2px 6px;
		margin-right: -1px;
	}
	#sub.case .btn_area .pic .ttl{
		line-height: 1;
		font-family: 'Noto Serif JP', sans-serif;
		font-size: 1.5rem;
		font-weight: 600;
		display: block;
		margin-top: 10px;
		position: absolute;
		width: 100%;
		left: 10px;
		bottom: 10px;
		z-index: +1;
		text-shadow: 
		black 1px 1px 10px, black -1px 1px 10px,
		black 1px -1px 10px, black -1px -1px 10px;
	}
	#sub.case .btn_area .pic img{
		opacity: 0.5;
		overflow: hidden;
	}
	#sub.case .btn_area .pic img:hover{
		opacity: 1;
		transform:scale(1.5,1.5);
		transition:0.5s all;
	}
	#sub.case .btn_area .pic a{
		width: 100%;
		height: 100%;
		box-sizing: border-box;
		display: block;
		opacity: 1;
	}
	#sub.case .btn_area .pic a:hover{
		opacity: 1;
	}
	#sub.case .btn_area .pic img{
		width: 100%;
	}

	/*絞り込み検索周り-----------*/
	#sub.case div.select_box{
		display: block;
	}
	#sub.case div.select_box p{
		margin-bottom: 0;
		margin-right: 10px;
		font-weight: 600;
	}
	#sub.case div.select_box{
		margin-right: 0px;
		margin-bottom: 2%;
	}
	#sub.case div.select_box:last-child{
		margin-left: 0px;
	}
	#sub.case .select_box_all{
		margin: 0 auto;
		width: 100%;
		justify-content: center;
	}
	#sub.case .search-area{
		background: #f4f4f4;
		padding: 5%;
		margin-bottom: 5%;
	}
	#sub.case .search-area p.ttl{
		line-height: 1;
		display: block;
		font-size: 2.2rem;
		font-family: 'Noto Serif JP', sans-serif;
		font-weight: 600;
		color: #000;
		text-align: center;
		border-bottom: 1px solid #000;
		padding-bottom: 20px;
		margin-bottom: 20px;
	}
	#sub.case .search-area p.ttl span{
		font-size: 2.2rem;
		font-family: 'Noto Serif JP', sans-serif;
		font-weight: 600;
		position: relative;
		padding-left: 40px;
	}
	#sub.case .search-area p.ttl span:before{
		position: absolute;
		background-image: url(../../case/img/search_icon.png);
		width: 40px;
		height: 40px;
		content: "";
		left: -6px;
		background-size: 80%;
		background-repeat: no-repeat;
		top: -1px;
	}
	#sub.case .btn_area{
		justify-content: flex-start;
	}
	#sub.case .search-area .input_btn_area button{
		border: none;
		padding: 10px;
		box-shadow: 3px 3px 6px -2px #e0e0e0;
		color: #fff;
		font-weight: 500;
		letter-spacing: 0.08em;
		width: 100%;
	}
	#sub.case .search-area .input_btn_area button#button1{
		background: #c7000a;
		margin-right: 0px;
		margin-bottom: 4%;
	}
	#sub.case .search-area .input_btn_area button#button2{
		background: #000;
	}
	/*タグ一覧*/
	#sub.tag h2{
		font-size: 2.2rem;
		font-weight: 500;
		margin-bottom: 12%;
	}
	#sub.tag h2 span{
		padding: 3%;
	}
	#sub.tag .btn_area .pic .pic_in{
		position: absolute;
		color: #fff;
		width: 100%;
		height: 199px;
		overflow: hidden;
	}
	#sub.tag .btn_area .pic a{
		width: 100%;
		height: 199px;
		overflow: hidden;
		box-sizing: border-box;
		display: block;
		opacity: 1;
	}
	#sub.tag .btn_area .pic p.bg_ttl{
		margin: 0;
	}
	#sub.tag .btn_area .pic p.bg_ttl a{
		width: 100%;
		height: auto;
		color: #fff;
		font-family: 'Noto Serif JP', sans-serif;
		text-align: center;
		padding: 4%;
		transition: all 0.3s ease 0s;
	}
	#sub.tag .btn_area .pic p.bg_ttl :hover{
		opacity: 0.7;
	}
	@media screen and (max-width: 374px) {
		#sub.tag .btn_area .pic .pic_in{
			width: 100%;
			height: 170px;
			overflow: hidden;
		}
		#sub.tag .btn_area .pic a{
			height: auto;
		}
	}/*-----------------iphone5ここまで*/
}/*---------------------SP用ここまで*/





/* ============================================
*
　事例紹介 - 詳細
*
===============================================*/
#sub.case .case_detail h2.copy{
	font-size: 2.8rem;
	border-bottom: 1px solid #000;
	padding-bottom: 15px;
	margin-bottom: 10px;
	font-weight: 500;
}
#sub.case .case_detail .copy p{
	margin-bottom: 0px;
	padding-bottom: 10px;
	border-bottom: 1px solid #000;
}
#sub.case .case_detail .name{
	text-align: center;
	margin-top: 20px;
}
#sub.case .case_detail .name p{
	margin-bottom: 5px;
    line-height: 1;
	margin: 0;
}
#sub.case .case_detail .name strong{
	font-size: 2.5rem;
    font-weight: 500;
}
#sub.case .case_detail .info{
	text-align: center;
	background: #f4f4f4;
	padding: 10px 0 10px;
	margin: 10px 0 30px;
}
#sub.case .case_detail .info span:first-child{
	margin-right: 10px;
}
#sub.case .case_detail .info span:nth-child(2),
#sub.case .case_detail .info span:nth-child(3){
	background: #000;
    padding: 0;
    margin: 0;
    opacity: 1;
    color: #fff;
    padding: 0 10px 2px;
}
#sub.case .case_detail .info p{
	text-align: center;
	margin: 0;
}
#sub.case .case_detail .img_txt_area{
	margin-bottom: 80px;
}
#sub.case .case_detail .img_txt_area:last-child{
	margin-bottom: 0px;
}
#sub.case .case_detail .copy{
    margin-bottom: 90px;
}
#sub.case .case_detail h3{
	font-size: 2rem;
	color: #c7000a;
	margin-top: 15px;
}
#sub.case .tag_area li{
	margin-right: 12px;
}
#sub.case .tag_area li a{
	width: 100%;
	height: 100%;
	display: block;
	box-sizing: border-box;
	background: #e8e8e8;
	font-size: 1.3rem;
	line-height: 1;
	padding: 10px 15px 11px;
	border-radius: 4px;
}
#sub.case .case_detail .img_txt_area p{
	margin-top: 11px;
	margin-bottom: 0px;
}
/*
SP用設定
----------------------------------*/
@media only screen and (max-width: 767px){
	#sub.case .case_detail h2.copy{
		font-size: 2rem;
		margin-top: 8%;
		margin-bottom: 3%;
	}
	#sub.case .case_detail .name{
		text-align: center;
	}
	#sub.case .case_detail .name p{
		margin-bottom: 5px;
		line-height: 1;
		margin: 0;
	}
	#sub.case .case_detail .name strong{
		font-size: 2.5rem;
		font-weight: 500;
	}
	#sub.case .case_detail .info{
		text-align: center;
		background: #f4f4f4;
		padding: 10px 0 10px;
		margin: 8% 0;
	}
	#sub.case .case_detail .info span:first-child{
		margin-right: 10px;
		display: block;
		margin-bottom: 5px;
	}
	#sub.case .case_detail .info span:nth-child(2),
	#sub.case .case_detail .info span:nth-child(3){
		background: #000;
		padding: 0;
		margin: 0;
		opacity: 1;
		color: #fff;
		padding: 0 10px 2px;
	}
	#sub.case .case_detail .info p{
		text-align: center;
		margin: 0;
	}
	#sub.case .case_detail .img_txt_area{
		margin-bottom: 10%;
	}
	#sub.case .case_detail .img_txt_area:last-child{
		margin-bottom: 0px;
	}
	#sub.case .case_detail .copy{
		margin-bottom: 15%;
	}
	#sub.case .case_detail h3{
		font-size: 1.8rem;
		margin-top: 4%;
	}
	#sub.case .tag_area ul{
		display: flex;
		flex-wrap: wrap;
	}
	#sub.case .tag_area li{
		margin-right: 10px;
		margin-bottom: 5px;
	}
	#sub.case .tag_area li a{
		font-size: 1.2rem;
	}
	#sub.case .case_detail .name{
		margin-top: 5%;
	}
	#sub.case .case_detail .info{
		margin: 2% 0 7%;
	}
	#sub.case .case_detail .copy p{
		padding-bottom: 3%;
	}
	#sub.case .case_detail .img_txt_area p{
		margin-top: 3%;
	}
}/*---------------------SP用ここまで*/




/* ============================================
*
　事業内容
*
===============================================*/
#sub.service main{
	margin-bottom: 0px;
}
#sub.service main .mv{
	background-image: url(../../service/img/ttl_img.png);
	background-position: center;
}
#sub.service main .sec02 .workflow_box p,
#sub.service main .sec02 .workflow_box .box2 .ttl p{
	line-height: 1;
    font-size: 2rem;
    text-align: center;
    font-weight: 500;
	margin-bottom: 0px;
}
#sub.service main .sec02 .workflow_box .box1{
	background: #d9cb9f;
	padding: 14px 0 17px;
	width: 600px;
	margin: 0 auto 40px;
	position: relative;
}
#sub.service main .sec02 .workflow_box .box1:after{
	position: absolute;
	content: "";
	background-image: url(../../service/img/arrow1.png);
	width: 29px;
	height: 27px;
	bottom: -32px;
	left: 50%;
	-webkit-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%);
}
#sub.service main .sec02 .workflow_box .box2{
	border: 3px solid #c7000a;
	padding: 15px 0 15px;
	width: 800px;
	margin: 0 auto 40px;
	position: relative;
}
#sub.service main .sec02 .workflow_box .box2 a.a_link{
	line-height: 1.9;
	margin: 0;
	padding: 0;
	display: block;
}
#sub.service main .sec02 .workflow_box .box2 .ttl p{
	background: #e9c1c1;
    width: 596px;
    margin: 0 auto 10px;
    padding: 15px 0;
}
#sub.service main .sec02 .workflow_box .box2 p{
	font-weight: 400;
    font-size: 1.5rem;
    line-height: 1.6;
}
#sub.service main .sec02 .workflow_box .box2.icon1:before{
	position: absolute;
	content: "";
	background-image: url(../../service/img/icon01.png);
	width: 107px;
	height: 107px;
	top: 50%;
	left: -54px;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}
#sub.service main .sec02 .workflow_box .box2.icon2:before{
	position: absolute;
	content: "";
	background-image: url(../../service/img/icon02.png);
	width: 107px;
	height: 107px;
	top: 50%;
	left: -54px;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}
#sub.service main .sec02 .workflow_box .box2.icon3:before{
	position: absolute;
	content: "";
	background-image: url(../../service/img/icon03.png);
	width: 107px;
	height: 107px;
	top: 50%;
	left: -54px;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}
#sub.service main .sec02 .workflow_box .box2:after{
	position: absolute;
	content: "";
	background-image: url(../../service/img/arrow2.png);
	width: 29px;
	height: 27px;
	bottom: -34px;
	left: 50%;
	-webkit-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%);
}
#sub.service main .sec02 .workflow_box .box3{
	background: #ea6912;
	padding: 14px 0 17px;
	width: 600px;
	margin: 0 auto 40px;
	position: relative;
}
#sub.service main .sec02 .workflow_box .box3:after{
	position: absolute;
	content: "";
	background-image: url(../../service/img/arrow3.png);
	width: 29px;
	height: 27px;
	bottom: -32px;
	left: 50%;
	-webkit-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%);
}
#sub.service main .sec02 .workflow_box .box1.last:after{
	display: none;
}
#sub.service main .sec02 .workflow_box .box1.last{
	margin-bottom: 15px;
}
#sub.service main .sec02 .workflow_box span{
	text-align: center;
	display: block;
}
#sub.service main .sec03{
	background: #f4f4f4;
	padding: 70px 0;
}
#sub.service main .sec03 h2{
	color: #000;
}
#sub.service main .sec03 .box{
	background: #fff;
	padding: 30px;
	margin-bottom: 20px;
	box-shadow: 0 0px 20px rgb(0 0 0 / 8%);
}
#sub.service main .sec03 h3{
	font-size: 3rem;
    text-align: center;
    font-weight: 600;
    font-family: 'Noto Serif JP', sans-serif;
}
#sub.service main .sec03 h3 span{
	font-size: 1.7rem;
	text-align: center;
	display: block;
	margin-bottom: 30px;
	margin-top: 5px;
}
#sub.service main .sec03 div.flex{
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 20px;
}
#sub.service main .sec03 div.flex img{
	width: 460px;
	border: 1px solid #dedede;
}
/*
SP用設定
----------------------------------*/
@media only screen and (max-width: 767px){
	#sub.service main .sec02 .workflow_box p,
	#sub.service main .sec02 .workflow_box .box2 .ttl p{
		line-height: 1;
		font-size: 1.6rem;
		text-align: center;
		font-weight: 500;
		margin-bottom: 0px;
	}
	#sub.service main .sec02 .workflow_box .box1{
		background: #d9cb9f;
		padding: 14px 0 17px;
		width: 100%;
		margin: 0 auto 40px;
		position: relative;
	}
	#sub.service main .sec02 .workflow_box .box1:after{
		position: absolute;
		content: "";
		background-image: url(../../service/img/arrow1.png);
		width: 29px;
		height: 27px;
		bottom: -32px;
		left: 50%;
		-webkit-transform: translate(-50%, 0%);
		transform: translate(-50%, 0%);
	}
	#sub.service main .sec02 .workflow_box .box2{
		border: 3px solid #c7000a;
		padding: 50px 5% 15px;
		width: 100%;
		margin: 74px auto 40px;
		position: relative;
	}
	#sub.service main .sec02 .workflow_box .box2 a.a_link{
		line-height: 1.9;
		margin: 0;
		padding: 0;
		display: block;
	}
	#sub.service main .sec02 .workflow_box .box2 .ttl p{
		background: #e9c1c1;
		width: 100%;
		margin: 0 auto 10px;
		padding: 15px 0;
	}
	#sub.service main .sec02 .workflow_box .box2 p{
		font-weight: 400;
		font-size: 1.5rem;
		line-height: 1.6;
	}
	#sub.service main .sec02 .workflow_box .box2.icon1:before{
		position: absolute;
		content: "";
		background-image: url(../../service/img/icon01.png);
		width: 80px;
		height: 80px;
		top:2px;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		background-size: 100%;
	}
	#sub.service main .sec02 .workflow_box .box2.icon2:before{
		position: absolute;
		content: "";
		background-image: url(../../service/img/icon02.png);
		width: 80px;
		height: 80px;
		top:2px;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		background-size: 100%;
	}
	#sub.service main .sec02 .workflow_box .box2.icon3:before{
		position: absolute;
		content: "";
		background-image: url(../../service/img/icon03.png);
		width: 80px;
		height: 80px;
		top:2px;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		background-size: 100%;
	}
	#sub.service main .sec02 .workflow_box .box2:after{
		position: absolute;
		content: "";
		background-image: url(../../service/img/arrow2.png);
		width: 29px;
		height: 27px;
		bottom: -34px;
		left: 50%;
		-webkit-transform: translate(-50%, 0%);
		transform: translate(-50%, 0%);
	}
	#sub.service main .sec02 .workflow_box .box3{
		background: #ea6912;
		padding: 14px 0 17px;
		width: 100%;
		margin: 0 auto 40px;
		position: relative;
	}
	#sub.service main .sec02 .workflow_box .box3:after{
		position: absolute;
		content: "";
		background-image: url(../../service/img/arrow3.png);
		width: 29px;
		height: 27px;
		bottom: -32px;
		left: 50%;
		-webkit-transform: translate(-50%, 0%);
		transform: translate(-50%, 0%);
	}
	#sub.service main .sec02 .workflow_box .box1.last:after{
		display: none;
	}
	#sub.service main .sec02 .workflow_box .box1.last{
		margin-bottom: 15px;
	}
	#sub.service main .sec02 .workflow_box span{
		text-align: center;
		display: block;
	}
	#sub.service main .sec03{
		padding: 15% 0;
	}
	#sub.service main .sec03 .box{
		background: #fff;
		padding: 8% 5%;
		margin-bottom: 20px;
	}
	#sub.service main .sec03 h3{
		font-size: 2rem;
		text-align: center;
		font-weight: 600;
		font-family: 'Noto Serif JP', sans-serif;
	}
	#sub.service main .sec03 h3 span{
		font-size: 1.5rem;
		text-align: center;
		display: block;
		margin-bottom: 5%;
		line-height: 1.5;
		margin-top: 5px;
	}
	#sub.service main .sec03 div.flex{
		margin-bottom: 0px;
	}
	#sub.service main .sec03 div.flex img{
		width: 100%;
		border: 1px solid #dedede;
		margin-bottom: 5%;
	}
	#sub.service main .message h3:before{
		left: -50px;
	}
	#sub.service main .message h3:after{
		right: -50px;
	}
}/*---------------------SP用ここまで*/





/* ============================================
*
　お問い合わせ
*
===============================================*/
#sub.contact main .mv{
	background-image: url(../../contact/img/ttl_img.png);
	background-position: center;
}
#sub.contact .form_area .item{
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 15px;
}
#sub.contact .form_area .item{
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 15px;
}
#sub.contact .form_area .item th{
	width: 341px;
    background: none;
    text-align: left;
    font-weight: 500;
	padding: 0;
}
#sub.contact .form_area .item td,
#sub.contact .form_area .item input{
	width: 100%;
	cursor:auto;
}
#sub.contact .form_area .item td{
	width: 100%;
	padding: 0;
	background: none;
}
#sub.contact .form_area .item input[type=submit]{
	width: 500px;
    cursor: pointer;
    border: 2px solid #c7000a;
    background: #c7000a;
    box-shadow: none;
    border-radius: 0px;
    color: #fff;
    padding: 15px 0;
    font-size: 1.6rem;
    margin: 20px auto 0;
}
#sub.contact .form_area .item input[type=submit]:hover{
	opacity: 0.7;
}
#sub.contact .form_area .item input[type="radio" i] ,
#sub.contact .form_area .item input[type="checkbox" i] {
	width: auto;
}
#sub.contact .form_area .item .radio-group label{
	width: 100%;
    display: block;
    line-height: 1;
    margin-bottom: 16px;
}
#sub.contact .form_area .item p.label{
	width: 250px;
	font-weight: 500;
}
#sub.contact .form_area .item textarea{
	width: 100%;
}
#sub.contact .tel_area{
	text-align: center;
    margin-bottom: 20px;
    border: 3px solid #bdae7c;
    padding: 20px;
    width: 500px;
    margin: 40px auto 40px;
}
#sub.contact .tel_area a{
	font-size: 3rem;
    font-weight: 500;
    pointer-events: auto;
    position: relative;
    padding-left: 53px;
}
#sub.contact .tel_area a:before{
	background-image: url(../img/icon_tel.png);
	width: 52px;
	height: 52px;
	content: "";
	left: 0;
	position: absolute;
	top: -1px;
}
#sub.contact .tel_area p{
	margin-bottom: 0;
}
#sub.contact .form_area .item label span{
	background: #c7000a;
	color: #fff;
	font-size: 1.2rem;
	line-height: 1;
	padding: 2px 5px 3px;
	margin-left: 10px;
}
#sub.contact .policy h3{
	font-size: 1.8rem;
	margin-bottom: 13px;
}
#sub.contact .policy{
	height: 300px;
	overflow: scroll;
	padding: 0px;
	width: 1000px;
	overflow-x: hidden;
	border: 3px solid #f4f4f4;
	margin: 30px auto;
}
#sub.contact .policy .inner{
	padding: 20px 47px 20px 20px;
}
#sub.contact .policy strong{
	display: block;
}
#sub.contact .policy a.a_link{
	display: inline-block;
}
#sub.contact span.caution{
	color: #c7000a;
}
#sub.contact .form_area .item label span.wpcf7-list-item-label{/*220209追記*/
	width: 100%;
	line-height: 1;
	margin-bottom: 16px;
	margin-left: 0;
	font-size: 1.5rem;
	background: none;
	color: #000;
}


/*確認用画面*/
#sub.contact .confirm th{
	font-weight: 500;
}
#sub.contact .form_area.confirm .item{
	background: #f4f4f4;
	padding: 15px 10px;
	margin-bottom: 8px;
}
#sub.contact .form_area.confirm .btn_area{
	justify-content: space-between;
}
#sub.contact .form_area.confirm .btn_area li:first-child a{
	width: 480px;
    cursor: pointer;
    border: 2px solid #000;
    background: #000;
    box-shadow: none;
    border-radius: 0px;
    color: #fff;
    padding: 15px;
    font-size: 1.6rem;
    margin: 20px auto 0;
	display: block;
	text-align: center;
	line-height: 1;
	font-weight: 500;
}
#sub.contact .form_area.confirm .btn_area li:last-child a{
	width: 480px;
    cursor: pointer;
    border: 2px solid #c7000a;
    background: #c7000a;
    box-shadow: none;
    border-radius: 0px;
    color: #fff;
    padding: 15px;
    font-size: 1.6rem;
    margin: 20px auto 0;
	display: block;
	text-align: center;
	line-height: 1;
	font-weight: 500;
}

/*▼ここから220209追記*/
#sub.contact .form_area div.submit-button{
	text-align: center;
}
#sub.contact .form_area div.submit-button input[type=submit]{
	width: 500px;
    cursor: pointer;
    border: 2px solid #c7000a;
    background: #c7000a;
    box-shadow: none;
    border-radius: 0px;
    color: #fff;
    padding: 15px 0;
    font-size: 1.6rem;
    margin: 20px auto 0;
    text-align: center;
}
#sub.contact .form_area span.wpcf7-not-valid-tip{
	color:#c7000a;
}
/*
SP用設定
----------------------------------*/
@media only screen and (max-width: 767px){
	#sub.contact .form_area .item{
		display: block;
		margin-bottom:3%;
	}
	#sub.contact .form_area .item label{
		width: 100%;
		margin-bottom: 4px;
		display: block;
	}
	#sub.contact .form_area .item input{
		width: 100%;
		cursor:auto;
	}
	#sub.contact .form_area .item input[type=submit]{
		width: 100%;
		cursor: pointer;
		border: 2px solid #c7000a;
		background: #c7000a;
		box-shadow: none;
		border-radius: 0px;
		color: #fff;
		padding: 15px 0;
		font-size: 1.6rem;
		margin-top: 20px;
	}
	#sub.contact .form_area .item input[type=submit]:hover{
		opacity: 0.7;
	}
	#sub.contact .form_area .item input[type="radio" i] ,
	#sub.contact .form_area .item input[type="checkbox" i] {
		width: auto;
	}
	#sub.contact .form_area .item .radio-group label{
		width: 100%;
		display: block;
		line-height: 1;
		margin-bottom: 16px;
	}
	#sub.contact .form_area .item p.label{
		width: 100%;
		font-weight: 500;
	}
	#sub.contact .form_area .item textarea{
		width: 100%;
	}
	#sub.contact .tel_area{
		text-align: center;
		margin-bottom: 20px;
		border: 3px solid #bdae7c;
		padding: 5%;
		width: 100%;
		margin: 8% auto;
	}
	#sub.contact .tel_area a{
		font-size: 3rem;
		font-weight: 500;
		pointer-events: auto;
		position: relative;
		padding-left: 53px;
	}
	#sub.contact .tel_area a:before{
		background-image: url(../img/icon_tel.png);
		width: 52px;
		height: 52px;
		content: "";
		left: 0;
		position: absolute;
		top: -1px;
	}
	#sub.contact .tel_area p{
		margin-bottom: 0;
	}
	#sub.contact .policy h3{
		font-size: 1.6rem;
		margin-bottom: 13px;
	}
	#sub.contact .policy{
		height: 250px;
		overflow: scroll;
		padding: 0px;
		width: 100%;
		overflow-x: hidden;
		border: 3px solid #f4f4f4;
		margin: 8% auto;
	}
	#sub.contact .policy .inner{
		padding: 5%;
	}
	#sub.contact .policy strong{
		display: block;
	}
	#sub.contact .form_area .item.radio_box{
		margin-bottom: 10%;
	}
	#sub.contact .policy .tel_link{
		pointer-events: auto;
		color: #0f6cc1;
		text-decoration: underline;
		font-size: 1.5rem;
	}
	#sub.contact .form_area .item th{
		width: 100%;
		background: none;
		text-align: left;
		font-weight: 500;
		padding: 0;
		display: block;
			font-size: 1.5rem;
	}
	#sub.contact .form_area .item td{
		width: 100%;
		padding: 0;
		background: none;
		display: block;
	}
	#sub.contact .form_area.confirm .btn_area li:first-child a{
	width: 100%;
    cursor: pointer;
    border: 2px solid #000;
    background: #000;
    box-shadow: none;
    border-radius: 0px;
    color: #fff;
    padding: 15px;
    font-size: 1.6rem;
    margin: 20px auto 0;
	display: block;
	text-align: center;
	line-height: 1;
	font-weight: 500;
}
#sub.contact .form_area.confirm .btn_area li:last-child a{
	width: 100%;
    cursor: pointer;
    border: 2px solid #c7000a;
    background: #c7000a;
    box-shadow: none;
    border-radius: 0px;
    color: #fff;
    padding: 15px;
    font-size: 1.6rem;
    margin: 20px auto 0;
	display: block;
	text-align: center;
	line-height: 1;
	font-weight: 500;
}
/*▼ここから220209追記*/
#sub.contact .form_area div.submit-button{
	text-align: center;
}
#sub.contact .form_area div.submit-button input[type=submit]{
	width: 100%;
    cursor: pointer;
    border: 2px solid #c7000a;
    background: #c7000a;
    box-shadow: none;
    border-radius: 0px;
    color: #fff;
    padding: 15px 0;
    font-size: 1.6rem;
    margin-top: 20px;
}
}/*---------------------SP用ここまで*/




/* ============================================
*
　お知らせ
*
===============================================*/
/*ヘッダー*/
#sub.news #top_header{
	background: #fff;
	box-shadow: 0px 1px 7px 1px rgb(0 0 0 / 11%);
    -webkit-box-shadow: 0px 1px 7px 1px rgb(0 0 0 / 11%);
    -moz-box-shadow: 0px 1px 7px 1px rgba(0, 0, 0, 0.11);
    -o-box-shadow: 0px 1px 7px 1px rgba(0, 0, 0, 0.11);
    -ms-box-shadow: 0px 1px 7px 1px rgba(0, 0, 0, 0.11);
	padding-bottom: 22px;
}
#sub.news #top_header nav ul li a{
	color: #000;
}
#sub.news #top_header img.bg_none{
	display: none;
}
#sub.news #top_header img.bg_ch{
	display: inline-block;
}
#sub.news main .mv .inner{
	top: 67%;
}
#sub.news .mv{
	background:#c7000b;
}
#sub.news .news_box{
	border-top: 1px solid #000;
}
#sub.news .news_box .flex{
	justify-content: flex-start;
    padding: 18px 18px 18px 0;
    border-bottom: 1px solid #000;
	align-items: center;
}
#sub.news .news_box .flex dt,
#sub.news .news_box .flex dd{
	font-family: 'Noto Sans JP', sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans";
    font-weight: 400;
	font-size: 1.5rem;
}
#sub.news .news_box .flex dt{
	margin-right: 20px;
	letter-spacing: 0.08em;
}
#sub.news .news_box .flex dt span.new{
	line-height: 1;
    font-family: 'Noto Serif JP', sans-serif;
    font-size: 1.2rem;
    font-weight: 600;
    color: #fff;
    background: #c7000b;
    width: 60px;
    letter-spacing: 0.1em;
    padding: 2px 11px;
    margin-right: 20px;
}
#sub.news a.link_btn{
	margin-top: 30px;
}
/*
SP用設定
----------------------------------*/
@media only screen and (max-width: 767px){
	#sub.news .news_box{
		width: 100%;
		border-top: 1px solid #000;
	}
	#sub.news main .mv .inner{
		top: 55%;
	}
	/*ヘッダー*/
	#sub.news #top_header{
		background: #fff;
		padding: 0;
	}
	#sub.news #top_header nav ul li a{
		color: #fff;
	}
	#sub.news #top_header img.bg_none{
		display: inline-block;
	}
	#sub.news #top_header img.bg_ch{
		display: none;
	}
	
	#sub.news .news_box .flex{
		justify-content: flex-start;
		padding: 18px 18px 18px 0;
		border-bottom: 1px solid #000;
	}
	#sub.news .news_box .flex dt,
	#sub.news .news_box .flex dd{
		font-family: 'Noto Sans JP', sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans";
		font-weight: 400;
		font-size: 1.5rem;
	}
	#sub.news .news_box .flex dt{
		margin-right: 20px;
	}
	#sub.news .news_box .flex dd{
		line-height: 1.5;
		margin-top: 4%;
	}
	#sub.news .news_box .flex dt span.new{
		line-height: 1;
		font-family: 'Noto Serif JP', sans-serif;
		font-size: 1.2rem;
		font-weight: 600;
		color: #fff;
		background: #c7000b;
		width: 60px;
		letter-spacing: 0.1em;
		padding: 2px 11px;
		margin-right: 10px;
	}
	#sub.news a.link_btn{
		margin-top: 30px;
	}

}/*---------------------SP用ここまで*/




/* ============================================
*
　お知らせ - 詳細
*
===============================================*/
#sub.news.news_in .date .label{
	margin-left: 10px;
}
#sub.news.news_in .date .label p{
	background: #000;
    color: #fff;
    line-height: 1;
    padding: 4px 4px 7px;
    font-size: 1.3rem;
}
#sub.news.news_in h2{
	font-size: 2.5rem;
	text-align: left;
	margin-top: 0px;
	margin-bottom: 14px;
	border-bottom: 1px solid #000;
	padding-bottom: 20px;
}
#sub.news.news_in a.a_link{
	display: inline-block;
}
#sub.news.news_in .flex{
	justify-content: space-between;
	align-items: flex-start;
}
#sub.news.news_in .flex p{
	width: 574px;
}
#sub.news.news_in .date{
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 15px;
}
#sub.news.news_in .date p{
	line-height: 1;
	width: auto;
	margin: 0;
}
/*
SP用設定
----------------------------------*/
@media only screen and (max-width: 767px){
	#sub.news.news_in .date{
		align-items: center;
		display: flex;
		padding-bottom: 0%;
		margin-bottom: 0%;
	}
	#sub.news.news_in .date .label{
		margin-left: 10px;
	}
	#sub.news.news_in h2{
		font-size: 1.8rem;
		text-align: left;
		margin-top: 4%;
		margin-bottom: 14px;
	}
	#sub.news.news_in a.a_link{
		display: inline-block;
	}
	#sub.news.news_in .flex p{
		width:100%;
	}
	#sub.news.news_in .date .label p{
		background: #000;
		color: #fff;
		line-height: 1;
		padding: 4px 4px 7px;
		font-size: 1.3rem;
		width: auto;
	}
	#sub.news.news_in .date p{
		line-height: 1;
		margin-bottom: 0;
		width: auto;
	}
}/*---------------------SP用ここまで*/