@charset "utf-8";
/* CSS Document */
/*------------------------------
fadeUp
------------------------------*/
.fadeUpOnScroll {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.4s ease-out, transform 0.4s ease-out;
}

.fadeUpOnScroll.on {
  opacity: 1;
  transform: translateY(0);
}

.fadeUpContainer.on .fadeUpOnScroll:nth-child(1) { transition-delay: 0s; }
.fadeUpContainer.on .fadeUpOnScroll:nth-child(2) { transition-delay: 0.1s; }
.fadeUpContainer.on .fadeUpOnScroll:nth-child(3) { transition-delay: 0.2s; }
.fadeUpContainer.on .fadeUpOnScroll:nth-child(4) { transition-delay: 0.3s; }
.fadeUpContainer.on .fadeUpOnScroll:nth-child(5) { transition-delay: 0.4s; }


/*------------------------------
cta_buttons_biz
------------------------------*/
.cta_buttons_biz {
  background: url(/img/btn_bg.png) no-repeat #333 center;
  padding: 50px 0;
  position: relative;
}

.cta_buttons_biz ul{
  margin: 0 auto;
  max-width: 900px;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.cta_buttons_biz ul li{
  text-align: center;
  width: 48%;
}
.cta_buttons_biz ul li a {
  display: inline-block;
  position: relative;
  border-radius: 80px;
  padding: 24px 0;
}
.cta_buttons_biz ul li.entry a{
  background: linear-gradient(90deg, #079F6C 0%, #008B5C 100%);
  box-shadow: 0 0 6px 0 rgba(255, 255, 255, 0.50) inset, 2px 2px 4px 0 rgba(0, 0, 0, 0.25);
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  gap: 8px;
  color: #FFF;
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  line-height: 180%;
}
.cta_buttons_biz ul li.entry a::after {
  content: "";
  position: absolute;
  width: 19px;
  height: 22px;
  background: url("/assets/img/arrow_whiteL.png") no-repeat right;
  top: 50%;
  transform: translateY(-50%) translateX(-50%);
  right: 20px;
}
.cta_buttons_biz ul li.entry .entry_note{
  color: #fff;
  font-size: 14px;
  margin-top: 10px;
}
.cta_buttons_biz ul li.download a {
  background: linear-gradient(90deg, #FFF 0%, #FFF 100%);
  box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.25);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  width: 100%;
  line-height: 180%;
}
.cta_buttons_biz ul li.download a::after {
  content: "";
  position: absolute;
  width: 19px;
  height: 22px;
  background: url("/assets/img/arrow_blackL.png") no-repeat right;
  top: 50%;
  transform: translateY(-50%) translateX(-50%);
  right: 20px;
}
/*------------------------------
hero
------------------------------*/
.hero{
  background: url(/business/img/fv_bg.png) no-repeat;
  background-size: cover;
   background-position: right center;
  margin-top: 80px;
  padding: 0 0 80px;
}
.hero_left{
  color: #ffffff;
  width: min(70%, 1300px);
  margin-left: 3%;
  padding: 5% 0 0 5%;
  background: url(/business/img/fv_title_bg.png) no-repeat top 26% left;
  background-size: 70%;
}
.hero_sub {
  font-size: clamp(24px, 2.5vw, 38px);
  font-weight: 900;
  line-height: 140%;
  letter-spacing: 1.9px;
  margin-bottom: 10px;
}
.hero_title {
  font-size: clamp(36px, 4.2vw, 64px);
  line-height: 1.4;
  margin-bottom: 50px;
  font-weight: 900;
  letter-spacing: 3.2px;
}
.hero_title span{
  font-size: 0.8em;
}
.hero_desc {
  font-size: clamp(16px, 1.6vw, 28px);
  line-height: 1.6;
  margin-bottom: 50px;
  font-weight: bold;
}
.hero_desc span {
  font-size: 0.8em;
}
.hero_badges {
  width: 100%;
  max-width: 690px;
}
.hero_badges img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 681px;
}
.hero_note {
  width: 33.33%;
  margin: 5px 0 0 auto;
  font-size: clamp(10px, 0.8vw, 12px);
  line-height: 1.4;
  text-align: center;
}

/*------------------------------
共通
------------------------------*/
h2{
  color: #662F7A;
  text-align: center;
  font-size: 42px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 4.2px;
  margin-bottom: 40px;
}

/*------------------------------
導入実績
------------------------------*/
.companies{
  background: #333;
  background: url(/img/companies_bg.png) no-repeat;
  background-size: cover;
  padding: 40px 0 10px;
}
.companies h2 {
  color: #B093BB;
  margin: 0 0 20px;
  text-align: center;
  font-family: Roboto;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0;
}
.companies h2 span{
  color: #fff;
  display: inline-block;
  letter-spacing: 4.2px;
  margin: 0 0 10px;
  font-size: 42px;
}
.companies p{
  color: #FFF;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 40px;
}
.companies_inner{
  width: 80%;
  margin:0 auto;
}
.companies .slick-slide {
  height: auto;
}
.companies .slick-dots {
  display: none !important;
}
.companies .slick-slide img {
  width: 95%;
}

.companies .slick_prev,
.companies .slick_next {
  position: absolute;
  top: 40px;
  z-index: 1;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  transform: translateY(-50%);
}
.companies .slick_prev{
  position: absolute;
  cursor: pointer;
  left: -50px;
}
.companies .slick_next{
  position: absolute;
  cursor: pointer;
  right:-50px;
}

.companies .slick_prev:before,
.companies .slick_next:before{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  border-top: 4px solid #fff;
  border-right: 4px solid #fff;
  opacity: 1;
  content: '';
}
.companies .slick_prev:before {
  transform: translate(-25%, -50%) rotate(-135deg);
}

.companies .slick_next:before {
  transform: translate(-75%, -50%) rotate(45deg);
}

/*------------------------------
worries
------------------------------*/
.worries {
  background: url(/business/img/worries_bg.jpg) no-repeat top center;
  background-size: cover;
  padding: 60px 0 110px;
}
.worries h2{
  color:#fff;
}
.worries .worries_slider {
  position: relative;
  max-width: 1000px;
  width: 100%;
  margin:0 auto;
}
.worries .worries_slider_inner {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: space-between;
}
.worries .worries_slider_item {
  width: 30%;
}
.worries .worries_slider_item figure {
  margin: 0;
}
.worries .worries_slider_item img {
  width: 100%;
  display: block;
}
.worries .worries_slider_item p{
  text-align: center;
  border: 1px solid #999;
  display: flex;
  padding: 16px 0;
  flex-direction: column;
  align-items: center;
  color: #FFF;
  font-size: 18px;
  font-weight: 700;
  line-height: 01.6;
  letter-spacing: 1.8px;
  margin-top:10px;
}
.worries .worries_slider_item:nth-of-type(4) p{
  padding: 30px 0;
}
/*------------------------------
solution
------------------------------*/
.solution {
  background: url(/business/img/solution_bg.jpg) no-repeat top center;
  background-size: cover;
  padding: 100px 0 ;
  position: relative;
}
.solution::before {
  content: "";
  background: url(/business/img/worries_btm_arrow.png) no-repeat;
  top: 20px;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  position: absolute;
  width: 762px;
  height:183px;
}
.solution h2 {
  color:#fff;
}
.solution ul {
  position: relative;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 1px;
}
.solution ul li {
  display: flex;
  flex-direction: column;
}
.solution ul li .solution_inner {
  background: #fff;
  padding: 25px;
  flex: 1;
}
.solution ul li h3{
  display: flex;
  height: 95px;
  justify-content: center;
  align-items: center;
  background: linear-gradient(325deg, #555 18.02%, #333 78.98%);
  position: relative;
}
.solution ul li h3::before {
  content: "";
  top: 35px;
  left: 65px;
  transform: translateY(-50%) translateX(-50%);
  position: absolute;
}
.solution ul li:nth-of-type(1) h3::before {
  content: "";
  background: url(/business/img/01.png) no-repeat;
  width: 98px;
  height: 88px;
}
.solution ul li:nth-of-type(2) h3::before {
  content: "";
  background: url(/business/img/02.png) no-repeat;
  width: 111px;
  height: 88px;
}
.solution ul li:nth-of-type(3) h3::before {
  content: "";
  background: url(/business/img/03.png) no-repeat;
  width: 110px;
  height: 88px;
}
.solution ul li h3 span{
  color: #FFF;
  font-size: 20px;
  font-weight: 700;
  z-index: 1;
  text-align: center;
}
.solution ul li figure{
  margin:0 0 20px;
}
.solution ul li p{
  font-weight: 500;
  line-height: 1.8;
}
.solution ul li p span{
  color: #662F7A;
  font-weight: 700;
}

.lesson h2{
  color:#333;
}
/*------------------------------
cycle
------------------------------*/
.cycle {
  background: url(/business/img/cycle_bg.jpg) no-repeat top center;
  background-size: cover;
  padding: 80px 0 120px ;
  text-align: center;
}

.cycle p {
  text-align: center;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.8;
  margin-bottom: 50px;
}
.cycle p span{
  color: #662F7A;
  font-size: 22px;
  font-weight: 700;
}
.cycle figure{
  max-width: 1227px;
  width:100%;
  margin: 0 auto;
}
/*------------------------------
support
------------------------------*/
.support {
  background: url(/about/img/support_bg.png) no-repeat;
  padding: 100px 0 80px;
}
.support h2 {
  color: #662F7A;
  text-align: center;
  font-size: 42px;
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 3.2px;
  margin:0 0 40px;
}
.support > p{
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  margin: 0 0 60px;
}
.support ul{
 width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
.support ul li {
  margin:0 0 30px;
  position: relative;
}
.support ul li .support_inner{
  width: 82%;
  margin: 0 0 0 auto;
  background: linear-gradient(0deg, #FFF 0%, #FFF 100%), linear-gradient(325deg, #623673 18.02%, #333 78.98%), linear-gradient(281deg, #333 7.25%, #666 85.17%), #D9D9D9;
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.10);
}
.support ul li:nth-of-type(2) .support_inner{
  margin: 0 auto 0 0;
}
.support ul li h3{
  color: #FFF;
  font-size: 24px;
  font-weight: 700;
  line-height: 160%;
  background: linear-gradient(325deg, #623673 18.02%, #333 78.98%);
  display: flex;
  padding: 25px 25px 25px 230px;
  align-items: center;
}
.support ul li:nth-of-type(2) h3{
  padding: 25px 230px 25px 30px;
}
.support ul li p{
  padding: 30px 30px 30px 230px;
  font-weight: 500;
  line-height: 180%;
}
.support ul li:nth-of-type(2) p{
  padding: 25px 230px 25px 30px;
}

.support ul li p span{
  color: #662F7A;
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 10px;
  display: inline-block;
}
.support ul li figure{
  position: absolute;
  left:0;
  top:20px;
}
.support ul li:nth-of-type(2) figure{
  position: absolute;
  right: 0;
  top: 20px;
  left: initial;
}

/*------------------------------
level_chart
------------------------------*/
.level_chart {
  background: url("/business/img/level_chart_bg.png") no-repeat center bottom #F8F8FA;
  background-size: 100%;
  padding: 80px 0;
}
.level_chart > p {
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  line-height: 180%;
  margin: 0 0 20px;
}
.level_chart .level_chart_inner {
  margin-bottom: 40px;
}
.level_chart .level_chart_txt p{
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.8;
  margin-bottom: 15px;
}
.level_chart .level_chart_txt span {
  color: #662F7A;
  font-size: 22px;
}
.level_chart .level_chart_btm ul {
  max-width: 1000px;
  width: 100%;
  margin: 55px auto 0;
  display: flex;
  justify-content: space-between;
}
.level_chart .level_chart_btm ul li{
  width: 48%;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.25);
  background: linear-gradient(180deg, #633673 18.02%, #D19CE4 78.98%);
  padding: 4px;
}
.level_chart .level_chart_btm ul li .inner{
  background: #fff;
}
.level_chart .level_chart_btm ul li h3{
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.6;
  padding: 25px 0;
}
.level_chart .level_chart_btm ul li h3 span{
  color: #662F7A;
  font-weight: 900;
}
.level_chart .level_chart_btm ul li p{
  font-weight: 500;
  line-height: 1.8;
  padding: 15px 30px 30px;
}
.level_modal_inner h2 {
  color: #333;
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0;
  margin-bottom: 40px;
}
/*------------------------------
introduction
------------------------------*/
.introduction {
  padding: 80px 0;
}
.introduction .introduction_inner > p {
  text-align: center;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.8;
  margin-bottom:60px;
}
.introduction .introduction_inner > p span{
  color: #662F7A;
  font-size: 18px;
  font-weight:700;
}
.introduction ul{
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 20px;
  row-gap: 20px;
}
.introduction ul li div{
  color: #B397BD;
  text-align: center;
  font-family: Roboto;
  font-size: 48px;
  font-weight: 700;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}
.introduction ul li figure{
  width: 100%;
  text-align: center;
  background: #fff;
}
.introduction ul li h3{
  background: linear-gradient(96deg, #413546 26.55%, #623673 56.71%);
  display: flex;
  padding: 8px 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  color: #FFF;
  text-align: center;
  font-weight: 700;
  margin-bottom:15px;
  font-size: 16px;
}
.introduction ul li p{
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8;
}

/*------------------------------
corporate
------------------------------*/
.corporate {
  padding: 80px 0;
}
.corporate .corporate_inner{
  border: 1px solid #633673;
  background: #FFF;
  box-shadow: 1px 1px 14px 0 rgba(0, 0, 0, 0.10);
  display: flex;
  max-width: 1000px;
  width: 100%;
  padding: 40px 48px;
  flex-direction: column;
  gap: 24px;
  margin: 0 auto;
}
.corporate .company_name {
  display: flex;
  justify-content: space-between;
}
.corporate .company_name p {
  font-size: 16px;
  font-weight: 500;
}
.corporate .company_name p:nth-of-type(2) span{
  font-size: 20px;
  margin-right:20px;
}
.corporate .company_name p span {
  font-size: 24px;
  font-weight: 700;
}
.corporate .challenge_results{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 35px;
}
.corporate .challenge_results .assignment{
  background: #EEE;
  position: relative;
}
.corporate .challenge_results .assignment::after{
  content: "";
  width: 18px;
  height: 35px;
  position: absolute;
  background: url(/business/img/challenge_results_arrow.png) no-repeat;
  right: -35px;
  top: 50%;
  transform: translateY(-50%) translateX(-50%);
}
.corporate .challenge_results .assignment h3{
  background: linear-gradient(92deg, #555 11.47%, #444 44.82%, #333 94.04%);
  display: flex;
  padding: 12px 24px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  color: #FFF;
  font-size: 20px;
  font-weight: 700;
}
.corporate .challenge_results p{
  padding: 15px 30px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.8;
}
.corporate .challenge_results p span{
  position: relative;
  padding: 0 0 0 20px;
}
.corporate .challenge_results p span::before{
  content: "■";
  font-size: 12px;
  position: absolute;
  left: 0;
  top: 3px;
}
.corporate .challenge_results .results{
  background: #F7F6FF;
}
.corporate .challenge_results .results h3{
  background: linear-gradient(0deg, #623673 10.77%, #333 100%);
  display: flex;
  padding: 12px 24px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  color: #FFF;
  font-size: 20px;
  font-weight: 700;
}
.corporate .challenge_results .results p{
  color: #662F7A;
}

.corporate .reason{
  display: flex;
  border-bottom: 1px solid #9F6EB1;
  padding-bottom: 20px;
}
.corporate .reason .selection_point{
  border-radius: 80px;
  background: #EEE7F0;
  display: flex;
  padding: 0 35px;
  justify-content: center;
  align-items: center;
  color: #662F7A;
  font-size: 18px;
  font-weight: 700;
  margin-right: 15px;
}
.corporate .reason p{
  color: #662F7A;
  font-size: 18px;
  font-weight: 500;
}
.corporate .reason p span{
  display: block;
}
.corporate .voice{
  padding-left: 150px;
  background: url(/business/img/img_voice.png) no-repeat left 30px top 50%;
}
.corporate .voice p{
  border-bottom: 1px solid #9F6EB1;
  display: flex;
  padding: 8px;
  align-items: center;
  font-size: 18px;
  font-weight: 500;
}
.corporate .voice p:last-child{
  border-bottom:none;
}
/*------------------------------
flow
------------------------------*/
.flow {
  padding: 80px 0;
  background: #fff;
}
.flow > p  {
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.8;
  margin-bottom: 50px;
}

.flow ul{
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 40px;
}
.flow ul li{
  position: relative;
}
.flow ul li::before{
  content: "";
  width: 66px;
  height: 22px;
  position: absolute;
  background: url(/business/img/img_flow_arrow.png) no-repeat;
  right: -67px;
  top: 23%;
  transform: translateY(-50%) translateX(-50%);
}
.flow ul li:last-child::before{
  display:none;
}
.flow ul li figure{
  width: 100%;
  text-align: center;
}
.flow ul li h3{
  color: #662F7A;
  text-align: center;
  font-weight: 700;
  border-bottom: 1px solid #662F7A;
  padding: 25px 0 15px;
  margin-bottom: 20px;
  font-size: 16px;
}
.flow ul li p{
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8;
}

/*------------------------------
corporate_training
------------------------------*/
.corporate_training {
  text-align: center;
  padding: 80px 0;
}
.corporate_training h2 {
  color: #333;
  text-align: center;
  font-size: 32px;
  letter-spacing: 3.2px;
}

/*------------------------------
reasons
------------------------------*/
 .reasons{
  background: url("/business/img/reasons_bg.png") no-repeat center top #fff;
  background-size: cover;
  padding: 0 0 80px;
}
 .reasons .reasons_inner{
  max-width: 1000px;
   width: 100%;
   margin:0 auto;
   padding-top: 120px;
}
 .reasons .reasons_top {
  display: flex;
  justify-content: space-between;
}
 .reasons .reasons_top h2{
  color: #FFF;
  text-align: left;
}
 .reasons .reasons_top p{
  color: #FFF;
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 20px;
}
 .reasons .reasons_top p:nth-of-type(2){
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8;
}
 .reasons .reasons_top figure{
  margin-top: -100px;
}
 .reasons .reasons_list li{
  display: flex;
   color: #fff;
}
 .reasons .reasons_list .number{
  display: flex;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  border-bottom: 2px solid #785087;
  padding: 0 0 10px;
  margin-bottom: 20px;
}
 .reasons .reasons_list .number div{
  font-family: Roboto;
  font-size: 42px;
  font-weight: 700;
  opacity: 0.5;
  line-height: 0.8;
  margin-right: 10px;
}
 .reasons .reasons_list .number span {
  font-size: 20px;
  line-height: 1.6;
}
 .reasons .reasons_list h3{
  font-size: 28px;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 25px;
}
 .reasons .reasons_list p{
  font-weight: 500;
  line-height: 1.8;
}
 .reasons .reasons_list li{
  margin-bottom: 65px;
}
 .reasons .reasons_list li:last-child{
  margin-bottom: 0;
}
 .reasons .reasons_list li figure{
  margin-right:30px;
}
 .reasons .reasons_list li:nth-child(even) figure{
  margin-left:30px;
}

/*------------------------------
faq
------------------------------*/
.faq {
  background: #F8F8FA;
  padding: 0 0 100px;
}
.faq h2 {
  color: #333;
  margin: 0 0 35px;
  text-align: center;
  font-family: Roboto;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0;
}
.faq h2 span {
  display: inline-block;
  letter-spacing: 4.2px;
  margin: 0 0 10px;
  color: #662F7A;
  font-size: 42px;
}
.faq_inner {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  padding: 90px 0;
}
.faq > a {
  display: block;
  width: fit-content;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {

/*------------------------------
共通
------------------------------*/    
h2{
  font-size: 26px;
  margin-bottom: 20px;
  letter-spacing: 0;
}
/*------------------------------
hero
------------------------------*/  
.hero  {
    background: url(/business/img/fv_bg_sp.png) no-repeat top;
    background-size: cover;
    margin-top: 65px;
    padding: 0;
  }
.hero_left {
  width: 100%;
  margin: 0 auto;
  padding: 30px 20px 0;
  background: url(/business/img/fv_title_bg_sp.png) no-repeat left top 17%;
  background-size: 90%;
}
.hero_sub {
  font-size: 18px;
  letter-spacing: 1.4px;
}
.hero_title {
  font-size: 32px;
  letter-spacing: 0;
  margin-bottom: 20px;
}
.hero_title span {
  font-size: 24px;
}
.hero_desc {
  font-size: 16px;
  margin-bottom: 10px;
} 
.hero_note {
  width: 100%;
  font-size: 8px;
  text-align: right;
}
  

/*------------------------------
cta_buttons_biz
------------------------------*/
.cta_buttons_biz {
    background: url(/img/btn_bg_sp.png) no-repeat center;
    padding: 40px 20px;
    background-size: cover;
}
.cta_buttons_biz ul {
  width: 100%;
  margin: 0 0 0 auto;
  z-index: 1;
  position: relative;
  display: block;
  padding-left: 0;
}
.cta_buttons_biz ul li a {
  max-width: 100%;
}
.cta_buttons_biz ul li.entry a  {
  margin-bottom: 10px;
  font-size: 15px;
  padding: 12px 30px;
  letter-spacing: 0;
  }
.cta_buttons_biz ul li{
  width: 100%;
}
.cta_buttons_biz ul li.download a {
  padding: 12px 30px;
  font-size: 15px;
  margin: 0 0 10px;
  }
.cta_buttons_biz ul li.entry .entry_note {
  font-size: 12px;
}
 /*------------------------------
導入実績
------------------------------*/  
.companies {
  padding: 20px 0 15px;
}
.companies h2 {
  margin: 0;
  font-size: 16px;
}
.companies h2 span{
  font-size: 26px;
}

.companies .companies_inner{
  width: 100%;
}
.companies p {
  font-size: 14px;
  font-weight: 500;
  margin: 0 0 20px;
}
.companies .slick_inner {
    width:80%;
    margin: 0 auto;
  }
.companies .slick-slide {
  padding: 0 5px;
}
.companies .slick-list {
  margin: 0 -5px;
}
.companies .slick_prev {
    left: -12%;
    top: 50%;
  }
.companies .slick_next {
    right: -12%;
    top: 50%;
}
.companies .slick_prev,
.companies .slick_next {
  background: none;
}
  
/*------------------------------
worries
------------------------------*/
.worries {
    background: url(/business/img/worries_bg_sp.jpg) no-repeat top center;
    background-size: cover;
    padding: 50px 0 110px;
  }
.worries .worries_slider {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
.worries .worries_slider_inner {
  display: block;
}

.worries .worries_slider_item {
  padding: 0 5px;
  box-sizing: border-box;
  height: auto;
}

.worries .worries_slider_item img {
  width: 100%;
}
.worries .worries_slider_item p {
  font-size: 16px;
  letter-spacing: 0;
  padding: 25px 0;
}
.worries .worries_slider_item:nth-of-type(4) p {
  padding: 25px 0;
}

.worries .worries_slider .worries_slider_prev,
.worries .worries_slider .worries_slider_next {
  position: absolute;
  top: auto;
  bottom: -34px;
  transform: none;
  z-index: 10;
  width: 40px;
  height: 40px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}

.worries .worries_slider .worries_slider_prev {
  left: calc(40% - 100px);
}

.worries .worries_slider .worries_slider_next {
  right: calc(40% - 100px);
}

.worries .worries_slider .worries_slider_prev::before,
.worries .worries_slider .worries_slider_next::before {
  content: '';
  position: absolute;
  top: 85%;
  left: 50%;
  width: 14px;
  height: 14px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.worries .worries_slider .worries_slider_prev::before {
  transform: translate(-25%, -50%) rotate(-135deg);
}
.worries .worries_slider .worries_slider_next::before {
  transform: translate(-75%, -50%) rotate(45deg);
}
.worries .slick-dots {
  bottom: -40px;
}
.worries .slick-dots li button::before {
  color: #999;
} 
.worries .slick-dots li.slick-active button::before {
  color: #fff;
}
/*------------------------------
solution
------------------------------*/   
.solution {
  background: url(/business/img/solution_bg_sp.jpg) no-repeat top center;
  background-size: cover;
  padding: 50px 0;
}
.solution::before {
  content: "";
  background: url(/business/img/worries_btm_arrow.png) no-repeat;
  background-size: 100%;
  width: 100%;
}
.solution ul {
  position: relative;
  width: 90%;
  margin: 0 auto;
  display: block;
}
.solution ul li h3 {
  height: 80px;
}
.solution ul li h3::before {
  content: "";
  top: 62px;
  left: 65px;
  transform: translateY(-50%) translateX(-50%);
  position: absolute;
}
.solution ul li:nth-of-type(1) h3::before {
  content: "";
  background: url(/business/img/01.png) no-repeat;
  width: 98px;
  height: 88px;
  background-size: 50%;
}
.solution ul li:nth-of-type(2) h3::before {
  content: "";
  background: url(/business/img/02.png) no-repeat;
  width: 111px;
  height: 88px;
  background-size: 50%;
}
.solution ul li:nth-of-type(3) h3::before {
  content: "";
  background: url(/business/img/03.png) no-repeat;
  width: 110px;
  height: 88px;
  background-size: 50%;
}

.solution ul li h3 span {
  font-size: 18px;
}
 .solution ul li p {
  font-size:14px;
} 
  
 /*------------------------------
cycle
------------------------------*/
.cycle {
  background: url(/business/img/cycle_bg_sp.jpg) no-repeat top center;
  background-size: 100%;
  padding: 50px 20px;
}

.cycle p {
  font-size: 16px;
  margin-bottom: 30px;
}
.cycle p span{
  font-size: 20px;
}
 
 /*------------------------------
support
------------------------------*/  
.support {
  background: url(/about/img/support_bg_sp.png) #fff;
  padding: 50px 20px 40px;
}
.support h2 {
  font-size: 26px;
  letter-spacing: 0;
}
.support > p {
  font-size: 16px;
}
.support ul li {
  margin: 125px 0 30px;
  position: relative;
}
.support ul li .support_inner,
.support ul li:nth-of-type(2) .support_inner{
    width: 100%;
    margin: 0 auto;
  }
.support ul li figure {
  position: absolute;
  top: 0;
  width: 90%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}
.support ul li:nth-of-type(2) figure {
  position: absolute;
  right: 0;
  top: 0;
  left: 50%;
}
.support ul li h3,
.support ul li:nth-of-type(2) h3{
    font-size: 20px;
    padding: 125px 30px 25px 30px;
    text-align: center;
    display: block;
  }
.support ul li p,
.support ul li:nth-of-type(2) p{
  font-size: 14px;
  padding: 20px;
}
.support ul li p span{
  font-size: 16px;
}

/*------------------------------
level_chart
------------------------------*/   
.level_chart {
  background: url("/business/img/level_chart_bg_sp.png") no-repeat center bottom #F8F8FA;
  background-size: 100%;
  padding: 50px 0;
}
 .level_chart .level_chart_inner img {
    width: auto;
  }
.level_chart .level_chart_txt{
  width: 90%;
  margin: 0 auto;
}
.level_chart .level_chart_txt p {
  text-align: left;
  font-size: 16px;
} 
.level_chart .level_chart_txt span {
  font-size: 18px;
}  
.level_chart .level_chart_btm {
  width: 90%;
  margin: 0 auto;
}
.level_chart .level_chart_btm ul {
  display: block;
}
.level_chart .level_chart_btm ul li {
  width: 100%;
  margin-bottom:20px;
}
.level_chart .level_chart_btm ul li h3 {
  font-size: 20px;
  padding: 20px 0;
}
.level_chart .level_chart_btm ul li p {
  padding: 15px;
}
  
 /*------------------------------
introduction
------------------------------*/    
.introduction {
  padding: 50px 0 0;
  width: 90%;
  margin: 0 auto;
}
 .introduction .introduction_inner > p {
  text-align: left;
  font-size: 16px;
} 
.introduction ul {
  width: 100%;
  margin: 0 auto;
  display: block;
}
.introduction ul li{
  margin-bottom: 60px;
}
.introduction ul li figure img{
  width: auto;
}  
.introduction ul li div {
  font-size: 40px;
  top: 0;
  left: 10%;
}
  
 /*------------------------------
corporate
------------------------------*/   
.corporate {
  padding: 50px 0;
  width: 90%;
  margin: 0 auto;
}  
.corporate .corporate_inner {
  display: flex;
  padding: 20px;
}
.corporate .company_name {
  display: block;
}
.corporate .company_name p span {
  font-size: 20px;
}
.corporate .company_name p {
  font-size: 12px;
  margin-bottom: 10px;
}
.corporate .company_name p:nth-of-type(2) span {
  font-size: 16px;
}
.corporate .company_name figure{
  width: 120px;
} 
.corporate .company_name figure img{
  width: 100%;
} 
.corporate .challenge_results {
  display: block;
} 
.corporate .challenge_results .assignment h3,
.corporate .challenge_results .results h3{
  font-size: 18px;
}  
.corporate .challenge_results p {
  padding: 10px 15px;
  font-size: 16px;
}
.corporate .challenge_results .assignment {
  margin-bottom: 50px;
}
 .corporate .challenge_results .assignment::after{
    content: "";
    width: 18px;
    height: 35px;
    position: absolute;
    background: url(/business/img/challenge_results_arrow.png) no-repeat;
    right: 45%;
    top: initial;
    transform: translateY(-50%) translateX(-50%) rotate(90deg);
    bottom: -60px;
  }
.corporate .reason {
  display: block;
}
.corporate .reason .selection_point {
  display: inline-block;
  font-size: 16px;
  margin: 0 0 15px;
  padding: 5px 25px;
}

.corporate .reason p {
  font-size: 16px;
}
.corporate .reason p span{
  margin-left: 1em;
  text-indent: -1em;
}
.corporate .voice {
  padding: 70px 0 0;
  background: url(/business/img/img_voice.png) no-repeat center top;
  background-size: 19%;
}
.corporate .voice p {
  font-size: 16px;
} 
  
/*------------------------------
flow
------------------------------*/    
.flow {
  padding: 50px 20px 5px;
}
.flow > p {
  text-align: left;
  font-size: 16px;
  margin-bottom: 30px;
} 
.flow ul {
  width: 100%;
  margin: 0 auto;
  display: block;
}
.flow ul li{
  margin-bottom: 65px;
}
.flow ul li::before {
  content: "";
  width: 22px;
  height: 34px;
  position: absolute;
  background: url(/business/img/img_flow_arrow_sp.png) no-repeat;
  right: 45%;
  top: 110%;
  transform: translateY(-50%) translateX(-50%);
}
.flow ul li figure img{
  width: auto;
}
  
/*------------------------------
flow
------------------------------*/    
.corporate_training {
  padding: 40px 20px;
}
.corporate_training h2 {
  font-size: 20px;
  letter-spacing: 0;
}
  
/*------------------------------
reasons
------------------------------*/
.reasons {
  background: url("/business/img/reasons_bg_sp.png") no-repeat center top #fff;
  background-size: cover;
  padding: 0 0 50px;
}
.reasons .reasons_top{
    justify-content: space-between;
    flex-direction: column;
    display: flex;
    width: 90%;
    margin: 0 auto;
  }
.reasons .reasons_top p{
    font-size: 20px;
    letter-spacing: -0.5;
  }
.reasons .reasons_top .reasons_top_inner{
  order: 2;
}
 .reasons .reasons_top .reasons_top_inner h2{
    font-size: 24px;
    margin: -30px 0 20px;
    position: relative;
    letter-spacing: -0.5;
  }
.reasons .reasons_top figure {
  margin-top: -100px;
  order: 1;
}
.reasons .reasons_list{
  width: 90%;
  margin: 0 auto;
}
.reasons .reasons_list li {
  display: block;
  margin-bottom: 45px;
}
.reasons .reasons_list li:nth-child(2n){
  flex-direction: column;
  display: flex;
}
.reasons .reasons_list li:nth-child(2n) .reasons_list_inner{
  order: 2;
}
.reasons .reasons_list li figure {
  margin: 0 0 25px;
}
.reasons .reasons_list li:nth-child(2n) figure {
  margin: 0 0 20px;
  order: 1;
}
.reasons .reasons_list .number {
  font-size: 20px;
}

.reasons .reasons_list .number div {
  font-size: 40px;
}
.reasons .reasons_list .number span {
  font-size: 16px;
}

.reasons .reasons_list h3 {
  font-size: 20px;
}
.reasons .reasons_list p {
  font-size: 14px;
}  
  
 /*------------------------------
faq
------------------------------*/
.faq {
  padding: 0 0 50px;
}
.faq_inner {
  width: 90%;
  margin: 0 auto;
  padding: 50px 0 0;
}
.faq h2 {
  color: #333;
  margin: 0 0 35px;
  font-size: 16px;
  letter-spacing: 0;
}
.faq h2 span {
  color: #662F7A;
  font-size: 26px;
}
}