@charset "UTF-8";
/* Scss Document */
.flex_30 {
  width: 30%;
}

.flex_31 {
  width: 31%;
}

.flex_32 {
  width: 32%;
}

.flex_33 {
  width: 33%;
}

.flex_34 {
  width: 34%;
}

.flex_35 {
  width: 35%;
}

.flex_36 {
  width: 36%;
}

.flex_37 {
  width: 37%;
}

.flex_38 {
  width: 38%;
}

.flex_39 {
  width: 39%;
}

.flex_40 {
  width: 40%;
}

.flex_41 {
  width: 41%;
}

.flex_42 {
  width: 42%;
}

.flex_43 {
  width: 43%;
}

.flex_44 {
  width: 44%;
}

.flex_45 {
  width: 45%;
}

.flex_46 {
  width: 46%;
}

.flex_47 {
  width: 47%;
}

.flex_48 {
  width: 48%;
}

.flex_49 {
  width: 49%;
}

.flex_50 {
  width: 50%;
}

.flex_51 {
  width: 51%;
}

.flex_52 {
  width: 52%;
}

.flex_53 {
  width: 53%;
}

.flex_54 {
  width: 54%;
}

.flex_55 {
  width: 55%;
}

.flex_56 {
  width: 56%;
}

.flex_57 {
  width: 57%;
}

.flex_58 {
  width: 58%;
}

.flex_59 {
  width: 59%;
}

.flex_60 {
  width: 60%;
}

.flex_61 {
  width: 61%;
}

.flex_62 {
  width: 62%;
}

.flex_63 {
  width: 63%;
}

.flex_64 {
  width: 64%;
}

.flex_65 {
  width: 65%;
}

.flex_66 {
  width: 66%;
}

.flex_67 {
  width: 67%;
}

.flex_68 {
  width: 68%;
}

.flex_69 {
  width: 69%;
}

.flex_70 {
  width: 70%;
}

:root {
  --min-size: 100px;
  --clamp-vw: 18vw;
}

@media (max-width: 1024px) {
  :root {
    --min-size: 60px;
    --clamp-vw: 10vw;
  }
}
.padding100 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 100px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 100px);
}

.padding110 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 110px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 110px);
}

.padding120 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 120px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 120px);
}

.padding130 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 130px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 130px);
}

.padding140 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 140px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 140px);
}

.padding150 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 150px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 150px);
}

.padding160 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 160px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 160px);
}

.padding170 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 170px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 170px);
}

.padding180 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 180px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 180px);
}

.padding190 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 190px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 190px);
}

.padding200 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 200px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 200px);
}

.padding210 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 210px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 210px);
}

.padding220 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 220px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 220px);
}

.padding230 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 230px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 230px);
}

.padding240 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 240px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 240px);
}

.padding250 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 250px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 250px);
}

.padding260 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 260px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 260px);
}

.padding270 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 270px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 270px);
}

.padding280 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 280px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 280px);
}

.padding290 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 290px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 290px);
}

.padding300 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 300px);
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 300px);
}

.margin100 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 100px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 100px);
}

.margin110 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 110px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 110px);
}

.margin120 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 120px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 120px);
}

.margin130 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 130px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 130px);
}

.margin140 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 140px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 140px);
}

.margin150 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 150px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 150px);
}

.margin160 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 160px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 160px);
}

.margin170 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 170px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 170px);
}

.margin180 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 180px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 180px);
}

.margin190 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 190px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 190px);
}

.margin200 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 200px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 200px);
}

.margin210 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 210px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 210px);
}

.margin220 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 220px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 220px);
}

.margin230 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 230px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 230px);
}

.margin240 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 240px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 240px);
}

.margin250 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 250px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 250px);
}

.margin260 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 260px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 260px);
}

.margin270 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 270px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 270px);
}

.margin280 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 280px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 280px);
}

.margin290 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 290px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 290px);
}

.margin300 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 300px);
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 300px);
}

.pt-100 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 100px);
}

.pt-110 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 110px);
}

.pt-120 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 120px);
}

.pt-130 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 130px);
}

.pt-140 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 140px);
}

.pt-150 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 150px);
}

.pt-160 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 160px);
}

.pt-170 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 170px);
}

.pt-180 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 180px);
}

.pt-190 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 190px);
}

.pt-200 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 200px);
}

.pt-210 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 210px);
}

.pt-220 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 220px);
}

.pt-230 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 230px);
}

.pt-240 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 240px);
}

.pt-250 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 250px);
}

.pt-260 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 260px);
}

.pt-270 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 270px);
}

.pt-280 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 280px);
}

.pt-290 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 290px);
}

.pt-300 {
  padding-top: clamp(var(--min-size), var(--clamp-vw), 300px);
}

.pb-100 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 100px);
}

.pb-110 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 110px);
}

.pb-120 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 120px);
}

.pb-130 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 130px);
}

.pb-140 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 140px);
}

.pb-150 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 150px);
}

.pb-160 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 160px);
}

.pb-170 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 170px);
}

.pb-180 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 180px);
}

.pb-190 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 190px);
}

.pb-200 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 200px);
}

.pb-210 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 210px);
}

.pb-220 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 220px);
}

.pb-230 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 230px);
}

.pb-240 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 240px);
}

.pb-250 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 250px);
}

.pb-260 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 260px);
}

.pb-270 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 270px);
}

.pb-280 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 280px);
}

.pb-290 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 290px);
}

.pb-300 {
  padding-bottom: clamp(var(--min-size), var(--clamp-vw), 300px);
}

.mt-100 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 100px);
}

.mt-110 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 110px);
}

.mt-120 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 120px);
}

.mt-130 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 130px);
}

.mt-140 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 140px);
}

.mt-150 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 150px);
}

.mt-160 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 160px);
}

.mt-170 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 170px);
}

.mt-180 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 180px);
}

.mt-190 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 190px);
}

.mt-200 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 200px);
}

.mt-210 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 210px);
}

.mt-220 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 220px);
}

.mt-230 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 230px);
}

.mt-240 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 240px);
}

.mt-250 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 250px);
}

.mt-260 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 260px);
}

.mt-270 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 270px);
}

.mt-280 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 280px);
}

.mt-290 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 290px);
}

.mt-300 {
  margin-top: clamp(var(--min-size), var(--clamp-vw), 300px);
}

.mb-100 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 100px);
}

.mb-110 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 110px);
}

.mb-120 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 120px);
}

.mb-130 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 130px);
}

.mb-140 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 140px);
}

.mb-150 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 150px);
}

.mb-160 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 160px);
}

.mb-170 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 170px);
}

.mb-180 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 180px);
}

.mb-190 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 190px);
}

.mb-200 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 200px);
}

.mb-210 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 210px);
}

.mb-220 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 220px);
}

.mb-230 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 230px);
}

.mb-240 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 240px);
}

.mb-250 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 250px);
}

.mb-260 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 260px);
}

.mb-270 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 270px);
}

.mb-280 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 280px);
}

.mb-290 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 290px);
}

.mb-300 {
  margin-bottom: clamp(var(--min-size), var(--clamp-vw), 300px);
}

a,
a:hover,
a:focus,
a:active,
a:visited,
a:focus-visible {
  text-decoration: none;
}

/************************/
/********************************************************

	index

********************************************************/
.title_80 {
  font-size: clamp(40px, 4.17vw, 80px);
  font-weight: 700;
  letter-spacing: 2.4px;
}

.title_52 {
  font-size: clamp(32px, 4.5vw, 52px);
  font-weight: 700;
  letter-spacing: 1.56px;
}

.title_46 {
  font-size: clamp(28px, 4vw, 46px);
  font-weight: 700;
  letter-spacing: 0;
}

.eng_20 {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0;
}

.num_102 {
  font-size: 102px;
  font-weight: 700;
  letter-spacing: 5.1px;
  text-box: trim-both cap alphabetic;
}

.bg_666667 {
  background-color: #666667;
}

.bg_3c9f91 {
  background-color: #3c9f91;
}

.bg_64aaa0 {
  background-color: #64aaa0;
}

.bg_eee {
  background-color: #eee;
}

.bg_fff {
  background-color: #fff;
}

.color_fff {
  color: #fff;
}

.color_333 {
  color: #333;
}

.color_666667 {
  color: #666667;
}

.color_64aaa0 {
  color: #64aaa0;
}

.color_3c9f91 {
  color: #3c9f91;
}

/************************/
.header {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(7.5px);
  box-shadow: 0 4px 35px rgba(0, 0, 0, 0.05);
  left: 50px;
  position: fixed;
  right: 50px;
  top: 20px;
  z-index: 900;
}

.h_flex {
  align-items: center;
  display: flex;
  justify-content: space-between;
  min-height: 100px;
  padding-left: 50px;
}

#logo {
  flex-shrink: 0;
}

#logo a {
  display: block;
}

.h_right {
  align-items: center;
  display: flex;
  gap: 40px;
}

.h_nav ul {
  display: flex;
  gap: 40px;
}

.h_nav a {
  color: #333;
  font-weight: 500;
  letter-spacing: 0;
}

.h_banner {
  display: flex;
}

.h_banner a {
  align-items: center;
  color: #fff;
  display: flex;
  font-size: 18px;
  font-weight: 500;
  gap: 10px;
  height: 100px;
  justify-content: center;
  letter-spacing: 0;
  padding-left: 30px;
  padding-right: 30px;
  transition: 0.3s ease;
}
.h_banner a:hover {
  opacity: 0.7;
}

.h_banner a span {
  align-items: center;
  display: flex;
  justify-content: center;
  width: 30px;
}

.h_document {
  width: 200px;
}

/************************/
.fv_wrap {
  height: 1080px;
  overflow: hidden;
  position: relative;
}

.fv_bg {
  height: 100%;
}

.fv_bg img {
  height: 100%;
  object-fit: cover;
  width: 100%;
  object-position: 65% 0;
}

.fv_logo {
  left: 50px;
  opacity: 0.8;
  position: absolute;
  top: 0;
}

.fv_title_wrap {
  left: 200px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}

.fv_title_box {
  display: flex;
  flex-direction: column;
}

.fv_title {
  font-size: clamp(45px, 7.5vw, 80px);
  font-weight: 600;
}

.fv_title_sub {
  margin-top: 16px;
}

.fv_eng_wrap {
  align-items: center;
  display: flex;
  gap: 10px;
  margin-top: 20px;
}

.fv_eng_line {
  background-color: #fff;
  flex-grow: 1;
  height: 1px;
  max-width: 120px;
}

.fv_scroll {
  align-items: center;
  bottom: 50px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  left: 50px;
  position: absolute;
  z-index: 2;
}

.fv_scroll p {
  font-weight: 500;
  letter-spacing: 0;
  transform: rotate(180deg);
  writing-mode: vertical-rl;
}

.fv_scroll_line {
  background-color: #fff;
  height: 100px;
  width: 1px;
}

/************************/
.top01_bg {
  background: url("../images/top1_bg.png") 50% 0/cover repeat;
}

.top01_logo_wrap {
  bottom: 0;
  left: 2.6%;
  pointer-events: none;
  position: absolute;
  top: 30px;
  width: 50%;
  max-width: max-content;
  z-index: 1;
}

.top01_logo {
  opacity: 0.9;
  position: sticky;
  top: 53px;
}

.top01_logo img {
  height: auto;
  max-width: 100%;
}

.top01_head {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 5px;
  position: relative;
  text-align: center;
}

.top01_text_lead {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 2.6em;
  text-align: center;
}

.news_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.top01_news_item a {
  color: inherit;
}
.top01_news_item a:hover .top01_news_thumb img {
  transform: scale(1.05);
}

.scale_img {
  overflow: hidden;
}
.scale_img img {
  transition: 0.3s ease;
}
.scale_img a:hover img {
  transform: scale(1.05);
}

.top01_news_thumb {
  aspect-ratio: 433/260;
  background-color: #fff;
  border: 1px solid #d1d1d1;
  overflow: hidden;
}

.top01_news_thumb img {
  height: 100%;
  object-fit: cover;
  width: 100%;
  transition: 0.3s ease;
}

.top01_news_meta {
  align-items: center;
  display: flex;
  gap: 8px;
  margin-top: 20px;
}

.top01_news_date {
  font-weight: 500;
  letter-spacing: 0;
}

.top01_news_tag {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  padding: 3px 8px;
}

.top01_news_title {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0;
  margin-top: 10px;
}

/************************/
.more_btn {
  display: flex;
  justify-content: center;
  margin-top: 50px;
}

.more_btn a {
  align-items: center;
  color: inherit;
  display: flex;
  font-family: "Outfit", sans-serif;
  font-size: 18px;
  font-weight: 500;
  gap: 40px;
  letter-spacing: 0;
}

.more_btn a::after {
  background-color: #64aaa0;
  border: 1px solid #64aaa0;
  background-image: url(../images/arrow_w.png);
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%;
  content: "";
  display: block;
  height: 50px;
  transition: background-color 0.3s ease, background-image 0.3s ease, transform 0.3s ease;
  width: 50px;
}

.more_btn a:hover::after {
  background-color: #fff;
  background-image: url(../images/arrow_green.png);
  transform: translateX(8px);
}

.more_btn_white_circle a::after {
  background-color: #fff;
  background-image: url(../images/arrow_green.png);
  border: 0;
}

.more_btn_white_circle a:hover::after {
  background-color: #64aaa0;
  background-image: url(../images/arrow_w.png);
  transform: translateX(8px);
}

/************************/
.top02_inner {
  align-items: center;
  display: flex;
  gap: 120px;
  padding-left: 50px;
  padding-right: 200px;
}

.top02_logo {
  flex-shrink: 0;
}

.top02_logo img {
  height: auto;
  max-width: 100%;
}

.top02_body {
  max-width: 815px;
}

.top02_head {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.top02_text {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.top02_text_item {
  line-height: 1.8em;
  font-weight: 500;
  letter-spacing: 0;
}

.top02_more {
  justify-content: flex-end;
}

/************************/
.top03_mv img {
  height: 100%;
  min-height: 300px;
  object-fit: cover;
  width: 100%;
}

.top03_head {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.top03_title {
  font-size: clamp(32px, 4.5vw, 52px);
  font-weight: 700;
  letter-spacing: 0;
}

.top03_text_item {
  font-weight: 500;
  letter-spacing: 0;
  line-height: 2.6em;
}

.top03_card_list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.top03_card {
  width: calc((100% - 60px) / 3);
}

.top03_card_head {
  align-items: center;
  display: flex;
  gap: 10px;
}

.top03_card_title {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0;
}

.top03_card_line {
  background-color: #fff;
  flex-grow: 1;
  height: 1px;
  max-width: 100px;
}

.top03_card_image {
  aspect-ratio: 485/280;
  background-color: #eee;
  margin-top: 10px;
  overflow: hidden;
}

.top03_card_image img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.top03_inner .more_btn {
  justify-content: flex-end;
  margin-top: 40px;
}

/************************/
.top04_head {
  display: flex;
  justify-content: center;
  text-align: center;
}

.top04_copy {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 30px;
  text-align: center;
}

.top04_copy_pair {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.top04_copy_item {
  font-weight: 500;
  letter-spacing: 0;
  line-height: 2em;
}

.top04_more {
  margin-top: 30px;
}

.top04_metric_list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.top04_metric {
  align-items: center;
  background: url("../images/top_data_bg.png") 50% 0/cover no-repeat;
  display: flex;
  gap: 60px;
  justify-content: center;
  overflow: hidden;
  padding: 50px 20px;
  position: relative;
  width: calc((100% - 30px) / 2);
}

.top04_metric::before {
  background-image: url(../images/top1_bg.png);
  background-position: center;
  background-size: cover;
  content: "";
  inset: 0;
  opacity: 0.05;
  position: absolute;
}

.top04_metric_icon {
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}

.top04_metric_body {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  position: relative;
  z-index: 2;
}

.top04_metric_label {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0;
  text-align: center;
}

.top04_metric_value {
  align-items: flex-end;
  display: flex;
  margin-top: 20px;
}

.top04_metric_unit {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0;
}

.top04_metric_note {
  align-self: flex-end;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  margin-left: auto;
}

.top04_map {
  margin-top: 70px;
  position: relative;
}

.top04_map_pc {
  display: block;
}

.top04_map_sp {
  display: none;
}

.top04_map_inner {
  margin-left: -3.4%;
  position: relative;
  width: 106.8%;
}

.top04_map_base {
  width: 77.382%;
}

.top04_map_base img {
  height: auto;
  width: 100%;
}

.top04_map_legend {
  display: flex;
  flex-direction: column;
  gap: 8px;
  left: 1.9294%;
  position: absolute;
  top: 2.8525%;
  width: max-content;
  z-index: 2;
}

.top04_map_legend_item {
  align-items: center;
  display: flex;
  gap: 5px;
  white-space: nowrap;
}

.top04_map_legend_item_hq {
  min-height: 27px;
}

.top04_map_legend_item_group {
  min-height: 30px;
}

.top04_map_legend_mark_hq_wrap {
  height: 20px;
  position: relative;
  width: 30px;
}

.top04_map_legend_mark_hq {
  background-color: #64aaa0;
  border-radius: 50%;
  height: 20px;
  left: 5px;
  position: absolute;
  top: 0;
  width: 20px;
}

.top04_map_legend_line {
  border-top: 1px solid #666667;
  height: 0;
  width: 33px;
}

.top04_map_legend_mark_group {
  height: 30px;
  overflow: hidden;
  position: relative;
  width: 30px;
}

.top04_map_legend_mark_group_inner {
  inset: 0 17.05%;
  position: absolute;
}

.top04_map_legend_mark_group_inner img {
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
}

.top04_map_legend_text {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0;
}

.top04_map_site {
  position: absolute;
  z-index: 2;
}

.top04_map_site_text {
  font-weight: 500;
  letter-spacing: 0;
  position: absolute;
  white-space: nowrap;
}

.top04_map_site_line_vertical {
  background-image: repeating-linear-gradient(to bottom, #666667 0, #666667 2px, transparent 2px, transparent 5px);
  position: absolute;
  z-index: 2;
}

.top04_map_site_line_horizontal {
  background-image: repeating-linear-gradient(to right, #666667 0, #666667 2px, transparent 2px, transparent 5px);
  position: absolute;
  z-index: 2;
}

.top04_map_site_pin {
  aspect-ratio: 1/1;
  overflow: hidden;
  position: absolute;
  z-index: 2;
}

.top04_map_site_pin_inner {
  inset: 0 17.42% 0 16.67%;
  position: absolute;
}

.top04_map_site_pin_inner img {
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
}

.top04_map_site_sapporo {
  height: 10.7443%;
  left: 51.7468%;
  top: 7.9869%;
  width: 8.9599%;
}

.top04_map_site_sapporo .top04_map_site_text {
  left: 0;
  top: 0;
}

.top04_map_site_sapporo .top04_map_site_line_vertical {
  height: 40.708%;
  left: 6.9215%;
  top: 37.1681%;
  width: 1.5381%;
}

.top04_map_site_sapporo .top04_map_site_line_horizontal {
  height: 1.7699%;
  left: 6.9215%;
  top: 76.9912%;
  width: 80.751%;
}

.top04_map_site_sapporo .top04_map_site_pin {
  left: 76.9283%;
  top: 73.4513%;
  width: 23.0717%;
}

.top04_map_site_tohoku {
  height: 4.564%;
  left: 57.5369%;
  top: 46.4004%;
  width: 14.1947%;
}

.top04_map_site_tohoku .top04_map_site_text {
  left: 37.8641%;
  top: 0;
}

.top04_map_site_tohoku .top04_map_site_line_horizontal {
  height: 4.1667%;
  left: 7.2673%;
  top: 27.0833%;
  width: 29.1262%;
}

.top04_map_site_tohoku .top04_map_site_pin {
  left: 0;
  top: 16.6667%;
  width: 14.5631%;
}

.top04_map_site_saitama {
  height: 3.3279%;
  left: 51.3353%;
  top: 61.7087%;
  width: 17.7069%;
}

.top04_map_site_saitama .top04_map_site_text {
  left: 50.1889%;
  top: 0;
}

.top04_map_site_saitama .top04_map_site_line_horizontal {
  height: 5.7143%;
  left: 9.7173%;
  top: 34.2857%;
  width: 38.9149%;
}

.top04_map_site_saitama .top04_map_site_pin {
  left: 0;
  top: 14.2857%;
  width: 11.6745%;
}

.top04_map_site_sagamihara {
  height: 3.5181%;
  left: 51.4731%;
  top: 65.4169%;
  width: 18.6716%;
}

.top04_map_site_sagamihara .top04_map_site_text {
  left: 46.8577%;
  top: 0;
}

.top04_map_site_sagamihara .top04_map_site_line_horizontal {
  height: 5.4054%;
  left: 8.4772%;
  top: 35.1351%;
  width: 36.9044%;
}

.top04_map_site_sagamihara .top04_map_site_pin {
  left: 0;
  top: 18.9189%;
  width: 11.0713%;
}

.top04_map_site_nagoya {
  height: 10.6493%;
  left: 42.1708%;
  top: 69.0301%;
  width: 3.3075%;
}

.top04_map_site_nagoya .top04_map_site_text {
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  top: 57.1429%;
  width: max-content;
}

.top04_map_site_nagoya .top04_map_site_line_vertical {
  height: 41.0714%;
  left: 49.939%;
  top: 17.8571%;
  width: 4.1667%;
}

.top04_map_site_nagoya .top04_map_site_pin {
  left: 18.75%;
  top: 0;
  width: 62.5%;
}

.top04_map_site_kansai {
  height: 13.5968%;
  left: 28.8698%;
  top: 60.3775%;
  width: 9.3044%;
}

.top04_map_site_kansai .top04_map_site_text {
  left: 0;
  top: 0;
}

.top04_map_site_kansai .top04_map_site_line_vertical {
  height: 46.1538%;
  left: 88.8696%;
  top: 33.5664%;
  width: 1.4812%;
}

.top04_map_site_kansai .top04_map_site_pin {
  left: 77.7826%;
  top: 79.021%;
  width: 22.2174%;
}

.top04_map_site_kyushu {
  height: 11.7903%;
  left: 16.8821%;
  top: 67.6038%;
  width: 5.855%;
}

.top04_map_site_kyushu .top04_map_site_text {
  left: 5.8499%;
  top: 0;
}

.top04_map_site_kyushu .top04_map_site_line_vertical {
  height: 53.2258%;
  left: 17.6187%;
  top: 22.5806%;
  width: 2.3538%;
}

.top04_map_site_kyushu .top04_map_site_pin {
  left: 0;
  top: 75.8065%;
  width: 35.3063%;
}

.top04_map_site_kagoshima {
  height: 9.5083%;
  left: 14.0569%;
  top: 87.6663%;
  width: 6.615%;
}

.top04_map_site_kagoshima .top04_map_site_text {
  left: 0;
  text-align: center;
  top: 76%;
  width: 100%;
}

.top04_map_site_kagoshima .top04_map_site_line_vertical {
  height: 56%;
  left: 49.6053%;
  top: 20%;
  width: 2.0833%;
}

.top04_map_site_kagoshima .top04_map_site_pin {
  left: 34.375%;
  top: 0;
  width: 31.25%;
}

.top04_map_site_okinawa {
  height: 11.7903%;
  left: 4.1344%;
  top: 76.8268%;
  width: 9.1625%;
}

.top04_map_site_okinawa .top04_map_site_text {
  left: 3.7382%;
  top: 0;
}

.top04_map_site_okinawa .top04_map_site_line_vertical {
  height: 53.2258%;
  left: 11.2586%;
  top: 22.5806%;
  width: 1.5041%;
}

.top04_map_site_okinawa .top04_map_site_pin {
  left: 0;
  top: 75.8065%;
  width: 22.5614%;
}

.top04_map_line_hokkaido {
  border-top: 1px solid #666667;
  left: 58.9317%;
  position: absolute;
  top: 23.1051%;
  width: 10.7494%;
}

.top04_map_line_tokyo_vertical {
  border-right: 1px solid #666667;
  height: 20.5379%;
  left: 45.1337%;
  position: absolute;
  top: 45.6397%;
  width: 0;
}

.top04_map_line_tokyo_horizontal {
  border-top: 1px solid #666667;
  left: 45.2027%;
  position: absolute;
  top: 66.1776%;
  width: 6.2016%;
}

.top04_map_line_shizuoka_vertical {
  display: none;
}

.top04_map_line_shizuoka_horizontal {
  border-top: 1px solid #666667;
  left: 47.3126%;
  position: absolute;
  top: 72.6432%;
  width: 14.7721%;
}

.top04_map_area {
  position: absolute;
  z-index: 2;
}

.top04_map_area_tokyo {
  left: 11.025%;
  top: 21.2034%;
  width: 36.2448%;
}

.top04_map_area_hokkaido {
  left: 69.6811%;
  top: 20.633%;
  width: 30.3189%;
}

.top04_map_area_shizuoka {
  left: 62.0847%;
  top: 71.312%;
  width: 30.3189%;
}

.top04_map_area_box {
  background-color: rgba(255, 255, 255, 0.96);
  border: 1px solid #666667;
  box-shadow: 4px 4px 35px rgba(0, 0, 0, 0.05);
  padding-bottom: 30px;
  padding-left: 30px;
  padding-right: 30px;
  padding-top: 30px;
}

.top04_map_area_name {
  font-size: clamp(20px, 1.6vw, 22px);
  font-weight: 500;
  letter-spacing: 0;
}

.top04_map_area_border {
  border-top: 1px solid #d1d1d1;
  margin-top: 2px;
}

.top04_map_logo_list {
  display: flex;
  flex-wrap: wrap;
  gap: 15px 20px;
  margin-top: 25px;
}

.top04_map_logo_cols1 .top04_map_logo_button {
  width: 100%;
}

.top04_map_logo_cols2 .top04_map_logo_button {
  width: calc((100% - 20px) / 2);
}

.top04_map_logo_cols3 .top04_map_logo_button {
  width: calc((100% - 40px) / 3);
}

.top04_map_logo_button {
  align-items: center;
  background-color: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  justify-content: center;
  padding: 0;
  transition: opacity 0.3s ease;
}

.top04_map_logo_button:hover {
  opacity: 0.7;
}

.top04_map_logo_image {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: 61px;
  width: 100%;
}

.top04_map_logo_image img {
  height: auto;
  max-width: 100%;
}

.top04_map_popup_layer {
  align-items: center;
  display: flex;
  inset: 0;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  transition: opacity 0.3s ease;
  visibility: hidden;
  z-index: 1200;
}

.top04_map.is_popup_active .top04_map_popup_layer {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

.top04_map_popup_backdrop {
  background-color: rgba(255, 255, 255, 0.75);
  border: none;
  inset: 0;
  position: absolute;
  width: 100%;
}

.top04_map_popup {
  background-color: rgba(255, 255, 255, 0.96);
  border: 2px solid #d1d1d1;
  box-shadow: 4px 4px 35px rgba(0, 0, 0, 0.05);
  padding-bottom: 70px;
  padding-left: 14%;
  padding-right: 14%;
  padding-top: 80px;
  position: relative;
  width: 47.9%;
  z-index: 2;
}

.top04_map_popup_close {
  background-color: transparent;
  border: none;
  height: 24px;
  padding: 0;
  position: absolute;
  right: 20px;
  top: 20px;
  width: 24px;
}

.top04_map_popup_close::before {
  background-color: #666667;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  top: 11px;
  transform: rotate(45deg);
  width: 24px;
}

.top04_map_popup_close::after {
  background-color: #666667;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  top: 11px;
  transform: rotate(-45deg);
  width: 24px;
}

.top04_map_popup_logo {
  display: flex;
  justify-content: center;
}

.top04_map_popup_logo_inner {
  width: 36%;
}

.top04_map_popup_logo_inner img {
  height: auto;
  width: 100%;
}

.top04_map_popup_body {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 50px;
}

.top04_map_popup_title {
  font-size: clamp(20px, 1.8vw, 24px);
  font-weight: 700;
  letter-spacing: 0;
}

.top04_map_popup_list {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.top04_map_popup_item {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0;
  padding-left: 8px;
  position: relative;
}

.top04_map_popup_item::before {
  background-color: #64aaa0;
  border-radius: 50%;
  content: "";
  height: 5px;
  left: 0;
  position: absolute;
  top: 11px;
  width: 5px;
}

.top04_map_sp_list {
  border-top: 1px solid #d1d1d1;
}

.top04_map_sp_item {
  border-bottom: 1px solid #d1d1d1;
}

.top04_map_sp_button {
  background-color: transparent;
  border: none;
  padding-bottom: 15px;
  padding-left: 0;
  padding-right: 20px;
  padding-top: 15px;
  position: relative;
  text-align: left;
  width: 100%;
}

.top04_map_sp_button::after {
  border-bottom: 1px solid #666667;
  border-right: 1px solid #666667;
  content: "";
  height: 8px;
  position: absolute;
  right: 4px;
  top: 20px;
  transform: rotate(45deg);
  width: 8px;
}

.top04_map_sp_item.is_open .top04_map_sp_button::after {
  top: 24px;
  transform: rotate(-135deg);
}

.top04_map_sp_button_text {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0;
}

.top04_map_sp_panel {
  display: none;
  overflow: hidden;
  padding-bottom: 20px;
}

/************************/
.top05_intro {
  position: relative;
}

.top05_bg {
  inset: 0;
  position: absolute;
}

.top05_bg img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.top05_inner {
  align-items: center;
  display: flex;
  flex-direction: column;
  position: relative;
}

.top05_title {
  align-items: center;
  display: flex;
  flex-direction: column;
  text-align: center;
}

.top05_text {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 15px;
  text-align: center;
}

.top05_text_item {
  font-weight: 500;
  letter-spacing: 0;
}

.top05_video {
  width: 100%;
}

.top05_movie {
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/9;
}

.top05_movie video {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  object-fit: cover;
}

.top05_movie iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
}

.top05_movie_arrow {
  background-color: rgba(100, 170, 160, 0.9);
  background-image: url(../images/arrow_large_gray.png);
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%;
  height: 140px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 140px;
}

/************************/
.top06_cta {
  position: relative;
  background: url("../images/top12_bg.png") 50%/cover no-repeat;
}

.top06_cta_bg {
  background-image: linear-gradient(rgba(56, 62, 61, 0.55), rgba(56, 62, 61, 0.55)), url(../images/top11_movie.png);
  background-position: center;
  background-size: cover;
  position: absolute;
}

.top06_cta_inner {
  display: flex;
  gap: 60px;
  position: relative;
}

.top06_cta_item {
  width: calc((100% - 60px) / 2);
}

.top06_cta_item a {
  align-items: center;
  backdrop-filter: blur(7.5px);
  color: inherit;
  display: flex;
  justify-content: space-between;
  padding: 100px 40px;
  transition: 0.5s ease;
}
.top06_cta_item a:hover {
  backdrop-filter: blur(0);
}
.top06_cta_item a:hover .top06_cta_arrow {
  transform: translateX(20px);
}

.top06_cta_entry a {
  background-color: rgba(102, 102, 103, 0.8);
}
.top06_cta_entry a:hover {
  background-color: rgb(102, 102, 103);
}

.top06_cta_contact a {
  background-color: rgba(60, 159, 145, 0.8);
}
.top06_cta_contact a:hover {
  background-color: rgb(60, 159, 145);
}

.top06_cta_text {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.top06_cta_en {
  font-size: 52px;
  font-weight: 700;
  letter-spacing: 0;
}

.top06_cta_jp {
  font-weight: 700;
  letter-spacing: 0;
}

.top06_cta_arrow {
  align-items: center;
  background-color: #fff;
  border-radius: 50%;
  display: flex;
  flex-shrink: 0;
  height: 70px;
  justify-content: center;
  width: 70px;
  transition: 0.5s ease;
}

/************************/
.footer {
  padding-bottom: 60px;
  padding-top: 160px;
}

.footer_main {
  border-bottom: 1px solid #d1d1d1;
  display: flex;
  justify-content: space-between;
  padding-bottom: 100px;
}

.footer_info {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.footer_logo img {
  height: auto;
  max-width: 100%;
}

.footer_address {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.footer_address p {
  font-weight: 500;
  letter-spacing: 0;
}

.footer_nav_wrap {
  align-items: flex-start;
  display: flex;
  gap: 60px;
}

.footer_nav_group {
  align-items: flex-start;
  display: flex;
  gap: 60px;
}

.footer_nav {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.footer_nav a {
  color: inherit;
  font-weight: 700;
  letter-spacing: 0;
}

.footer_recruit {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.footer_recruit_title a {
  color: inherit;
  font-weight: 700;
  letter-spacing: 0;
}

.footer_subnav {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer_subnav li {
  align-items: center;
  display: flex;
  gap: 6px;
}

.footer_subnav li::before {
  background-color: #fff;
  content: "";
  display: block;
  height: 1px;
  width: 20px;
}

.footer_subnav a {
  color: inherit;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0;
}

.footer_button_group {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.footer_button {
  border: 1px solid #fff;
}

.footer_button a {
  align-items: center;
  color: inherit;
  display: flex;
  font-size: 18px;
  font-weight: 500;
  gap: 10px;
  letter-spacing: 0;
  padding-bottom: 20px;
  padding-left: 40px;
  padding-right: 40px;
  padding-top: 20px;
  transition: 0.3s ease;
}
.footer_button a:hover {
  background-color: #575757;
}

.footer_button a span {
  align-items: center;
  display: flex;
  justify-content: center;
  width: 25px;
}

.footer_bottom {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}

.footer_copy {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
}

.footer_policy {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer_policy a {
  color: inherit;
  font-weight: 500;
  letter-spacing: 0;
}

/* PC用
------------------------------------------------------------*/
/********************************************************

	index

********************************************************/
@media only screen and (max-width: 1024px) {
  .header {
    backdrop-filter: none;
    left: 20px;
    right: 20px;
  }
  .h_flex {
    padding-left: 30px;
  }
  .h_right {
    gap: 20px;
  }
  .h_nav ul {
    gap: 20px;
  }
  .h_banner {
    bottom: 0;
    gap: 0;
    left: 0;
    opacity: 1;
    position: fixed;
    transition: opacity 300ms ease;
    width: 100%;
    z-index: 800;
  }
  .h_banner.is_footer_hidden {
    opacity: 0;
    pointer-events: none;
  }
  .h_document {
    width: calc((100% - 0px) / 2);
  }
  .h_contact {
    width: calc((100% - 0px) / 2);
  }
  .fv_wrap {
    height: 900px;
  }
  .fv_logo {
    width: 42%;
  }
  .fv_logo img {
    height: auto;
    width: 100%;
  }
  .fv_title_wrap {
    left: 80px;
  }
  .top01_logo_wrap {
    left: 1.8%;
  }
  .top01_logo {
    top: 45px;
  }
  .top02_inner {
    align-items: flex-start;
    flex-direction: column;
    gap: 60px;
    padding-left: 50px;
    padding-right: 50px;
  }
  .top02_body {
    max-width: none;
  }
  .top03_card {
    width: calc((100% - 30px) / 2);
  }
  .top04_metric {
    gap: 40px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .top04_map_inner {
    margin-left: 0;
    width: 100%;
  }
  .top04_map_area_box {
    padding-bottom: 20px;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 20px;
  }
  .top04_map_logo_list {
    gap: 12px;
    margin-top: 20px;
  }
  .top04_map_logo_cols2 .top04_map_logo_button {
    width: calc((100% - 12px) / 2);
  }
  .top04_map_logo_cols3 .top04_map_logo_button {
    width: calc((100% - 24px) / 3);
  }
  .top04_map_popup {
    padding-bottom: 50px;
    padding-left: 10%;
    padding-right: 10%;
    padding-top: 60px;
    width: 58%;
  }
  .top04_map_popup_logo_inner {
    width: 45%;
  }
  .top04_map_popup_body {
    margin-top: 35px;
  }
  .top04_map_popup_item {
    font-size: 17px;
  }
  .top06_cta {
    padding-left: 50px;
    padding-right: 50px;
  }
  .top06_cta_inner {
    flex-direction: column;
    gap: 20px;
  }
  .top06_cta_item {
    width: 100%;
  }
  .footer_main {
    flex-direction: column;
    gap: 60px;
  }
}
/********************************************************

	index

********************************************************/
@media only screen and (max-width: 768px) {
  .flex_30 {
    width: 100%;
  }
  .flex_31 {
    width: 100%;
  }
  .flex_32 {
    width: 100%;
  }
  .flex_33 {
    width: 100%;
  }
  .flex_34 {
    width: 100%;
  }
  .flex_35 {
    width: 100%;
  }
  .flex_36 {
    width: 100%;
  }
  .flex_37 {
    width: 100%;
  }
  .flex_38 {
    width: 100%;
  }
  .flex_39 {
    width: 100%;
  }
  .flex_40 {
    width: 100%;
  }
  .flex_41 {
    width: 100%;
  }
  .flex_42 {
    width: 100%;
  }
  .flex_43 {
    width: 100%;
  }
  .flex_44 {
    width: 100%;
  }
  .flex_45 {
    width: 100%;
  }
  .flex_46 {
    width: 100%;
  }
  .flex_47 {
    width: 100%;
  }
  .flex_48 {
    width: 100%;
  }
  .flex_49 {
    width: 100%;
  }
  .flex_50 {
    width: 100%;
  }
  .flex_51 {
    width: 100%;
  }
  .flex_52 {
    width: 100%;
  }
  .flex_53 {
    width: 100%;
  }
  .flex_54 {
    width: 100%;
  }
  .flex_55 {
    width: 100%;
  }
  .flex_56 {
    width: 100%;
  }
  .flex_57 {
    width: 100%;
  }
  .flex_58 {
    width: 100%;
  }
  .flex_59 {
    width: 100%;
  }
  .flex_60 {
    width: 100%;
  }
  .flex_61 {
    width: 100%;
  }
  .flex_62 {
    width: 100%;
  }
  .flex_63 {
    width: 100%;
  }
  .flex_64 {
    width: 100%;
  }
  .flex_65 {
    width: 100%;
  }
  .flex_66 {
    width: 100%;
  }
  .flex_67 {
    width: 100%;
  }
  .flex_68 {
    width: 100%;
  }
  .flex_69 {
    width: 100%;
  }
  .flex_70 {
    width: 100%;
  }
  .header {
    left: 15px;
    right: 15px;
    top: 15px;
  }
  .h_flex {
    align-items: stretch;
    flex-direction: column;
    min-height: auto;
    padding-left: 0;
  }
  #logo {
    padding-bottom: 20px;
    padding-left: 25px;
    padding-right: 25px;
    padding-top: 20px;
  }
  .h_right {
    align-items: stretch;
    flex-direction: column;
    gap: 0;
  }
  .h_nav {
    overflow-x: auto;
    padding-bottom: 20px;
    padding-left: 25px;
    padding-right: 25px;
  }
  .h_nav ul {
    gap: 20px;
  }
  .h_banner {
    width: 100%;
  }
  .h_document {
    width: calc((100% - 0px) / 2);
  }
  .h_document a {
    font-size: 17px;
    height: 72px;
  }
  .h_contact {
    width: calc((100% - 0px) / 2);
  }
  .h_contact a {
    font-size: 17px;
    height: 72px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .fv_wrap {
    height: 780px;
  }
  .fv_logo {
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 60%;
  }
  .fv_title_wrap {
    left: 25px;
    right: 25px;
  }
  .fv_title_sub {
    margin-top: 12px;
  }
  .fv_eng_wrap {
    gap: 8px;
    margin-top: 16px;
  }
  .fv_eng_line {
    max-width: 80px;
  }
  .fv_scroll {
    bottom: 20px;
    left: 15px;
  }
  .top01_logo_wrap {
    left: -3%;
  }
  .top01_logo {
    top: 40px;
  }
  .top01_text {
    margin-top: 40px;
  }
  .top01_text_lead {
    font-size: 17px;
    line-height: 2.2em;
  }
  .news_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .top01_news_list .top01_news_item:nth-child(n+3) {
    display: none;
  }
  .top01_news_title {
    font-size: 15px;
  }
  .top02_inner {
    gap: 40px;
    padding-left: 25px;
    padding-right: 25px;
  }
  .top02_logo {
    text-align: center;
    width: 100%;
    margin-left: 17px;
  }
  .top02_logo img {
    max-width: 100px;
    height: auto;
    margin: 0 auto;
  }
  .top02_head {
    align-items: center;
    text-align: center;
  }
  .top02_text {
    margin-top: 40px;
  }
  .top02_text_item {
    font-size: 17px;
  }
  .top02_more {
    justify-content: center;
  }
  .top03_head {
    align-items: center;
    text-align: center;
  }
  .top03_text {
    margin-top: 40px;
    text-align: center;
  }
  .top03_text_item {
    line-height: 2.2em;
  }
  .top03_card_list {
    gap: 40px;
  }
  .top03_card {
    width: 100%;
  }
  .top03_card_title {
    font-size: 24px;
  }
  .top03_card_line {
    max-width: 70px;
  }
  .top03_inner .more_btn {
    justify-content: center;
  }
  .top04_copy {
    margin-top: 40px;
  }
  .top04_copy_item {
    font-size: 17px;
  }
  .top04_metric {
    flex-direction: column;
    gap: 30px;
    min-height: auto;
    padding-left: 20px;
    padding-right: 20px;
    width: 100%;
  }
  .top04_metric_body {
    width: 100%;
  }
  .top04_metric_label {
    font-size: 24px;
  }
  .top04_metric_note {
    margin-left: 0;
  }
  .top04_metric_unit {
    font-size: 24px;
  }
  .num_102 {
    font-size: 72px;
  }
  .top04_map {
    display: flex;
    flex-direction: column;
    margin-top: 40px;
  }
  .top04_map_pc {
    display: block;
    margin-top: 20px;
    order: 2;
    overflow: hidden;
  }
  .top04_map_sp {
    display: block;
    order: 1;
  }
  .top04_map_inner {
    margin-left: 0;
    width: 129.2292%;
  }
  .top04_map_legend {
    display: none;
  }
  .top04_map_area_group {
    display: none;
  }
  .top04_map_site_text {
    font-size: 11px;
  }
  .top04_map_site_line_vertical {
    background-image: repeating-linear-gradient(to bottom, #666667 0, #666667 1px, transparent 1px, transparent 3px);
  }
  .top04_map_site_line_horizontal {
    background-image: repeating-linear-gradient(to right, #666667 0, #666667 1px, transparent 1px, transparent 3px);
  }
  .top04_map_sp_button {
    padding-right: 25px;
  }
  .top04_map_sp_button::after {
    right: 8px;
  }
  .top04_map_logo_list {
    gap: 12px;
  }
  .top04_map_logo_cols2 .top04_map_logo_button {
    width: calc((100% - 12px) / 2);
  }
  .top04_map_logo_cols3 .top04_map_logo_button {
    width: calc((100% - 24px) / 3);
  }
  .top04_map_logo_image {
    min-height: 50px;
  }
  .top04_map_popup {
    padding-bottom: 40px;
    padding-left: 25px;
    padding-right: 25px;
    padding-top: 50px;
    width: calc(100% - 40px);
  }
  .top04_map_popup_close {
    right: 15px;
    top: 15px;
  }
  .top04_map_popup_logo_inner {
    width: 60%;
  }
  .top04_map_popup_body {
    margin-top: 30px;
  }
  .top04_map_popup_item {
    font-size: 17px;
  }
  .top05_text_item {
    line-height: 2em;
  }
  .top05_movie_arrow {
    background-size: 10px auto;
    height: 90px;
    width: 90px;
  }
  .top06_cta {
    padding-bottom: 100px;
    padding-left: 25px;
    padding-right: 25px;
    padding-top: 100px;
  }
  .top06_cta_item a {
    min-height: auto;
    padding-bottom: 50px;
    padding-left: 25px;
    padding-right: 25px;
    padding-top: 50px;
  }
  .top06_cta_en {
    font-size: 34px;
  }
  .top06_cta_arrow {
    height: 56px;
    width: 56px;
  }
  .footer {
    padding-bottom: 40px;
    padding-top: 100px;
  }
  .footer_nav_wrap {
    flex-direction: column;
    gap: 40px;
  }
  .footer_nav_group {
    flex-direction: column;
    gap: 40px;
  }
  .footer_bottom {
    flex-direction: column;
    gap: 20px;
  }
}

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