.sec_company { margin-top: 12rem; }

.about_sec_ttl { font-size: 3rem; font-weight: 600; text-align: center; margin-bottom: 2em; padding: 1em 0; border: 1px solid; border-left: none; border-right: none; }
.about_sec_ttl span { display: inline-block; position: relative; padding: 0 0 0 5rem; }
.about_sec_ttl span::before, .about_sec_ttl span::after { content: ''; width: 2.6rem; height: 0.8rem; position: absolute; top: calc(50% - 0.2rem); left: 0; }
.about_sec_ttl span::before { transform: rotate(90deg); }
.about_sec_ttl span span { padding: 0 5rem 0 0; }
.about_sec_ttl span span::before, .about_sec_ttl span span::after { left: auto; right: 0; }

.about_ttl { font-size: 3rem; font-weight: 600; line-height: 1.4; }

.about_txt { font-size: 1.8rem; line-height: 1.8; margin-top: 1.5em; }
.about_txt.fwb { font-weight: 600; }

.about_img { border-radius: 20px; overflow: hidden; }

.about_btn { display: inline-block; font-size: 1.8rem; font-weight: 600; margin-top: 3rem; padding: 0.5em 4em 0.5em 3em; background: #eff4f0 url(/common/img/icon_arrow_cgr01.png) no-repeat center right 1.5rem/1.5em; border: 2px solid #07a33e; border-radius: 40px; }
.about_btn:hover { color: #fff; background-image: url(/common/img/icon_arrow_cwr01.png); background-color: #42ac96; border-color: #42ac96; }

.about_wrap { display: flex; justify-content: space-between; }
.about_wrap.center { align-items: center; }
.about_wrap .about_img { width: 48%; }
.about_wrap .txt_area { width: 47%; }
.about_wrap .txt_area.bdr { position: relative; }
.about_wrap .txt_area.bdr::before { content: ''; width: 1px; height: 100%; background-color: #07a33e; position: absolute; top: 0; right: -6%; }

.about_more_area { margin-top: 6rem; border: 2px solid #b5b5b5; }
.about_more_area .more_inn { border: 9px solid #eff4f0; padding: 4rem; }
.about_more_area .more_ttl { font-size: 2.2rem; font-weight: 600; text-align: center; }

.about_more_list { display: flex; justify-content: center; }
.about_more_list li { width: 30%; margin: 0 1%; }
.about_more_list a { display: block; width: 100%; text-align: center; padding: 0.5em 1.5em 0.5em 0; }

#business .business_list { margin-top: 6rem; display: flex; justify-content: space-between; }
#business .business_list li { width: 48%; }
#business .business_list .about_txt { text-align: center; }
#business .business_list .about_img { margin-top: 3rem; }
#business .business_list .ttl { font-size: 2.4rem; font-weight: 600; text-align: center; position: relative; }
#business .business_list .ttl::before { content: ''; width: 100%; height: 0.5em; position: absolute; top: 50%; left: 0; transform: translateY(-50%); }
#business .business_list .ttl span { display: inline-block; padding: 0 1em; position: relative; z-index: 1; }
#business .business_list .ttl span::before { content: ''; width: 100%; height: 100%; background-color: #fff; transform: skewX(-23deg); position: absolute; top: 0; left: 0; right: 0; margin: 0 auto; z-index: -1; }
#business .business_list .generic .ttl::before { background-color: #07a33e; }
#business .business_list .health .ttl::before { background-color: #f18d49; }
#business .num_area { margin-top: 6rem; padding: 6rem 10rem; background-color: #eff4f0; }
#business .num_list { display: flex; justify-content: space-between; flex-wrap: wrap; }
#business .num_list li { width: 31%; text-align: center; padding-bottom: 3rem; background-color: #fff; position: relative; }
#business .num_list li.wide { width: 100%; margin-bottom: 5rem; display: flex; flex-wrap: wrap; }
#business .num_list li.wide .icon { right: 0; margin: 0 auto; }
#business .num_list li.wide .ttl { margin-left: 0; padding: 0.1em 0; }
#business .num_list li.wide .term { width: 100%; }
#business .num_list li.wide .box01 .ttl, #business .num_list li.wide .box01 .num { padding-left: 40%; }
#business .num_list li.wide .box02 .ttl, #business .num_list li.wide .box02 .num { padding-right: 40%; }
#business .num_list .box { width: 50%; }
#business .num_list .icon { max-width: 104px; transform: translateY(-35%); position: absolute; top: 0; left: 0; }
#business .num_list .ttl { color: #fff; font-size: 2rem; background-color: #42ac96; margin-left: 1em; padding: 0.1em 0 0.1em 4em; }
#business .num_list .num { margin-top: 1.5rem; padding-left: 0.5em; font-size: 5rem; font-weight: 600; line-height: 1.4; }
#business .num_list .num span { font-size: 60%; }
#business .num_list .term { font-size: 1.8rem; line-height: 1; }
#business .about_txt { text-align: center; }
#business .about_btn { margin-top: 1.5rem; background-color: #fff; }
#business .about_btn:hover { color: #fff; background-image: url(/common/img/icon_arrow_cwr01.png); background-color: #42ac96; border-color: #42ac96; }
#business .business_btn { text-align: center; }

#generic .about_sec_ttl { border-color: #07a33e; }
#generic .about_sec_ttl span::before, #generic .about_sec_ttl span::after { background-color: #07a33e; }
#generic .about_ttl { color: #07a33e; }
#generic .generic_list { margin: 12rem 0; display: flex; justify-content: space-between; }
#generic .generic_list li { width: 19%; position: relative; }
#generic .generic_list .ttl { width: 100%; color: #fff; font-size: 2rem; text-align: center; padding: 0.5em; background: linear-gradient(180deg, #33cf75 0%, #42ac96 100%); border-top-left-radius: 40px; border-bottom-right-radius: 40px; transform: translateY(-50%); position: absolute; top: 0; left: 0.5em; }
#generic .ttl_sub { width: 70%; margin: 1.5em auto 0; padding: 0.4em; font-size: 2rem; font-weight: 600; text-align: center; background-color: #eff4f0; border: 1px solid #c9c9c9; }
#generic .graph { margin-top: 2rem; padding: 0 17% 0 2%; }
#generic .box { margin-top: 1rem; padding: 3rem; background-color: #eff4f0; text-align: center; }
#generic .box .about_txt { margin-top: 1em; line-height: 1.4; }
#generic .box01 { margin-top: 3rem; display: flex; justify-content: space-between; }
#generic .box01 .box_inn { width: 48%; }
#generic .box_ttl { width: 21rem; margin: 0 auto; padding: 0.2em; color: #07a33e; font-size: 1.8rem; font-weight: 600; text-align: center; background-color: #fff; border: 2px solid #07a33e; border-radius: 40px; }
#generic .icon { margin: 3rem auto 0; }
#generic .ionc01 { max-width: 208px; }
#generic .ionc02 { max-width: 201px; }
#generic .ionc03 { max-width: 204px; }

#health .about_sec_ttl { border-color: #f18d49; }
#health .about_sec_ttl span::before, #health .about_sec_ttl span::after { background-color: #f18d49; }
#health .about_ttl { color: #f18d49; }
#health .health_list { margin: 8rem 0 0; display: flex; justify-content: space-between; }
#health .health_list li { width: 31%; }
#health .health_list .txt { font-size: 1.6rem; font-weight: 500; margin-top: 0.5em; }

#next { padding: 10rem 0 16rem; background: url(../img/next_bg.jpg) no-repeat center/cover; }
#next .about_txt { text-align: center; }
#next .img { margin-top: 5rem; text-align: center; }

@media screen and (min-width: 768px) and (max-width: 1240px) { .about_sec_ttl { font-size: 2.4vw; }
  .about_ttl { font-size: 2.4vw; }
  .about_txt { font-size: 1.4vw; }
  .about_btn { font-size: 1.4vw; }
  .about_more_area .more_ttl { font-size: 1.7vw; }
  #business .business_list .ttl { font-size: 1.9vw; }
  #business .num_list .ttl { font-size: 1.6vw; }
  #business .num_list .num { font-size: 4vw; }
  #business .num_list .term { font-size: 1.6vw; }
  #business .num_list .icon { max-width: 8.3vw; }
  #generic .generic_list .ttl { font-size: 1.6vw; }
  #generic .ttl_sub { font-size: 1.6vw; }
  #generic .box_ttl { font-size: 1.4vw; width: 16vw; } }
@media screen and (max-width: 767px) { .sec_company { margin-top: 8rem; }
  .about_sec_ttl { font-size: 5vw; margin-bottom: 1.5em; }
  .about_sec_ttl span { display: inline-block; position: relative; padding: 0 0 0 8vw; }
  .about_sec_ttl span::before, .about_sec_ttl span::after { width: 4.2vw; height: 1.2vw; top: calc(50% - 0.6vw); }
  .about_sec_ttl span span { padding: 0 8vw 0 0; }
  .about_ttl { font-size: 4.26vw; }
  .about_txt { font-size: 3.7vw; margin-top: 1em; }
  .about_img { border-radius: 10px; }
  .about_btn { font-size: 3.7vw; background-position: center right 1rem; border-width: 1px; }
  .about_wrap { display: block; }
  .about_wrap .about_img { width: 100%; }
  .about_wrap .txt_area { width: 100%; margin-top: 2rem; }
  .about_wrap .txt_area.bdr { margin-bottom: 5rem; }
  .about_wrap .txt_area.bdr::before { content: none; }
  .about_more_area { margin-top: 3rem; border: 2px solid #b5b5b5; border-width: 1px; }
  .about_more_area .more_inn { border-width: 4px; padding: 2rem; }
  .about_more_area .more_ttl { font-size: 5vw; }
  .about_more_list { margin-top: 2rem; display: block; }
  .about_more_list li { width: 100%; margin: 0; }
  .about_more_list a { margin-top: 1rem; padding: 1em 1.5em 1em 0; }
  #business .business_list { margin-top: 3rem; display: block; }
  #business .business_list li { width: 100%; margin-top: 3rem; }
  #business .business_list .about_img { margin-top: 2rem; }
  #business .business_list .ttl { font-size: 4.2vw; }
  #business .num_area { margin-top: 4rem; padding: 6rem 0 4rem; position: relative; }
  #business .num_area::before, #business .num_area::after { content: ''; width: 2rem; height: 100%; background-color: #eff4f0; position: absolute; top: 0; }
  #business .num_area::before { left: 0; transform: translateX(-100%); }
  #business .num_area::after { right: 0; transform: translateX(100%); }
  #business .num_list { display: block; }
  #business .num_list li { width: 100%; margin-bottom: 5rem; padding-bottom: 2rem; }
  #business .num_list li:last-child { margin-bottom: 3rem; }
  #business .num_list li.wide .icon { left: 0; }
  #business .num_list li.wide .ttl { padding: 0.3em 2em; margin-bottom: 1.5rem; }
  #business .num_list li.wide .box01 .ttl, #business .num_list li.wide .box01 .num { padding-left: 0; }
  #business .num_list li.wide .box02 .ttl, #business .num_list li.wide .box02 .num { padding-right: 0; }
  #business .num_list .icon { max-width: 83.5px; transform: translateY(-30%); left: 10%; }
  #business .num_list .ttl { font-size: 4.26vw; margin-left: 0; padding: 0.3em 0 0.3em 3em; }
  #business .num_list .num { margin-top: 0.5rem; padding-left: 0.25em; font-size: 9.6vw; }
  #business .num_list .term { font-size: 3.46vw; line-height: 1.4; }
  #business .about_btn { margin-top: 1.5rem; padding-top: 1em; padding-bottom: 1em; }
  #business .business_btn { text-align: center; }
  #generic .generic_list { margin: 6rem 0 0; justify-content: flex-start; flex-wrap: wrap; }
  #generic .generic_list li { width: 32%; margin: 0 2% 3rem 0; }
  #generic .generic_list li:nth-child(3n) { margin-right: 0; }
  #generic .generic_list .ttl { font-size: 3.2vw; border-top-left-radius: 20px; border-bottom-right-radius: 20px; }
  #generic .ttl_sub { width: 80%; font-size: 4vw; }
  #generic .graph { padding: 0 2% 0 0; }
  #generic .box { margin-top: 0.5rem; padding: 1.5rem; }
  #generic .box .about_txt { font-size: 3.2vw; }
  #generic .box01 { margin-top: 2rem; display: flex; justify-content: space-between; }
  #generic .box01 .box_inn { width: 48%; }
  #generic .box_ttl { width: 33vw; font-size: 2.8vw; border-width: 1px; }
  #generic .icon { margin: 1.5rem auto 0; }
  #generic .ionc01 { max-width: 125px; }
  #generic .ionc02 { max-width: 120px; }
  #generic .ionc03 { max-width: 149px; }
  #health .health_list { margin: 3rem 0 0; display: block; }
  #health .health_list li { width: 100%; margin-top: 2rem; }
  #health .health_list .txt { font-size: 3.46vw; }
  #next { padding: 4rem 0 6rem; background-image: url(../img/next_bg_sp.jpg); }
  #next .about_txt { text-align: left; }
  #next .img { margin-top: 2rem; }
  #next .img_btn { width: 60%; margin: 4rem auto 0; }
  #next .img_btn a { display: inline-block; width: 100%; padding: 1em; font-size: 2.4vw; font-weight: 600; text-align: center; background: #eff4f0 url(/common/img/icon_expansion.png) no-repeat center right 1.5em/2em; border: 1px solid #07a33e; border-radius: 40px; } }

/*# sourceMappingURL=about-towa.css.map */
