@charset "utf-8";
/* ----------------------------- 共通 ------------------------------- */
.gradient_bg{background: linear-gradient(135deg,#55C0DB,#A5DCD3);}
.title_box{text-align: center;}
.title_box .title_box_2{position: relative; }
.title_box .big_tt{font-family: neue-haas-grotesk-display, sans-serif; font-weight: 600; font-style: normal; font-size: 160px; line-height: 124%;color: #fff;}
.title_box .big_tt.blur_tt{color: #55C0DB;}
.title_box .title_tt{font-family: 'Noto-Sans-JP-Bold',sans-serif; line-height: 179%; font-size: 42px; letter-spacing: 0.05em; position: absolute; text-align: center; width: 100%;bottom: 0px; color: #1C2C43;}
.title_box .title_tt_2{font-size: 18px; line-height: 206%;letter-spacing: 0.04em;text-align: center; padding: 43px 0 0;}
.flex{display: flex;}
.flex_wrap{flex-wrap: wrap;}
/* ----------------------------- #fv ------------------------------- */
#fv{background: url(../images/index/fv_bg_1.jpg) no-repeat center center; background-size: cover;min-height: 1049px;}
#fv .fv_box{padding: 471px 30px 136px; position: relative; z-index: 10;max-width: 1400px; margin: 0 auto;}
#fv .fv_box h2{ font-size: clamp(72px, calc(1vw + 4vw), 75px);;line-height: 103%;}
#fv .fv_box h2 span{display: inline-block; background: linear-gradient(to left,#E6C05C,#50D0BA); border-radius: 3px; color: #fff;font-family: 'Noto-Sans-JP-Bold',sans-serif; line-height: 110%; padding: 17px 39px;margin: 5px 0 0;}
#fv .fv_box h2 span.SP{display: none;}
#fv .fv_box .text_box p{background: #FF8602; border-radius: 100px; display: inline-block; margin: 20px 0 0;padding: 0 50px 0 36px;}
#fv .fv_box .text_box p span{font-family: 'Noto-Sans-JP-Bold',sans-serif; line-height: 179%; font-size: 33px; color: #fff; display: inline-block;}

/* ----------------------------- #about ------------------------------- */
#about{clip-path: ellipse(80% 100% at 50% 100% ); padding: 160px 0 110px; margin: -167px 0 0;}
#about .flex{padding: 60px 0 0;}
#about .flex .img_box{padding: 735px 0 0; position: relative; width: 624px;}
#about .flex .img_box img{position: absolute; border-radius: 21px; box-shadow: 6px 6px 0 0 rgba(28, 44, 67,0.44);}
#about .flex .img_box .img_1{top: 0px; left: 0px;z-index: 3;}
#about .flex .img_box .img_2{top: 185px; right: 0px;z-index: 1;}
#about .flex .img_box .img_3{top: 428px; left: 55px;z-index: 2;}
#about .flex .text_box{width: 533px; margin: 0 0 0 auto;}
#about .flex .text_box h4{font-family: 'Noto-Sans-JP-Bold',sans-serif; font-size: 36px; letter-spacing: 0.04em; line-height: 139%;}
#about .flex .text_box .text{font-size: 20px; letter-spacing: 0.04em; line-height: 185%; padding: 24px 0 0;}
#about .flex .text_box .area{text-align: center; padding: 50px 0 0;}
#about .flex .text_box .area h5{font-family: 'Noto-Sans-JP-Bold',sans-serif; font-size: 36px; letter-spacing: 0.04em; line-height: 139%;background:linear-gradient(transparent 60%, #fff 60%); display: inline-block; }
#about .flex .text_box .area p{padding: 16px 0 0;font-size: 18px; letter-spacing: 0.04em; line-height: 139%;}

/* ----------------------------- #service ------------------------------- */
#service{padding: 65px 0 43px;}

#service .service_box_1{padding: 60px 0 0;}
#service .service_box_1 .box{width: 600px; height: auto;text-align: center; padding: 66px 0 17px;}
#service .service_box_1 .box_1{background: linear-gradient(#FFA47C,#FCF5A6);}
#service .service_box_1 .box_2{background: linear-gradient(#7DAAE8,#CBF3F7);}
#service .service_box_1 .box img{border-radius: 29px; display: inline-block;}
#service .service_box_1 .box .text_box{ padding: 40px 0 0;}
#service .service_box_1 .box .text_box .title_box_2{ position: relative;}
#service .service_box_1 .box .text_box .title_box_2 h4{font-family: neue-haas-grotesk-display, sans-serif; font-weight: 600; font-style: normal; color: #fff; font-size: 90px; line-height: 100%;}
#service .service_box_1 .box .text_box .title_box_2 .title_tt{font-family: 'Noto-Sans-JP-Bold',sans-serif; font-size: 18px; line-height: 160%; position: absolute; bottom: 0px; width: 100%;}
#service .service_box_1 .box .text_box p{font-size: 16px; line-height: 188%; padding: 12px 0 0;}

#service .list_box .title_box{ align-items: flex-end;}
#service .list_box .title_box .title_box_2{width: 620px; height: auto; text-align: left;}
#service .list_box .title_box .title_box_2 .big_tt{font-size: 180px;line-height: 100%;}
#service .list_box .title_box .title_box_2 p.title_tt{font-size: 34px;font-family: 'Noto-Sans-JP-Bold',sans-serif; letter-spacing: 0;}
#service .list_box .title_box .title_tt_2{width: 533px; height: auto; line-height: 160%; letter-spacing: 0.04em; font-size: 20px; text-align: left; margin: 0px 0 0 30px;}
#service .list_box .flex_wrap{padding: 56px 0 0;}
#service .list_box .flex_wrap .box{width: 277px; height: auto; text-align: center; padding-bottom: 55px;}
#service .list_box .flex_wrap .box h5{font-family: 'Noto-Sans-JP-Bold',sans-serif; font-size: 21px; line-height: 140%; display: inline-block; padding: 10px 10px 0;}
#service .list_box .flex_wrap .box p{font-size: 14px; line-height: 179%; text-align: left; padding: 12px 10px 0;}
#service .list_box .flex_wrap .box p span{font-size: 14px; text-align: center; display: block; width: 100%;font-family: 'Noto-Sans-JP-Bold',sans-serif; padding: 0 0 10px;}

#service .reform{padding: 40px 0 0;}
#service .reform .flex_wrap .box h5{background: linear-gradient(transparent 70%, #F1BC7F 70%);}
#service .reform .title_box .title_box_2{width: 590px; height: auto;}
#service .reform .title_box h3.big_tt{color: rgba(255,167,126,0.3);}
#service .reform .flex_wrap .box:not(:nth-child(4n)){margin-right: 30px}
#service .reform .reform_box_1{padding:32px 46px 0; justify-content: space-between;}
#service .reform .reform_box_1 .box{width: 519px; height: auto; position: relative;}
#service .reform .reform_box_1 .box .img{position: relative;}
#service .reform .reform_box_1 .box h4{clip-path: polygon(0px 0, 95% 0%, 100% 100%, 0% 100%);background: linear-gradient(90deg,#F8827B,#EBEB83); display: inline-block; color: #fff; font-size: 29px;font-family: 'Noto-Sans-JP-Bold',sans-serif;line-height: 160%; width: 348px; text-align: center; position: absolute; left: 50%; transform: translateX(-50%); bottom: -25px;padding: 4px 0 5px;}
#service .reform .reform_box_1 .box p{padding: 49px 0 0;font-size: 18px; line-height: 167%;}

#service .lifeline{padding: 55px 0 0;}
#service .lifeline .title_box .title_tt_2{margin: 0px 0 10px 30px;}
#service .lifeline .flex_wrap .box h5{background: linear-gradient(transparent 70%, #8FBBEB 70%);}
#service .lifeline.list_box .title_box .title_box_2 .big_tt{color: rgba(128,173,232,0.3);}
#service .lifeline .lifeline_box_1{background: linear-gradient(135deg,#9AD4FF,#FFF0AF); padding: 71px 0 75px;margin: 50px 0 0; }
#service .lifeline .lifeline_box_1 .flex{ justify-content: space-between;align-items: center;}
#service .lifeline .lifeline_box_1 .box{position: relative}
#service .lifeline .lifeline_box_1 .box h4{clip-path: polygon(0px 0, 95% 0%, 100% 100%, 0% 100%);background: linear-gradient(90deg,#5990D9,#85DDEA); display: inline-block; color: #fff; font-size: 29px;font-family: 'Noto-Sans-JP-Bold',sans-serif;line-height: 160%; width: 348px; text-align: center; position: absolute; left: 50%; transform: translateX(-50%); bottom: -25px;padding: 4px 0 5px;}
#service .lifeline .lifeline_box_1 .text{width: 525px; height: auto;margin: 0 45px 0 0;}
#service .lifeline .lifeline_box_1 .text h4{font-size: 18px; text-align: center; line-height: 100%;}
#service .lifeline .lifeline_box_1 .text h4 span{font-size: 75px;font-family: neue-haas-grotesk-display, sans-serif; font-weight: 600; font-style: normal; letter-spacing: 0.05em;}
#service .lifeline .lifeline_box_1 .text p{font-size: 18px; line-height: 189%; padding: 17px 0 0;}
#service .lifeline .lifeline_box_1 .text a{width: 387px; height: auto; display: block; margin: 43px auto 0; color: #FFFFFF; background: #1C2C43; border-radius: 100px; text-align: center;font-family: 'Noto-Sans-JP-Bold',sans-serif;line-height: 160%; font-size: 22px; padding: 16px 0; transition: 0.5s; border: 1px solid #1C2C43;}
#service .lifeline .lifeline_box_1 .text a.thumb-hover{color: #1C2C43; background: #FFFFFF; transition: 0.5s;}

#service .lifeline .lifeline_box_1 .faq{padding: 100px 0 0; width: 1080px; margin: 0 auto;}
#service .lifeline .lifeline_box_1 .faq .flex{ justify-content: flex-start; align-items: flex-start;}
#service .lifeline .lifeline_box_1 .faq .flex h4{color: #000000; font-size: 20px;font-family: 'Noto-Sans-JP-Medium',sans-serif; line-height: 145%;}
#service .lifeline .lifeline_box_1 .faq .flex h4 span{font-family: neue-haas-grotesk-display, sans-serif; font-weight: 600; font-style: normal; font-size: 53px; line-height: 114%;}
#service .lifeline .lifeline_box_1 .faq .flex p{font-family: 'Noto-Sans-JP-Medium',sans-serif; font-size: 15px; line-height: 200%; width: 644px; margin: 14px 0 0 38px;}
#service .lifeline .lifeline_box_1 .faq .faq_box{padding: 43px 0 0 ;}
#service .lifeline .lifeline_box_1 .faq .faq_box .box{position: relative; border-radius: 18px; box-shadow: 0 0 30px 10px rgba(0,0,0,0.1); background: #fff; padding: 40px 42px;}
#service .lifeline .lifeline_box_1 .faq .faq_box .box:not(:last-child){margin: 0 0 29px;}
#service .lifeline .lifeline_box_1 .faq .faq_box .box p.tt_q{color: #000000; font-family: 'Noto-Sans-JP-Bold',sans-serif;line-height: 164%; font-size: 22px; position: relative; display: flex;}
#service .lifeline .lifeline_box_1 .faq .faq_box .box p.tt_q .clos{width: 29px;height: 29px; position: absolute; right: 0px; transform: translateY(-50%); top: 50%;}
#service .lifeline .lifeline_box_1 .faq .faq_box .box p.tt_q .clos:before{content: ""; display: block;width: 100%; height: 2px; background: #FF8822; transform: translateY(-50%); top: 50%; position: absolute;}
#service .lifeline .lifeline_box_1 .faq .faq_box .box p.tt_q .clos:after{content: ""; display: block;width: 100%; height: 2px; background: #FF8822; transform: translateY(-50%) rotateZ(90deg); top: 50%; position: absolute;; transition: 0.5s;}
#service .lifeline .lifeline_box_1 .faq .faq_box .box.open p.tt_q .clos:after{ transform: translateY(-50%) rotateZ(0deg); top: 50%; position: absolute; transition: 0.5s;}
#service .lifeline .lifeline_box_1 .faq .faq_box .box p.tt_q span.big{font-size: 30px; color: #1F3D75;display: inline-block; padding: 0 17px 0 0;font-family: din-1451-lt-pro, sans-serif;font-weight: 400;font-style: normal; line-height: 117%;}
#service .lifeline .lifeline_box_1 .faq .faq_box .box p.tt_a {padding: 0 40px 0 36px; position: relative; margin: 20px 0 0px;}
#service .lifeline .lifeline_box_1 .faq .faq_box .box p.tt_a .tt{color: #000000; line-height: 160%; font-size: 16px; }
#service .lifeline .lifeline_box_1 .faq .faq_box .box p.tt_a .tt.gap_tt{ padding: 0px 0 20px; display: inline-block;}
#service .lifeline .lifeline_box_1 .faq .faq_box .box p.tt_a span.big{font-size: 30px; color: #E87700;display: inline-block; font-family: din-1451-lt-pro, sans-serif; font-weight: 400; font-style: normal; position: absolute; left: 0px; top: 0px;}
#service .lifeline .lifeline_box_1 .faq .faq_box .box .a_box{display: none;}
#service .lifeline .lifeline_box_2 .flex_wrap {width: 891px; height: auto; margin: 0 auto;}
#service .lifeline .lifeline_box_2 .flex_wrap .box:not(:nth-child(3n)){margin-right: 30px}

/* ----------------------------- #case ------------------------------- */
#case{padding: 64px 0 100px;}
#case .title_box .title_tt_2 { padding: 16px 0 0;}
#case .case_box{padding: 59px 0 0;}
#case .case_box .slick_box{padding: 0 48px;}
#case .case_box .slick_box .box{background: #fff; border-radius: 27px; padding: 82px 79px 44px; width: 1104px; margin: 0 25px;}
#case .case_box .slick_box .box .flex{ align-items: center; justify-content: space-between;}
#case .case_box .slick_box .box .img{position: relative;}
#case .case_box .slick_box .box .img p{font-family: neue-haas-grotesk-display, sans-serif; font-weight: 600; font-style: normal; font-size: 27px; border-radius: 0 0 26px 0; color: #fff; line-height: 134%; width: 155px; padding: 5px 0 6px; background: #ACACAC; position: absolute; top: 0px; left: 0px; text-align: center;}
#case .case_box .slick_box .box .img p.after{background: #053597;}
#case .case_box .slick_box .box .triangle{ width: 43px; height: 90px; background: url(../images/index/case_icn_1.svg) no-repeat center center; background-size: 100%;}
#case .case_box .slick_box .box p{text-align: center;font-family: 'Noto-Sans-JP-Bold',sans-serif;font-size: 21px; padding: 34px 0 0; line-height: 160%;}


#case .case_box .slick_box .slick-arrow{width: 17px; height: 45px;}
#case .case_box .slick_box .slick-arrow:before{content: ""; }
#case .case_box .slick_box .slick-prev{background: url(../images/index/case_slick_prev.svg) no-repeat center center; background-size: 100%;left: -0px;}
#case .case_box .slick_box .slick-next{background: url(../images/index/case_slick_next.svg) no-repeat center center; background-size: 100%;right: -0px;}
/* ----------------------------- #voice ------------------------------- */
#voice{padding: 60px 0 70px;}
#voice .voice_box{padding: 58px 0 0;}
#voice .voice_box .box{width: 586px; height: 330px; background: #fff; border: 5px solid #1C2C43; border-radius: 27px; padding: 0 37px 0 32px;margin-bottom: 30px; flex-direction: column; flex-wrap: wrap;align-items: flex-start;justify-content: center}
#voice .voice_box .box:not(:nth-child(2n)){margin-right: auto;}
#voice .voice_box .box .img_box{width: 171px; height: auto; padding: 64px 13px 55px 0;}
#voice .voice_box .box .img_box p{font-size: 20px; text-align: center; padding: 7px 0 0; width: 100%;}
#voice .voice_box .box .text{width: calc(100% - 182px); margin: 0 0 0 auto;}
#voice .voice_box .box h4{font-family: 'Noto-Sans-JP-Bold',sans-serif;font-size: 19px; line-height: 158%; width: 336px;}
#voice .voice_box .box p.text_tt{font-size: 14px; line-height: 215%; padding: 5px 0 0; width: 336px;}

/* ----------------------------- #flow ------------------------------- */
#flow{padding: 72px 0 100px;}
#flow ul{padding: 52px 0 0;}
#flow ul li{ align-items: center;}
#flow ul li:not(:last-child){margin: 0 0 30px;}
#flow ul li .flow_min{font-size: 59px;font-family: montserrat, sans-serif; font-weight: 600; font-style: normal; color: #fff;}
#flow ul li .box{width: calc(100% - 145px); height: auto;background: #fff; padding: 21px 43px; position: relative; margin: 0 0 0 auto;align-items: center;}
#flow ul li .box:before{width: 48px; height: 36px; display: block; content: ""; background: url(../images/index/flow_icn_2.png) no-repeat center center; background-size: 100%; position: absolute; top: 50%; transform: translateY(-50%); left: -48px;}
#flow ul li .box .text_box{padding: 0 0 0 50px;}
#flow ul li .box .text_box h4{font-family: 'Noto-Sans-JP-Bold',sans-serif; font-size: 30px; letter-spacing: 0.05em; line-height: 160%;}
#flow ul li .box .text_box p{font-size: 16px; line-height: 189%;padding: 14px 0 0;}
#flow ul li .box .text_box a.btn{width: 341px; height: auto; border-radius: 100px; background: #1C2C43; display: block; padding: 19px 0 13px 80px;  position: relative; margin: 22px 0 0;border: 1px solid #1C2C43; transition: 0.5s;}
#flow ul li .box .text_box a.btn div{text-align: left; color: #fff; font-size: 12px;line-height: 160%;transition: 0.5s;}
#flow ul li .box .text_box a.btn span.link{color: #fff;font-family: 'Noto-Sans-JP-Bold',sans-serif; font-size: 18px;display: inline-block; padding: 0 0 10px; position: relative;transition: 0.5s;}
#flow ul li .box .text_box a.btn span.link:before,
#flow ul li .box .text_box a.btn span.link:after{display: block; content: "";  width: 25px; height: 26px;position: absolute; top: -2px; left: -34px;transition: 0.5s;transition: 0.5s;}
#flow ul li .box .text_box a.btn span.link:before{background:url(../images/index/flow_icn_1.svg) no-repeat center center; background-size: 100%; opacity: 1;}
#flow ul li .box .text_box a.btn span.link:after{background:url(../images/index/flow_icn_2.svg) no-repeat center center; background-size: 100%; opacity: 0;}
#flow ul li .box .text_box a.btn:after{display: block; content: "";border-bottom: 1px solid #fff; border-right: 1px solid #fff; width: 15px; height: 15px; position: absolute; top: 50%; transform: translateY(-50%) rotateZ(-45deg); right: 23px;transition: 0.5s;}

#flow ul li .box .text_box a.btn.thumb-hover{color: #1C2C43; background: #FFFFFF; transition: 0.5s;}
#flow ul li .box .text_box a.btn.thumb-hover div{color: #1C2C43; transition: 0.5s;}
#flow ul li .box .text_box a.btn.thumb-hover span.link{color: #1C2C43; transition: 0.5s;}
#flow ul li .box .text_box a.btn.thumb-hover span.link:before{opacity: 0;transition: 0.5s;}
#flow ul li .box .text_box a.btn.thumb-hover span.link:after{opacity: 1;transition: 0.5s;}
#flow ul li .box .text_box a.btn.thumb-hover:after{transition: 0.5s; border-bottom: 1px solid #1C2C43; border-right: 1px solid #1C2C43;}

/* ----------------------------- #outline ------------------------------- */
#outline{padding: 62px 0 100px;}
#outline table{width: 950px;margin: 70px auto 0;}
#outline table tr th{width: 250px; height: auto; letter-spacing: 0.04em; line-height: 175%; border-top: 1px solid #B4B4B4; font-size: 16px; text-align: left;}
#outline table tr td{ border-top: 1px solid #B4B4B4;}
#outline table tr:last-child th,
#outline table tr:last-child td{ border-bottom: 1px solid #B4B4B4;}
#outline table tr td span{font-size: 16px;line-height: 175%; display: block;letter-spacing: 0.04em; }
#outline table tr td a{font-size: 16px;line-height: 175%;display: block;}
#outline table tr .box_1,
#outline table tr .box_2{padding: 33px 19px 31px 0;}
#outline table tr .box_3{padding: 34px 19px 18px 0;}
#outline table tr .box_4{padding: 48px 19px 31px 0;}
#outline table tr .box_5{padding: 32px 19px 27px 0;}
#outline table tr .box_6{padding: 46px 19px 41px 0; vertical-align: top;}
#outline table tr .box_6 a:not(:last-child){padding: 0 0 27px;}


/* ----------------------------- mobile ------------------------------- */
@media only screen and (max-width: 768px) { 
	
	/* ----------------------------- 共通 ------------------------------- */
	.title_box .big_tt{font-size: 72px; }
	.title_box .title_tt{ line-height: 179%; font-size:18px; }
	.title_box .title_tt_2{font-size: 14px; padding: 26px 0 0; text-align: left;}
	.flex {flex-direction: column;}
	/* ----------------------------- #fv ------------------------------- */
	#fv{background: url(../images/index/fv_bg_1_sp.jpg) no-repeat center top; background-size: cover;min-height: auto;}
	#fv .fv_box{padding: 88% 0px 0%; width: 95%; margin: 0 auto; }
	#fv .fv_box h2{ font-size: clamp(34px, calc(1vw + 8vw), 17vw);}
	#fv .fv_box h2 span{padding: 4px 15px 5px 18px;margin: 5px 0 0;}
	#fv .fv_box h2 span.PC{display: none;}
	#fv .fv_box h2 span.SP{display: inline-block;}
	#fv .fv_box .text_box p{background: none; margin: 8px 0 0;padding: 0;}
	#fv .fv_box .text_box p span{line-height: 179%; font-size: clamp(15px, calc(1vw + 10vw), 4vw);padding: 0 21px 0 15px; border-radius: 100px; background: #FF8602;}
	#fv .fv_box .text_box p span:last-child{margin: 5px 0 0;}

	/* ----------------------------- #about ------------------------------- */
	#about{clip-path: ellipse(200% 100% at 50% 100%); padding: 38% 0 50px; margin: -30% 0 0;}
	#about .flex{padding: 27px 0 0;}
	#about .flex .img_box{padding: 55% 0; width: 100%; height: auto;}
	#about .flex .img_box img{ border-radius: 21px; width: 59.3%; height: auto; box-shadow: 5px 5px 0 0 rgba(28, 44, 67, 0.44); }
	#about .flex .img_box .img_2{ top: 45%; transform: translateY(-50%); }
	#about .flex .img_box .img_3{top: auto; bottom: 0px; left: 8%;}
	#about .flex .text_box{width: 100%; margin: 37px 0 0; }
	#about .flex .text_box h4{ font-size: 18px; }
	#about .flex .text_box .text{font-size: 14px; ; padding: 12px 0 0;}
	#about .flex .text_box .area{padding: 25px 0 0;}
	#about .flex .text_box .area h5{font-size: 20px; letter-spacing: 0.02em; }
	#about .flex .text_box .area p{padding: 11px 0 0;font-size: 14px;}
	
	/* ----------------------------- #service ------------------------------- */
	#service{padding: 30px 0 20px;}
	
	#service .service_box_1{padding: 45px 0 0;}
	#service .service_box_1 .box{width: 100%; padding: 28px 32px 25px;}
	#service .service_box_1 .box .text_box{ padding: 25px 0 0;}
	#service .service_box_1 .box .text_box .title_box_2 h4{font-size: 73px; }
	#service .service_box_1 .box .text_box .title_box_2 .title_tt{font-size: 18px; text-align: center;}
	#service .service_box_1 .box .text_box p{font-size: 14px; line-height: 188%; padding: 18px 0 0; text-align: left;}
	
	#service .list_box .title_box{ align-items: flex-end;}
	#service .list_box .title_box .title_box_2{width: 100%; height: auto; text-align: left;}
	#service .list_box .title_box .title_box_2 .big_tt{font-size: 81px;line-height: 100%;}
	#service .list_box .title_box .title_box_2 p.title_tt{font-size: 18px; text-align: left;}
	#service .list_box .title_box .title_tt_2{width: 100%; font-size: 14px; margin: 10px 0 0; line-height: 186%; padding: 0px;}
	#service .list_box .flex_wrap{padding: 30px 0 0;flex-direction: row;}
	#service .list_box .flex_wrap .box{width: 48%; height: auto; text-align: center; padding-bottom: 5%;}
	#service .list_box .flex_wrap .box h5{font-size: 16px; padding: 13px 0 0;}
	#service .list_box .flex_wrap .box p{font-size: 12px; padding: 10px 0 0;}
	#service .list_box .flex_wrap .box p span{font-size: 11px; }
	
	#service .reform{padding: 50px 0 0;}
	#service .reform .title_box .title_box_2{width: 100%; height: auto;}
	#service .reform .flex_wrap .box:not(:nth-child(4n)){margin-right: 4%;}
	#service .reform .flex_wrap .box:nth-child(2n){margin-right: 0%;}
	#service .reform .reform_box_1{padding:32px 0px 0;}
	#service .reform .reform_box_1 .box{width: 100%;}
	#service .reform .reform_box_1 .box:last-child{padding: 15px 0 0;}
	#service .reform .reform_box_1 .box h4{ font-size: 18px;width: 221px; bottom: -20px;padding: 4px 0 5px;}
	#service .reform .reform_box_1 .box p{padding: 30px 0 0;font-size: 14px; line-height: 186%;}
	
	#service .lifeline{padding: 30px 0 0;}
	#service .lifeline .lifeline_box_1{padding: 30px 0 20px;margin: 50px 0 0; }
	#service .lifeline .lifeline_box_1 .flex{padding: 0;}
	#service .lifeline .lifeline_box_1 .box h4{width: 221px; font-size: 18px; bottom: -20px;padding: 4px 0 5px;}
	#service .lifeline .lifeline_box_1 .text{width: 100%; height: auto; padding: 52px 0 0; margin: 0;}
	#service .lifeline .lifeline_box_1 .text h4{font-size: 14px; letter-spacing: 0.04em;}
	#service .lifeline .lifeline_box_1 .text h4 span{font-size: 70px;line-height: 145%;}
	#service .lifeline .lifeline_box_1 .text p{font-size: 14px; padding: 10px 0 0;}
	#service .lifeline .lifeline_box_1 .text a{margin: 30px auto 0; font-size: 17px; padding: 18px 0; width: 90%;}
	
	#service .lifeline .lifeline_box_1 .faq{padding: 50px 0px 0; width: 95%; margin: 0 auto;}
	#service .lifeline .lifeline_box_1 .faq .flex{ justify-content: flex-start; align-items: flex-start; }
	#service .lifeline .lifeline_box_1 .faq .flex h4{font-size: 14px; width: 100%; text-align: center;}
	#service .lifeline .lifeline_box_1 .faq .flex h4 span{font-size: 53px; line-height: 100%;}
	#service .lifeline .lifeline_box_1 .faq .flex p{font-size: 15px; margin: 30px auto 0; width: 95%;}
	#service .lifeline .lifeline_box_1 .faq .faq_box{padding: 30px 0 0 ;}
	#service .lifeline .lifeline_box_1 .faq .faq_box .box{ border-radius: 18px; padding: 18px 18px 19px;}
	#service .lifeline .lifeline_box_1 .faq .faq_box .box:not(:last-child){margin: 0 0 15px;}
	#service .lifeline .lifeline_box_1 .faq .faq_box .box p.tt_q{font-size: 18px; display: flex; padding: 0 40px 0 0;}
	#service .lifeline .lifeline_box_1 .faq .faq_box .box p.tt_q .clos{width: 25px;height: 25px; transform: translateY(-5%); top: 5%;}
	#service .lifeline .lifeline_box_1 .faq .faq_box .box p.tt_q span.big{font-size: 30px; line-height: 100%;}
	#service .lifeline .lifeline_box_1 .faq .faq_box .box p.tt_a{padding: 0 40px 0 30px;  margin: 10px 0 0px;}
	#service .lifeline .lifeline_box_1 .faq .faq_box .box p.tt_a .tt{font-size: 14px;  }
	#service .lifeline .lifeline_box_1 .faq .faq_box .box p.tt_a .tt.gap_tt{ padding: 0px 0 15px; }
	#service .lifeline .lifeline_box_1 .faq .faq_box .box p.tt_a span.big{font-size: 30px; padding: 0 17px 0 0;}
	
	#service .lifeline .lifeline_box_2 .flex_wrap .box:not(:nth-child(3n)){margin-right: 4%}
	#service .lifeline .lifeline_box_2 .flex_wrap .box:nth-child(3){margin-right: 4%}
	#service .lifeline .lifeline_box_2 .flex_wrap .box:nth-child(2n){margin-right: 0%;}
	#service .lifeline .lifeline_box_2 .flex_wrap {width: 100%; height: auto; margin: 0 auto;flex-direction: row}
	
	/* ----------------------------- #case ------------------------------- */
	#case{padding: 35px 0 50px;}
	#case .title_box .title_tt_2 { padding: 16px 0 0;}
	#case .case_box{padding: 30px 0 0;}
	#case .case_box .slick_box{padding: 0 5%;}
	#case .case_box .slick_box .box{ border-radius: 27px; padding: 25px 42px 20px; width: 100%; margin: 0 10px;}
	#case .case_box .slick_box .box .img p{font-size: 12px; border-radius: 0 0 26px 0; width: 90px; padding: 5px 0 6px; }
	#case .case_box .slick_box .box .triangle{ width: 47px; height: 23px; background: url(../images/index/case_icn_2.svg) no-repeat center center; background-size: 100%; margin: 10px auto;}
	#case .case_box .slick_box .box p{font-size: 12px; padding: 17px 0 0; }
	
	#case .case_box .slick_box .slick-arrow{width: 10px; height:38px;}
	#case .case_box .slick_box .slick-prev{background: url(../images/index/case_slick_prev_sp.svg) no-repeat center center; background-size: 100%; left: 0px;}
	#case .case_box .slick_box .slick-next{background: url(../images/index/case_slick_next_sp.svg) no-repeat center center; background-size: 100%; right: 0px;}
	
	/* ----------------------------- #voice ------------------------------- */
	#voice{padding: 40px 0 50px;}
	#voice .voice_box{ margin: 30px 0 0; display: block; padding: 0;}
	#voice .voice_box .box{width: 100%; height: auto; display: flex; border: 5px solid #1C2C43; border-radius: 27px; padding: 30px 30px 33px; margin-bottom: 30px; margin: 0 15px;align-content: flex-start; flex-wrap: wrap; flex-direction: row; align-items: center}
	#voice .voice_box .box:not(:nth-child(2n)){margin: 0 15px;}
	#voice .voice_box .box .img_box{width: 88px; height: auto; padding: 0px;}
	#voice .voice_box .box .img_box p{font-size: 11px; text-align: center; padding: 7px 0 0;}
	#voice .voice_box .box h4{font-size: 18px; width: calc(100% - 100px); margin: 0 0 0 auto;}
	#voice .voice_box .box p.text_tt{font-size: 12px;width: auto; padding: 12px 0 0;}
	#voice .voice_box .slick-track{display: flex;}
	#voice .voice_box .slick-arrow{width: 10px; height:38px;}
	#voice .voice_box .slick-arrow:before{content: ""; }
	#voice .voice_box .slick-prev{background: url(../images/index/voice_slick_prev_sp.svg) no-repeat center center; background-size: 100%; left: -10px;}
	#voice .voice_box .slick-next{background: url(../images/index/voice_slick_next_sp.svg) no-repeat center center; background-size: 100%; right: -10px;}
	
	/* ----------------------------- #flow ------------------------------- */
	#flow{padding: 33px 0 50px;}
	#flow ul{padding: 30px 0 0;}
	#flow ul li{ align-items: center;}
	#flow ul li:not(:last-child){margin: 0 0 10px;}
	#flow ul li .box{width: 100%; height: auto; padding: 20px 15px 35px; margin: 0 auto;}
	#flow ul li .box:before{display: none;}
	#flow ul li .box .img{padding: 18px 15px 0;}
	#flow ul li .box .img img{width: 100%; height: auto;}
	#flow ul li .box .text_box{padding: 17px 15px 0; width: 100%;}
	#flow ul li .box h4.SP{ font-size: 20px;font-family: 'Noto-Sans-JP-Bold',sans-serif; display: flex; justify-content: flex-start; align-items: center; margin: 0 auto 0 0;}
	#flow ul li .box h4 span{font-size: 49px;font-family: montserrat, sans-serif; font-weight: 600; font-style: normal; display: inline-block; padding: 0 24px 0 0;}
	#flow ul li .box .text_box p{font-size: 14px; width: 100%;padding:0;}
	#flow ul li .box .text_box a.btn{width: 100%; padding: 13px 0 10px 20px;  margin: 22px 0 0; text-align: center;}
	#flow ul li .box .text_box a.btn div{display: inline-block; text-align: left;font-size: 11px;}
	#flow ul li .box .text_box a.btn span.link{font-size: 18px;padding: 0 0 5px; position: relative}
	#flow ul li .box .text_box a.btn span.link:before{display: none;}
	#flow ul li .box .text_box a.btn:after{width: 15px; height: 15px; right: 23px; }
	#flow ul li .box .text_box a.btn span.link:before,
	#flow ul li .box .text_box a.btn span.link:after{display: none;}
	
	#flow ul li .box .text_box a.btn span.tel{width: 27px; height: 29px; top: 50%; left: 8%; display: block; content: ""; position: absolute; transform: translateY(-50%);transition: 0.5s;}
	
	#flow ul li .box .text_box a.btn span.tel:before,
	#flow ul li .box .text_box a.btn span.tel:after{display: block; content: "";  width: 25px; height: 26px;position: absolute; top: 0px; left: 0px;transition: 0.5s;transition: 0.5s;}
	#flow ul li .box .text_box a.btn span.tel:before{background:url(../images/index/flow_icn_1.svg) no-repeat center center; background-size: 100%; opacity: 1;}
	#flow ul li .box .text_box a.btn span.tel:after{background:url(../images/index/flow_icn_2.svg) no-repeat center center; background-size: 100%; opacity: 0;}
	#flow ul li .box .text_box a.btn.thumb-hover span.tel:before{opacity: 0;transition: 0.5s;}
	#flow ul li .box .text_box a.btn.thumb-hover span.tel:after{opacity: 1;transition: 0.5s;}
	/* ----------------------------- #outline ------------------------------- */
	#outline{padding: 30px 0 50px}
	#outline table{width: 100%;margin: 33px auto 0;}
	#outline table tr th{width: 100%; display: block; font-size: 16px; border-bottom: none; }
	#outline table tr td {display: block;border-top: none; }
	#outline table tr:last-child th{border-bottom: none;}
	#outline table tr td span{font-size: 16px;}
	#outline table tr td a{font-size: 16px;}
	#outline table tr th.box_1,
	#outline table tr th.box_2,
	#outline table tr th.box_3,
	#outline table tr th.box_4,
	#outline table tr th.box_5,
	#outline table tr th.box_6{padding: 14px 0 7px; vertical-align: top;}
	#outline table tr td.box_1,
	#outline table tr td.box_2,
	#outline table tr td.box_3,
	#outline table tr td.box_4,
	#outline table tr td.box_5,
	#outline table tr td.box_6{padding: 0 0 14px; vertical-align: top;}
	#outline table tr .box_6 a:not(:last-child) {padding: 0 0 40px;}
}
