@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Alegreya:wght@400;500;600;700;800;900&family=Barlow+Semi+Condensed:wght@100;200;300;400;500;600;700;800;900&family=Hina+Mincho&family=Noto+Sans:wght@200;300;400;500;600;700;800;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;600&display=swap");
*,
*::after,
*::before {
  box-sizing: border-box;
}

* {
  margin: 0;
}

html {
  font-size: 62.5%;
  overflow-x: hidden !important;
}
@media (max-width: 500px) {
  html {
    font-size: min(10px, 2.4vw);
  }
}

ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  max-width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: inherit;
  font-size: inherit;
}

td,
th {
  border: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
}

button {
  background: transparent;
  border: 0;
  outline: none;
  padding: 0;
}

a {
  text-decoration: none;
  color: inherit;
  transition: all 0.3s;
  cursor: pointer;
}
a:hover {
  opacity: 0.6;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  color: #333;
}
body.stop-scroll {
  overflow: hidden;
}
body > div {
  overflow: hidden;
}

.sp {
  display: none;
}
@media (max-width: 920px) {
  .sp {
    display: initial;
  }
}

.pc {
  display: initial;
}
@media (max-width: 920px) {
  .pc {
    display: none;
  }
}

.lg-sp {
  display: none;
}
@media (max-width: 1080px) {
  .lg-sp {
    display: initial;
  }
}

.lg-pc {
  display: initial;
}
@media (max-width: 1080px) {
  .lg-pc {
    display: none;
  }
}

.xl-sp {
  display: none;
}
@media (max-width: 1200px) {
  .xl-sp {
    display: initial;
  }
}

.xl-pc {
  display: initial;
}
@media (max-width: 1200px) {
  .xl-pc {
    display: none;
  }
}

.slick-track {
  display: flex !important;
}

.slick-slide {
  height: inherit !important;
}

.slick-track {
  display: flex !important;
  gap: 1rem !important;
}
@media (max-width: 920px) {
  .slick-track {
    gap: 0.6rem !important;
  }
}

.relative {
  position: relative;
  z-index: 4;
}

.flex {
  display: flex;
}

.items-center {
  align-items: center;
}

.sections {
  padding-bottom: 18.5rem;
  margin-top: 10rem;
  padding-top: 7rem;
  position: relative;
}
@media (max-width: 1080px) {
  .sections {
    padding-top: 4rem;
    padding-bottom: 10rem;
  }
}
@media (max-width: 768px) {
  .sections {
    margin-top: 7rem;
    padding-top: 4rem;
  }
}
.sections::after {
  content: "";
  inset: 0;
  position: absolute;
  background-color: #007365;
  opacity: 0.05;
  z-index: -1;
  top: 35rem;
}

.container {
  max-width: 108rem;
  width: 100%;
  padding: 0 2rem;
  margin: 0 auto;
}

.primary-color {
  color: #007365;
}

.fixed-box {
  position: fixed;
  right: 0;
  top: 24rem;
  z-index: 999;
}
.fixed-box .contact {
  right: 0;
  width: 5rem;
  top: 0;
  background-color: #007365;
  border-top-left-radius: 0.6rem;
  border-bottom-left-radius: 0.6rem;
  padding: 2.4rem 0;
}
@media (max-width: 768px) {
  .fixed-box .contact {
    width: 4rem;
  }
}
.fixed-box .contact a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.fixed-box .contact a span {
  font-size: 1.8rem;
  writing-mode: vertical-rl;
  color: white;
}
@media (max-width: 768px) {
  .fixed-box .contact a span {
    font-size: 1.6rem;
  }
}
.fixed-box .contact a img {
  display: block;
  max-width: 23px;
}

.advantage {
  position: absolute;
  right: 0;
  top: 0;
}
.advantage__text {
  font-size: 1.4rem;
  color: #007365;
}
.advantage__text p {
  writing-mode: vertical-rl;
}
.advantage__text p span {
  width: 2.5rem;
  height: 2rem;
  margin: 1rem 0;
  position: relative;
  display: inline-block;
}
.advantage__text p span::after {
  content: "";
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  rotate: -45deg;
  height: 0.1rem;
  border-bottom: 0.2rem solid #007365;
}

.btn-to-top {
  position: fixed;
  right: 9.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  bottom: 2.4rem;
  cursor: pointer;
  padding: 0 1rem;
  gap: 1rem;
  z-index: 999;
  transition: all 0.3s;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
}
@media (max-width: 1080px) {
  .btn-to-top {
    right: 2rem;
  }
}
.btn-to-top:hover {
  opacity: 0.7 !important;
}
.btn-to-top span {
  display: block;
  height: 6rem;
  width: 0.1rem;
  overflow: hidden;
  position: relative;
}
.btn-to-top span::before {
  top: 0;
  left: 0;
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  border-left: 1px solid #dce6e0;
  z-index: 1000;
}
.btn-to-top span::after {
  top: 0;
  left: 0;
  content: "";
  display: block;
  height: 100%;
  width: 200%;
  position: absolute;
  background-color: #007365;
  z-index: 1002;
  animation: scrollUp 1.5s linear infinite;
}
@-webkit-keyframes scrollUp {
  0% {
    top: 100%;
  }
  80% {
    top: -100%;
  }
  to {
    top: -100%;
  }
}
.btn-to-top p {
  writing-mode: vertical-rl;
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 500;
  font-size: 1.2rem;
  color: #007365;
}
.btn-to-top.active {
  pointer-events: all;
  visibility: visible;
  opacity: 1;
}

.common-title {
  font-size: 5rem;
  color: #007365;
  font-family: "Barlow Semi Condensed", sans-serif;
  line-height: 1.4;
  font-weight: 500;
  position: relative;
  padding-left: 3rem;
}
@media (max-width: 768px) {
  .common-title {
    font-size: 3.6rem;
  }
}
.common-title .subtitle {
  display: block;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}
@media (max-width: 768px) {
  .common-title .subtitle {
    font-size: 1.4rem;
  }
}
.common-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4em;
  display: inline-block;
  border: 0.8rem transparent solid;
  border-color: #135e4f transparent transparent #135e4f;
}

.stroke-title {
  font-size: 2.4rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 2rem;
}
.stroke-title::before {
  content: "";
  display: block;
  height: 1.6em;
  width: 0.4rem;
  background-color: #007365;
}
@media (max-width: 768px) {
  .stroke-title {
    font-size: 2.2rem;
  }
}
@media (max-width: 500px) {
  .stroke-title {
    font-size: 2rem;
  }
}

.banner-v1 .banner-v1__img {
  position: relative;
  margin-top: 6rem;
}
@media (max-width: 768px) {
  .banner-v1 .banner-v1__img {
    margin-top: 3rem;
  }
}
.banner-v1 .banner-v1__img img {
  margin: 0 auto;
}
.banner-v1 .advantage {
  right: -15rem;
  top: 40%;
}
@media (max-width: 1440px) {
  .banner-v1 .advantage {
    right: -6rem;
  }
}
@media (max-width: 1200px) {
  .banner-v1 .advantage {
    position: unset;
    transform: unset;
    margin-top: 1rem;
  }
  .banner-v1 .advantage .advantage-inner {
    display: flex;
    align-items: center;
    top: 100%;
    gap: 1rem;
  }
  .banner-v1 .advantage .advantage-inner img {
    flex-shrink: 0;
    margin: 0 !important;
    margin: 0 auto;
  }
}
@media (max-width: 1200px) and (max-width: 500px) {
  .banner-v1 .advantage .advantage-inner img {
    width: 2rem;
  }
}
@media (max-width: 1200px) {
  .banner-v1 .advantage .advantage-inner .advantage__text {
    display: flex;
    gap: 2rem;
  }
}
@media (max-width: 1200px) {
  .banner-v1 .advantage .advantage-inner p {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    writing-mode: unset;
  }
}
.banner-v1 .banner-v1__text {
  margin-top: 3rem;
}
.banner-v1 .banner-v1__text .banner-v1__text-title {
  font-size: 3.2rem;
  font-weight: bold;
}
@media (max-width: 768px) {
  .banner-v1 .banner-v1__text .banner-v1__text-title {
    font-size: 2.4rem;
  }
}
@media (max-width: 500px) {
  .banner-v1 .banner-v1__text .banner-v1__text-title {
    font-size: 2rem;
  }
}
.banner-v1 .banner-v1__text .banner-v1__text-content {
  margin-top: 2.4rem;
}
@media (max-width: 768px) {
  .banner-v1 .banner-v1__text .banner-v1__text-content {
    margin-top: 1.5rem;
  }
}
.banner-v1 .banner-v1__text .banner-v1__text-content p {
  font-size: 1.6rem;
  line-height: 2.2;
}
@media (max-width: 768px) {
  .banner-v1 .banner-v1__text .banner-v1__text-content p {
    font-size: 1.4rem;
  }
}

.banner-v2__head {
  padding-bottom: 0;
  display: flex;
  padding-bottom: 50rem;
  gap: 0 4rem;
}
@media (max-width: 1080px) {
  .banner-v2__head {
    padding-bottom: 0;
  }
}
@media (max-width: 768px) {
  .banner-v2__head {
    flex-direction: column;
  }
}
.banner-v2__head .common-title {
  flex-shrink: 0;
}
.banner-v2__head .heading__image {
  position: absolute;
  right: 0;
  top: 4rem;
}
@media (max-width: 1080px) {
  .banner-v2__head .heading__image .heading__image {
    position: unset;
  }
}
@media (max-width: 1080px) and (max-width: 768px) {
  .banner-v2__head .heading__image .heading__image {
    margin-top: 3rem;
  }
}
.banner-v2__body {
  position: relative;
}
.banner-v2__body .body-des {
  margin-top: 1.5rem;
  background-color: white;
  padding: 6rem 6rem 6rem 0;
}
@media (max-width: 1200px) {
  .banner-v2__body .body-des {
    padding: 4rem;
  }
}
@media (max-width: 1080px) {
  .banner-v2__body .body-des {
    margin-top: 4rem;
    padding: 4rem 2rem;
  }
}
@media (max-width: 768px) {
  .banner-v2__body .body-des {
    padding: 2rem;
  }
}
.banner-v2__body::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  transform: translateX(-100%);
  background-color: white;
  top: 0;
}
@media (max-width: 1200px) {
  .banner-v2__body::after {
    display: none;
  }
}
.banner-v2__body .body-title {
  font-size: 3.2rem;
  font-weight: bold;
}
@media (max-width: 1080px) {
  .banner-v2__body .body-title {
    font-size: 2.4rem;
  }
}
@media (max-width: 1080px) and (max-width: 768px) {
  .banner-v2__body .body-title {
    font-size: 2.2rem;
  }
  .banner-v2__body .body-title br {
    display: none;
  }
}
@media (max-width: 1080px) and (max-width: 500px) {
  .banner-v2__body .body-title {
    font-size: 2rem;
  }
}
.banner-v2__body .body__paragraphs {
  margin-top: 2rem;
}
.banner-v2__body .body__paragraphs p {
  font-size: 1.6rem;
  line-height: 2;
}
@media (max-width: 768px) {
  .banner-v2__body .body__paragraphs p {
    font-size: 1.4rem;
  }
}
.banner-v2 .advantage {
  top: 0;
  right: 0;
  left: 0;
}
.banner-v2 .advantage .advantage-inner {
  position: absolute;
  right: 0;
  top: 0;
  transform: translateX(14rem);
}
.banner-v2 .advantage .advantage-inner img {
  flex-shrink: 0;
  margin: 0 !important;
  margin: 0 auto;
}
@media (max-width: 500px) {
  .banner-v2 .advantage .advantage-inner img {
    width: 2rem;
  }
}
@media (max-width: 1440px) {
  .banner-v2 .advantage .advantage-inner {
    transform: translateX(6rem);
  }
}
@media (max-width: 1200px) {
  .banner-v2 .advantage {
    position: unset;
    transform: unset;
    margin-top: 1rem;
  }
  .banner-v2 .advantage .advantage-inner {
    position: unset;
    transform: unset;
    display: flex;
    align-items: center;
    top: 100%;
    gap: 1rem;
  }
  .banner-v2 .advantage .advantage-inner img {
    flex-shrink: 0;
    margin: 0 !important;
  }
}
@media (max-width: 1200px) and (max-width: 500px) {
  .banner-v2 .advantage .advantage-inner img {
    width: 2rem;
  }
}
@media (max-width: 1200px) {
  .banner-v2 .advantage .advantage-inner .advantage__text {
    display: flex;
    gap: 2rem;
  }
}
@media (max-width: 1200px) {
  .banner-v2 .advantage .advantage-inner p {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    writing-mode: unset;
  }
}

.animation-left, .animation-up, .animation-right {
  opacity: 0;
  transform: translateX(10rem);
  pointer-events: none;
  visibility: hidden;
  transition: all 2s;
  filter: blur(0.5rem);
}
.animation-left.ani-active, .animation-up.ani-active, .animation-right.ani-active {
  opacity: 1;
  filter: blur(0);
  transform: translate(0rem);
  pointer-events: all;
  visibility: visible;
}
.animation-left {
  transform: translateX(-10rem);
}
.animation-up {
  transform: translateY(5rem);
}

.section-heading .section-heading__image {
  position: absolute;
  right: 0;
  top: 4rem;
}
@media (max-width: 1080px) {
  .section-heading .section-heading__image {
    position: unset;
    flex: 1;
  }
}
@media (max-width: 1080px) and (max-width: 768px) {
  .section-heading .section-heading__image {
    margin-top: 3rem;
  }
}
@media (max-width: 1080px) {
  .section-heading .section-heading__image img {
    margin-left: auto;
  }
}
@media (max-width: 1080px) {
  .section-heading {
    padding-bottom: 0;
    display: flex;
    gap: 0 4rem;
  }
}
@media (max-width: 1080px) and (max-width: 768px) {
  .section-heading {
    flex-direction: column;
  }
}
@media (max-width: 1080px) {
  .section-heading .common-title {
    flex-shrink: 0;
  }
}

.footer {
  position: relative;
  padding-bottom: 3rem;
}
.footer__inner {
  max-width: calc(100% - (50% - 520px));
  margin-left: auto;
}
.footer__inner .footer__top {
  transform: translateY(-50%);
  top: 0;
  right: 0;
  overflow-x: hidden;
  background-color: #007365;
}
@media (max-width: 1080px) {
  .footer__inner .footer__top {
    transform: unset;
    margin-bottom: 3rem;
  }
}
.footer__inner .footer__top-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6rem 0 6rem 7rem;
  max-width: 104rem;
  position: relative;
}
@media (max-width: 1060px) {
  .footer__inner .footer__top-inner {
    padding: 6rem 2rem;
  }
}
@media (max-width: 920px) {
  .footer__inner .footer__top-inner {
    padding: 2rem;
    flex-direction: column;
    gap: 2rem;
  }
}
@media (max-width: 500px) {
  .footer__inner .footer__top-inner .logo a img {
    width: 16rem;
  }
}
.footer__inner .footer__top-inner .menu__list {
  display: flex;
  align-items: center;
  gap: 3rem;
}
@media (max-width: 768px) {
  .footer__inner .footer__top-inner .menu__list {
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem 3rem;
  }
}
.footer__inner .footer__top-inner .menu__list-item a {
  color: white;
  position: relative;
}
.footer__inner .footer__bottom {
  margin-top: -2rem;
}
@media (max-width: 1080px) {
  .footer__inner .footer__bottom {
    margin-top: 0;
  }
}
.footer__inner .footer__bottom__ctt {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 1400px) {
  .footer__inner .footer__bottom__ctt {
    padding-right: 10rem;
  }
}
@media (max-width: 480px) {
  .footer__inner .footer__bottom__ctt {
    align-items: flex-start;
    flex-direction: column;
    gap: 2rem;
    padding-right: 5rem;
  }
}
.footer__inner .footer__bottom__sns {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
}
@media (max-width: 480px) {
  .footer__inner .footer__bottom__sns {
    width: 100%;
  }
}
.footer__inner .footer__bottom-inner {
  max-width: 104rem;
}
@media (max-width: 1060px) {
  .footer__inner .footer__bottom-inner {
    padding: 0 2rem;
  }
}
.footer__inner .footer__bottom-inner .info p {
  font-size: 1.3rem;
  line-height: 1.78;
}
.footer__inner .footer__bottom-inner .copyright {
  font-size: 1rem;
  color: #898989;
  margin-top: 2rem;
}

.header {
  height: 10rem;
  position: fixed;
  width: 100%;
  left: 0;
  z-index: 999;
  top: 0;
  background-color: white;
  transition: all 0.3s;
}
@media (max-width: 920px) {
  .header {
    height: 7rem;
  }
}
.header__inner {
  max-width: 132rem;
  padding: 0 2rem;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}
@media (max-width: 500px) {
  .header__inner .logo a img {
    width: 16rem;
  }
}
.header__inner .menu {
  height: 100%;
}
.header__inner .menu__list {
  display: flex;
  align-items: center;
  gap: 3rem;
  height: 100%;
}
.header__inner .menu__list-item {
  height: 100%;
}
.header__inner .menu__list-item a {
  color: #007365;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.header__inner .menu__list-item a::after {
  content: "";
  position: absolute;
  bottom: 20%;
  left: 0;
  height: 0.2rem;
  background-color: #007365;
  width: 0;
  transition: width 0.3s;
}
@media (max-width: 920px) {
  .header__inner .menu__list-item a::after {
    background-color: white;
  }
}
.header__inner .menu__list-item:hover a::after {
  width: 100%;
  transition: width 0.3s;
}
@media (max-width: 920px) {
  .header__inner .menu {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    z-index: -100;
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    transition: all 0.3s;
  }
  .header__inner .menu__list {
    flex-direction: column;
    align-items: start;
    gap: 4rem;
  }
}
@media (max-width: 920px) and (max-width: 768px) {
  .header__inner .menu__list {
    gap: 3rem;
  }
}
@media (max-width: 920px) and (max-width: 920px) {
  .header__inner .menu__list-item {
    opacity: 0;
    -webkit-transform: scaleX(0) translateX(-26rem);
    transform: scaleX(0) translateX(-26rem);
    -webkit-transition: none;
    transition: 0.4s;
  }
}
@media (max-width: 920px) {
  .header__inner .menu__list-item a {
    font-size: 2rem;
    color: #fff;
  }
}
@media (max-width: 920px) and (max-width: 768px) {
  .header__inner .menu__list-item a {
    font-size: 1.4rem;
  }
}
.header__inner .toggle-menu {
  position: absolute;
  background: #007365;
  cursor: pointer;
  width: 5rem;
  height: 5rem;
  display: none;
  right: 2rem;
  top: 1rem;
  z-index: 9999;
}
@media (max-width: 920px) {
  .header__inner .toggle-menu {
    display: block;
  }
}
.header__inner .toggle-menu span {
  display: inline-block;
  transition: all 0.4s;
  /*アニメーションの設定*/
  position: absolute;
  left: 1.4rem;
  height: 0.2rem;
  border-radius: 0.2rem;
  background: #fff;
}
.header__inner .toggle-menu span:nth-of-type(1) {
  top: 1.5rem;
  width: 45%;
}
.header__inner .toggle-menu span:nth-of-type(2) {
  top: 2.3rem;
  width: 35%;
}
.header__inner .toggle-menu span:nth-of-type(3) {
  top: 3.1rem;
  width: 20%;
}
.header__inner .toggle-menu.active span:nth-of-type(1) {
  top: 1.8rem;
  left: 1.8rem;
  transform: translateY(0.6rem) rotate(-135deg);
  width: 30%;
}
.header__inner .toggle-menu.active span:nth-of-type(2) {
  opacity: 0;
}
.header__inner .toggle-menu.active span:nth-of-type(3) {
  top: 3rem;
  left: 1.8rem;
  transform: translateY(-0.6rem) rotate(135deg);
  width: 30%;
}
.header__inner .toggle-menu.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.header #nav-bg {
  content: "";
  width: 240rem;
  height: 240rem;
  margin-right: -120rem;
  margin-top: -120rem;
  right: 4.4rem;
  top: 3.5rem;
  display: none;
  position: absolute;
  background: rgba(0, 106, 95, 0.85);
  -webkit-border-radius: 50%;
  border-radius: 50%;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: scale(0.02);
  transform: scale(0.015);
}
@media (max-width: 920px) {
  .header #nav-bg {
    display: block;
  }
}
.header.open .header__inner .menu {
  pointer-events: auto;
  z-index: 9998;
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
}
@media (max-width: 920px) {
  .header.open .header__inner .menu__list-item {
    opacity: 1;
    -webkit-transform: scaleX(1) translateX(0);
    transform: scaleX(1) translateX(0);
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    -webkit-transition-delay: 0.1s;
    transition-delay: 0.1s;
  }
  .header.open .header__inner .menu__list-item:nth-child(1) {
    transition-delay: 0.1s;
  }
  .header.open .header__inner .menu__list-item:nth-child(2) {
    transition-delay: 0.2s;
  }
  .header.open .header__inner .menu__list-item:nth-child(3) {
    transition-delay: 0.3s;
  }
  .header.open .header__inner .menu__list-item:nth-child(4) {
    transition-delay: 0.4s;
  }
  .header.open .header__inner .menu__list-item:nth-child(5) {
    transition-delay: 0.5s;
  }
  .header.open .header__inner .menu__list-item:nth-child(6) {
    transition-delay: 0.6s;
  }
  .header.open .header__inner .menu__list-item:nth-child(7) {
    transition-delay: 0.7s;
  }
  .header.open .header__inner .menu__list-item:nth-child(8) {
    transition-delay: 0.8s;
  }
  .header.open .header__inner .menu__list-item:nth-child(9) {
    transition-delay: 0.9s;
  }
  .header.open .header__inner .menu__list-item:nth-child(10) {
    transition-delay: 1s;
  }
}
.header.open #nav-bg {
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out;
  z-index: 9997;
}
.header.active {
  box-shadow: 0 0.3rem 0.5rem rgba(57, 63, 72, 0.3);
  height: 8rem;
}
@media (max-width: 920px) {
  .header.active {
    height: 7rem;
  }
}

.features__list {
  margin-top: 5rem;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
@media (max-width: 920px) {
  .features__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.features__list .list-item {
  position: relative;
}
.features__list .list-item .item-image {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.features__list .list-item .item-image img {
  width: 100%;
  height: 100%;
}
.features__list .list-item .item-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 7rem 1rem;
}
.features__list .list-item .item-content__num {
  font-family: "Barlow Semi Condensed", sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  color: #007365;
  background-color: white;
  padding: 0 0.5rem;
}
@media (max-width: 768px) {
  .features__list .list-item .item-content__num {
    font-size: 1.6rem;
  }
}
.features__list .list-item .item-content__text {
  font-size: 1.9rem;
  color: white;
  font-weight: 500;
  margin-top: 1.5rem;
  text-align: center;
}
@media (max-width: 768px) {
  .features__list .list-item .item-content__text {
    font-size: 1.4rem;
  }
}

.content-page {
  padding: 7rem 0;
}
.content-page__list {
  display: grid;
  gap: 5rem;
}
.content-page__list .list-item h3 {
  flex-wrap: wrap;
}
.content-page__list .list-item .item-body {
  margin-top: 2rem;
}
.content-page__list .list-item .item-body__img {
  gap: 2rem;
}
.content-page__list .list-item .item-body__img div img {
  margin: 0 auto;
}
.content-page__list .list-item .item-body__text {
  margin-top: 2.4rem;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media (max-width: 768px) {
  .content-page__list .list-item .item-body__text {
    font-size: 1.4rem;
  }
}
.submenu {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 75rem;
  max-width: 100%;
  background-color: #007365;
  color: #fff;
  padding: 0 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem 5rem;
  max-height: 0;
  transition: max-height 0.3s;
  overflow: hidden;
}
.submenu a {
  color: inherit !important;
  flex-direction: column;
  gap: 0.5rem;
}
.submenu a img {
  opacity: 0.6;
  transition: opacity 0.2s;
}
.submenu a span {
  position: relative;
}
.submenu a span:after {
  content: "";
  position: absolute;
  width: 0;
  height: 2px;
  background-color: #fff;
  bottom: 0;
  left: 0;
  transition: width 0.2s;
}
.submenu a:hover {
  opacity: 1;
}
.submenu a:hover img {
  opacity: 1;
}
.submenu a:hover span:after {
  width: 100%;
}
.submenu__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.has-submenu:hover .submenu {
  padding: 3rem 3rem;
  max-height: 30rem;
}
.has-submenu:hover .submenu:hover .header__inner .menu__list-item a:hover::after {
  width: 100%;
}

@media (max-width: 920px) {
  .header__inner .menu {
    width: fit-content;
    height: auto;
  }

  .header__inner .menu__list-item a {
    justify-content: flex-start;
  }

  .submenu {
    position: relative;
    width: 100%;
    max-height: unset;
    background: unset;
    padding: 1rem 0 0 2rem;
    justify-content: flex-start;
  }

  .has-submenu:hover .submenu {
    padding: 1rem 0 0 2rem;
  }

  .submenu__txt {
    display: none;
  }

  .submenu__nav {
    align-items: flex-start;
    flex-direction: column;
  }
  .submenu__nav img {
    display: none;
  }

  .header__inner .menu__list-item a::after {
    display: none;
  }

  .submenu a span:after {
    display: none;
  }
}
@media (max-width: 1080px) {
  .achievement-page .sections {
    padding-bottom: 10rem;
  }
}
@media (max-width: 768px) {
  .achievement-page .about {
    margin-top: 6rem;
  }
}
.achievement-page .about__inner .about-info {
  background: url(../images/about-bg-1.jpg) no-repeat;
  background-size: cover;
  padding: 4rem 2rem;
  position: relative;
}
.achievement-page .about__inner .about-info__inner {
  width: calc(70% + 2rem);
  margin: 0 auto;
}
@media (max-width: 1080px) {
  .achievement-page .about__inner .about-info__inner {
    width: 100%;
  }
}
.achievement-page .about__inner .about-info::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(226, 238, 217, 0.6);
  z-index: 0;
}
.achievement-page .about__inner .about-info > * {
  position: relative;
  z-index: 2;
}
.achievement-page .about__inner .about-info__title {
  text-align: center;
  color: #007365;
  font-weight: bold;
}
.achievement-page .about__inner .about-info__title span {
  font-size: 4.5rem;
}
@media (max-width: 768px) {
  .achievement-page .about__inner .about-info__title span {
    font-size: 3.6rem;
  }
}
.achievement-page .about__inner .about-info__title p {
  font-size: 2.8rem;
}
@media (max-width: 768px) {
  .achievement-page .about__inner .about-info__title p {
    font-size: 2.4rem;
  }
}
@media (max-width: 500px) {
  .achievement-page .about__inner .about-info__title p {
    font-size: 2rem;
  }
}
.achievement-page .about__inner .about-info-list {
  margin-top: 4rem;
  display: grid;
  gap: 4rem;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-rows: 1fr;
}
@media (max-width: 1080px) {
  .achievement-page .about__inner .about-info-list {
    gap: 2rem;
  }
}
@media (max-width: 768px) {
  .achievement-page .about__inner .about-info-list {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
.achievement-page .about__inner .about-info-list .info__list-item {
  display: flex;
  flex-direction: column;
  grid-column: span 6/span 6;
}
.achievement-page .about__inner .about-info-list .info__list-item:first-child {
  grid-column: 4/10;
}
@media (max-width: 768px) {
  .achievement-page .about__inner .about-info-list .info__list-item {
    grid-column: span 12/span 12;
  }
  .achievement-page .about__inner .about-info-list .info__list-item:first-child {
    grid-column: span 12/span 12;
  }
}
.achievement-page .about__inner .about-info-list .info__list-item .item-head h3 {
  text-align: center;
  font-size: 2rem;
  background-color: #007365;
  color: white;
  padding: 1rem;
}
.achievement-page .about__inner .about-info-list .info__list-item .item-body {
  flex: 1;
  background-color: white;
  padding: 1rem 1.5rem 1.5rem 1.5rem;
}
.achievement-page .about__inner .about-info-list .info__list-item .item-body .item-body__title {
  color: #007365;
  font-size: 1.8rem;
  text-align: center;
  font-weight: bold;
}
.achievement-page .about__inner .about-info-list .info__list-item .item-body__img {
  margin-top: 1.2rem;
}
.achievement-page .about__inner .about-info-list .info__list-item .item-body__img img {
  width: 100%;
}
.achievement-page .about__inner .about-info-list .info__list-item .item-body__text {
  margin-top: 1rem;
}
.achievement-page .about__inner .about-info-list .info__list-item .item-body__text p {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.7;
}
@media (max-width: 768px) {
  .achievement-page .about__inner .about-info-list .info__list-item .item-body__text p {
    font-size: 1.4rem;
  }
}
.achievement-page .about__inner .about__content {
  margin-top: 8.5rem;
}
@media (max-width: 768px) {
  .achievement-page .about__inner .about__content {
    margin-top: 6rem;
  }
}
.achievement-page .about__inner .about__content .about__heading .about__title {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 2;
}
@media (max-width: 768px) {
  .achievement-page .about__inner .about__content .about__heading .about__title {
    font-size: 1.6rem;
  }
}
.achievement-page .about__inner .about__content .about__heading .about__text {
  font-size: 1.6rem;
  line-height: 2;
}
@media (max-width: 768px) {
  .achievement-page .about__inner .about__content .about__heading .about__text {
    font-size: 1.4rem;
  }
}
.achievement-page .about__inner .about__content .about__heading.mt {
  margin-top: 2.6rem;
}

.building-page .sections .building__features {
  margin-top: 10rem;
}
@media (max-width: 768px) {
  .building-page .sections .building__features {
    margin-top: 6rem;
  }
}
.building-page .sections .building__features .building__feature-list {
  display: grid;
  gap: 6rem;
}
.building-page .sections .building__features .building__feature-list .building__feature-item .building__feature-heading {
  display: flex;
  align-items: center;
  gap: 2rem;
}
.building-page .sections .building__features .building__feature-list .building__feature-item .building__feature-heading .building__feature-box {
  min-width: 11rem;
  min-height: 11rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  font-weight: bold;
  color: white;
  background-color: #007365;
}
@media (max-width: 768px) {
  .building-page .sections .building__features .building__feature-list .building__feature-item .building__feature-heading .building__feature-box {
    font-size: 1.6rem;
    min-width: 9rem;
    min-height: 9rem;
  }
}
.building-page .sections .building__features .building__feature-list .building__feature-item .building__feature-heading .building__feature-title {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.6;
}
@media (max-width: 1080px) {
  .building-page .sections .building__features .building__feature-list .building__feature-item .building__feature-heading .building__feature-title {
    font-size: clamp(2rem, 2.6vw, 2.2rem);
  }
}
@media (max-width: 768px) {
  .building-page .sections .building__features .building__feature-list .building__feature-item .building__feature-heading .building__feature-title {
    font-size: clamp(1.8rem, 2.6vw, 2.2rem);
  }
  .building-page .sections .building__features .building__feature-list .building__feature-item .building__feature-heading .building__feature-title br {
    display: none;
  }
}
.building-page .sections .building__features .building__feature-list .building__feature-item .building__feature-content {
  background-color: white;
  display: flex;
  align-items: center;
  gap: 5rem;
  padding: 3rem 3.5rem;
  margin-top: 2.5rem;
}
.building-page .sections .building__features .building__feature-list .building__feature-item .building__feature-content .building__feature-image img {
  width: 100%;
}
@media (max-width: 1080px) {
  .building-page .sections .building__features .building__feature-list .building__feature-item .building__feature-content {
    gap: 3rem;
  }
}
@media (max-width: 768px) {
  .building-page .sections .building__features .building__feature-list .building__feature-item .building__feature-content {
    flex-direction: column;
    padding: 2rem;
  }
  .building-page .sections .building__features .building__feature-list .building__feature-item .building__feature-content .building__feature-image {
    width: 100% !important;
  }
  .building-page .sections .building__features .building__feature-list .building__feature-item .building__feature-content .building__feature-description {
    width: 100% !important;
  }
}
.building-page .sections .building__features .building__feature-list .building__feature-item .building__feature-content .building__feature-description p {
  font-size: 1.6rem;
  line-height: 1.778;
}
.building-page .sections .building__features .building__feature-list .building__feature-item .building__feature-content .building__feature-description p span {
  font-size: 1.8rem;
}
@media (max-width: 768px) {
  .building-page .sections .building__features .building__feature-list .building__feature-item .building__feature-content .building__feature-description p {
    font-size: 1.4rem;
  }
  .building-page .sections .building__features .building__feature-list .building__feature-item .building__feature-content .building__feature-description p span {
    font-size: 1.6rem;
  }
}
.building-page .sections .building__features .building__feature-list .building__feature-item:nth-child(odd) .building__feature-content .building__feature-image {
  order: 2;
  width: 60%;
}
.building-page .sections .building__features .building__feature-list .building__feature-item:nth-child(odd) .building__feature-content .building__feature-description {
  order: 1;
  width: 40%;
}
.building-page .sections .building__features .building__feature-list .building__feature-item:nth-child(even) .building__feature-content .building__feature-image {
  width: 40%;
  order: 1;
}
.building-page .sections .building__features .building__feature-list .building__feature-item:nth-child(even) .building__feature-content .building__feature-description {
  order: 2;
  width: 60%;
}
@media (max-width: 768px) {
  .case-detail-page .sections {
    padding-bottom: 10rem;
  }
}
.case-detail-page .sections::after {
  top: 47rem;
}
@media (max-width: 1080px) {
  .case-detail-page .sections::after {
    top: 30rem;
  }
}
.case-detail-page .example-banner .inner {
  position: relative;
  max-width: 146rem;
  width: 100%;
  margin: 0 auto;
}
.case-detail-page .example-features {
  padding-top: 8rem;
}
@media (max-width: 768px) {
  .case-detail-page .example-features {
    padding-top: 6rem;
  }
}
.case-detail-page .example-features .example__feature .example__feature-content {
  margin-top: 4.4rem;
}
@media (max-width: 768px) {
  .case-detail-page .example-features .example__feature .example__feature-content {
    margin-top: 3rem;
  }
}
.case-detail-page .example-features .example__feature .example__feature-content .example__feature-description p {
  font-size: 1.6rem;
  line-height: 2;
}
@media (max-width: 768px) {
  .case-detail-page .example-features .example__feature .example__feature-content .example__feature-description p {
    font-size: 1.4rem;
  }
}
.case-detail-page .example-features .example__feature .example__feature-content .example__feature-image {
  margin-top: 3rem;
  display: flex;
  gap: 2rem;
  align-items: start;
  justify-content: center;
}
.case-detail-page .example-features .example__feature-list {
  max-width: 134rem;
  width: 100%;
  margin: 0 auto;
  background-color: white;
  margin-top: 8.4rem;
  padding: 7rem 0;
}
@media (max-width: 768px) {
  .case-detail-page .example-features .example__feature-list {
    padding: 6rem 0;
    margin-top: 6rem;
  }
}
.case-detail-page .example-features .example__feature-list .example__feature-lists {
  display: grid;
  gap: 10rem;
}
@media (max-width: 768px) {
  .case-detail-page .example-features .example__feature-list .example__feature-lists {
    gap: 5rem;
  }
}
.case-detail-page .example-features .example__feature-list .example__feature-item .feature-item-head {
  display: flex;
  gap: 2rem;
}
.case-detail-page .example-features .example__feature-list .example__feature-item .feature-item-head .item-head__num {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #007365;
  flex-shrink: 0;
}
.case-detail-page .example-features .example__feature-list .example__feature-item .feature-item-head .item-head__num small {
  font-size: 1.2rem;
  font-weight: 500;
}
.case-detail-page .example-features .example__feature-list .example__feature-item .feature-item-head .item-head__num big {
  font-size: 3.2rem;
  font-family: "Barlow Semi Condensed", sans-serif;
  line-height: 1;
}
.case-detail-page .example-features .example__feature-list .example__feature-item .feature-item-head .item-head__text {
  display: flex;
  align-items: center;
  background-color: #007365;
  padding: 0.5rem 5rem 0.5rem 2rem;
  clip-path: polygon(0 0, 100% 0%, 95% 100%, 0% 100%);
}
.case-detail-page .example-features .example__feature-list .example__feature-item .feature-item-head .item-head__text p {
  font-size: 2.4rem;
  color: white;
}
@media (max-width: 768px) {
  .case-detail-page .example-features .example__feature-list .example__feature-item .feature-item-head .item-head__text {
    flex: 1;
    padding: 0.5rem 2rem 0.5rem 1rem;
  }
  .case-detail-page .example-features .example__feature-list .example__feature-item .feature-item-head .item-head__text p {
    font-size: clamp(1.6rem, 3vw, 2.4rem);
  }
}
.case-detail-page .example-features .example__feature-list .example__feature-item .feature-item__content .feature-item__text {
  margin-top: 2.4rem;
  font-size: 1.6rem;
  line-height: 2;
}
@media (max-width: 768px) {
  .case-detail-page .example-features .example__feature-list .example__feature-item .feature-item__content .feature-item__text {
    font-size: 1.4rem;
  }
}
.case-detail-page .example-features .example__feature-list .example__feature-item .feature-item__content .example__feature-image {
  margin-top: 2.5rem;
  display: flex;
  gap: 2rem;
}
.case-detail-page .changes {
  padding-top: 5rem;
  padding-bottom: 7rem;
}
.case-detail-page .changes .container h2 {
  font-size: 3.2rem;
  font-weight: 500;
  text-align: center;
  color: #007365;
}
@media (max-width: 768px) {
  .case-detail-page .changes .container h2 {
    font-size: 2.4rem;
  }
}
@media (max-width: 500px) {
  .case-detail-page .changes .container h2 {
    font-size: 2rem;
  }
}
.case-detail-page .changes .container .changes__content .changes__description {
  margin-top: 3.5rem;
}
.case-detail-page .changes .container .changes__content .changes__description p {
  font-size: 1.6rem;
  line-height: 1.8;
}
.case-detail-page .changes .container .changes__content .changes__image {
  margin-top: 2rem;
  display: flex;
  gap: 2rem;
}
.case-detail-page .property .inner {
  max-width: 134rem;
  width: 100%;
  margin: 0 auto;
  background-color: white;
  padding: 6rem 0 10rem 0;
}
@media (max-width: 768px) {
  .case-detail-page .property .inner {
    padding: 6rem 0;
  }
}
.case-detail-page .property .container .property__title {
  font-size: 3.2rem;
  font-weight: 500;
  text-align: center;
}
@media (max-width: 768px) {
  .case-detail-page .property .container .property__title {
    font-size: 2.4rem;
  }
}
@media (max-width: 500px) {
  .case-detail-page .property .container .property__title {
    font-size: 2rem;
  }
}
.case-detail-page .property .container .property__list {
  margin-top: 3.5rem;
}
.case-detail-page .property .container .property__list .property__item {
  display: flex;
  align-items: center;
  padding: 2rem 0;
  border-bottom: 0.1rem solid #666666;
}
@media (max-width: 500px) {
  .case-detail-page .property .container .property__list .property__item {
    flex-direction: column;
    align-items: start;
    gap: 1rem;
  }
}
.case-detail-page .property .container .property__list .property__item:first-child {
  border-top: 0.1rem solid #666666;
}
.case-detail-page .property .container .property__list .property__item .property__item-title {
  width: 25%;
  display: flex;
  margin-left: 14rem;
}
.case-detail-page .property .container .property__list .property__item .property__item-title strong {
  font-weight: bold;
  font-size: 1.8rem;
}
@media (max-width: 768px) {
  .case-detail-page .property .container .property__list .property__item .property__item-title {
    margin-left: 0;
  }
  .case-detail-page .property .container .property__list .property__item .property__item-title strong {
    font-size: 1.6rem;
  }
}
.case-detail-page .property .container .property__list .property__item .property__item-content {
  font-weight: 300;
  font-size: 1.8rem;
}
@media (max-width: 768px) {
  .case-detail-page .property .container .property__list .property__item .property__item-content {
    font-size: 1.6rem;
  }
}
.case-detail-page .property .property-btn {
  display: flex;
  justify-content: center;
  margin-top: 11.5rem;
}
@media (max-width: 1080px) {
  .case-detail-page .property .property-btn {
    margin-top: 10rem;
  }
}
.case-detail-page .property .property-btn a {
  width: 40rem;
  height: 6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.8rem;
  color: #007365;
  border-radius: 4rem;
  border: 0.1rem solid #007365;
  transition: all 0.3s;
}
.case-detail-page .property .property-btn a:hover {
  background-color: white;
}

@media (max-width: 768px) {
  .land-page .sections {
    padding-bottom: 10rem;
  }
}
@media (max-width: 1080px) {
  .land-page .sections::after {
    top: 30rem;
  }
}
.land-page .usage-banner .inner {
  position: relative;
  max-width: 146rem;
  width: 100%;
  margin: 0 auto;
}
.land-page .usage-banner .inner .banner-v2 .banner-v2__head {
  padding-bottom: 30rem;
}
@media (max-width: 1080px) {
  .land-page .usage-banner .inner .banner-v2 .banner-v2__head {
    padding-bottom: 0;
  }
}
.land-page .usage-banner .inner .usage__issues {
  padding-top: 8rem;
}
.land-page .usage-banner .inner .usage__issues-heading {
  font-size: 3.6rem;
  font-weight: 500;
  text-align: center;
}
@media (max-width: 768px) {
  .land-page .usage-banner .inner .usage__issues-heading {
    font-size: 2.6rem;
  }
}
.land-page .usage-banner .inner .usage__issues-list {
  margin-top: 7rem;
  display: grid;
  gap: 6rem;
}
@media (max-width: 768px) {
  .land-page .usage-banner .inner .usage__issues-list {
    margin-top: 4rem;
  }
}
.land-page .usage-banner .inner .usage__issues-list .usage__issue-item .usage__issue-title {
  font-size: 2.4rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media (max-width: 768px) {
  .land-page .usage-banner .inner .usage__issues-list .usage__issue-item .usage__issue-title {
    font-size: 2rem;
  }
}
.land-page .usage-banner .inner .usage__issues-list .usage__issue-item .usage__issue-title::before {
  content: "";
  display: block;
  height: 1.6em;
  width: 0.4rem;
  background-color: #007365;
}
.land-page .usage-banner .inner .usage__issues-list .usage__issue-item .usage__issue-content {
  display: flex;
  margin-top: 2.5rem;
  gap: 0 5%;
}
.land-page .usage-banner .inner .usage__issues-list .usage__issue-item .usage__issue-content .usage__issue-description {
  width: 65%;
}
.land-page .usage-banner .inner .usage__issues-list .usage__issue-item .usage__issue-content .usage__issue-description p {
  font-size: 1.6rem;
  line-height: 1.8;
}
.land-page .usage-banner .inner .usage__issues-list .usage__issue-item .usage__issue-content .usage__issue-image {
  width: 30%;
  margin-top: 0.5rem;
}
@media (max-width: 768px) {
  .land-page .usage-banner .inner .usage__issues-list .usage__issue-item .usage__issue-content {
    flex-wrap: wrap;
    gap: 2rem;
  }
  .land-page .usage-banner .inner .usage__issues-list .usage__issue-item .usage__issue-content .usage__issue-description {
    order: 2;
    width: 100%;
  }
  .land-page .usage-banner .inner .usage__issues-list .usage__issue-item .usage__issue-content .usage__issue-description p {
    font-size: 1.4rem;
  }
  .land-page .usage-banner .inner .usage__issues-list .usage__issue-item .usage__issue-content .usage__issue-image {
    width: 100%;
    margin-top: 0.5rem;
    order: 1;
  }
  .land-page .usage-banner .inner .usage__issues-list .usage__issue-item .usage__issue-content .usage__issue-image img {
    width: 70%;
    margin: 0 auto;
  }
}
@media (max-width: 768px) and (max-width: 500px) {
  .land-page .usage-banner .inner .usage__issues-list .usage__issue-item .usage__issue-content .usage__issue-image img {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .support-page .sections,
.design-page .sections {
    padding-bottom: 10rem;
  }
}
.support-page .content-page.design-content,
.design-page .content-page.design-content {
  margin-top: 7rem;
  padding-bottom: 2rem;
}
.support-page .content-page.design-content .container .content-page__list.design-list .list-item h3,
.design-page .content-page.design-content .container .content-page__list.design-list .list-item h3 {
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .support-page .content-page.design-content .container .content-page__list.design-list .list-item h3 .icon img,
.design-page .content-page.design-content .container .content-page__list.design-list .list-item h3 .icon img {
    width: 15rem;
  }
}
.support-page .support-content .container .content-page__list.support-list .list-item .item-body {
  padding: 3.6rem;
  background-color: white;
}
@media (max-width: 768px) {
  .support-page .support-content .container .content-page__list.support-list .list-item .item-body {
    padding: 2rem;
  }
}
@media (max-width: 768px) {
  .cases-page .sections {
    padding-bottom: 10rem;
  }
}
.cases-page .sections::after {
  top: 35rem;
}
@media (max-width: 1080px) {
  .cases-page .sections::after {
    top: 30rem;
  }
}
.cases-page .cases-banner .inner {
  position: relative;
  max-width: 146rem;
  width: 100%;
  margin: 0 auto;
}
.cases-page .banner-v2__head {
  padding-bottom: 30rem;
}
@media (max-width: 1080px) {
  .cases-page .banner-v2__head {
    padding-bottom: 0;
  }
}
@media (max-width: 1200px) {
  .cases-page .cases-content {
    padding-top: 2rem;
  }
}
@media (max-width: 1080px) {
  .cases-page .cases-content {
    padding-top: 4rem;
  }
}
.cases-page .cases-content .container .cases-feature__filter {
  background-color: white;
  padding: 2.4rem 3rem;
}
@media (max-width: 1080px) {
  .cases-page .cases-content .container .cases-feature__filter {
    padding: 2rem;
  }
}
.cases-page .cases-content .container .cases-feature__filter form .cases-feature__opts {
  display: flex;
  align-items: center;
  gap: 4rem;
}
@media (max-width: 1080px) {
  .cases-page .cases-content .container .cases-feature__filter form .cases-feature__opts {
    flex-wrap: wrap;
    gap: 4rem;
  }
}
@media (max-width: 768px) {
  .cases-page .cases-content .container .cases-feature__filter form .cases-feature__opts {
    gap: 2rem;
    justify-content: center;
  }
}
.cases-page .cases-content .container .cases-feature__filter form .cases-feature__opts .opts-group {
  display: flex;
  align-items: center;
  gap: 1.8rem;
}
@media (max-width: 768px) {
  .cases-page .cases-content .container .cases-feature__filter form .cases-feature__opts .opts-group {
    width: 100%;
    justify-content: center;
    gap: 0;
  }
}
.cases-page .cases-content .container .cases-feature__filter form .cases-feature__opts .opts-group label {
  font-size: 1.4rem;
  cursor: pointer;
}
@media (max-width: 768px) {
  .cases-page .cases-content .container .cases-feature__filter form .cases-feature__opts .opts-group label {
    width: 20%;
  }
}
@media (max-width: 500px) {
  .cases-page .cases-content .container .cases-feature__filter form .cases-feature__opts .opts-group label {
    font-size: 1.3rem;
  }
}
.cases-page .cases-content .container .cases-feature__filter form .cases-feature__opts .opts-group select {
  font-size: 1.4rem;
  padding: 0.5rem 2rem 0.5rem 1rem;
  appearance: none;
  background: url(../images/chevron-down.png) no-repeat;
  min-width: 12rem;
  border: 0.1rem solid #DCDCDC;
  cursor: pointer;
  background-position: 90% center;
}
@media (max-width: 768px) {
  .cases-page .cases-content .container .cases-feature__filter form .cases-feature__opts .opts-group select {
    flex: 1;
    background-position: 95% center;
  }
}
@media (max-width: 500px) {
  .cases-page .cases-content .container .cases-feature__filter form .cases-feature__opts .opts-group select {
    font-size: 1.3rem;
  }
}
.cases-page .cases-content .container .cases-feature__filter form .cases-feature__check {
  font-size: 1.4rem;
  display: flex;
  gap: 2.8rem;
  align-items: center;
  margin-top: 2rem;
}
@media (max-width: 768px) {
  .cases-page .cases-content .container .cases-feature__filter form .cases-feature__check {
    gap: 0;
  }
}
@media (max-width: 768px) and (max-width: 500px) {
  .cases-page .cases-content .container .cases-feature__filter form .cases-feature__check {
    justify-content: space-between;
    gap: 0rem;
  }
}
@media (max-width: 500px) {
  .cases-page .cases-content .container .cases-feature__filter form .cases-feature__check {
    font-size: 1.3rem;
  }
}
@media (max-width: 768px) {
  .cases-page .cases-content .container .cases-feature__filter form .cases-feature__check > label {
    width: 20%;
  }
}
@media (max-width: 500px) {
  .cases-page .cases-content .container .cases-feature__filter form .cases-feature__check > label {
    font-size: 1.3rem;
  }
}
.cases-page .cases-content .container .cases-feature__filter form .cases-feature__check .check-groups {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 2.8rem;
}
@media (max-width: 768px) and (max-width: 500px) {
  .cases-page .cases-content .container .cases-feature__filter form .cases-feature__check .check-groups {
    gap: 0;
    justify-content: space-between;
  }
}
.cases-page .cases-content .container .cases-feature__filter form .cases-feature__check .check-groups .check-groups__item {
  display: flex;
  gap: 0.8rem;
  align-items: center;
}
.cases-page .cases-content .container .cases-feature__filter form .cases-feature__check .check-groups .check-groups__item input[type=checkbox] {
  cursor: pointer;
  width: 1.2em;
  height: 1.2em;
  color: red;
  appearance: none;
  box-shadow: 0px 0px 0px 0.1rem #DCDCDC;
}
.cases-page .cases-content .container .cases-feature__filter form .cases-feature__check .check-groups .check-groups__item input[type=checkbox]:checked {
  appearance: auto;
  box-shadow: none;
}
@media (max-width: 768px) {
  .cases-page .cases-content .container .cases-feature__filter form .cases-feature__check .check-groups .check-groups__item input[type=checkbox] {
    width: 1em;
    height: 1em;
  }
}
.cases-page .cases-content .container .cases-feature__filter form .cases-feature__check .check-groups .check-groups__item label {
  cursor: pointer;
}
.cases-page .cases-content .container .cases-feature__list {
  margin-top: 3rem;
}
.cases-page .cases-content .container .cases-feature__list .cases-feature__lists {
  display: grid;
  gap: 3rem;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}
@media (max-width: 1080px) {
  .cases-page .cases-content .container .cases-feature__list .cases-feature__lists {
    gap: 2rem 1rem;
  }
}
.cases-page .cases-content .container .cases-feature__list .cases-feature__lists .cases-feature__item {
  padding: 3rem 2rem;
  transition: all 0.3s;
  grid-column: span 4/span 4;
  cursor: pointer;
  display: flex;
  flex-direction: column;
}
@media (max-width: 1080px) {
  .cases-page .cases-content .container .cases-feature__list .cases-feature__lists .cases-feature__item {
    grid-column: span 6/span 6;
  }
}
@media (max-width: 670px) {
  .cases-page .cases-content .container .cases-feature__list .cases-feature__lists .cases-feature__item {
    grid-column: span 12/span 12;
    padding: 2rem 1rem;
  }
}
.cases-page .cases-content .container .cases-feature__list .cases-feature__lists .cases-feature__item:hover {
  background: rgba(0, 115, 101, 0.1);
  opacity: 1;
}
.cases-page .cases-content .container .cases-feature__list .cases-feature__lists .cases-feature__item .item-head img {
  width: 100%;
  aspect-ratio: 29/20;
}
.cases-page .cases-content .container .cases-feature__list .cases-feature__lists .cases-feature__item .item-body {
  margin-top: 2rem;
  flex: 1;
  flex-shrink: 0;
  display: flex;
  align-items: start;
  flex-direction: column;
}
.cases-page .cases-content .container .cases-feature__list .cases-feature__lists .cases-feature__item .item-body .item-body__btn {
  font-size: 1.35rem;
  color: #007365;
  border: 0.1rem solid #007365;
  padding: 0.3rem 2rem;
  border-radius: 4rem;
}
.cases-page .cases-content .container .cases-feature__list .cases-feature__lists .cases-feature__item .item-body .item-body__text {
  font-size: 1.6rem;
  margin-top: 1rem;
  padding-bottom: 3rem;
  flex: 1;
  border-bottom: 0.1rem solid #707070;
  width: 100%;
}
@media (max-width: 768px) {
  .cases-page .cases-content .container .cases-feature__list .cases-feature__lists .cases-feature__item .item-body .item-body__text {
    font-size: 1.4rem;
  }
}
@media (max-width: 500px) {
  .cases-page .cases-content .container .cases-feature__list .cases-feature__lists .cases-feature__item .item-body .item-body__text {
    font-size: 1.3rem;
  }
}
.cases-page .top-page .information {
  padding-top: 0rem;
}

.cases-list__pagi {
  margin-top: 6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3rem;
}
.cases-list__pagi .pagi-btn__next,
.cases-list__pagi .pagi-btn__pre {
  cursor: pointer;
  padding: 2rem;
}
@media (max-width: 500px) {
  .cases-list__pagi .pagi-btn__next,
.cases-list__pagi .pagi-btn__pre {
    padding: 0;
  }
  .cases-list__pagi .pagi-btn__next img,
.cases-list__pagi .pagi-btn__pre img {
    width: 1.5rem;
  }
}
.cases-list__pagi .pagi-list {
  display: flex;
  align-items: center;
  gap: 3rem;
  font-size: 1.4rem;
  color: #007365;
}
@media (max-width: 500px) {
  .cases-list__pagi .pagi-list {
    gap: 2rem;
  }
}
.cases-list__pagi .pagi-list .pagi-item {
  width: 2em;
  height: 2em;
  display: grid;
  place-content: center;
  border-radius: 100%;
  transition: all 0.3s ease-in;
  cursor: pointer;
}
.cases-list__pagi .pagi-list .pagi-item:hover {
  color: white;
  background-color: #007365;
  opacity: 0.2;
}
.cases-list__pagi .pagi-list .pagi-item.active {
  color: white;
  background-color: #007365;
}
.top-page .swiper-slide-active .slide-img,
.top-page .swiper-slide-duplicate-active .slide-img,
.top-page .swiper-slide-prev .slide-img {
  animation: zoomUp 10s linear 0s 1 normal both;
}
.top-page .slick-slide .slide-img,
.top-page .slick-slide-active .slide-img {
  animation: zoomUp 10s linear 0s 1 normal both;
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
.top-page .sections {
  padding-top: 0;
}
.top-page .hook {
  width: 8rem;
  display: inline-block;
  border: 0.08rem solid #007365;
  position: relative;
}
@media (max-width: 768px) {
  .top-page .hook {
    width: 6rem;
  }
}
.top-page .hook::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(35deg);
  transform-origin: right;
  z-index: 1;
  width: 15%;
  right: 0;
  border: 0.08rem solid #007365;
}
.top-page .top-banner .inner .banner {
  position: relative;
}
.top-page .top-banner .inner .banner .banner-head img {
  aspect-ratio: 55/30;
  width: 100%;
}
.top-page .top-banner .inner .banner .banner-text {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  z-index: 2;
}
.top-page .top-banner .inner .banner .banner-text p {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 4.2rem;
  color: white;
  letter-spacing: 0.2em;
  text-shadow: 0.17rem 0.3rem 0.5rem rgba(0, 0, 0, 0.4);
}
@media (max-width: 768px) {
  .top-page .top-banner .inner .banner .banner-text p {
    font-size: min(4.2rem, 5.5vw);
  }
}
.top-page .about {
  background: url(../images/top-about-bg.jpg) no-repeat;
  background-size: cover;
  padding: 5rem 0 2rem 0;
}
@media (max-width: 1080px) {
  .top-page .about {
    padding: 6rem 0;
  }
}
@media (max-width: 768px) {
  .top-page .about {
    padding: 4rem 0;
  }
}
.top-page .about .container {
  display: flex;
  align-items: center;
  gap: 0 4rem;
  max-width: 124rem;
}
@media (max-width: 1080px) {
  .top-page .about .container {
    flex-wrap: wrap;
    gap: 5rem 0;
  }
}
@media (max-width: 768px) {
  .top-page .about .container {
    gap: 3rem 0;
  }
}
@media (max-width: 1080px) {
  .top-page .about .container .about__content {
    width: 100%;
  }
}
.top-page .about .container .about__content .about__logo img {
  margin: 0 auto;
}
@media (max-width: 768px) {
  .top-page .about .container .about__content .about__logo img {
    width: 25rem;
  }
}
.top-page .about .container .about__content .about__text {
  margin-top: 5.5rem;
}
@media (max-width: 1080px) {
  .top-page .about .container .about__content .about__text {
    margin-top: 4rem;
  }
}
.top-page .about .container .about__content .about__text h2 {
  font-size: 3.6rem;
  letter-spacing: 0.2em;
  font-weight: 600;
  color: #000;
}
@media (max-width: 1080px) {
  .top-page .about .container .about__content .about__text h2 {
    text-align: center;
  }
}
@media (max-width: 768px) {
  .top-page .about .container .about__content .about__text h2 {
    font-size: clamp(2.2rem, 4vw, 3.2rem);
  }
}
.top-page .about .container .about__content .about__text-content {
  margin-top: 4.5rem;
  line-height: 1.8;
  font-size: 2rem;
}
@media (max-width: 768px) {
  .top-page .about .container .about__content .about__text-content {
    margin-top: 3rem;
    font-size: 1.4rem;
  }
}
.top-page .about .container .about__content .about__text-sign {
  font-size: 2rem;
  margin-top: 2rem;
  text-align: right;
}
@media (max-width: 768px) {
  .top-page .about .container .about__content .about__text-sign {
    font-size: 1.6rem;
  }
}
.top-page .about .container .about__content .about__text-sign p {
  display: inline-block;
  font-weight: bold;
}
.top-page .about .container .about__content .about__text-sign span {
  margin-left: 0.4em;
}
.top-page .about .container .about__image {
  width: 40%;
  flex-shrink: 0;
}
@media (max-width: 1080px) {
  .top-page .about .container .about__image {
    width: 100%;
  }
}
.top-page .about .container .about__image div img {
  margin: 0 auto;
}
.top-page .about .container .about__image-text {
  font-size: 1.8rem;
  text-align: center;
  color: #000000;
  margin-top: 1rem;
}
@media (max-width: 1080px) {
  .top-page .about .container .about__image-text {
    margin-top: 2rem;
  }
}
@media (max-width: 768px) {
  .top-page .about .container .about__image-text {
    font-size: 1.4rem;
  }
}
.top-page .difficult {
  padding: 6rem 0;
  background-color: #e3e9e8;
}
@media (max-width: 768px) {
  .top-page .difficult {
    padding: 4rem 0;
  }
}
.top-page .difficult .container h2 {
  font-size: 3.7rem;
  text-align: center;
  font-weight: 500;
}
@media (max-width: 768px) {
  .top-page .difficult .container h2 {
    font-size: clamp(2.2rem, 4vw, 3.2rem);
  }
}
.top-page .difficult .container .difficult-img {
  margin-top: 3rem;
}
.top-page .difficult .container .difficult-img div img {
  width: 100%;
}
.top-page .difficult .container .difficult-img .difficult-link {
  display: flex;
  justify-content: end;
}
.top-page .difficult .container .difficult-img .difficult-link a {
  font-size: 2rem;
  font-weight: bold;
}
@media (max-width: 768px) {
  .top-page .difficult .container .difficult-img .difficult-link a {
    font-size: 1.4rem;
  }
}
.top-page .examples {
  padding-top: 8rem;
  background-color: white;
}
@media (max-width: 768px) {
  .top-page .examples {
    padding-top: 4rem;
  }
}
.top-page .examples .inner {
  position: relative;
}
.top-page .examples .inner .examples__title {
  font-size: 4.2rem;
  font-weight: 600;
  color: white;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  letter-spacing: 0.2em;
  text-shadow: 0.17rem 0.3rem 0.5rem rgba(0, 0, 0, 0.4);
}
@media (max-width: 768px) {
  .top-page .examples .inner .examples__title {
    font-size: clamp(2.6rem, 4.4vw, 3.6rem);
  }
}
.top-page .examples .inner .examples-list {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}
.top-page .examples .inner .examples-list li {
  grid-column: span 3/span 3;
}
.top-page .examples .inner .examples-list li img {
  width: 100%;
}
.top-page .features {
  padding: 8rem 0;
}
@media (max-width: 768px) {
  .top-page .features {
    padding: 4rem 0;
  }
}
.top-page .features .features-title {
  font-size: 3.7rem;
  font-weight: 500;
  text-align: center;
}
@media (max-width: 768px) {
  .top-page .features .features-title {
    font-size: clamp(2.2rem, 4vw, 3.2rem);
  }
}
.top-page .features__list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}
@media (max-width: 768px) {
  .top-page .features__list {
    margin-top: 4rem;
  }
}
@media (max-width: 520px) {
  .top-page .features__list {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
.top-page .features__list .list-item .item-image img {
  width: 100%;
  height: 100%;
}
.top-page .features__list .list-item .item-content__num {
  font-size: 3.1rem;
  width: 4rem;
  height: 4rem;
  display: grid;
  place-content: center;
  padding: 0;
}
@media (max-width: 768px) {
  .top-page .features__list .list-item .item-content__num {
    font-size: 2.8rem;
  }
}
.top-page .features__list .list-item .item-content__text {
  font-size: 3.3rem;
  font-weight: 600;
  margin-top: 2rem;
}
@media (max-width: 768px) {
  .top-page .features__list .list-item .item-content__text {
    font-size: 1.4rem;
  }
}
.top-page .features__list .list-item .item-content__text p {
  margin-top: 2.2rem;
  font-weight: normal;
  font-size: 1.8rem;
}
@media (max-width: 768px) {
  .top-page .features__list .list-item .item-content__text p {
    font-size: 1.6rem;
    margin-top: 1.5rem;
  }
}
.top-page .abilities {
  background: url(../images/top-ad-bg.jpg) no-repeat;
  background-size: cover;
  padding: 6rem 0;
}
@media (max-width: 768px) {
  .top-page .abilities {
    padding: 4rem 2rem;
  }
}
.top-page .abilities .abilities__title {
  font-size: 3.7rem;
  font-weight: 500;
  color: white;
  text-align: center;
}
@media (max-width: 768px) {
  .top-page .abilities .abilities__title {
    font-size: clamp(2.2rem, 4vw, 3.2rem);
  }
}
.top-page .abilities .abilities__list {
  margin-top: 5rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
}
@media (max-width: 768px) {
  .top-page .abilities .abilities__list {
    margin-top: 3rem;
  }
}
.top-page .abilities .abilities__list .abilities__item {
  grid-column: span 1/span 1;
  position: relative;
}
.top-page .abilities .abilities__list .abilities__item .abilities__item-img img {
  aspect-ratio: 23/26;
  width: 100%;
}
.top-page .abilities .abilities__list .abilities__item .abilities__item-text {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
}
.top-page .abilities .abilities__list .abilities__item .abilities__item-text .abilities__item-text-label {
  font-size: 3.7rem;
  font-weight: 500;
  color: white;
  text-align: center;
}
@media (max-width: 1080px) {
  .top-page .abilities .abilities__list .abilities__item .abilities__item-text .abilities__item-text-label {
    font-size: clamp(2.4rem, 3vw, 3.7rem);
  }
}
@media (max-width: 768px) {
  .top-page .abilities .abilities__list .abilities__item .abilities__item-text .abilities__item-text-label {
    font-size: min(1.8rem, 3.5vw);
  }
}
.top-page .information {
  padding-top: 6rem;
}
.top-page .information .information-list {
  margin-top: 4.5rem;
}
.top-page .information .information-list .information-list__item {
  padding: 2.2rem 2rem;
  border-top: 0.1rem solid #ddd;
}
.top-page .information .information-list .information-list__item .item-wrap {
  display: flex;
  align-items: center;
  gap: 2.4rem;
}
.top-page .information .information-list .information-list__item:last-child {
  border-bottom: 0.1rem solid #ddd;
}
.top-page .information .information-list .information-list__item .item-head {
  display: flex;
  align-items: center;
  gap: 5.5rem;
}
.top-page .information .information-list .information-list__item .item-head .item-head__date {
  font-size: 1.4rem;
}
.top-page .information .information-list .information-list__item .item-head .item-head-text {
  font-size: 1.2rem;
  font-size: 1.2rem;
  padding: 0.3em 1em;
  border: 0.1rem solid;
  width: 14rem;
  border-radius: 40rem;
  text-align: center;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  display: -webkit-box;
}
.top-page .information .information-list .information-list__item .item-content {
  font-size: 1.4rem;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  display: -webkit-box;
}
.top-page .information .information__link {
  margin-top: 4rem;
}
.top-page .information .information__link a {
  font-size: 1.6rem;
  color: #007365;
  font-weight: 500;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 2rem;
  font-size: "Barlow Semi Condensed", sans-serif;
}
.top-page .information .information__link a .hook {
  width: 6.4rem;
}
.top-page .information .information__link a .hook::before {
  display: none;
}

@media (max-width: 768px) {
  .top-page .information .information-list .information-list__item .item-wrap {
    flex-wrap: wrap;
  }
}

/*# sourceMappingURL=style.css.map */
