@charset "UTF-8";
/* CSS Document */
body{
	margin:0;
	padding:0;
	color:#001a38;
	background:#FFFFFF;
	font-size:16px;
	font-weight:500;
	line-height: 1.56;
	overflow-x:hidden;
	font-family: 'Noto Sans JP', 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: "Roboto", sans-serif;
}

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:#333;
	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: 60px;
	transition: all 0.3s ease-in-out 0s;
	background: #fff;
}
header .logo{
	width: 200px;
}
.inner_header{
	margin: auto;
	width: 100%;
	padding: 0 40px;
	align-items: center;
	height: 100%;
	position: relative;
}

/************************
btn
************************/
.btn{
	width: 100%;
	width: 360px;
	margin: auto;
}
.btn_area{
	gap:20px;
}
.btn a{
	display: block;
	padding: 0 7px;
	color: #fff;
	background: #fe7e02;
	border-radius: 16px;
	position: relative;
	font-weight: 700;
	line-height: 60px;
	text-align: center;
	box-shadow: 0px 5px 0px #b55900;
}
.btn a span{
	position: relative;
}
.btn a span::after{
	content: '';
    display: block;
    position: absolute;
    width: 8px;
    height: 8px;
    margin: auto;
    top: 0;
    bottom: 0;
    right: -20px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(45deg);
}
.btn a:hover{
	box-shadow: 0px 2px 0px #b55900;
}
.btn p{
	margin-bottom: -11px;
	text-align: center;
}
.btn p span{
	display: inline-block;
    border: 2px solid #fe7e02;
    background: #fff;
	line-height: 1.2;
    color: #fe4302;
    position: relative;
    border-radius: 5px;
    z-index: 2;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 20px;
}
.btn p span::after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 9px;
    margin: auto;
    background: #fff;
    clip-path: polygon(0 0, 50% 100%, 100% 0%);
    bottom: -8px;
    left: 0;
    right: 0;
    position: absolute;
}

.gnav{
	position: fixed;
	top: 60px;
	right: -100%;
	width: 100%;
	max-width: 400px;
	background: rgba(255,255,255,.8);
	height: calc(100vh - 60px);
	overflow: auto;
	padding: 30px 20px;
	z-index: 50;
	transition: 0.5s;
	
}
.open .gnav{
	right: 0;
}
.gnav ul{
	margin-bottom: 40px;
}
.gnav ul li{
	margin-bottom: 20px;
}
/************************
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;
}
.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: 60px;
}

.inner_1000{
	width: 89%;
	max-width: 1000px;
	margin: auto;
}
/************************
kv
************************/
.kv{
	padding-top: 26px;
	background: url("../img/kv_bg.png") center / cover;
}
.inner_kv{
	width: 100%;
	max-width: 1000px;
	margin: auto;
}
.kv_cnt{
	width: 61%;
	padding-bottom: 64px;
}
.kv_cnt h1{
	margin-bottom: 30px;
}
.kv_catch{
	width: 86%;
	margin-bottom: 40px;
}
.inner_kv figure{
	width: 37.6%;
	margin-left: -5%;
	align-self: flex-end;
}


.def_sec{
	padding: 60px 0;
}
.def_sec h2{
	font-size: 36px;
	text-align: center;
	position: relative;
	font-weight: 900;
	padding-bottom: 34px;
	margin-bottom: 96px;
	line-height: 1.2;
}
.def_sec h2::after{
	content: '';
	display: block;
	width: 50px;
	height: 4px;
	background: #209b61;
	border-radius: 100vh;
	position: absolute;
	bottom: 0;
	margin: auto;
	left: 0;
	right: 0;
}


.intro_sec{
	padding: 1px 0 40px;
	position: relative;
}
.intro_sec::after{
	content: '';
    display: inline-block;
    width: 750px;
    height: 100px;
    margin: auto;
    background: #fff;
    clip-path: polygon(0 0, 50% 100%, 100% 0%);
    bottom: -99px;
    left: 0;
    right: 0;
    position: absolute;
}
.fuki{
	margin: -20px 0 58px;
	text-align: center;
}
.fuki span{
	position: relative;
	background: #001a38;
	display: inline-block;
	max-width: 378px;
	width: 100%;
	color: #fff;
	font-size: 20px;
	padding: 16px;
	border-radius: 2px;
}
.fuki span::after{
	content: '';
    display: inline-block;
    width: 36px;
    height: 18px;
    margin: auto;
    background: #001a38;
    clip-path: polygon(16% 0, 0% 100%, 100% 0%);
    bottom: -17px;
    left: 0;
    right: 0;
    position: absolute;
}
.intro_sec h2{
	text-align: center;
	font-size: 36px;
	font-weight: 900;
	margin-bottom: 40px;
	line-height: 1.2;
}
.intro_wrap{
	gap:30px;
}
.intro_wrap li{
	background: #495b70;
	color: #fff;
	font-weight: 700;
	text-align: center;
	padding: 10px;
}
.intro_wrap li:not(:last-child){
	margin-bottom: 5px;
}

.intro_sec2{
	padding: 140px 0 60px;
	background: #209b61;
	color: #fff;
}
.intro_sec2 figure{
	text-align: center;
	margin-bottom: 36px;
}
.intro_sec2 h2{
	text-align: center;
	font-size: 36px;
	font-weight: 900;
	margin-bottom: 36px;
	line-height: 1.2;
}
.intro_sec2 p{
	line-height: 2;
}
.intro_sec2 .btn{
	margin-top: 40px;
}
.yellow{
	color: #fee902;
}

.intro_sec3{
	padding: 60px 0 140px;
}
.intro_sec3 h2{
	text-align: center;
	font-size: 36px;
	font-weight: 900;
	margin-bottom: 64px;
	line-height: 1.2;
}
.list_case > li{
	background: #209b61;
	border: 2px solid #209b61;
	border-radius: 10px;
}
.list_case > li:not(:last-child){
	margin-bottom: 60px;
}
.inner_case{
	overflow: hidden;
	border-radius: 8px;
}
.num_case{
	text-align: center;
	width: 76px;
	margin: -38px auto 4px;
}
.list_case li h3{
	text-align: center;
	color: #fff;
	font-size: 30px;
	font-weight: 900;
	margin-bottom: 16px;
}
.case_top{
	padding: 20px 60px;
	background: #fff;
	gap:20px;
}
.top_prof{
	width: 224px;
	gap:8px;
}
.top_prof figure{
	width: 100px;
}
.top_prof li{	
	gap:4px;
	font-size: 13px;
}
.top_prof li:not(:last-child){
	margin-bottom: 10px;
}
.top_prof li .label{
	background: #209b61;
	padding: 1px 10px;
	color: #fff;
	font-size: 12px;
}

.c_t_cnt{
	background: #f5f5f5;
	border-radius: 10px;
	padding: 20px 30px;
	width: calc(100% - 244px);
	position: relative;
}
.c_t_cnt::before{
	content: '';
    display: inline-block;
    width: 18px;
    height: 15px;
    margin: auto;
    background: #f5f5f5;
    clip-path: polygon(100% 0, 0% 50%, 100% 100%);
    top: 0;
	bottom: 0;
    left: -18px;
    position: absolute;
}

.case_bottom{
	background: #ebf2c0;
	padding: 20px 50px;
	color: #209b61;
}
.cb_prof{
	gap:20px;
	margin-bottom: 16px;
	font-weight: 900;
}
.cb_prof figure{
	width: 100px;
}
.case_bottom h4{
	font-weight: 900;
	font-size: 24px;
	margin-bottom: 20px;
}
.case_btn{
	background: #fff;
	position: relative;
	text-align: center;
	color: #209b61;
	font-size: 18px;
	font-weight: 900;
	padding: 10px;
	border-top: 2px solid #209b61;
	cursor: pointer;
}
.case_btn::before{
	content: "事例を見る";
}
.case_btn.is-active::before{
	content: "閉じる";
}
.close_bottom{
	display: none;
}
.case_btn span{
	position: absolute;
	margin: auto;
	display: block;
	width: 18px;
	height: 18px;
	top: 0;
	bottom: 0;
	right: 18px;
}
.case_btn span::before, .case_btn span::after{
	position: absolute;
	display: block;
	content: '';
	margin: auto;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: #209b61;
}
.case_btn span::before{
	width: 100%;
	height: 2px;
}
.case_btn span::after{
	width: 2px;
	height: 100%;
	transition: .5s;
}
.case_btn.is-active span::after{
	height: 0;
}

.ct_head{
	background: #d2ebdf;
	color: #209b61;
	font-size: 28px;
	font-weight: 700;
	text-align: center;
}
.ct_head span{
	padding: 16px 0;
	display: inline-block;
	position: relative;
	margin-left: 50px;
}
.ct_head span::before{
	width: 169px;
	height: 134px;
	background: url("../img/ct_sense.png") center bottom / cover;
	content: '';
	position: absolute;
	display: block;
	bottom: 0;
	left: -200px;
}
.ct_body{
	background: #209b61;
	padding: 40px 0;
}
.ct_body h2{
	text-align: center;
	font-weight: 900;
	font-size: 36px;
	color: #fff;
	margin-bottom: 40px;
}

.ct_contact{
	background: #fee902;
	border-radius: 10px;
	padding: 30px 24px;
	margin-top: 40px;
	color: #209b61;
}
.ct_contact h3{
	font-size: 20px;
	font-weight: 900;
	margin-bottom: 20px;
	text-align: center;
}
.ct_contact ul{
	gap:8px;
}
.ct_contact ul li{
	max-width: 250px;
	width: 100%;
}
.ct_contact ul li a{
	background: #fff;
	border: 2px solid #209b61;
	border-radius: 100vh;
	height: 46px;
	align-items: center;
	gap:8px;
	font-weight: 900;
	color: #209b61;
	line-height: 1;
}
.ct_contact ul li a:hover{
	opacity: .5;
}
.ct_contact ul li a .en{
	font-size: 23px;
}
.ct_contact ul li a .time{
	font-size: 10px;
	display: block;
}
rt{
	font-size: 33.33%;
}

.bg_green{
	background: #d2ebdf;
	overflow: hidden;
}

.list_reason li{
	position: relative;
	z-index: 1;
	padding: 44px 0 40px;
}
.list_reason li::before{
	content: '';
	display: block;
	width: 200%;
	height: 100%;
	background: #fff;
	position: absolute;
	top: 0;
	right: -76px;
	z-index: -1;
}
.list_reason li:nth-child(even)::before{
	right: auto;
	left: -76px;
}
.list_reason li:not(:last-child){
	margin-bottom: 60px;
}
.list_reason li .reason_num{
	position: absolute;
	left: 0;
	top: -70px;
	line-height: 1;
	font-size: 40px;
	font-weight: 700;
	color: #209b61;
}
.list_reason li .reason_num span{
	font-size: 100px;
}
.list_reason li:nth-child(even) .reason_num{
	left: auto;
	right: 0;
}
.list_reason li figure{
	width: 46%;
}
.list_reason li .reason_cnt{
	width: 54%;
}
.list_reason li .reason_cnt h3{
	font-size: 24px;
	font-weight: 900;
	margin-bottom: 16px;
}

.mess{
	margin-bottom: 40px;
}
.mess h3{
	background: #209b61;
	padding: 4px 16px;
	color: #fff;
	font-weight: 700;
	font-size: 24px;
	margin-bottom: 20px;
}
.mes_cnt{
	width: calc(100% - 350px);
	line-height: 2;
}
.mess figure{
	text-align: center;
}
.mess figure figcaption{
	margin-top: 20px;
	font-size: 18px;
	font-weight: 700;
}
.mess figure figcaption span{
	font-size: 12px;
}

.prof{
	background: #f5f5f5;
	padding: 24px 40px;
}
.prof_ttl{
	font-weight: 700;
	margin-bottom: 16px;
}

.sec_price{
	background: #209b61;
	color: #fff;
}
.def_sec.sec_price h2::after{
	background-color: #fff;
}

.sec_flow{
	background: #f5f5f5;
}
.list_flow li{
	width: 180px;
	border-radius: 10px;
	border: 2px solid #bdd32e;
	background: #fff;
}
.list_flow li h3{
	background: #bdd32e;
	color: #fff;
	font-weight: 20px;
	text-align: center;
	padding: 2px 4px 4px;
}
.flow_wrap{
	padding: 16px 20px 20px;
}
.list_flow li figure{
	text-align: center;
	margin-bottom: 8px;
}
.list_flow li h4{
	text-align: center;
	margin-bottom: 10px;
	font-size: 18px;
	font-weight: 900;
}

.wrap_faq{
	margin: auto;
	max-width: 800px;
}
.wrap_faq dl{
	margin-bottom: 20px;
}
.wrap_faq dl:last-of-type{
	margin-bottom: 0;
}

.icon_faq{
    font-size: 42px;
    color: #209b61;
    width: 46px;
    font-family: "Roboto", sans-serif;
	font-weight: 600;
	line-height: 1;
}
.icon_faq.icon_a{
    color: #fe7e02;
}
.wrap_faq dl dt{
    cursor: pointer;
    position: relative;
	padding: 16px 50px 16px 24px;
	background: #e8f5ef;
	color: #209b61;
	border-radius: 4px;
}
.wrap_faq dl dt h3{
    width: calc(100% - 46px);
    font-size: 18px;
	font-weight: 700;
}
.wrap_faq dl dt span{
	display: block;
	position: absolute;
	right: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 8px;
	height: 8px;
	border-bottom: 2px solid #209b61;
	border-right: 2px solid #209b61;
	transform: rotate(45deg);
}
.wrap_faq dl dt.is-active span{
	transform: rotate(-135deg);
}
.wrap_faq dl dd{
    display: none;
	padding: 16px 50px 16px 24px;
}
.a_box{
    width: calc(100% - 46px);
	align-self: center;
	font-weight: 400;
}

.sec_menseki{
	padding: 60px 0 120px;
	background: #f5f5f5;
}
.sec_menseki h2{
	text-align: center;
	font-size: 24px;
	font-weight: 900;
	margin-bottom: 36px;
}

footer{
	padding: 30px 0;
	text-align: center;
	font-size: 10px;
	font-weight: 700;
}
.mess_sp{
	display: none;
}
.mess_sp figure{
	width:166px;
}
.mess_sp p{
	align-self: flex-end;
	margin-bottom: 15px;
	font-size: 18px;
	font-weight: 700;
}
.mess_sp p span{
	font-size: 12px;
	margin-right: 10px;
}
.modal_wrap{
	background: #fff;
	border-radius: 5px;
	padding: 0 20px 30px;
}
.modal_wrap2{
	background: #fff;
	border-radius: 5px;
	padding: 70px 20px 30px;
}
.modal_wrap2 p{
	margin-bottom: 40px;
}
.num_fig{
	text-align: center;
	margin-bottom: 20px;
}
.num_fig img{
	width: 100px;
}
.modal_wrap h2, .modal_wrap2 h2{
	text-align: center;
	font-size: 18px;
	font-weight: 900;
	margin-bottom: 20px;
}
.input_wrap{
	margin-bottom: 40px;
	font-size: 18px;
	font-weight: 900;
	justify-content: center;
	gap:15px;
}
.input_line{
	align-items: flex-end;
	gap:5px;
}
#cboxPrevious,#cboxNext{
	display: none !important;
}
.btn_area_modal{
	height: 60px;
}
.next_modal:disabled, .calc_modal:disabled{
	cursor: default;
}
.next_modal, .close_modal, .calc_modal,.next_modal2{
	line-height: 60px;
	-webkit-appearance: none;
	margin: auto;
	width: 100%;
	text-align: center;
	max-width: 300px;
	background: #fe7e02;
	color: #fff;
	font-weight: 900;
	font-size: 16px;
	display: block;
	border-radius: 8px;
	box-shadow: 0px 5px 0px #b55900;
	position: relative;
	border: none;
	cursor: pointer;
}
.next_modal::after, .close_modal::after, .calc_modal::after,.next_modal2::after{
	content: '';
    display: block;
    position: absolute;
    width: 8px;
    height: 8px;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 20px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(45deg);
}
.next_modal2 a{
	display: block;
	color: #fff;
	pointer-events: none;
	cursor: default;
}
.next_modal2.on a{
	pointer-events: all;
	cursor: pointer;
}
.input_wrap input{
	font-size: 18px;
	padding: 8px;
	border: 1px solid #cfd0cc;
	border-radius: 5px;
	max-width: 200px;
}
.input_wrap select{
	font-size: 18px;
	padding: 8px 40px 8px 8px;
	border: 1px solid #cfd0cc;
	border-radius: 5px;
	-webkit-appearance: none;
    appearance: none;
}
.sel_wrap{
	position: relative;
}
.input_wrap p{
	text-align: center;
	width: 100%;
	font-weight: 900;
	font-size: 18px;
}
.sel_wrap::after{
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid #000;
	content: "";
	position: absolute;
	right: 10px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 0;
	height: 0;
}
.menseki_box{
	background: #f5f5f5;
	border-radius: 5px;
	padding: 20px 30px;
	height: 240px;
	overflow: auto;
	margin-bottom: 30px;
}
.menseki_box h3{
	text-align: center;
	font-size: 18px;
	margin-bottom: 10px;
}
#cboxClose{
	display: block;
	right: 10px;
}
#cboxClose::before, #cboxClose::after{
	background: #009463;
}
.input_line label{
	width: 220px;
	padding: 8px 8px 12px;
	border: 1px solid #cfd0cc;
	border-radius: 5px;
	-webkit-appearance: none;
    appearance: none;
}
.input_line label input{
	margin-right: 10px;
}
.sec_reso{
	text-align: center;
	font-size: 18px;
	background: #f5f5f5;
	position: relative;
}
.sec_reso::after{
	content: '';
    display: inline-block;
    width: 750px;
    height: 100px;
    margin: auto;
    background: #f5f5f5;
    clip-path: polygon(0 0, 50% 100%, 100% 0%);
    bottom: -99px;
    left: 0;
    right: 0;
    position: absolute;
}
.def_sec.sec_reso h2{
	margin-bottom: 40px;
}

.reso_b_wrap{
	padding: 140px 0 60px;
	background: #209b61;
}
.ttl_reso_b{
	text-align: center;
	color: #fff;
	font-size: 28px;
	font-weight: 900;
	margin-bottom: 50px;
}
.ttl_reso_b span{
	background: linear-gradient(transparent 60%, #fe7e02 0%);
  	display: inline;
}
.reso_b_wrap .ct_head{
	background: #001a38;
	color: #fee902;
}
.reso_b_wrap .ct_body{
	background: #fff;
	padding: 15px;
	margin-bottom: 30px;
}
.list_check{
	margin: auto;
	max-width: 300px;
}
.list_check li{
	font-weight: 900;
	font-size: 18px;
	padding-left: 30px;
	position: relative;
	margin-top: 10px;
}
.list_check li::before{
	content: '';
	position: absolute;
	display: block;
	width: 21px;
	height: 18px;
	background: url("../img/mark.png") center / cover;
	left: 0;
	top:8px;
}
.reso{
	color: #fe7e02;
	font-size: 21px;
	font-weight: 900;
}
.reso .reso_num{
	font-size: 60px;
/*	font-family: "Roboto", sans-serif;*/
}
/********************************
sp
********************************/
@media screen and (max-width: 768px) {
	.inner_header{padding: 0 5.5%;}
}

@media screen and (max-width: 768px) {
	body{font-size: 14px;}
	.note{font-size: 12px;}
	.sp{ display:block !important;}
	.pc{display:none !important;}
	.kv{background-image: url("../img/bg_kv_sp.png");}
	.kv_cnt{width: 100%;}
	.inner_kv figure{display: none;}
	.kv_cnt h1{width: 40%;padding-left: 10%;}
	.kv_catch{width: 100%; margin-bottom: 25px;}
	.btn{width: 300px;}
	.btn p span{padding: 4px 6px;}
	.fuki span{font-size: 16px;padding: 6px;}
	.fuki{margin-bottom: 20px;}
	.intro_sec h2{font-size: 24px; margin-bottom: 20px;}
	.intro_wrap{flex-direction: column-reverse;}
	.intro_wrap figure{margin: auto;width: 80%;}
	.intro_sec::after,.sec_reso::after{width: 100%;height: 50px;bottom: -49px;}
	.intro_sec2,.reso_b_wrap{padding: 70px 0 25px;}
	.intro_sec2 h2{font-size: 24px; margin-bottom: 20px;}
	.intro_sec2 p{width: 90%;margin: auto;}
	.intro_sec3{padding: 25px 0 40px;}
	.intro_sec3 h2{font-size: 24px; margin-bottom: 55px;}
	.list_case li h3{font-size: 18px;}
	.case_top{padding: 15px 10px; flex-direction: column;align-items: flex-start;}
	.c_t_cnt{width: 100%; padding: 10px;}
	.top_prof{margin-left: 12px;}
	.c_t_cnt::before{clip-path: polygon(50% 0, 0% 100%, 100% 100%); top: -15px;bottom: auto; left: 52px;}
	.case_bottom{padding: 15px 20px;}
	.case_bottom h4{font-size: 16px; margin-bottom: 16px;}
	.ct_head{font-size: 14px;}
	.ct_head span::before{width: 85px;height: 67px; left: -100px;}
	.ct_head span{padding: 10px 0;text-align: left; margin-left: 80px;}
	.ct_body{padding: 25px 0;}
	.ct_body h2{font-size: 20px; margin-bottom: 15px;}
	.ct_contact h3{font-size: 16px;}
	.def_sec{padding: 30px 0;}
	.def_sec h2{font-size: 24px; margin-bottom: 20px; padding-bottom: 16px;}
	.list_reason li::before{right: 0;}
	.list_reason li:nth-child(even)::before{left: 0;}
	.list_reason li .reason_num{font-size: 20px;top: -35px;}
	.list_reason li .reason_num span{font-size: 50px;}
	.reason_inner{flex-direction: column;}
	.list_reason li{padding: 20px 0;}
	.list_reason li .reason_cnt{width: 90%;}
	.list_reason li figure{width: 90%; margin-bottom: 10px;}
	.list_reason li .reason_cnt h3{text-align: center;font-size: 18px; margin-bottom: 8px;}
	.mes_cnt{width: 100%;}
	.list_reason{margin-top: 50px;}
	.mess_sp{display: flex;}
	.mess h3{font-size: 12px;margin-bottom: 10px;}
	.prof{padding: 10px 22px;}
	.mess{margin-bottom: 20px;}
	.list_flow{flex-direction: column;gap:28px;}
	.list_flow li{width: 100%; position: relative;}
	.flow_wrap{padding: 20px 20px 20px 10px;display: flex; gap:10px;}
	.flow_cnt{width: calc(100% - 130px);}
	.list_flow li h4{text-align: left;}
	.list_flow li:not(:last-child)::after{
		display: block;
		content: '';
		width: 12px;
		height: 12px;
		position: absolute;
		border-right: 4px solid #209b61;
		border-bottom: 4px solid #209b61;
		margin: auto;
		left: 0;
		right: 0;
		bottom: -20px;
		transform: rotate(45deg);
	}
	.icon_faq{font-size: 30px;width: 28px;}
	.wrap_faq dl dt,.wrap_faq dl dd{padding: 16px 40px 16px 10px;}
	.wrap_faq dl dt h3{width: calc(100% - 28px);font-size: 14px;}
	.a_box{width: calc(100% - 28px);font-size: 14px;}
	.sec_menseki{padding: 25px 0;}
	.sec_menseki h2{font-size: 18px; margin-bottom: 10px;}
	.ttl_reso_b{font-size: 18px;}
	.reso_b_wrap .ct_contact{margin-top: 20px;}
}