@charset "utf-8";

h3{font-family: gotham, sans-serif; font-weight: 500; font-style: normal; text-align: center; font-size: 24px; line-height: 160%;color: #2E4772;}
h3 span{font-size: 60px; font-family: 'Noto-Sans-JP-Bold'; line-height: 120%; color: #000;}
.title_text{text-align: center; font-size:20px; line-height: 150%; padding: 30px 0 0;}
.white_box{background: #fff; border-radius: 20px;}
.flex{display: flex;}
.inner_big{max-width: 1400px; margin: 0 auto; padding: 0 50px;}

/* ------------------------------------------------------------ #fv */
#fv{background: url(../images/bg_fv.jpg) no-repeat center center; background-size: cover; padding: 113px 50px 106px; margin: 100px 0 0;}
#fv .fv__wrapper{max-width: 1397px; margin: 0 auto; position: relative; min-width: 1200px;}z
#fv .fv__wrapper .fv__content {width: 740px; height: auto;}
#fv .fv__wrapper .fv__content .fv__catch{background: #fff; font-size: 25px;font-family: 'Noto-Sans-JP-Bold'; line-height: 144%; display: inline-block; padding: 0 25px 4px 11px;}
#fv .fv__wrapper .fv__content .fv__headline{font-size: 60px; line-height: 148.45%; font-family: 'Noto-Sans-JP-Bold'; margin: 10px 0 0;}
#fv .fv__wrapper .fv__content .fv__headline .fv__marker{border-radius: 5px; line-height: 110%; color: #fff; font-family: 'Noto-Sans-JP-Bold'; display: inline-block; padding: 0px 8px 6px 8px; margin: 0 15px 0 0;}
#fv .fv__wrapper .fv__content .fv__headline .fv__marker.fv__marker--blue{background: #154097;}
#fv .fv__wrapper .fv__content .fv__headline .fv__marker.fv__marker--red{background: #E21713;}
#fv .fv__wrapper .fv__content .fv__txt{padding: 18px 0 0; max-width: 580px; font-family: 'Noto-Sans-JP-Medium'; line-height: 177.8%; font-size: 18px;}
#fv .fv__wrapper .fv__content .fv__gallery{padding: 22px 0 0;}
#fv .fv__wrapper .contact-mail{padding: 50px 0 0; width: 497px; text-align: center;}
#fv .fv__wrapper .contact-mail .contact-mail__link{background: #154097; border-radius: 1000px; margin: 0 auto; width: auto; padding: 23px 67px 24px 63px; display: inline-block; vertical-align: top;}
#fv .fv__wrapper .contact-mail .contact-mail__link .contact-mail__txt{font-size: 21px; font-family: 'Noto-Sans-JP-Medium'; line-height: 142.89%; color: #fff; display: inline-block;}
#fv .fv__wrapper .contact-mail .contact-mail__link img{margin: 0 22px 0 0; vertical-align: top;}
#fv .fv__wrapper .fv__visual{position: absolute; right: 0px; top: 50%; transform: translateY(-50%); max-width: 713px; height: auto; width: calc(100% - 620px);}
#fv .fv__wrapper .fv__visual img{width: 100%; height: auto;}

/* ------------------------------------------------------------ #about */
#about{padding: 92px 0 108px; background: #254991;}
#about h3{color: #fff;}
#about h3 span{color: #fff;;}
#about .title_text{color: #fff;}
#about .box_1{border-bottom: 1px solid #fff; padding: 0 0 60px;}
#about .box_1 .white_box{ margin: 40px 0 0;}
#about .box_1 .white_box .flex{padding: 53px 86px 65px 79px; align-items: center;}
#about .box_1 .white_box .flex .text_box{width: 413px; height: auto; margin: 0 0 0 68px;}
#about .box_1 .white_box .flex .text_box h4{font-size: 32px; line-height: 131.23%; font-family: 'Noto-Sans-JP-Bold'; }
#about .box_1 .white_box .flex .text_box p{line-height: 150%; font-size: 16px; padding: 15px 0 0;}
#about .box_2 {padding: 50px 0 0;}
#about .box_2 h4{text-align: center; font-family: 'Noto-Sans-JP-Bold'; font-size: 40px; line-height: 150%; color: #fff;}
#about .box_2 h4 span{background: #fff; display: inline-block; border-radius: 5px; font-family: 'Noto-Sans-JP-Bold'; line-height: 120%; font-size: 36px; padding: 0 7px 3px;}
#about .box_2 h4 span.blue{color: #264991; margin: 0 5px;}
#about .box_2 h4 span.red{color: #E21713; margin: 0 5px 0 0 ;}

#about .box_2 .flex{justify-content: space-between; padding: 50px 0 0;}
#about .box_2 .flex .clos{width: calc(100% - 1000px); position:relative; }
#about .box_2 .flex .clos_box{display: block; width: 44px; height: 44px; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);}
#about .box_2 .flex .clos_box:before{content: ""; display: block; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%) rotateZ(-45deg); width: 60px; height: 2px; background: #fff;}
#about .box_2 .flex .clos_box:after{content: ""; display: block; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%) rotateZ(45deg); width: 60px; height: 2px; background: #fff;}
#about .box_2 .flex .white_box{width: 500px; height: auto; padding: 48px 0 42px; text-align: center;}
#about .box_2 .flex .white_box p{font-size: 27px; line-height: 151.83%; font-family: 'Noto-Sans-JP-Medium';}
#about .box_2 .flex .white_box p span{font-family: 'Noto-Sans-JP-Bold'; color: #fff; border-radius: 5px; line-height: 109%; display: inline-block; padding: 0 5px 3px; margin-right: 5px;}
#about .box_2 .flex .white_box p span.blue{background: #154097;}
#about .box_2 .flex .white_box p span.red{background: #E21713;}

#about .box_2 .flex .content_box_1 img{padding: 36px 0 0;}
#about .box_2 .flex .content_box_2 img{padding: 25px 0 0;}

/* ------------------------------------------------------------ #problem */
#problem{padding: 121px 0 0;}
#problem .title_text{line-height: 200%;}
#problem .title_text span{display: inline-block; border-radius: 5px; padding: 0 5px 3px; color: #fff; font-family: 'Noto-Sans-JP-Bold'; font-size: 24px; line-height: 116%; margin: 0 5px;}
#problem .title_text span.blue{ background: #154097; }
#problem .title_text span.red{ background: #E21713; }
#problem .flex{flex-wrap: wrap; justify-content: space-between; padding: 50px 0 0;}
#problem .flex .white_box{width: calc(100% / 2 - 16px); border-radius: 30px; box-shadow: 0px 3px 7px 0px rgba(0,0,0,0.16); text-align: center; padding: 26px 50px 45px;}
#problem .flex .white_box:nth-child(1) h4{padding: 0;}
#problem .flex .white_box:nth-child(1) p{padding: 14px 0 0;}
#problem .flex .white_box:nth-child(2){padding: 24px 50px 45px; }
#problem .flex .white_box:nth-child(2) h4{padding: 17px 0 0;}
#problem .flex .white_box:nth-child(2) p{padding: 15px 0 0;}
#problem .flex .white_box.mini_box{width: calc(100% / 3 - 10px); height: auto; padding: 38px 33px 38px; margin: 20px 0 0;}
#problem .flex .white_box h4{font-size: 20px; font-family: 'Noto-Sans-JP-Bold';  line-height: 170%; padding: 11px 0 0;}
#problem .flex .white_box p{line-height: 150%; font-size: 16px; text-align: left; padding: 10px 0 0;}

#problem .red_bg{position: relative; padding: 0 0 100px;}
#problem .red_bg:before{content: ""; display: block; width: 100%; height: 100%; background: #FDEBEB; position: absolute; bottom: 0px; left: 0px; clip-path: polygon(0 0, 50% 219px, 100% 0, 100% 100%, 50% 100%, 0 100%);}
#problem .red_bg .red_box{position: relative; z-index: 1; padding: 156px 0 0;}
#problem .red_bg .red_box h4{text-align: center; }
#problem .red_bg .red_box h4 img{display: inline-block; margin: 0 22px 0 0;}
#problem .red_bg .red_box h4 span{font-size: 46px; font-family: 'Noto-Sans-JP-Bold'; vertical-align: top; padding: 16px 0 0;}
#problem .red_bg .red_box h4 span.PC{display: inline-block; }
#problem .red_bg .red_box h4 span.SP{display: none; }
#problem .red_bg .red_box .flex{gap: 30px 0px;}
#problem .red_bg .red_box .flex .white_box{width: calc(100% / 2 - 16px); padding: 45px 64px 33px;}
#problem .red_bg .red_box .flex .white_box h5{padding: 23px 0 0; font-size: 27px; line-height: 170.4%; font-family: 'Noto-Sans-JP-Bold'; }
#problem .red_bg .red_box .flex .white_box p{padding: 20px 0 0;}
#problem .red_bg .red_box .link_box{padding: 80px 0 0;}
#problem .red_bg .red_box .link_box p{text-align: center; font-family: 'Noto-Sans-JP-Bold'; font-size: 20px; line-height: 130%;}
#problem .red_bg .red_box .link_box a{display: block; width: 457px; margin: 17px auto 0; background: #E21713; border-radius: 1000px; padding: 19px 71px 23px 70px;}
#problem .red_bg .red_box .link_box a p.contact-mail__txt{font-size: 24px; line-height: 180%; font-family: 'Noto-Sans-JP-Bold'; color: #fff; display: inline-block;}
#problem .red_bg .red_box .link_box a img{display: inline-block; vertical-align: top; padding: 8px 0 0; margin: 0 41px 0 0;}

/* ------------------------------------------------------------ #feature */
#feature .bg_box{padding: 65px 0 95px; background: #FAFAFA;}
#feature .bg_box .slider_box_sp{padding: 60px 0 0; width: 1200px; margin: 0 auto;}
#feature .bg_box .slider_box_sp .white_box{border: 4px solid #2E4772;justify-content: space-between; align-items: center;padding: 59px 87px 59px 74px; }
#feature .bg_box .slider_box_sp .white_box.active{display: block;}
#feature .bg_box .slider_box_sp .white_box:not(:last-child){margin: 0 0 27px;}
#feature .bg_box .slider_box_sp .white_box.left_box{flex-direction: row-reverse; }
#feature .bg_box .slider_box_sp .white_box.box_1{padding: 63px 61px 55px 74px;}
#feature .bg_box .slider_box_sp .white_box.box_3{padding: 38px 60px 38px 74px;}
#feature .bg_box .slider_box_sp .white_box .text_box{width: 404px; height: auto;}
#feature .bg_box .slider_box_sp .white_box p.feature_tt .data{font-family: gotham, sans-serif; font-weight: 500; font-style: normal; font-size: 49px; line-height: 100%; display: inline-block;}
#feature .bg_box .slider_box_sp .white_box p.feature_tt .feature{font-family: gotham, sans-serif; font-weight: 500; font-style: normal; font-size: 24px; line-height: 117%; display: inline-block; vertical-align: top; padding: 11px 9px 0 0;}
#feature .bg_box .slider_box_sp .white_box .text_box h4{padding: 20px 0 0; line-height: 144%; font-family: 'Noto-Sans-JP-Medium'; font-size: 25px;}
#feature .bg_box .slider_box_sp .white_box .text_box h4 span{line-height: 144%; font-family: 'Noto-Sans-JP-Medium'; color: #154097;}
#feature .bg_box .slider_box_sp .white_box .text_box p.text{padding: 20px 0 0; font-size: 16px; line-height: 150%;}

#feature .blue_bg{background: #254991; padding: 60px 0 80px;}
#feature .blue_bg h4{ color: #fff; text-align: center; font-size: 42px; font-family: 'Noto-Sans-JP-Bold'; line-height: 157.15%;}
#feature .blue_bg p.title_text{color: #fff;}
#feature .blue_bg .select_box{padding: 60px 0 0;}
#feature .blue_bg .select_box .white_box{border-radius: 0 0 20px 20px;display: none; height: 728px; padding: 118px 77px 118px 64px; position: relative;}
#feature .blue_bg .select_box .white_box.active{display: block;}
#feature .blue_bg .select_box .btn_box{justify-content: space-between; gap: 22px;}
#feature .blue_bg .select_box .btn_box p{width: calc(50% - 11px); height: auto;background: #E6E6E6; border-radius: 20px 20px 0 0; color: #000; font-size: 30px; text-align: center; font-family: 'Noto-Sans-JP-Bold'; line-height: 220%;}
#feature .blue_bg .select_box .btn_box p.active{background: #fff;}
#feature .blue_bg .select_box .white_box .flex{flex-wrap: wrap; justify-content: space-between; gap: 0px 50px; z-index: 1; position: relative;}
#feature .blue_bg .select_box .white_box .flex .box p{width: 363px; height: auto; line-height: 146.13%; text-align: center; font-size: 26px; font-family: 'Noto-Sans-JP-Bold'; border-radius: 20px; padding: 38px 0 37px; position: relative;}
#feature .blue_bg .select_box .white_box .flex .box p.bg_blue{background: #7295CE; color: #fff;}
#feature .blue_bg .select_box .white_box .flex .box p.border_blue{border: 4px solid #7295CE; background: #fff; color: #7295CE;}
#feature .blue_bg .select_box .white_box .flex .box p.bg_red{background: #EA7370; color: #fff;}
#feature .blue_bg .select_box .white_box .flex .box p.border_red{border: 4px solid #EA7370; background: #fff; color: #EA7370;}
#feature .blue_bg .select_box .white_box .flex .box p:not(:last-child){margin: 0 0 20px;}
#feature .blue_bg .select_box .white_box .flex .box p:before{content: ""; display: block; position: absolute; top: 50%; transform: translateY(-50%); width: 37px; height: 26px;}

#feature .blue_bg .select_box .white_box .flex .box.left_box p.bg_blue.tt_box_1:before{background: url(../images/feture_icn_blue_01.svg) no-repeat center center; background-size: 100%; right: -37px; }
#feature .blue_bg .select_box .white_box .flex .box.left_box p.border_blue.tt_box_2:before{background: url(../images/feture_icn_blue_03.svg) no-repeat center center; background-size: 100%; width: 35px;  right: -34px;}
#feature .blue_bg .select_box .white_box .flex .box.left_box p.bg_blue.tt_box_3:before{background: url(../images/feture_icn_blue_05.svg) no-repeat center center; background-size: 100%; right: -37px;}
#feature .blue_bg .select_box .white_box .flex .box.right_box p.border_blue.tt_box_1:before{background: url(../images/feture_icn_blue_02.svg) no-repeat center center; background-size: 100%; width: 35px; left: -34px;}
#feature .blue_bg .select_box .white_box .flex .box.right_box p.bg_blue.tt_box_2:before{background: url(../images/feture_icn_blue_04.svg) no-repeat center center; background-size: 100%; width: 37px; left: -36px;}

#feature .blue_bg .select_box .white_box .flex .box.left_box p.bg_red.tt_box_1:before{background: url(../images/feture_icn_red_01.svg) no-repeat center center; background-size: 100%; right: -37px; }
#feature .blue_bg .select_box .white_box .flex .box.left_box p.border_red.tt_box_2:before{background: url(../images/feture_icn_red_03.svg) no-repeat center center; background-size: 100%; width: 35px;  right: -34px;}
#feature .blue_bg .select_box .white_box .flex .box.left_box p.bg_red.tt_box_3:before{background: url(../images/feture_icn_red_05.svg) no-repeat center center; background-size: 100%; right: -37px;}
#feature .blue_bg .select_box .white_box .flex .box.right_box p.border_red.tt_box_1:before{background: url(../images/feture_icn_red_02.svg) no-repeat center center; background-size: 100%; width: 35px; left: -34px;}
#feature .blue_bg .select_box .white_box .flex .box.right_box p.bg_red.tt_box_2:before{background: url(../images/feture_icn_red_04.svg) no-repeat center center; background-size: 100%; width: 37px; left: -36px;}

#feature .blue_bg .select_box .white_box .main_img{position: absolute; transform: translate(-50%,-50%); left: 50%; top: 50%;}
#feature .blue_bg .select_box .white_box .sub_img{position: absolute; bottom: 80px; right: 144px; z-index: 2;}
#feature .blue_bg .select_box .white_box .sub_img.feture_06{bottom: 59px;}

/* ------------------------------------------------------------ #flow */
#flow{padding: 80px 0 125px; }
#flow .flex{padding: 57px 0 0;}
#flow .flex .box{width: 100%; min-width: 289px; height: auto; position: relative;}
#flow .flex .box:last-child{min-width: 258px; max-width: 258px;}
#flow .flex .box:before{content: ""; display: block; width: 100%; height: 100%; position: absolute; bottom: -10px; right: -10px; }
#flow .flex .box:after{content: ""; display: block; width: 100%; height: 100%; position: absolute; bottom: 0px; right: 0px; background: #000;}
#flow .flex .box:not(:last-child):before{clip-path: polygon(0 0, 88% 0, 100% 50%, 88% 100%, 00% 100%);}
#flow .flex .box:not(:last-child):after{clip-path: polygon(0 0, 88% 0, 100% 50%, 88% 100%, 00% 100%);}
#flow .flex .box.box_1:before{background: #B8D0FA;}
#flow .flex .box.box_2:before{background: #6688C8;}
#flow .flex .box.box_3:before{background: #617BA8;}
#flow .flex .box.box_4:before{background: #2F4773;}
#flow .flex .box.box_1{z-index: 4;}
#flow .flex .box.box_2{z-index: 3;}
#flow .flex .box.box_3{z-index: 2;}
#flow .flex .box:not(:first-child){margin: 0px 0 0 -19px;}
#flow .flex .box .bg-box{background: #000; padding: 1px;}
#flow .flex .box .border-bg{padding: 1px;}
#flow .flex .box .border-box{position: relative; z-index: 1; background: #fff; box-sizing: border-box; padding: 23px 62px 37px 29px;}
#flow .flex .box.box_3 .border-box{padding: 23px 62px 37px 41px;}
#flow .flex .box:last-child .border-box{padding: 23px 32px 37px 36px;}
#flow .flex .box:not(:last-child) .border-box{clip-path: polygon(0 0, 88% 0, 100% 50%, 88% 100%, 00% 100%);}
#flow .flex .box .border-box .flex_title{align-items: center; border-bottom: 1px solid #000; padding: 0 0 21px;}
#flow .flex .box .border-box .flex_title .step{font-family: montserrat, sans-serif; font-weight: 600; font-style: normal; font-size: 12px; letter-spacing: 0.05em; text-align: center;}
#flow .flex .box .border-box .flex_title .step span{font-family: montserrat, sans-serif; font-weight: 600; font-style: normal; font-size: 40px; letter-spacing: 0.05em; display: block;}
#flow .flex .box .border-box .flex_title h4{margin: 0 0 0 21px; font-size: 20px; font-family: 'Noto-Sans-JP-Medium'; line-height: 110%;}
#flow .flex .box .border-box .img_box{text-align: center; padding: 20px 0 0;}
#flow .flex .box .border-box p.text{line-height: 150%; padding: 33px 0 0;}

/* ------------------------------------------------------------ #plan */

#plan{padding: 56px 0 101px; background: url(../images/bg_plan.jpg) no-repeat center center; background-size: cover;}
#plan h3{color: #fff;}
#plan h3 span{color: #fff;}
#plan .title_text{color: #fff;}
#plan .plan_box{width: 830px; margin: 0 auto; padding: 57px 0 0; gap: 30px; justify-content: center;}
#plan .plan_box .box{width: 560px; height: auto; border-radius: 10px; background: #fff;}
#plan .plan_box .box h4{border-radius: 10px 10px 0 0; color: #fff; text-align: center; font-family: 'Noto-Sans-JP-Bold'; font-size: 22px; line-height: 186%;}
#plan .plan_box .box.blue_box h4{background: #73A1FD;}
#plan .plan_box .box.red_box h4{background: #E25754;}
#plan .plan_box .box .white_box{padding: 50px 60px 54px;}
#plan .plan_box .box .white_box .data_tt{font-size: 27px; font-family: neue-haas-grotesk-display, sans-serif; font-weight: 600; font-style: normal; text-align: center;}
#plan .plan_box .box .white_box .data_tt span{font-family: gotham, sans-serif; font-weight: 500; font-style: normal; font-size: 46px;}
#plan .plan_box .box .white_box .data_tt span.tax{font-family: neue-haas-grotesk-display, sans-serif; font-weight: 600; font-style: normal; font-size: 18px;}
#plan .plan_box .box .white_box .unit_tt{text-align: center; padding: 6px 0 10px; font-size: 15px; font-family: 'Noto-Sans-JP-Medium'; line-height: 150%;}
#plan .plan_box .box .white_box .unit_tt.last{padding-bottom: 21px;}
#plan .plan_box .box .white_box .mini_tt{text-align: center; padding: 20px 0 0;font-family: 'Noto-Sans-JP-Medium'; line-height: 150%; font-size: 17px;}
#plan .plan_box .box .white_box .mini_tt span{font-family: gotham, sans-serif; font-weight: 500; font-style: normal; font-size: 28px;}
#plan .plan_box .box .white_box .mini_tt span.tax{font-family: neue-haas-grotesk-display, sans-serif; font-weight: 600; font-style: normal; font-size: 15px;}
#plan .plan_box .box .white_box ul{border-top: 1px solid #000; padding: 26px 22px 0;}
#plan .plan_box .box .white_box ul li{position: relative; padding-left: 16px;}
#plan .plan_box .box .white_box ul li:before{content: ""; display: block; width: 5px; height: 5px; background: #000; border-radius: 1000px; position: absolute; top: 12px; left: 0px;}
#plan .plan_box .box .white_box ul li .ttl{font-size: 17px; line-height: 160%; font-family: 'Noto-Sans-JP-Bold';}
#plan .plan_box .box .white_box ul li .txt{font-size: 14px; line-height: 160%; color: #666; padding: 2px 0 0;}
#plan .plan_box .box .white_box ul li:not(:last-child){margin-bottom: 18px;}
#plan .campaign{position: relative; margin: 91px 0 0; padding: 18px 0 0 20px;}
#plan .campaign:before{content: ""; width: calc(100% - 18px); height: calc(100% - 20px); background: rgba(255,255,255,0.8);position: absolute; top: 0px; left: 0px;}
#plan .campaign .campaign_bg{width: 100%; height: auto; background: rgba(255,255,255,0.8); position: relative; z-index: 1; margin: 0 0 0 auto; padding: 39px 0 68px;}
#plan .campaign .campaign_bg h4{text-align: center; font-size: 24px; font-family: gotham, sans-serif; font-weight: 500; font-style: normal; }
#plan .campaign .campaign_bg h4 span{ background: linear-gradient(90deg, #F45151 0%, #3043CE 80%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: inline-block; font-size: 60px; font-family: 'Noto-Sans-JP-Bold'; line-height: 120%;}
#plan .campaign .campaign_bg .flex{justify-content: center; align-items: center; padding: 39px 0 0;}
#plan .campaign .campaign_bg .flex .img{margin: 0 112px 0 0;}
#plan .campaign .campaign_bg .flex .text_box{text-align: center;}
#plan .campaign .campaign_bg .flex .text_box p.text{font-size: 22px; line-height: 127.3%; position: relative;width: 270px; margin: 0 auto 10px;}
#plan .campaign .campaign_bg .flex .text_box p.text:before{content: ""; display: block; width: 1px; height: 100%; position: absolute; left: 0px; top: 50%; transform: translateY(-50%) rotateZ(-25deg); background: #000;}
#plan .campaign .campaign_bg .flex .text_box p.text:after{content: ""; display: block; width: 1px; height: 100%; position: absolute; right: 0px; top: 50%; transform: translateY(-50%) rotateZ(25deg); background: #000;}
#plan .campaign .campaign_bg .flex .text_box p.text span{font-size: 26px;  font-family: 'Noto-Sans-JP-Bold'; }
#plan .campaign .campaign_bg .flex .text_box .yellow_text{ display: inline; background:linear-gradient(transparent 60%, #FFF257 60%); width: 100%; font-size: 39px; line-height: 160%; font-family: 'Noto-Sans-JP-Bold'; }
#plan .campaign .campaign_bg .flex .text_box a{margin: 38px auto 0; display: block; background: linear-gradient(45deg, #5485E6 0% , #285CCB 80%); width: 356px; border-radius: 1000px; color: #fff; font-size: 20px; font-family: 'Noto-Sans-JP-Bold'; padding: 19px 53px;}
#plan .campaign .campaign_bg .flex .text_box a img{margin: 0 20px 0 0;}


/* ------------------------------------------------------------ #faq */
#faq{background: #FDF8EE; padding: 66px 0 100px;}
#faq .title_text{font-size: 16px;}
#faq h3{color: #000;}
#faq ul{padding: 54px 0 0;}
#faq ul li{border-left: 3px solid #154097; padding: 21px 0 24px 35px;}
#faq ul li:not(:last-child){margin: 0 0 31px;}
#faq ul li p{display: flex; align-items: flex-start;}
#faq ul li p.question{font-size: 22px; line-height: 127%; font-family: 'Noto-Sans-JP-Bold'; }
#faq ul li p.answer{line-height: 150%; margin: 22px 0 0;}
#faq ul li span{font-size: 30px; line-height: 100%; font-family: gotham, sans-serif; font-weight: 700; font-style: normal; display: block; margin: 0 20px 0 0; min-width: 30px;}
#faq ul li p.question span{color: #154097;}
#faq ul li p.answer span{color: #E21713;}
#faq .link_box{text-align: center; padding: 82px 0 0;}
#faq .link_box p{font-size: 20px; font-family: 'Noto-Sans-JP-Bold'; line-height: 160%;}
#faq .link_box a{margin: 17px auto 0; display: block; background: #154097; width: 457px; border-radius: 1000px; color: #fff; font-size: 24px; font-family: 'Noto-Sans-JP-Bold'; padding: 25px 71px 25px 70px;}
#faq .link_box a img{margin: 0 41px 0 0; display: inline-block;}


/* ------------------------------------------------------------ #company */
#company{padding: 100px 0;}
#company h3{color: #000;}
#company .table_box{padding: 60px 0 0;}
#company .table_box table{width: 100%; height: auto;}
#company .table_box table th{vertical-align: top; font-size: 16px;font-family: 'Noto-Sans-JP-Medium'; line-height: 110%; padding: 30px 0 30px 28px; width: 240px; border-bottom: 1px solid #E8E8E8; text-align: left; line-height: 175%;}
#company .table_box table td{vertical-align: top; font-size: 16px; line-height: 175%; padding: 30px 0; letter-spacing: 0.04em; border-bottom: 1px solid #E8E8E8; width: calc(100% - 240px);}
#company .table_box table tr:first-child th,
#company .table_box table tr:first-child td{ border-top: 1px solid #E8E8E8; }

/* ----------------------------- mobile ------------------------------- */
@media only screen and (max-width: 768px) {
		
	h3{font-size: 20px;}
	h3 span{font-size: 25px;}
	.title_text{font-size: 12px; padding: 23px 0 0; text-align: left;line-height: 166.7%;}
	.white_box{ border-radius: 15px;}
	.flex{display: block;}
	.inner_big{max-width: 90%; margin: 0 auto; padding: 0;}
	/* ------------------------------------------------------------ #fv */
	#fv{background: url(../images/bg_fv-sp.jpg) no-repeat center center; background-size: cover; padding: 50px 0 68px; margin: 58px 0 0;}
	#fv .fv__wrapper{min-width: auto; margin: 0 auto; width: 90%;}
	#fv .fv__wrapper .fv__content {width: 100%; height: auto;}
	#fv .fv__wrapper .fv__content .fv__catch{font-size: 16px;padding: 0 9px 1px 5px;}
	#fv .fv__wrapper .fv__content .fv__headline{font-size: 28px; line-height: 148.45%; margin: 10px 0 0;}
	#fv .fv__wrapper .fv__content .fv__headline .fv__marker{border-radius: 5px; line-height: 110%; padding: 0px 8px 6px 8px; margin: 0 5px 0 0;}
	#fv .fv__wrapper .fv__content .fv__txt{padding: 18px 0 0; font-size: 12px;}
	#fv .fv__wrapper .fv__content .fv__gallery{padding: 19px 0 0;}
	#fv .fv__wrapper .fv__content .fv__gallery img{width: calc(100% / 4); height: auto;}
	#fv .fv__wrapper .contact-mail{padding: 20px 0 0; width: 90%; margin: 0 auto;}
	#fv .fv__wrapper .contact-mail .contact-mail__link{padding: 13px 28px; }
	#fv .fv__wrapper .contact-mail .contact-mail__link .contact-mail__txt{font-size: 18px; }
	#fv .fv__wrapper .contact-mail .contact-mail__link img{margin: 0 11px 0 0;width: 25px; height: auto;}
	#fv .fv__wrapper .fv__visual{position: relative; right: auto; top: auto; transform: none; max-width: 86%; height: auto; width: 100%; margin: 0 auto; padding: 23px 0 0;}
	
	/* ------------------------------------------------------------ #about */
	#about{padding: 50px 0 61px; }
	#about .box_1{padding: 0 0 40px;}
	#about .box_1 .white_box{ margin: 40px 0 0;}
	#about .box_1 .white_box .flex{padding: 15px 5% 41px; }
	#about .box_1 .white_box .flex .img_1{width: 96%; height: auto; margin: 0 auto;}
	#about .box_1 .white_box .flex .img_1 img{width: 100%; height: auto;}
	#about .box_1 .white_box .flex .text_box{width: 100%; height: auto; margin: 0; padding: 9px 0 0;}
	#about .box_1 .white_box .flex .text_box h4{font-size: 22px; }
	#about .box_1 .white_box .flex .text_box p{line-height: 150%; font-size: 12px; padding: 15px 0 0;}
	#about .box_2 {padding: 30px 0 0;}
	#about .box_2 h4{font-size: 18px; line-height: 156%; }
	#about .box_2 h4 span{font-size: 18px; padding: 0 4px 1px;}
	#about .box_2 h4 span.blue{ margin: 0 4px;}
	#about .box_2 h4 span.red{ margin: 0 4px 0 0 ;}
	
	#about .box_2 .flex{ display: flex; padding: 24px 0 0;}
	#about .box_2 .flex .clos {width: calc(100% - 90%);}
	#about .box_2 .flex .clos .clos_box{width: 28px; height: 28px;}
	#about .box_2 .flex .clos .clos_box:before{width: 28px; height: 2px; }
	#about .box_2 .flex .clos .clos_box:after{width: 28px; height: 2px; }
	#about .box_2 .flex .white_box{width: 45%; height: auto; padding: 12px 6px 15px; text-align: center;}
	#about .box_2 .flex .white_box p{font-size: 14px; }
	#about .box_2 .flex .white_box p span{padding: 0 2px 1px; margin-right: 3px; border-radius: 3px;}
	
	#about .box_2 .flex .content_box_1 img{padding: 3px 0 0; width: 88.3%; height: auto;}
	#about .box_2 .flex .content_box_2{padding: 18px 6px 15px; }
	#about .box_2 .flex .content_box_2 img{padding: 14px 0 0; width: 75.49%; height: auto;}
	
	/* ------------------------------------------------------------ #problem */
	#problem{padding: 60px 0 0;}
	#problem .title_text{text-align: center; font-size: 16px;line-height: 175%;}
	#problem .title_text span{padding: 0 3px 3px; font-size: 16px; margin: 0px 3px;line-height: 130%;}
	#problem .flex{ padding: 30px 0 60px;}
	#problem .flex .white_box{width: 100%; border-radius: 20px; padding: 11px 5% 28px;}
	#problem .flex .white_box img{width: 80%; height: auto; margin: 0 auto; display: block;}
	#problem .flex .white_box:nth-child(1) p{padding: 14px 0 0;}
	#problem .flex .white_box:nth-child(2){padding: 11px 5% 28px; }
	#problem .flex .white_box:nth-child(2) h4{padding: 17px 0 0;}
	#problem .flex .white_box:nth-child(2) p{padding: 15px 0 0;}
	#problem .flex .white_box.mini_box{width: 100%; height: auto; padding: 11px 5% 28px; margin: 20px 0 0;}
	#problem .flex .white_box:not(:last-child){margin: 0 0 20px;}
	#problem .flex .white_box h4{font-size: 17px; padding: 11px 0 0;}
	#problem .flex .white_box p{font-size: 12px; padding: 10px 0 0;}
	
	#problem .red_bg{padding: 0 0 60px;}
	#problem .red_bg:before{clip-path: polygon(0 0, 50% 80px, 100% 0, 100% 100%, 50% 100%, 0 100%);}
	#problem .red_bg .red_box{ padding: 4px 0 0;}
	#problem .red_bg .red_box h4 img{margin: 0 13px 0 0; width: 194px; height: auto;}
	#problem .red_bg .red_box h4 span{font-size: 26px; padding: 11px 0 0;}
	#problem .red_bg .red_box h4 span.PC{display: none; }
	#problem .red_bg .red_box h4 span.SP{display: inline-block;}
	#problem .red_bg .red_box h4 span:last-child{padding: 0px 0 0;}
	#problem .red_bg .red_box .flex .white_box{width: 100%; padding: 21px 5%; }
	#problem .red_bg .red_box .flex .white_box img{width: 73%; height: auto; margin: 0 auto; display: block;}
	#problem .red_bg .red_box .flex .white_box h5{padding: 11px 0 0; font-size: 17px; line-height: 152.9%; }
	#problem .red_bg .red_box .flex .white_box p{padding: 12px 0 0;}
	#problem .red_bg .red_box .link_box{padding: 0;}
	#problem .red_bg .red_box .link_box p{font-size: 15px; line-height: 100%;}
	#problem .red_bg .red_box .link_box a{display: block; width: 90%; margin: 17px auto 0; padding: 11px 25px 14px 30px; text-align: center;}
	#problem .red_bg .red_box .link_box a p.contact-mail__txt{font-size: 18px; line-height: 180%; }
	#problem .red_bg .red_box .link_box a img{ padding: 3px 0 0; margin: 0 9px 0 0; width: 27px; height: auto;}
	
	/* ------------------------------------------------------------ #feature */
	#feature .bg_box{padding: 60px 0; }
	#feature .bg_box .title_text{padding: 20px 0 0;}
	#feature .bg_box .slider_box_sp{padding: 30px 0 0; width: 100%}
	#feature .bg_box .slider_box_sp .slick-list .slick-track{display: flex;}
	#feature .bg_box .slider_box_sp .white_box.box_1,
	#feature .bg_box .slider_box_sp .white_box.box_3,
	#feature .bg_box .slider_box_sp .white_box{padding: 30px 22px 27px; height: auto; margin: 0 20px; position: relative;}
	#feature .bg_box .slider_box_sp .white_box.active{display: block;}
	#feature .bg_box .slider_box_sp .white_box:not(:last-child){margin: 0 20px;}
	#feature .bg_box .slider_box_sp .white_box .text_box{width: 100%; height: auto;}
	#feature .bg_box .slider_box_sp .white_box img{width: 100%; height: auto; display: block; margin: 0 auto; padding: 10px 0 0;}
	#feature .bg_box .slider_box_sp .white_box p.feature_tt.SP{text-align: center;}
	#feature .bg_box .slider_box_sp .white_box p.feature_tt .data{font-size: 33px; }
	#feature .bg_box .slider_box_sp .white_box p.feature_tt .feature{ font-size: 16px; padding: 8px 8px 0 0;}
	#feature .bg_box .slider_box_sp .white_box .text_box h4{padding: 10px 0 0; line-height: 144%; font-size: 17px;text-align: center;}
	#feature .bg_box .slider_box_sp .white_box .text_box p.text{padding: 20px 0 0; font-size: 12px; line-height: 150%;}
	#feature .bg_box .slider_box_sp .slick-dots{position: relative; bottom: auto;font-size: 0px; padding: 18px 0 0;}
	#feature .bg_box .slider_box_sp .slick-dots li{width: 6px; height: 6px; background: #D0D0D0; margin: 0 7px; overflow: hidden; border-radius: 10000px;}
	#feature .bg_box .slider_box_sp .slick-dots li.slick-active{background: #2B5DC1;}
	#feature .bg_box .slider_box_sp .slick-dots li button{width: 100%; height: 100%; padding: 0px;}
	#feature .bg_box .slider_box_sp .slick-dots li button::before{display: none;}
	
	#feature .blue_bg{padding: 60px 0 80px;}
	#feature .blue_bg h4{ font-size: 26px; line-height: 157.15%;}
	#feature .blue_bg p.title_text { padding: 20px 0 0;}
	#feature .blue_bg .select_box{padding: 20px 0 0;}
	#feature .blue_bg .select_box .white_box{border-radius: 0 0 20px 20px; height: auto; padding: 50px 5%; }
	#feature .blue_bg .select_box .white_box.active{display: block;}
	#feature .blue_bg .select_box .btn_box{display: flex; gap:0px;}
	#feature .blue_bg .select_box .btn_box p{width: 49%; font-size: 16px; line-height: 220%; border-radius: 10px 10px 0 0;}
	#feature .blue_bg .select_box .white_box .flex{flex-wrap: wrap; justify-content: space-between; gap: 0px 50px;}
	#feature .blue_bg .select_box .white_box .flex .box p{width: 100%; height: auto; font-size: 20px; padding: 14px 0; border-radius: 15px;}
	#feature .blue_bg .select_box .white_box .flex .box p:not(:last-child){margin: 0 0 7px;}
	#feature .blue_bg .select_box .white_box .flex .box p:before{ width: 22px; height: 31px; top: auto; transform: none; bottom: -26px; z-index: 1;}
	#feature .blue_bg .select_box .white_box .flex img{width: 100%; height: auto; padding: 30px 0 0;}	
	#feature .blue_bg .select_box .white_box .flex .box.left_box p.bg_blue.tt_box_1:before{background: url(../images/feture_icn_blue_01_sp.svg) no-repeat center center; background-size: 100%; right: 58px; }
	#feature .blue_bg .select_box .white_box .flex .box.left_box p.border_blue.tt_box_2:before{background: url(../images/feture_icn_blue_02_sp.svg) no-repeat center center; background-size: 100%; width: 25px; right: 58px;bottom: -28px;}
	#feature .blue_bg .select_box .white_box .flex .box.left_box p.bg_blue.tt_box_3:before{background: url(../images/feture_icn_blue_01_sp.svg) no-repeat center center; background-size: 100%; right: 58px;}
	#feature .blue_bg .select_box .white_box .flex .box.right_box p.border_blue.tt_box_1:before{background: url(../images/feture_icn_blue_03_sp.svg) no-repeat center center; background-size: 100%; width: 25px; left: 58px; bottom: auto; top: -29px;}
	#feature .blue_bg .select_box .white_box .flex .box.right_box p.bg_blue.tt_box_2:before{background: url(../images/feture_icn_blue_04_sp.svg) no-repeat center center; background-size: 100%; width: 25px; left: 58px; bottom: auto; top: -26px;}
	
	#feature .blue_bg .select_box .white_box .flex .box.left_box p.bg_red.tt_box_1:before{background: url(../images/feture_icn_red_01_sp.svg) no-repeat center center; background-size: 100%; right: 58px; }
	#feature .blue_bg .select_box .white_box .flex .box.left_box p.border_red.tt_box_2:before{background: url(../images/feture_icn_red_02_sp.svg) no-repeat center center; background-size: 100%; width: 22px; right:58px; bottom: -27px;}
	#feature .blue_bg .select_box .white_box .flex .box.left_box p.bg_red.tt_box_3:before{background: url(../images/feture_icn_red_01_sp.svg) no-repeat center center; background-size: 100%; right: 58px;}
	#feature .blue_bg .select_box .white_box .flex .box.right_box p.border_red.tt_box_1:before{background: url(../images/feture_icn_red_04_sp.svg) no-repeat center center; background-size: 100%; width: 25px; left: 58px; bottom: auto; top: -29px;}
	#feature .blue_bg .select_box .white_box .flex .box.right_box p.bg_red.tt_box_2:before{background: url(../images/feture_icn_red_03_sp.svg) no-repeat center center; background-size: 100%; width: 22px; left: 58px; bottom: auto; top: -26px;}
	
	#feature .blue_bg .select_box .white_box .main_img{position: absolute; transform: translate(-50%,-50%); left: 50%; top: 50%;}
	#feature .blue_bg .select_box .white_box .sub_img{position: absolute; bottom: 80px; right: 144px; z-index: 2;}
	
	/* ------------------------------------------------------------ #flow */
	#flow{padding: 60px 0 74px; }
	#flow .flex{padding: 30px 0 0;}
	#flow .flex .box{width: 100%; min-width: none; height: auto; }
	#flow .flex .box:last-child{min-width: none; max-width: 100%;}
	#flow .flex .box:before{ bottom: -13px; right: 0; }
	#flow .flex .box:not(:first-child){margin: 0px;}
	#flow .flex .box.box_2{margin: -8px 0px 0px 0px;}
	#flow .flex .box.box_3{margin: -8px 0px 0px 0px;}
	#flow .flex .box.box_4{margin: -8px 0px 0px 0px;}
	#flow .flex .box .border-box{padding: 27px 26px 49px;display: flex; flex-wrap: wrap; align-items: center;justify-content: space-between;}
	#flow .flex .box:last-child .border-box{padding: 23px 26px 37px;}
	#flow .flex .box.box_3 .border-box{padding: 23px 26px 49px;}
	#flow .flex .box:not(:last-child)::before {clip-path: polygon(0 0, 100% 0, 100% 90%, 50% 100%, 0% 90%);}
	#flow .flex .box:not(:last-child)::after { clip-path: polygon(0 0, 100% 0, 100% 90%, 50% 100%, 0% 90%);}
	#flow .flex .box:not(:last-child) .border-box{clip-path: polygon(0 0, 100% 0, 100% 90%, 50% 100%, 0% 90%);}
	#flow .flex .box .border-box .flex_title{display: flex; width: 100%; padding: 0 0 10px;}
	#flow .flex .box .border-box .flex_title .step{font-size: 12px;}
	#flow .flex .box .border-box .flex_title .step span{ font-size: 40px;}
	#flow .flex .box .border-box .flex_title h4{margin: 0 0 0 21px; font-size: 20px; }
	#flow .flex .box .border-box .img_box{text-align: center; padding: 20px 0 0; width: 80px; height: auto;}
	#flow .flex .box .border-box .img_box img{width: 100%; height: auto;}
	#flow .flex .box .border-box p.text{width: calc(100% - 119px); padding: 0; font-size: 14px;}
	
	/* ------------------------------------------------------------ #plan */
	
	#plan{padding: 60px 0 80px; background: url(../images/bg_plan-sp.jpg) no-repeat center center; background-size: cover;}
	#plan .plan_box{width: 100%; padding: 23px 0 0;}
	#plan .plan_box .box{width: 100%; height: auto; }
	#plan .plan_box .box h4{font-size: 20px; }

	#plan .plan_box .box .white_box{padding: 30px 5% 34px;}
	#plan .plan_box .box .white_box .data_tt{font-size: 23px; }
	#plan .plan_box .box .white_box .data_tt span{font-size: 39px;}
	#plan .plan_box .box .white_box .data_tt span.tax{font-size: 15px;}
	#plan .plan_box .box .white_box .unit_tt{padding: 4px 0 0; font-size: 13px;}
	#plan .plan_box .box .white_box .unit_tt.last{padding-bottom: 20px;}
	#plan .plan_box .box .white_box .mini_tt{text-align: center; padding: 10px 0 0; font-size: 14px;}
	#plan .plan_box .box .white_box .mini_tt span{font-size: 23px;}
	#plan .plan_box .box .white_box .mini_tt span.tax{font-size: 13px;}
	#plan .plan_box .box .white_box ul{padding: 18px 5% 0;}
	#plan .plan_box .box .white_box ul li{padding-left: 14px;}
	#plan .plan_box .box .white_box ul li:before{width: 5px; height: 5px; top: 9px;}
	#plan .plan_box .box .white_box ul li .ttl{font-size: 15px; line-height: 150%;}
	#plan .plan_box .box .white_box ul li .txt{font-size: 12px; line-height: 150%;}
	#plan .plan_box .box .white_box ul li:not(:last-child){margin-bottom: 12px;}
	#plan .plan_box .box:not(:last-child){margin: 0 0 20px;}
	#plan .campaign{ margin: 40px 0 0; padding: 8px 0 0 8px;}
	#plan .campaign:before{width: calc(100% - 8px); height: calc(100% - 8px); }
	#plan .campaign .campaign_bg{width: 100%; height: auto;  padding: 39px 0 63px;}
	#plan .campaign .campaign_bg h4{text-align: center; font-size: 20px; }
	#plan .campaign .campaign_bg h4 span{ font-size: 26px; }
	#plan .campaign .campaign_bg .flex{padding: 11px 0 0;}
	#plan .campaign .campaign_bg .flex .img{margin: 0 auto; width: 70%;}
	#plan .campaign .campaign_bg .flex .img img{width: 100%; height: auto;}
	#plan .campaign .campaign_bg .flex .text_box{text-align: center; padding: 25px 0 0;}
	#plan .campaign .campaign_bg .flex .text_box p.text{font-size: 20px; width: 240px; margin: 0 auto 5px;}
	#plan .campaign .campaign_bg .flex .text_box p.text span{font-size: 24px; }
	#plan .campaign .campaign_bg .flex .text_box .yellow_text{ width: 100%; font-size: 28px;}
	#plan .campaign .campaign_bg .flex .text_box a{margin: 28px auto 0; width: 80%; font-size: 18px; padding: 12px 26px;}
	#plan .campaign .campaign_bg .flex .text_box a img{margin: 0 7px 0 0;width: 27px; height: auto;}
	
	
	/* ------------------------------------------------------------ #faq */
	#faq{ padding: 60px 0;}
	#faq .title_text{font-size: 12px;}
	#faq ul{padding: 30px 0 0;}
	#faq ul li{padding: 0 0 0 20px;}
	#faq ul li:not(:last-child){margin:0 0 30px;}
	#faq ul li p{display: flex; align-items: flex-start;}
	#faq ul li p.question{font-size: 18px; line-height: 127%; }
	#faq ul li p.answer{font-size: 14px; margin: 15px 0 0;}
	#faq ul li span{font-size: 30px; margin: 0 13px 0 0; width: 30px;}
	#faq .link_box{text-align: center; padding: 60px 0 0;}
	#faq .link_box p{font-size: 15px; }
	#faq .link_box a{margin: 9px auto 0; width: 80%; font-size: 18px; padding: 12px 26px;}
	#faq .link_box a img{margin: 0 7px 0 0; width: 27px; height: auto;}
	
	
	/* ------------------------------------------------------------ #company */
	#company{padding: 60px 0;}
	#company .table_box{padding: 30px 0 0;}
	#company .table_box table{width: 100%; height: auto;}
	#company .table_box table th{display: block; font-size: 14px; padding: 20px 0 0; width: 100%; border-bottom: none; line-height: 185.7%;}
	#company .table_box table td{display: block; font-size: 14px; line-height: 185.7%; padding: 8px 0 20px; width: 100%;}
	#company .table_box table tr:first-child th{border-top: 1px solid #E8E8E8;}
	#company .table_box table tr:first-child td{ border-top: none; }

}
