@charset "utf-8";
.img_ttl{
position: absolute;
	top: -80px;
	right: 0;
}
@media screen and (max-width: 767px) {
	.img_ttl{
		width: 100px;
	top: -20px;
	right: 10px;
}

}
/*----------------title-------------------*/
.bg_ttl{
	background-size: cover !important;
	padding: 100px 0;
	color: #fff;
	background:url("../img/policy/bg_ttl.jpg") center top no-repeat;
}
@media screen and (max-width: 767px) {
.bg_ttl{
	padding: 35px 15px;
	height: auto;
}
}
.bg_ttl_surety{
	background:url("../img/surety/bg_ttl.jpg") center top no-repeat;
}

.bg_ttl_blog{
	background:url("../img/blog/bg_ttl.jpg") center top no-repeat;
}

.bg_ttl_contact,.bg_ttl_confirmation,.bg_ttl_thanks{
	background:url("../img/contact/bg_ttl.jpg") center bottom no-repeat;
}

.bg_ttl_privacy{
	background:url("../img/policy/bg_ttl.jpg") center top no-repeat;
}

.bg_ttl_about{
	background:url("../img/about/bg_ttl.jpg") center bottom no-repeat;
}

.bg_ttl_price{
	background:url("../img/price/bg_ttl.jpg") center top no-repeat;
}

.bg_ttl_faq{
	background:url("../img/faq/bg_ttl.jpg") center top no-repeat;
}
.bg_ttl_policy{
	background:url("../img/policy/bg_ttl.jpg") center top no-repeat;
}
.bg_ttl_flow{
	background:url("../img/flow/bg_ttl.jpg") center top no-repeat;
}
.ttl_main{
	padding:0 60px;
}
@media screen and (max-width: 767px) {
	.ttl_main{
	padding:0px;
}

}

.ttl_main > .en{
	font-size: 3rem;
	letter-spacing:4px;
	text-transform: uppercase;
}
@media screen and (max-width: 767px) {
	.ttl_main > .en{
	font-size: 1.8rem;
}
}
.ttl_main > .ja{
	font-size: 5rem;
	letter-spacing: 3px;
	font-weight: bold;

}
@media screen and (max-width: 767px) {
	.ttl_main > .ja{
	font-size: 2.6rem;

}
}



/*------------------------service-----------------------*/
.flow {
  border: 3px solid #F39801;
}
.flow > li {
  padding: 30px;
}
@media screen and (max-width: 767px) {
.flow > li {
  padding: 20px;
}
}
.flow > li:not(:last-child) {
  border-bottom: 3px solid #F39801;
  position: relative;
}

.flow > li:not(:last-child)::before,
.flow > li:not(:last-child)::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 15%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.flow > li:not(:last-child)::before {
  border-width: 22px;
  border-top-color: #F39801;
}
.flow > li:not(:last-child)::after {
  border-width: 18px;
  border-top-color: #FFF5E5;
}
.flow > li dl {
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
	.flow > li dl {
  display:block;
}
}
.flow > li dl dt {
  font-size: 2rem;
  font-weight: 600;
  color:#F39801;
  -ms-flex-preferred-size: 20%;
  flex-basis: 30%;
  margin-right: 1vw;
  text-align: center;
}
@media screen and (max-width: 767px) {
	.flow > li dl dt {
  font-size: 1.6rem;
		margin-bottom: 10px;
}
}
.flow > li dl dt .icon {
  font-size: 1.2rem;
  color: #fff;
  background: #F39801;
  padding: 5px 10px;
  margin-bottom: 10px;
  display: block;
  border-radius: 20px;
}
.bnr_02{
	padding: 0 20px;
}
@media screen and (max-width : 767px) {.bnr_02 {padding: 0;}
}
.bnr_02 > li{
	float: left;
	width: 18.4%;
	margin-right:2%;
	border:#ccc 1px solid;
	border-radius: 15px;
	padding: 10px;
}
@media screen and (max-width : 767px){
.bnr_02 > li{
	width: 49%;
	margin-right:2%;
	margin-bottom: 10px;
		padding: 5px;
}
	
}

.bnr_02 > li:last-child{
	margin-right:0;
}
@media screen and (max-width : 767px){
.bnr_02 > li:nth-child(2n){
	margin-right:0;
}
}
.bg_04{
	background:url("../img/top/character_3.png") 40px top no-repeat;
}
@media screen and (max-width : 767px) {
.bg_04{
	background:none;
}
}
.policy_list {
	background:#F39801;
	padding:15px;
	border-radius: 15px;
	color:#fff;
}
.policy_list li {
	padding-left:2em;
	text-indent:-2em;
	margin-bottom:10px;
}
.policy_list.txt_1 li {
	padding-left:1em;
	text-indent:-1em;
}

/*-----------------staff-------------------*/
.staff_list{
	display: flex;
	justify-content:center ;
	flex-wrap:wrap;
}
.staff_list > li{
	/*width: 33.333%;*/
	flex-basis: 33.333%;
	padding: 30px;
	box-sizing: border-box;
	position: relative;
}
@media screen and (max-width : 767px) {
	.staff_list > li{
	flex-basis: 100%;
	padding: 10px;
	position: relative;
word-break: break-all;
	}
}

.staff_list02{
	display: flex;
	justify-content:center ;
	flex-wrap:wrap;
}
.staff_list02 > li{
	/*width: 33.333%;*/
	flex-basis: 25%;
	padding: 20px;
	box-sizing: border-box;
	position: relative;
}
@media screen and (max-width : 767px) {
	.staff_list02 > li{
	flex-basis: 100%;
	padding: 10px;
	position: relative;
word-break: break-all;
	}
}
.name_box{
	position:absolute;
	bottom: 0;
	left: 0;
}
.name_box p{
	font-weight: bold;
	letter-spacing: 2px;
}
@media screen and (max-width : 767px) {
.name_box p{
	font-size: 1.2rem;
}
}
.name_box p span{
	background: rgba(255,245,229,0.8);
/*text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;*/
	padding: 5px 10px;
	border-radius: 10px;
}
.staff_dl{
	margin-bottom: 5px;
}
.staff_dl dt{
	float: left;
	width: 30%;
	color: #F39801;
	box-sizing: border-box;
	font-weight: bold;
}
.staff_dl dd{
	float: right;
	width: 70%;
	box-sizing: border-box;
}
.adana{
	position:absolute;
	bottom: 10px;
	left: 185px;
}
@media screen and (max-width : 767px) {
.adana{
	bottom: 50px;
	left: 65px;
}
}

/*-----------------------------------*/
input.day{
	width: 50% !important;
	margin-right: 15px;
}
.img_01{
	position: absolute;
	top:45%;
	left: -80px;
	width: 160px;
}
@media screen and (max-width : 767px) {
.img_01{
	position: absolute;
	top:175px;
	left: 5px;
	width: 80px;
}
}

/*--------------------------------*/
.flow_step {
padding-left: 120px;
position: relative;
}
.flow_step::before {
content: "";
width: 15px;
height: 100%;
background: #ddd;
margin-left: -8px;
display: block;
position: absolute;
top: 0;
left: 120px;
}
@media screen and (max-width : 767px) {
	.flow_step::before {
width: 15px;
left: 85px;
}
}
.flow_step > li {
position: relative;
}
.flow_step > li:not(:last-child) {
margin-bottom: 8vh;
}
.flow_step > li .icon {
font-size: 1.4rem;
color: #fff;
background: #F39801 ;
padding: 8px 20px;
display: block;
position: absolute;
top: 0;
left: -120px;
z-index: 100;
}
@media screen and (max-width : 767px) {
	.flow_step > li .icon {
font-size: 1.2rem;
padding: 8px;
}
}
.flow_step > li .icon::after {
content: "";
border-style: solid;
border-width: 5px 0 5px 10px;
border-color: transparent transparent transparent #F39801;
position: absolute;
top: 50%;
left: 100%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
.flow_step > li dl {
padding-left: 70px;
position: relative;
}
@media screen and (max-width : 767px) {
.flow_step > li dl {
padding-left: 0;
}
}
.flow_step > li dl::before,
.flow_step > li dl::after {
content: "" ;
display: block;
position: absolute;
top: 15px;
}
.flow_step > li dl::before {
width: 7px;
height: 7px;
margin-top: -3px;
background: #6b90db;
border-radius: 50%;
left: -4px;
}
@media screen and (max-width : 767px) {
.flow_step > li dl::before {
left: -39px;
}	
	
}

.flow_step > li dl::after {
width: 50px;
border-bottom: 1px dashed #999;
position: absolute;
left: 5px;
clear:none; 
    visibility: inherit;
    overflow: inherit;	
}
@media screen and (max-width : 767px) {
.flow_step > li dl::after {
width: 40px;
left: -40px;
}
}
.flow_step > li dl dt {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 20px;
}
.flow_step > li dl dd figure img{
	border: #ccc 1px solid;
}
.faq{
	border-bottom:#ccc 1px dotted;
	padding-bottom: 20px;
	margin-bottom: 20px;
}
.faq dt{
	position: relative;
	font-weight: bold;
	font-size: 1.8rem;
	letter-spacing: 1px;
	margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
	.faq dt{
	font-size: 1.5rem;
		text-indent: -2em;
		padding-left: 2em;
}
}
.faq dt::before{
	content: "Q.";
	color: #42a96b;
	font-size: 2rem;
	padding-right: 10px;
}
.faq dd{
	font-size: 1.6rem;
	padding-left: 30px;
}
@media screen and (max-width: 767px) {
.faq dd{
	font-size: 1.4rem;
	padding-left: 30px;
}
}
.ac{
	background: #fff;
	padding: 30px;
	border-radius: 15px;
	margin-bottom: 20px;
	box-sizing: border-box;
}
.ac dt{
	font-weight: bold;
	font-size: 2rem;
	letter-spacing: 1px;
	color: #42a96b;
	margin-bottom: 10px;
}
.ac dd{
	font-size: 1.6rem;
	letter-spacing: 1px;
}
.service_box01 > li{
	    border: #42a96b 2px solid;
    border-radius: 15px;
    overflow: hidden;
	float: left;
	width: 49%;
	margin-right: 2%;
	margin-bottom: 15px;
}
@media screen and (max-width : 767px) {
	.service_box01 > li{
	float: none;
	width: 100%;
	margin-right: 0;
	}
	.service_box01 > li:last-child{
	margin-bottom: 0;
}
}
.service_box01 > li:nth-child(2n){
	margin-right: 0;
}
.txt_box00{
	padding: 20px;
	background: #fff;
}
.service_box02 > li{
	    border: #42a96b 2px solid;
    border-radius: 15px;
    overflow: hidden;
	float: left;
	width: 32%;
	margin-right: 2%;
	margin-bottom: 15px;
}
@media screen and (max-width : 767px) {
.service_box02 > li{
	float: none;
	width: 100%;
	margin-right: 0;
}
.service_box02 > li:last-child{
	margin-bottom: 0;
}
.service_box02 > li img{
	width: 100%;
}	
}
.service_box02 > li:nth-child(3n){
	margin-right: 0;
}
.service_list > li{
	float: left;
	width: 25%;
	padding: 5px;
	box-sizing: border-box;
		
}
@media screen and (max-width : 767px) {
.service_list > li{
	float:none;
	width: 100%;
	padding: 2px;
	box-sizing: border-box;
		
}
}
.bg_05{
	background:url("../img/top/bg_01.webp") right top no-repeat;
	background-size: cover;
}
@media screen and (max-width : 767px) {
.bg_05{
	background:url("../img/top/bg_01.webp") right bottom no-repeat;
	background-size: cover;
}
}
.bg_05 .col_1_2 .right_area{
	background:rgba(66,169,107,0.8);
	padding: 40px;
	color: #fff;
	border-radius: 15px;
}
@media screen and (max-width : 767px) {
	.bg_05 .col_1_2 .right_area{
	padding:20px;
}

}

.flow {
  border: 3px solid #42a96b;
}
.flow > li {
  padding: 30px;
}
@media screen and (max-width : 767px) {
.flow > li {
  padding: 20px;
}
}
.flow > li:not(:last-child) {
  border-bottom: 3px solid #42a96b;
  position: relative;
}
.flow > li:not(:last-child)::before,
.flow > li:not(:last-child)::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 15%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.flow > li:not(:last-child)::before {
  border-width: 22px;
  border-top-color: #42a96b;
}
@media screen and (max-width : 767px) {
.flow > li:not(:last-child)::before {
  border-width: 14px;
}
}
.flow > li:not(:last-child)::after {
  border-width: 18px;
  border-top-color: #fff;
}
@media screen and (max-width : 767px) {
.flow > li:not(:last-child)::after {
  border-width: 10px;
}
}

.flow > li dl {
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media screen and (max-width : 767px) {
.flow > li dl {
  display: block;
}
}
.flow > li dl dt {
  font-size: 2rem;
  font-weight: 600;
  color: #42a96b;
  -ms-flex-preferred-size: 20%;
  flex-basis: 25%;
  margin-right: 1vw;
  text-align: center;
}
.flow > li dl dd {
  flex-basis: 75%;
	font-size: 1.5rem;
	line-height: 2;
}
.flow > li dl dt .icon {
  font-size: 12px;
  color: #fff;
  background: #42a96b;
  padding: 5px 10px;
  margin-bottom: 10px;
  display: block;
  border-radius: 20px;
}
.price{
	width: 100%;
	border-bottom: #ddd 1px solid;
	border-right: #ddd 1px solid;
}
.price th,.price td{
	padding: 10px;
	box-sizing: border-box;
	border-top: #ddd 1px solid;
	border-left: #ddd 1px solid;
}
.price th{
	background: #dcf9e7;
	font-weight: bold;
}
.price th:nth-child(1),.price td:nth-child(1){
	width: 25%;
}
.price th:nth-child(2),.price td:nth-child(2){
	width: 25%;
}
.price th:nth-child(3),.price td:nth-child(3){
	width: 50%;
}
.price td{
	background: #fff;
}

@media screen and (max-width: 640px) {
  .scroll {
    overflow-x: auto;
  }
  .price {
    min-width: 700px;
  }

}


.box_green{
	border: #42a96b 2px solid;
	padding: 30px;
	border-radius: 15px;
}
.indent > li{
	margin-bottom: 5px;
	text-indent: -1em;
	padding-left: 1em;
}