@charset "utf-8";



/*  01 link
======================================================================================*/




/*  04 content
======================================================================================*/

/* main --------------------*/

.main {
	background-color:#FFEF5C;
	padding:5%;
}


/* .mainTop */

.mainTop {
	background-image: url(../img/mainTop_bg_sp.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size:100% auto;
	text-align:center;
	padding-bottom:5px;
}

.logomark img {
	width:56px;
}

.mainTop h1 {
	font-size:13px;
	line-height:1.5;
	color: #464646;
	margin:0px 0 10px;
	font-weight: 700;
}

.mainTop h1>img {
padding-top: 10px;
}

.main_ex {
font-size: 0;
}

.main_ex a {
display: inline-block;
width: 48%;
margin: 1%;
}



.main_japan img {
	width:75px;
	padding-top: 27%;
}


/* mainM */

.mainM {
	padding-bottom:0;
}

.mainM .main_inner {
	background-image: url(../contact/img/mainContact_bg_sp.png);
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size:160px auto;
	min-height: 90px;
}

.hosyo .mainM .main_inner {
	background-image: url(../hosyo/img/mainHosyo_bg_sp.png);
	padding-bottom:10px;
}

.company .mainM .main_inner {
	background-image: url(../img/mainCompany_bg.png);
	padding-bottom:10px;
}


.mainM h1 {
	color:#036EB8;
	font-size:23px;
	font-weight:900;
	line-height:1;
	margin-bottom:10px;
}

.mainM h1 span {
	font-size:10px;
}

.mainM p {
	margin-bottom:0;
	padding-bottom:10px;
	line-height:1.4;
	font-weight:700;
}

.mainM p span {
	font-size:11px;
	font-weight:normal;
}


/* mainL */

.mainL {
	padding:5% 0 0 0;
	text-align:center;
}

.mainL .main_inner {
	background-image: url(../img/first/mainFirst_bg_sp.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size:100% auto;
	padding-bottom:40%;
	position:relative;
}

.contractor .mainL .main_inner {
	background-image: url(../img/contractor/mainContractor_bg_sp.png);
	padding-bottom:36%;
}

.type .mainL .main_inner {
	background-image: url(../img/type/mainType_bg_sp.png);
	padding-bottom:33%;
}

.genre .mainL .main_inner {
	background-image: url(../img/mainGenre_bg_sp.png);
	padding-bottom:34%;
}

.mainL .main_inner > h1 {
	color:#036EB8;
	font-size:13px;
	font-weight:900;
	line-height:1;
	padding-bottom:10px;
	margin-bottom:10px;
	background-image: url(../img/mainL_line.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size:30px 2px;
}

.mainL p {
	font-size:17px;
	font-weight:700;
	margin-bottom:0;
	padding-bottom:10px;
	line-height:1.4;
}

.mainL p span {
	font-size:12px;
	font-weight:normal;
}


.mainL_bu {
	text-align:center;
}

.mainL .satis_badge {
	position:absolute;
	left:7px;
	bottom:15px;
	padding-bottom:0;
}

@media screen and ( max-width : 510px ) {
.type .mainL .satis_badge {
	left:auto;
	right:7px;
	bottom:15px;
	padding-bottom:0;
}
}


.satis_badge img {
	width:81px;
}


/* mainFaq */

.mainFaq {
	padding-bottom:80px;
}

.mainFaq h1 {
	background-image: url(../img/faq_bg.png);
	background-repeat: no-repeat;
	background-position: center top;
	background-size:61px 47px;
	color:#036EB8;
	font-size:23px;
	font-weight:900;
	line-height:1;
	text-align:center;
	margin-bottom:10px;
	padding-top:55px;
}

.mainFaq p {
	font-weight:700;
	text-align:center;
}

/* main genre */

.mainL .title {
  background-color: #FFF;
  border: solid 3px #E7E7E7;
  border-radius: 10px;
  padding: 10px 10px 5px;
  margin: 0 10px 20px;
}

.mainL .title .title_fuki {
  background-color: #4FBAA1;
  border-radius: 5px;
  padding: 5px;
  color: #FFF;
  font-size: 14px;
  position: relative;
}


.mainL .title .title_fuki:after {
  content: '';
  display: inline-block;
  position: absolute;
  bottom: -20px;
  left: calc(50% - 10px);
  width: 0;
  height: 0;
  border-top: 10px solid #4FBAA1;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid transparent;
}

.mainL .title .title_fuki span {
  color: #FFFF00;
  font-size: 14px;
  font-weight: bold;
}

.mainL .title h1 {
  font-family: 'M PLUS 1', sans-serif;
  font-size: 22px;
  font-weight: 700;
  margin: 15px 0;
  line-height: 1.4;
}

.mainL .title h1 span {
  color: #FF6100;
-webkit-text-emphasis: circle #fccc16;
  text-emphasis: circle #fccc16;
}

.mainL .title h1 span.nodot {
-webkit-text-emphasis: none;
  text-emphasis: none;
}

.genre .mainL .main_inner > p {
  font-size: 14px;
}

/* toppage -----------------*/

/* heading ---*/

.top h2 {
	border:none;
	font-size:18px;
	text-align:center;
	font-weight:700;
	margin-bottom:10px;
}

.top h2 span {
	display:block;
	color:#0059A2;
	font-size:14px;
}

/* step ---*/

.top .step {
	padding:5%;
}

.top .step h2 {
	font-size:15px;
	margin-bottom:10px;
	line-height:1.4;
}

.top .step h2 span {
	background-color:#FF6100;
	display:inline-block;
	padding:0px 8px 2px;
	color:#FFF;
	font-weight:700;
	margin-bottom:5px;
}

.top ul.step_list,
.genre ul.step_list {
	width:200px;
	margin:0 auto;
}

.genre ul.step_list {
margin-top: 20px;
}

.top ul.step_list li,
.genre ul.step_list li {
	background-color:#FFF;
	border-radius:10px;
	text-align:center;
	padding-bottom:10px;
	margin-bottom:25px;
	position:relative;
}

.top .hosyo ul.step_list li,
.genre .hosyo ul.step_list li{
	background-image: linear-gradient(-45deg, #0059A2 18px, transparent 0);
}

.top .hosyo ul.step_list li a,
.genre .hosyo ul.step_list li a{
text-decoration: none;
}

.top ul.step_list li:after,
.genre ul.step_list li:after{
  content: '';
  display: inline-block;
  position: absolute;
  bottom: -25px;
  left: calc(50% - 4px);
  width: 0;
  height: 0;
  border-top: 8px solid #0059A2;
  border-right: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 8px solid transparent;
}

.top ul.step_list li:last-child:after,
.genre ul.step_list li:last-child:after{
	display:none;
}

.top .hosyo ul.step_list li:after,
.genre .hosyo ul.step_list li:after{
	content:"";
	display: block;
	width:3px;
	height:3px;
	border: none;
	border-top:1px solid #FFF;
	border-right:1px solid #FFF;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	left: auto;
	right: 7px;
	bottom: 7px;
}

.top ul.step_list li h3,
.genre ul.step_list li h3{
	color:#0059A2;
	font-weight:700;
	line-height:1.6;
	margin-bottom:8px;
	font-size: 14px;
}

.top ul.step_list li p,
.genre ul.step_list li p{
	font-weight:700;
	line-height:1.6;
}

/* satis ---*/
.satis_inner {
  background-color: #fff;
  border-radius: 5px;
  padding: 3%;
}

/* news ---*/

#news ul {
	border-top: 1px solid #EFEFEF;
}

#news ul li {
	border-bottom: 1px solid #EFEFEF;
	padding-top:15px;
}

.date {
	font-weight:700;
}

.date span {
	background-color:#FF6100;
	display:inline-block;
	padding:0px 8px;
	margin-left:8px;
	color:#FFF;
	font-size:10px;
	vertical-align: text-top;
}


/* faq ---*/

#faq > div {
	margin:0 auto 20px;
}

#faq li {
	border-radius:5px;
	box-shadow: 0 0 10px -5px rgba(0, 0, 0, 0.3);
	background-color:#FFF;
	padding:5px 10px;
	margin-bottom:10px;
}

#faq li h3,
#faq li p {
	padding:10px 0 10px 25px;
	margin-bottom:0;
	position: relative;
	font-weight:normal;
	text-align:left;
	background-repeat: no-repeat;
	background-position: 3px 12px;
	background-size:15px;
}

#faq li h3 {
	cursor:pointer;
	background-image: url(../img/ic_q.png);
	cursor:pointer;
	position: relative;
	padding-right:20px;
	font-weight:700;
}

#faq li p {
	background-image: url(../img/ic_a.png);
	border-top: 1px solid #E9E9E9;
}


#faq li h3:before,
#faq li h3:after,
.active:before {
    content:"";
    position:absolute;
    top:50%;
    background:#9FA0A0;
}


#faq li h3:before {
    right:12px;
    width:1px;
    height:9px;
    margin-top:-7px;
}

#faq li h3:after {
    right:8px;
    width:9px;
    height:1px;
    margin-top:-3px;
}

#faq li h3.active:before {
	display:none;
}

/* type ---*/

#type ul {
	font-size:0;
	text-align:center;
	margin-bottom: 10px;
}
@media screen and ( max-width : 510px ) {
#type ul {
	margin: 0 auto 10px;
  max-width: 300px;
}
}

#type ul li {
	border-radius:5px;
	background-color:#FFEF5C;
	padding:20px 10px 10px;
	margin:0 0 10px 14px;
	width:135px;
	height: 135px;
	display:inline-block;
	font-size:12px;
	font-weight:700;
	line-height:1.4;
	background-image: linear-gradient(-45deg, #0059A2 18px, transparent 0);
	position: relative;
	box-shadow: 0 0 10px -5px rgba(0, 0, 0, 0.3);
}

#type ul li:nth-child(odd) {
	margin-left:0;
}

#type ul li:after {
	content:"";
	display: block;
	width:3px;
	height:3px;
	border-top:1px solid #FFF;
	border-right:1px solid #FFF;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	right: 7px;
	bottom: 7px;
}

#type ul li a:link,
#type ul li a:visited {
color: #000;
text-decoration: none;
}

/* about ---*/

#about li {
	box-shadow: 0 0 10px -5px rgba(0, 0, 0, 0.3);
	border: 2px solid #FFB83B;
	background-color:#FFF;
	padding:20px 20px 0;
	margin-bottom:20px;
}

#about li h3 {
	text-align:center;
	font-size:14px;
	font-weight:700;
	margin-bottom:10px;
}


/* contact ---*/

section.contact {
	padding-bottom:0;
}

.top .contact h2,
.genre .contact h2{
	font-size:15px;
	margin-bottom:20px;
	line-height:1.4;
  text-align: center;
font-weight: 700;
}

.top .contact h2 span,
.genre .contact h2 span {
	background-color:#005FA3;
	display:inline-block;
	padding:0px 8px 2px;
	color:#FFF;
	margin-bottom:5px;
}

.contact_inner {
	background-image: url(../img/contact_bg.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size:128px auto;
	padding-bottom:110px;
}

.contact_inner dl {
	background-color:#FFEF5C;
	border-radius:5px;
	padding:5%;
	margin-bottom:10px;
	position:relative;
}

.contact_inner dl * {
	text-align:center;
}

.contact_inner dl dt {
	font-size:15px;
	font-weight:700;
	line-height: 1.4;
  border-bottom: 1px solid #000;
  padding-bottom: 8px;
  margin-bottom: 8px;
}

.contact_inner dl dd {
	font-size:12px;
}

.contact_mail:after {
  content: "";
  position: absolute;
  left: calc(50% - 15px);
  bottom: -15px;
  border-top: 15px solid #FFEF5C;
  border-left: 15px solid transparent;
	width:0;
	height:0;
}

.top_contact_bu {
margin: 10px 0px 0px;
}

#content .contact .or_bu {
width: 100%;
box-sizing: border-box;
font-size: 15px;
padding: 10px 10px 13px;
margin-bottom: 0;
}



/* formpage -----------------*/

.form dl {
	border-top: 1px solid #E9E9E9;
	margin-top:20px;
}

.form dt {
	padding-top:15px;
	font-weight:700;
  text-align: left;
}

.form dd {
	padding-top:7px;
  text-align: left;
}

.must {
	display:inline-block;
	padding:0px 4px 1px;
	margin-left:5px;
	background-color:#E50072;
	color:#FFF;
	font-size:10px;
}

.form select {
	padding:8px 0;
	border: 1px solid #DDD;
	background-color:#F5F5F5;
}


.form textarea {
	width:100%;
	box-sizing:border-box;
	background-color:#F5F5F5;
}

.form form#mailformpro input[type="text"] {
	width:100%;
	box-sizing:border-box;
	padding:8px;
	border-radius:3px;
	border: 1px solid #DDD;
	background-color:#F5F5F5;
}

input[type="radio"] {
	margin-bottom:5px;
}

label {
	padding:5px 15px 5px 0px;
}

.buttons {
	text-align:center;
	padding:10px;
	border-top: 1px solid #E9E9E9;
	margin-top:20px;
}

.buttons button {
	padding:8px;
	margin-bottom:10px;
}

.bei_pt_bg_r.thanks {
background-image: linear-gradient( #FFEF5C 70px, #FFF5E2 70px 100% );
background-size: auto auto;
}

.form_more_area {
  text-align: center;
  margin-top: 20px;
  padding: 20px 10px;
  border: solid 1px #E9E9E9;
}

.form_more {
  display: none;
}



.form .acmenu:before,
.form .acmenu:after,
.active:before {
    content:"";
    position:absolute;
    top:calc(50% + 2px);
    background:#FFF;
  border: none;
transform: none;}


.form .acmenu:before {
    right:12px;
    width:1px;
    height:9px;
    margin-top:-7px;
}

.form .acmenu:after {
    right:8px;
    width:9px;
    height:1px;
    margin-top:-3px;
}

.form .acmenu.active:before {
	display:none;
}


/* first page --------------- */

.wide {
	background-color: #F2F2F2;
	border: 10px solid #F2F2F2;
	background-image: url(../img/wide_bg.gif);
	background-repeat: repeat-x;
	background-position: center center;
	background-size:1px;
}

.wide img:first-child {
	padding-bottom:30px;	
}

/* matching  */

.matching > div {
margin: 20px 0;
}

.matching h3 {
text-align: center;
font-size: 14px;
font-weight: 700;
margin-bottom: 10px;
}

.group_esti h3 {color: #6A6A6A;}
.protta_match h3 {color: #0059A2;}

.matching dl {
border-radius: 10px;
padding: 10px 15px 15px;
}

.group_esti dl {background-color: #F2F2F2;}
.protta_match dl {background-color: #FFEF5C;}


.matching dt {
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 24px 29px;
	line-height: 3;
	font-weight: 700;
	border-bottom: 1px solid #000;
	padding-left: 30px;
	margin-bottom: 5px;
}

.group_esti dt {
	background-image: url(../img/first/feature_gene.png);
}

.protta_match {
	background-image: url(../img/first/matching_arrow_sp.png);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 36px 38px;
	padding-top: 40px;
	margin-top: 10px;
}

.protta_match dt {
	background-image: url(../img/first/feature_protta.png);
}

.protta_match dd span {
color: #FF6100;
font-weight: 700;
}


/* flow */

.first_flow {
	background-image: url(../img/first/first_flow_bg.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size:100%;
	padding-bottom:35%;
}

.first_flow ul {
	background-color:#FFEF5C;
	border-radius:5px;
	padding:4%;
	margin-top:20px;
}

.contra_regi ul {
  background: none;
}

.first_flow ul li {
	background-color:#FFF;
	box-shadow: 0 0 10px -5px rgba(0, 0, 0, 0.3);
	text-align:center;
	position:relative;
	margin-bottom:28px;
}

.first_flow ul li:last-of-type {
	margin-bottom:0px;
}


.first_flow ul li:after {
  content: "";
	position:absolute;
	bottom:-28px;
	left:0;
	display:block;
	width:100%;
	height:28px;
	background-image: url(../img/first_flow_arrow.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size:22px 10px;
}

.first_flow ul li:last-of-type:after {
	display:none;
}


.first_flow ul li p:first-child {
	display:inline-block;
	color:#036EB8;
	font-size:16px;
	font-weight:700;
	border-bottom: 2px solid #036EB8;
	padding-top:5px;
}

.first_flow ul li > div {
	margin:0 10px;
}

.first_flow ul li h3 {
	font-size:14px;
	font-weight:700;
	line-height:1.4;
	margin-bottom:10px;
}

.first_flow ul li p.first_flow_img {
	background-color:#F5F5F5;
	margin-bottom:0;
	padding:10px 0;
}

.cms_flow ul li p.first_flow_img {
	padding:0;
}

p.first_flow_lead {
	font-size:14px;
	font-weight:700;
	text-align:center;
	padding-top:10px;
}

.first_feature ul {
	margin-top: 20px;
}


.first_feature ul li {
	box-shadow: 0 0 10px -5px rgba(0, 0, 0, 0.3);
	padding:5px;
	margin-bottom:15px;
	background-color: #FFF;
}

.first_feature ul li h3 {
	text-align:center;
	font-size:21px;
	font-weight:700;
	line-height:1.4;
	background-color:#FFEF5C;
	padding:10px 10px 15px;
	margin-bottom:10px;
}

.first_feature ul li h3 span {
	color:#036EB8;
	font-size:16px;
	display:inline-block;
	border-bottom: 1px solid #036EB8;
	margin-bottom:5px;
}

.first_feature ul li > div {
	margin:20px 15px;
}

.first_feature ul li > div p {
font-size: 14px;
}

.first_feature_tx h4 {
	font-size:13px;
	font-weight:700;
	border-bottom: 1px solid #000;
	padding-bottom:5px;
	margin-bottom:10px;
}

.first_feature li > div:nth-of-type(n+2)  {
	margin-top:50px;
}


.hosyo ul li h3,
.kiki ul li h3{
	font-size:16px;
	line-height:1.8;
	padding:10px 10px 15px;
	margin-bottom:10px;
}

.hosyo ul li > div > div p,
.kiki ul li > div p{
	font-size:12px;
}

.hosyo ul li > div > div p {
	border-bottom: 1px solid #D1CFCE;
	padding-bottom: 8px;
}

.payment * {
	text-align:center;
}

.payment ul {
	margin:15px auto;
}


.payment li {
	background-color:#FFF;
	box-shadow: 0 0 10px -5px rgba(0, 0, 0, 0.3);
	margin-bottom:15px;
	padding:20px;
	font-weight:700;
}

.payment li > p{
width: 130px;
	margin:5px auto 15px;
}


.payment li div * {
text-align: left;
}

.payment li h3 {
font-size: 15px;
font-weight: 700;
border-bottom: 1px solid #000;
margin-bottom: 5px;
padding-bottom: 5px;
}

.payment li div p {
margin-bottom: 0;
}


.notice_title {
background-color: #F5F5F5;
padding: 10px;
text-align: center;
font-size: 14px;
font-weight: 700;
margin-bottom: 10px;
}

.notice_title img {
width: 21px;
vertical-align: sub;
padding-right: 5px;
}





.estimate_flow {
	background-color: #FFEF5C;
}

.estimate_flow_inner {
	background-image: url(../img/first/first_estimate_flow_bg.png);
	background-repeat: no-repeat;
	background-position: center bottom 15px, center bottom;
	background-size:250px 166px, auto auto;
	padding-bottom:200px;
}

.estimate_flow_inner > ul {
margin-top: 20px;
}

.estimate_flow_inner > ul > li {
	background-color:#FFF;
	box-shadow: 0 0 10px -5px rgba(0, 0, 0, 0.3);
	border-radius: 5px;
	margin-bottom:15px;
	padding:20px;
	font-weight:700;
}

.estimate_flow_inner > ul > li ul li {
padding-left: 10px;
position: relative;
line-height: 1.4;
margin-bottom: 5px;
font-size: 13px;
}

.estimate_flow_inner > ul > li ul li:before {
  content: '';
  position: absolute;
background-color: #036EB8;
  height: 5px;
  width: 5px;
  top: 7px;
  left: 0;
}

.estimate_flow_inner > ul > li h3 {
font-size: 15px;
font-weight: 700;
margin-bottom: 5px;
}

.payment li > p{
width: 130px;
	margin:5px auto 15px;
}


.fuki {
	background-color:#FFF;
	border-radius:5px;
	padding:15px 20px 5px;
	position:relative;
}

.fuki:after {
  content: '';
  display: inline-block;
  position: absolute;
  bottom: -20px;
  left: calc(50% - 5px);
  width: 0;
  height: 0;
  border-top: 10px solid #FFF;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid transparent;
}

.fuki h3 {
	font-size:14px;
	font-weight:700;
	margin-bottom:5px;
}

.fuki > p:first-of-type{
	font-size:13px;
	font-weight: 700;
}

section.pro {
	padding:20px 0;
}

.first_pro {
	background-color:#FFEF5C;
	padding:15px 0;
	margin-bottom: 20px;
}

.first_pro > p:first-child {
	width:284px;
	margin:0 auto 15px;
}

.first_pro > div {
	width:304px;
	margin:0 auto;
	display:table;
	border-collapse: separate;
	border-spacing: 10px 0;
	table-layout:fixed;
}

.first_pro > div p {
	display:table-cell;
	width:137px;
	background-color:#FFF;
	position:relative;
	border-radius:5px;
	vertical-align:top;
	padding:5px 10px;
}

.first_pro > div p:before {
  content: '';
  display: inline-block;
  position: absolute;
  top: -16px;
  left: calc(50% - 4px);
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid #FFF;
  border-left: 8px solid transparent;
}


/* contractor -----------------------------*/

.urgent_area {
  background-color: #fff2d7;
  padding: 4%;
  text-align: center;
}

.urgent {
  background-color: #fff;
  padding: 4%;
  border-radius: 10px;
  display: inline-block;
  color: #0059a2;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 0px;
}
.urgent .mark {
  display: inline-block;
  margin-bottom: 8px;
  border-radius: 5px;
  padding: 1px 10px 3px;
  background-color: #ff6100;
  color: #fff;
  position: relative;
}

.urgent .mark:after {
  content: "";
  position: absolute;
  top:100%;
  left: calc(50% - 4px);
  display: block;
  width: 0;
  height: 0;
  border-top: 4px solid #ff6100;
  border-right: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 4px solid transparent;
}

@media screen and ( max-width : 510px ) {
section.match {
	padding:20px 0;
}
.contractor .fuki {
margin:10px 20px 0;
  text-align: center;
}
}

.contractor .first_flow {
	padding: 20px 2%;
  background-image: none;
}
.hearing {
	padding-bottom:30px;
	padding:4%;
}

.hearing > div:first-of-type {
	background-color: #FFEF5C;
	border-radius: 5px;
	padding: 2% 2% 135px;
	margin: 0 0 20px;
	background-image: url(../img/contractor/contractor_hearing_bg.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size:172px auto;
}

.hearing > div > p {
	width:190px;
	margin:0 auto;
}


#content div.two_bu > p {
	text-align:center;
	margin-bottom:10px;
}


.contractor .hosyo {
	background-color:#FFEF5C;
	border-radius: 5px;
	padding:40px 3px 10px;
	margin:40px 0 20px;
}

.contractor .hosyo.no {
	background-color:#F2F2F2;
}

.contractor .hosyo dt {
	background-color:#036EB8;
	border-radius: 5px;
	width:70%;
	padding:5px 0;
	margin:-65px auto 10px;
	color:#FFF;
	font-size:14px;
	font-weight:700;
	text-align:center;
}



.contractor_support ul {
	margin: 20px 20px 0;
}


.contractor_support ul li {
	box-shadow: 0 0 10px -5px rgba(0, 0, 0, 0.3);
	padding:5px 5px 10px 5px;
	margin-bottom:15px;
	background-color:#FFF;
}

.contractor_support ul li h3 {
	text-align:center;
	font-size:16px;
	font-weight:700;
	line-height:1.4;
	background-color:#FFEF5C;
	padding:10px 10px 15px;
}

.contractor_support ul li h3 span {
	color:#036EB8;
	font-size:20px;
	display:inline-block;
	border-bottom: 1px solid #036EB8;
	margin-bottom:5px;
}

.contractor_support ul li p {
  padding: 5px 10px;
  margin-bottom: 0;
}

.contra_regi ul li {
  position: relative;
  margin-bottom: 35px;
}
.contra_regi ul li:not(:last-child):after {
  content: '';
  display: inline-block;
  position: absolute;
  bottom: -40px;
  left: calc(50% - 14px);
  width: 0;
  height: 0;
  border-top: 14px solid #0059A2;
  border-right: 14px solid transparent;
  border-bottom: 14px solid transparent;
  border-left: 14px solid transparent;
}
.contra_regi ul li p {
  text-align: center;
}

.const_flow_inner {
	background-image: url(../img/contractor/contractor_hearing_bg.png);
  background-repeat: no-repeat;
	background-size:172px auto;
  padding-bottom: 135px;
  background-position: center bottom;
}

#faq .const_flow_inner {
  margin-bottom: 0;
}

.const_faq {
  padding-bottom: 0;
}

.const_faq ul:last-of-type {
  margin-bottom: 30px;
}

@media screen and ( max-width : 510px ) {
section.contra_faq {
	padding:20px 5%;
}
}

#faq.contra_faq ul {
	margin-top:20px;
}

#faq.contra_faq li h3 {
	cursor:default;
}

#faq.contra_faq li h3:before,
#faq.contra_faq li h3:after,
.contra_faq .active:before {
	display:none;
}


/* type page -----------------------------------*/

.type_list_inner > p {
  text-align: center;
}

/*page link*/
@media screen and ( max-width : 510px ) {
.type_list_link {
background-color: #FFF;
border-radius: 10px;
margin: 15px 0;
padding: 0 10px;
}
.type_list_link li {
	border-bottom: 1px solid #CCC;
	text-align: center;
}

.type_list_link li:last-child {
border: none;
}
.type_list_link li a {
display: block;
	position:relative;
	padding:9px 20px;
}
#content .type_list_link li a:link,
#content .type_list_link li a:visited{
text-decoration: none;
color: #000;
}
.type_list_link li a:before {
	content:"";
	display: block;
	width:5px;
	height:5px;
	border-top:2px solid #036EB8;
	border-right:2px solid #036EB8;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	left:0px;
	top:50%;
	margin-top:-4px;
}
}
/*page link end*/

.type_list_inner {
  margin-top: 20px;
}

.type_list_inner > ul > li {
	box-shadow: 0 0 10px -5px rgba(0, 0, 0, 0.3);
	padding:15px 15px 5px;
	margin-bottom:15px;
	background-color:#FFF;
}

.type_img {
	text-align:center;
}

.type_img img {
	width:130px;
}

.type_list_inner h2 {
	text-align:center;
	font-size:17px;
	font-weight:700;
}

.type_tx p {
	font-weight:300;
}

.type_tx h3 {
	font-size:10px;
	margin-bottom:5px;
}

.type_tx h3 span {
	font-size:14px;
	font-weight:700;
	color:#036EB8;
}

.type_tx ul {
	border-top: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
}

.type_tx ul li {
	padding:5px 0;
}

.type_tx ul li span {
	font-weight:700;
}

.type_tx ul li:nth-child(n+2) {
	border-top: 1px solid #CCC;
}

.type_ex dl {
margin: 20px 0;
}

.type_ex dt,
.type_ex dd {
margin-bottom: 10px;
}
.type_ex dt {
background-color: #036EB8;
font-size: 14px;
color: #FFF;
font-weight: 700;
padding: 0 5px;
}

.type_ex dd {
	border-bottom: 1px solid #CCC;
	padding-bottom: 10px;
}

.type_ex dd:last-child {
border: none;
padding: 0;
font-size: 14px;
}

.type_ex dd .type_price,
.type_price{
color: #E94709;
font-weight: 700;
}

.change_case {
background-color: #FFEF5C;
padding: 10px;
margin-bottom: 20px;
}

.change_case h2 {
color: #036EB8;
text-align: left;
font-size: 15px;
font-weight: 700;
line-height: 1.4;
padding: 0 0 10px 5px;
}

.change_case ul,
.genre .matching dd ul {
background-color: #FFF;
padding: 2px 10px 10px;
}

.change_case ul li,
.genre .matching dd ul li {
	border-bottom: 1px solid #CCC;
	padding: 8px 0 8px 10px;
	position: relative;
line-height: 1.4;
}

.change_case ul li:before,
.genre .matching dd ul li:before {
  content: '';
  position: absolute;
background-color: #036EB8;
  height: 5px;
  width: 5px;
  top: 13px;
  left: 0;
}




/* faq ------------------------------------*/

.faq #faq {
	padding-bottom:0;
}

.tabs {
	padding:0px 0 20px;
	font-size:0;
	margin-top:-78px;
}


.tab_item {
	width:calc(25% - 2px);
	height:64px;
	background-color:#FFF;
	font-size:13px;
	font-weight:700;
	color:#000;
	line-height:1.2;
	display: inline-block;
	padding:8px 0 0;
	margin-right:2px;
	text-align:center;
}

@media screen and ( max-width : 510px ) {
.tab_item.single {
	padding-top:23px;
}
.tab_item.two {
	padding-top:18px;
}
}

.tabs .tab_item:last-of-type {
	width:25%;
	margin-right:0;
}

.tabs input:checked + .tab_item,
.tab_item:hover {
  background-color: #F39800;
  color: #fff;
}

input[name="tab_item"] {
  display: none;
}

.tab_content {
  display: none;
	border-top: 3px solid #F39800;
	padding:5%;
}

#touten:checked ~ #touten_content,
#mitsu:checked ~ #mitsu_content,
#ryoukin:checked ~ #ryoukin_content,
#hosyo:checked ~ #hosyo_content {
  display: block;
}


#faq ul {
	margin-top:20px;
}


/* company page-------------------*/

.name_concept {
margin: 20px 0;
border-bottom: 7px solid #F4F4F4;
}

.name_concept p {
text-align: center;
}

.name_concept p:first-of-type img {
width: 210px;
}

.mark_concept {
padding: 0 0 10px 10px;
margin-top: 20px;
}

.mark_concept p {
float: right;
width: calc(100% - 70px);
text-align: left;
font-size: 11px;
}

.mark_concept p:first-child {
float: left;
width: 60px;
}

@media screen and ( max-width : 510px ) {
.tel_mail {
	width: 110px;
}
}


/* genre ---------------------*/

.genre_lead {
  padding: 10px 5px;
}


.maker_list>ul {
  border-top: solid 1px #DFDFDF;
}

.maker_list>ul>li {
  border: solid 1px #DFDFDF;
  border-top: none;
  display: flex;
  /*align-items: stretch;*/
}

.maker_list ul li>h3,
.maker_list ul li p {
display: flex;
  align-items: center;
}

.maker_list ul li h3 {
  width: 35%;
  justify-content:center;
  background-color: #F4F4F4;
  text-align: center;
  font-weight: 700;
}

.maker_list ul li p {
  width: 65%;
  padding: 5px;
  margin: 0;
}

.genre .matching dt {
	border-bottom: none;
  font-size: 14px;
  line-height: 1.6;
  padding: 0 0 5px 30px;
}

.genre .protta_match dt {
  color: #036EB8;
}

.genre .matching dd {
  background-color: #FFF;
  padding: 5px;
}

.genre .first_flow {
  background: none;
  padding-bottom: 20px;
}

.genre .first_flow ul {
  margin-bottom: 20px;
}

.genre .koujinaiyou h4 {
  text-align: left;
  font-weight: 700;
  font-size: 110%;
}
.bt_line {
  border-bottom: 1px solid #CCC;
  padding-bottom: 10px;
  margin-bottom: 10px;
}

.genre .type_ex {
  margin-bottom: 20px;
}


.genre_ex ul li {
	box-shadow: 0 0 10px -5px rgba(0, 0, 0, 0.3);
	padding:5px 5px 10px 5px;
	margin-bottom:15px;
	background-color:#FFF;
}

.genre_ex ul li h3 {
  color: #fff;
	text-align:center;
	font-size:18px;
	font-weight:700;
	line-height:1.6;
	background-color:#036eb8;
	padding:10px 10px 15px;
}

.genre_ex ul li h3 span {
	color:#036EB8;
	font-size:20px;
	display:inline-block;
	border-bottom: 1px solid #036EB8;
	margin-bottom:5px;
}

.genre_ex ul li p {
    padding: 20px 15px 15px;
  margin-bottom: 0;
}


/* maker --------------------*/

.series_list  ul li>p,
.series_list  ul li>div{
display: block;
}

.series_list  ul li>p {
  width: 35%;
  background: none;
  text-align: center;
  padding: 10px;
}

.series_list  ul li>p img {
  border-radius: 10px;
}

.series_list  ul li>div {
  width: 65%;
  padding: 5px;
  margin: 0;
}

.series_list  ul li>div h3,
.series_list  ul li>div ul{
  display: block;
}

.series_list  ul li>div h3{
width: 100%;
background: none;
text-align: left;
}

.series_spec tr,
.series_spec td {
  text-align: center;
}

.series_spec th {
  white-space: nowrap;
}

#content .about_item .series_spec {
  margin-bottom: 0;
}

.about_item .series_spec td {
  text-align: left;
}

.genre .genre_feature_img {
  height: 92px;
  text-align: center;
}

.genre .genre_feature_img img {
  height: 92px;
  border-radius: 10px;
}

.genre .genre_feature_img.star {
  font-size: 14px;
  font-weight: 700;
  border-radius: 10px;
  background-color: #F5F5F5;
  padding: 15px;
}

.genre .genre_feature_img.star img {
  height: 40px;
  border-radius:0;
  padding-bottom: 5px;
}



/* item ------------------*/

.about_item {
  background-color: #FFF;
  margin: 20px 0;
  padding: 10px;
box-shadow: 0 0 10px -5px rgba(0, 0, 0, 0.3);
}

.cause_list li {
  border: solid 1px #DFDFDF;
  padding: 10px;
  margin: 15px 0;
}

.cause_list li h3 {
  color: #FFF;
  background-color: #036EB8;
  padding: 5px;
  margin-bottom: 10px;
}


/* notfound---------------------------*/

.notfound {
background-color: #FFF;
  border-radius: 5px;
  padding: 10% 2% 5%;
  margin: 0 0 20px;
  text-align: center;
}

.img404 img {
  width: 120px;
  padding-bottom: 20px;
}

.notfound_title {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
  margin: 0 auto 5px;
}



/* iframe ----------------------------*/

iframe#topics {
	width:100%;
	margin:10px 0;
}


/* contact ---------------------------------*/



/* common parts ----------------------*/




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

/* pc style ---------------------------------*/

/* main --------------------*/

.main {
	background-color:#FFEF5C;
	padding:30px 0;
}

.main_inner {
	width:1110px;
	margin:0 auto;
	position:relative;
padding-top: 10px;
}


/* .mainTop */

.mainTop {
	background-image: url(../img/mainTop_bg.png);
	background-size:auto 468px;
	padding-bottom:0;
	height:468px;
	min-width:1110px;
}

.logomark img {
	width:112px;
}

.mainTop h1 {
	font-size:21px;
	line-height:2.2;
	margin:0px 0 10px;
}

.mainTop h1 span {
	font-size:22px;
}

.mainTop h1 > img {
padding-top: 20px;
}

.satis img {
	width:354px;
}

.number {
	position:absolute;
	top:20px;
	left:0;
}

.number img {
	width:160px;
}

.main_ex {
text-align: center;
margin-top: 30px;
} 

.main_ex a {
display: inline-block;
width: 236px;
margin: 8px;
}

.main_japan img {
	width:210px;
	padding-top: 0;
	position: absolute;
	top: 0;
	right: 0;
}



/* mainM */


.mainM {
	padding:0;
}

.mainM .main_inner {
	width:845px;
	background-size:256px auto;
	padding-top:60px;
	min-height: 160px;
}

.company .mainM .main_inner {
	width:790px;
	background-size:256px auto;
}

.mainM h1 {
	font-size:42px;
	margin-bottom:20px;
}

.mainM h1 span {
	font-size:16px;
	padding-left:20px;
	vertical-align:middle;
}

.mainM p {
	font-size:20px;
	padding-bottom:40px;
}

.mainM p span {
	font-size:14px;
}


/* mainL */

.mainL {
	padding:0;
	text-align:left;
}

.mainL .main_inner {
	background-image: url(../img/first/mainFirst_bg_pc.png);
	background-position: right bottom;
	background-size:600px 278px;
	padding:30px 0 20px 55px;
	width:1110px;
	height: 278px;
}

.contractor .mainL .main_inner {
	background-image: url(../img/contractor/mainContractor_bg.png);
	padding-bottom:10px;
	background-size: 770px 278px;
}

.type .mainL .main_inner {
	background-image: url(../img/type/mainType_bg.png);
	padding-bottom:50px;
	background-size: 770px 278px;
}

.mainL .main_inner > h1 {
	font-size:25px;
	line-height:1;
	padding-bottom:0px;
	margin-bottom:10px;
	background-image: url(../img/mainL_line.png);
	background-repeat: no-repeat;
	background-position: left 7.5em center;
	background-size:48px 3px;

}

.type .mainL h1 {background-position: left 8.5em center;}
.contractor .mainL h1 {background-position: left 6.5em center;}

.mainL p {
	font-size:34px;
	font-weight:700;
	margin-bottom:0;
	padding-bottom:10px;
	line-height:1.4;
}

.mainL p span {
	font-size:20px;
	font-weight:normal;
}

.contractor .mainL p span {
	font-size:15px;
	display:inline-block;
	line-height:1.8;
}


.mainL_bu {
	text-align:left;
}

.contractor #content .mainL_bu a {
	padding:15px 40px 18px 30px;
}


.mainL .satis_badge {
	position:absolute;
	left:auto;
	right:44px;
	top:33px;
	padding-bottom:0;
}


.satis_badge img {
	width:162px;
}

/* mainFaq */

.mainFaq {
	padding-bottom:100px;
}

.mainFaq h1 {
	background-position: left top;
	background-size:104px 80px;
	font-size:48px;
	font-weight:900;
	line-height:1;
	text-align:center;
	margin: 10px auto;
	width:530px;
	padding:20px 0;
}

.mainFaq p {
	font-size:20px;
}

.mainFaq p span {
	font-size:16px;
}

  
/* main genre */
  
.genre .main {
	background-image: url(../img/mainGenre_bg.png);
	background-size:auto 300px;
	padding-bottom:0;
	min-width:1110px;
background-repeat: no-repeat;
background-position: center bottom;
}

.genre .mainL .main_inner {
	background: none;
  padding: 30px 0;
  height: auto;
width: 580px;
  text-align: center;
}

  .mainL .title {
  border: solid 5px #E7E7E7;
  border-radius: 20px;
  padding: 15px 15px 10px;
  margin: 0 10px 20px;
}
  .mainL .title .title_fuki,
  .mainL .title .title_fuki span{
    font-size: 28px;
  }
   .mainL .title .title_fuki{
border-radius: 10px;
padding: 10px;
  }

  .genre .mainL h1 {
    background: none;
    font-size: 41px;
  }
  
 #content p.bu_lead {
  font-size: 23px;
   font-weight: 700;
}
  


/* toppage -----------------*/

/* heading ---*/

.top h2 {
	font-size:30px;
	margin-bottom:30px;
}

.top h2 span {
	display:block;
	color:#0059A2;
	font-size:24px;
}



/* step ---*/

.top .step {
	padding:30px 0 50px;
}

.top .step h2,
.top .contact h2 {
	font-size:27px;
	margin-bottom:20px;
	line-height:1.4;
}

.top .step h2 span,
.top .contact h2 span {
	background-color:#005FA3;
	display:inline-block;
	padding:3px 12px 5px;
	color:#FFF;
	margin:0 5px 5px 0;
}

.top .step h2 span {
background-color: #FF6100;
}

.top ul.step_list,
  .genre ul.step_list {
	width:1110px;
	margin:0 auto;
}

.top ul.step_list li,
  .genre ul.step_list li {
	width:350px;
	float:left;
	background-color:#FFF;
	border-radius:10px;
	text-align:center;
	padding-bottom:30px;
	margin:0 0 50px 30px;
	position:relative;
}

.top ul.step_list li:first-child,
  .genre ul.step_list li:first-child {
	margin-left:0;
}

.top ul.step_list li:after,
  .genre ul.step_list li:after {
  top: calc(50% - 8px);
  right: -40px;
	left:auto;
  border-top: 16px solid transparent;
  border-right: 16px solid transparent;
  border-bottom: 16px solid transparent;
  border-left: 16px solid #0059A2;
}

.top .hosyo ul.step_list li,
  .genre .hosyo ul.step_list li{
	background-image: linear-gradient(-45deg, #0059A2 30px, transparent 0);
}

.top .hosyo ul.step_list li:after,
  .genre .hosyo ul.step_list li:after{
	display:none;
}

.top .hosyo ul.step_list li:after,
  .genre .hosyo ul.step_list li:after {
	content:"";
	display: block;
	width:5px;
	height:5px;
	border-top:1px solid #FFF;
	border-right:1px solid #FFF;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	right: 12px;
	bottom: 12px;
	top: auto;
}

.top ul.step_list li h3,
  .genre ul.step_list li h3{
	font-size:20px;
	margin:20px 0px 5px;
}

/* satis ---*/
.satis_inner {
  border-radius: 10px;
  padding: 30px;
  width: 1110px;
  margin: auto;
}



/* faq ---*/

#faq > div {
	width:1110px;
	margin:0 auto;
}

#faq ul {
	float:left;
	width:540px;
}

#faq > div ul:nth-child(2n) {
	float:right;
}

#faq li {
	border-radius:10px;
	padding:5px;
	margin-bottom:15px;
}

#faq li h3,
#faq li p {
	padding:20px 0 20px 50px;
	background-position: 20px 25px;
	background-size:18px;
}

#faq li h3 {
	font-size:20px;
	padding-right:25px;
}

#faq li p {
	padding-right:10px;
}


#faq li h3:before {
    right:14px;
    width:2px;
    height:14px;
    margin-top:-6px;
}

#faq li h3:after {
    right:8px;
    width:14px;
    height:2px;
    margin-top:0px;
}

#faq > p {
margin: 40px 0 0;;
}

/* type ---*/

#type ul {
	margin:0 auto 50px;
}

#type ul li,
#type ul li:nth-child(odd) {
	border-radius:10px;
	font-size:20px;
	width:240px;
	height:240px;
	margin:0 0 0 50px;
	background-image: linear-gradient(-45deg, #0059A2 30px, transparent 0);
}

#type ul li:nth-child(1){
	margin-left:0;
}



#type ul li:after {
	content:"";
	display: block;
	width:5px;
	height:5px;
	border-top:1px solid #FFF;
	border-right:1px solid #FFF;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	right: 12px;
	bottom: 12px;
}

#type ul li img {
	margin-bottom:15px;
}


/* about ---*/

#about ul {
	width:1170px;
	margin:0 auto;
	display:table;
	 border-collapse: separate;
	 border-spacing: 30px 0;
}


#about li {
	display:table-cell;
	width:540px;
	border: 3px solid #FFB83B;
	padding:20px 40px;
	vertical-align:top;
}


#about li h3 {
	text-align:left;
	font-size:20px;
	margin-bottom:20px;
}


/* contact ---*/

section.contact {
	padding-bottom:60px;
}

section.contact h2 {
	width:890px;
	margin: auto;
	text-align: left;
}

.contact_inner {
	background-size:240px auto;
	background-position: bottom right;
	padding-bottom:0;
	width:890px;
	margin:0 auto;
}

.contact_inner dl {
	border-radius:10px;
	padding:20px;
	margin-bottom:0px;
	width:590px;
	float:left;
}


.contact_inner dl * {
	text-align:center;
}

.contact_inner dl dt {
	font-size:22px;
}

.contact_inner dl dd {
	font-size:16px;
}

.contact_inner dl:after {
  content: "";
  position: absolute;
  left: 100%;
	top:calc(50% - 10px);
  bottom: auto;
  border-top: 15px solid transparent;
  border-right: 15px solid transparent;
  border-bottom: 15px solid transparent;
  border-left: 15px solid #FFEF5C;
	width:0;
	height:0;
}

.top_contact_bu {
margin-bottom: 0;
}

#content .contact .or_bu {
font-size: 24px;
}




/* formpage -----------------*/

 .bei_pt_bg_r.form .inner_box {
width: 900px;
 }
.form .b_line {
	margin-bottom:50px;
}


.form dt,
.form dd {
	vertical-align:top;
}

.form dt {
	padding-top:30px;
}


.form select {
	padding:8px;
	width:100%;
}


.form textarea {
	padding:18px;
}


input[type="text"] {
	padding:18px;
}


.buttons {
	text-align:center;
	padding:50px 10px 10px;
}

.buttons button {
	padding:15px;
	font-size:18px;
}

.bei_pt_bg_r.thanks p {
text-align: center;
}

  .form_more_area {
  text-align: center;
  margin-top: 20px;
  padding: 20px 40px;
  border: solid 1px #E9E9E9;
}

  
/* first page -------------- */

section.nationwide {
	width:1110px;
	margin:0 auto;
	padding:45px 0 60px;
}

.nationwide p:first-of-type {
	font-size:20px;
	margin-bottom:30px;
}

.nationwide p:nth-of-type(3) {
	font-size:27px;
	font-weight:700;
	margin:30px 0;
}

.wide {
	width:1110px;
	background-repeat: repeat-y;
	background-position: center center;
	background-size:1px;
}

.wide img {
	width:520px;
	padding:10px 10px 10px 40px;
	box-sizing:content-box;
}

.wide img:first-child {
	padding:0px;
}

/* matching  */

section.matching {
width: 1110px;
padding:20px 0 60px;
margin: auto;
}
  
  .genre section.matching {
    width: 100%;
    padding-top: 45px;
  }
  
  .advi_match img{
    width: 450px;
  }
  
  .genre section.matching > p {
    text-align: center;
    padding-top: 10px;
  }

  .genre section.matching > div {
width: 1110px;
margin: 50px auto 0;
  }
  
.matching > div {
margin: 40px auto 60px;
}

.matching > div > div {
width: 512px;
float: left;
}

.matching > div > div.protta_match {
width: 598px;
padding: 0 0 0 86px;
	background-image: url(../img/first/matching_arrow_pc.png);
    background-repeat: no-repeat;
    background-position: 15px 60%;
    background-size: 64px 52px;
	margin-top: 0px;
}


.matching h3 {
font-size: 24px;
}


.matching dl {
border-radius: 20px;
padding: 20px 30px 30px;
}

  .genre .matching dl {
border-radius: 10px;
padding: 15px;
}
  
.matching dt {
    background-size: 40px auto;
	padding-left: 50px;
	margin-bottom: 8px;
	font-size: 20px;
}

  .genre .matching dt {
  font-size: 20px;
  padding: 5px 0 10px 50px;
}
  
.matching dd {
font-size: 18px;
}




/* flow */
.first_flow {
	background-image: url(../img/first/first_flow_bg_pc.png);
	background-size:auto;
	padding-bottom:80px;
}

.first_flow ul {
	border-radius:10px;
	padding:30px;
	width:1110px;
	margin: 0 auto;
}

.first_flow ul li {
	text-align:left;
	margin-bottom:65px;
	padding-left:30px;
	display:table;
	width:100%;
}


.first_flow ul li:after {
	bottom:-65px;
	left:0;
	height:65px;
	background-size:44px 20px;
}

.first_flow ul li p:first-child {
	font-size:28px;
	border:none;
	padding:30px 25px 0 0;
	line-height:1;
	width:75px;
	display:table-cell;
	vertical-align:top;
}

  .genre .first_flow ul li p:first-child {
	padding:0 25px 0 0;
	vertical-align:middle;
}
.first_flow ul li p:first-child:after {
  content: "";
	position:absolute;
	display:block;
	top:34px;
	left:90px;
	width:2px;
	height:24px;
	background-color:#036EB8;
}
  .genre .first_flow ul li p:first-child:after {
	top:calc(50% - 12px);
    left: 70px;
}

.first_flow ul li > div {
	padding:28px 20px 20px 0;
	width:520px;
	display:table-cell;
	vertical-align:top;
}
  .genre .first_flow ul li > div {
	padding:0 20px 0 0;
	display:table-cell;
	vertical-align:middle;
}
  
.first_flow ul li h3 {
	font-size:22px;
	line-height:1.4;
	margin-bottom:10px;
}

  .genre .first_flow ul li h3 {
	margin-bottom:0px;
}

.first_flow ul li p.first_flow_img {
	padding:20px 0;
	vertical-align:middle;
	display:table-cell;
	width:426px;
}

p.first_flow_lead {
	font-size:28px;
	padding:30px 0;
	line-height:1.4;
}


section.first_feature ul {
	width:1140px;
	margin:0 auto;
	font-size: 0;
	text-align: center;

}


.first_feature ul li {
	box-shadow: 0 0 10px -5px rgba(0, 0, 0, 0.3);
	padding:5px;
	margin:0 15px 48px;
	width: 350px;
	display: inline-block;
	vertical-align: top;
}


.first_feature ul li h3 {
	font-size:30px;
	padding:25px 10px 20px;
}


.first_feature ul li h3 span {
	font-size:20px;
}

.first_feature ul li > div p {
font-size: 16px;
}

section.hosyo ul {
width: 1110px;
}

.hosyo ul li {
	width: 100%;
	display: block;
	margin:0 0 48px;
}

.hosyo ul li h3,
.kiki ul li h3{
	font-size:30px;
	line-height:1;
	padding:35px 10px 30px;
	margin-bottom:10px;
}

.kiki ul li h3{
	padding:15px 10px;
	margin-bottom:10px;
}

.hosyo ul li h3 span {
	font-size:34px;
	border:none;
	border-right: 2px solid #036EB8;
	padding-right:10px;
	margin-right:10px;
	vertical-align:top;
}

.hosyo ul li > div {
margin: 30px 30px 15px;
}

.hosyo ul li > div > p {
	float:left;
	width:440px;
}

.hosyo ul li > div > div {
	width:566px;
	float:right;
}

.hosyo ul li > div > div p,
.kiki ul li > div p{
text-align: left;
	font-size:16px;
}

.hosyo ul li > div > div p {
	border-bottom: 1px solid #D1CFCE;
	padding-bottom: 10px;
}

.kiki {
width: 1110px;
margin: auto;
padding: 45px 0 60px;;
}

section.kiki ul {
width: 1110px;
margin-top: 40px;
}

.kiki ul li {
	width:525px;
	margin: 0 0px 48px;
}

.kiki ul li:last-child {
margin-left: 60px;
}

.notice_title {
font-size: 18px;
}

.notice_title img {
width: 27px;
}


.payment > p {
	font-size:20px;
}

.payment ul {
	width:1110px;
	margin:30px auto;
}

.payment li {
	margin:0 0 40px;
	padding:40px;
}

.payment li > p {
width: 260px;
float: left;
}

.payment li > div {
width: 730px;
float: right;
}

.payment li h3 {
font-size: 30px;
margin-bottom: 10px;
}

.payment li > div p {
margin-bottom: 5px;
}





.estimate_flow_inner {
	width:1110px;
	margin:0px auto;
	background-image: url(../img/first/first_estimate_flow_bg.png);
	background-position: calc(50% - 350px) calc(100% - 35px), center bottom;
	background-size:500px 332px, auto auto;
	padding-bottom:90px;
}

.estimate_flow_inner > p {
	font-size:20px;
}

.estimate_flow ul {
	margin:30px auto;
}

.estimate_flow ul li > p {
width: 380px;
float: left;
}

.estimate_flow ul li > div{
width: 620px;
float: right;
}

.estimate_flow_inner > ul > li h3 {
font-size: 28px;
}

.estimate_flow_inner > ul > li ul {
margin: 20px 0;
}

.estimate_flow_inner > ul > li ul li {
padding-left: 10px;
line-height: 1.4;
margin-bottom: 10px;
font-size: 18px;
}

.estimate_flow_inner > ul > li ul li:before {
  content: '';
  position: absolute;
background-color: #036EB8;
  height: 5px;
  width: 5px;
  top: 9px;
  left: 0;
}



.fuki {
	box-shadow: 0 0 10px -5px rgba(0, 0, 0, 0.3);
	border-radius:10px;
	padding:25px 40px 15px;
	margin:0 0 0 440px;
}

.fuki:after {
  bottom: auto;
	top:45%;
  left: -40px;
  width: 0;
  height: 0;
  border-top: 20px solid transparent;
  border-right: 20px solid #FFF;
  border-bottom: 20px solid transparent;
  border-left: 20px solid transparent;
}

.fuki h3 {
	font-size:28px;
	margin-bottom:5px;
}

.fuki > p:first-of-type{
	font-size:20px;
}



section.pro {
	padding:45px 0px 60px;
}

.pro h2 + p {
	font-size:20px;
	margin-bottom:50px;
}


.first_pro {
	width:890px;
	padding:50px 20px 5px;
	margin: 0 auto 50px;
}

.first_pro > p:first-child {
	width:790px;
	margin:0 auto 30px;
}

.first_pro > div {
	width:850px;
	margin:0 auto;
	display:table;
	border-collapse: separate;
	border-spacing: 30px 0;
	table-layout:fixed;
}

.first_pro > div p {
	display:table-cell;
	width:380px;
	background-color:#FFF;
	position:relative;
	border-radius:10px;
	vertical-align:top;
	padding:15px 30px;
}

.first_pro > div p:before {
  content: '';
  display: inline-block;
  position: absolute;
  top: -32px;
  left: calc(50% - 16px);
  width: 0;
  height: 0;
  border-top: 16px solid transparent;
  border-right: 16px solid transparent;
  border-bottom: 16px solid #FFF;
  border-left: 16px solid transparent;
}


/* contractor -----------------------------*/
.urgent_area {
  padding: 30px;
}
.urgent {
  font-size: 28px;
  padding: 20px;
  /*margin: 50px 0 70px;*/
}
.urgent .mark {
  display: inline-block;
  border-radius: 10px;
  margin-bottom: 0;
  margin-right: 20px;
  padding: 5px 20px 8px;
  background-color: #ff6100;
  color: #fff;
  position: relative;
}

.urgent .mark:after {
  top:calc(50% - 8px);
  left: 100%;
  border-top: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 8px solid #ff6100;
}

#type {
  width: 1110px;
   margin: auto;
  padding-left: 0;
  padding-right: 0;
  }
  
.match h2 + p {
	font-size:20px;
	margin-bottom:50px;
}

.hearing h2 + p {
	font-size:20px;
	margin-bottom:20px;
}

.hearing > div:first-of-type {
	background-color: #FFEF5C;
	border-radius: 15px;
	padding: 45px 115px 65px;
	margin: 0 auto 50px;
	background-image:none;
	position:relative;
	width:1110px;
}

.hearing > div > p {
	width:880px;
	margin:0 auto 30px;
}

.hearing .fuki {
	margin: 0 0 0 300px;
	padding:25px 60px;
}

.hearing .fuki p {
	font-size:24px;
}

.hearing > div > p.hearing_img {
	position:absolute;
	bottom:0;
	left:20px;
	margin:0;
}

#content div.two_bu {
	width:652px;
	margin:auto;
}

#content div.two_bu > p {
	width:280px;
	/*float:left;*/
	margin:23px auto;
}

#content div.two_bu > p a.bu180 {
	width:100%;
	padding: 25px 40px 28px 30px;
}

.contra_hosyo h2 + p {
	font-size:20px;
}

.contractor .hosyo {
	width:1110px;
	border-radius: 15px;
	padding:75px 69px 30px;
	margin:80px auto 20px;
}

.contractor .hosyo.no {
}

.contractor .hosyo dt {
	border-radius: 10px;
	width:70%;
	font-size:24px;
	padding:5px 0;
	margin:-100px auto 10px;
}

.contractor_support ul {
	width:1110px;
	margin: 40px auto 0;
}

.contractor_support ul li {
	width:350px;
	float:left;
	padding:5px;
	margin:0 30px 0 0;
}
  
  .contractor_support ul li p {
    padding: 5px 10px 10px;
  }
  .contra_regi ul li {
	width:250px;
	height: 400px;
	padding:5px;
	margin:0 36px 0 0;
}
.contra_regi ul li:not(:last-child):after {
top: calc(50% - 8px);
    right: -40px;
    left: auto;
    border-top: 16px solid transparent;
    border-right: 16px solid transparent;
    border-bottom: 16px solid transparent;
    border-left: 16px solid #0059A2;
}
.contractor_support ul li:last-child {
	margin-right:0;
}

.contractor_support ul li h3 {
	font-size:24px;
	padding:15px 10px 25px;
	margin-bottom:20px;
}
  
.contractor_support ul li h3 span {
	font-size:34px;
	margin-bottom:5px;
	border-bottom: 2px solid #036EB8;
}

  .contra_regi ul li h3 {
	font-size:21px;
}

  .contractor .first_flow {
background-image: none;
padding: 45px 45px 60px;
  }

.const_flow_inner {
width: 1110px;
margin: 0px auto;
padding: 50px 0;
background-image: url(../img/contractor/contractor_hearing_bg.png);
background-size: 414px auto;
background-repeat: no-repeat;
background-position: left bottom;
}

.contractor .first_flow ul {
margin: 40px auto 50px;
}


.const_faq ul {
  margin-bottom: 30px;
}



/* type -----------------------------------*/

.type_list {
	background-position: calc(50% - 320px) calc(100% - 0px);
	background-size:580px auto;
	padding-bottom:40px;
}

/*page link*/
.type_list_link {
width: 1110px;
margin: 20px auto 40px;
padding: 0 10px;
font-size: 0;
	text-align: center;
}
.type_list_link li {
border-left: 1px solid #000;
	text-align: center;
	display: inline-block;
	line-height: 1.2;
}

.type_list_link li:last-child {
	border-right: 1px solid #000;
}


.type_list_link li a {
display: block;
	padding:0px 10px;
color: #000;
	text-decoration: underline;
}
.type_list_link li a:hover{
text-decoration: none;
color: #333;
}
/*page link end*/

.type_list_inner {
	width:1110px;
	margin:0px auto;
}

.type_list_inner > ul > li {
	padding:40px;
	margin-bottom:40px;
}

.type_img {
	width:260px;
	float:left;
}
  
  .genre .type_img {
	width:200px;
}

.type_img img {
	width:260px;
}

  .genre .type_img img {
	width:200px;
}
  
.type_tx {
	width:720px;
	float:right;
}
  
  .genre .type_tx {
	width:790px;
    border-top: solid 1px #E0E0E0;
    border-bottom: solid 1px #E0E0E0;
    font-size: 18px;
    height: 200px;
    padding: 10px 0 0;
}

.type_list_inner h2 {
	text-align:left;
	font-size:30px;
}

.type_tx h3 {
	font-size:14px;
}

.type_tx h3 span {
	font-size:20px;
}

.type_tx ul {
	padding:10px 0;
}

.type_tx ul li {
	display:inline-block;
}

.type_tx ul li:nth-child(n+2) {
	border-top: none;
	border-left: 1px solid #CCC;
	margin-left:20px;
	padding-left:20px;
}

.type_ex {
  display: flex;
  justify-content: space-between;
  padding: 0px;
}

.type_ex dl {
width: 505px;
padding: 30px;
border: 1px solid #CCC;
}


.type_ex dt {
font-size: 18px;
padding: 1px 10px 3px;
}

.type_ex dd {
	padding-bottom: 15px;
	font-size: 16px;
}

.type_ex dd:first-of-type {
font-size: 14px;
}

.type_ex dd:last-child {
font-size: 18px;
}


.change_case {
padding: 30px;
margin: 70px 0 50px;
}

.change_case h2 {
text-align: center;
font-size: 28px;
line-height: 1.4;
padding: 0 0 20px 0px;
}

.change_case ul {
padding: 10px 30px 30px;
}

.change_case ul li,
.genre .matching dd ul li {
	padding: 18px 0 8px 15px;
float: left;
width: 400px;
font-size: 18px;
margin-right: 45px;
}
  
  .genre .matching dd ul li {
float: none;
width: 100%;
margin-right: 0;
    	padding: 13px 0 13px 15px;
}

.change_case ul li:nth-child(2n) {
width: 545px;
margin-right: 0px;
}


.change_case ul li:before,
.genre .matching dd ul li:before {
  top: 30px;
  left: 0;
}

  .genre .matching dd ul li:before {
  top: 25px;
}


.type .fuki {
	border-radius:10px;
	padding:25px 40px 15px;
	margin:0 50px 0 520px;
}

.type .fuki p {
	font-size:24px;
}


/* faq ------------------------------------*/

body.faq #faq {
	text-align:center;
	padding-bottom:0;
}

body.faq #faq > div {
	width:100%;
	margin:0 auto;
}

body.faq #faq ul {
	float:none;
	width:1110px;
	margin:30px auto;
}

body.faq #faq > div ul:nth-child(2n) {
	float:none;
}

.tab_item {
	width:270px;
	height:54px;
	font-size:18px;
	padding:18px 0 0;
	margin-right:10px;
	text-align:center;
	vertical-align:bottom;
}

.tabs .tab_item:last-of-type {
	width:270px;
	margin-right:0;
}

.tabs input:checked + .tab_item,
.tab_item:hover {
	height:70px;
	padding:28px 0 0;
}


/* company ---------------------------*/

/* company page-------------------*/

.company .bei_pt_bg_r .inner_box {
	width:1110px;
	padding:50px 100px;
}

.name_concept {
margin: 0 0 40px;
padding: 50px;
border: 50px solid #F4F4F4;
}

.name_concept p {
text-align: center;
font-size: 20px;
margin-bottom: 40px;
}

.name_concept p:first-of-type img {
width: 350px;
}

.mark_concept {
width: 648px;
padding: 0 0 10px 10px;
margin: 50px auto 0;
}

.mark_concept p {
float: right;
width: calc(100% - 120px);
text-align: left;
font-size: 18px;
margin-bottom: 0;
}

.mark_concept p:first-child {
float: left;
width: 100px;
}



.company .form dl {
	margin-top:30px;
}

.company .form dt {
	padding:30px 10px 0;
	width:210px;
}

.company .form dd {
	width:700px;
}




/* iframe ----------------------------*/

iframe#topics {
	margin:10px 0 20px;
}



/* genre ---------------------*/

.genre_lead,
  .maker_list_lead{
  padding: 20px;
  text-align: center;
}

  .maker_list {
    width: 1110px;
    margin: auto;
    padding: 45px 0 60px;
  }

  .maker_list ul {
    display: flex;
    flex-wrap: wrap;
    justify-content:space-between;
    border: none;
  }
  
  .maker_list ul li {
    width: 545px;
    border-top: solid 1px #DFDFDF;
    margin-bottom: 20px;
  }

  .maker_list ul li *{
    font-size: 18px;
    padding: 15px;
  }  

  .genre_feature {
text-align: center;
  }

  .genre section.nationwide {
    width: 100%;    
  }

  .genre .first_flow {
  padding-bottom: 60px;
}

.genre_ex ul {
	width:1110px;
	margin: 30px auto 0;
  display: flex;
  gap:30px;
  flex-wrap: wrap;
  justify-content: center;
}
  
  .two ul {
	width:730px;
  }

.genre_ex ul li {
	width:350px;
	padding:5px;
	margin:0 0 30px 0;
}
  
  .genre_ex ul li h3 {
    font-size: 22px;
    padding: 13px 10px 18px;
  }
  .contra_regi ul li {
	width:250px;
	height: 400px;
	padding:5px;
	margin:0 36px 0 0;
}

/* maker --------------------*/

.series_list  ul li>p {
  width: 180px;
  padding: 15px;
}
  
.series_list  ul li>p img {
  padding: 0px;
}

.series_list  ul li>div {
  width: 360px;
  padding: 0;
  margin: 0;
}

.series_list  ul li>div h3{
width: 100%;
background: none;
text-align: left;
  padding: 10px 15px 0;
}
 .series_list  ul li>div ul {
   padding: 0 15px 10px;
  }
  .series_list  ul li>div ul li {
    width: 100%;
    border-top: none;
    margin-bottom: 0px;
   padding: 0;
  }
 .series_list  ul li>div ul li a {
   padding: 5px 0;
  }
  #content .series_spec {
    width: 600px;
    margin: 0 auto;
  }
.series_spec th,
.series_spec td {
  font-size: 18px;
}

  .genre .kiki ul li {
    height: auto;
    min-height: 450px;
    margin-bottom: 20px;
  }

  .genre .kiki ul li h3 {
    font-size: 26px;
  }
  .genre .genre_feature_img {
  height: 170px;
  text-align: center;
}

.genre .genre_feature_img img {
  height: 170px;
  border-radius: 10px;
}

.genre .genre_feature_img.star {
  font-size: 26px;
  font-weight: 700;
  border-radius: 10px;
  background-color: #F5F5F5;
  padding: 20px;
}

.genre .genre_feature_img.star img {
  height: 75px;
  border-radius:0;
  padding-bottom: 10px;
}
  
  .genre .type_ex > div {
    width: 505px;
    padding: 0px 30px 20px;
    border: 1px solid #CCC;
  }
  

  .genre .cms_estimate .type_ex dd:last-child {
    font-size: 16px;
  }

  .genre .type_ex {
  margin-bottom: 40px;
}
  .cms_flow ul li p.first_flow_img {
	padding:0;
}

  
/* item ------------------*/

.about_item {
  width: 1110px;
  margin: 40px auto;
  padding: 20px 60px 40px;
}

  .about_item >div > p {
    float: left;
    width: 450px;
  }
  #content .about_item >div > .series_spec {
    float: right;
    width: 515px;
    height: 295px;
  }
  
  .cause_list_inner {
  width: 1110px;
  margin: 40px auto;
    padding: 20px 50px;
    background-color: #F5F5F5;
}

  .cause_list li {
    background-color: #FFF;
  border: solid 2px #DFDFDF;
  padding: 20px;
  margin: 30px 0;
}

.cause_list li h3 {
  text-align: center;
  font-size: 20px;
  padding: 5px;
  margin-bottom: 20px;
}
  
  .cause_list li .cause_img {
    width: 400px;
    float: left;
    margin-bottom: 20px;
  } 
  .cause_list li .cause_tx {
    width: 540px;
    float: right;
    margin-bottom: 20px;
  } 

  
  /* notfound---------------------------*/

.notfound {
    border-radius: 15px;
    padding: 65px 30px;
    margin: 0 auto 50px;
    width: 1110px;
  }

.img404 img {
  width: 230px;
  padding-bottom: 50px;
}

.notfound_title {
  font-size: 30px;
    margin-bottom: 20px;
}


/* contact ---------------------------------*/





}