#main_v{
	background: url(../images/home/fv_bg@x2.jpg);
	background-size: cover;
	background-position: center;
	padding-top: 140px;
	padding-bottom: 80px;
	position: relative;
}
#main_v .main_i{
	justify-content: space-between;
	align-items: center;
}
#main_v .main_i .main_l{
	width: 50%;
	flex-shrink: 0;
}
#main_v .main_i .main_l .sub_txt{
	font-size: 2.4rem;
	font-weight: 600;
	border: 2px solid var(--color-main);
	background: var(--color-white);
	text-align: center;
	padding:15px 10px;
	letter-spacing: 4px;
	line-height: 1;
	border-radius: 10px;
	margin-bottom: 15px;
	position: relative;
}
#main_v .main_i .main_l .sub_txt:after {
	content: "";
	width: 2px;
	height: 24px;
	background: var(--color-main);
	display: block;
	position: absolute;
	transform: rotate(-35deg);
	left: 90px;
	top: 45px;
}
#main_v .main_i .main_l .main_copy_w{
	margin-bottom: 30px;
}
#main_v .main_i .main_l .main_copy_w .main_copy {
	font-size: 6.8rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 14px;
	margin-bottom: 5px;
}
#main_v .main_i .main_l .main_copy_w .main_copy span{
	color: var(--color-main);
}
#main_v .main_i .main_l .main_copy_w .s_name {
	font-size: 4.2rem;
	font-weight: 600;
	letter-spacing: 6px;
}
#main_v .main_i .main_l .txt{
	font-weight: 600;
}
#main_v .main_i .main_l .txt span {
	color: var(--color-main);
}
#main_v .main_i .main_r{
	padding: 0 60px;
}
@media screen and (max-width: 750px) {
	#main_v{
		padding-top: 110px;
		background: url(../images/home/fv_bg_sp.jpg);
		background-size: cover;
		background-position: center;
		padding-bottom: 40px;
	}
	#main_v .main_i .main_l{
		width: 100%;
		margin-bottom: 20px;
	}
	#main_v .main_i .main_l .sub_txt{
		padding: 10px 4px;
		font-size: 1.6rem;
		letter-spacing: 2px;
	}
	#main_v .main_i .main_l .sub_txt:after {
		height: 20px;
		left: 55px;
		top: 28px;
	}
	#main_v .main_i .main_l .main_copy_w {
		margin-bottom: 10px;
	}
	#main_v .main_i .main_l .main_copy_w .main_copy{
		font-size: 4.0rem;
        line-height: 1.25;
        letter-spacing: 6px;
	}
	#main_v .main_i .main_l .main_copy_w .s_name {
		font-size: 2.2rem;
		font-weight: 600;
		letter-spacing: 5px;
	}
	#main_v .main_i .main_l .txt {
		font-weight: 600;
		line-height: 1.75;
	}
	#main_v .main_i .main_r{
		padding: 0;
	}
}

#worrie{
	padding: 70px 0 0;
	background: var(--color-bg-gray);
}
#worrie .worrie_lis_w{
	justify-content: space-between;
	position: relative;
	top: 40px;
	z-index: 2;
}
#worrie .worrie_lis_w .worrie_lis_i{
	width: 31%;
	box-sizing: border-box;
	padding: 30px;
	background: var(--color-white);
	border-radius: 10px;
}
#worrie .worrie_lis_w .worrie_lis_i .worrie_lis_i_h{
	flex-direction: column;
	text-align: center;
}
#worrie .worrie_lis_w .worrie_lis_i .worrie_lis_i_h:after{
	content: "";
	width: 50px;
	height: 3px;
	border-radius: 100px;
	background: var(--color-main);
	display: block;
	margin-top: 15px;
	margin-bottom: 15px;
	margin-left: auto;
	margin-right: auto;
}
#worrie .worrie_lis_w .worrie_lis_i .worrie_lis_i_h .icon{
	margin-bottom: 15px;
}
#worrie .worrie_lis_w .worrie_lis_i .worrie_lis_i_h .worrie_sub_ttl{
	font-weight: 600;
	font-size: 1.8rem;
	line-height: 1.6;
}
#worrie .worrie_lis_w .worrie_lis_i .worrie_lis_i_h .worrie_sub_ttl span{
	color: var(--color-main);
}
#worrie .worrie_lis_w .worrie_lis_i .txt{
	line-height: 1.75;
}
#worrie .img{
    position: absolute;
    top: 0px;
    right: 60px;
	z-index: 1;
}
#worrie .deco_01 {
	position: absolute;
	top: 0px;
	right: 380px;
}
#worrie .deco_02 {
	position: absolute;
	top: 0px;
	right: 0;
}
@media screen and (max-width: 750px) {
	#worrie{
		padding: 60px 0 40px;
	}
	#worrie .lead_txt{
		width: 55%;
	}
	#worrie .worrie_lis_w{
		top: 0;
		margin-top: 30px;
	}
	#worrie .worrie_lis_w .worrie_lis_i{
		width: 100%;
		padding: 20px 20px;
		margin-bottom: 20px;
	}
	#worrie .worrie_lis_w .worrie_lis_:nth-last-of-type(1){
		margin-bottom: 0;
	}
	#worrie .worrie_lis_w .worrie_lis_i .worrie_lis_i_h{
		flex-direction:row;
		align-items: center;
		margin-bottom: 15px;
	}
	#worrie .worrie_lis_w .worrie_lis_i .worrie_lis_i_h:after{
		display: none;
	}
	#worrie .worrie_lis_w .worrie_lis_i .worrie_lis_i_h .worrie_sub_ttl{
		font-size: 1.5rem;
		text-align: left;
	}
	#worrie .worrie_lis_w .worrie_lis_i .worrie_lis_i_h .icon{
		width: 25%;
		margin-right: 15px;
		margin-bottom: 0;
		flex-shrink: 0;
	}

	#worrie .img {
        position: absolute;
        top: 140px;
        right: -10px;
        z-index: 2;
        /* bottom: -120px; */
        width: 46%;
    }
	#worrie .deco_01 {
		position: absolute;
		top: -6px;
		right: 0px;
		width: 47%;
	}
	#worrie .deco_02 {
        position: absolute;
        top: 100px;
        right: -20px;
        width: 34%;
    }
}

#about_hpm {
	padding: 100px 0 110px;
}
#about_hpm .lead_txt{
	margin-bottom: 40px;
}
#about_hpm .about_hpm_w{}
#about_hpm .about_hpm_i{
	position: relative;
	margin-bottom: 80px;
}
#about_hpm .about_hpm_i:nth-last-of-type(1){
	margin-bottom: 0;
}
#about_hpm .about_hpm_i:nth-of-type(2n) .imgarea {
	text-align: right;
}
#about_hpm .about_hpm_i .txtarea{
	width: 65%;
	position: absolute;
	right: 0;
	top: 60px;
	min-height: 280px;
	box-sizing: border-box;
	padding: 35px 0;
	border-radius: 15px;
}
#about_hpm .about_hpm_i:nth-of-type(2n) .txtarea{
	right: auto;
	left: 0;
}
#about_hpm .about_hpm_i .txtarea .about_hpm_i_h{
	align-items: center;
	margin-bottom: 20px;
}
#about_hpm .about_hpm_i .txtarea .about_hpm_i_h .num{
	font-weight: 600;
	font-size: 2.0rem;
	margin-right: 25px;
	align-items: center;
}
#about_hpm .about_hpm_i .txtarea .about_hpm_i_h .num::before{
	content: "";
	width: 40px;
	height: 2px;
	background: var(--color-main);
	margin-right: 10px;
}
#about_hpm .about_hpm_i .txtarea .about_hpm_i_h .num.c_sub::before{background: var(--color-sub);}
#about_hpm .about_hpm_i .txtarea .about_hpm_i_h .num.c_sub::before{background: var(--color-sub);}
#about_hpm .about_hpm_i .txtarea .about_hpm_i_h .num.c_sub_red::before{background: var(--color-sub-red);}
#about_hpm .about_hpm_i .txtarea .about_hpm_i_h .num.c_sub_green::before{background: var(--color-sub-green);}
#about_hpm .about_hpm_i .txtarea .about_hpm_i_h .cat{
	border-bottom: 2px solid;
	line-height: 1;
	padding-bottom: 5px;
	font-weight: 600;
}
#about_hpm .about_hpm_i .txtarea .about_hpm_i_c{
	padding-left: 50px;
	padding-right: 40px;
}
#about_hpm .about_hpm_i .txtarea .about_hpm_i_c .about_hpm_sub_ttl{
	font-size: 2.8rem;
	font-weight: 600;
	margin-bottom: 15px;
	letter-spacing: 4px;
}
#about_hpm .about_hpm_i .txtarea .about_hpm_i_c .txt{
	line-height: 1.75;
	border-left: 3px solid var(--color-main);
	padding-left: 20px;
}
#about_hpm .about_hpm_i:nth-of-type(2) .txtarea .about_hpm_i_c .txt {border-left: 3px solid var(--color-sub);}
#about_hpm .about_hpm_i:nth-of-type(3) .txtarea .about_hpm_i_c .txt {border-left: 3px solid var(--color-sub-red);}
#about_hpm .about_hpm_i:nth-of-type(4) .txtarea .about_hpm_i_c .txt {border-left: 3px solid var(--color-sub-green);}
@media screen and (max-width: 750px) {
	#about_hpm{
		padding: 60px 0 40px;
	}
	#about_hpm .lead_txt {
		margin-bottom: 20px;
	}
	#about_hpm .about_hpm_i{
		margin-bottom: 30px;
	}
	#about_hpm .about_hpm_i .txtarea .about_hpm_i_h{
		margin-bottom: 10px;
	}
	#about_hpm .about_hpm_i .txtarea {
		width: 94%;
		position: relative;
		right: auto;
		top: 0;
		min-height: 280px;
		padding: 20px 0;
		left: 50%;
		transform: translate(-50%, 0px);
		margin-top: -50px;
	}
	#about_hpm .about_hpm_i:nth-of-type(2n) .txtarea{
		left: 50%;
	}
	#about_hpm .about_hpm_i .txtarea .about_hpm_i_c {
		padding-left: 20px;
		padding-right: 20px;
	}
	#about_hpm .about_hpm_i .txtarea .about_hpm_i_h .num{
		margin-right: 12px;
	}
	#about_hpm .about_hpm_i .txtarea .about_hpm_i_h .num::before{
		width: 20px;
	}
	#about_hpm .about_hpm_i .txtarea .about_hpm_i_c .about_hpm_sub_ttl{
		font-size: 2.0rem;
		letter-spacing: 2px;
	}
	#about_hpm .about_hpm_i .txtarea .about_hpm_i_c .txt{
		padding-left: 15px;
	}
}

#functions {
	padding: 70px 0;
}
#functions .lead_txt {
	margin-bottom: 40px;
}
#functions .functions_w {
	justify-content: space-between;
	margin-bottom: 40px;
}
#functions .functions_l_w {
	width: 50%;
}
#functions .functions_l_lis_w .functions_l_lis_i {
	align-items: center;
	border-top: 1px solid var(--color-gray);
	padding: 8px 10px 8px 10px;
	cursor: pointer;
	transition: background 0.2s;
}
#functions .functions_l_lis_w .functions_l_lis_i:nth-last-of-type(1) {
	border-bottom: 1px solid var(--color-gray);
}
#functions .functions_l_lis_i:hover,
#functions .functions_l_lis_i.is_active {
	background: var(--color-bg-gray);
}
#functions .functions_l_lis_w .functions_l_lis_i > .flex{
	align-items: center;
}
#functions .functions_l_lis_w .functions_l_lis_i > .flex .num {
	font-size: 4.2rem;
	font-weight: 500;
	width: 65px;
	text-align: center;
	margin-right: 15px;
	flex-shrink: 0;
}
#functions .functions_l_lis_w .functions_l_lis_i .tag {
	width: 200px;
	box-sizing: border-box;
	padding: 5px;
	font-weight: 600;
	border-radius: 100px;
	line-height: 1.25;
	text-align: center;
	margin-right: 15px;
}
#functions .functions_l_lis_w .functions_l_lis_i .arrow {
	margin-left: auto;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 1px solid var(--color-gray);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: background 0.2s, border-color 0.2s;
}
#functions .functions_l_lis_w .functions_l_lis_i .arrow::after {
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	border-top: 2px solid var(--color-gray);
	border-right: 2px solid var(--color-gray);
	transform: rotate(45deg) translateX(-1px);
	transition: border-color 0.2s;
}
#functions .functions_l_lis_i.is_active:has(.c_main) .arrow {
	background: var(--color-main);
	border-color: var(--color-main);
}
#functions .functions_l_lis_i.is_active:has(.c_sub) .arrow {
	background: var(--color-sub);
	border-color: var(--color-sub);
}
#functions .functions_l_lis_i.is_active:has(.c_sub_red) .arrow {
	background: var(--color-sub-red);
	border-color: var(--color-sub-red);
}
#functions .functions_l_lis_i.is_active:has(.c_sub_green) .arrow {
	background: var(--color-sub-green);
	border-color: var(--color-sub-green);
}
#functions .functions_l_lis_i.is_active .arrow::after {
	border-color: #fff;
}
#functions .functions_r_w {
	width: 47.5%;
}
#functions .functions_r_w > div {
	display: none;
}
#functions .functions_r_w > div.is_active {
	display: block;
}
#functions .functions_r_w .imgarea {
	text-align: center;
	margin-bottom: 20px;
}
#functions .function_r_txt_h {
	margin-bottom: 20px;
	align-items: center;
}
#functions .function_r_txt_h .num {
	font-size: 2.0rem;
	font-weight: 500;
	margin-right: 15px;
}
#functions .functions_r_01 .function_r_txt_h .num,
#functions .functions_r_04 .function_r_txt_h .num,
#functions .functions_r_05 .function_r_txt_h .num { color: var(--color-main); }

#functions .functions_r_02 .function_r_txt_h .num,
#functions .functions_r_03 .function_r_txt_h .num { color: var(--color-sub); }

#functions .functions_r_06 .function_r_txt_h .num,
#functions .functions_r_07 .function_r_txt_h .num { color: var(--color-sub-red); }

#functions .functions_r_08 .function_r_txt_h .num { color: var(--color-sub-green); }

#functions .functions_r_w .txtarea .function_r_txt_h .function_sub_ttl {
	font-size: 2.8rem;
	font-weight: 600;
}
#functions .function_r_lis_i {
	border: 1px solid var(--color-gray);
	padding: 10px 15px;
	border-radius: 100px;
	margin-bottom: 10px;
	display: flex;
	align-items: center;
}
#functions .function_r_lis_i::before {
	content: '';
	width: 8px;
	height: 8px;
	min-width: 8px;
	display: block;
	border-radius: 50%;
	margin-right: 10px;
}
#functions .functions_r_01 .function_r_lis_i::before,
#functions .functions_r_04 .function_r_lis_i::before,
#functions .functions_r_05 .function_r_lis_i::before { background: var(--color-main); }

#functions .functions_r_02 .function_r_lis_i::before,
#functions .functions_r_03 .function_r_lis_i::before { background: var(--color-sub); }

#functions .functions_r_06 .function_r_lis_i::before,
#functions .functions_r_07 .function_r_lis_i::before { background: var(--color-sub-red); }

#functions .functions_r_08 .function_r_lis_i::before { background: var(--color-sub-green); }

@media screen and (max-width: 750px) {

	#functions .functions_w {
		flex-direction: column;
	}
	#functions .functions_l_w {
		width: 100%;
	}
	#functions .functions_r_w {
		width: 100%;
		display: none; /* JS管理 */
	}
	#functions .functions_l_lis_w .functions_l_lis_i{
		padding: 8px 5px 8px 0px;
	}
	/* アコーディオンパネル */
	#functions .functions_l_lis_i {
		flex-direction:wrap;
		
	}
	#functions .functions_l_lis_w .functions_l_lis_i > .flex .num{
		font-size: 3.2rem;
		width: 45px;
		margin-right: 10px;
	}
	#functions .functions_l_lis_w .functions_l_lis_i .tag{
		width: 104px;
		font-size: 1.2rem;
		flex-shrink: 0;
		border-radius: 10px;
		margin-right: 10px;
	}
	#functions .functions_l_lis_w .functions_l_lis_i .name{
		width: 100%;
	}
	#functions .functions_l_lis_i .accordion_panel {
		display: block;
		width: 100%;
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.35s ease;
	}
	#functions .functions_l_lis_i.is_open .accordion_panel {
		padding: 16px 0 8px;
	}
	#functions .functions_l_lis_w .functions_l_lis_i .arrow {
		position: relative;
		width: 20px;
		height: 20px;
	}
	#functions .functions_l_lis_w .functions_l_lis_i .arrow::after {
		width: 10px;
		height: 2px;
		background: var(--color-gray);
		border: none;
		transform: none;
	}
	#functions .functions_l_lis_w .functions_l_lis_i .arrow::before {
		content: '';
		display: block;
		position: absolute;
		width: 2px;
		height: 10px;
		background: var(--color-gray);
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		transition: opacity 0.3s;
	}
	#functions .functions_l_lis_i.is_open .arrow::before {
		opacity: 0;
	}
	#functions .accordion_panel .imgarea {
		margin-bottom: 0px;
		padding: 0 65px;
	}
	#functions .accordion_panel .function_r_txt_h .num {
		font-size: 1.4rem;
	}
	#functions .accordion_panel .function_r_txt_h .function_sub_ttl {
		font-size: 2.0rem;
	}
}

#pdca#pdca {
	padding: 70px 0 60px;
	position: relative;
}
#pdca .lead_txt {
	margin-bottom: 40px;
}
#pdca .pdca_ww{
	position: relative;
}
#pdca .pdca_ww .mark{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
#pdca .pdca_w{
	justify-content: space-between;
	margin-bottom: 20px;
}
#pdca .pdca_w.pdca_w_02{
	flex-direction:row-reverse
}
#pdca .pdca_w .pdca_i{
	width: 49%;
	padding: 30px;
	border-radius: 10px;
}
#pdca .pdca_w .pdca_i .pdca_i_h_w{
	align-items: center;
}
#pdca .pdca_w .pdca_i .pdca_i_h_w .imgarea{
	flex-shrink: 0;
	margin-right: 25px;
}
#pdca .pdca_w .pdca_i .pdca_i_h{
	align-items: center;
	margin-bottom: 15px;
}
#pdca .pdca_w .pdca_i .pdca_i_h .num{
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1;
	margin-right: 15px;
	flex-shrink: 0;
}
#pdca .pdca_w .pdca_i .pdca_i_h .pdca_sub_ttl{
	font-size: 2.4rem;
	font-weight: 600;
}
#pdca .pdca_w .pdca_i .pdca_i_h .pdca_sub_ttl span{
	font-size: 1.8rem;
}
#pdca .pdca_w .pdca_i .txt{
	font-weight: 600;
	margin-bottom: 15px;
}
#pdca .pdca_w .pdca_i .pdca_i_lis_w{}
#pdca .pdca_w .pdca_i .pdca_i_lis_w .pdca_i_lis_i{
	border: 1px solid var(--color-gray);
    padding: 10px 15px;
    border-radius: 100px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}
#pdca .pdca_w .pdca_i .pdca_i_lis_w .pdca_i_lis_i::before {
	content: '';
	display: block;
	width: 14px;
	height: 8px;
	min-width: 14px;
	border-left: 2px solid;
	border-bottom: 2px solid;
	transform: rotate(-45deg) translateY(-2px);
	margin-right: 10px;
}
#pdca .pdca_i_01 .pdca_i_lis_i::before { color: var(--color-main); }
#pdca .pdca_w_01 .pdca_i_02 .pdca_i_lis_i::before { color: var(--color-sub); }
#pdca .pdca_w_02 .pdca_i_01 .pdca_i_lis_i::before { color: var(--color-sub-green); }
#pdca .pdca_w_02 .pdca_i_02 .pdca_i_lis_i::before { color: var(--color-sub-red); }
#pdca .wave_divider {
	width: 100%;
	overflow: hidden;
	line-height: 0;
	position: absolute;
    bottom: 0;
}
#pdca .wave_divider svg {
	display: block;
	width: 100%;
}
@media screen and (max-width: 750px) {
	#pdca{
		padding: 60px 0 30px;
	}
	#pdca .pdca_w{
		gap:20px
	}
	#pdca .pdca_w .pdca_i{
		width: 100%;
		padding: 30px 20px;
	}
	#pdca .pdca_w .pdca_i .pdca_i_h_w .imgarea{
		width: 100%;
		text-align: center;
		margin-right: 0;
		margin-bottom: 20px;
	}
	#pdca .pdca_w .pdca_i .pdca_i_h{
		
	}
	#pdca .pdca_w .pdca_i .pdca_i_h .num{
		margin-right: 10px;
	}
	#pdca .pdca_w .pdca_i .pdca_i_h .pdca_sub_ttl{
		font-size: 2.0rem;
		line-height: 1.25;
	}
	#pdca .pdca_w .pdca_i .pdca_i_h .pdca_sub_ttl span{
		font-size: 1.6rem;
	}
	#pdca .wave_divider svg {
		height: 110px;
	}
}

#case {
	padding: 0px 0 0px;
	position: relative;
}
#case .lead_txt {
	margin-bottom: 40px;
}
#case .case_i {
	padding: 50px;
	border-radius: 10px;
}
#case .case_i .case_i_h {
	border-bottom: 1px solid var(--color-gray);
	padding-bottom: 30px;
	margin-bottom: 25px;
}
#case .case_i .case_i_h .icon {
	flex-shrink: 0;
	margin-right: 30px;
}
#case .case_i .case_i_h .txtarea {
	padding-top: 10px;
}
#case .case_i .case_i_h .txtarea .case_meta {
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1;
	margin-bottom: 10px;
}
#case .case_i .case_i_h .txtarea .case_subttl {
	font-size: 2.4rem;
	letter-spacing: 4px;
	margin-bottom: 10px;
	font-weight: 600;
}
#case .case_i .case_d_w {
	margin-bottom: 15px;
	position: relative;
}
#case .case_i .case_d_w::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 80px;
	background: linear-gradient(to bottom, transparent, #fff);
	pointer-events: none;
	transition: opacity 0.4s;
}
#case .case_i.is_open .case_d_w::after {
	opacity: 0;
}
#case .case_i .case_d_i {
	margin-bottom: 5px;
	align-items: center;
}
#case .case_i .case_d_i .case_d_i_ttl {
	width: 25%;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	padding: 15px 10px;
	margin-right: 15px;
	font-weight: 600;
}
#case .case_i .bottom_txt {
	padding: 20px;
}
#case .swiper{
	padding: 20px 30px 30px 30px;
}
#case .case_slider_w {
	position: relative;
	padding: 0 10px;
	margin-top: 20px;
}
#case .case_arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 10;
	background: none;
	border: none;
}
#case .case_prev { left: 0; }
#case .case_next { right: 0; }
#case .case_arrow span {
	display: block;
	width: 50px;
	height: 50px;
	border-top: 2px solid var(--color-main);
	border-right: 2px solid var(--color-main);
	transition: opacity 0.2s;
}
#case .case_arrow:hover span {
	opacity: 0.6;
}
#case .case_prev span {
	transform: rotate(-135deg) translateY(-2px);
}
#case .case_next span {
	transform: rotate(45deg) translateY(-2px);
}
#case .case_arrow.swiper-button-disabled {
	opacity: 0.3;
	pointer-events: none;
}
#case .case_d_more {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s ease;
}
#case .case_d_more.is_open {
	max-height: 1000px;
}
#case .case_more_btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 14px;
	background: none;
	border: none;
	cursor: pointer;
	font-size: 1.4rem;
	font-weight: 600;
	color: var(--color-main);
}
#case .case_more_icon {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--color-main);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	transition: transform 0.3s;
}
#case .case_more_icon::before,
#case .case_more_icon::after {
	content: '';
	position: absolute;
	background: #fff;
	border-radius: 2px;
}
#case .case_more_icon::before {
	width: 10px;
	height: 2px;
}
#case .case_more_icon::after {
	width: 2px;
	height: 10px;
	transition: opacity 0.3s;
}
#case .case_more_btn.is_open .case_more_icon::after {
	opacity: 0;
}
#case .case_pagination {
	text-align: center;
	margin-top: 20px;
	position: relative;
}
#case .case_pagination .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
	background: var(--color-gray);
	opacity: 1;
	margin: 0 4px;
}
#case .case_pagination .swiper-pagination-bullet-active {
	background: var(--color-main);
	width: 24px;
	border-radius: 4px;
}
@media screen and (max-width: 750px) {
	#case{
		padding: 0px 0 0px;
	}
	#case .case_slider_w {
		padding: 0 0px;
	}
	#case .case_i .case_i_h .icon{
		width: 100%;
	    text-align: center;
		margin-right: 0;
		margin-bottom: 15px;
	}
	#case .case_i .case_i_h .icon img{
		width: 80px;
	}
	#case .case_i .case_i_h .txtarea .case_meta{
		font-size: 1.2rem;
		margin-bottom: 5px;
	}
	#case .case_i .case_i_h .txtarea .case_subttl {
		font-size: 1.8rem;
		letter-spacing: 2px;
		margin-bottom: 10px;
		line-height: 1.3;
	}
	#case .case_i .case_i_h{
		padding-bottom: 15px;
		margin-bottom: 20px;
	}
	#case .case_i .case_d_w .case_d_i .case_d_i_ttl{
		width: 100%;
		margin-right: 0;
		padding: 10px 10px;
		margin-bottom: 10px;
	}
	#case .case_i {
		padding: 24px;
	}
	#case .swiper{
		padding: 20px 10px 30px 10px;
	}
	#case .case_arrow{
		display: none;
	}
}

#dashbord {
	padding: 150px 0 170px;
	position: relative;
	background: url(../images/home/or_pattern_bg@x2.jpg);
	background-size: cover;
	position: relative;
}
#dashbord .wave_divider_top{
	position: absolute;
	top: -6px;
	width: 100%;
}
#dashbord .wave_divider_bottom{
	position: absolute;
    bottom: -6px;
    width: 100%;
}
#dashbord .lead_txt {
	margin-bottom: 40px;
}
#dashbord .dashbord_w{
	padding:40px 30px;
	border-radius: 10px;
}
#dashbord .dashbord_w .tab_btn_w{
	justify-content: space-between;
	margin-bottom: 40px;
}
#dashbord .dashbord_w .tab_btn_w .tab_btn_i{
	width: 24.5%;
	border-radius: 100px;
	border: 1px solid var(--color-main);
	padding: 5px;
	align-items: center;
	position: relative;
	cursor: pointer;
}
#dashbord .dashbord_w .tab_btn_w .tab_btn_i .btn__icon{
	background: var(--color-main);
	transform: rotate(90deg);
}
#dashbord .dashbord_w .tab_btn_w .tab_btn_i .btn__icon::after{
	border-top: 2px solid var(--color-white);
    border-right: 2px solid var(--color-white);
}
#dashbord .dashbord_w .tab_btn_w .tab_btn_i.active{
	background: var(--color-main);
	color: var(--color-white);
}
#dashbord .dashbord_w .tab_btn_w .tab_btn_i.active .btn__icon{
	background: var(--color-white);
}
#dashbord .dashbord_w .tab_btn_w .tab_btn_i.active .btn__icon::after{
	border-top: 2px solid var(--color-main);
    border-right: 2px solid var(--color-main);
}
#dashbord .dashbord_w .tab_btn_w .tab_btn_i.active::after {
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
	border-top: 10px solid var(--color-main);
	border-bottom: 0;
	content: "";
	display: block;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translate(-50%, 0px);
}
#dashbord .dashbord_w .tab_btn_w .tab_btn_i .txt{
	width: 100%;
	text-align: center;
}
#dashbord .dashbord_w .tab_content_w{}
#dashbord .dashbord_w .tab_content_w .txtarea{
	width: 50%;
	margin-left: auto;
	position: relative;
}
#dashbord .dashbord_w .tab_content_w .txtarea .txt_i{
	position: relative;
	z-index: 2;
}
#dashbord .dashbord_w .tab_content_w .txtarea .sub_ttl{
	font-size: 2.4rem;
	font-weight: 600;
	letter-spacing: 4px;
}
#dashbord .dashbord_w .tab_content_w .txtarea .sub_ttl:after {
	content: "";
	width: 50px;
	height: 3px;
	border-radius: 100px;
	background: var(--color-main);
	display: block;
	margin-top: 20px;
	margin-bottom: 30px;
}
#dashbord .dashbord_w .tab_content_w .txtarea .dashbord_lis_i {
	border: 1px solid var(--color-gray);
	padding: 10px 15px;
	border-radius: 100px;
	margin-bottom: 10px;
	display: flex;
	align-items: center;
}
#dashbord .dashbord_w .tab_content_w .txtarea .dashbord_lis_i::before {
	content: '';
	display: block;
	width: 14px;
	height: 8px;
	min-width: 14px;
	border-left: 2px solid;
	border-bottom: 2px solid;
	transform: rotate(-45deg) translateY(-2px);
	margin-right: 10px;
	color: var(--color-main);
}
#dashbord .dashbord_w .tab_c_i .txtarea .num {
	position: absolute;
	top: 0;
	right: 0;
	opacity: 0.25;
	font-size: 12rem;
	line-height: 1;
	font-weight: 500;
	letter-spacing: 8px;
}
#dashbord .dashbord_w .tab_c_i .imgarea{
    position: absolute;
    left: 0;
	bottom: -60px;
}
#dashbord .dashbord_w .tab_content_w .tab_c_i {
	display: none;
}
#dashbord .dashbord_w .tab_content_w .tab_c_i.active {
	display: block;
}
@media screen and (max-width: 750px) {
	#dashbord{
		padding: 60px 0 80px;
	}
	#dashbord .lead_txt {
		margin-bottom: 20px;
	}
	#dashbord .dashbord_w{
		padding: 30px 20px 0;
	}
	#dashbord .dashbord_w .tab_btn_w{
		gap: 5px;
		margin-bottom: 20px;
	}
	#dashbord .dashbord_w .tab_btn_w .tab_btn_i{
		width: 49%;
		font-size: 1.2rem;
	}
	#dashbord .dashbord_w .tab_btn_w .tab_btn_i.active::after{
		display: none;
	}
	#dashbord .dashbord_w .tab_content_w .txtarea{
		width: 100%;
	}
	#dashbord .dashbord_w .tab_content_w .txtarea .sub_ttl{
		font-size: 2.0rem;
		letter-spacing: 2px;
	}
	#dashbord .dashbord_w .tab_content_w .txtarea .sub_ttl:after{
		content: "";
		width: 50px;
		height: 3px;
		border-radius: 100px;
		background: var(--color-main);
		display: block;
		margin-top: 10px;
		margin-bottom: 20px;
	}
	#dashbord .dashbord_w .tab_c_i .txtarea .num{
		position: absolute;
		top: -5px;
		right: -7px;
		opacity: 0.25;
		font-size: 9rem;
		line-height: 1;
		font-weight: 500;
		letter-spacing: 8px;
	}
	#dashbord .dashbord_w .tab_content_w .txtarea .dashbord_lis_i{
		border-radius: 10px;
	}
	#dashbord .dashbord_w .tab_c_i .imgarea{
		position: relative;
		top: 20px;
		bottom: auto;
	}
}

#flow {
	padding: 0px 0 60px;
	position: relative;
}
#flow .lead_txt {
	margin-bottom: 40px;
}
#flow .flow_w{
	justify-content: space-between;
}
#flow .flow_w .flow_i {
	width: 31.5%;
	display: flex;
	flex-direction: column;
	border-radius: 10px;
	position: relative;
}
#flow .flow_w .flow_i::after{
	content: "";
	width: 57px;
	height: 13px;
	display: block;
	background: url(../images/home/flow_arr@x2.png);
	background-size: cover;
	position: absolute;
	right: -40px;
    z-index: 2;
    top: 30px;
}
#flow .flow_w .flow_i:nth-last-of-type(1):after {
	display: none;
}
#flow .flow_w .flow_i .num{
	font-size: 4.2rem;
	font-weight: 500;
	text-align: center;
}
#flow .flow_w .flow_i .num span{
	border-top: 2px solid var(--color-main);
}
#flow .flow_w .flow_i .flow_h{
	padding:0 20px 20px;
	align-items: center;
}
#flow .flow_w .flow_i .flow_h .icon{
	flex-shrink: 0;
	margin-right: 15px;
}
#flow .flow_w .flow_i .flow_h .subttl{
	font-size: 2.2rem;
	font-weight: 600;
	margin-bottom: 10px;
	line-height: 1;
}
#flow .flow_w .flow_i .b_txt {
	margin-top: auto;
	min-height: 140px;
	padding: 20px;
	box-sizing: border-box;
}
@media screen and (max-width: 750px) {
	#flow{
		padding: 30px 0 80px;
	}
	#flow .lead_txt {
		margin-bottom: 20px;
	}
	#flow .flow_w{
		gap: 30px;
	}
	#flow .flow_w .flow_i{
		width: 100%;
	}
	#flow .flow_w .flow_i .flow_h .icon{
		width: 25%;
	}
	#flow .flow_w .flow_i .flow_h .subttl{
		font-size: 1.8rem;
	}
	#flow .flow_w .flow_i::after {
		background-size: cover;
		position: absolute;
		right: 0;
		z-index: 2;
		top: 103%;
		transform: rotate(90deg);
	}
	#flow .flow_w .flow_i .b_txt{
		min-height: auto;
		height: auto;
	}
}

#faq {
	padding: 70px 0;
	background-color: #fafafa;
	background-image:
		linear-gradient(to right, rgba(0,0,0,0.03) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(0,0,0,0.03) 1px, transparent 1px);
	background-size: 10px 10px;
}
#faq .lead_txt {
	margin-bottom: 40px;
}
#faq{
	padding: 60px 0;
}
.faq_w{
	margin-bottom: 40px;
}
.faq_i {
	border-radius: 10px;
	margin-bottom: 20px;
	transition: 0.5s;
}
.faq_i.open {
	border-radius: 10px;
}
.faq_i .ico {
	display: flex;
	width: 40px;
	height: 40px;
	align-items: center;
	justify-content: center;
	border-radius: 100%;
	margin-right: 20px;
	font-weight: 600;
	flex-shrink: 0;
	line-height: 1;
	font-size: 2.4rem;
}
.faq_i h3 {
	font-size: 1.8rem;
	margin-top: 5px;
	font-weight: 600;
	color: #fff;
}
.faq_i p {
	margin-top: 5px;
}
.faq_i .q {
	position: relative;
	cursor: pointer;
	padding: 20px;
	border-radius: 20px 20px 0 20px;
}
.faq_i .q:after {
	content: "×";
	font-size: 1.8rem;
	font-weight: 900;
	position: absolute;
	top: 44%;
	right: 30px;
	transform: rotate(45deg) translate(0, -50%);
	color: #fff;
	transition: 0.5s;
}
.faq_i.open .q:after {
	top: 50%;
	right: 18px;
	transform: rotate(0) translate(0, -50%);
}
.faq_i .a {
	padding-top: 0;
	display: block;  /* display:none → block */
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.35s ease;
}
.faq_i.open .a {
	padding-top: 30px;
}
.faq_i .a a{
	text-decoration: underline;
}
@media screen and (max-width: 750px) {
	#faq {
		position: relative;
		padding: 60px 0 40px;
	}
	.faq_w .sub_ttl{
		font-size: 2.0rem;
	}
	.faq_i {
		border-radius: 30px;
	}
	.faq_i .q .flex {
		padding-right: 30px;
	}
	.faq_i h3 {
		margin-top: 0;
		font-size: 1.4rem;
	}
	.faq_i .ico {
		width: 30px;
		height: 30px;
		margin-right: 20px;
	}
}

#price {
	padding: 70px 0 50px;
}
#price .lead_txt {
	margin-bottom: 40px;
}
#price .price_w{
	margin-bottom: 30px;
}
#price .price_w .price_i{
	width: 50%;
	box-sizing: border-box;
}
#price .price_w .price_i:nth-of-type(1){
	padding-right: 40px;
	border-right: 1px solid var(--color-gray);
}
#price .price_w .price_i:nth-of-type(2) {
	padding-left: 40px;
}
#price .price_w .price_i .icon{
	flex-shrink: 0;
}
#price .price_w .price_i .icon img{
	filter: drop-shadow(0px 15px 30px rgba(244, 133, 54, 0.15));
}
#price .price_w .price_i .txtarea{
	margin-left: 25px;
	padding-top: 15px;
}
#price .price_w .price_i .txtarea .subttl{
	font-size: 2.0rem;
	font-weight: 600;
	margin-bottom: 10px;
	display: flex;
	align-items: center;
}
#price .price_w .price_i .txtarea .subttl:before {
	content: "";
	width: 8px;
	height: 8px;
	background: var(--color-main);
	display: block;
	flex-shrink: 0;
	border-radius: 100%;
	margin-right: 10px;
}
#price .price_voice_ww{
	position: relative;
}
#price .price_voice_ww .price_voice_w{
	align-items: center;
	position: relative;
	z-index: 2;
}
#price .price_voice_w .icon{
	flex-shrink: 0;
	margin-right: 20px;
}
#price .price_voice_w .txtarea{}
#price .price_voice_w .txtarea .tag{
	font-weight: 600;
	margin-bottom: 10px;
}
#price .price_voice_w .txtarea .tag span{
	padding: 5px 15px;
	line-height: 1;
	display: inline-block;
}
#price .price_voice_w .txtarea .txt{
	margin-bottom: 10px;
}
#price .price_voice_w .txtarea .meta{
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1;
	margin-bottom: 10px;
}
#price .price_voice_ww .quote{
	position: absolute;
	right: 0;
	top: 50%;
	transform: translate(0,-50%);
}
@media screen and (max-width: 750px) {
	#price {
		position: relative;
		padding: 50px 0 20px;
	}
	#price .lead_txt {
		margin-bottom: 20px;
	}
	#price .price_w .price_i{
		width: 100%;
	}
	#price .price_w .price_i:nth-of-type(1){
		padding-right: 0;
		border-right: 0px solid var(--color-gray);
		border-bottom: 1px solid var(--color-gray);
		padding-bottom: 25px;
		margin-bottom: 25px;
	}
	#price .price_w .price_i:nth-of-type(2){
		padding-left: 0;
	}
	#price .price_w .price_i .icon {
		flex-shrink: 0;
		width: 25%;
	}
	#price .price_w .price_i .txtarea {
		margin-left: 20px;
		padding-top: 5px;
	}
	#price .price_w .price_i .txtarea .subttl{
		font-size: 1.8rem;
	}
	#price .price_voice_w .icon {
		flex-shrink: 0;
		margin-right: 0px;
		margin-bottom: 15px;
		width: 100%;
		text-align: center;
	}
	#price .price_voice_w .icon img{
		width: 120px;
	}
	#price .price_voice_w .txtarea .meta {
		font-size: 1.2rem;
		font-weight: 600;
		line-height: 1.5;
		margin-bottom: 10px;
		letter-spacing: 1px;
	}
}

#document{
	padding: 0;
	position: relative;
}
#document .wave_divider_top{
    position: absolute;
    top: 0;
    width: 100%;
}
#document:after{
	width: 100%;
	height: 80px;
	background: var(--color-bg-gray);
	position: absolute;
	bottom: 0;
	display: block;
	content: "";
}
#document .document_ww{
	padding: 50px 50px;
	border-radius: 20px;
}
#document .document_ww .document_h{
	padding-bottom: 10px;
	margin-bottom: 30px;
	border-bottom: 1px solid var(--color-white);
}
#document .sec_ttl_w{
	margin-bottom: 10px;
}
#document .document_ww .document_h .imgarea{
	width: 35%;
}
#document .document_w{
	gap: 20px;
	border-bottom: 1px solid var(--color-white);
	padding-bottom: 30px;
	margin-bottom: 30px;
}
#document .document_w .document_i{
	width: 49%;
}
#document .document_w .document_i .document_i_subttl{
	align-items: center;
	margin-bottom: 15px;
}
#document .document_w .document_i .document_i_subttl .num{
	font-size: 4.5rem;
	line-height: 1;
	font-weight: 500;
}
#document .document_w .document_i .document_i_subttl .dott{
	width: 6px;
	height: 6px;
	background: var(--color-sub-yellow);
	margin: 0 10px;
	border-radius: 100px;
	flex-shrink: 0;
}
#document .document_w .document_i .document_i_subttl .txt{
	font-size: 2.0rem;
	font-weight: 600;
}
#document .btm_area{}
#document .btm_area > .txt{
	text-align: center;
	font-size: 2.2rem;
	margin-bottom: 20px;
}
@media screen and (max-width: 750px) {
	#document .document_ww{
		padding: 30px 20px;
	}
	#document .document_ww .document_h .imgarea {
		width: 100%;
	}
	#document .document_w .document_i {
		width: 100%;
	}
	#document .document_w .document_i .document_i_subttl .num{
		font-size: 3.8rem;
	}
	#document .document_w .document_i .document_i_subttl .txt{
		font-size: 1.8rem;
		line-height: 1.25;
	}
	#document .btm_area > .txt {
		text-align: center;
		font-size: 1.6rem;
		margin-bottom: 20px;
	}
}

#solution {
	padding: 70px 0 50px;
}
#solution .lead_txt {
	margin-bottom: 50px;
}
#solution .solution_w{
	justify-content: space-between;
	margin-bottom: 60px;
}
#solution .solution_i{
	position: relative;
	width: 31.5%;
	border-radius: 15px;
	padding: 50px 25px 25px;
	box-sizing: border-box;
}
#solution .solution_i .sub_ttl{
	position: absolute;
    width: 80%;
    text-align: center;
    top: -10px;
    left: 50%;
    transform: translate(-50%, 0px);
}
#solution .solution_i .sub_ttl {
    position: absolute;
    width: 70%;
    text-align: center;
    top: -12px;
    left: 50%;
    transform: translate(-50%, 0px);
    font-weight: 600;
    padding: 8px;
    border-radius: 100px;
}
#solution .solution_i .solution_i_lis_w{}
#solution .solution_i .solution_i_lis_w .solution_i_lis_i{
	border-bottom: 1px solid var(--color-gray);
	padding: 15px 0;
	display: flex;
    align-items: center;
}
#solution .solution_i .solution_i_lis_w .solution_i_lis_i a:after{
	content: "";
    width: 18px;
    height: 18px;
    background: url(../images/common/link_icon.svg);
    background-size: cover;
    background-position: center;
    display: block;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(0px, -50%);
}
#solution .solution_i .solution_i_lis_w .solution_i_lis_i a{
	position: relative;
	width: 100%;
}
#solution .solution_i .solution_i_lis_w .solution_i_lis_i:nth-last-of-type(1){
	border-bottom: 0px solid var(--color-gray);
}
#solution .solution_i .solution_i_lis_w .solution_i_lis_i::before {
	content: '';
	width: 8px;
	height: 8px;
	min-width: 8px;
	display: block;
	border-radius: 50%;
	margin-right: 10px;
}
#solution .solution_i:nth-of-type(1) .solution_i_lis_w .solution_i_lis_i::before{
	background: var(--color-main);
}
#solution .solution_i:nth-of-type(2) .solution_i_lis_w .solution_i_lis_i::before {
	background: var(--color-sub);
}
#solution .solution_i:nth-of-type(3) .solution_i_lis_w .solution_i_lis_i::before {
	background: var(--color-sub-green);
}
#solution .solution_w_02{}
#solution .solution_w_02 .solution_i_02{
	width: 50%;
	box-sizing: border-box;
}
#solution .solution_w_02 .solution_i_02:nth-of-type(1){
	padding-right: 40px;
	border-right: 1px solid var(--color-gray);
}
#solution .solution_w_02 .solution_i_02:nth-of-type(2) {
	padding-left: 40px;
}
#solution .solution_w_02 .solution_i_02 .subttl{
	font-size: 2.0rem;
	font-weight: 600;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
}
#solution .solution_w_02 .solution_i_02 .subttl:before {
	content: "";
	width: 8px;
	height: 8px;
	background: var(--color-main);
	display: block;
	flex-shrink: 0;
	border-radius: 100%;
	margin-right: 10px;
}
#solution .solution_w_02 .solution_i_02 .txt_w{
}
#solution .solution_w_02 .solution_i_02 .txt_w .txt{
	margin-bottom: 15px;
}
#solution .solution_w_02 .solution_i_02 .txt_w .txt_02{
	font-size: 1.4rem;
}
#solution .solution_w_02 .solution_i_02 .imgarea{
	width: 100px;
	flex-shrink: 0;
	margin-left: 20px;
}
@media screen and (max-width: 750px) {
	#solution .solution_w{
		gap: 30px;
	}
	#solution .solution_i{
		width: 100%;
		padding: 40px 20px 25px;
	}
	#solution .solution_w_02 .solution_i_02{
		width: 100%;
	}
	#solution .solution_w_02 .solution_i_02:nth-of-type(1){
		padding-right: 0;
		border-right: 0px solid var(--color-gray);
		border-bottom: 1px solid var(--color-gray);
		padding-bottom: 25px;
		margin-bottom: 25px;
	}
	#solution .solution_w_02 .solution_i_02:nth-of-type(2){
		padding-left: 0;
	}
	#solution .solution_w_02 .solution_i_02 .icon {
		flex-shrink: 0;
		width: 25%;
	}
	#solution .solution_w_02 .solution_i_02 .txtarea {
		margin-left: 20px;
		padding-top: 5px;
	}
	#solution .solution_w_02 .solution_i_02 .subttl{
		font-size: 1.8rem;
	}
	#solution .solution_w_02 .solution_i_02 .txt_w .txt_02{
		font-size: 1.2rem;
	}
}