body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.6;
  font-size: 16px;
  color: #333;
  background: #F8FADD;
  min-height: 100vh;
  /* mobile viewport bug fix */
  min-height: -webkit-fill-available;
}
html {
  height: -webkit-fill-available;
}

p {
  line-height: 2.4;
}

a:hover {
  opacity: .7;
  transition: .3s;
}

img {
  width: 100%;
}

.header_inner {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  z-index: 99;
}
.site_logo {
  background: #3A8114;
  padding: 20px 40px;
  border-radius: 0 0 50px 0;
}
.site_logo img {
  width: 180px;
}
.main_nav {
  display: flex;
  gap: 30px;
  margin-right: 40px;
}
.main_nav ul {
  display: flex;
  align-items: center;
  gap: 30px;
  list-style: none;
  margin: 0;
  padding: 0;
  background: #ffffffe4;
  filter: drop-shadow(0px 0px 10px rgba(14,106,186,1));
  padding: 0 40px;
  height: 70px;
  border-radius: 40px;
}
.main_nav ul li {
  text-align: center;
}
.main_nav ul li span {
  display: block;
  color: #EF9907;
  font-size: 13px;
  font-family: "Roboto", sans-serif;
}
.main_nav a {
  text-decoration: none;
  color: #333;
}
.main_nav .contant_icon {
  background: #ffffffe4;
  filter: drop-shadow(0px 0px 10px rgba(14,106,186,1));
  width: 70px;
  height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
}
.main_nav .contant_icon i {
  font-size: 24px;
  color: #3A8114;
}

/* overlay-styles.css */
.hamburger-overlay {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 1000;
  width: 48px;
  height: 48px;
  border: none;
  background: transparent;
  cursor: pointer;
}

.hamburger-overlay__line {
  position: absolute;
  left: 11px;
  width: 26px;
  height: 2px;
  background-color: #3A8114;
  transition: all .6s;
}

.hamburger-overlay__line:nth-of-type(1) { top: 14px; }
.hamburger-overlay__line:nth-of-type(2) { top: 23px; }
.hamburger-overlay__line:nth-of-type(3) { top: 32px; }

.hamburger-overlay.active .hamburger-overlay__line {
  background-color: #fff;
}

.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(2) {
  opacity: 0;
}
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
}
.nav-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #3A8114;
  visibility: hidden;
  opacity: 0;
  transition: all .6s;
  z-index: 900;
}
.nav-overlay.active {
  visibility: visible;
  opacity: 1;
}
.nav-overlay__content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
}
.nav-overlay__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.nav-overlay__item {
  opacity: 0;
  transform: translateY(20px);
  transition: all .6s;
}
.nav-overlay.active .nav-overlay__item {
  opacity: 1;
  transform: translateY(0);
}
.nav-overlay.active .nav-overlay__item:nth-child(1) { transition-delay: 0.1s; }
.nav-overlay.active .nav-overlay__item:nth-child(2) { transition-delay: 0.2s; }
.nav-overlay.active .nav-overlay__item:nth-child(3) { transition-delay: 0.3s; }
.nav-overlay.active .nav-overlay__item:nth-child(4) { transition-delay: 0.4s; }
.nav-overlay.active .nav-overlay__item:nth-child(5) { transition-delay: 0.5s; }
.nav-overlay.active .nav-overlay__item:nth-child(6) { transition-delay: 0.6s; }
.nav-overlay.active .nav-overlay__item:nth-child(7) { transition-delay: 0.7s; }

.nav-overlay__link {
  display: inline-block;
  padding: 20px;
  color: #fff;
  font-size: 24px;
  text-decoration: none;
  transition: color .3s;
}

.nav-overlay__link:hover {
  color: #4a90e2;
}
/*  */
.main_visual {
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(../img/top_mv.png)center center no-repeat;
  background-size: cover;
  position: relative;
}
.main_visual .main_copy {
  font-size: 40px;
  text-align: center;
  font-weight: 500;
  line-height: 1.8;
  color: #fff;
  filter: drop-shadow(0px 0px 10px rgba(14,106,186,1));
}
.main_visual img {
  position: absolute;
  bottom: -1px;
  left: 0;
}
.catchcopy {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  text-align: center;
  font-size: 1.5rem;
  background: rgba(0,0,0,0.4);
  padding: 1rem;
  border-radius: 0.5rem;
}
@media (max-width: 1024px) {
  .main_nav ul {
    display: none;
    flex-direction: column;
    background: white;
    position: absolute;
    top: 60px;
    right: 1rem;
    width: 200px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  }
  .main_visual .main_copy {
    font-size: 32px;
  }
  .main_visual .pc {
    display: block;
  }
  .main_visual .sp {
    display: none;
  }
}
@media (max-width: 768px) {
  .main_visual .sp {
    display: block;
  }
}

/* -------------
common
-------------- */
.inner {
  width: 1000px;
  margin: auto;
}
.inner_S {
  width: 800px;
  margin: auto;
}
.inner_SS {
  width: 400px;
  margin: auto;
}
.section {
  padding: 100px 0;
}
.top_headline01 {
  font-size: 36px;
  font-weight: 500;
  margin-bottom: 40px;
}
.top_headline01 span {
  font-size: 18px;
  color: #3A8114;
  display: block;
  font-weight: 600;
}
.text_bold {
  font-size: 24px;
  margin-bottom: 20px;
  font-weight: 400;
}
.btn_a {
  background: #EF9907;
  padding: 15px 50px;
  color: #fff;
  display: inline-block;
  border-radius: 3px;
  margin-top: 30px;
}

.mt60 { margin-top: 60px; }
.mb10 { margin-bottom: 10px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb50 { margin-bottom: 50px; }
.mb60 { margin-bottom: 60px; }
.mb100 { margin-bottom: 100px; }
.pr_80 { padding-right: 10%; }
.pl_80 { padding-left: 10%; }

.tac { text-align: center; }
.tal { text-align: left; }
.tar { text-align: right; }

.font_s { font-size: 14px; }
.font_ss { font-size: 13px; }

.fwm { font-weight: 500; }
.fwb { font-weight: 600; }

.fc_grn { color: #3A8114; }

.inview.fadeup {
	opacity: 0;
	transition-duration: .6s;
	transform: translateY(10px);
}
.inview.fadeup.active {
	opacity: 1;
	transform: translateY(0px);
}
.inview.fadedown {
	opacity: 0;
	transition-duration: .5s;
	transform: translateY(-10px);
}
.inview.fadedown.active {
	opacity: 1;
	transform: translateY(0px);
}
.inview.fadeleft {
	opacity: 0;
	transition-duration: .9s;
	transform: translateX(-10px);
}
.inview.fadeleft.active {
	opacity: 1;
	transform: translateX(0px);
}
.inview.faderight {
	opacity: 0;
	transition-duration: .9s;
	transform: translateX(10px);
}
.inview.faderight.active {
	opacity: 1;
	transform: translateX(0px);
}
.delay01 {
	transition-delay: .3s;
}
.delay02 {
	transition-delay: .6s;
}
.delay03 {
	transition-delay: .9s;
}

.wave_gr {
  background: #3A8114;
  width: 100%;
  position: relative;
  margin-top: 180px;
  padding-bottom: 100px;
}
.wave_gr::after {
  content: "";
  background: url(../img/wave_gr.svg)no-repeat bottom;
  background-size:100%;
  width: 100%;
  height: 90px;
  position: absolute;
  left: 0;
  top: -89px;
}

.wave_yl {
  background: #F8FADD;
  position: relative;
  padding-bottom: 100px;
}
.wave_yl::after {
  content: "";
  background: url(../img/wave_yl.svg)no-repeat bottom;
  background-size: contain;
  width: 100%;
  height: 90px;
  position: absolute;
  left: 0;
  top: -89px;
}

.wave_wh {
  background: #fff;
  position: relative;
  padding-bottom: 100px;
}
.wave_wh::after {
  content: "";
  background: url(../img/wave_wh.svg)no-repeat top;
  background-size: contain;
  width: 100%;
  height: 90px;
  position: absolute;
  left: 0;
  top: -80px;
}

.wave_br {
  background: #766344;
  position: relative;
  padding-bottom: 100px;
}
.wave_br::after {
  content: "";
  background: url(../img/wave_br.svg)no-repeat bottom;
  background-size: contain;
  width: 100%;
  height: 90px;
  position: absolute;
  left: 0;
  top: -89px;
}

.bg_wh {
  background: #fff;
}

.sp {
  display: none;
}

@media (max-width: 1024px) {
  .inner {
    width: 100%;
    padding: 0 20px;
  }
  .inner_S {
    width: 100%;
    padding: 0 20px;
  }
  .inner_SS {
    width: 100%;
    padding: 0 20px;
  }
  .sp { display: block; }
  .pc { display: none; }
}


/* -------------
ABOUT
-------------- */
.top_about {
  position: relative;
  margin: 60px 0 200px;
}
.top_about::after {
  content: "";
  position: absolute;
  background: url(../img/about_item.png)no-repeat;
  background-size: contain;
  width: 476px;
  height: 370px;
  right: 0;
  bottom: -200px;
}
.top_about .box {
  display: flex;
  justify-content: space-between;
}

@media (max-width: 1024px) {
  .top_about {
    margin-bottom: 60px;
  }
  .top_about::after {
    display: none;
  }
}

/* -------------
PRODUCT / SERVICE
-------------- */
.top_box {
  display: flex;
  align-items: center;
  gap: 80px;
}
.top_box .item_45 {
  width: 45%;
}
.top_box .item_55 {
  width: 55%;
}
.radius_r img {
  border-radius: 0 50px 50px 0;
}
.radius_l img {
  border-radius: 50px 0 0 50px;
}

@media (max-width: 1024px) {
  .top_box {
    display: block;
    padding: 0 20px;
    gap: 0;
  }
  .top_box2 {
    display: flex;
    flex-direction: column-reverse;
  }
  .top_box .item_45 {
    width: 100%;
    padding: 0;
  }
  .top_box .item_55 {
    width: 100%;
    padding: 0;
  }
  .radius_r img {
    border-radius: 30px;
    height: 240px;
    object-fit: cover;
  }
  .radius_l img {
    border-radius: 30px;
    height: 240px;
    object-fit: cover;
  }
  .radius_r, .radius_l {
    margin-bottom: 20px;
  }
}

/* -------------
LINE
-------------- */
.line_area {
  background: url(../img/line_bg.png)center center no-repeat #fff;
  background-size: cover;
  border-radius: 50px;
  border: 4px solid #3A8114;
  padding: 50px;
  filter: drop-shadow(3px 3px 0px rgba(195,237,172,1));
  position: relative;
}
.line_area::after {
  content: "";
  position: absolute;
  background: url(../img/line_item.png)no-repeat;
  background-size: contain;
  width: 244px;
  height: 172px;
  right: 20px;
  bottom: -10px;
}
.line_area::before {
  content: "";
  position: absolute;
  display: inline-block;
  background: url(../img/line_item01.png)no-repeat;
  background-size: contain;
  width: 217px;
  height: 65px;
  top: -24px;
  left: 100px;
}
.line_area .line_title {
  font-size: 30px;
  color: #3A8114;
  font-weight: 500;
  text-align: center;
}
.line_area .line_text {
  line-height: 1.8;
  font-weight: 400;
}
.line_area .btn_a {
  background: #06C755;
}

@media (max-width: 1024px) {
  .line_area {
    padding: 40px 20px 40px;
    border-radius: 30px;
  }
  .line_area::after {
    display: none;
  }
  .line_area::before {
    left: 20px;
  }
  .line_area .line_title {
    font-size: 24px;
  }
}

@media (max-width: 1024px) {
  .line_area {
    filter: none;
  }
}


/* -------------
REASON
-------------- */
.top_reason {
  background: url(../img/top_reason_bg.png)no-repeat bottom #3A8114;
  background-size: contain;
  padding-bottom: 140px;
  margin-top: -1px;
}
.top_reason .top_headline01 {
  color: #fff;
}
.top_reason .top_headline01 span {
  color: #fff;
}
.top_reason p {
  color: #fff;
}
.top_reason .box_wrap {
  display: flex;
  gap: 30px;
  justify-content: space-between;
}
.top_reason .box_wrap li {
  width: calc(100% / 3);
  background: #fff;
  padding: 30px 20px;
  border-radius: 5px;
  filter: drop-shadow(3px 3px 0px rgba(27,69,4,1));
  position: relative;
}
.top_reason .box_wrap li::before {
  content: "";
  position: absolute;
  width: 110px;
  height: 110px;
  left: 50%;
  transform: translate(-50%);
  top: -45px;
  background: #fff;
  border-radius: 50%;
  z-index: -1;
  filter: none;
}
.top_reason .box_wrap li.reason_01::after {
  content: "01";
  position: absolute;
  font-size: 32px;
  left: 50%;
  transform: translate(-50%);
  top: -45px;
  color: #3A8114;
  filter: none;
}
.top_reason .box_wrap li.reason_02::after {
  content: "02";
  position: absolute;
  font-size: 32px;
  left: 50%;
  transform: translate(-50%);
  top: -45px;
  color: #3A8114;
  filter: none;
}
.top_reason .box_wrap li.reason_03::after {
  content: "03";
  position: absolute;
  font-size: 32px;
  left: 50%;
  transform: translate(-50%);
  top: -45px;
  color: #3A8114;
  filter: none;
}
.top_reason .box_wrap .ttl {
  font-size: 20px;
  color: #3A8114;
  margin-bottom: 20px;
  line-height: 2;
  font-weight: 500;
}
.top_reason .box_wrap li p {
  color: #333;
  margin-bottom: 20px;
  line-height: 2;
}
.top_reason .box_wrap li img {
  border-radius: 20px;
}

@media (max-width: 1024px) {
  .top_reason {
    padding-top: 50px;
  }
  .top_reason .box_wrap {
    display: block;
  }
  .top_reason .box_wrap li {
    width: 100%;
    margin-bottom: 70px;
  }
  .top_reason .box_wrap .reason_03 {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 580px) {
  .top_reason {
    padding-bottom: 70px;
  }
  .top_reason .box_wrap li {
    filter: none;
  }
}


/* -------------
LINK
-------------- */
.top_link {
  background: #766345;
  padding: 100px 0 70px;
  margin-bottom: -1px;
}
.top_link .link_wrap {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}
.top_link .link_wrap li {
  width: calc(100% / 2);
}
.top_link .link_wrap li a {
  display: inline-block;
  padding: 40px;
  color: #fff;
  border: 2px solid #fff;
  border-radius: 20px 20px 0 20px;
  transition: .3s;
  position: relative;
}
.top_link .link_wrap li a::after {
  position: absolute;
  content: "";
  bottom: 0;
  right: 0;
  border-bottom: 20px solid #fff;
  border-left: 20px solid transparent;
  transition: .3s;
}
.top_link .link_wrap li a:hover::after {
  border-bottom: 20px solid #3A8114;
  transition: .3s;
}
.top_link .link_wrap li a:hover {
  border: 2px solid #3A8114;
  opacity: 1;
}
.top_link .link_wrap .item01 a {
  background: url(../img/top_link01.jpg)no-repeat;
  background-size: cover;
}
.top_link .link_wrap .item02 a {
  background: url(../img/top_link02.jpg)no-repeat;
  background-size: cover;
}
.top_link .link_wrap li .ttl {
  font-size: 20px;
}

@media (max-width: 1024px) {
  .top_link .link_wrap {
    display: block;
    gap: 0;
  }
  .top_link .link_wrap li {
    width: 100%;
    margin-bottom: 20px;
  }
  .top_link .link_wrap li a {
  width: 100%;
}
}

@media (max-width: 580px) {
  .top_link {
    padding: 80px 0 50px;
  }
}



/* -------------
AREA
-------------- */
.top_area {
  padding-top: 30px;
  margin-bottom: 100px;
}

.top_area img {
  border-radius: 20px;
  filter: drop-shadow(3px 3px 0px rgba(225,230,158,1));
}
@media (max-width: 1024px) {
  .top_area {
    padding-top: 50px;
  }
}
@media screen and (max-width: 580px) {
  .top_area img {
    filter: none;
  }
}


/* -------------
NEWS
-------------- */
.top_news {
  background: #766345;
  margin-top: 100px;
  padding: 100px 0 0;
  background: url(../img/top_mv.png)center center no-repeat;
  background-size: cover;
  position: relative;
}
.top_news .inner {
  padding-bottom: 100px;
}
.top_news img {
  margin-bottom: -1px;
}
.top_news::after {
  content: "";
  position: absolute;
  background: url(../img/news_item.png)no-repeat;
  background-size: contain;
  width: 351px;
  height: 248px;
  right: 0;
  bottom: -100px;
  z-index: 1;
}
.news_list li {
  background: #ffffffc1;
  padding: 20px 30px;
  margin-bottom: 10px;
  border-radius: 20px;
}
.news_list .date {
  font-weight: 500;
  margin-right: 20px;
}
.news_list .type {
  color: #fff;
  font-size: 14px;
  display: inline-block;
  width: 90px;
  text-align: center;
  background: #EF9907;
  margin-right: 20px;
  padding: 2px 0;
  border-radius: 15px;
}
.news_list .title {
  display: block;
  padding-top: 10px;
}

@media (max-width: 1024px) {
  .top_news::after {
    display: none;
  }
}

/* -------------
CONTACT
-------------- */
.top_contact {
  background: #fff;
  padding-bottom: 100px;
}
.contact_wrap {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  margin-top: 40px;
}
.contact_wrap a {
  display: inline-block;
  border: 2px solid #EF9907;
  background: #EF9907;
  color: #fff;
  width: calc(100% / 2);
  padding: 20px 0 16px;
  position: relative;
  font-size: 32px;
  text-align: center;
  border-radius: 3px;
}
.contact_wrap .contact_tel::after {
  content: "お電話はこちら";
  position: absolute;
  top: -17px;
  left: 50%;
  transform: translateX(-50%);
  border: 2px solid #EF9907;
  border-radius: 17px;
  color: #EF9907;
  padding: 4px 0;
  width: 300px;
  background: #fff;
  font-size: 15px;
}
.contact_wrap .contact_form {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 2px solid #EF9907;
  color: #EF9907;
}
.contact_wrap .contact_form::after {
  content: "手軽に確認したい方はこちら";
  position: absolute;
  top: -17px;
  left: 50%;
  transform: translateX(-50%);
  border: 2px solid #EF9907;
  border-radius: 17px;
  color: #fff;
  padding: 4px 0;
  width: 300px;
  background: #EF9907;
  font-size: 15px;
}
.contact_wrap a .time {
  display: block;
  font-size: 15px;
}

@media (max-width: 1024px) {
  .top_contact {
    padding-top: 50px;
  }
  .contact_wrap {
    display: block;
  }
  .contact_wrap a {
    width: 100%;
    font-size: 28px;
  }
  .contact_wrap .contact_tel {
    margin-bottom: 40px;
  }
  .contact_wrap .contact_tel::after {
    width: 240px;
  }
  .contact_wrap .contact_form {
    margin-bottom: 10px;
  }
  .contact_wrap .contact_form::after {
    width: 240px;
  }
}

/* -------------
FOOTER
-------------- */
.ftr_area {
  background: #3A8114;
  color: #fff;
  text-align: center;
  padding: 60px 0 20px;
}
.ftr_area .ttl {
  font-size: 20px;
}
.ftr_area .add {
  line-height: 1.6;
}
.ftr_area ul {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 960px) {
  .ftr_area ul {
    display: block;
  }
  .ftr_area ul li {
    margin-bottom: 10px;
  }
}

/* -------------
PAGE COMMON
-------------- */
.header_common {
  position: static;
}
.title_area {
  color: #fff;
  background: url(../img/about_title.png)no-repeat center;
  background-size: cover;
  width: 96%;
  margin: 20px auto 80px;
  border-radius: 20px;
}
.title_area .headline01 {
  font-weight: 500;
  color: #fff;
  padding: 80px 0;
  font-size: 77px;
  text-align: center;
  line-height: 1.6;
}
.title_area .headline01 span {
  display: block;
  font-size: 24px;
}
.text_writing {
  font-size: 28px;
  font-weight: 400;
  color: #3A8114;
  margin-bottom: 40px;
  line-height: 1.8;
}
.highlight {
  font-weight: 500;
}
.headline02 {
  color: #3A8114;
  font-weight: 500;
  font-size: 48px;
  margin-bottom: 50px;
}
.headline02 span {
  display: block;
  color: #333;
  font-weight: 500;
  font-size: 16px;
}
.headline03 {
  font-size: 32px;
  padding-left: 30px;
  position: relative;
  font-weight: 400;
  margin-bottom: 30px;
}
.headline03::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  background: #EF9907;
  left: 0;
  top: 20px;
  border-radius: 8px;
}
.headline04 {
  font-size: 24px;
  border-bottom: 3px solid #3A8114;
  padding-bottom: 8px;
  margin-bottom: 30px;
}
.headline04::first-letter {
  font-size: 28px;
  color: #3A8114;
}
.line_dotted {
  border-bottom: 5px dotted #DFE3A0;
}
.line_dotted_wh {
  background: #fff;
  border-bottom: 5px dotted #F8FADD;
}
.white_wrap {
  background: #fff;
  padding: 40px 50px;
  border-radius: 30px;
}
.col_3{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.col_3 > *{
  width: calc( 33.33333% - 8px ) ;
  margin-right: 12px;
  margin-bottom: 12px;
}
.col_3 > *:nth-child(3n){
  margin-right: auto;
}
.col_3 > * > *{
  position: relative;
  overflow: hidden
}
.col_2 {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
  justify-content: space-between;
}
.col_2 > .column {
	width: 48%;
}
.col_3 img , .col_2 img {
  border-radius: 30px;
}

@media screen and (max-width: 960px) {
  .col_3 > *{
      width: calc( 50% - 6px ) ;
  }
  .col_3 > *:nth-child(3n){
      margin-right: 12px;
  }
  .col_3 > *:nth-child(2n){
      margin-right: auto;
  }
  .col_2 > .column {
    width: 100%;
  }
}
@media screen and (max-width: 580px) {
  .col_3 > *{
      width: 100%;
      margin-right: auto;
  }
  .col_3 > *:nth-child(3n){
      margin-right: auto;
  }
  .title_area .headline01 {
    font-size: 50px;
  }
  .white_wrap {
    padding: 30px 30px;
  }
}

.normal_table tr {
  width: 100%;
}
.normal_table tr th {
  width: 30%;
  padding: 20px 20px 20px 0;
  border-bottom: 2px solid #3A8114;
  font-weight: 500;
}
.normal_table tr th:first-child {
  border-top: 2px solid #3A8114;
}
.normal_table tr td {
  width: 70%;
  padding: 20px 0 20px 0;
  border-bottom: 1px solid #DFE39F;
}
.normal_table tr td:nth-child(2) {
  border-top: 1px solid #DFE39F;
}
@media screen and (max-width: 580px) {
  .table_wrap {
    padding: 130px 20px;
  }
  .normal_table tr {
    width: 100%;
  }
  .normal_table tr th {
    display: block;
    width: 100%;
  }
  .normal_table tr td {
    display: block;
    width: 100%;
    border-bottom: none;
  }
  .normal_table tr th:first-child {
    border-top: none;
  }
  .normal_table tr td:nth-child(2) {
    border-top: none;
  }
}

ul.normal_list {
  /* padding: 0; */
}
ul.normal_list li {
  line-height: 1.5;
  padding: 10px 0px 10px 20px;
  position: relative;
}
ul.normal_list li::before {
  content: "-";
  position: absolute;
  left: 0;
  top: 10px;
  color: #3A8114;
}

ol.normal_number,
ol.normal_number ol{
  counter-reset: list;
  list-style: none;
  padding: 0;
}
ol.normal_number ol{
  margin: 20px 0 0 0;
}
.normal_number li{
  position: relative;
  display: block;
  text-decoration: none;
  padding: 3px 3px 3px 8px;
  margin: 8px 0 8px 30px;
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  -ms-transition: all .3s ease-out;
  -o-transition: all .3s ease-out;
  transition: all .3s ease-out;
}
ol.normal_number ol li:before{
  content: counter(list);
  counter-increment: list;
  position: absolute;
  left: -35px;
  top: 2px;
  height: 28px;
  width: 28px;
  background: #fff;
  text-align: center;
  font-weight: bold;
  color: #3A8114;
  border: 1px solid #3A8114;
  border-radius: 3px;
}
.normal_number li:before{
  content: counter(list);
  counter-increment: list;
  position: absolute;
  left: -35px;
  top: 2px;
  height: 28px;
  width: 28px;
  background: #3A8114;
  text-align: center;
  font-weight: bold;
  color: #fff;
  border-radius: 3px;
}
.normal_number li:after{
  content: '';
  position: absolute;
  left: -28px;
  top: 50%;
  margin-top: -6px;
  border: 6px solid transparent;
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  -ms-transition: all .3s ease-out;
  -o-transition: all .3s ease-out;
  transition: all .3s ease-out;
}

#about .line_area, #base .line_area, #company .line_area, #faq .line_area, #flow .line_area, #product .line_area, #service .line_area, #news .line_area {
  margin: 70px 0 70px;
}