@charset "UTF-8";
/* Reset styles */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

html, body {
  font-family: "Yu Gothic", "游ゴシック体", "YuGothic", "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: min(4.2666666667vw, 25.6px);
  line-height: 1.5em;
}
@media (min-width: 601px) {
  html, body {
    font-size: min(4.2666666667vw, 17.7066666667px);
  }
}

body {
  position: relative;
}
body.is-fixed {
  overflow: hidden;
  position: fixed;
  width: 100%;
}

img {
  width: 100%;
  display: block;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Yu Mincho", "游明朝体", "YuMincho", "Noto Serif JP", serif;
  font-weight: 400;
  line-height: 1.5em;
}

.height-self {
  line-height: 1em;
}

.h1 {
  font-size: min(10.6666666667vw, 64px);
}
@media (min-width: 601px) {
  .h1 {
    font-size: min(10.6666666667vw, 44.2666666667px);
  }
}

.h2 {
  font-size: min(8.5333333333vw, 51.2px);
}
@media (min-width: 601px) {
  .h2 {
    font-size: min(8.5333333333vw, 35.4133333333px);
  }
}

.h3 {
  font-size: min(6.4vw, 38.4px);
}
@media (min-width: 601px) {
  .h3 {
    font-size: min(6.4vw, 26.56px);
  }
}

.l-body {
  position: relative;
  height: 100vh;
}

@media (min-width: 601px) {
  .l-content {
    max-width: 415px;
    margin: 0 auto;
  }
}
@media (min-width: 1400px) {
  .l-content {
    margin: 0;
    position: absolute;
    left: 55vw;
  }
}
.l-content--main {
  background: #fff;
}
@media (min-width: 601px) {
  .l-content--main {
    filter: drop-shadow(0 0 30px rgba(12, 57, 61, 0.1));
  }
}

.l-container {
  margin: 0 auto;
  width: min(93.3333333333vw, 560px);
}
@media (min-width: 601px) {
  .l-container {
    width: min(93.3333333333vw, 387.3333333333px);
  }
}

.l-section {
  padding: min(21.3333333333vw, 128px) 0;
}
@media (min-width: 601px) {
  .l-section {
    padding: min(21.3333333333vw, 88.5333333333px) 0;
  }
}

section {
  position: relative;
}

.c-thum {
  border-radius: min(6.4vw, 38.4px);
  overflow: hidden;
}
@media (min-width: 601px) {
  .c-thum {
    border-radius: min(6.4vw, 26.56px);
  }
}

.c-btn {
  height: min(14.9333333333vw, 89.6px);
  font-size: min(4.2666666667vw, 25.6px);
  border-radius: min(8vw, 48px);
  border: min(0.5333333333vw, 3.2px) solid #fff;
  color: #fff;
  display: block;
  width: 100%;
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.5s;
}
@media (min-width: 601px) {
  .c-btn {
    height: min(14.9333333333vw, 61.9733333333px);
    font-size: min(4.2666666667vw, 17.7066666667px);
    border-radius: min(8vw, 33.2px);
    border: min(0.5333333333vw, 2.2133333333px) solid #fff;
  }
}
.c-btn span {
  line-height: 1.2em;
  text-align: center;
}
.c-btn:hover {
  background: #022F40;
  color: #fff;
  border-color: #022F40;
}
.c-btn__newtab::after {
  font-family: "Font Awesome 6 Free";
  content: "\f35d";
  font-weight: 900;
  display: inline-block;
  margin-left: 1em;
}
.c-btn__blue {
  border-color: #022F40;
  color: #022F40;
}
.c-btn__blue:hover {
  background: #022F40;
  color: #fff;
}
.c-btn__mail::after {
  font-family: "Font Awesome 6 Free";
  content: "\f0e0";
  font-weight: 900;
  display: inline-block;
  margin-left: 1em;
}
.c-btn__tel::after {
  font-family: "Font Awesome 6 Free";
  content: "\f095";
  font-weight: 900;
  display: inline-block;
  margin-left: 1em;
}

.c-wave {
  width: 100%;
  display: block;
}
.c-wave__01 svg {
  width: 100%;
  display: block;
  background: #81d8d0;
  fill: #fff;
}
.c-wave__02 svg {
  width: 100%;
  display: block;
  fill: #59a0bf;
  background: #C0C7C5;
}
.c-wave__03 svg {
  width: 100%;
  display: block;
  fill: #0b4f55;
  background: #81d8d0;
}
.c-wave__04 {
  background: #F5F5F5;
}
.c-wave__04 svg {
  position: relative;
  top: -2px;
  width: 100%;
  display: block;
  fill: #59a0bf;
  background: #F5F5F5;
}

.fade-zoom {
  overflow: hidden;
}
.fade-zoom img {
  opacity: 0;
  transform: scale(1.2);
  transition: none;
}

.fade-in {
  opacity: 0;
}

.fade-up {
  opacity: 0;
  transform: translateY(30px);
}

.c-hamburger {
  cursor: pointer;
  opacity: 0;
  transition: 0.5s;
  pointer-events: none;
  filter: drop-shadow(0 0 10px rgba(12, 57, 61, 0.1));
  background: #fff;
  width: min(16vw, 96px);
  height: min(16vw, 96px);
  top: min(3.2vw, 19.2px);
  right: min(3.2vw, 19.2px);
  border-radius: min(8vw, 48px);
  position: fixed;
  z-index: 1001;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  padding: min(5.3333333333vw, 32px) min(4.2666666667vw, 25.6px);
  box-sizing: border-box;
}
@media (min-width: 601px) {
  .c-hamburger {
    width: min(16vw, 66.4px);
    height: min(16vw, 66.4px);
    top: min(3.2vw, 13.28px);
    right: min(3.2vw, 13.28px);
    border-radius: min(8vw, 33.2px);
    padding: min(5.3333333333vw, 22.1333333333px) min(4.2666666667vw, 17.7066666667px);
    top: min(3.2vw, 19.2px);
    right: auto;
    left: calc(50% + min(29.8666666667vw, 123.9466666667px));
  }
}
@media (min-width: 1400px) {
  .c-hamburger {
    left: calc(55vw + min(80vw, 332px));
  }
}
.c-hamburger span {
  display: block;
  background: #81d8d0;
  width: 100%;
  height: min(0.5333333333vw, 3.2px);
  position: relative;
  transition: 0.5s;
}
@media (min-width: 601px) {
  .c-hamburger span {
    height: min(0.5333333333vw, 2.2133333333px);
  }
}
.c-hamburger.is-active span {
  position: absolute;
  width: 50%;
  height: min(0.8vw, 4.8px);
}
.c-hamburger.is-active span:nth-child(1) {
  transform: translateY(min(2.6666666667vw, 16px)) rotate(225deg);
}
.c-hamburger.is-active span:nth-child(2) {
  transform: translateY(min(2.6666666667vw, 16px)) rotate(-225deg);
  opacity: 0;
}
.c-hamburger.is-active span:nth-child(3) {
  transform: translateY(min(2.6666666667vw, 16px)) rotate(-225deg);
}
@media (min-width: 601px) {
  .c-hamburger.is-active span {
    height: min(0.8vw, 3.32px);
  }
  .c-hamburger.is-active span:nth-child(1) {
    transform: translateY(min(2.6666666667vw, 11.0666666667px)) rotate(225deg);
  }
  .c-hamburger.is-active span:nth-child(2) {
    transform: translateY(min(2.6666666667vw, 11.0666666667px)) rotate(-225deg);
    opacity: 0;
  }
  .c-hamburger.is-active span:nth-child(3) {
    transform: translateY(min(2.6666666667vw, 11.0666666667px)) rotate(-225deg);
  }
}

.c-hamburger.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.c-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: 100dvh;
  background: linear-gradient(#81d8d0 0%, #6ab4ad 51.72%, #59a0bf 100%);
  z-index: 1000;
  transition: 0.5s;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 601px) {
  .c-modal {
    transform: translateX(-50%);
    left: 50%;
  }
}
@media (min-width: 1400px) {
  .c-modal {
    transform: none;
    left: 55vw;
    font-size: min(3.7333333333vw, 15.4933333333px);
  }
}

#modalMenu {
  visibility: hidden;
  opacity: 0;
}
#modalMenu.is-open {
  visibility: visible;
  opacity: 1;
}

.c-menu {
  font-family: "Yu Mincho", "游明朝体", "YuMincho", serif;
  text-align: center;
}
.c-menu ul {
  display: grid;
  gap: 1.7em;
  list-style: none;
}
.c-menu a {
  color: #fff;
  display: block;
  text-decoration: none;
}
.c-menu a span {
  display: block;
}
.c-menu__link--en {
  font-size: min(6.4vw, 38.4px);
}
@media (min-width: 601px) {
  .c-menu__link--en {
    font-size: min(6.4vw, 26.56px);
  }
}
.c-menu__link--ja {
  font-size: min(3.7333333333vw, 22.4px);
}
@media (min-width: 601px) {
  .c-menu__link--ja {
    font-size: min(3.7333333333vw, 15.4933333333px);
  }
}

.c-pc-logo {
  position: fixed;
  width: 100%;
  transform: translateY(-50%);
  top: 50%;
  left: 10%;
  display: none;
}
@media (min-width: 1400px) {
  .c-pc-logo {
    display: block;
  }
}
.c-pc-logo h2 {
  font-size: max(24px, 1.4vw);
  margin-bottom: 1em;
}
.c-pc-logo img {
  display: block;
  width: max(524px, 31vw);
}

.c-fv {
  position: relative;
  padding: min(44vw, 264px) 0 0;
  z-index: 0;
}
@media (min-width: 601px) {
  .c-fv {
    padding: min(44vw, 182.6px) 0 0;
  }
}
.c-fv__logo {
  position: absolute;
  top: min(5.8666666667vw, 35.2px);
  left: 0;
  width: 100%;
  z-index: 1;
}
@media (min-width: 601px) {
  .c-fv__logo {
    top: min(5.8666666667vw, 24.3466666667px);
  }
}
.c-fv__image {
  border-radius: min(6.4vw, 38.4px) 0 0 min(6.4vw, 38.4px);
  overflow: hidden;
  margin: 0 0 0 min(11.7333333333vw, 70.4px);
}
@media (min-width: 601px) {
  .c-fv__image {
    border-radius: min(6.4vw, 26.56px) 0 0 min(6.4vw, 26.56px);
    margin: 0 0 0 min(11.7333333333vw, 48.6933333333px);
  }
}

.c-top-hr {
  width: min(0.2666666667vw, 1.6px);
  height: min(17.0666666667vw, 102.4px);
  background: #707070;
  margin: min(10.6666666667vw, 64px) auto;
}
@media (min-width: 601px) {
  .c-top-hr {
    width: min(0.2666666667vw, 1.1066666667px);
    height: min(17.0666666667vw, 70.8266666667px);
    margin: min(10.6666666667vw, 44.2666666667px) auto;
  }
}

.c-about {
  padding-bottom: min(9.0666666667vw, 54.4px);
}
@media (min-width: 601px) {
  .c-about {
    padding-bottom: min(9.0666666667vw, 37.6266666667px);
  }
}
.c-about__name {
  display: flex;
  align-items: center;
  gap: min(5.3333333333vw, 32px);
  margin-bottom: min(4.8vw, 28.8px);
}
@media (min-width: 601px) {
  .c-about__name {
    gap: min(5.3333333333vw, 22.1333333333px);
    margin-bottom: min(4.8vw, 19.92px);
  }
}
.c-about__image {
  margin: min(8.5333333333vw, 51.2px) 0 min(10.6666666667vw, 64px);
  background: linear-gradient(rgba(129, 216, 208, 0.2) 0%, rgba(106, 180, 173, 0.2) 51.72%, rgba(89, 160, 191, 0.2) 100%);
}
@media (min-width: 601px) {
  .c-about__image {
    margin: min(8.5333333333vw, 35.4133333333px) 0 min(10.6666666667vw, 44.2666666667px);
  }
}

.c-mvv {
  color: #fff;
  background: linear-gradient(#81d8d0 0%, #6ab4ad 51.72%, #59a0bf 100%);
}
.c-mvv__deco {
  width: min(53.3333333333vw, 320px);
  position: absolute;
  right: 4%;
  top: 1%;
}
@media (min-width: 601px) {
  .c-mvv__deco {
    width: min(53.3333333333vw, 221.3333333333px);
  }
}
.c-mvv__items {
  display: grid;
  grid-template-columns: 1fr;
  gap: min(21.3333333333vw, 128px);
}
@media (min-width: 601px) {
  .c-mvv__items {
    gap: min(21.3333333333vw, 88.5333333333px);
  }
}
.c-mvv__title {
  margin-bottom: min(5.3333333333vw, 32px);
}
@media (min-width: 601px) {
  .c-mvv__title {
    margin-bottom: min(5.3333333333vw, 22.1333333333px);
  }
}
.c-mvv__title h3 {
  margin: min(6.4vw, 38.4px) 0 0;
}
@media (min-width: 601px) {
  .c-mvv__title h3 {
    margin: min(6.4vw, 26.56px) 0 0;
  }
}
.c-mvv__values {
  display: grid;
  grid-template-columns: 1fr;
  gap: min(6.9333333333vw, 41.6px);
}
@media (min-width: 601px) {
  .c-mvv__values {
    gap: min(6.9333333333vw, 28.7733333333px);
  }
}
.c-mvv__values h3 {
  margin: 0 0 min(2.1333333333vw, 12.8px);
}
@media (min-width: 601px) {
  .c-mvv__values h3 {
    margin: 0 0 min(2.1333333333vw, 8.8533333333px);
  }
}

.c-history {
  color: #fff;
  position: relative;
  background: #000;
  z-index: 0;
}
.c-history__title {
  position: absolute;
  width: 100%;
  top: min(16vw, 96px);
}
@media (min-width: 601px) {
  .c-history__title {
    top: min(16vw, 66.4px);
  }
}
.c-history__item {
  position: relative;
}
.c-history__item__01 {
  padding-top: min(122.6666666667vw, 736px);
}
@media (min-width: 601px) {
  .c-history__item__01 {
    padding-top: min(122.6666666667vw, 509.0666666667px);
  }
}
.c-history__item__02 {
  padding-top: min(101.3333333333vw, 608px);
}
@media (min-width: 601px) {
  .c-history__item__02 {
    padding-top: min(101.3333333333vw, 420.5333333333px);
  }
}
.c-history__item__03 {
  padding-top: min(122.6666666667vw, 736px);
  padding-bottom: min(26.6666666667vw, 160px);
}
@media (min-width: 601px) {
  .c-history__item__03 {
    padding-top: min(122.6666666667vw, 509.0666666667px);
    padding-bottom: min(26.6666666667vw, 110.6666666667px);
  }
}
.c-history__item::after {
  content: "";
  position: absolute;
  width: 100%;
  height: min(80vw, 480px);
  display: block;
  bottom: 0;
  background: linear-gradient(#000 0%, #0b4f55 100%);
  z-index: -1;
}
@media (min-width: 601px) {
  .c-history__item::after {
    height: min(80vw, 332px);
  }
}
.c-history__item__03::after {
  height: min(133.3333333333vw, 800px);
  background: linear-gradient(#000 0%, #0b4f55 80%);
}
@media (min-width: 601px) {
  .c-history__item__03::after {
    height: min(133.3333333333vw, 553.3333333333px);
  }
}
.c-history__item h3 {
  margin-bottom: min(10.6666666667vw, 64px);
}
@media (min-width: 601px) {
  .c-history__item h3 {
    margin-bottom: min(10.6666666667vw, 44.2666666667px);
  }
}
.c-history__item p:not(:last-child) {
  margin-bottom: 1.4em;
}
.c-history__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
}
.c-history__bg::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
}
.c-history__bg__01::before {
  background: linear-gradient(#C0C7C5 0%, rgba(11, 79, 85, 0.3) 20%, rgba(11, 79, 85, 0.4) 50%, #000 100%);
}
.c-history__bg__02 {
  top: min(10.6666666667vw, 64px);
}
.c-history__bg__02::before {
  background: linear-gradient(#0b4f55 0%, rgba(0, 0, 0, 0.2) 40.66%, rgba(0, 0, 0, 0.2) 70.66%, #000 100%);
  height: calc(100% + min(13.3333333333vw, 80px));
  top: calc(min(13.3333333333vw, 80px) * -1);
}
@media (min-width: 601px) {
  .c-history__bg__02 {
    top: min(10.6666666667vw, 44.2666666667px);
  }
  .c-history__bg__02::before {
    height: calc(100% + min(13.3333333333vw, 55.3333333333px));
    top: calc(min(13.3333333333vw, 55.3333333333px) * -1);
  }
}
.c-history__bg__03::before {
  background: linear-gradient(#0b4f55 0%, rgba(0, 0, 0, 0.2) 22.66%, #000 100%);
}

.c-activities {
  color: #fff;
  background: linear-gradient(#81d8d0 0%, #6ab4ad 51.72%, #59a0bf 100%);
  padding: min(16vw, 96px) 0;
}
@media (min-width: 601px) {
  .c-activities {
    padding: min(16vw, 66.4px) 0;
  }
}
.c-activities__sectitle {
  margin-bottom: min(21.3333333333vw, 128px);
}
@media (min-width: 601px) {
  .c-activities__sectitle {
    margin-bottom: min(21.3333333333vw, 88.5333333333px);
  }
}
.c-activities__sectitle h2 {
  line-height: 1.2em;
}
.c-activities__sectitle span {
  margin-top: 0.5em;
  display: block;
}
.c-activities__items {
  display: grid;
  grid-template-columns: 1fr;
  gap: min(21.3333333333vw, 128px);
}
@media (min-width: 601px) {
  .c-activities__items {
    gap: min(21.3333333333vw, 88.5333333333px);
  }
}
.c-activities__title__no {
  font-size: min(16vw, 96px);
  font-family: "Yu Mincho", "游明朝体", "YuMincho", serif;
  line-height: 1em;
}
@media (min-width: 601px) {
  .c-activities__title__no {
    font-size: min(16vw, 66.4px);
  }
}
.c-activities__thum {
  margin: min(6.4vw, 38.4px) 0;
}
@media (min-width: 601px) {
  .c-activities__thum {
    margin: min(6.4vw, 26.56px) 0;
  }
}
.c-activities__btns {
  margin-top: min(9.6vw, 57.6px);
  display: grid;
  grid-template-columns: 1fr;
  gap: min(5.3333333333vw, 32px);
}
@media (min-width: 601px) {
  .c-activities__btns {
    margin-top: min(9.6vw, 39.84px);
    gap: min(5.3333333333vw, 22.1333333333px);
  }
}

.c-contact {
  padding: min(21.3333333333vw, 128px) 0;
  background: #F5F5F5;
  color: #022F40;
}
@media (min-width: 601px) {
  .c-contact {
    padding: min(21.3333333333vw, 88.5333333333px) 0;
  }
}
.c-contact h2 {
  text-align: center;
}
.c-contact__btns {
  margin-top: min(10.6666666667vw, 64px);
  display: grid;
  grid-template-columns: 1fr;
  gap: min(10.6666666667vw, 64px);
}
@media (min-width: 601px) {
  .c-contact__btns {
    margin-top: min(10.6666666667vw, 44.2666666667px);
    gap: min(10.6666666667vw, 44.2666666667px);
  }
}
.c-contact__btn__mail__notice {
  display: block;
  margin-top: 0.5em;
}

footer {
  padding: min(2.1333333333vw, 12.8px) 0;
  text-align: center;
}
@media (min-width: 601px) {
  footer {
    padding: min(2.1333333333vw, 8.8533333333px) 0;
  }
}

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