@charset "UTF-8";
/* CSS Document */
body{
	margin:0;
	padding:0;
	color:#222222;
	background:#FFFFFF;
	font-size:16px;
	font-weight:400;
	line-height: 1.5;
	overflow-x:hidden;
	font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	-webkit-text-size-adjust: 100%;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

.en{
	font-family: "Montserrat", sans-serif;
}
.din{
	font-family: "din-2014", sans-serif;
	font-weight: 700;
}
body.open, body.modaal-noscroll{
	overflow: hidden;
}
input, textarea {
    border-radius: 0;
    outline: none;
    margin: 0;
    padding: 0;
    font-family: 'Noto Sans JP', sans-serif;
    font-size:16px;
    -webkit-border-radius : 0;
    -webkit-tap-highlight-color : rgba(0,0,0,0);
}

img{
	vertical-align:bottom;
	max-width:100%;
	height:auto;
}

a {
	color:inherit;
	text-decoration:none;
	transition: all 0.3s ease-in-out 0s;
}

a:hover {
	text-decoration:none;
}
.flex_wrap{
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
}
.flex_wrap_between{
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.flex_wrap_center{
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
	justify-content: center;
}
.flex_wrap_middle{
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
	align-items: center;
}

.sp{display:none !important;}
.note{font-size:14px;font-weight: 400;}

/************************
header
************************/
header{
	position: fixed;
	width: 100%;
	z-index: 1000;
	height: 90px;
	transition: all 0.3s ease-in-out 0s;
	background: #fff;
	box-shadow: 0px 0px 15px #00000029;
}
.hd_sub{
	box-shadow:none;
}
header .logo{
	width: 169px;
}
.inner_header{
	margin: auto;
	width: 100%;
	padding: 0 42px;
	align-items: center;
	height: 100%;
	position: relative;
}
.inner_header nav{
	gap:56px;
	transition: all 0.3s ease-in-out 0s;
}
.inner_header ul{
	gap:54px;
	font-size: 16px;
	font-weight: 700;
}
.inner_header nav a:hover{
	opacity: .5;
}
.btn_hd a{
	background: #0AB3A2;
	border-radius: 100vh;
	height: 55px;
	padding: 0 50px;
	color: #fff;
	font-weight: 700;
	font-size: 18px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.btn_hd a span{
	font-size: 13px;
	display: block;
}

/************************
btn
************************/
.btn{
	width: 100%;
	max-width: 442px;
	margin: auto;
}
.btn_area{
	gap:20px;
}
.btn a{
	padding: 0 16px;
	color: #fff;
	background: #0AB3A2;
	border-radius: 100vh;
	position: relative;
	font-weight: 700;
	text-align: center;
	font-size: 18px;
	height: 84px;
	display: flex;
	gap:6px;
	border: 3px solid #FFFFFF;
}
.btn a i{
	font-style: normal;
	font-size: 19px;
	background: #fff;
	padding: 4px 14px;
	border-radius: 100vh;
	color: #0AB3A2;
}
.btn a::after{
	content: '';
	display: block;
	position: absolute;
	width: 10px;
	height: 10px;
	margin: auto;
	top: 0;
	bottom: 0;
	right: 20px;
	transform: rotate(45deg);
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
}
.btn a:hover{
	opacity: .5;
}



/************************
menu btn
************************/
.menu_btn{
	width: 30px;
	height: 50px;
	text-align: center;
	cursor:pointer;
	transition: all 0.3s ease-in-out 0s;
    z-index: 101;
	top: 0;
	right: 4%;
	margin-left: 15px;
	display: none;
}
.sp_nav_btn{
	width: 100%;
	height: 100%;
	z-index: 1000;
	text-align: center;
	position: relative;
}
#panel-btn{
  display: inline-block;
  width: 30px;
  height: 30px;
  margin: auto;
  position: absolute;
  top:0;
  bottom:0;
  left: 0;
  right: 0;
}
#panel-btn:hover{
}
#panel-btn-icon{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom:0;
  right:0;
  width: 100%;
  height: 2px;
  margin: auto;
  background: #009463;
  transition: .2s;
}
#panel-btn-icon:before, #panel-btn-icon:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background: #009463;
  transition: .5s;
}
#panel-btn:hover #panel-btn-icon, #panel-btn:hover #panel-btn-icon:before, #panel-btn:hover #panel-btn-icon:after{
}
#panel-btn-icon:before{
  margin-top: -11px;
}
#panel-btn-icon:after{
  margin-top: 8px;
}
#panel-btn .close, #panel-btn:hover #panel-btn-icon.close{
  background: transparent;
}
#panel-btn .close:before, #panel-btn .close:after{
  margin-top: 0;
}
#panel-btn .close:before{
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
#panel-btn .close:after{
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}

.wrapper{
	padding-top: 90px;
	width: 100%;
	overflow: hidden;
}

.inner_800{
	width: 90%;
	max-width: 800px;
	margin: auto;
}
/************************
kv
************************/
.kv{
	background: #F3F3F3 url("../img/kv.png") no-repeat left top / 1870px auto;
	padding: 93px 0 120px;
}
.inner_kv{
	margin: auto;
	width: 90%;
}
.kv_cnt{
	text-align: center;
	font-weight: 700;
	color: #fff;
}
.kv_cnt .lead_kv{
	font-size: min(24px,1.2vw);
	margin-bottom: 33px;
	border: 3px solid #fff;
	padding: 10px 24px;
	font-weight: 700
}
.kv_cnt h1{
	font-size: min(94px,5vw);
	font-weight: 900;
	margin-bottom: 30px;
}
.kv_cnt h1 .h1_top{
	font-size: 54%;
	display: block;
	letter-spacing: -2px;
}
.kv_cnt h1 .h1_top span{
	font-size: 84%;
}
.h1_s{
	font-size: 83%;
}


.list_kv{
	gap:48px;
	margin-bottom: 50px;
}
.list_kv li{
	width: 178px;
}
.kv_cnt .btn{
	max-width: 515px;
}
.kv_cnt .btn a{
	border: 5px solid #FFFFFF;
	box-shadow: 0px 3px 10px #00000029;
	height: 98px;
	font-size: 28px;
	width: 515px;
	display: block;
}
.kv_cnt .btn a i{
	display:block;
	max-width: 306px;
	margin: -20px auto 5px;
	border: 3px solid #0AB3A2;
}

.inner_kv figure{
	margin-bottom: 30px;
}

.sec_case{
	padding: 74px 0 100px;
	background: #F3F3F3;
	width: 100%;
	overflow: hidden;
}
.ttl_sub_has{
	text-align: center;
	font-size: 30px;
	color: #0AB3A2;
	margin-bottom: 48px;
}
.ttl_sub_has span{
	display: block;
	color: rgba(10, 179, 162, .07);
	font-size: 96px;
	line-height: 1;
	margin-bottom: -40px;
}

.lead_case{
	font-size: 20px;
	text-align: center;
	margin-bottom: 37px;
	font-weight: 700;
}

.slick-list{
	overflow: inherit;
}
.wrap_slide{
	width: 975px;
	padding: 0 61px;
}
.inner_slide{
	box-shadow: 0px 0px 12px #00000029;
	border-radius: 28px;
	background: #fff;
	padding: 38px 32px;
}
.slide_head{
	gap:8%;
	margin-bottom: 30px;
	align-items: center;
}
.slide_head figure{
	width: 15%;
}
.head_cnt{
	width: 77%;
	font-size: 20px;
}
.head_cnt h3{
	font-size: 25px;
	font-weight: 700;
	color: #0AB3A2;
	margin-bottom: 16px;
}
.head_cnt span{
	display: inline-block;
	padding: 10px 20px;
	line-height: 1;
	font-size: 16px;
	color: #0AB3A2;
	border: 2px solid #0AB3A2;
	margin-right: 16px;
}
.sd_c_border{
	padding-bottom: 25px;
	margin-bottom: 25px;
	border-bottom: 3px dotted #CCE0F5;
}
.sd_cnt h4{
	width: 139px;
	text-align: center;
}
.sd_cnt h4 span{
	background: #0AB3A2;
	display: inline-block;
	padding: 5px 0;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	width: 100%
}
.sd_cnt p{
	width: calc(100% - 160px);
}
.inner_slide .sd_cnt:last-of-type h4 span{
	background: #0D72B6;
}
.slick-slide > div {
    height: 100%;
}

.slick-track {
    display: flex;
}


.cta{
	padding: 84px 0;
	background: url("../img/bg_cta.png") center / cover;
	color: #fff;
	text-align: center;
}
.cta h2{
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 40px;
}

.list_ct{
	gap:11px;
	margin-bottom: 48px
}
.list_ct p{
	margin-top: 20px;
}

.sec_prob{
	padding: 90px 0 150px;
	background: #F1F1F1;
}

.lead_prob{
	text-align: center;
}
.lead_prob span{
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	display: inline-block;
	background: transparent linear-gradient(90deg, #0AB3A2 0%, #0D72B6 100%) 0% 0% no-repeat padding-box;
	padding: 10px 60px;
	margin-bottom: 32px;
}
.sec_prob h2{
	text-align: center;
	font-size: 30px;
	font-weight: 700;
	color: #0AB3A2;
	margin-bottom: 54px;
	position: relative;
}
.sec_prob h2::after{
	content: '';
	display: block;
	position: absolute;
	width: 107px;
	height: 30px;
	background: url("../img/arrow.png") center / cover;
	margin: auto;
	bottom: -58px;
	left: 0;
	right: 0;
	z-index: 10;
}

.prob_list{
	background: #fff;
	padding: 50px 26px 72px 132px;
	border-radius: 25px;
	box-shadow: 0px 0px 12px #22222226;
	overflow: hidden;
	position: relative;
}
.prob_list img{
	position: absolute;
	bottom: 0;
	left: 0;
}
.prob_list li{
	padding-left: 36px;
	background: url("../img/mark.png") no-repeat left top 2px;
	font-size: 20px;
	font-weight: 700;
}
.prob_list li:not(:last-child){
	margin-bottom: 16px;
}

.sec_solution{
	padding: 0 0 128px;
}
.sol_lead{
	margin: -50px auto 50px;
	max-width: 544px;
	background: transparent linear-gradient(90deg, #0AB3A2 0%, #0D72B6 100%) 0% 0% no-repeat padding-box;
	border-radius: 100vh;
	padding: 14px;
	color: #fff;
	font-size: 30px;
	text-align: center;
	font-weight: 700;
	position: relative;
}
.sol_lead span{
	display: block;
	font-size: 20px;
}
.sol_lead::after{
	display: block;
	content: '';
	position: absolute;
	clip-path: polygon(0 0, 50% 100%, 100% 0%);
	background: transparent linear-gradient(89deg, #0AB3A2 0%, #0D72B6 100%) 0% 0% no-repeat padding-box;
	width: 34px;
	height: 24px;
	margin: auto;
	left: 0;
	right: 0;
	bottom: -20px;
}

.sec_solution h2{
	text-align: center;
	font-size: 30px;
	color: #0AB3A2;
	margin-bottom: 34px;
}
.sec_solution h2 span{
	display: block;
	font-size: 66%;
}
.list_sol{
	margin-top: 80px;
}
.list_sol li{
	gap:16px;
	padding-bottom: 80px;
	position: relative;
}
.list_sol li::after{
	position: absolute;
	display: block;
	content: '';
	width: 0;
	height: calc(100% - 60px);
	border: 1.5px solid #0AB3A2;
	bottom: 0;
	left: 34px;
}
.list_sol li:last-child::after{
	border: 1.5px dashed #0AB3A2;
	height: calc(100% - 60px + 50px);
	bottom: -50px;
}
.sol_cnt{
	width: calc(100% - 86px);
}
.sol_cnt h3{
	color: #0AB3A2;
	margin-bottom: 79px;
	font-size: 27px;
	padding-top: 16px;
}

.wrap_sol{
	margin-left: 20px;
	gap:30px;
}
.wrap_sol .sol_item{
	width: calc((100% - 60px) / 3);
	border-radius: 6px;
	box-shadow: 0px 0px 10px #00000029;
	padding: 0 14px 14px;
}
.wrap_sol .sol_item figure{
	text-align: center;
	margin: -50px 0 16px;
}
.wrap_sol .sol_item h4{
	text-align: center;
	font-size: 17px;
	font-weight: 700;
	margin-bottom: 10px;
}

.other_sol{
	margin-left: 80px;
	padding: 20px 40px;
	border: 3px solid #0AB3A2;
	border-radius: 3px;
	position: relative;
}
.other_sol::before{
	position: absolute;
	display: block;
	content: '';
	width: 46px;
	height: 0;
	border: 1.5px dashed#0AB3A2;
	top: 47px;
	left: -46px;
}
.other_sol h3{
	color: #0AB3A2;
	font-size: 19px;
	margin-bottom: 14px;
}
.ttl_l_serv{
	margin: 112px 0 30px;
	text-align: center;
	font-size: 25px;
	color: #0AB3A2;
}
.list_service{
	gap:12px 16px;
	margin-top: 40px;
}

.other_service{
	background: #F4FAFA;
	border: 2px dashed #0AB3A2;
	border-radius: 17px;
	padding: 32px;
	margin-top: 72px;
}
.other_service h3{
	text-align: center;
	font-size: 20px;
	color: #0AB3A2;
	margin-bottom: 24px;
}
.list_other{
	gap: 30px 68px;
	text-align: center;
	font-size: 14px;
}
.list_other li{
	width: 233px;
}
.list_other li img{
	margin-bottom: 12px;
}

.def_sec{
	padding: 76px 0;
}
.list_reason li{
	margin-top: 100px;
	align-items: flex-end;
}
.list_reason li .reason_cnt{
	width: 56%;
}
.list_reason li figure{
	width: 40%;
}
.list_reason li .reason_cnt .num_reason{
	margin-bottom: 30px;
}
.list_reason li .reason_cnt .num_reason span{
	font-size: 71px;
	font-weight: 700;
	border-bottom: 1px solid #0AB3A2;
	color: #0AB3A2;
}
.list_reason li .reason_cnt h3{
	font-size: 24px;
	margin-bottom: 24px;
	color: #0AB3A2;
}
.list_reason li:nth-child(even){
	flex-direction: row-reverse;
}

.wrap_faq dl{
	margin-bottom: 40px;
	background: #fff;
	border: 2px solid #0AB3A2;
}
.wrap_faq dl:last-of-type{
	margin-bottom: 0;
}

.icon_faq{
    font-size: 41px;
    color: #fff;
    width: 46px;
    font-family: "Montserrat", serif;
	font-weight: 700;
	line-height: 1;
}
.icon_faq.icon_a{
    color: #0D72B6;
	font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-size: 22px;
	padding-left: 16px;
}
.wrap_faq dl dt{
    cursor: pointer;
    position: relative;
	padding: 16px 70px 16px 24px;
	background: #0AB3A2;
	color: #fff;
}
.wrap_faq dl dt h3{
    width: calc(100% - 46px);
    font-size: 16px;
	font-weight: 700;
}
.wrap_faq dl dt span{
	display: block;
	position: absolute;
	right: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 47px;
	height: 20px;
	background: url("../img/arrow_faq.png") no-repeat;
	background-size: 100% auto;
	transform: rotate(-180deg);
}
.wrap_faq dl dt.is-active span{
	transform: rotate(0deg);
}
.wrap_faq dl dd{
    display: none;
	padding: 16px 70px 16px 24px;
}
.a_box{
    width: calc(100% - 46px);
	align-self: center;
	font-weight: 400;
}

.sec_contact{
	background: #EFF1F1;
}
.sec_contact .inner_800{
	background: #fff;
	border-radius: 14px;
	padding: 50px 0 80px;
}
.inner_contact{
	width: 90%;
	max-width: 560px;
	margin: auto;
}

.contact_dl{
	margin-bottom: 34px;
}
.contact_dl dt{
	font-size: 20px;
	margin-bottom: 12px;
}
.contact_dl dt span{
	display: inline-block;
	margin-right: 12px;
	font-size: 15px;
	color: #fff;
	background: #FF0000;
	padding: 2px 12px;
}
.contact_dl dt span.non_req{
	background: #A4A4A4;
}
.contact_dl input{
	border: 1px solid #CCCCCC;
	border-radius: 5px;
	width: 100%;
	padding: 12px 20px;
	font-size: 17px;
}
.contact_dl textarea{
	border: 1px solid #CCCCCC;
	border-radius: 5px;
	width: 100%;
	padding: 12px 20px;
	font-size: 17px;
	height: 90px;
}
.policy_area{
	height: 188px;
	overflow: auto;
	padding: 20px;
	border: 1px solid #CCCCCC;
	border-radius: 5px;
	color: #707070;
	font-size: 13px;
	line-height: 1.69;
	font-weight: 400;
	margin-bottom: 26px;
}
.policy{
	text-align: center;
}
.policy input{
	margin-right: 12px;
}
.policy span.req{
	display: inline-block;
	margin-right: 12px;
	font-size: 15px;
	color: #fff;
	background: #E91515;
	padding: 2px 12px;
}
.policy a{
	color: #0D72B6;
}
.wpcf7-list-item{
	margin: 0 !important;
}

.submit{
	margin-top: 46px;
}
.submit input{
	width: 100%;
	text-align: center;
	background: #0AB3A2 url("../img/arrow_sub.png") no-repeat right 22px center;
	border-radius: 9px;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 4px;
	border: none;
	line-height: 60px;
	transition: all 0.3s ease-in-out 0s;
	cursor: pointer;
}
.submit input:hover{
	opacity: .5;
}

.form_wrap{
	margin-top: 68px;
}

footer{
	padding: 60px 0 30px;
	background: url("../img/bg_cta.png") center / cover;
}
.inner_ft{
	margin: auto;
	width: 90%;
}
.ft_info{
	background: #fff;
	margin: auto;
	padding: 24px 24px 24px 40px;
	border-radius: 17px;
	max-width: 679px;
	gap:25px;
	margin-bottom: 36px;
}
.logo_ft{
	width: 175px;
}
.ft_info .fi_text{
	width: calc(100% - 200px);
	font-weight: 700;
}
.ft_info .fi_text a{
	color: #0AB3A2;
}
.ft_sns{
	margin-bottom: 50px;
	gap:34px;
	align-items: center;
}

.ft_nav_wrap{
	color: #fff;
	gap:20px 80px;
}
.ft_nav_wrap ul{
	gap:10px 0;
}
.ft_nav_wrap ul li{
	padding: 0 30px;
}
.ft_nav_wrap ul li:not(:last-child){
	border-right: 1px solid #fff;
}


.sub_header{
	background: transparent linear-gradient(90deg, #0AB3A2 0%, #0D72B6 100%) 0% 0% no-repeat padding-box;
	padding: 56px 0;
}
.ttl_sub{
	text-align: center;
	color: #fff;
	font-size: 44px;
}

.pd_sub{
	padding: 78px 0 98px;
}
.inner_700{
	margin: auto;
	width: 90%;
	max-width: 700px;
}

.list_step{
	position: relative;
	z-index: 1;
}
.list_step::before{
	display: block;
	content: '';
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	width: 2px;
	height: 70%;
	background: #0AB3A2;
	left: 60px;
	z-index: -1;
}
.list_step li:not(:last-child){
	margin-bottom: 52px;
}
.list_step li{
	gap:18px;
}
.list_step li .step_cnt{
	width: calc(100% - 138px);
}
.label_step{
	margin-bottom: 9px;
}
.label_step span{
	display: inline-block;
	padding: 2px 14px;
	border: 1px solid #0AB3A2;
	border-radius: 100vh;
	color: #0AB3A2;
	font-size: 22px;
}
.list_step li h2{
	font-size: 18px;
	margin-bottom: 12px;
}

.pd_dl{
	padding: 46px 0 98px;
}

.inner_900{
	margin: auto;
	width: 90%;
	max-width: 900px;
}
.dl_wrap{
	margin-top: 60px;
}
.dl_cnt{
	width: 46%;
}

.dl_box{
	border: 2px dashed #0AB3A2;
	border-radius: 17px;
	background: #F4FAFA;
	padding: 24px 40px;
	margin-top: 32px;
}
.dl_ttl{
	font-size: 22px;
	font-weight: 700;
	color: #0AB3A2;
	margin-bottom: 16px;
}
.dl_box li{
	padding-left: 28px;
	background: url("../img/mark.png") no-repeat left top 3px / 18px auto;
}

.dl_form{
	width: 40%;
}
.dl_form .form_wrap{
	margin-top: 0;
}
.dl_form .form_wrap .contact_dl{
	margin-bottom: 22px;
}
.dl_form .form_wrap .contact_dl dt span{
	margin: 0 0 0 12px;
}
.exam{
	font-size: 14px;
}
.dl_form .form_wrap .submit{
	margin-top: 32px;
}
.column_wrap{
	padding-bottom: 112px;
	background: url("../img/bg_column.png") bottom right / cover;
}
.inner_894{
	margin: auto;
	width: 90%;
	max-width: 894px;
}
.pan{
	padding: 48px 0;
	font-weight: 700;
}
.pan a{
	margin-right: 20px;
}
.pan a::after{
	content: '‐';
	padding-left: 10px;
}
.pan a:hover{
	opacity: .5;
}

.list_column{
	gap:35px 43px;
}
.list_column li{
	width: calc((100% - 86px) / 3);
	display: flex;
	flex-direction: column;
}
.list_column li a{
	box-shadow: 0px 0px 6px #00000029;
	border-radius: 6px;
	padding: 20px;
	display: block;
	background: #fff;
}
.list_column li a figure{
	margin-bottom: 10px;
}
.list_column li a figure img{
	width: 100%;
}
.list_column li a h2{
	font-size: 16px;
	margin-bottom: 10px;
}
.column_info{
	margin: auto 0 0;
	font-size: 14px;
	align-items: center;
}
.cate span{
	font-size: 10px;
	font-weight: 700;
	display: inline-block;
	background: #0D72B6;
	padding: 1px 8px;
	border-radius: 100vh;
	color: #fff;
}

/************************
pagination
************************/
.pagination{
	margin:80px 0 0;
	text-align:center;
	position:relative;
}
.pagination a, .pagination span{
	display:inline-block;
	height:48px;
	width:48px;
	text-align:center;
	line-height:48px;
	margin:0 10px;
	font-weight: 700;
	font-size: 23px;
}
.pagination a{
	color:#222222;
}
.pagination a:hover{
	background:#0AB3A2;
	color: #fff;
}
.pagination span.current{
	background:#0AB3A2;
	color: #fff;
}
.pagination a.pg_pre,.pagination a.pg_next{
	color:#fff;
	position:relative;
	background: #fff;
	border: 1px solid #222;
}
.pagination a.pg_pre:hover,.pagination a.pg_next:hover{
	background:#0AB3A2;
}
.pagination a.pg_pre::after{
	display:block;
	content:'';
	width:12px;
	height:12px;
	position:absolute;
	top:0;
	bottom:0;
	left:20px;
	margin:auto;
	border-bottom: 2px solid #222222;
	border-left: 2px solid #222222;
	-moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.pagination a.pg_next::after{
	display:block;
	content:'';
	width:12px;
	height:12px;
	position:absolute;
	top:0;
	bottom:0;
	right:20px;
	margin:auto;
	border-top: 2px solid #222222;
	border-right: 2px solid #222222;
	-moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.pagination a:hover{
	text-decoration:none;
}
.pagination a.pg_pre:hover::after,.pagination a.pg_next:hover::after{
	border-color: #fff;
}
@media screen and (max-width: 750px) {
	.pagination{margin:40px 0 0;}
	.pagination a, .pagination span{width:30px; height:30px; line-height:30px;margin: 0 5px; font-size: 16px;}
	.pagination a.pg_pre::after{left:13px; width:6px; height:6px;}
	.pagination a.pg_next::after{right:13px; width:6px; height:6px;}
}



.single_wrap{
	margin: auto;
	max-width: 100%;
}
.single_wrap h1{
	font-size: 25px;
	margin: 8px 0 36px;
}
.eyecatch{
	margin-bottom:36px;
}
.single_index{
	background: #F4FAFA;
	border-radius: 6px;
	padding: 36px 48px;
	margin-bottom: 40px;
}
.bg_single{
	background: url("../img/bg_single.png") repeat-y top center / 100% auto;
}
.ttl_index{
	border-bottom: 2px solid #0AB3A2;
	padding-bottom: 14px;
	margin-bottom: 24px;
	color: #0AB3A2;
	gap:8px;
	font-weight: 700;
}
.ttl_index i img{
	vertical-align: middle;
}
.single_index ol li{
	margin-left: 1em;
	list-style: outside decimal;
	color: #0AB3A2;
	font-weight: 700;
	font-size: 18px;
}
.single_index ol li:not(:last-child){
	margin-bottom: 10px;
}
.single_index ol li a{
	margin-left: .5em;
	font-weight: 500;
	color: #222222;
}
.single_index ol li a:hover{
	text-decoration: underline;
}
.single_body h2{
	font-size: 18px;
	position: relative;
	margin-bottom: 30px;
	padding-bottom: 10px;
}
.single_body h2::after{
	background: #0AB3A2;
	width: 56px;
	height: 3px;
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
}
.single_body h2 span{
	margin-right: .5em;
	color: #0AB3A2;
}
.single_body h2:not(:first-child){
	margin-top: 68px;
}
.single_body h3{
	font-size: 16px;
	padding-left: 13px;
	border-left: 3px solid #0AB3A2;
	margin: 36px 0 16px;
}
.single_body p{
	margin: 1em 0;
}
.single_body figure{
	margin: 30px 0;
}
.btn_to_list{
	margin-top: 80px;
}
.btn_to_list a{
	margin: auto;
	display: block;
	max-width: 268px;
	line-height: 54px;
	text-align: center;
	background: #fff;
	border: 2px solid #0AB3A2;
	border-radius: 100vh;
	color:#0AB3A2;
	font-weight: 700;
	font-size: 18px;
	position: relative;
}
.btn_to_list a:hover{
	opacity: .5;
}
.btn_to_list a::after{
	content: '';
	display: block;
	position: absolute;
	width: 10px;
	height: 10px;
	margin: auto;
	top: 0;
	bottom: 0;
	left: 20px;
	transform: rotate(45deg);
	border-bottom: 3px solid #0AB3A2;
	border-left: 3px solid #0AB3A2;
}

.tb_company{
	margin: auto;
	max-width: 548px;
	width: 100%;
	border-collapse: collapse;
}

.tb_company tr th, .tb_company tr td{
	padding: 22px 16px;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid #D5D5D5;
}
.tb_company tr th{
	color: #0AB3A2;
}
.wrap_policy h2, .wrap_policy h3{
	font-size: 18px;
	margin: 30px 0 10px;
}
.wrap_policy h2{
	margin: 40px 0 10px;
}
.wrap_policy a{
	text-decoration: underline;
}
/********************************
sp
********************************/
@media screen and (max-width: 1602px) {
	.inner_header{padding: 0 20px;}
	.inner_header nav{gap:24px;}
	.inner_header ul{gap:20px; font-size: 16px;}
	.btn_hd a{padding: 0 24px;font-size: 16px;}
	.btn_hd a span{font-size: 11px;}
}
@media screen and (max-width: 1280px) {
	.inner_header ul{font-size: 13px;gap:14px;}
}
@media screen and (max-width: 1080px) {
	.menu_btn{display: block;}
	.inner_header nav{position: fixed; top: 90px;left: 0;width: 100%;height: calc(100svh - 90px); background: #fff;}
	.inner_header nav{flex-direction: column; padding: 40px 0;overflow: auto; transform: scaleY(0);transform-origin: top;}
	.open .inner_header nav{transform: scaleY(1);}
	.inner_header ul{flex-direction: column;font-size: 16px;gap:20px;}
	.btn_hd a{padding: 0 24px;font-size: 18px;}
	.btn_hd a span{font-size: 13px;}
}
@media screen and (max-width: 768px) {
	header{height: 60px;}
	.inner_header{padding: 0 3%;}
	header .logo{width: 120px;}
	.inner_header nav{top: 60px;height: calc(100svh - 60px);}
}
@media screen and (max-width: 1860px) {
	.kv{background-size: 100% auto;}
}

@media screen and (max-width: 768px) {
	body{font-size: 14px;}
	.note{font-size: 12px;}
	.sp{ display:block !important;}
	.pc{display:none !important;}
	.wrapper{padding-top: 60px;}
	.kv{padding: 40px 0 36px; background: #F3F3F3 url("../img/kv_sp.png") center bottom / cover;}
	.kv_cnt{margin: auto;}
	.kv_cnt .lead_kv{font-size: 14px;margin-bottom: 22px;}
	.kv_cnt h1{font-size: 11vw;margin-bottom: 28px;}
	.kv_cnt .btn{width: 100%; max-width: 100%;}
	.kv_cnt .btn a{width: 100%; font-size: 21px; height: 67px; border-width: 3px;}
	.list_kv{gap:9%;margin-bottom: 5px;}
	.list_kv li{width: 36%;}
	.kv_cnt .btn a i{font-size: 13px;max-width: 210px;}
	.sec_case{padding: 36px 0;}
	.ttl_sub_has{font-size: 20px;}
	.ttl_sub_has span{font-size: 58px;margin-bottom: -20px;}
	.lead_case{font-size: 16px;}
	.wrap_slide{width: 350px;padding: 0 10px;}
	.inner_slide{padding: 20px;}
	.slick-prev,.slick-next{display: none !important;}
	.slide_head figure{width: 82px;}
	.slide_head{gap:5px;}
	.head_cnt{width: calc(100% - 87px);font-size: 16px;}
	.head_cnt h3{font-size: 18px;margin-bottom: 12px;}
	.head_cnt span{font-size: 12px;padding: 6px 8px;margin-right: 4px;}
	.sd_cnt{flex-direction: column;}
	.sd_cnt h4{width: 100%;text-align: center;margin-bottom: 18px;}
	.sd_cnt p{width: 100%;}
	.cta{padding: 34px 0;}
	.list_ct{gap:20px 11px;}
	.list_ct li{width: calc((100% - 11px) / 2)}
	.list_ct p{margin-top: 5px;}
	.btn a{font-size: 14px;height: 67px;}
	.btn a i{font-size: 13px; padding: 4px 6px;}
	.btn a::after{right: 10px;}
	.sec_prob{padding: 36px 0 100px;}
	.sec_prob h2{font-size: 20px;}
	.prob_list{padding: 20px;}
	.prob_list img{display: none;}
	.prob_list li{font-size: 16px;}
	.sol_lead{font-size: 20px;}
	.sec_solution h2{font-size: 20px;}
	.wrap_sol{margin-left: -20px;}
	.wrap_sol .sol_item{width: 100%;padding: 24px 20px 24px 70px;position: relative;}
	.wrap_sol .sol_item figure{position: absolute; width: 70px;margin: auto; top: 0;bottom: 0;left: -20px;height: 70px;}
	.sol_cnt h3{margin-bottom: 30px;}
	.wrap_sol .sol_item h4{text-align: left;}
	.other_sol{margin-left: 0;}
	.other_sol::before{display: none;}
	.list_sol li{padding-bottom: 40px;}
	.list_sol li:last-child::after{height: calc(100% - 60px);bottom: 0;}
	.ttl_l_serv{font-size: 17px; margin: 34px 0 20px;}
	.list_service{margin-top: 20px;}
	.sec_solution{padding-bottom: 34px;}
	.def_sec{padding: 34px 0;}
	.list_reason li{margin-top: 34px;flex-direction: column;}
	.list_reason li .reason_cnt{width: 100%;}
	.list_reason li figure{width: 100%; text-align: center;}
	.list_reason li .reason_cnt .num_reason{text-align: center;}
	.list_reason li .reason_cnt .num_reason span{font-size: 54px;}
	.list_reason li .reason_cnt h3{font-size: 20px;}
	.icon_faq{font-size: 30px;width: 36px;}
	.wrap_faq dl dt h3{width: calc(100% - 36px); font-size: 18px;}
	.wrap_faq dl dt{padding: 16px 35px 16px 16px;}
	.wrap_faq dl dt span{width: 23.5px;height: 10px;right: 10px;}
	.wrap_faq dl dd{padding: 16px;}
	.icon_faq.icon_a{padding-left: 0;}
	.wrap_faq dl{margin-bottom: 20px;}
	.form_wrap{margin-top: 30px;}
	.contact_dl dt{font-size: 16px;}
	.contact_dl dt span{font-size: 12px;}
	.sec_contact .inner_800{padding: 24px 0;}
	.ft_info{padding: 20px; flex-direction: column;gap:10px;}
	.ft_info .fi_text{width: 100%;}
	.ft_nav_wrap{flex-direction: column-reverse; text-align: center;}
	.list_step li figure{width: 60px;}
	.list_step li .step_cnt{width: calc(100% - 78px);}
	.list_step::before{left: 29px;}
	.label_step span{font-size: 12px;}
	.list_step li h2{font-size: 16px;}
	.dl_cnt{width: 100%; margin-bottom: 30px;}
	.dl_form{width: 100%;}
	.dl_wrap{margin-top: 30px;}
	.ttl_sub{font-size: 28px;}
	.list_column li{width: 100%;}
	.single_wrap h1{font-size: 20px;}
	.single_index{padding: 20px;}
	.single_index ol li{font-size: 14px;}
	.btn_to_list{margin-top: 60px;}
	.tb_company tr th, .tb_company tr td{display: block;width: 100%;padding-left: 0;padding-right: 0;}
	.tb_company tr th{border-bottom: 0;padding-bottom: 0;}
}