@import url("https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:wght@500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
html {
  margin-top: 0 !important;
}

a {
  text-decoration: none;
}

a:hover {
  opacity: 0.6;
}

a.disabled {
  pointer-events: none;
}

.postid-634 .sp_footer .inner .co1 a,
.postid-634 .sp_footer .inner .co3 a {
  pointer-events: none;
}

main {
  overflow: hidden;
  position: relative;
}
main .bg_video {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: -2;
}
main .bg_video video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-overflow-scrolling: touch;
  overflow: hidden;
  opacity: 0.7;
}
main .bg_video:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background: rgba(255, 255, 255, 0);
}

body div,
body span,
body applet,
body object,
body iframe,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body p,
body blockquote,
body pre,
body a,
body abbr,
body acronym,
body address,
body big,
body cite,
body code,
body del,
body dfn,
body em,
body img,
body ins,
body kbd,
body q,
body s,
body samp,
body small,
body strike,
body strong,
body sub,
body sup,
body tt,
body var,
body b,
body u,
body i,
body center,
body dl,
body dt,
body dd,
body ol,
body ul,
body li,
body fieldset,
body form,
body label,
body legend,
body table,
body caption,
body tbody,
body tfoot,
body thead,
body tr,
body th,
body td,
body article,
body aside,
body canvas,
body details,
body embed,
body figure,
body figcaption,
body footer,
body header,
body hgroup,
body menu,
body nav,
body output,
body ruby,
body section,
body summary,
body time,
body mark,
body audio,
body video,
body input,
body textarea,
body select {
  font-family: "Noto Sans Japanese", "Noto Sans", "Murecho", sans-serif;
  color: #11010a;
  box-sizing: border-box;
  font-size: 1rem;
  line-height: 1.5;
}
@media screen and (max-width: 959px) {
  body input,
  body textarea,
  body select .uk-checkbox,
  body .uk-input,
  body .uk-radio,
  body .uk-select,
  body .uk-textarea {
    font-size: 1.1428571429rem;
  }
}

.tac {
  text-align: center;
}

.flex_center {
  display: flex;
  justify-content: center;
  align-items: center;
}

.font_small {
  font-size: 0.9rem !important;
}

.sp-none {
  display: block;
}
@media screen and (max-width: 689px) {
  .sp-none {
    display: none;
  }
}

.tb-none {
  display: none;
}
@media screen and (max-width: 1279px) {
  .tb-none {
    display: block;
  }
}
@media screen and (min-width: 1200px) {
  .tb-none {
    display: block;
  }
}

.pc-none {
  display: none;
}
@media screen and (max-width: 689px) {
  .pc-none {
    display: block;
  }
}

.text_align_right {
  text-align: right;
}

.bgb {
  background: #FFF6E9;
}

.bgb2 {
  background: #ffecdc;
}

.bgg {
  background: #e8e9e9;
}

.section_inner {
  max-width: 1920px;
  margin: auto;
  padding: 0rem;
}
@media screen and (max-width: 959px) {
  .section_inner {
    padding: 0 !important;
  }
}

.section_inner_1280 {
  max-width: 1280px;
  margin: auto;
  padding: 0 1rem;
}
@media screen and (max-width: 959px) {
  .section_inner_1280 {
    padding: 0 !important;
  }
}

.section_inner_1200 {
  max-width: 1200px;
  margin: auto;
  padding: 0;
}
@media screen and (max-width: 959px) {
  .section_inner_1200 {
    padding: 0 !important;
  }
}

.section_inner_1000 {
  max-width: 1000px;
  margin: auto;
}
@media screen and (max-width: 959px) {
  .section_inner_1000 {
    padding: 0 1rem !important;
  }
}

.section_inner_960 {
  max-width: 960px;
  margin: auto;
}
@media screen and (max-width: 959px) {
  .section_inner_960 {
    padding: 0 1rem !important;
  }
}

.section_inner_800 {
  max-width: 800px;
  margin: auto;
}
@media screen and (max-width: 959px) {
  .section_inner_800 {
    padding: 0 1rem !important;
  }
}

.section_inner_768 {
  max-width: 768px;
  margin: auto;
}
.section_inner_640 {
  max-width: 640px;
  margin: auto;
}
@media screen and (max-width: 959px) {
  .section_inner_640 {
    padding: 0 1rem !important;
  }
}

.section_inner_520 {
  max-width: 520px;
  margin: auto;
}
@media screen and (max-width: 959px) {
  .section_inner_520 {
    padding: 0 1rem !important;
  }
}

.section_inner_480 {
  max-width: 480px;
  margin: auto;
}
@media screen and (max-width: 959px) {
  .section_inner_480 {
    padding: 0 1rem !important;
  }
}

.section_inner_360 {
  max-width: 360px;
  margin: auto;
}
@media screen and (max-width: 959px) {
  .section_inner_360 {
    padding: 0 1rem !important;
  }
}

.height_0_5rem {
  height: 0.5rem;
  width: 100%;
}

.height_1rem {
  height: 1rem;
  width: 100%;
}

.height_2rem {
  height: 2rem;
  width: 100%;
}

.height_3rem {
  height: 3rem;
  width: 100%;
}

.height_4rem {
  height: 4rem;
  width: 100%;
}

.height_5rem {
  height: 5rem;
  width: 100%;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  position: relative;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 60px;
  display: flex;
  padding: 40px 2rem 0;
  justify-content: space-between;
}
@media screen and (max-width: 689px) {
  header {
    padding: 20px 20px 0;
  }
}
header .header_logo {
  position: relative;
  width: 275px;
  height: 50px;
  z-index: 1001;
}
@media screen and (max-width: 580px) {
  header .header_logo {
    width: 160px;
    height: 29.15px;
    margin-top: 5px;
  }
}
header .header_logo a {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}
header .header_logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
header .logo_box {
  position: relative;
  top: -19px;
  left: 0;
  width: 159px;
  height: 57px;
  z-index: 1001;
}
@media screen and (max-width: 689px) {
  header .logo_box {
    top: -3px;
    width: 107px;
    height: 38px;
    left: 0;
  }
}
header .logo_box a {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}
header .logo_box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
header .sp_menu_logo_b.active {
  display: none;
}
header .sp_menu_logo_w {
  display: none;
}
header .sp_menu_logo_w.active {
  display: block;
}
header .hamburger {
  position: relative;
  z-index: 1001;
  width: 65px;
  height: 22px;
  display: none;
  background: linear-gradient(90deg, #82DDC1 0%, #00A5CE 100%);
  border-radius: 15px;
  margin-top: 4px;
  border: 1px solid #FFFFFF;
}
@media screen and (max-width: 689px) {
  header .hamburger {
    display: block;
  }
}
header .hamburger .line {
  width: 15px;
  height: 1px;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
header .hamburger .line:first-child {
  top: 9px;
}
header .hamburger .line:last-child {
  top: 11px;
}
header .hamburger.active {
  background: none;
}
header .hamburger.active .line:last-child {
  transition-duration: 0.5s;
  top: 10px;
  transform: rotate(35deg);
}
header .hamburger.active .line:first-child {
  top: 10px;
  transition-duration: 0.5s;
  transform: rotate(-35deg);
}
header .header_nav {
  align-content: center;
}
@media screen and (max-width: 689px) {
  header .header_nav {
    display: none;
  }
}
header .header_nav ul {
  display: flex;
  justify-content: space-around;
  width: 489px;
  height: 33px;
  overflow: hidden;
  position: relative;
}
header .header_nav ul::before {
  content: "";
  position: absolute;
  top: -1px;
  right: 13px;
  /* Linear */
  background: linear-gradient(90deg, #82DDC1 0%, #00A5CE 100%);
  border-radius: 50px;
  width: 104px;
  height: 30px;
  align-content: center;
}
header .header_nav ul li {
  list-style: none;
  transition-duration: 0.5s;
}
header .header_nav ul li:hover {
  transform: translateY(-27px);
}
header .header_nav ul li a {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 500;
  font-size: 14px;
  line-height: 28px;
  align-content: center;
  color: #000000;
}
header .header_nav ul li:last-child {
  position: relative;
  align-content: center;
  padding-left: 10px;
}
header .header_nav ul li:last-child a {
  color: #fff;
}
header .sp_menu {
  display: none;
  width: 100%;
  opacity: 0;
}
header .sp_menu.active {
  opacity: 1;
  display: block;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  padding: 5rem 2rem 2rem;
  animation: sp_menu 0.4s linear;
  background: linear-gradient(90deg, #82DDC1 0%, #00A5CE 100%);
}
header .sp_menu.active .sp_menu_inner {
  height: 100%;
}
header .sp_menu.active .sp_menu_inner .sp_menu_items {
  display: flex;
  align-items: baseline;
  flex-wrap: nowrap;
  flex-direction: column;
  background: #fff;
  border-radius: 20px;
  width: 100%;
  height: 100%;
  max-height: 800px;
  padding: 60px 2rem;
  position: relative;
}
header .sp_menu.active .sp_menu_inner .sp_menu_items .contect_btn_sp {
  position: relative;
  width: 100%;
  max-width: 268px;
  min-height: 60px;
  margin: 2rem auto;
  aspect-ratio: 268/60;
  padding-left: 2rem;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 500;
  font-size: 18px;
  line-height: 21px;
  color: #FFFFFF;
  align-content: center;
  background: linear-gradient(90deg, #82DDC1 0%, #00A5CE 100%);
  border-radius: 50px;
}
header .sp_menu.active .sp_menu_inner .sp_menu_items .contect_btn_sp a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
}
header .sp_menu.active .sp_menu_inner .sp_menu_items .contect_btn_sp .contact_icon {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 23px;
  z-index: 1;
  width: 13px;
  height: auto;
}
header .sp_menu.active .sp_menu_inner .sp_menu_items .contect_btn_sp .contact_icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
header .sp_menu.active .sp_menu_inner .sp_menu_items .sp_menu_lists, header .sp_menu.active .sp_menu_inner .sp_menu_items .sp_menu_lists2 {
  max-width: 268px;
  margin: 0;
}
header .sp_menu.active .sp_menu_inner .sp_menu_items .sp_menu_lists li, header .sp_menu.active .sp_menu_inner .sp_menu_items .sp_menu_lists2 li {
  list-style: none;
  margin-bottom: 40px;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 500;
  font-size: 16px;
  line-height: 19px;
  color: #000000;
}
header .sp_menu.active .sp_menu_inner .sp_menu_items .sp_menu_lists li a, header .sp_menu.active .sp_menu_inner .sp_menu_items .sp_menu_lists2 li a {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 500;
  font-size: 16px;
  line-height: 19px;
  color: #000000;
}
header .sp_menu.active .sp_menu_inner .sp_menu_items .sp_menu_lists2 {
  margin-top: 40px;
}
header .sp_menu.active .sp_menu_inner .sp_menu_items .sp_menu_lists2 li {
  list-style: none;
  margin: 1rem 0;
}
header .sp_menu.active .sp_menu_inner .sp_menu_items .sp_menu_lists2 li a {
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  text-decoration-line: underline;
  color: #000000;
}
header .sp_menu.active .sp_menu_inner .sp_menu_items .sp_other_menu {
  position: relative;
  width: 100%;
  max-width: 690px;
}
header .sp_menu.active .sp_menu_inner .sp_menu_items .sp_other_menu::before {
  content: "";
  width: 100%;
  height: 1px;
  background: #000;
  position: absolute;
  top: -30px;
  left: 0;
  z-index: 1;
}
header .sp_menu.active .sp_menu_inner .sp_menu_items .copyright_sp {
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 500;
  font-size: 12px;
  line-height: 17px;
  text-align: center;
  color: #313131;
  white-space: nowrap;
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  margin: auto;
}

@keyframes sp_menu {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
.kv {
  padding-top: 200px;
  height: auto;
  overflow: hidden;
  background: #fff;
  position: relative;
  z-index: 1;
}
.kv .kv_title {
  max-width: 636px;
  width: 100%;
  height: auto;
}
.kv .kv_title p {
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 500;
  font-size: 32px;
  line-height: 46px;
  color: #000000;
}
@media screen and (max-width: 689px) {
  .kv .kv_title p {
    font-size: 18px;
    line-height: 26px;
  }
}
.kv .kv_title h1 {
  width: 100%;
  max-width: 636px;
  height: 225px;
}
.kv .kv_title h1 img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.kv #kv_slide .swiper-wrapper {
  transition-timing-function: linear;
}
.kv #kv_slide .swiper-wrapper .swiper-slide {
  width: 100%;
  height: auto;
  aspect-ratio: 686/397;
  max-width: 540px;
  max-height: 400px;
  aspect-ratio: 27/20;
  margin-left: 25px;
  position: relative;
}
@media screen and (max-width: 689px) {
  .kv #kv_slide .swiper-wrapper .swiper-slide {
    aspect-ratio: 266/197;
  }
}
.kv #kv_slide .swiper-wrapper .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 40px 40px 0px 40px;
}
.kv #kv_slide .swiper-wrapper .fv_r4 img {
  -o-object-fit: contain;
     object-fit: contain;
}
.kv #kv_slide .swiper-wrapper .fv_r5 img {
  width: 113%;
  height: 102%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}
.kv #kv_slide .swiper-wrapper .swiper-slide {
  position: relative;
  overflow: hidden;
}
.kv #kv_slide .swiper-wrapper .swiper-slide::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  border-radius: 40px 40px 0px 40px;
}
.kv #kv_slide .swiper-wrapper .swiper-slide.unvisible::before {
  display: none;
}
.kv .main_title {
  position: relative;
  display: inline-block;
}
.kv .main_title h2 {
  font-size: 30px;
  color: #fff;
  animation: anim2 2s linear;
}
.kv .main_title .title_cover {
  position: absolute;
  top: 0;
  left: 0;
  animation: anim 3s linear;
  height: 100%;
  background: beige;
}
@keyframes anim {
  0% {
    width: 10%;
  }
  60% {
    width: 100%;
  }
  100% {
    width: 0%;
  }
}
@keyframes anim2 {
  0% {
    opacity: 0;
  }
  99% {
    opacity: 0;
  }
  100% {
    width: 1;
  }
}
.kv .kv_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  position: relative;
  max-width: 1178px;
  height: 64px;
  margin-left: auto;
  overflow: hidden;
}
.kv .kv_list .btn_box {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: nowrap;
  background: #ffffff;
}
.kv .kv_list .btn_box .prev, .kv .kv_list .btn_box .next {
  background-color: #ffffff;
  color: #000;
  width: 64px;
  border: none;
  border-left: #E0E0E0 solid 1px;
}
@media screen and (max-width: 689px) {
  .kv .kv_list .btn_box .prev, .kv .kv_list .btn_box .next {
    width: 32px;
  }
}
.kv .kv_list .btn_box .prev img, .kv .kv_list .btn_box .next img {
  width: 16px;
  height: 16px;
}
.kv .kv_list ul {
  display: flex;
  transition: transform 0.5s ease-in-out;
  width: calc(100% - 124px);
}
@media screen and (max-width: 689px) {
  .kv .kv_list ul {
    width: calc(100% - 64px);
  }
}
.kv .kv_list ul li {
  list-style: none;
  min-width: 100%;
  align-content: center;
}
@media screen and (max-width: 689px) {
  .kv .kv_list ul li {
    padding-left: 1rem;
  }
}
@media screen and (max-width: 689px) {
  .kv .kv_list ul li {
    padding-left: 0rem;
  }
}
.kv .kv_list ul li a {
  display: flex;
  flex-wrap: nowrap;
}
.kv .kv_list ul li a .date, .kv .kv_list ul li a .label, .kv .kv_list ul li a .title {
  align-content: center;
  padding-right: 4rem;
}
@media screen and (max-width: 689px) {
  .kv .kv_list ul li a .date, .kv .kv_list ul li a .label, .kv .kv_list ul li a .title {
    padding-right: 1rem;
  }
}
.kv .kv_list ul li a .label {
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 500;
  font-size: 14px;
  line-height: 20px;
  color: #3CC6AB;
  white-space: nowrap;
}
.kv .kv_list ul li a .title {
  white-space: nowrap;
  overflow: hidden;
}
.kv .kv_list .slide.active .title {
  white-space: nowrap;
  overflow: hidden;
}
@media screen and (max-width: 689px) {
  .kv .kv_list .slide.active .title p {
    animation: marquee 10s linear infinite;
  }
}

@keyframes marquee {
  0% {
    transform: translateX(10%);
  }
  100% {
    transform: translateX(-100%);
  }
}
.target1 p {
  font-family: "Barlow Condensed";
  font-style: normal;
  font-weight: 700;
  font-size: 144.828px;
  line-height: 174px;
  color: rgba(224, 224, 224, 0.5);
  white-space: nowrap;
  margin-left: 40%;
}
@media screen and (max-width: 689px) {
  .target1 p {
    font-size: 64px;
    line-height: 77px;
  }
}

.about {
  padding-top: 120px;
  padding-bottom: 80px;
  overflow: hidden;
  position: relative;
  background: none;
}
@media screen and (max-width: 689px) {
  .about {
    padding-top: 80px;
    padding-bottom: 0px;
  }
}
.about .about_scroll_icon {
  width: 66px;
  height: 66px;
  margin: auto;
  margin-top: 30px;
  margin-bottom: 30px;
}
.about .about_scroll_icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  mix-blend-mode: multiply;
}
.about .about_cp {
  max-width: 600px;
  width: 80%;
  margin: auto;
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 900;
  font-size: 40px;
  letter-spacing: -2px;
  position: relative;
  text-align: center;
  background: linear-gradient(90.11deg, #00D9AD -0.11%, #00C1CF 105.37%);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
          background-clip: text;
  background-blend-mode: multiply;
}
.about .about_cp img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 689px) {
  .about .about_cp {
    font-size: 26px;
    letter-spacing: 0px;
  }
}
.about .about_cp span {
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 900;
  font-size: 48px;
  display: inline-block;
  background: linear-gradient(90.11deg, #00D9AD -0.11%, #00C1CF 105.37%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  background-blend-mode: multiply;
}
@media screen and (max-width: 689px) {
  .about .about_cp span {
    font-size: 32px;
  }
}
.about .about_contents {
  position: relative;
  width: 100%;
  max-width: 1200px;
  padding-top: 30px;
  margin: auto;
}
.about .about_contents .about_img {
  background: #777777;
  aspect-ratio: 1200/569;
  border-radius: 20px;
}
@media screen and (max-width: 689px) {
  .about .about_contents .about_img {
    aspect-ratio: 390/200;
    border-radius: 0;
  }
}
.about .about_contents .about_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 20px;
}
.about .about_contents .about_box {
  display: flex;
  flex-wrap: wrap;
  max-width: 1200px;
  padding-top: 0px;
}
@media screen and (max-width: 689px) {
  .about .about_contents .about_box {
    padding-top: 0px;
  }
}
.about .about_contents .about_box .co {
  width: 50%;
}
@media screen and (max-width: 689px) {
  .about .about_contents .about_box .co {
    width: 100%;
    padding: 0 1rem;
  }
}
.about .about_contents .about_box .co1 h2 {
  max-width: 311px;
  height: auto;
}
@media screen and (max-width: 689px) {
  .about .about_contents .about_box .co1 h2 {
    width: 211px;
  }
}
.about .about_contents .about_box .co1 h2 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.about .about_contents .about_box .co1 p {
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 700;
  font-size: 24px;
  line-height: 64px;
  color: #3B8185;
}
@media screen and (max-width: 689px) {
  .about .about_contents .about_box .co1 p {
    font-size: 20px;
    line-height: 36px;
    max-width: 340px;
  }
}
@media screen and (max-width: 689px) {
  .about .about_contents .about_box .co2 {
    margin-top: 40px;
    margin-bottom: 80px;
  }
}
.about .about_contents .about_box .co2 p {
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 500;
  font-size: 16px;
  line-height: 36px;
  margin-bottom: 1rem;
  color: #313131;
}
@media screen and (max-width: 689px) {
  .about .about_contents .about_box .co2 p {
    margin-bottom: 20px;
    line-height: 32px;
  }
}
.about .about_contents .about_box .co2 p b {
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 700;
  font-size: 16px;
  line-height: 26px;
  color: #313131;
}

.projects {
  padding-top: 150px;
  padding-bottom: 4rem;
  position: relative;
  border-radius: 40px 40px 0 0;
  background: rgba(255, 255, 255, 0.7);
}
@media screen and (max-width: 689px) {
  .projects {
    padding-top: 120px;
  }
}
.projects .projects_title {
  max-width: 576px;
  margin: 0 auto 32px;
}
.projects .projects_title h2 {
  width: 100%;
  max-width: 476px;
  margin: auto;
  text-align: center;
}
@media screen and (max-width: 689px) {
  .projects .projects_title h2 {
    width: 331px;
  }
}
.projects .projects_title h2 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.projects .projects_title > p {
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 700;
  font-size: 24px;
  line-height: 64px;
  text-align: center;
  color: #3B8185;
}
@media screen and (max-width: 689px) {
  .projects .projects_title > p {
    font-size: 20px;
    line-height: 26px;
    text-align: center;
    margin-top: 1.5rem;
  }
}
.projects > p {
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  color: #313131;
  max-width: 805px;
  text-align: center;
  margin: 22px auto 0;
  margin: auto;
}
@media screen and (max-width: 959px) {
  .projects > p {
    margin-top: 1rem;
    width: 76%;
  }
}
@media screen and (max-width: 689px) {
  .projects > p {
    margin-top: 3rem;
    font-weight: 500;
    font-size: 16px;
    line-height: 32px;
    padding: 0;
    width: 100%;
    max-width: 340px;
  }
}
.projects .box-02 {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.projects .projects_contents {
  padding-bottom: 8rem;
  max-width: 1870px;
  margin-left: auto;
  padding-left: 120px;
}
@media screen and (max-width: 959px) {
  .projects .projects_contents {
    padding-bottom: 4rem;
    padding-left: 0px;
  }
}
@media screen and (max-width: 689px) {
  .projects .projects_contents {
    padding-top: 4rem;
  }
}
.projects .projects_contents ul .projects_item {
  list-style: none;
  display: flex;
  padding-top: 7rem;
}
@media screen and (max-width: 959px) {
  .projects .projects_contents ul .projects_item {
    flex-wrap: wrap-reverse;
  }
}
@media screen and (max-width: 689px) {
  .projects .projects_contents ul .projects_item {
    padding-top: 4rem;
  }
}
@media screen and (max-width: 959px) {
  .projects .projects_contents ul .projects_item .co1, .projects .projects_contents ul .projects_item .co2 {
    width: 100% !important;
  }
}
.projects .projects_contents ul .projects_item .co1 {
  width: 44.628571%;
  min-width: 360px;
  border-left: solid 10px #3CC6AB;
  padding-left: 1.5rem;
  padding-top: 1.5rem;
  padding-right: 1.5rem;
}
@media screen and (max-width: 959px) {
  .projects .projects_contents ul .projects_item .co1 {
    padding-left: 1.5rem;
    width: 40%;
    border-left: none !important;
  }
}
@media screen and (max-width: 689px) {
  .projects .projects_contents ul .projects_item .co1 {
    padding-top: 0rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.projects .projects_contents ul .projects_item .co1 .co_title h3 {
  color: #3CC6AB;
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 700;
  font-size: 32px;
  line-height: 46px;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 959px) {
  .projects .projects_contents ul .projects_item .co1 .co_title h3 {
    font-weight: 900;
    font-size: 22px;
    line-height: 32px;
  }
}
@media screen and (max-width: 959px) {
  .projects .projects_contents ul .projects_item .co1 .co_title h3 {
    text-align: center;
    margin: 1rem 0;
  }
}
.projects .projects_contents ul .projects_item .co1 p {
  max-width: 510px;
  height: auto;
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 500;
  font-size: 14px;
  line-height: 26px;
  color: #313131;
}
@media screen and (max-width: 959px) {
  .projects .projects_contents ul .projects_item .co1 p {
    max-width: 600px;
    margin: auto;
  }
}
@media screen and (max-width: 689px) {
  .projects .projects_contents ul .projects_item .co1 p {
    max-width: 340px;
  }
}
.projects .projects_contents ul .projects_item .co1 p .block {
  display: inline-block;
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 500;
  font-size: 14px;
  line-height: 26px;
}
.projects .projects_contents ul .projects_item .co1 p .span {
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 500;
  font-size: 11px;
  line-height: 26px;
  color: #313131;
}
@media screen and (max-width: 959px) {
  .projects .projects_contents ul .projects_item .co1 .co_btnbox {
    text-align: end;
  }
}
.projects .projects_contents ul .projects_item .co1 .co_btn {
  position: relative;
  padding-left: 4rem;
  margin-top: 2rem;
  height: 50px;
  align-content: center;
  display: inline-block;
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 900;
  font-size: 20px;
  line-height: 29px;
  color: #3CC6AB;
  cursor: pointer;
}
.projects .projects_contents ul .projects_item .co1 .co_btn .co_btn_icon {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  background: #3CC6AB;
}
.projects .projects_contents ul .projects_item .co1 .co_btn .co_btn_icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  background: #FFFFFF;
  z-index: 0;
  transition: all 0.3s ease-out;
}
.projects .projects_contents ul .projects_item .co1 .co_btn .co_btn_icon img {
  position: relative;
  z-index: 1;
  width: 23px;
  height: 23px;
}
.projects .projects_contents ul .projects_item .co1 .co_btn .co_btn_icon .nomal_arrow {
  display: block;
}
.projects .projects_contents ul .projects_item .co1 .co_btn .co_btn_icon .hover_arrow {
  display: none;
}
.projects .projects_contents ul .projects_item .co1 .co_btn .co_btn_icon.active::before {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: #3CC6AB solid 2px;
}
.projects .projects_contents ul .projects_item .co1 .co_btn .co_btn_icon.active .nomal_arrow {
  display: none;
}
.projects .projects_contents ul .projects_item .co1 .co_btn .co_btn_icon.active .hover_arrow {
  display: block;
}
.projects .projects_contents ul .projects_item .co1 .co_btn a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.projects .projects_contents ul .projects_item .co2 {
  width: 55.371429%;
  height: -moz-fit-content;
  height: fit-content;
  margin: auto;
}
@media screen and (max-width: 959px) {
  .projects .projects_contents ul .projects_item .co2 {
    height: 400px;
    width: 60%;
  }
}
@media screen and (max-width: 689px) {
  .projects .projects_contents ul .projects_item .co2 {
    height: -moz-fit-content;
    height: fit-content;
  }
}
.projects .projects_contents ul .projects_item .co2 img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 959px) {
  .projects .projects_contents ul .projects_item .co2 img {
    width: auto;
    -o-object-fit: contain;
       object-fit: contain;
  }
}
@media screen and (max-width: 689px) {
  .projects .projects_contents ul .projects_item .co2 img {
    width: 100%;
    height: 100%;
    padding-left: 1rem;
  }
}
.projects .projects_contents ul .projects_item1 {
  margin-top: 0;
}
.projects .projects_contents ul .projects_item3 .co2 {
  position: relative;
}
.projects .projects_contents ul .projects_item1, .projects .projects_contents ul .projects_item2, .projects .projects_contents ul .projects_item3 {
  opacity: 0;
  transform: translateY(50px);
  transition-duration: 1s;
}
.projects .projects_contents ul .projects_item1.active, .projects .projects_contents ul .projects_item2.active, .projects .projects_contents ul .projects_item3.active {
  opacity: 1;
  transform: translateY(0px);
  transition-duration: 1s;
}
.projects .projects_contents ul .projects_item1.active .img_box, .projects .projects_contents ul .projects_item2.active .img_box, .projects .projects_contents ul .projects_item3.active .img_box {
  position: relative;
}
.projects .projects_contents ul .projects_item .co1 {
  border-left: solid 10px #3CC6AB;
}
.projects .projects_contents ul .projects_item .co1 .co_title h3 {
  color: #3CC6AB;
}
.projects .projects_contents ul .projects_item .co1 .co_btn {
  color: #3CC6AB;
}
.projects .projects_contents ul .projects_item .co1 .co_btn .co_btn_icon {
  background: #3CC6AB;
}
.projects .projects_contents ul .projects_item:first-child .co1 {
  border-left: solid 10px #66D3DB;
}
.projects .projects_contents ul .projects_item:first-child .co1 .co_title h3 {
  color: #66D3DB;
}
.projects .projects_contents ul .projects_item:first-child .co1 .co_btn {
  color: #66D3DB;
}
.projects .projects_contents ul .projects_item:first-child .co1 .co_btn_icon {
  background: #66D3DB;
}
.projects .projects_contents ul .projects_item:first-child .co1 .co_btn_icon.active::before {
  border: #66D3DB solid 2px;
}
.projects .projects_contents ul .projects_item:last-child .co1 {
  border-left: solid 10px #3B8185;
}
.projects .projects_contents ul .projects_item:last-child .co1 .co_title h3 {
  color: #3B8185;
}
.projects .projects_contents ul .projects_item:last-child .co1 .co_btn {
  color: #3B8185;
}
.projects .projects_contents ul .projects_item:last-child .co1 .co_btn .co_btn_icon {
  background: #3B8185;
}
.projects .projects_contents ul .projects_item:last-child .co1 .co_btn_icon.active::before {
  border: #3B8185 solid 2px;
}

footer {
  background: #313131;
  padding: 2rem 0;
  position: relative;
  z-index: 1;
}
footer .footer_logo {
  width: 187.22px;
  height: 46.2px;
  margin: auto;
}
footer .footer_logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
footer ul {
  display: flex;
  justify-content: space-evenly;
  position: relative;
  max-width: 433px;
  width: 100%;
  margin: auto;
  padding: 16px 0 12px;
}
footer ul::before {
  content: "";
  width: 90%;
  height: 1px;
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
}
footer ul li, footer ul a {
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 500;
  font-size: 14px;
  line-height: 20px;
  text-decoration-line: underline;
  color: #FFFFFF;
}
footer ul li {
  list-style: none;
  text-decoration-line: none;
}
footer .other_lists {
  display: block;
  max-width: 350px;
  margin: auto;
  padding: 12px 0;
}
footer .other_lists p, footer .other_lists a {
  padding: 0;
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 500;
  font-size: 14px;
  line-height: 20px;
  color: #FFFFFF;
}
footer .other_lists a {
  text-decoration-line: underline;
}
footer .copyright {
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 500;
  font-size: 12px;
  line-height: 17px;
  text-align: center;
  color: #FFFFFF;
}

.fadeIn {
  opacity: 1;
  width: 100%;
  transform: translateX(0);
}

.fadeIn.is-active {
  opacity: 0;
  width: 0%;
  transform: translateX(100%);
  transition: all 2s cubic-bezier(0.22, 1, 0.36, 1);
}

.fade_up1,
.fade_up1_2,
.fade_up2,
.fade_up2_2,
.fade_up3,
.fade_up3_1,
.fade_up3_2,
.fade_up3_3,
.fade_up3_4,
.fade_up3_5,
.fade_up3_6 {
  transform: translateY(50px);
  opacity: 0;
}

.img_box {
  position: relative;
  overflow: hidden;
}

@keyframes imgCover {
  0% {
    transform: translateX(0);
    opacity: 1;
    width: 100%;
  }
  100% {
    transform: translateX(100%);
    opacity: 0;
    width: 100%;
  }
}
.section {
  width: 100%;
  height: 500px;
  padding: 0 0 20px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: auto;
  margin-top: 5rem;
}
@media screen and (max-width: 959px) {
  .section {
    height: auto;
  }
}
@media screen and (max-width: 689px) {
  .section {
    margin-top: 3rem;
    height: auto;
  }
}
.section .container {
  width: 98%;
  margin: 0 auto;
}
@media screen and (max-width: 689px) {
  .section .container {
    width: 100%;
  }
}
@media screen and (max-width: 689px) {
  .section .container {
    margin: 0;
  }
}
.section .container .side-scroll-list-wrapper {
  position: relative;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 959px) {
  .section .container .side-scroll-list-wrapper {
    height: auto;
    padding: 0;
  }
}
@media screen and (max-width: 689px) {
  .section .container .side-scroll-list-wrapper {
    height: auto;
  }
}
.section .container .side-scroll-list-wrapper .side-scroll-list {
  max-width: 1200px;
  display: flex;
  gap: 0 30px;
  margin: auto;
}
@media screen and (max-width: 959px) {
  .section .container .side-scroll-list-wrapper .side-scroll-list {
    padding: 0 1rem;
    gap: 0 15px;
  }
}
@media screen and (max-width: 689px) {
  .section .container .side-scroll-list-wrapper .side-scroll-list {
    overflow-x: scroll;
    gap: 0 8px;
  }
}

.side-scroll-item {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 352px;
  width: 33.3333%;
  height: auto;
  aspect-ratio: 440/568;
  border-radius: 24px;
  position: relative;
}
.side-scroll-item:hover {
  filter: brightness(1.05);
}
@media screen and (max-width: 689px) {
  .side-scroll-item {
    min-width: 69vw !important;
    height: auto;
    aspect-ratio: 352/454;
  }
}
.side-scroll-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 24px;
}
@media screen and (max-width: 689px) {
  .side-scroll-item img {
    border-radius: 18.55px;
  }
}
.side-scroll-item .icon_box {
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 40px;
  height: 40px;
  z-index: 1;
}
@media screen and (max-width: 959px) {
  .side-scroll-item .icon_box {
    width: 28px;
    height: 28px;
  }
}
@media screen and (max-width: 689px) {
  .side-scroll-item .icon_box {
    width: 30.92px;
    height: 30.92px;
  }
}
.side-scroll-item .icon_box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.side-scroll-item a {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
}

.side-scroll-item + .side-scroll-item {
  margin-left: 20px;
}

.icon_box.active {
  transform: scale(1.2);
  transition: all 0.3s ease;
}/*# sourceMappingURL=style.css.map */