@media screen and (min-width:768px){
	.sp_only{
		display: none!important;
	}
}/*@media screen and (min-width:768px){*/


@media screen and (max-width:767px){
	.pc_only{
		display: none!important;
	}
	.sp_hide{
		display: none!important;
	}


    /*
	------------------------------------
	共通パーツ
	------------------------------------
	*/
	.container{
		width: calc(345 / 375 * 100vw);
		max-width: 450px;
		padding-inline: 0;
		margin-inline: auto;
	}

	.c_blue_button{
		width:300px;
		min-height: 50px;
	}

	.c_blue_button::after{
		width:7px;
		height:13px;
		right:24px;
	}

	.c_sec_head{
		font-size: 24px;
		gap:8px;
	}

	.c_sec_head::after{
		width: 120px;
		height: 8px;
	}



    /*
	------------------------------------
	オプションページ
	------------------------------------
	*/

	.c_info_section{
		margin-top: 72px;
		padding-top:36px;
		padding-bottom: 48px;
	}

	.c_info_section .sec_head{
		font-size: 24px;
	}

	.c_info_section .info_flex{
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		gap:30px 0;
		margin-top: 40px;
	}

	.c_info_section .info_left{
		/* flex-shrink: 0; */
		width:100%;
	}

	.c_info_section .info_right{
		max-width: 100%;
	}

	.c_info_section .info_head{
		font-weight: 700;
		letter-spacing: 0.05em;
	}

	.c_info_section .info_text{
		margin-top: 8px;
		line-height: 2;
		letter-spacing: 0.05em;
	}

	.c_info_section .info_button_list{
		margin-top: 48px;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap:20px;
	}

	.c_info_section .info_button{
		width:236px;
		min-height: 50px;
		padding:8px 24px;
	}

	.c_info_section .info_button::after{
		width:7px;
		height:13px;
	}



    /*
	------------------------------------
	トップ
	------------------------------------
	*/

	.top_section{

	}

	.top_section .sec_head{
		font-size: 24px;
		font-weight: 700;
		letter-spacing: 0.04em;
	}

	.top_fv_section{

	}

	.top_fv_section .fv_inner{
		position: relative;
		background-image: url('../img_add/top/fv_bg.jpg');
		background-position: top;
		padding-top: 100px;
		padding-bottom: 100px;
	}

	.top_fv_section .fv_text{
		width: 95%;
		max-width: 350px;
		margin-inline: auto;
	}

	.top_fv_section .fv_chara{
		max-width: 340px;
	}

	.top_about_section{
		padding-top: 100px;
	}

	.top_about_section .about_text{
		margin-top: 40px;
		line-height: 1.75;
		letter-spacing: 0.05em;
		text-align: left;
	}

	.top_about_section .button_flex{
		margin-top: 40px;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		gap:16px 40px;
	}

	.top_about_section .button{
		width:300px;
		min-height: 50px;
	}

	.top_about_section .button::after{
		width:7px;
		height:13px;
		right:24px;
	}

	.top_manage_section{
		padding-top: 100px;
	}

	.top_manage_section .manage_text{
		margin-top: 24px;
		text-align: left;
		font-size: 18px;
	}

	.top_manage_section .manage_flex{
		display: flex;
		justify-content: center;
		flex-direction: column;
		gap:0;
		margin-top: 80px;
	}

	.top_manage_section .manage_arrow{
		flex-shrink: 0;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 30px 0 48px;
	}

	.top_manage_section .manage_arrow::after{
		width:35px;
		height:29px;
		background-image: url('../img_add/common/icon_arrow_right_blue.svg');
		transform: rotateZ(90deg);
	}

	.top_manage_section .manage_box{
		width:100%;

	}

	.top_manage_section .manage_box_inner{
		padding:36px 16px 20px;
	}

	.top_manage_section .manage_kind{
		font-size: 20px;
	}

	.top_manage_section .manage_icon{
		width:161px;
	}


	.top_manage_section .manage_list{
		margin-top: 32px;
		gap:10px;
	}


	.top_manage_section .manage_box.manage_after .manage_icon::before{
		width:219px;
		height:164px;
	}

	.top_effect_section{
		padding-top: 80px;
	}

	.top_effect_section .effect_frame{
		max-width: 890px;
		margin-inline: auto;
		margin-top: 40px;
	}

	.top_service_section{
		margin-top: 80px;
	}

	.top_service_section .service_inner{

	}

	.top_service_section .service_head{
		min-height: 90px;
		padding:6px 10px;
		gap:4px;
	}

	.top_service_section .service_head_ja{
		font-size: 14px;
		font-weight: 400;
	}

	.top_service_section .service_head_en{
		font-size: 32px;
	}

	.top_service_section .service_list{
		display: flex;
		flex-wrap: wrap;
	}

	.top_service_section .service_item{
		width:50%;

	}

	.top_service_section .service_item + .service_item{
		border-left:none;
	}

	.top_service_section .service_item:nth-child(even){
		border-left:1px solid;
	}

	.top_service_section .service_icon{
		width:100%;
		height:340px;
		padding:16px;
	}

	.top_service_section .service_name{
		height:270px;

	}

	.top_service_section .service_info_area{
		/* height:100%; */
		padding:12px;
		min-height: 75px;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.top_service_section .service_link{
		font-size: 14px;
	}


	.top_flow_section{
		padding-top: 80px;
	}

	.top_flow_section .flow_head{
		min-height: 56px;
		width: 100%;
		padding:8px 24px;
		font-size: 18px;
		font-weight: 700;
	}

	.top_flow_section .flow_text{
		margin-top: 40px;
		font-size: 18px;
		font-weight: 700;
		line-height: 1.6;
		text-align: left;
	}

	.top_flow_section .flow{
		max-width: 1110px;
		margin-inline: auto;
		margin-top: 40px;
	}

	.top_flow_section .flow_info{
		margin-top: 48px;
		line-height: 2;
		letter-spacing: 0.05em;
		text-align: left;
	}



	/*
	------------------------------------
	各サービス紹介ページ
	------------------------------------
	*/

	.service_main{

	}

	.service_section{
		position: relative;
	}

	.service_fv_section{
		padding-top: 32px;
		padding-bottom: 90px;
		background-image: url('../img_add/common/fv_bg_sp.jpg');
	}

	.service_fv_section .fv_flex{
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-direction: column;
		width: 100%;
		gap:72px;
	}

	.service_fv_section .fv_title{
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.service_fv_section .fv_title img{
		height:98px;
	}

	.service_fv_section .fv_text{
		margin-top: 8px;
		text-align: center;
	}

	.service_fv_section .fv_bottom_flex{
		margin-top: 16px;
		display: flex;
		align-items: flex-start;
		flex-direction: column;
		align-items: center;
		gap:16px;

	}

	.service_fv_section .fv_button_list{

	}

	.service_fv_section .fv_demo_button{
		width: 250px;
		height:70px;
		padding: 12px;
		gap: 8px;
	}
	.service_fv_section .fv_demo_button::before{
		width:16px;
	}

	.service_fv_section .fv_document_button{
		margin-top: 4px;
		width:220px;
		min-height: 25px;
		font-size: 14px;
	}

	.service_fv_section .fv_chara_honmaru{
		width:107px;
		left:auto;
		right:-14px;
		bottom:calc(100% - 12px);
	}
	.service_fv_section .fv_chara_ninomaru{
		width:96px;
		left:auto;
		right:-14px;
		bottom:calc(100% - 3px);
	}
	.service_fv_section .fv_chara_sannomaru{
		width:100px;
		left:auto;
		right:-14px;
		bottom:calc(100% - 3px);
	}
	.service_fv_section .fv_chara_hiroi{
		width:100px;
		left:auto;
		right:-14px;
		bottom:calc(100% - 3px);
	}

	.service_fv_section .fv_flow{
		width:345px;
		max-width: 100%;
		margin-inline: auto;
		
	}

	.service_fv_section .fv_flow img{
		height:auto;
		width:100%;

	}

	.service_fv_section .fv_deco img{
		height:192px;
	}

	.service_guide_section{
		padding-top: 80px;
		padding-bottom: 80px;
	}

	.service_guide_section .guide_flex{
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-direction: column;
		gap:32px;
	}

	.service_guide_section .guide_left{
		width:100%;
		border-left:none;
		padding-left: 0;
	}

	.service_guide_section .guide_head{
		font-size: 24px;
	}

	.service_guide_section .guide_text{
		margin-top: 16px;
		line-height: 2;
		letter-spacing: 0.05em;
	}


	.service_guide_section .guide_right{
		width:100%;
		max-width: 100%;
	}


	.service_stage_section{
		padding-top: 90px;
		padding-bottom: 90px;
	}

	.service_stage_section .stage_list{
		margin-top: 200px;
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap:180px;
	}

	.service_stage_section .stage_item{
		border-radius: 5px;
		position: relative;
		border:1px solid var(--base_black);
		padding:36px 0 40px;
		padding-inline: min(calc(28 / 1440 * 100vw) , calc(28 / 1440 * 1200px));
	}

	.service_stage_section .stage01_item::before{
		height:3px;
		top:-1px;
		width:calc(128 / 276 * 100%);
		left:calc(50 / 276 * 100%);
	}

	.service_stage_section .stage_icon{
		left:0;
		right:0;
		margin-inline: auto;
		bottom:calc(100% - 26px);
	}

	.service_stage_section .stage01_icon{
		width:calc(152 / 276 * 100%);
		left:calc(32 / 276 * 100%);
		right:auto;
		bottom:calc(100% - 48px);
		margin:0;
	}
	.service_stage_section .stage02_icon{
		width:calc(148 / 276 * 100%);
	}
	.service_stage_section .stage03_icon{
		width:calc(123 / 276 * 100%);
	}

	.service_stage_section .stage_num{
		bottom:100%;
		right:8px;
		font-size: 12px;
	}
	.service_stage_section .stage_num span{
		font-size: 20px;
	}

	.service_stage_section .stage_title{
		font-size: 20px;
	}

	.service_stage_section .stage_text{
		margin-top: 16px;
	}

	.service_worry_section{
		padding-top: 90px;
		padding-bottom: 90px;
	}

	.service_worry_section .worry_inner{
		max-width: 700px;
		margin-inline: auto;
	}

	.service_worry_section .worry_list{
		margin-top: 64px;
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap:20px;
	}

	.service_worry_section .worry_item{
		padding:12px 24px;
	}
	.service_worry_section .worry_item::after{
		content:none;
	}

	.service_worry_section .worry_title{
		min-height: auto;
		font-size: 20px;
		line-height: 1.2;
		padding-bottom: 24px;
	}
	.service_worry_section .worry_title::after{
		width: 80px;
		height: 8px;
	}

	.service_worry_section .worry_text{
		margin-top: 16px;
		line-height: 1.5;
		letter-spacing: 0.05em;
	}

	.service_worry_section .unit_text{
		margin-top: 56px;
		gap:12px;
		font-size: 20px;
	}

	.service_worry_section .unit_text img{
		height:60px;
		font-size: 32px;
	}

	.service_worry_section .solution_list{
		margin-top: 64px;
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap:20px;
	}

	.service_worry_section .solution_item{
		padding:24px 16px 40px;
	}

	.service_worry_section .solution_item::before{
		content:none;
	}

	.service_worry_section .solution_title{
		font-size: 20px;
	}

	.service_worry_section .solution_icon{
		max-width: 64px;
		margin-top: 24px;
	}

	.service_worry_section .solution_catch{
		margin-top: 24px;
	}

	.service_worry_section .solution_item ul{
		margin-top: 24px;
	}

	.service_worry_section .solution_item ul li{
		padding-left: 28px;
		line-height: 1.5;
	}
	.service_worry_section .solution_item ul li::before{
		width:20px;
	}

	.service_worry_section .solution_item ul li + li{
		margin-top: 16px;
	}

	.c_contact_section{
		padding-top: 120px;
	}


	.c_contact_section .contact_block{
		min-height: auto;
		padding:24px;
	}

	.c_contact_section .contat_block_head_text{
		gap:8px;    
		font-size: 22px;
		font-weight: 700;
		letter-spacing: 0.05em;
	}

	.c_contact_section .contat_block_head_text img{
		height:24px;
	}

	.c_contact_section .contact_block_text{
		margin-top: 8px;
		line-height: 1.5;
		letter-spacing: 0.05em;
		font-size: 14px;
	}

	.c_contact_section .contact_button_list{
		margin-top: 10px;
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap:8px;
	}

	.c_contact_section .contat_block_button{
		min-height: 50px;
		gap:8px;
		padding:12px 12px;
	}

	.c_contact_section .demo_button::before{
		width:16px;
	}

	.c_contact_section .document_button::before{
		width:16px;
	}

	.c_contact_section .contact_deco{
		width:100%;
		margin-top: 24px;
		position: static;
		transform: translateY(0);
	}

	.c_contact_section .contact_deco img{
		margin-top: 0;
	}

	.service_structure_section{
		padding-top: 90px;
	}

	.service_structure_section .structure_frame{
		margin-top: 56px;
	}

	.service_structure_section .structure_catch{
		margin-top: 56px;
		font-size: 20px;
	}

	.service_structure_section .structure_text{
		margin-top: 32px;
		text-align: left;
		font-size: 14px;
	}

	.service_compare_section{
		padding-top: 90px;
	}

	.service_compare_section .compare_frame{
		margin-top: 56px;
	}

	.service_compare_section .compare_remark{
		margin-top: 8px;
		text-align: right;
		font-size: 11px;
		letter-spacing: 0.05em;
	}

	.service_compare_section .compare_catch{
		margin-top: 40px;
		font-size: 20px;
	}

	.service_compare_section .compare_catch  strong{
		font-size: 36px;
	}

	.service_feature_section{
		padding-top: 90px;
	}

	.service_feature_section .feature_list{
		margin-top: 64px
	}

	.service_feature_section .feature_item{
		display: block;

	}

	.service_feature_section .feature_item:nth-child(even){
		flex-direction: row-reverse;
	}

	.service_feature_section .feature_item + .feature_item{
		margin-top: 90px;
	}

	.service_feature_section .feature_text_area,
	.service_feature_section .feature_img_area{
		width:100%;
		max-width:100%;
	}

	.service_feature_section .feature_title{
		font-size: 24px;
	}

	.service_feature_section .feature_text{
		margin-top: 16px;
	}

	.service_feature_section .feature_img_area{
		margin-top: 24px;
		max-width: 300px;
		margin-inline: auto;
	}

	.service_feature_section .example_head{
		min-height: 40px;

		bottom:calc(100% + 25px);
	}

	.service_feature_section .example_head::after{
		width:16px;
	}

	.service_function_section{
		padding-top: 90px;
	}

	.service_function_section .function_list{
		display: grid;
		max-width: 700px;
		margin-inline: auto;
		grid-template-columns: repeat(2, 1fr);
		gap:8px;
		margin-top: 64px;
	}

	.service_function_section .function_item{
		min-height: 212px;
	}

	.service_function_section .function_item_head{
		min-height: 54px;
		padding:4px 8px;
		font-size: 13px;
		gap:8px;
	}

	.service_function_section .function_item_head_icon{
		width:24px;
		height:24px;
	}

	.service_function_section .function_item_text_frame{
		padding:10px 8px;
		font-size: 12px;
		line-height: 1.71;
		letter-spacing: 0.05em;
	}

	.service_series_section{
		padding-top: 90px;
		padding-bottom: 90px;
		margin-top: 90px;
	}

	.service_series_section .series_list{
		margin-top: 64px;
		grid-template-columns: repeat(1, 1fr);
		gap:24px;
	}

	.service_series_section .series_item{
		padding:24px 16px;
	}

	.service_series_section .series_inner{
		max-width: 224px;
		margin-inline: auto;
	}

	.service_series_section .series_head{
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.service_series_section .series_head img{
		height:70px;
	}

	.service_series_section .series_icon{
		margin-top: 24px;
	} 

	.service_series_section .series_icon img{
		height:180px;
	}

	.service_series_section .series_button{
		margin-top: 24px;
		min-height: 50px;
		padding:12px 16px;
		font-size: 16px;
	}

	.service_flow_section{
		padding-top: 90px;
		padding-bottom: 90px;
	} 

	.service_flow_section .flow_list{
		max-width: 600px;
		margin-inline: auto;
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap:56px;
		margin-top: 64px;
		padding-left: 64px;
	}

	.service_flow_section .flow_item{
		padding:48px 16px 16px;
	}

	.service_flow_section .flow_item_inner{
		max-width: 400px;
		margin-inline: auto;
	}
	
	.service_flow_section .flow_item::before{
		width: 3px;
        height: calc(100% + 64px);
        left: auto;
        bottom: auto;
        top: 27px;
        right: calc(100% + 44px);
	}

	.service_flow_section .flow_item:last-child::before{
		content:none;
	}

	.service_flow_section .flow_num{
		width:40px;
		font-size: 18px;
		bottom: auto;
		left: auto;
		transform: translateX(0);
		top:10px;
		right:calc(100% + 26px);
	}


	.service_flow_section .flow_title{
		min-height: auto;
		font-size: 20px;
	}

	.service_flow_section .flow_icon{
		width:64px;
		top: -32px;
	}
	.service_flow_section .flow_button_list{
		margin-top: 16px;
		max-width: 240px;
		margin-inline: auto;
	}

	.service_flow_section .flow_text{
		margin-top: 16px;
	}

	.service_flow_section .demo_button{
		gap:8px;
		min-height: 60px;
		padding:12px;
	}

	.service_flow_section .demo_button::before{
		width:16px;
	}

	.service_flow_section .document_button{
		width: fit-content;
		min-height: 28px;
		padding:4px 8px;
		min-width: 172px;
		margin-top: 8px;
	}

	.service_faq_section{
		padding-top: 90px;
	}

	.service_faq_section .faq_list{
		margin-top: 64px;
	}

	.service_faq_section .faq_item + .faq_item{
		margin-top: 8px;
	}

	.service_faq_section .faq_question{
		min-height: 60px;
		padding:18px 56px 18px 40px;
	}
	.service_faq_section .faq_question::before{
		font-size: 20px;
		left:14px;
		top:16px;
	}

	.service_faq_section .faq_question::after{
		width:24px;
		right:12px;
	}


	.service_faq_section .faq_answer{
		padding:8px 0 16px;
	}

	.service_faq_section .faq_answer_text{
		padding-right:32px;
		padding-left: 40px;
	}

	.service_faq_section .faq_answer_text::before{
		font-size: 20px;
		left:16px;
	}

}/*@media screen and (max-width:767px){*/