@charset "UTF-8";
@-webkit-keyframes loader {
  0% {
    background-size: 20% 100%, 20% 100%, 20% 100%;
  }
  33% {
    background-size: 20% 10%, 20% 100%, 20% 100%;
  }
  50% {
    background-size: 20% 100%, 20% 10%, 20% 100%;
  }
  66% {
    background-size: 20% 100%, 20% 100%, 20% 10%;
  }
  100% {
    background-size: 20% 100%, 20% 100%, 20% 100%;
  }
}
@keyframes loader {
  0% {
    background-size: 20% 100%, 20% 100%, 20% 100%;
  }
  33% {
    background-size: 20% 10%, 20% 100%, 20% 100%;
  }
  50% {
    background-size: 20% 100%, 20% 10%, 20% 100%;
  }
  66% {
    background-size: 20% 100%, 20% 100%, 20% 10%;
  }
  100% {
    background-size: 20% 100%, 20% 100%, 20% 100%;
  }
}
@-webkit-keyframes zoom_in {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}
@keyframes zoom_in {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}
.loading {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.loading .loader {
  width: 50px;
  aspect-ratio: 2/1;
  --c: no-repeat linear-gradient(#008e66 0 0);
  background: var(--c) 0% 50%, var(--c) 50% 50%, var(--c) 100% 50%;
  background-size: 20% 100%;
  -webkit-animation: loader 1s infinite linear;
  animation: loader 1s infinite linear;
  -webkit-transition: opacity 175ms;
  transition: opacity 175ms;
}
@media screen and (max-width: 480px) {
  .loading .loader {
    width: 40px;
  }
}
.loading.done .loader {
  opacity: 0;
}

.mv {
  margin: 0 auto;
  padding-top: 100px;
  width: 96.4%;
  position: relative;
}
@media screen and (max-width: 480px) {
  .mv {
    padding-top: 40px;
    width: 93.3%;
  }
}
.mv .copy {
  position: absolute;
  z-index: 1;
  left: calc(50% - 675px);
  width: 1350px;
  height: calc(100% - 100px);
  top: 46px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media screen and (max-width: 1400px) {
  .mv .copy {
    width: 100%;
    left: 0;
  }
}
@media screen and (max-width: 480px) {
  .mv .copy {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 88.6%;
    max-width: 310px;
    height: 100%;
    top: 14px;
  }
}
.mv .copy .copy1 {
  -webkit-box-ordinal-group: 5;
  -ms-flex-order: 4;
  order: 4;
}
.mv .copy .copy2 {
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
}
.mv .copy .copy3 {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}
.mv .copy .copy4 {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}
.mv .copy span {
  display: block;
  height: 100%;
}
@media screen and (max-width: 480px) {
  .mv .copy span {
    width: 15.8%;
    max-width: 55px;
  }
}
.mv .copy img {
  opacity: 0;
  width: auto;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
}
@media screen and (max-width: 480px) {
  .mv .copy img {
    width: 100%;
    height: auto;
    -o-object-fit: fill;
    object-fit: fill;
  }
}
.mv .copy .copy1 img {
  -webkit-transition: opacity 1s 0ms, -webkit-transform 1s 0ms;
  transition: opacity 1s 0ms, -webkit-transform 1s 0ms;
  transition: opacity 1s 0ms, transform 1s 0ms;
  transition: opacity 1s 0ms, transform 1s 0ms, -webkit-transform 1s 0ms;
}
.mv .copy .copy2 img {
  -webkit-transition: opacity 1s 150ms, -webkit-transform 1s 150ms;
  transition: opacity 1s 150ms, -webkit-transform 1s 150ms;
  transition: opacity 1s 150ms, transform 1s 150ms;
  transition: opacity 1s 150ms, transform 1s 150ms, -webkit-transform 1s 150ms;
}
.mv .copy .copy3 img {
  -webkit-transition: opacity 1s 300ms, -webkit-transform 1s 300ms;
  transition: opacity 1s 300ms, -webkit-transform 1s 300ms;
  transition: opacity 1s 300ms, transform 1s 300ms;
  transition: opacity 1s 300ms, transform 1s 300ms, -webkit-transform 1s 300ms;
}
.mv .copy .copy4 img {
  -webkit-transition: opacity 1s 450ms, -webkit-transform 1s 450ms;
  transition: opacity 1s 450ms, -webkit-transform 1s 450ms;
  transition: opacity 1s 450ms, transform 1s 450ms;
  transition: opacity 1s 450ms, transform 1s 450ms, -webkit-transform 1s 450ms;
}
.mv.done .copy img {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.mv .video {
  height: 700px;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 1400px) {
  .mv .video {
    height: auto;
    aspect-ratio: 1350/700;
  }
}
@media screen and (max-width: 480px) {
  .mv .video {
    aspect-ratio: 1;
  }
}
.mv .video video {
  width: 100%;
  height: auto;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 480px) {
  .mv .video video {
    width: auto;
    height: 100%;
  }
}
.mv .video::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background: url("/img/pat1.png") repeat center top/2px;
  border-radius: 20px;
}

.s_important {
  width: 960px;
  overflow: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 2px solid #d0121b;
  border-radius: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 75px auto 0;
  text-align: left;
  font-size: 1.6rem;
  line-height: 1.75;
}
.s_important .s_ttl {
  width: 165px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #d0121b;
  color: #fff;
  font-family: "Inter", "TazuganeGothicStdN-Bold", sans-serif;
  font-weight: 600;
}
.s_important article {
  width: calc(100% - 165px);
  background: #fff;
}
.s_important a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 25px;
  text-decoration: none;
  color: inherit;
  background: #fff;
  -webkit-transition: background 0.25s;
  transition: background 0.25s;
}
@media (any-hover: hover) {
  .s_important a:hover {
    background: rgba(208, 18, 27, 0.05);
  }
}
.s_important .date {
  width: 125px;
  font-size: 1.2rem;
  letter-spacing: 0.02em;
  line-height: 2.8rem;
}
.s_important .ttl {
  width: calc(100% - 125px);
  font-family: "Inter", "TazuganeGothicStdN-Bold", sans-serif;
  font-weight: 600;
}
@media screen and (max-width: 480px) {
  .s_important {
    width: 93.3%;
    border-radius: 7px;
    display: block;
    margin: 20px auto 0;
    font-size: 1.4rem;
    line-height: 1.75;
  }
  .s_important .s_ttl {
    width: auto;
    height: 25px;
  }
  .s_important article {
    width: 100%;
  }
  .s_important a {
    padding: 10px 15px;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .s_important .date {
    width: 95px;
    font-size: 1rem;
    line-height: 2.45rem;
  }
  .s_important .ttl {
    width: calc(100% - 95px);
  }
}

.s_info {
  position: relative;
}
.s_info .inr {
  width: 93.3%;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 110px;
  text-align: left;
}
.s_info .s_ttl {
  position: absolute;
  left: 1em;
  top: 0;
  color: #008e66;
  font-family: "AvenirNextLTPro-Medium", sans-serif;
  letter-spacing: 0.05em;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transform-origin: left top;
  transform-origin: left top;
}
.s_info ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
  gap: 40px 30px;
  width: 100%;
}
.s_info li {
  width: calc((100% - 90px) / 4);
}
.s_info a {
  display: block;
  text-decoration: none;
  color: inherit;
}
@media (any-hover: hover) {
  .s_info a:hover .img img {
    opacity: 0.7;
  }
  .s_info a:hover .ttl {
    color: #008e66;
  }
}
.s_info .img {
  display: block;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #008e66;
}
.s_info .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
.s_info .ttl {
  display: block;
  margin-top: 10px;
  font-size: 1.4rem;
  line-height: 1.64;
  -webkit-transition: color 0.25s;
  transition: color 0.25s;
}

@media screen and (max-width: 480px) {
  .s_info {
    position: relative;
  }
  .s_info .inr {
    padding-left: 35px;
  }
  .s_info ul {
    gap: 20px 15px;
  }
  .s_info li {
    width: calc((100% - 15px) / 2);
  }
  .s_info .ttl {
    margin-top: 5px;
    font-size: 1.2rem;
    line-height: 1.5;
  }
}
.s_info.info1 {
  padding: 140px 0 0;
}
.s_info.info1 .inr::before {
  content: "";
  display: block;
  aspect-ratio: 140/128;
  width: 190px;
  background: url("/img/shape1.svg") no-repeat 0 0/contain;
  position: absolute;
  left: 65px;
  top: -65px;
}
.s_info.info1 .s_ttl {
  font-size: 3rem;
}
.s_info.info1 ul {
  position: relative;
}

@media screen and (max-width: 480px) {
  .s_info.info1 {
    padding: 40px 0 0;
  }
  .s_info.info1 .inr::before {
    width: 76px;
    left: 5px;
    top: -27px;
  }
  .s_info.info1 .s_ttl {
    font-size: 20px;
  }
}
.s_info.info2 {
  background: #f1f5f7;
  padding: 100px 0 90px;
}
.s_info.info2 .inr {
  min-height: 240px;
}
.s_info.info2 .s_ttl {
  font-size: 4rem;
}

@media screen and (max-width: 480px) {
  .s_info.info2 {
    padding: 50px 0 45px;
  }
  .s_info.info2 .inr {
    min-height: 0;
  }
  .s_info.info2 .s_ttl {
    font-size: 20px;
  }
}
.s_magazine {
  position: relative;
  padding: 95px 0 105px;
}
.s_magazine::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  background: #fbf8e9;
  -webkit-clip-path: polygon(0 0, 100% 10.45vw, 100% calc(100% - 3.49vw), 0 100%);
  clip-path: polygon(0 0, 100% 10.45vw, 100% calc(100% - 3.49vw), 0 100%);
  top: calc(-5.225vw + 195px);
  bottom: -1.745vw;
}
@media screen and (max-width: 1400px) {
  .s_magazine::before {
    width: 1400px;
    left: calc(50% - 700px);
    -webkit-clip-path: polygon(0 0, 100% 146.3px, 100% calc(100% - 48.86px), 0 100%);
    clip-path: polygon(0 0, 100% 146.3px, 100% calc(100% - 48.86px), 0 100%);
    top: 121.85px;
    bottom: -24.43px;
  }
}
.s_magazine .hd {
  width: 92.8%;
  max-width: 1120px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  position: relative;
}
.s_magazine .hd::before {
  content: "";
  display: block;
  width: 1px;
  height: 250px;
  background: #008e66;
  position: absolute;
  top: 145px;
  left: calc(50% - 0.5px);
}
.s_magazine .s_ttl {
  width: 47.14%;
  margin-bottom: -31px;
}
.s_magazine .matome {
  width: 42%;
  width: 45%;
  max-width: 450px;
  position: relative;
  display: grid;
  gap: 0 8.89%;
  grid-template-columns: 198px auto;
  grid-template-rows: auto auto 36px;
}
.s_magazine .matome .bal {
  position: absolute;
  right: -12px;
  bottom: 258px;
}
.s_magazine .matome a {
  display: block;
  text-decoration: none;
  color: inherit;
}
.s_magazine .matome .label {
  grid-column: 1/2;
  grid-row: 1/2;
  text-align: center;
  color: #008e66;
  font-family: "FOT-筑紫A丸ゴシック Std B", "TsukuARdGothicStd-B", sans-serif;
  letter-spacing: 0.05em;
  font-size: 1.6rem;
  line-height: 1.56;
  margin-bottom: 22px;
}
.s_magazine .matome .label span {
  display: inline-block;
  vertical-align: top;
  margin-top: 0.06em;
  height: 1.44em;
  line-height: 1.35em;
  color: #fff;
  background: #008e66;
  border-radius: 9999px;
  padding: 0 0.5em;
}
.s_magazine .matome .cover {
  grid-column: 1/2;
  grid-row: 2/4;
  position: relative;
}
.s_magazine .matome .cover a::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #008e66;
  opacity: 0;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}
.s_magazine .matome .cover a img {
  width: 100%;
  height: auto;
}
.s_magazine .matome .cover a p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  color: #fff;
  font-family: "Inter", "TazuganeGothicStdN-Bold", sans-serif;
  font-weight: 600;
  font-size: 1.4rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 10px;
}
.s_magazine .matome .cover a p::after {
  content: "";
  display: block;
  width: 30px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: url("/img/arr1_wh.svg") no-repeat center center/6px;
}
@media (any-hover: hover) {
  .s_magazine .matome .cover a:hover::before {
    opacity: 0.7;
  }
  .s_magazine .matome .cover a:hover p {
    -webkit-animation: fade_in 0.5s 75ms forwards;
    animation: fade_in 0.5s 75ms forwards;
  }
}
.s_magazine .matome .latest {
  grid-column: 2/3;
  grid-row: 2/3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding-bottom: 35px;
  position: relative;
}
.s_magazine .matome .latest a {
  text-align: left;
}
@media (any-hover: hover) {
  .s_magazine .matome .latest a:hover .ttl {
    color: #008e66;
  }
}
.s_magazine .matome .num {
  margin-right: -2em;
  color: #008e66;
  font-family: "Inter", "TazuganeGothicStdN-Bold", sans-serif;
  font-weight: 600;
}
.s_magazine .matome .num .year {
  display: block;
  font-size: 1.4rem;
  letter-spacing: 0.02em;
}
.s_magazine .matome .num .month {
  font-family: "BioRhyme Expanded", sans-serif;
  font-weight: 700;
  font-size: 5.5rem;
}
.s_magazine .matome .num .month .dot {
  font-family: "Inter", "TazuganeGothicStdN-Bold", sans-serif;
  font-weight: 600;
}
.s_magazine .matome .num .suf {
  font-size: 2rem;
}
.s_magazine .matome .ttl {
  margin-top: 10px;
  font-family: "Inter", "TazuganeGothicStdN-Bold", sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.5;
  -webkit-transition: color 0.25s;
  transition: color 0.25s;
  max-height: 4.5em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.s_magazine .matome .date {
  margin-top: 15px;
  font-size: 1.1rem;
  padding-left: 18px;
  position: relative;
  color: #4c5d67;
  line-height: 1;
  letter-spacing: 0.02em;
}
.s_magazine .matome .date::before {
  content: "";
  display: block;
  width: 10px;
  height: 1px;
  background: #008e66;
  position: absolute;
  left: 0;
  top: calc(0.5em - 0.5px);
}
.s_magazine .matome .bn {
  grid-column: 2/3;
  grid-row: 3/4;
}
.s_magazine .matome .btn {
  text-align: center;
  background: #fff;
  border-radius: 9999px;
  color: #008e66;
  font-family: "Inter", "TazuganeGothicStdN-Bold", sans-serif;
  font-weight: 600;
  border: 1px solid #008e66;
  width: 100%;
  max-width: 210px;
  height: 36px;
  font-size: 1.4rem;
  line-height: 34px;
}
.s_magazine .matome .btn::before, .s_magazine .matome .btn::after {
  content: "";
  display: inline-block;
  vertical-align: top;
  height: 100%;
}
.s_magazine .matome .btn::before {
  width: 6px;
  background: url("/img/arr1_gr.svg") no-repeat center center/contain;
  margin: 0 8px 0 0;
}
.s_magazine .matome .btn::after {
  width: 17px;
  background: url("/img/i_magazine.svg") no-repeat center center/contain;
  margin: 0 0 0 8px;
}
@media (any-hover: hover) {
  .s_magazine .matome .btn:hover {
    background: #008e66;
    color: #fff;
  }
  .s_magazine .matome .btn:hover::before {
    background: url("/img/arr1_wh.svg") no-repeat center center/contain;
  }
  .s_magazine .matome .btn:hover::after {
    background: url("/img/i_magazine_wh.svg") no-repeat center center/contain;
  }
}
.s_magazine .article_list {
  overflow: visible;
  margin: 110px 3.6% 0 10%;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 10px;
}
@media screen and (max-width: 1400px) {
  .s_magazine .article_list {
    margin: 110px 3.6% 0 calc(50% - 560px);
  }
}
@media screen and (max-width: 1220px) {
  .s_magazine .article_list {
    margin: 110px 3.6% 0;
  }
}
.s_magazine article {
  width: 300px;
  position: relative;
  text-align: left;
}
.s_magazine article:nth-child(1)::before {
  content: "";
  display: block;
  width: 62px;
  height: 26px;
  background: url("/img/label_pickup.png") no-repeat 0 0/contain;
  position: absolute;
  left: -10px;
  top: -36px;
}
.s_magazine article a {
  display: block;
  text-decoration: none;
  color: inherit;
}
.s_magazine article .thumb {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #008e66;
  border-radius: 5px;
  overflow: hidden;
}
.s_magazine article .thumb a {
  aspect-ratio: 16/9;
  overflow: hidden;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.s_magazine article .thumb a::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #004b36;
  opacity: 0;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
  z-index: 1;
}
.s_magazine article .thumb a img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.s_magazine article .thumb a p:not(.host) {
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  color: #fff;
  font-family: "Inter", "TazuganeGothicStdN-Bold", sans-serif;
  font-weight: 600;
  font-size: 1.4rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 10px;
}
.s_magazine article .thumb a p:not(.host)::after {
  content: "";
  display: block;
  width: 30px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: url("/img/arr1_wh.svg") no-repeat center center/6px;
}
.s_magazine article .thumb a::before {
  background: #008e66;
}
@media (any-hover: hover) {
  .s_magazine article .thumb a:hover::before {
    opacity: 0.7;
  }
  .s_magazine article .thumb a:hover p {
    -webkit-animation: fade_in 0.5s 75ms forwards;
    animation: fade_in 0.5s 75ms forwards;
  }
}
.s_magazine article .thumb a.post-password-required::after {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: -1px;
  border-radius: 5px 0 0 0;
  background: #008e66 url("/img/label_lock.png") no-repeat 0 0/contain;
  width: 75px;
  height: 26px;
}
.s_magazine article .ttl {
  margin-top: 15px;
  font-family: "Inter", "TazuganeGothicStdN-Bold", sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.5;
  max-height: 3em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.s_magazine article .ttl a {
  -webkit-transition: color 0.25s;
  transition: color 0.25s;
}
@media (any-hover: hover) {
  .s_magazine article .ttl a:hover {
    color: #008e66;
  }
}
.s_magazine article .cats {
  margin-top: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
  gap: 5px;
}
.s_magazine article .cats a {
  display: block;
  text-decoration: none;
  color: #363640;
  background: #f1f5f7;
  border: 1px solid #e2ebef;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0.4em 0.6em;
  letter-spacing: 0.02em;
  -webkit-transition: background 0.25s;
  transition: background 0.25s;
  font-size: 1rem;
  border-radius: 2px;
}
@media (any-hover: hover) {
  .s_magazine article .cats a:hover {
    background: #e2ebef;
  }
}
@media screen and (max-width: 480px) {
  .s_magazine article .cats a {
    padding: 0.3em 0.25em 0.2em;
  }
}
.s_magazine article .date {
  margin-top: 12px;
  font-size: 1.1rem;
  padding-left: 18px;
  position: relative;
  color: #4c5d67;
  line-height: 1;
  letter-spacing: 0.02em;
}
.s_magazine article .date::before {
  content: "";
  display: block;
  width: 10px;
  height: 1px;
  background: #008e66;
  position: absolute;
  left: 0;
  top: calc(0.5em - 0.5px);
}
.s_magazine .ft {
  margin: 55px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
.s_magazine .nav {
  margin-left: 30px;
  border-left: 1px solid #008e66;
  padding-left: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
.s_magazine .swiper-button-prev,
.s_magazine .swiper-button-next {
  width: 50px;
  aspect-ratio: 1;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 50%;
  border: 1px solid #008e66;
  background: #fff;
  display: block;
  cursor: pointer;
  position: relative;
}
.s_magazine .swiper-button-prev::before,
.s_magazine .swiper-button-next::before {
  content: "";
  display: block;
  width: 6px;
  height: 100%;
  background: url("/img/arr1_gr.svg") no-repeat center center/contain;
  position: absolute;
  left: calc(50% - 3px);
}
.s_magazine .swiper-button-prev.swiper-button-disabled,
.s_magazine .swiper-button-next.swiper-button-disabled {
  opacity: 0.2;
  cursor: default;
  background: transparent;
}
@media (any-hover: hover) {
  .s_magazine .swiper-button-prev:not(.swiper-button-disabled):hover,
  .s_magazine .swiper-button-next:not(.swiper-button-disabled):hover {
    background-color: #008e66;
  }
  .s_magazine .swiper-button-prev:not(.swiper-button-disabled):hover::before,
  .s_magazine .swiper-button-next:not(.swiper-button-disabled):hover::before {
    background: url("/img/arr1_wh.svg") no-repeat center center/contain;
  }
}
.s_magazine .swiper-button-prev::before {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
@media screen and (max-width: 480px) {
  .s_magazine {
    padding: 58px 0 60px;
  }
  .s_magazine::before {
    width: 100%;
    left: 0;
    -webkit-clip-path: polygon(0 0, 100% 10.45vw, 100% calc(100% - 3.49vw), 0 100%);
    clip-path: polygon(0 0, 100% 10.45vw, 100% calc(100% - 3.49vw), 0 100%);
    top: calc(-5.225vw + 90px);
    bottom: -1.745vw;
  }
  .s_magazine .hd {
    width: auto;
    display: block;
  }
  .s_magazine .hd::before {
    display: none;
  }
  .s_magazine .s_ttl {
    width: 70.4%;
    max-width: 264px;
    margin: 0 auto;
  }
  .s_magazine .s_ttl img {
    width: 100%;
    height: auto;
  }
  .s_magazine .s_ttl::after {
    content: "";
    display: block;
    width: 190px;
    height: 1px;
    background: #008e66;
    margin: 30px auto 0;
  }
  .s_magazine .matome {
    margin: 28px auto 0;
    width: 76.3%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: wrap;
    flex-flow: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0;
    position: relative;
  }
  .s_magazine .matome::after {
    content: "";
    display: block;
    width: 190px;
    height: 1px;
    background: #008e66;
    margin: 40px auto 0;
  }
  .s_magazine .matome .bal {
    right: auto;
    left: -51px;
    bottom: auto;
    top: -22px;
    width: 67px;
    height: auto;
  }
  .s_magazine .matome .label {
    width: 100%;
    font-size: 1.2rem;
    margin-bottom: 28px;
  }
  .s_magazine .matome .label br {
    display: none;
  }
  .s_magazine .matome .cover {
    width: 40.2%;
  }
  .s_magazine .matome .latest {
    width: 59.8%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    padding-bottom: 0;
    padding-left: 5.3vw;
  }
  .s_magazine .matome .latest a {
    position: static;
  }
  .s_magazine .matome .num .year {
    font-size: 1rem;
  }
  .s_magazine .matome .num .month {
    font-size: 3.5rem;
  }
  .s_magazine .matome .num .suf {
    font-size: 1.6rem;
  }
  .s_magazine .matome .ttl {
    font-size: 1.4rem;
    max-height: 6em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }
  .s_magazine .matome .date {
    margin-top: 13px;
    font-size: 1rem;
  }
  .s_magazine .matome .bn {
    margin-top: 26px;
    width: 100%;
  }
  .s_magazine .matome .btn {
    margin: 0 auto;
  }
  .s_magazine .article_list {
    margin: 40px auto 0;
    width: 90.67%;
    padding-left: 0;
  }
  .s_magazine .swiper-wrapper {
    display: block;
  }
  .s_magazine article {
    width: auto;
    border-bottom: 1px solid #e2ebef;
    padding: 20px 0;
  }
  .s_magazine article:nth-child(1) {
    padding: 0 0 25px;
  }
  .s_magazine article:nth-child(1)::before {
    top: -30px;
  }
  .s_magazine article:nth-child(1) .txt {
    margin-top: 14px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: wrap;
    flex-flow: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 5px 10px;
  }
  .s_magazine article:nth-child(1) .ttl {
    width: 100%;
    font-size: 1.4rem;
  }
  .s_magazine article:nth-child(1) .cats {
    margin: 0;
  }
  .s_magazine article:nth-child(1) .date {
    margin: 0;
  }
  .s_magazine article:nth-child(n+2):nth-child(-n+4) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .s_magazine article:nth-child(n+2):nth-child(-n+4) .thumb {
    width: 50%;
    max-width: 340px;
  }
  .s_magazine article:nth-child(n+2):nth-child(-n+4) .txt {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 10px;
  }
  .s_magazine article:nth-child(n+2):nth-child(-n+4) .ttl {
    font-size: 1.2rem;
  }
  .s_magazine article .ttl {
    margin-top: -0.25em;
    max-height: 4.5em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .s_magazine article .cats {
    margin-top: 8px;
  }
  .s_magazine article .date {
    margin-top: 10px;
  }
  .s_magazine article:nth-child(n+5) {
    display: none;
  }
  .s_magazine .ft {
    margin: 20px auto 0;
    display: block;
  }
  .s_magazine .ft .btn {
    margin: 0 auto;
  }
  .s_magazine .nav {
    display: none;
  }
}

.s_about {
  position: relative;
}
.s_about::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 59px;
  width: 100%;
  height: 1202px;
  background: url("/img/top_about_bg.jpg?v2") no-repeat center top/1600px;
}
.s_about::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  width: 130px;
  height: 51px;
  background: url("/img/top_about_img1.png") no-repeat 0 0/contain;
  left: calc(50% - 382px);
  top: -6px;
}
.s_about .inr {
  position: relative;
  z-index: 1;
  padding-top: 227px;
}
.s_about .inr::before {
  content: "";
  display: block;
  position: absolute;
  aspect-ratio: 72/130;
  width: 36px;
  background: url("/img/top_about_img2.png") no-repeat 0 0/contain;
  left: 0;
  top: 377px;
}
.s_about .s_ttl {
  position: relative;
}
.s_about .s_ttl img {
  position: relative;
}
.s_about .s_ttl::after {
  content: "";
  display: block;
  position: absolute;
  aspect-ratio: 148/144;
  width: 74px;
  background: url("/img/top_about_ttl_img.png") no-repeat 0 0/contain;
  left: calc(50% - 93px);
  top: -50px;
}
.s_about .bal1 {
  position: absolute;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -o-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
  -webkit-font-feature-settings: initial;
  font-feature-settings: initial;
  text-orientation: upright;
  letter-spacing: normal;
  color: #008e66;
  text-align: left;
  font-family: "FOT-筑紫A丸ゴシック Std B", "TsukuARdGothicStd-B", sans-serif;
  letter-spacing: 0.05em;
  font-size: 1.6rem;
  line-height: 2;
  -webkit-transform: rotate(2.5deg);
  transform: rotate(2.5deg);
  top: 150px;
  left: calc(50% + 215px);
}
.s_about .bal2 {
  position: absolute;
  right: calc(50% + 230px);
  top: 270px;
  font-family: "FOT-筑紫A丸ゴシック Std B", "TsukuARdGothicStd-B", sans-serif;
  letter-spacing: 0.05em;
  color: #004b36;
  text-align: right;
  font-size: 1.6rem;
  line-height: 2;
  -webkit-transform: rotate(6deg);
  transform: rotate(6deg);
}
.s_about .s_lead {
  margin-top: 40px;
  color: #004b36;
  font-family: "FOT-筑紫A丸ゴシック Std B", "TsukuARdGothicStd-B", sans-serif;
  letter-spacing: 0.05em;
  font-size: 2rem;
  line-height: 1.8;
}
.s_about .btn {
  margin: 30px auto 0;
}
@media screen and (max-width: 480px) {
  .s_about::before {
    top: 25px;
    height: 580px;
    background: url("/img/top_about_bg_sp.jpg?v2") no-repeat center top/450px;
  }
  .s_about::after {
    width: 70px;
    height: 67px;
    background: url("/img/top_about_img3.png") no-repeat 0 0/contain;
    left: calc(50% + 42px);
    top: -36px;
  }
  .s_about .inr {
    padding-top: 160px;
  }
  .s_about .inr::before {
    width: 17px;
    top: 252px;
  }
  .s_about .s_ttl::before {
    width: 112px;
    left: calc(50% - 127px);
    top: -87px;
  }
  .s_about .s_ttl img {
    width: 158px;
    height: auto;
  }
  .s_about .s_ttl::after {
    width: 45px;
    left: calc(50% - 52px);
    top: -30px;
  }
  .s_about .bal1 {
    font-size: 1.1rem;
    line-height: 1.82;
    top: 42px;
    left: calc(50% + 78px);
  }
  .s_about .bal2 {
    right: calc(50% + 8px);
    top: 410px;
    font-size: 1.1rem;
    line-height: 1.82;
  }
  .s_about .s_lead {
    margin-top: 170px;
    font-size: 1.6rem;
  }
  .s_about .btn {
    margin: 20px auto 0;
  }
}

.s_theme {
  position: relative;
}
@media screen and (max-width: 480px) {
  .s_theme::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: -38px;
    width: 100%;
    height: 258px;
    background: url("/img/top_theme_bg_sp.jpg?v2") no-repeat center top/450px;
  }
}
.s_theme .inr {
  padding-top: 125px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 480px) {
  .s_theme .inr {
    padding-top: 152px;
  }
}
.s_theme .s_ttl {
  position: relative;
  margin: 0 auto;
  color: #008e66;
  width: 265px;
}
@media screen and (max-width: 480px) {
  .s_theme .s_ttl {
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 12px;
  }
  .s_theme .s_ttl img {
    width: 139px;
    height: auto;
  }
}
.s_theme .s_ttl > span {
  position: absolute;
  left: calc(100% + 20px);
  bottom: 0;
  text-align: left;
}
@media screen and (max-width: 480px) {
  .s_theme .s_ttl > span {
    position: relative;
    left: auto;
  }
}
.s_theme .s_ttl .ja {
  display: block;
  font-family: "Inter", "TazuganeGothicStdN-Bold", sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
}
@media screen and (max-width: 480px) {
  .s_theme .s_ttl .ja {
    font-size: 1rem;
  }
}
.s_theme .s_ttl .en {
  display: block;
  font-family: "AvenirNextLTPro-Demi", sans-serif;
  font-size: 6rem;
  margin: 5px 0 -0.1em;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 480px) {
  .s_theme .s_ttl .en {
    margin: 8px 0 -0.1em;
    font-size: 3rem;
  }
}
.s_theme .bal {
  position: absolute;
  left: calc(50% - 344px);
  top: 28px;
}
@media screen and (max-width: 480px) {
  .s_theme .bal {
    left: calc(50% - 175px);
    top: 52px;
  }
  .s_theme .bal img {
    width: 110px;
    height: auto;
  }
}
.s_theme .bal::after {
  content: "";
  display: block;
  position: absolute;
  aspect-ratio: 172/220;
  width: 86px;
  left: 53px;
  top: -79px;
  background: url("/img/top_theme_bal_img.png?v2") no-repeat 0 0/contain;
}
@media screen and (max-width: 480px) {
  .s_theme .bal::after {
    width: 37px;
    left: 39px;
    top: -29px;
  }
}
.s_theme .theme_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 93.3%;
  max-width: 1300px;
  margin: 90px auto 0;
}
@media screen and (max-width: 480px) {
  .s_theme .theme_list {
    -ms-flex-flow: wrap;
    flex-flow: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 25px 0;
    margin: 43px auto 0;
  }
}
.s_theme .theme_list li {
  width: 26.15%;
  position: relative;
}
@media screen and (max-width: 480px) {
  .s_theme .theme_list li {
    width: 48.5%;
  }
}
.s_theme .theme_list li + li {
  margin-left: -1.533%;
}
@media screen and (max-width: 480px) {
  .s_theme .theme_list li + li {
    margin-left: 0;
  }
}
.s_theme .theme_list li:nth-child(even) {
  -webkit-transform: translateY(15.14%);
  transform: translateY(15.14%);
}
@media screen and (max-width: 480px) {
  .s_theme .theme_list li:nth-child(even) {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.s_theme .theme_list li:nth-child(even) a {
  background: #e2ebef;
}
.s_theme .theme_list li:nth-child(1) a {
  background: url("/img/theme01_340_350.jpg?v2") no-repeat center center/cover;
}
@media screen and (-webkit-min-device-pixel-ratio: 2) {
  .s_theme .theme_list li:nth-child(1) a {
    background: url("/img/theme01_680_700.jpg?v2") no-repeat center center/cover;
  }
}
.s_theme .theme_list li:nth-child(2) a {
  background: url("/img/theme02_340_350.jpg?v2") no-repeat center center/cover;
}
@media screen and (-webkit-min-device-pixel-ratio: 2) {
  .s_theme .theme_list li:nth-child(2) a {
    background: url("/img/theme02_680_700.jpg?v2") no-repeat center center/cover;
  }
}
.s_theme .theme_list li:nth-child(3) a {
  background: url("/img/theme03_340_350.jpg?v2") no-repeat center center/cover;
}
@media screen and (-webkit-min-device-pixel-ratio: 2) {
  .s_theme .theme_list li:nth-child(3) a {
    background: url("/img/theme03_680_700.jpg?v2") no-repeat center center/cover;
  }
}
.s_theme .theme_list li:nth-child(4) a {
  background: url("/img/theme04_340_350.jpg?v2") no-repeat center center/cover;
}
@media screen and (-webkit-min-device-pixel-ratio: 2) {
  .s_theme .theme_list li:nth-child(4) a {
    background: url("/img/theme04_680_700.jpg?v2") no-repeat center center/cover;
  }
}
.s_theme .theme_list li:nth-child(1) {
  z-index: 3;
}
@media screen and (max-width: 480px) {
  .s_theme .theme_list li:nth-child(1) a {
    background: url("/img/theme01_446_460.jpg") no-repeat center center/cover;
  }
}
.s_theme .theme_list li:nth-child(2) {
  z-index: 2;
}
.s_theme .theme_list li:nth-child(3) {
  z-index: 1;
}
.s_theme .theme_list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  aspect-ratio: 680/700;
  color: #fff;
  position: relative;
  border-radius: 10px;
  text-decoration: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .s_theme .theme_list a {
    border-radius: 7px;
  }
}
.s_theme .theme_list a::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #008e66;
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
  border-radius: 10px;
}
@media (any-hover: hover) {
  .s_theme .theme_list a:hover::before {
    opacity: 0.7;
  }
}
.s_theme .theme_list .num {
  position: absolute;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 64px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #004b36;
  color: #fff;
  font-family: "BioRhyme Expanded", sans-serif;
  font-weight: 700;
  font-size: 30px;
  left: calc(50% - 32px);
  top: -32px;
}
@media screen and (max-width: 480px) {
  .s_theme .theme_list .num {
    width: 40px;
    font-size: 18px;
    left: calc(50% - 20px);
    top: -20px;
  }
}
.s_theme .theme_list .ttl {
  position: relative;
  z-index: 1;
  font-family: "AvenirNextLTPro-Bold", "TazuganeGothicStdN-Black", sans-serif;
  font-size: 2.5rem;
  line-height: 1.4;
  padding-top: 1em;
}
@media screen and (max-width: 1400px) {
  .s_theme .theme_list .ttl {
    font-size: 1.79vw;
  }
}
@media screen and (max-width: 1100px) {
  .s_theme .theme_list .ttl {
    font-size: 2rem;
  }
}
@media screen and (max-width: 480px) {
  .s_theme .theme_list .ttl {
    font-size: 1.5rem;
    line-height: 1.33;
    padding-top: 0.4em;
  }
}
.s_theme .theme_list .ttl::after {
  content: "";
  display: block;
  width: 40px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #fff url("/img/arr1_gr.svg") no-repeat center center/6px;
  margin: 20px auto 0;
}
@media screen and (max-width: 480px) {
  .s_theme .theme_list .ttl::after {
    width: 20px;
    background: #fff url("/img/arr1_gr.svg") no-repeat center center/5px;
    margin: 6px auto 0;
  }
}
.s_theme .theme_list .copyright {
  position: absolute;
  right: 8px;
  bottom: 8px;
  font-size: 10px;
  letter-spacing: 0;
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom;
}
@media screen and (max-width: 480px) {
  .s_theme .theme_list .copyright {
    right: 5px;
    bottom: 5px;
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }
}

.activity {
  padding-bottom: 75px;
  position: relative;
}
.activity::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  background: #f1f5f7;
  -webkit-clip-path: polygon(0 0, 100% 10.45vw, 100% calc(100% - 3.49vw), 0 100%);
  clip-path: polygon(0 0, 100% 10.45vw, 100% calc(100% - 3.49vw), 0 100%);
  top: calc(-5.225vw + 305px);
  bottom: -1.745vw;
}
@media screen and (max-width: 1400px) {
  .activity::before {
    width: 1400px;
    left: calc(50% - 700px);
    -webkit-clip-path: polygon(0 0, 100% 146.3px, 100% calc(100% - 48.86px), 0 100%);
    clip-path: polygon(0 0, 100% 146.3px, 100% calc(100% - 48.86px), 0 100%);
    top: 181.85px;
    bottom: -24.43px;
  }
}

@media screen and (max-width: 480px) {
  .activity {
    padding-bottom: 65px;
  }
  .activity::before {
    width: 100%;
    left: 0;
    -webkit-clip-path: polygon(0 0, 100% 10.45vw, 100% calc(100% - 3.49vw), 0 100%);
    clip-path: polygon(0 0, 100% 10.45vw, 100% calc(100% - 3.49vw), 0 100%);
    top: calc(-5.225vw + 120px);
    bottom: -1.745vw;
  }
}
.s_project {
  position: relative;
  padding-top: 190px;
}
@media screen and (max-width: 480px) {
  .s_project {
    padding-top: 74px;
  }
}
.s_project .s_ttl {
  display: grid;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 5px 26px;
  grid-template-rows: auto 5.8rem;
  color: #008e66;
  text-align: left;
}
.s_project .s_ttl .num {
  grid-column: 1/2;
  grid-row: 1/3;
  font-family: "BioRhyme Expanded", sans-serif;
  font-weight: 700;
  font-size: 18rem;
  margin-bottom: -0.14em;
}
.s_project .s_ttl .ja {
  grid-column: 2/3;
  grid-row: 1/2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  font-family: "Inter", "TazuganeGothicStdN-Bold", sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
}
.s_project .s_ttl .en {
  grid-column: 2/3;
  grid-row: 2/3;
  display: block;
  font-family: "AvenirNextLTPro-Demi", sans-serif;
  font-size: 6rem;
  margin: -0.1em 0;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 480px) {
  .s_project .s_ttl {
    display: block;
    text-align: center;
  }
  .s_project .s_ttl .num {
    font-size: 8rem;
  }
  .s_project .s_ttl .en {
    font-size: 3rem;
    margin: -0.1em 0;
  }
  .s_project .s_ttl .ja {
    display: block;
    margin-top: 15px;
    font-size: 1rem;
  }
}
.s_project .bal {
  position: absolute;
  left: calc(50% + 152px);
  top: 73px;
}
@media screen and (max-width: 480px) {
  .s_project .bal {
    left: calc(50% + 80px);
    top: 26px;
  }
  .s_project .bal img {
    width: 92px;
    height: auto;
  }
}
.s_project .project_list {
  margin: 75px auto 0;
  width: 94.3%;
  max-width: 1320px;
}
.s_project .project_list ul {
  width: 100%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
}
.s_project .project_list ul + ul {
  margin: 15px auto 0;
}
.s_project .project_list ul:nth-child(odd) {
  width: calc((100% - 60px) / 5 * 4 + 45px);
}
.s_project .project_list ul:nth-child(odd) li {
  width: calc((100% - 45px) / 4);
  max-width: 250px;
}
.s_project .project_list ul:nth-child(even) li {
  width: calc((100% - 60px) / 5);
  max-width: 250px;
}
.s_project .project_list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  width: 100%;
  border-radius: 8px;
  aspect-ratio: 16/9;
  text-decoration: none;
  color: #fff;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  overflow: hidden;
}
.s_project .project_list a::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  -webkit-transition: background-color 0.25s;
  transition: background-color 0.25s;
}
.s_project .project_list a span {
  position: relative;
  z-index: 2;
  font-family: "AvenirNextLTPro-Bold", "TazuganeGothicStdN-Black", sans-serif;
  font-size: 1.8rem;
  line-height: 1.28;
}
@media screen and (max-width: 1400px) {
  .s_project .project_list a span {
    font-size: 1.29vw;
  }
}
@media screen and (max-width: 1100px) {
  .s_project .project_list a span {
    font-size: 1.4rem;
  }
}
.s_project .project_list a span::after {
  content: "";
  display: block;
  width: 22px;
  aspect-ratio: 1;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #fff;
  border-radius: 50%;
  background: url("/img/arr1_wh.svg") no-repeat center center/6px;
  margin: 5px auto 0;
}
@media (any-hover: hover) {
  .s_project .project_list a:hover::before {
    background-color: rgba(0, 142, 102, 0.8);
  }
}
@media screen and (max-width: 480px) {
  .s_project .project_list {
    margin: 25px auto -10px;
    width: calc(93.3% + 10px);
    overflow: hidden;
  }
  .s_project .project_list::after {
    clear: both;
    content: "";
    display: table;
  }
  .s_project .project_list ul {
    display: inline;
  }
  .s_project .project_list ul:nth-child(odd) li, .s_project .project_list ul:nth-child(even) li {
    width: calc((100% - 20px) / 2);
  }
  .s_project .project_list ul li {
    margin: 0 5px 10px;
    float: left;
  }
  .s_project .project_list a {
    border-radius: 7px;
  }
  .s_project .project_list a img {
    border-radius: 4px;
  }
  .s_project .project_list a span::after {
    width: 15px;
    background: url("/img/arr1_wh.svg") no-repeat center center/5px;
    margin: 4px auto 0;
  }
}
.s_project .btn {
  margin: 50px auto 0;
}
@media screen and (max-width: 480px) {
  .s_project .btn {
    margin: 20px auto 0;
    width: 190px;
  }
}

.s_report {
  position: relative;
  padding-top: 220px;
}
.s_report .s_ttl {
  margin: 0 auto;
  position: relative;
  width: 756px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: left;
  padding-left: 304px;
  color: #004b36;
}
.s_report .s_ttl::before {
  content: "";
  display: block;
  aspect-ratio: 684/410;
  width: 342px;
  background: url("/img/report_ttl.png") no-repeat 0 0/contain;
  position: absolute;
  left: 0;
  top: -135px;
}
.s_report .s_ttl .ja {
  display: inline-block;
  vertical-align: top;
  font-family: "TsukuAMGothicLStd-B", sans-serif;
  letter-spacing: 0.05em;
  font-size: 5.2rem;
  -webkit-transform: rotate(-3.2deg);
  transform: rotate(-3.2deg);
}
.s_report .bal {
  position: absolute;
  top: 135px;
  left: calc(50% + 121px);
}
@media screen and (max-width: 480px) {
  .s_report .bal {
    top: 74px;
    left: calc(50% - 155px);
  }
  .s_report .bal img {
    width: 52px;
    height: auto;
  }
}
.s_report .article_list2 {
  margin: 80px auto 0;
  width: 93.3%;
  max-width: 1100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
  gap: 40px 33.3px;
  position: relative;
}
.s_report .article_list2::before {
  content: "";
  display: block;
  position: absolute;
  width: 284px;
  aspect-ratio: 284/238;
  background: url("/img/shape2.svg") no-repeat 0 0/contain;
  right: -120px;
  top: -98px;
}
.s_report .article_list2 article {
  position: relative;
  background: #fff;
  width: calc((100% - 100px) / 4);
}
.s_report .article_list2 article:first-child::before {
  content: "";
  display: block;
  width: 62px;
  aspect-ratio: 62/26;
  background: url("/img/label_pickup.png") no-repeat 0 0/contain;
  position: absolute;
  z-index: 1;
  left: -10px;
  top: -36px;
}
.s_report .btn {
  margin: 40px auto 0;
}
@media screen and (max-width: 480px) {
  .s_report {
    padding-top: 43px;
  }
  .s_report .s_ttl {
    width: auto;
    padding-left: 15px;
    text-align: center;
  }
  .s_report .s_ttl::before {
    width: 189px;
    position: relative;
    top: 0;
    margin: 0 auto 10px;
  }
  .s_report .s_ttl .ja {
    font-size: 3.2rem;
    -webkit-transform: rotate(-3.2deg);
    transform: rotate(-3.2deg);
  }
  .s_report .article_list2 {
    margin: 40px auto 0;
    gap: 10px;
  }
  .s_report .article_list2::before {
    width: 123px;
    right: -16px;
    top: -60px;
  }
  .s_report .article_list2 article {
    width: calc((100% - 10px) / 2);
  }
  .s_report .article_list2 article:first-child::before {
    width: 40px;
    left: -5px;
    top: -10px;
  }
  .s_report .btn {
    margin: 25px auto 0;
  }
}

.s_statement {
  position: relative;
  width: 90%;
  max-width: 1100px;
  margin: 60px auto 0;
}
.s_statement::before {
  content: "";
  display: block;
  width: 246px;
  aspect-ratio: 246/197;
  background: url("/img/shape3.svg") no-repeat 0 0/contain;
  position: absolute;
  left: -114px;
  top: -20px;
}
.s_statement .inr {
  padding: 80px 0 70px;
  position: relative;
  background: #fff;
  border-radius: 10px;
}
.s_statement .s_ttl {
  position: absolute;
  left: calc(6.35% - 27px);
  z-index: 1;
  top: -31px;
}
.s_statement .bal {
  position: absolute;
  left: -35px;
  top: -36px;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -o-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
  -webkit-font-feature-settings: initial;
  font-feature-settings: initial;
  text-orientation: upright;
  letter-spacing: normal;
  text-align: left;
  font-family: "FOT-筑紫A丸ゴシック Std B", "TsukuARdGothicStd-B", sans-serif;
  letter-spacing: 0.05em;
  color: #004b36;
  font-size: 1.6rem;
  line-height: 2;
  -webkit-transform: rotate(-9.25deg);
  transform: rotate(-9.25deg);
}
.s_statement .link_list1 {
  margin: 0 6.35% 0 calc(6.35% + 110px);
}
.s_statement .link_list1 a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.s_statement .link_list1 .date {
  width: 145px;
  color: #4c5d67;
  font-size: 1.4rem;
  letter-spacing: 0.02em;
}
.s_statement .link_list1 .ttl {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-height: 1.2em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  font-family: "Inter", "TazuganeGothicStdN-Bold", sans-serif;
  font-weight: 600;
  line-height: 1.2;
}
.s_statement .btn {
  margin: 40px auto 0;
}

@media screen and (max-width: 480px) {
  .s_statement {
    width: 93.3%;
    margin: 0 auto;
    padding-top: 65px;
  }
  .s_statement::before {
    width: 139px;
    left: -43px;
    top: 3px;
  }
  .s_statement .inr {
    padding: 54px 0 30px;
  }
  .s_statement .s_ttl {
    left: calc(5.7% - 3px);
    top: -28px;
  }
  .s_statement .s_ttl img {
    width: 150px;
    height: auto;
  }
  .s_statement .bal {
    left: auto;
    right: 25px;
    top: -57px;
    font-size: 1.1rem;
    line-height: 1.64;
    -webkit-transform: rotate(4.5deg);
    transform: rotate(4.5deg);
  }
  .s_statement .link_list1 {
    margin: 0 5.7%;
  }
  .s_statement .link_list1 a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    gap: 6px;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 15px 40px 15px 0;
  }
  .s_statement .link_list1 a::before {
    display: none;
  }
  .s_statement .link_list1 .date {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    width: auto;
    font-size: 1.1rem;
    padding-left: 18px;
    position: relative;
    color: #4c5d67;
    line-height: 1;
    letter-spacing: 0.02em;
  }
  .s_statement .link_list1 .date::before {
    content: "";
    display: block;
    width: 10px;
    height: 1px;
    background: #008e66;
    position: absolute;
    left: 0;
    top: calc(0.5em - 0.5px);
  }
  .s_statement .link_list1 .ttl {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    max-height: 3em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 1.2rem;
    line-height: 1.5;
  }
  .s_statement .btn {
    margin: 20px auto 0;
  }
}
.s_shidouin {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
  padding-bottom: 115px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.s_shidouin .hd {
  width: 100%;
  position: relative;
  padding-top: 180px;
  margin-bottom: 90px;
}
.s_shidouin .hd::before, .s_shidouin .hd::after {
  content: "";
  display: block;
  position: absolute;
}
.s_shidouin .hd::before {
  aspect-ratio: 392/304;
  width: 196px;
  background: url("/img/top_shidouin_img1.png") no-repeat 0 0/contain;
  top: 140px;
  left: calc(50% - 588px);
}
.s_shidouin .hd::after {
  aspect-ratio: 754/128;
  width: 377px;
  background: url("/img/top_shidouin_ttl.png") no-repeat 0 0/contain;
  top: 258px;
  left: calc(50% + 125px);
}
.s_shidouin .bal1 {
  position: absolute;
  left: calc(50% - 405px);
  top: 134px;
  color: #004b36;
  text-align: left;
  font-family: "FOT-筑紫A丸ゴシック Std B", "TsukuARdGothicStd-B", sans-serif;
  letter-spacing: 0.05em;
  font-size: 1.8rem;
  -webkit-transform: rotate(5.5deg);
  transform: rotate(5.5deg);
}
.s_shidouin .s_ttl {
  display: inline-block;
  vertical-align: top;
  padding-right: 20px;
  color: #008e66;
  font-family: "TsukuAMGothicLStd-B", sans-serif;
  letter-spacing: 0.05em;
  font-size: 8.5rem;
  -webkit-transform: rotate(-4deg);
  transform: rotate(-4deg);
}
.s_shidouin .s_ttl .img {
  display: inline-block;
  vertical-align: top;
  position: relative;
}
.s_shidouin .s_ttl .img::before {
  content: "";
  display: block;
  width: 45px;
  aspect-ratio: 1;
  background: url("/img/shidouin_ttl_img.png") no-repeat 0 0/contain;
  position: absolute;
  left: calc(50% - 18px);
  top: -28px;
}
.s_shidouin .s_ttl .dot {
  display: inline-block;
  vertical-align: top;
  position: relative;
}
.s_shidouin .s_ttl .dot::before {
  content: "";
  display: block;
  width: 14px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #ede19f;
  position: absolute;
  left: calc(50% - 7px);
  top: -24px;
}
.s_shidouin .bal2 {
  position: absolute;
  left: calc(50% + 385px);
  top: 93px;
  color: #008e66;
  text-align: left;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -o-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
  -webkit-font-feature-settings: initial;
  font-feature-settings: initial;
  text-orientation: upright;
  letter-spacing: normal;
  font-family: "FOT-筑紫A丸ゴシック Std B", "TsukuARdGothicStd-B", sans-serif;
  letter-spacing: 0.05em;
  font-size: 1.8rem;
  line-height: 1.78;
  -webkit-transform: rotate(5.2deg);
  transform: rotate(5.2deg);
}
.s_shidouin .video {
  width: 69.5%;
  max-width: 764px;
  margin-right: auto;
  position: relative;
}
.s_shidouin .video::before {
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  left: 10px;
  width: 100%;
  height: 100%;
  background: url("/img/pat3.png") repeat center top/4px;
  border-radius: 10px;
}
.s_shidouin .video a {
  display: block;
  position: relative;
  text-decoration: none;
}
.s_shidouin .video a::before, .s_shidouin .video a::after {
  content: "";
  display: block;
  position: absolute;
}
.s_shidouin .video a::before {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 10px;
  background: url("/img/pat2.png") repeat center top/2px;
  -webkit-transition: background 0.5s;
  transition: background 0.5s;
}
.s_shidouin .video a::after {
  width: 75px;
  aspect-ratio: 1;
  background: url("/img/i_play.svg") no-repeat center center/contain;
  left: calc(50% - 37.5px);
  top: calc(50% - 37.5px);
}
@media (any-hover: hover) {
  .s_shidouin .video a:hover::before {
    background: rgba(0, 75, 54, 0.5) url("/img/pat2.png") repeat center top/2px;
  }
}
.s_shidouin .video img {
  width: 100%;
  height: auto;
  border-radius: 10px;
}
.s_shidouin .video .ttl {
  position: absolute;
  z-index: 1;
  top: 28px;
  right: -22px;
  height: 35px;
  line-height: 32px;
  border-radius: 4px;
  background: #004b36;
  color: #fff;
  font-family: "FOT-筑紫A丸ゴシック Std B", "TsukuARdGothicStd-B", sans-serif;
  letter-spacing: 0.05em;
  font-size: 1.8rem;
  padding: 0 1.2em;
}
.s_shidouin .txt {
  width: 24%;
  text-align: left;
  color: #004b36;
  font-size: 1.6rem;
  line-height: 2;
}
.s_shidouin .txt::before {
  content: "";
  display: block;
  margin: 0 -12% 36px;
  width: 124%;
  max-width: 327px;
  aspect-ratio: 654/380;
  background: url("/img/top_shidouin_img2.png") no-repeat 0 0/contain;
}
.s_shidouin .btn {
  margin-top: 52px;
}
@media screen and (max-width: 480px) {
  .s_shidouin {
    width: auto;
    display: block;
    padding-bottom: 80px;
  }
  .s_shidouin .hd {
    padding-top: 90px;
    margin-bottom: 85px;
  }
  .s_shidouin .hd::before {
    width: 92px;
    top: 187px;
    left: calc(50% - 163px);
  }
  .s_shidouin .hd::after {
    width: 190px;
    top: 225px;
    left: calc(50% - 50px);
  }
  .s_shidouin .bal1 {
    left: calc(50% - 150px);
    top: 65px;
    font-size: 1.2rem;
  }
  .s_shidouin .s_ttl {
    padding-right: 0;
    font-size: 42px;
    line-height: 1.43;
  }
  .s_shidouin .s_ttl .img::before {
    width: 25px;
    left: calc(50% - 12px);
    top: -7px;
  }
  .s_shidouin .s_ttl .dot::before {
    width: 6.5px;
    left: calc(50% - 4px);
    top: 0;
  }
  .s_shidouin .bal2 {
    left: calc(50% + 100px);
    top: 32px;
    font-size: 1.2rem;
    line-height: 1.75;
  }
  .s_shidouin .video {
    width: 70.6%;
    margin: 0 auto;
  }
  .s_shidouin .video::before {
    top: 5px;
    left: 5px;
    border-radius: 7px;
  }
  .s_shidouin .video a::before {
    border-radius: 7px;
  }
  .s_shidouin .video a::after {
    width: 38px;
    left: calc(50% - 19px);
    top: calc(50% - 19px);
  }
  .s_shidouin .video img {
    border-radius: 7px;
  }
  .s_shidouin .video .ttl {
    top: -1em;
    right: -1em;
    height: 2em;
    line-height: 2;
    font-size: 1.2rem;
  }
  .s_shidouin .txt {
    width: 76%;
    margin: 18px auto 0;
    font-size: 1.4rem;
  }
  .s_shidouin .txt::before {
    margin: 0 auto 15px;
    width: 150px;
    max-width: none;
  }
  .s_shidouin .btn {
    margin: 20px auto 0;
  }
}

.s_event {
  background: #fbf8e9;
  border-radius: 10px;
  margin: 0 auto;
  width: 96.4%;
  position: relative;
  padding: 130px 0 105px;
}
.s_event .s_ttl {
  color: #008e66;
}
.s_event .s_ttl .en {
  display: block;
  font-family: "BioRhyme Expanded", sans-serif;
  font-weight: 700;
  font-size: 8rem;
}
.s_event .s_ttl .ja {
  display: block;
  margin-top: 25px;
  font-family: "TsukuAMGothicLStd-B", sans-serif;
  letter-spacing: 0.05em;
  font-size: 2.5rem;
}
.s_event .bal {
  position: absolute;
  top: -50px;
  left: calc(50% - 465px);
}
.s_event .event_list {
  margin: 50px auto 0;
  width: 860px;
  border-top: 1px dashed #008e66;
}
.s_event .event_list article {
  border-bottom: 1px dashed #008e66;
}
.s_event .none {
  margin-top: 50px;
  font-family: "Inter", "TazuganeGothicStdN-Bold", sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
}
.s_event .btn {
  margin: 40px auto 0;
}
@media screen and (max-width: 480px) {
  .s_event {
    border-radius: 0;
    margin: 0;
    width: auto;
    padding: 33px 0 40px;
  }
  .s_event .s_ttl .en {
    font-size: 4.5rem;
  }
  .s_event .s_ttl .ja {
    margin-top: 11px;
    font-size: 1.2rem;
  }
  .s_event .bal {
    top: -59px;
    left: calc(50% - 180px);
    width: 130px;
    height: auto;
  }
  .s_event .event_list {
    margin: 20px auto 0;
    width: 90%;
  }
  .s_event .none {
    margin-top: 20px;
    font-size: 1.4rem;
  }
  .s_event .btn {
    margin: 20px auto 0;
  }
}

.gallery {
  margin: 0 auto;
  width: 96%;
  max-width: 1200px;
  position: relative;
  overflow: hidden;
}
.gallery .slide {
  position: relative;
  width: 100%;
}
.gallery .slide img {
  border-radius: 20px;
  width: 100%;
  height: auto;
}
.gallery .slide .cap {
  position: absolute;
  background: #004b36;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1.88;
  padding: 0 0.8em;
  bottom: 10px;
  right: 14px;
}
.gallery + .swiper-pagination {
  margin-top: 35px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 6px;
}
.gallery + .swiper-pagination span {
  display: block;
  width: 10px;
  height: 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 50%;
  border: 1px solid #008e66;
}
.gallery + .swiper-pagination span.swiper-pagination-bullet-active {
  background: #008e66;
}
.gallery + .swiper-pagination span:not(.swiper-pagination-bullet-active) {
  cursor: pointer;
}

@media screen and (max-width: 480px) {
  .gallery {
    width: 93.3%;
  }
  .gallery .slide img {
    border-radius: 10px 10px 0 0;
  }
  .gallery .slide .cap {
    position: relative;
    font-size: 1rem;
    line-height: 1.2;
    padding: 5px 20px;
    bottom: 0;
    right: 0;
    border-radius: 0 0 10px 10px;
  }
  .gallery + .swiper-pagination {
    margin-top: 20px;
  }
}
.s_support {
  position: relative;
  padding-top: 340px;
}
.s_support .bal1 {
  position: absolute;
  top: 124px;
  right: calc(50% + 330px);
}
@media screen and (max-width: 480px) {
  .s_support .bal1 {
    margin-top: 24px;
    margin-right: 134px;
    position: relative;
    display: inline-block;
    vertical-align: top;
    top: 0;
    right: 0;
  }
  .s_support .bal1 img {
    width: 92px;
    height: auto;
  }
}
.s_support .s_ttl {
  position: absolute;
  z-index: 2;
  top: 116px;
  left: calc(50% - 275px);
}
.s_support .s_ttl::before {
  content: "";
  display: block;
  position: absolute;
  left: calc(50% + 364px);
  top: 105px;
  aspect-ratio: 276/116;
  width: 138px;
  background: url("/img/top_support_img1.png") no-repeat 0 0/contain;
}
.s_support .howto {
  width: 90%;
  max-width: 1100px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 60px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
}
.s_support .howto .ttl {
  width: 100%;
  margin-bottom: 75px;
  text-align: right;
  color: #008e66;
  font-family: "AvenirNextLTPro-Medium", sans-serif;
  letter-spacing: 0.05em;
  font-size: 2.5rem;
}
.s_support .howto .hd {
  width: 240px;
  margin-right: auto;
  position: relative;
}
.s_support .howto .hd::before {
  content: "";
  display: block;
  position: absolute;
  left: 63px;
  top: 400px;
  aspect-ratio: 262/100;
  width: 131px;
  background: url("/img/top_support_img3.png") no-repeat 0 0/contain;
}
.s_support .howto .subttl {
  margin-top: -4px;
}
.s_support .bal2 {
  position: absolute;
  top: -100px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  white-space: nowrap;
  color: #008e66;
  font-family: "FOT-筑紫A丸ゴシック Std B", "TsukuARdGothicStd-B", sans-serif;
  letter-spacing: 0.05em;
  font-size: 1.6rem;
  line-height: 1.69;
}
.s_support .bal2::before, .s_support .bal2::after {
  content: "";
  display: block;
  width: 1px;
  background: #008e66;
  border-radius: 9999px;
  position: absolute;
  top: -2px;
  bottom: -2px;
}
.s_support .bal2::before {
  left: -24px;
  -webkit-transform: rotate(-15deg);
  transform: rotate(-15deg);
}
.s_support .bal2::after {
  right: -24px;
  -webkit-transform: rotate(15deg);
  transform: rotate(15deg);
}
.s_support .support {
  width: 71%;
  max-width: 780px;
  text-align: left;
}
.s_support .support_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.s_support .support_list li {
  width: 47.4%;
  border-radius: 10px;
  padding: 45px 0 43px;
  text-align: center;
  position: relative;
}
.s_support .support_list li:nth-child(1) {
  background: #004b36;
}
.s_support .support_list li:nth-child(1)::before {
  content: "";
  display: block;
  position: absolute;
  left: -36px;
  top: -48px;
  aspect-ratio: 220/150;
  width: 110px;
  background: url("/img/top_support_img2.png") no-repeat 0 0/contain;
}
.s_support .support_list li:nth-child(2) {
  background: #008e66;
}
.s_support .support_list p {
  color: #fff;
  font-family: "TsukuAMGothicLStd-B", sans-serif;
  letter-spacing: 0.05em;
}
.s_support .support_list p > span {
  display: block;
}
.s_support .support_list p .en {
  font-size: 1.4rem;
}
.s_support .support_list p .sub {
  margin-top: 28px;
  font-size: 1.8rem;
}
.s_support .support_list p .main {
  margin-top: 8px;
  font-size: 2.7rem;
}
.s_support .support_list .btn {
  margin: 30px auto 0;
  width: 215px;
}
.s_support .link_list1 {
  margin-top: 45px;
}
.s_support .link_list1 strong {
  font-size: 1.8rem;
}
@media screen and (max-width: 480px) {
  .s_support {
    padding: 178px 0 50px;
  }
  .s_support .s_ttl {
    width: 248px;
    top: 74px;
    left: calc(50% - 124px);
  }
  .s_support .s_ttl::before {
    display: none;
  }
  .s_support .s_ttl img {
    width: 100%;
    height: auto;
  }
  .s_support .howto {
    width: auto;
    margin: 45px 0 0;
    display: block;
    position: relative;
  }
  .s_support .howto::before {
    content: "";
    display: block;
    position: absolute;
    left: calc(50% - 4px);
    top: -90px;
    aspect-ratio: 262/100;
    width: 82px;
    background: url("/img/top_support_img3.png") no-repeat 0 0/contain;
  }
  .s_support .howto .ttl {
    text-align: center;
    margin-bottom: 32px;
    font-size: 1.5rem;
  }
  .s_support .howto .hd {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 25px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0;
    position: relative;
  }
  .s_support .howto .hd::before {
    content: "";
    display: block;
    position: absolute;
    left: calc(50% - 164px);
    top: -18px;
    aspect-ratio: 276/116;
    width: 51px;
    background: url("/img/top_support_img1.png") no-repeat 0 0/contain;
  }
  .s_support .howto .subttl {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  .s_support .howto .subttl img {
    width: 142px;
    height: auto;
  }
  .s_support .bal2 {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    position: relative;
    font-size: 1.15rem;
    display: block;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -o-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    white-space: nowrap;
    -webkit-font-feature-settings: initial;
    font-feature-settings: initial;
    text-orientation: upright;
    letter-spacing: normal;
    text-align: left;
    top: 0;
    left: 0;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  .s_support .bal2::before, .s_support .bal2::after {
    display: none;
  }
  .s_support .support {
    width: 85.3%;
    margin: 35px auto 0;
  }
  .s_support .support_list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    gap: 15px;
  }
  .s_support .support_list li {
    width: auto;
    padding: 30px 0 35px;
  }
  .s_support .support_list li:nth-child(1)::before {
    left: auto;
    right: -8px;
    top: -27px;
    width: 70px;
  }
  .s_support .support_list p .en {
    font-size: 1.1rem;
  }
  .s_support .support_list p .sub {
    margin-top: 22px;
    font-size: 1.4rem;
  }
  .s_support .support_list p .main {
    margin-top: 12px;
    font-size: 2.5rem;
  }
  .s_support .support_list .btn {
    margin: 15px auto 0;
    width: 170px;
  }
  .s_support .link_list1 {
    margin-top: 20px;
  }
  .s_support .link_list1 strong {
    font-size: 1.4rem;
  }
}

.s_news {
  background: #f1f5f7;
  border-radius: 10px;
  margin: 145px auto 0;
  width: 96.4%;
  position: relative;
  padding: 130px 0 105px;
}
.s_news .s_ttl {
  position: absolute;
  left: 0;
  width: 100%;
  top: -0.6em;
  color: #008e66;
  font-family: "AvenirNextLTPro-Medium", sans-serif;
  letter-spacing: 0.05em;
  font-size: 8rem;
}
.s_news .inr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 90%;
  max-width: 1050px;
  margin: 0 auto;
  position: relative;
}
.s_news .inr::before {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  background: #008e66;
  top: 0;
  bottom: 0;
  left: calc(50% - 0.5px);
}
.s_news .news {
  width: 42%;
  text-align: left;
}
.s_news .news > .ttl {
  color: #008e66;
  font-family: "Inter", "TazuganeGothicStdN-Bold", sans-serif;
  font-weight: 600;
  font-size: 2.1rem;
}
.s_news .news .btn {
  margin-top: 25px;
}
.s_news .news_list {
  margin-top: 30px;
  border-top: 1px solid #e2ebef;
}
.s_news .news_list li {
  border-bottom: 1px solid #e2ebef;
  padding: 25px 0;
}
.s_news .news_list a {
  display: block;
  color: inherit;
  text-decoration: none;
  -webkit-transition: color 0.25s;
  transition: color 0.25s;
}
@media (any-hover: hover) {
  .s_news .news_list a:hover {
    color: #008e66;
  }
}
.s_news .news_list .ttl {
  display: block;
  font-size: 1.6rem;
  line-height: 1.5;
  max-height: 3em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.s_news .news_list .date {
  display: block;
  margin-top: 10px;
  font-size: 1.1rem;
  padding-left: 18px;
  position: relative;
  color: #4c5d67;
  line-height: 1;
  letter-spacing: 0.02em;
}
.s_news .news_list .date::before {
  content: "";
  display: block;
  width: 10px;
  height: 1px;
  background: #008e66;
  position: absolute;
  left: 0;
  top: calc(0.5em - 0.5px);
}
@media screen and (max-width: 480px) {
  .s_news {
    border-radius: 0;
    margin: 0;
    width: auto;
    padding: 50px 0;
  }
  .s_news .s_ttl {
    position: relative;
    top: 0;
    font-size: 4.5rem;
  }
  .s_news .inr {
    display: block;
  }
  .s_news .inr::before {
    display: none;
  }
  .s_news .news {
    margin-top: 30px;
    width: auto;
    text-align: center;
  }
  .s_news .news + .news {
    margin-top: 40px;
  }
  .s_news .news > .ttl {
    font-size: 1.6rem;
  }
  .s_news .news .btn {
    margin: 20px auto 0;
  }
  .s_news .news_list {
    margin-top: 22px;
    text-align: left;
  }
  .s_news .news_list li {
    padding: 10px 0;
  }
  .s_news .news_list .ttl {
    font-size: 1.3rem;
  }
  .s_news .news_list .date {
    margin-top: 5px;
    font-size: 1rem;
  }
}

.s_contact {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: left;
  padding: 95px 0 100px;
}
.s_contact .s_ttl {
  width: 29%;
  color: #008e66;
  font-family: "AvenirNextLTPro-Medium", sans-serif;
  letter-spacing: 0.02em;
  font-size: 5rem;
}
.s_contact .contact {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.s_contact .contact .ttl {
  position: relative;
  padding-left: 30px;
  color: #008e66;
  font-family: "Inter", "TazuganeGothicStdN-Bold", sans-serif;
  font-weight: 600;
  font-size: 2.5rem;
}
.s_contact .contact .ttl:not(:first-child) {
  margin-top: 55px;
}
.s_contact .contact .ttl::before {
  content: "";
  display: block;
  width: 3px;
  height: 24px;
  background: #008e66;
  position: absolute;
  left: 0;
  top: calc(0.5em - 12px);
}
.s_contact .contact .ttl .for {
  padding-left: 2em;
  font-family: "Inter", "TazuganeGothicStdN-Light", sans-serif;
  font-weight: 300;
  font-size: 1.4rem;
}
.s_contact .contact .link_list1 {
  margin-top: 20px;
}
.s_contact .contact .link_list1 strong {
  font-size: 1.8rem;
}

@media screen and (max-width: 480px) {
  .s_contact {
    width: 80%;
    display: block;
    text-align: center;
    padding: 50px 0;
  }
  .s_contact .s_ttl {
    width: auto;
    font-size: 3rem;
  }
  .s_contact .contact {
    margin-top: 45px;
  }
  .s_contact .contact .ttl {
    padding-left: 0;
    font-size: 1.6rem;
  }
  .s_contact .contact .ttl:not(:first-child) {
    margin-top: 40px;
  }
  .s_contact .contact .ttl::before {
    display: none;
  }
  .s_contact .contact .ttl .for {
    margin-top: 15px;
    display: block;
    padding-left: 0;
    font-size: 1.2rem;
  }
  .s_contact .contact .link_list1 {
    text-align: left;
  }
  .s_contact .contact .link_list1 strong {
    font-size: 1.4rem;
  }
}
.sns_sdgs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 960px;
  margin: 0 auto;
  padding: 115px 0 100px;
}
.sns_sdgs .sns_list {
  border-right: 1px solid #e2ebef;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
  gap: 20px;
  width: 520px;
  margin-right: auto;
  padding-right: 76px;
}
.sns_sdgs .sns_list a {
  display: block;
  text-decoration: none;
  color: #fff;
  background: #004b36;
  border-radius: 9999px;
  width: 250px;
  height: 75px;
  line-height: 75px;
  overflow: hidden;
  font-family: "AvenirNextLTPro-Medium", sans-serif;
  font-size: 2rem;
  letter-spacing: 0.05em;
}
.sns_sdgs .sns_list a::before {
  content: "";
  display: inline-block;
  vertical-align: top;
  width: 32px;
  height: 100%;
  margin-right: 12px;
}
.sns_sdgs .sns_list a.fb::before {
  background: url("/img/i_fb_wh.svg") no-repeat center center/contain;
}
.sns_sdgs .sns_list a.x::before {
  background: url("/img/i_x_wh.svg") no-repeat center center/contain;
}
.sns_sdgs .sns_list a.in::before {
  background: url("/img/i_in_wh.svg") no-repeat center center/contain;
}
.sns_sdgs .sns_list a.yt::before {
  background: url("/img/i_yt_wh.svg") no-repeat center center/contain;
}
@media (any-hover: hover) {
  .sns_sdgs .sns_list a:hover {
    background: #003627;
  }
}
.sns_sdgs .sdgs p {
  text-align: center;
  font-family: "Inter", "TazuganeGothicStdN-Bold", sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.75;
}
.sns_sdgs .sdgs img {
  display: block;
  margin: 35px auto 0;
}

.windows .sns_sdgs .sns_list a {
  line-height: 80px;
}

@media screen and (max-width: 480px) {
  .sns_sdgs {
    display: block;
    width: auto;
    padding: 40px 0;
  }
  .sns_sdgs .sns_list {
    margin: 0 auto;
    width: 90%;
    max-width: 310px;
    border-right: none;
    gap: 10px;
    padding-right: 0;
  }
  .sns_sdgs .sns_list li {
    width: calc(50% - 5px);
  }
  .sns_sdgs .sns_list a {
    width: 100%;
    height: 45px;
    line-height: 45px;
    font-size: 1.2rem;
  }
  .sns_sdgs .sns_list a::before {
    width: 18px;
    margin-right: 6px;
  }
  .sns_sdgs .sdgs {
    margin-top: 30px;
  }
  .sns_sdgs .sdgs::before {
    content: "";
    display: block;
    width: 165px;
    height: 1px;
    margin: 0 auto 20px;
    background: #e2ebef;
  }
  .sns_sdgs .sdgs p {
    font-size: 1.1rem;
    line-height: 1.36;
  }
  .sns_sdgs .sdgs img {
    display: block;
    margin: 12px auto 0;
    width: 162px;
    height: auto;
  }
  .windows .sns_sdgs .sns_list a {
    line-height: 48px;
  }
}
#swiper4::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  left: 40px;
  bottom: 32px;
  width: 126px;
  aspect-ratio: 252/362;
  background: url("/img/top_slider2_ttl.png") no-repeat 0 0/contain;
}
@media screen and (max-width: 480px) {
  #swiper4::before {
    width: 42px;
    left: 14px;
    bottom: auto;
    top: 29.3vw;
  }
}

footer {
  padding: 135px 0 100px;
}
@media screen and (max-width: 480px) {
  footer {
    padding: 48px 0 20px;
  }
}