@charset "UTF-8";
/* 日本語 */
img {
  image-rendering: -webkit-optimize-contrast;
  /* Chrome用 */ }

.fade {
  opacity: 0;
  transition: .5s; }
  .fade.is-show {
    opacity: 1; }

/*max-width:1280px*/
/*max-width:1024px*/
@media (max-width: 768px) {
  .fade {
    opacity: 1;
    transition: .5s; }
    .fade.is-show {
      opacity: 1; }

  .sp_fade {
    opacity: 0;
    transition: .5s; }
    .sp_fade.sp-show {
      opacity: 1; } }
/*max-width:768px*/
/*max-width:480px*/
/*
header{
  border-bottom: none;
  background-color: inherit;
  &.active{
    border-bottom:1px solid #D0D0D0; 
    background-color: #fff;
  }
}*/
header {
  border-bottom: none; }

/*****************************************************/
.mv {
  margin: 0 auto 30px;
  width: 100%;
  position: relative;
  overflow: hidden;
  padding: 0 0 40px; }

.swiper-container {
  width: 100%;
  padding: 0 8vw;
  /* ← チラ見せ幅：画面が広がると自然に広がる */
  box-sizing: border-box;
  overflow: visible;
  /* ← はみ出しを見せる */ }

.swiper-wrapper {
  position: relative; }

.swiper-slide {
  width: 100%;
  max-width: 1480px;
  flex-shrink: 0;
  margin: 0 auto; }

.swiper-slide {
  transition: transform 0.2s ease, z-index 0.2s ease;
  transform: translateY(0px);
  /* ← 通常は少し下げておく */ }

.swiper-slide.swiper-slide-active {
  transform: translateY(40px);
  /* ← アクティブ時に持ち上げる */
  z-index: 2;
  /* ← 前面に出す（任意） */ }

.swiper-slide img {
  width: 100%;
  display: block; }

@media (max-width: 1024px) {
  .swiper-container {
    width: 100%;
    padding: 0 6vw;
    /* ← チラ見せ幅：画面が広がると自然に広がる */
    box-sizing: border-box;
    overflow: visible;
    /* ← はみ出しを見せる */ } }
/*max-width:1024px*/
@media (max-width: 480px) {
  .mv {
    margin: 0 auto 30px;
    padding: 10px 0 0; }

  .swiper-container {
    width: 90%;
    margin: 0 auto;
    padding: 0; }

  .swiper-slide,
  .swiper-slide.swiper-slide-active {
    transform: translateY(0px);
    /* ← アクティブ時に持ち上げる */
    z-index: 2;
    /* ← 前面に出す（任意） */ } }
/*max-width:480px*/
/*************************************************/
.catch_copy {
  margin: 0;
  width: 100%;
  position: relative; }
  .catch_copy p {
    transform: translateY(-95px);
    text-align: center;
    position: relative;
    z-index: 15;
    font: 3.6rem/1.5em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-weight: 500;
    letter-spacing: 0.05em;
    margin: 0;
    transition: .3s;
    color: #0F0F0F; }
  .catch_copy:before {
    position: absolute;
    content: "";
    display: block;
    background: url("../images/index/slider.svg") center bottom no-repeat;
    background-size: contain;
    aspect-ratio: 1420/218;
    width: 100%;
    max-width: 1420px;
    height: auto;
    top: auto;
    bottom: 58%;
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
    z-index: 10; }

@media (max-width: 1280px) {
  .catch_copy p {
    transform: translateY(-95px);
    font: 3vw/1.5em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-weight: 500; }
  .catch_copy:before {
    bottom: 70%;
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
    z-index: 10; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .catch_copy {
    margin: 0; }
    .catch_copy p {
      font: 3.5vw/1.5em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-weight: 500;
      transform: translateY(-50px); }
    .catch_copy:before {
      bottom: 85%; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .catch_copy {
    margin: 0;
    padding: 0;
    height: auto;
    z-index: 40; }
    .catch_copy p {
      transform: translateY(-45px);
      font: 4vw/1.5em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-weight: 500;
      margin: 0; }
    .catch_copy:before {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/index/slider.png") center bottom no-repeat;
      background-size: contain;
      aspect-ratio: 743/114;
      width: 100%;
      height: 114px;
      top: auto;
      bottom: calc(42% + 40px);
      left: 50%;
      -webkit-transform: translate(-50%, 0%);
      transform: translate(-50%, 0%);
      z-index: 10; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .catch_copy {
    margin: 0;
    padding: 0;
    height: auto;
    z-index: 40; }
    .catch_copy p {
      transform: translateY(-20px);
      font: 1.9rem/1.5em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-weight: 500;
      margin: 0; }
    .catch_copy:before {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/index/slider.png") center bottom no-repeat;
      background-size: contain;
      aspect-ratio: 743/114;
      width: 100%;
      height: 114px;
      top: auto;
      bottom: calc(42% + 40px);
      left: 50%;
      -webkit-transform: translate(-50%, 0%);
      transform: translate(-50%, 0%);
      z-index: 10; } }
/*max-width:480px*/
/*************************************************/
.scroll {
  width: 100%;
  display: flex;
  overflow: hidden;
  margin: 0 0 100px; }

.sec1__title--first,
.sec1__title--second {
  flex-shrink: 0;
  width: auto;
  height: auto;
  display: inline-block;
  font: 15rem/1em "Sawarabi Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  color: #0F0F0F; }
  .sec1__title--first span,
  .sec1__title--second span {
    position: relative;
    padding: 0 0 0 130px; }
    .sec1__title--first span:before,
    .sec1__title--second span:before {
      position: absolute;
      content: "";
      background: url("../images/index/scroll.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 126/110;
      width: 100%;
      max-width: 126px;
      left: 0;
      top: 15px;
      height: auto; }
  .sec1__title--first small,
  .sec1__title--second small {
    font: 15rem/1em "Sawarabi Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; }

.sec1__title--first {
  animation: anim--first 30s infinite linear 0.1s both; }

.sec1__title--second {
  animation: anim--second 30s infinite linear 0.1s both; }

@keyframes anim--first {
  0% {
    transform: translateX(0%); }
  100% {
    transform: translateX(-100%); } }
@keyframes anim--second {
  0% {
    transform: translateX(0%); }
  100% {
    transform: translateX(-100%); } }
@media (max-width: 1280px) {
  .sec1__title--first,
  .sec1__title--second {
    font: 12rem/1em "Sawarabi Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; }
    .sec1__title--first span,
    .sec1__title--second span {
      padding: 0 0 0 120px; }
      .sec1__title--first span:before,
      .sec1__title--second span:before {
        max-width: 115px; }
    .sec1__title--first small,
    .sec1__title--second small {
      font: 12rem/1em "Sawarabi Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; }

  .sec1__title--first {
    animation: anim--first 28s infinite linear 0.1s both; }

  .sec1__title--second {
    animation: anim--second 28s infinite linear 0.1s both; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .scroll {
    margin: 0 0 60px; }

  .sec1__title--first,
  .sec1__title--second {
    font: 10rem/1em "Sawarabi Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; }
    .sec1__title--first span,
    .sec1__title--second span {
      padding: 0 0 0 95px; }
      .sec1__title--first span:before,
      .sec1__title--second span:before {
        max-width: 80px; }
    .sec1__title--first small,
    .sec1__title--second small {
      font: 10rem/1em "Sawarabi Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; }

  .sec1__title--first {
    animation: anim--first 26s infinite linear 0.1s both; }

  .sec1__title--second {
    animation: anim--second 26s infinite linear 0.1s both; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .scroll {
    margin: 0 0 35px; }

  .sec1__title--first,
  .sec1__title--second {
    font: 8.5rem/1em "Sawarabi Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; }
    .sec1__title--first span,
    .sec1__title--second span {
      padding: 0 0 0 75px; }
      .sec1__title--first span:before,
      .sec1__title--second span:before {
        max-width: 65px; }
    .sec1__title--first small,
    .sec1__title--second small {
      font: 8.5rem/1em "Sawarabi Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; }

  .sec1__title--first {
    animation: anim--first 26s infinite linear 0.1s both; }

  .sec1__title--second {
    animation: anim--second 26s infinite linear 0.1s both; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .scroll {
    margin: 10px 0 0;
    display: block;
    overflow: hidden; }

  .sec1__title--first,
  .sec1__title--second {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%; }
    .sec1__title--first span,
    .sec1__title--second span {
      display: none; }
    .sec1__title--first .only,
    .sec1__title--second .only {
      font-feature-settings: palt;
      font: 6.5rem/1em "Sawarabi Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      display: block;
      width: fit-content;
      margin: 0 -3rem 0 0;
      padding: 0 0 0 100px; }
      .sec1__title--first .only:before,
      .sec1__title--second .only:before {
        max-width: 86px;
        top: 21px; }
    .sec1__title--first small,
    .sec1__title--second small {
      font: 4.6rem/1.2em "Sawarabi Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      display: block; }

  .sec1__title--first,
  .sec1__title--second {
    animation: none; }

  .sec1__title--second {
    display: none; } }
/*max-width:480px*/
/*************************************************/
.news {
  position: relative;
  background-color: #22BA8F;
  padding: 0 0 50px; }
  .news .news_box {
    max-width: 1400px;
    width: calc(100% - 80px);
    padding: 30px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start; }
    .news .news_box > div {
      width: 330px; }
  .news h2 {
    font: 4.8rem/1em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #fff;
    margin: 0 0 50px; }
    .news h2 small {
      color: #AFE3D4;
      position: relative;
      font: 1.8rem/1em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      letter-spacing: 0.05em;
      display: block;
      border-left: 5px solid #AFE3D4;
      padding: 0 0 0 10px;
      margin: 0 0 10px; }
  .news ul {
    border-top: 1px solid #AFE3D4;
    width: calc(100% - 330px);
    max-width: 1000px; }
  .news li {
    border-bottom: 1px solid #AFE3D4; }
    .news li time {
      width: 150px;
      text-align: center;
      color: #fff;
      font: 1.9rem/1.8em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      letter-spacing: 0.05em; }
    .news li p {
      font: 1.9rem/1.8em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      width: calc(100% - 150px);
      color: #fff;
      padding: 0 45px 0 15px;
      letter-spacing: 0.05em;
      position: relative; }
      .news li p:before {
        position: absolute;
        content: "";
        top: 45%;
        right: 20px;
        -webkit-transform: translate(0%, -50%);
        /* Safari用 */
        transform: translate(0%, -50%);
        width: 7px;
        height: 7px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); }
    .news li a {
      transition: .3s;
      width: 100%;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: flex-start;
      padding: 22px 0 22px 0; }
  .news .btn {
    transition: .3s;
    display: block;
    width: 250px;
    height: 70px;
    border-radius: 50px;
    background-color: #AFE3D4;
    font: 1.8rem/68px "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #087657;
    padding: 0 0 0 60px;
    position: relative; }
    .news .btn:before {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/common/arrow.svg") center center no-repeat;
      background-size: contain;
      width: 28px;
      height: 28px;
      right: 20px;
      top: 20px; }

@media (hover: hover) {
  .news li a:hover {
    background-color: #17A87F; }
    .news li a:hover time {
      color: #FFFBED; }
    .news li a:hover p {
      color: #FFFBED; }
  .news .btn:hover {
    background-color: #fff; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .news {
    padding: 40px 0; }
    .news .news_box {
      max-width: 768px;
      width: calc(100% - 100px);
      padding: 30px 0;
      margin: 0 auto; }
      .news .news_box > div {
        width: 250px; }
    .news ul {
      border-top: 1px solid #AFE3D4;
      width: calc(100% - 300px);
      max-width: 1000px; }
    .news li {
      border-bottom: 1px solid #AFE3D4; }
      .news li time {
        text-align: left;
        font: 1.6rem/1.8em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500; }
      .news li p {
        font: 1.6rem/1.8em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500;
        width: 100%;
        padding: 0 40px 0 0; }
        .news li p:before {
          top: 45%;
          right: 15px; }
      .news li a {
        width: 100%;
        display: block;
        padding: 15px 0 15px 15px; }
    .news .btn {
      width: 240px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .news {
    padding: 40px 0 40px; }
    .news .news_box {
      max-width: 600px;
      width: calc(100% - 50px);
      padding: 30px 0;
      margin: 0 auto; }
      .news .news_box > div {
        width: 100%;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start; }
    .news h2 {
      font: 4.8rem/1em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-weight: 500;
      letter-spacing: 0.1em;
      color: #fff;
      margin: 0 0 50px;
      width: 50%; }
      .news h2 small {
        color: #AFE3D4;
        position: relative;
        font: 1.8rem/1em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500;
        letter-spacing: 0.05em;
        display: block;
        border-left: 5px solid #AFE3D4;
        padding: 0 0 0 10px;
        margin: 0 0 10px; }
    .news .btn {
      width: 48%;
      max-width: 240px;
      padding: 0 0 0 10%; }
    .news ul {
      width: 100%;
      max-width: 1000px; }
    .news li time {
      text-align: left;
      font: 1.6rem/1.8em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500; }
    .news li p {
      font: 1.6rem/1.8em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      width: 100%; }
      .news li p:before {
        top: 33%;
        right: 15px; }
    .news li a {
      width: 100%;
      display: block; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .news {
    margin: -30px 0 0;
    padding: 0 0 20px; }
    .news .news_box {
      max-width: 600px;
      width: calc(100% - 50px);
      padding: 30px 0;
      margin: 0 auto; }
      .news .news_box > div {
        width: 100%;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-end;
        margin: 0 0 30px; }
    .news h2 {
      font: 3.5rem/1em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-weight: 500;
      letter-spacing: 0.1em;
      color: #fff;
      margin: 0 0;
      width: 50%; }
      .news h2 small {
        font: 1.5rem/1em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500; }
    .news .btn {
      width: 48%;
      font: 1.4rem/48px "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      max-width: 145px;
      height: 50px;
      padding: 0 0 0 20px; }
      .news .btn:before {
        width: 20px;
        height: 20px;
        top: 15px;
        right: 15px; }
    .news li time {
      font: 1.4rem/1.8em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500; }
    .news li p {
      font: 1.5rem/1.8em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      width: 100%; }
      .news li p:before {
        top: 35%;
        right: 15px; }
    .news li a {
      padding: 15px 0 15px 0px; } }
/*max-width:480px*/
/*************************************************/
.about {
  background-color: #22BA8F;
  padding: 50px 0; }

.about_box {
  position: relative;
  background-color: #FFFBED;
  border-radius: 40px;
  max-width: 1840px;
  width: calc(100% - 80px);
  margin: 0 auto;
  padding: 150px 0; }
  .about_box:before {
    position: absolute;
    content: "";
    display: block;
    background: url("../images/index/bird.svg") center center no-repeat;
    background-size: contain;
    aspect-ratio: 144/80;
    width: 100%;
    max-width: 144px;
    height: auto;
    top: -65px;
    right: 10%; }

@media (max-width: 1280px) {
  .about {
    background-color: #22BA8F;
    padding: 50px 0; }

  .about_box {
    position: relative;
    background-color: #FFFBED;
    border-radius: 40px;
    max-width: 1840px;
    width: calc(100% - 80px);
    margin: 0 auto;
    padding: 150px 0 130px; }
    .about_box:before {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/index/bird.svg") center center no-repeat;
      background-size: contain;
      aspect-ratio: 144/80;
      width: 100%;
      max-width: 120px;
      height: auto;
      top: -55px;
      right: 8%; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .about_box {
    width: calc(100% - 40px);
    margin: 0 auto;
    padding: 80px 0 40px; } }
/*max-width:1024px*/
/*max-width:768px*/
@media (max-width: 480px) {
  .about {
    padding: 50px 0 0;
    margin: -20px 0 0; }

  .about_box {
    width: calc(100% - 20px);
    padding: 50px 0 20px; }
    .about_box:before {
      width: 100%;
      max-width: 85px;
      height: auto;
      top: -40px;
      right: 90px; } }
/*max-width:480px*/
/***********************************************/
.about_us {
  max-width: 1520px;
  width: calc(100% - 160px);
  margin: 0 auto 150px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px; }
  .about_us .txt {
    width: 53%;
    max-width: 792px; }
  .about_us .img {
    image-rendering: crisp-edges;
    image-rendering: -webkit-optimize-contrast;
    width: 42%;
    max-width: 700px; }
    .about_us .img img {
      width: 100%;
      image-rendering: crisp-edges;
      image-rendering: -webkit-optimize-contrast; }
  .about_us h2 {
    font: 7.2rem/1.4em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-weight: 500;
    letter-spacing: 0.05em;
    margin: 0 0 60px; }
    .about_us h2 small {
      color: #087657;
      position: relative;
      font: 1.8rem/1em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      letter-spacing: 0.05em;
      display: block;
      border-left: 5px solid #087657;
      padding: 0 0 0 10px;
      margin: 0 0 15px; }
  .about_us p {
    font: 2.8rem/2.2em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-weight: 500;
    letter-spacing: 0.05em;
    text-align: justify;
    text-justify: inter-ideograph;
    margin: 0 0 60px; }
    .about_us p strong {
      font: 3.2rem/2.2em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-weight: 700; }
  .about_us .btn {
    margin: 0 0 0 auto;
    transition: .3s;
    display: block;
    width: 340px;
    height: 70px;
    border-radius: 50px;
    background-color: #087657;
    border: 1px solid #087657;
    font: 1.8rem/68px "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #fff;
    padding: 0 0 0 40px;
    position: relative; }
    .about_us .btn:before {
      transition: .3s;
      position: absolute;
      content: "";
      display: block;
      background: url("../images/common/arrow_white.svg") center center no-repeat;
      background-size: contain;
      width: 28px;
      height: 28px;
      right: 20px;
      top: 20px; }

@media (hover: hover) {
  .about_us .btn:hover {
    background-color: #fff;
    color: #087657; }
    .about_us .btn:hover:before {
      background: url("../images/common/arrow.svg") center center no-repeat;
      background-size: contain; } }
@media (max-width: 1280px) {
  .about_us {
    max-width: 840px;
    width: calc(100% - 158px);
    margin: 0 auto 150px;
    padding: 0 0 120px;
    gap: 0;
    position: relative; }
    .about_us .txt {
      width: 100%;
      max-width: 840px; }
    .about_us .img {
      width: 100%;
      max-width: 540px;
      margin: 0 auto; }
    .about_us h2 {
      font: 5.4rem/1.4em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-weight: 500;
      letter-spacing: 0.05em;
      margin: 0 0 40px; }
      .about_us h2 br {
        display: none; }
    .about_us p {
      font: 1.9rem/2.2em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-weight: 500;
      letter-spacing: 0.05em;
      margin: 0 0 20px; }
      .about_us p strong {
        font: 2.2rem/2.2em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
        font-weight: 700; }
    .about_us .btn {
      position: absolute;
      right: 0;
      bottom: 0; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .about_us {
    max-width: 768px;
    width: calc(100% - 80px); } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .about_us {
    max-width: 600px;
    width: calc(100% - 60px);
    margin: 0 auto 150px;
    padding: 0 0 120px;
    gap: 0;
    position: relative; }
    .about_us .txt {
      width: 100%;
      max-width: 840px; }
    .about_us h2 {
      font: 5.4rem/1.4em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-weight: 500;
      letter-spacing: 0.05em;
      margin: 0 0 40px; }
      .about_us h2 br {
        display: block; }
    .about_us p {
      font: 1.9rem/2.2em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-weight: 500;
      letter-spacing: 0.05em;
      margin: 0 0 20px; }
      .about_us p strong {
        font: 2.2rem/2.2em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
        font-weight: 700; }
    .about_us .btn {
      position: absolute;
      right: auto;
      bottom: 0;
      top: auto;
      left: 50%;
      -webkit-transform: translate(-50%, 0%);
      /* Safari用 */
      transform: translate(-50%, 0%); } }
/*max-width:768px*/
@media (max-width: 480px) {
  .about_us {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 60px;
    padding: 0 0 100px; }
    .about_us .txt {
      width: 100%;
      margin: 0 auto 0;
      max-width: 305px; }
    .about_us .img {
      width: 100%;
      max-width: 480px; }
    .about_us h2 {
      font: 3.5rem/1.4em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-weight: 500;
      letter-spacing: 0.05em;
      margin: 0 0 30px; }
      .about_us h2 small {
        font: 1.5rem/1em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500;
        letter-spacing: 0.05em; }
    .about_us p {
      font: 1.8rem/2.2em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-weight: 500;
      letter-spacing: 0.05em;
      margin: 0 0 15px; }
      .about_us p strong {
        font: 2.4rem/1.8em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
        font-weight: 700;
        margin: 20px 0; }
      .about_us p br {
        display: none; }
    .about_us .btn {
      width: 280px;
      height: 60px;
      font: 1.5rem/58px "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      padding: 0 0 0 35px; }
      .about_us .btn:before {
        width: 21px;
        height: 21px;
        right: 15px;
        top: 18px; } }
/*max-width:480px*/
/*************************************************/
.activities {
  max-width: 1520px;
  width: calc(100% - 100px);
  margin: 0 auto; }
  .activities ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: stretch; }
  .activities li {
    width: calc((100% - 80px)/3);
    max-width: 460px;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start; }
  .activities img {
    width: 100%;
    margin: 0 auto 25px; }
  .activities h2 {
    font: 7.2rem/1.4em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-weight: 500;
    letter-spacing: 0.05em;
    margin: 0 0 80px; }
    .activities h2 small {
      color: #087657;
      position: relative;
      font: 1.8rem/1em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      letter-spacing: 0.05em;
      display: block;
      border-left: 5px solid #087657;
      padding: 0 0 0 10px;
      margin: 0 0 15px; }
    .activities h2 br {
      display: none; }
  .activities h3 {
    font: 2.8rem/1.8em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-weight: 700;
    letter-spacing: 0.05em;
    padding: 0 0 0 25px;
    position: relative;
    margin: 0 0 10px; }
    .activities h3:before {
      display: block;
      position: absolute;
      content: "";
      width: 4px;
      height: calc(100% - 0.9em);
      background-color: #17A87F;
      top: 50%;
      left: 0%;
      -webkit-transform: translate(0%, -50%);
      /* Safari用 */
      transform: translate(0%, -50%); }
  .activities p {
    margin-bottom: 20px;
    flex: 1;
    font: 2rem/2.2em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 400;
    letter-spacing: 0.02em; }
  .activities .btn {
    margin: 0 0 0 auto;
    transition: .3s;
    display: block;
    width: 210px;
    height: 60px;
    border-radius: 50px;
    background-color: #087657;
    font: 1.7rem/57px "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #fff;
    padding: 0 0 0 15px;
    position: relative;
    border: 1px solid #087657;
    transition: .3s; }
    .activities .btn:before {
      transition: .3s;
      position: absolute;
      content: "";
      display: block;
      background: url("../images/common/arrow_white.svg") center center no-repeat;
      background-size: contain;
      width: 24px;
      height: 24px;
      right: 15px;
      top: 18px; }

@media (hover: hover) {
  .activities .btn:hover {
    background-color: #fff;
    color: #087657; }
    .activities .btn:hover:before {
      background: url("../images/common/arrow.svg") center center no-repeat;
      background-size: contain; } }
@media (max-width: 1280px) {
  .activities {
    max-width: 1024px;
    width: calc(100% - 158px);
    margin: 0 auto; }
    .activities li {
      width: calc((100% - 60px)/3); }
    .activities img {
      width: 100%;
      margin: 0 auto 25px; }
    .activities h2 {
      font: 5.3rem/1.4em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-weight: 500;
      letter-spacing: 0.05em;
      margin: 0 0 60px; }
    .activities h3 {
      font: 2.2rem/1.8em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-weight: 700;
      min-height: 118px;
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center; }
    .activities p {
      margin-bottom: 20px;
      flex: 1;
      font: 1.6rem/2.2em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400;
      letter-spacing: 0.02em; }
    .activities .btn {
      transform: scale(0.9);
      transform-origin: right center; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .activities {
    max-width: 768px;
    width: calc(100% - 80px);
    margin: 0 auto; }
    .activities li {
      width: calc((100% - 30px)/2);
      margin: 0 0 40px; }
    .activities h3:before {
      height: calc(100% - 0.7em); } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .activities {
    max-width: 600px;
    width: calc(100% - 60px);
    margin: 0 auto; }
    .activities h2 br {
      display: block; }
    .activities li {
      width: 100%;
      margin: 0 auto 40px; }
    .activities .btn {
      transform: scale(1); }
    .activities h3 {
      font: 2.4rem/1.8em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-weight: 700; }
      .activities h3:before {
        width: 4px;
        height: 80px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .activities {
    max-width: 305px;
    width: 100%;
    margin: 0 auto; }
    .activities li {
      margin: 0 auto 50px; }
    .activities img {
      width: 100%;
      margin: 0 auto 25px; }
    .activities h2 {
      font: 3.5rem/1.4em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-weight: 500;
      letter-spacing: 0.05em;
      margin: 0 0 35px; }
      .activities h2 small {
        font: 1.5rem/1em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500; }
    .activities h3 {
      min-height: auto;
      font: 2.2rem/1.8em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-weight: 700;
      margin: 0 0 15px; }
      .activities h3:before {
        width: 4px;
        height: 60px;
        top: 48%; }
    .activities p {
      font: 1.6rem/2em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 400; }
    .activities .btn {
      width: 180px;
      height: 50px;
      font: 1.4rem/47px "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      padding: 0 0 0 15px; }
      .activities .btn:before {
        width: 20px;
        height: 20px;
        right: 15px;
        top: 14px; } }
/*max-width:480px*/
/*************************************************/
.news_letter {
  background-color: #22BA8F;
  padding: 50px 0 135px; }

.news_letter_box {
  max-width: 1400px;
  margin: 0 auto;
  width: calc(100% - 200px);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  justify-content: space-between;
  align-items: center; }
  .news_letter_box .txt {
    max-width: 830px;
    width: calc(100% - 540px); }
  .news_letter_box .img {
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    aspect-ratio: 485/393;
    width: 100%;
    max-width: 480px;
    height: auto;
    white-space: nowrap;
    background: url("../images/index/newsletter.png") center center no-repeat;
    background-size: contain; }
  .news_letter_box h2 {
    font: 4.8rem/1.4em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-weight: 500;
    letter-spacing: 0.05em;
    margin: 0 0 40px;
    color: #FFFFFF; }
    .news_letter_box h2 small {
      color: #AFE3D4;
      position: relative;
      font: 1.8rem/1em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      letter-spacing: 0.05em;
      display: block;
      border-left: 5px solid #AFE3D4;
      padding: 0 0 0 10px;
      margin: 0 0 15px; }
  .news_letter_box p {
    font: 2.4rem/2em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-weight: 500;
    letter-spacing: 0.05em;
    margin-bottom: 60px;
    color: #fff; }
  .news_letter_box .btn {
    transition: .3s;
    display: block;
    width: 250px;
    height: 70px;
    border-radius: 50px;
    background-color: #AFE3D4;
    font: 1.8rem/68px "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #087657;
    padding: 0 20px 0 0;
    position: relative;
    text-align: center;
    transition: .3s; }
    .news_letter_box .btn:before {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/common/arrow.svg") center center no-repeat;
      background-size: contain;
      width: 28px;
      height: 28px;
      right: 15px;
      top: 20px; }

@media (hover: hover) {
  .news_letter_box .btn:hover {
    background-color: #FFFFFF; } }
@media (max-width: 1280px) {
  .news_letter_box {
    width: calc(100% - 200px); }
    .news_letter_box .txt {
      width: calc(100% - 400px); }
    .news_letter_box .img {
      width: 370px; }
    .news_letter_box p {
      font: 1.9rem/2em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-weight: 500; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .news_letter_box {
    width: calc(100% - 100px);
    max-width: 768px;
    display: block;
    position: relative;
    padding: 0 0 120px; }
    .news_letter_box .txt {
      width: 100%; }
    .news_letter_box .img {
      width: 370px;
      margin: 0 auto;
      display: block; }
    .news_letter_box p {
      margin: 0 auto 30px;
      font: 1.9rem/2em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-weight: 500; }
    .news_letter_box .btn {
      position: absolute;
      top: auto;
      bottom: 0;
      left: 50%;
      -webkit-transform: translate(-50%, 0%);
      /* Safari用 */
      transform: translate(-50%, 0%); } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .news_letter_box {
    width: calc(100% - 50px);
    max-width: 600px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .news_letter {
    padding: 50px 0 60px; }

  .news_letter_box {
    max-width: 315px;
    margin: 0 auto;
    padding: 0 0 95px;
    width: calc(100% - 20px); }
    .news_letter_box .img {
      width: 100%;
      max-width: 180px; }
    .news_letter_box h2 {
      font: 3.5rem/1.4em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-weight: 500;
      letter-spacing: 0.05em;
      margin: 0 0 30px; }
      .news_letter_box h2 small {
        font: 1.5rem/1em "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
        font-weight: 500; }
    .news_letter_box p {
      font: 1.8rem/2.2em "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
      font-weight: 500;
      letter-spacing: 0.05em;
      margin-bottom: 10px; }
      .news_letter_box p br {
        display: none; }
    .news_letter_box .btn {
      margin: 0 auto 0;
      width: 210px;
      height: 60px;
      font: 1.5rem/58px "Noto Sans JP", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500; }
      .news_letter_box .btn:before {
        width: 22px;
        height: 22px;
        right: 15px;
        top: 19px; } }
/*max-width:480px*/
/*************************************************/
.scenery {
  border-radius: 0 0 40px 40px; }
  .scenery video {
    width: 100%;
    max-width: 100%;
    height: auto; }

@media (min-width: 1980px) {
  .scenery {
    aspect-ratio: inherit;
    width: 100%;
    max-width: 100%;
    height: 900px; } }
