/* LESS Document */
/*+++++++++++++++++++++++++++++++++++++++++++
	header
+++++++++++++++++++++++++++++++++++++++++++ */
header {
  background: none;
}
header .siteLogo a {
  pointer-events: none;
}
/*+++++++++++++++++++++++++++++++++++++++++++
	mv
+++++++++++++++++++++++++++++++++++++++++++ */
.mv {
  min-height: 987px;
  padding: 170px 0 50px;
  background: url(../../top_img/mv_bg.webp) no-repeat center center / cover;
  position: relative;
}
@media screen and (max-width: 767px) {
  .mv {
    min-height: 0;
    padding: 80px 10px 50px;
  }
}
.mv::after {
  content: '';
  display: block;
  width: 100%;
  height: 15px;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), #000000);
  opacity: 0.2;
  position: absolute;
  top: auto;
  bottom: 0;
  left: 0;
  right: 0;
}
.mv h1 {
  margin-bottom: 26px;
  text-align: center;
}
.mv p {
  text-align: center;
}
.mv p.ul {
  margin-bottom: 56px;
}
.mv p.txt {
  margin-bottom: 20px;
}
.mv .btn {
  max-width: 366px;
  min-height: 58px;
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .mv .btn {
    max-width: max-content;
    min-height: 0;
    padding: 2vw 5vw;
    font-size: 4.8vw;
  }
}
.mv .btn i {
  font-size: 3.6rem;
}
@media screen and (max-width: 767px) {
  .mv .btn i {
    font-size: 7.2vw;
  }
}
/*+++++++++++++++++++++++++++++++++++++++++++
	newsArea
+++++++++++++++++++++++++++++++++++++++++++ */
.newsArea {
  padding: 60px 0;
}
@media screen and (max-width: 767px) {
  .newsArea {
    padding: 30px 0;
  }
}
.newsArea .inner {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 34px;
}
@media screen and (max-width: 767px) {
  .newsArea .inner {
    flex-direction: column;
    gap: 15px;
  }
}
.newsArea .inner hgroup {
  width: 225px;
  padding: 30px 0 0 30px;
  border-right: #68B026 6px solid;
}
@media screen and (max-width: 767px) {
  .newsArea .inner hgroup {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: nowrap;
    gap: 10px;
    align-items: flex-end;
    width: 100%;
    padding: 0;
    border-right: none;
    border-bottom: #68B026 3px solid;
  }
}
.newsArea .inner hgroup h2 {
  margin: 0 0 5px;
  font-size: 4.8rem;
  font-weight: 900;
  line-height: 1.2;
  color: #1A7108;
}
@media screen and (max-width: 767px) {
  .newsArea .inner hgroup h2 {
    font-size: 6.4vw;
  }
}
@media screen and (max-width: 767px) {
  .newsArea .inner hgroup p {
    margin-bottom: 5px;
  }
}
@media screen and (max-width: 767px) {
  .newsArea .inner hgroup p a {
    text-decoration: none;
  }
}
.newsArea .inner .newsList {
  flex: 1;
}
.newsArea .inner .newsList .newsItem {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 28px;
  margin: 24px 0;
  text-decoration: none;
}
.newsArea .inner .newsList .newsItem:hover dl dd {
  color: #1A7108;
}
@media screen and (max-width: 767px) {
  .newsArea .inner .newsList .newsItem {
    gap: 10px;
  }
}
.newsArea .inner .newsList .newsItem figure {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 0;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 179px;
  height: 116px;
  border: #CCC 1px solid;
}
@media screen and (max-width: 767px) {
  .newsArea .inner .newsList .newsItem figure {
    width: 25vw;
    height: 20vw;
  }
}
.newsArea .inner .newsList .newsItem figure img {
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
  object-position: center center;
}
.newsArea .inner .newsList .newsItem figure img.noPhoto {
  max-width: calc(100% - 5px);
}
.newsArea .inner .newsList .newsItem dl {
  flex: 1;
}
.newsArea .inner .newsList .newsItem dl dt {
  margin: 0 0 5px;
}
.newsArea .inner .newsList .newsItem dl dt time {
  color: #4C9C19;
  font-weight: bold;
}
.newsArea .inner .newsList .newsItem dl dt mark {
  display: inline-block;
  min-width: 87px;
  margin: 0 0 0 5px;
  padding: 2px 15px;
  background: #4C9C19;
  border-radius: 100px;
  color: #FFF;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .newsArea .inner .newsList .newsItem dl dt mark {
    min-width: 0;
  }
}
.newsArea .inner .newsList .newsItem dl dd {
  color: #000;
  transition: 0.2s;
}
/*+++++++++++++++++++++++++++++++++++++++++++
	aboutArea
+++++++++++++++++++++++++++++++++++++++++++ */
.aboutArea {
  padding: 85px 0;
  background: url(../../top_img/bg_about.webp) no-repeat center top / 100% auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .aboutArea {
    padding: 40px 0;
    background-size: cover;
  }
}
.aboutArea::before {
  content: '';
  display: block;
  width: 100%;
  height: 15px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0), #000000);
  opacity: 0.2;
  bottom: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.aboutArea::after {
  content: '';
  display: block;
  width: 100%;
  height: 85px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0, #ffffff 100%);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.aboutArea .aboutLead {
  margin: 0 0 30px;
  font-size: 4.2rem;
  font-weight: 900;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .aboutArea .aboutLead {
    font-size: 6.8vw;
  }
}
@media screen and (max-width: 767px) {
  .aboutArea .aboutLead img {
    width: 70vw;
  }
}
.aboutArea .aboutLead strong {
  color: #FF4400;
  font-weight: 900;
}
.aboutArea h2 {
  margin: 0 0 30px;
  text-align: center;
  font-size: 3.6rem;
  font-weight: 900;
  color: #1A7108;
}
@media screen and (max-width: 767px) {
  .aboutArea h2 {
    font-size: 6.4vw;
  }
}
.aboutArea h2::after {
  content: '';
  display: block;
  width: 77px;
  height: 6px;
  margin: 8px auto 0;
  background: #1A7108;
}
.aboutArea ul {
  display: flex;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 5px;
  justify-content: space-between;
  margin: 0 0 45px;
}
@media screen and (max-width: 767px) {
  .aboutArea ul {
    flex-wrap: wrap;
    gap: 20px 10px;
    justify-content: center;
    margin-bottom: 20px;
  }
}
.aboutArea ul li {
  color: #20770C;
  line-height: 1.2;
  text-align: center;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .aboutArea ul li {
    width: calc(33% - 10px);
    font-size: 3.2vw;
  }
}
.aboutArea ul li img {
  margin: 0 0 15px;
}
/*+++++++++++++++++++++++++++++++++++++++++++
	solutionArea
+++++++++++++++++++++++++++++++++++++++++++ */
.solutionArea {
  padding: 0 0 810px;
  background: url(../../top_img/bg_point.webp) no-repeat center bottom / 100% auto;
}
@media screen and (max-width: 767px) {
  .solutionArea {
    padding-bottom: 60vw;
    background-size: 125% auto;
    background-position: left bottom;
  }
}
.solutionArea .inner {
  padding: 20px 10px 0;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.3) 97%, rgba(255, 255, 255, 0) 100%);
}
@media screen and (max-width: 767px) {
  .solutionArea .inner {
    padding: 0 10px;
  }
}
.solutionArea h2 {
  margin: 0 0 50px;
  text-align: center;
}
.solutionArea section {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 0;
  margin: 36px 0;
}
@media screen and (max-width: 767px) {
  .solutionArea section {
    flex-direction: column;
  }
}
.solutionArea section .num {
  width: 210px;
  flex-shrink: 0;
  font-family: 'Oswald', sans-serif;
  font-size: 3.8rem;
  color: #0092AE;
  line-height: 0.85;
}
@media screen and (max-width: 767px) {
  .solutionArea section .num {
    width: auto;
    font-size: 9.6vw;
    text-align: right;
  }
  .solutionArea section .num br {
    display: none;
  }
}
.solutionArea section .num strong {
  font-size: 18rem;
  font-weight: 500;
  color: #02C4EA;
  letter-spacing: -1px;
}
@media screen and (max-width: 767px) {
  .solutionArea section .num strong {
    font-size: 24vw;
  }
}
.solutionArea section .sectionContents {
  padding: 20px 0 0;
  flex: 1;
}
.solutionArea section .sectionContents h3 {
  font-size: 3.6rem;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .solutionArea section .sectionContents h3 {
    font-size: 6.4vw;
    text-align: center;
  }
}
.solutionArea section .sectionContents h4 {
  margin: 25px 0 5px;
  padding: 0 0 0 15px;
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 1.4;
  position: relative;
}
@media screen and (max-width: 767px) {
  .solutionArea section .sectionContents h4 {
    font-size: 4.8vw;
  }
}
.solutionArea section .sectionContents h4::before {
  content: '';
  display: block;
  width: 8px;
  height: 100%;
  border-radius: 8px;
  background: #02C4EA;
  position: absolute;
  left: 0;
  top: 0;
}
.solutionArea section .sectionContents h4 strong {
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: -3px;
  text-decoration-thickness: 11px;
  text-decoration-skip-ink: none;
  text-decoration-color: #FFFF00;
}
.solutionArea section .sectionContents .flex {
  gap: 20px;
  text-shadow: 0 0 3px rgba(255, 255, 255, 0.3);
}
@media screen and (max-width: 767px) {
  .solutionArea section .sectionContents .flex {
    flex-direction: column;
    gap: 10px;
  }
}
.solutionArea section .sectionContents .flex .flexImg {
  padding: 25px 0 0;
}
@media screen and (max-width: 767px) {
  .solutionArea section .sectionContents .flex .flexImg {
    order: -1;
  }
}
/*+++++++++++++++++++++++++++++++++++++++++++
	voiceArea
+++++++++++++++++++++++++++++++++++++++++++ */
.voiceArea {
  padding: 50px 0 100px;
  background: #E1E1E1;
  position: relative;
  top: -1px;
}
.voiceArea::after {
  content: '';
  display: block;
  width: 100%;
  height: 15px;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), #000000);
  opacity: 0.2;
  position: absolute;
  top: auto;
  bottom: 0;
  left: 0;
  right: 0;
}
.voiceArea h2 {
  font-weight: 900;
  font-size: 4.8rem;
  line-height: 1.2;
  color: #FFF;
  position: absolute;
  top: -75px;
}
@media screen and (max-width: 767px) {
  .voiceArea h2 {
    font-size: 9.2vw;
    top: -12vw;
  }
}
.voiceArea section {
  padding: 25px 10px;
  border-top: #3E8D00 7px solid;
  background: #FFF;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 767px) {
  .voiceArea section {
    margin: 0 0 10px;
    padding: 15px 20px;
  }
}
.voiceArea section .voiceHeader {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 12px;
  align-items: center;
  margin: 0 0 8px;
}
.voiceArea section .voiceHeader figure {
  flex-shrink: 0;
}
.voiceArea section .voiceHeader h3 {
  font-size: 2.4rem;
  flex: 1;
}
@media screen and (max-width: 767px) {
  .voiceArea section .voiceHeader h3 {
    font-size: 4.8vw;
  }
}
.voiceArea section h4 {
  margin: 0 0 8px;
  padding: 0 15px;
}
@media screen and (max-width: 767px) {
  .voiceArea section h4 {
    padding: 0;
  }
}
.voiceArea section p {
  padding: 0 15px;
}
@media screen and (max-width: 767px) {
  .voiceArea section p {
    padding: 0;
  }
}
/*+++++++++++++++++++++++++++++++++++++++++++
	securityArea
+++++++++++++++++++++++++++++++++++++++++++ */
.securityArea {
  padding: 60px 0;
}
@media screen and (max-width: 767px) {
  .securityArea {
    padding: 30px 0;
  }
}
.securityArea hgroup {
  margin: 0 0 20px;
}
@media screen and (max-width: 767px) {
  .securityArea hgroup {
    text-align: center;
  }
}
.securityArea hgroup h2 {
  color: #1A7108;
  font-size: 4.8rem;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .securityArea hgroup h2 {
    font-size: 6.4vw;
  }
}
.securityArea hgroup p {
  color: #4C9C19;
  font-size: 2.4rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .securityArea hgroup p {
    margin: 10px 0 0;
    font-size: 4.2vw;
  }
}
.securityArea .logo {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 60px;
  align-items: center;
  max-width: 1000px;
}
@media screen and (max-width: 767px) {
  .securityArea .logo {
    gap: 30px 60px;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.securityArea .logo p {
  max-width: 630px;
  margin: 0;
  flex: 1;
}
@media screen and (max-width: 767px) {
  .securityArea .logo p {
    max-width: none;
    flex: auto;
  }
}
