@media only screen and (max-width: 1000px) {
  body {
    padding-bottom: 22.5vw;
  }
}

.container {
  width: 100%;
}

section {
  padding: 6rem 0;
}

h2 {
  display: flex;
  align-items: center;
  flex-direction: column;
  margin: 0 auto min(0.7291666667vw, 14px);
  font-size: min(1.9791666667vw, 38px);
  text-align: center;
  color: #123c7e;
}
h2 + p {
  font-size: min(0.9375vw, 18px);
}
@media only screen and (max-width: 1000px) {
  h2 {
    font-size: 7.6vw;
    line-height: 1.4137931034;
  }
}
h2 .heading-icon {
  margin-bottom: min(0.4166666667vw, 8px);
}
@media only screen and (max-width: 1000px) {
  h2 .heading-icon {
    margin-bottom: 1.3333333333vw;
  }
}
h2 svg {
  display: block;
  fill: #fff;
}
h2 + p {
  text-align: center;
}
h2 + p + * {
  margin-top: 30px;
}

p:is(main *) {
  text-align: center;
  font-size: clamp(1.3rem, 0.9375vw, 1.8rem);
  line-height: 2;
  color: #333;
}
@media only screen and (max-width: 1000px) {
  p:is(main *) {
    font-size: 4.2666666667vw;
    line-height: 2;
  }
}

.mv {
  padding: 0 0 8.59375vw;
  margin: 0 auto;
  text-align: center;
  position: relative;
}
@media only screen and (max-width: 1000px) {
  .mv {
    padding: 0 0 5.6vw;
  }
}

.mv_wrap {
  opacity: 0;
  transition: opacity 1.5s;
}
.mv_wrap.is-visible {
  opacity: 1;
}
.mv_wrap.is-visible .mv_copy > * {
  opacity: 1;
  translate: 0 0;
}

.mv_bg-circle {
  width: 67.7083333333vw;
  height: 67.7083333333vw;
  background: #fff;
  border-radius: 100vmax;
  position: absolute;
  left: -22.1354166667vw;
  top: -19.7916666667vw;
  z-index: 1;
  scale: 0.4;
  opacity: 0.5;
  transition: scale 1.5s cubic-bezier(0.785, 0.135, 0.15, 0.86), opacity 1.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.mv_bg-circle.is-anim {
  scale: 1;
  opacity: 1;
}
@media only screen and (max-width: 1000px) {
  .mv_bg-circle {
    width: 173.3333333333vw;
    height: 173.3333333333vw;
    left: -56.6666666667vw;
    top: -49.3333333333vw;
  }
}

.mv_bg-circle-dot {
  width: 107.3958333333vw;
  height: auto;
  position: absolute;
  inset: -3.125vw 0 0 0;
  z-index: 3;
}
@media only screen and (max-width: 1000px) {
  .mv_bg-circle-dot {
    width: 130.2666666667vw;
    inset: auto auto -40vw -8vw;
  }
}
.mv_bg-circle-dot img {
  width: 100%;
}

.mv_img {
  width: 90.75%;
  position: absolute;
  inset: 0 0 0 auto;
  z-index: 2;
}
@media only screen and (max-width: 1000px) {
  .mv_img {
    width: 100%;
  }
}
.mv_img img {
  display: inline-block;
  width: 100%;
}

.mv_link-nav {
  position: fixed;
  inset: calc(2.0833333333vw + 80px) 2.0833333333vw auto auto;
  z-index: 5;
  opacity: 0;
  translate: 0 30px;
  transition: opacity 1s, inset 0.3s;
}
.mv_link-nav.is-visible {
  opacity: 1;
  translate: 0;
}
.mv_link-nav.is-moved {
  inset: 2.0833333333vw 2.0833333333vw auto auto;
}
@media only screen and (max-width: 1000px) {
  .mv_link-nav.is-moved {
    inset: auto auto 0 auto;
  }
}
@media only screen and (max-width: 1000px) {
  .mv_link-nav.is-sticky {
    margin-top: 0;
    position: fixed;
    inset: 62px 0 auto;
  }
}
@media only screen and (max-width: 1000px) {
  .mv_link-nav {
    inset: calc(2.0833333333vw + 62px) 2.0833333333vw auto auto;
  }
}
@media only screen and (max-width: 1000px) {
  .mv_link-nav {
    width: 100%;
    position: fixed;
    inset: auto auto 0;
  }
}

.mv_link-nav_list {
  display: flex;
  flex-direction: column;
  gap: 1.4583333333vw;
}
@media (height < 637px) {
  .mv_link-nav_list {
    gap: 0.7291666667vw;
  }
}
@media (height < 612px) {
  .mv_link-nav_list {
    gap: 0.3645833333vw;
  }
}
@media only screen and (max-width: 1000px) {
  .mv_link-nav_list {
    flex-direction: row;
    gap: 0;
    border-top: 0.6666666667vw solid #123c7e;
  }
}
@media only screen and (max-width: 1000px) {
  .mv_link-nav_list li {
    width: 100%;
  }
}
.mv_link-nav_list li a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: max(8.3333333333vw, 100px);
  height: max(8.3333333333vw, 100px);
  background-color: #fff;
  border: 3px solid #123c7e;
  border-radius: 100vmax;
  transition: background-color 0.3s;
}
@media only screen and (max-width: 1000px) {
  .mv_link-nav_list li a {
    width: 100%;
    height: 22vw;
    border-radius: 0;
    border: none;
  }
}
.mv_link-nav_list li a svg {
  fill: #123c7e;
  transition: fill 0.3s;
}
.mv_link-nav_list li a svg:is(a[href="#company"] *) {
  width: max(3.2291666667vw, 39px);
  height: max(2.2916666667vw, 28px);
}
.mv_link-nav_list li a svg:is(a[href="#strength"] *) {
  width: max(2.6041666667vw, 31px);
  height: max(2.4479166667vw, 29px);
}
.mv_link-nav_list li a svg:is(a[href="#society"] *) {
  width: max(2.6041666667vw, 31px);
  height: max(2.5520833333vw, 30px);
}
.mv_link-nav_list li a svg:is(a[href="#future"] *) {
  width: max(1.875vw, 22px);
  height: max(3.125vw, 36px);
}
@media only screen and (max-width: 1000px) {
  .mv_link-nav_list li a svg:is(a[href="#future"] *) {
    padding: 0;
  }
}
@media only screen and (max-width: 1000px) {
  .mv_link-nav_list li a svg {
    padding: 0.9333333333vw 0;
    width: 8vw !important;
    height: 8vw !important;
  }
}
@media (hover: hover) and (pointer: fine) {
  .mv_link-nav_list li a:hover {
    color: #fff;
    background-color: #123c7e;
  }
  .mv_link-nav_list li a:hover svg {
    fill: #fff;
  }
  .mv_link-nav_list li a:hover p {
    color: #fff;
  }
  .mv_link-nav_list li a:hover .material-symbols-outlined {
    color: #fff;
  }
}
.mv_link-nav_list li a p {
  display: grid;
  place-content: center;
  margin-top: max(0.2604166667vw, 4px);
  font-size: max(0.8333333333vw, 1.2rem);
  color: #123c7e;
  line-height: 125%;
  font-weight: 600;
  transition: color 0.3s;
}
@media only screen and (max-width: 1000px) {
  .mv_link-nav_list li a p {
    min-height: 7.2vw;
    font-size: 2.6666666667vw;
  }
}
.mv_link-nav_list li a .material-symbols-outlined {
  margin-top: max(0.2604166667vw, 4px);
  font-size: max(2.0833333333vw, 3rem);
  line-height: 0.25;
  transition: color 0.3s;
}
@media only screen and (max-width: 1000px) {
  .mv_link-nav_list li a .material-symbols-outlined {
    font-size: 5.3333333333vw;
    color: initial;
  }
}

.mv_inner {
  width: 65.5208333333%;
  margin-inline: auto;
  position: relative;
}
@media only screen and (max-width: 1000px) {
  .mv_inner {
    width: 100%;
    padding: 0 5.3333333333vw;
  }
}

.mv_copy {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-top: 2.0833333333vw;
  width: 10.9375vw;
  position: relative;
  z-index: 3;
}
@media only screen and (max-width: 1000px) {
  .mv_copy {
    width: 32vw;
    padding-top: 6.1333333333vw;
  }
}
.mv_copy > * {
  opacity: 0;
  translate: 50px;
}
.mv_copy h1 {
  width: 47.619047619%;
  transition: opacity 1s 0.7s, translate 1s 0.5s;
}
.mv_copy p {
  width: 42.8571428571%;
  transition: opacity 1s 0.8s, translate 1s 0.6s;
}
.mv_copy img {
  width: 100%;
}

#company, #future, #strength {
  padding: 3.125vw min(8.3333333333vw, 160px) 0;
}
@media only screen and (max-width: 1000px) {
  #company, #future, #strength {
    padding: 0 5.3333333333vw 3rem;
  }
}
#company .container, #future .container, #strength .container {
  display: block;
  margin-inline: auto;
  max-width: 1580px;
  height: min(27.6041666667vw, 530px);
  border-radius: min(5.2083333333vw, 100px);
  position: relative;
  z-index: 4;
  overflow: hidden;
  cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
  #company .container:hover::before, #future .container:hover::before, #strength .container:hover::before {
    scale: 1.02;
  }
  #company .container:hover .btn-about, #future .container:hover .btn-about, #strength .container:hover .btn-about {
    background: #fff;
    border: 1px solid #fff;
    color: #123c7e;
  }
  #company .container:hover .btn-about_icon::before, #future .container:hover .btn-about_icon::before, #strength .container:hover .btn-about_icon::before {
    background-color: #123c7e;
  }
  #company .container:hover .btn-about_icon::after, #future .container:hover .btn-about_icon::after, #strength .container:hover .btn-about_icon::after {
    background: url(../images/common/icon_arrow_r_wh.svg) no-repeat center center/contain;
  }
}
#company .container::before, #future .container::before, #strength .container::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../images/top/link_what_pc.jpg) no-repeat center center/cover;
  position: absolute;
  inset: auto auto 0 0;
  transition: scale 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
@media only screen and (max-width: 1000px) {
  #company .container::before, #future .container::before, #strength .container::before {
    background: url(../images/top/link_what_sp.jpg) no-repeat center center/cover;
  }
}
@media only screen and (max-width: 1000px) {
  #company .container, #future .container, #strength .container {
    padding: 0;
    height: min(156.2666666667vw, 1172px);
    border-radius: 9.3333333333vw;
    position: relative;
  }
}
#company .text-area, #future .text-area, #strength .text-area {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: min(4.1145833333vw, 79px) min(5.7291666667vw, 110px) min(4.1145833333vw, 79px) 0;
  width: min(45.8333333333vw, 880px);
  margin-left: auto;
  height: 100%;
  background: rgba(18, 60, 126, 0.85);
  position: relative;
  -webkit-clip-path: polygon(34.1% 0%, 100% 0%, 100% 100%, 0% 100%);
          clip-path: polygon(34.1% 0%, 100% 0%, 100% 100%, 0% 100%);
}
#company .text-area:where(#strength *), #future .text-area:where(#strength *), #strength .text-area:where(#strength *) {
  justify-content: flex-start;
  -webkit-clip-path: polygon(0 0, 65.9% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 0, 65.9% 0, 100% 100%, 0% 100%);
}
@media only screen and (max-width: 1000px) {
  #company .text-area, #future .text-area, #strength .text-area {
    margin-left: 0;
    padding: 7.3333333333vw 5.3333333333vw 8.6666666667vw;
    width: 100%;
    height: -moz-fit-content;
    height: fit-content;
    position: absolute;
    inset: auto auto 0 auto;
    -webkit-clip-path: none;
            clip-path: none;
  }
}
#company .text-area .text-area-triangle, #future .text-area .text-area-triangle, #strength .text-area .text-area-triangle {
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent rgba(18, 60, 126, 0.85) transparent;
  border-width: 0px 0px min(27.6041666667vw, 530px) min(15.6770833333vw, 301px);
  position: absolute;
  inset: auto auto 0 auto;
}
@media only screen and (max-width: 1000px) {
  #company .text-area .text-area-triangle, #future .text-area .text-area-triangle, #strength .text-area .text-area-triangle {
    display: none;
  }
}
#company .text-area_inner, #future .text-area_inner, #strength .text-area_inner {
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 1000px) {
  #company .text-area_inner, #future .text-area_inner, #strength .text-area_inner {
    width: 100%;
  }
}
#company svg:has([href="#ver_company"]), #future svg:has([href="#ver_company"]), #strength svg:has([href="#ver_company"]) {
  width: min(2.0833333333vw, 40px);
}
@media only screen and (max-width: 1000px) {
  #company svg:has([href="#ver_company"]), #future svg:has([href="#ver_company"]), #strength svg:has([href="#ver_company"]) {
    width: 8vw;
    height: 5.7333333333vw;
  }
}
#company svg:has([href="#ver_strength"]), #future svg:has([href="#ver_strength"]), #strength svg:has([href="#ver_strength"]) {
  width: min(1.6145833333vw, 31px);
}
@media only screen and (max-width: 1000px) {
  #company svg:has([href="#ver_strength"]), #future svg:has([href="#ver_strength"]), #strength svg:has([href="#ver_strength"]) {
    width: 6.2666666667vw;
    height: 6.1333333333vw;
  }
}
#company svg:has([href="#ver_future"]), #future svg:has([href="#ver_future"]), #strength svg:has([href="#ver_future"]) {
  width: min(1.3541666667vw, 26px);
}
@media only screen and (max-width: 1000px) {
  #company svg:has([href="#ver_future"]), #future svg:has([href="#ver_future"]), #strength svg:has([href="#ver_future"]) {
    width: 5.2vw;
    height: 8.4vw;
  }
}
#company h2, #future h2, #strength h2 {
  margin-bottom: min(0.4166666667vw, 8px);
  color: #fff;
  font-size: min(1.9791666667vw, 38px);
  line-height: 1.4473684211;
}
@media only screen and (max-width: 1000px) {
  #company h2, #future h2, #strength h2 {
    margin-bottom: 1.6vw;
    font-size: 7.6vw;
    line-height: 1.4385964912;
  }
}
#company .description, #future .description, #strength .description {
  color: #fff;
  line-height: 2;
}
#company .description span, #future .description span, #strength .description span {
  display: inline-block;
}
@media only screen and (max-width: 1000px) {
  #company .description span, #future .description span, #strength .description span {
    display: inline;
  }
}
@media only screen and (max-width: 1000px) {
  #company .description, #future .description, #strength .description {
    font-size: 4.2666666667vw;
  }
}
#company .description .tb, #future .description .tb, #strength .description .tb {
  display: none;
}
@media only screen and (max-width: 1160px) {
  #company .description .tb, #future .description .tb, #strength .description .tb {
    display: block;
  }
}
#company .btn-about, #future .btn-about, #strength .btn-about {
  margin-top: min(2.1875vw, 42px);
  width: min(26.0416666667vw, 500px);
  background-color: transparent;
  border: 1px solid #fff;
  color: #fff;
  transition: background-color 0.2s, color 0.2s;
}
@media only screen and (max-width: 1000px) {
  #company .btn-about, #future .btn-about, #strength .btn-about {
    margin-top: min(4.6666666667vw, 35px);
    width: 100%;
  }
}
#company .btn-about_icon::before, #future .btn-about_icon::before, #strength .btn-about_icon::before {
  background-color: #fff;
  transition: background-color 0.2s;
}
#company .btn-about_icon::after, #future .btn-about_icon::after, #strength .btn-about_icon::after {
  background: url(../images/common/icon_arrow_r_bl.svg) no-repeat center center/contain;
}

#strength {
  padding: 4.1666666667vw min(8.3333333333vw, 160px) 0;
}
#strength .container::before {
  background: url(../images/top/link_strength_pc.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 1000px) {
  #strength .container::before {
    background: url(../images/top/link_strength_sp.jpg) no-repeat center center/cover;
  }
}
#strength .text-area {
  padding: min(4.1145833333vw, 79px) 0 min(4.1145833333vw, 79px) min(5.7291666667vw, 110px);
  margin-right: auto;
  margin-left: 0;
}
@media only screen and (max-width: 1000px) {
  #strength .text-area {
    padding: 7.3333333333vw 5.3333333333vw 8.6666666667vw;
  }
}
#strength .text-area .text-area-triangle {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent transparent rgba(18, 60, 126, 0.85);
  border-width: min(27.6041666667vw, 530px) 0px 0px min(15.6770833333vw, 301px);
  position: absolute;
  inset: auto auto 0 auto;
}
@media only screen and (max-width: 1000px) {
  #strength {
    padding: 0 5.3333333333vw 3rem;
  }
}

#future {
  padding: 4.1666666667vw 8.3333333333vw min(18.75vw, 360px);
}
#future .container::before {
  background: url(../images/top/link_future_pc.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 1000px) {
  #future .container::before {
    background: url(../images/top/link_future_sp.jpg) no-repeat center center/cover;
  }
}
@media only screen and (max-width: 1000px) {
  #future {
    padding: 0 5.3333333333vw 12rem;
  }
}

#society {
  margin-top: max(-12.5vw, -240px);
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 1000px) {
  #society {
    margin-top: -6rem;
    padding: 3rem 5.3333333333vw;
    z-index: 0;
  }
}
#society svg:has([href="#ver_society"]) {
  width: min(1.8229166667vw, 35px);
}
@media only screen and (max-width: 1000px) {
  #society svg:has([href="#ver_society"]) {
    width: 6.9333333333vw;
    height: 6.9333333333vw;
  }
}
#society::before, #society::after {
  opacity: 1;
  transition: opacity 0.3s;
}
@media only screen and (max-width: 1000px) {
  #society::before, #society::after {
    opacity: 1;
  }
}
#society::before {
  content: "";
  display: block;
  width: 439px;
  height: 439px;
  background: url(../images/top/bg_circle_blue.svg) no-repeat center center/cover;
  position: absolute;
  inset: 0 -100px 0 auto;
}
@media only screen and (max-width: 1000px) {
  #society::before {
    width: 166px;
    height: 166px;
    background: url(../images/top/bg_circle_blue_light.svg) no-repeat center center/cover;
    inset: 240px auto auto -70px;
  }
}
#society::after {
  content: "";
  display: block;
  width: 387px;
  height: 387px;
  background: url(../images/top/bg_circle_blue.svg) no-repeat center center/cover;
  position: absolute;
  inset: auto auto -40px -100px;
}
@media only screen and (max-width: 1000px) {
  #society::after {
    width: 198px;
    height: 198px;
    inset: auto -40px -60px auto;
  }
}
#society .container {
  width: min(82.2916666667vw, 1580px);
  margin-inline: auto;
}
@media only screen and (max-width: 1000px) {
  #society .container {
    width: auto;
  }
}

.society_bg-circle-dot {
  opacity: 1;
  transition: opacity 0.3s;
  position: absolute;
  z-index: 1;
}
.society_bg-circle-dot.ver-right {
  width: min(25.15625vw, 483px);
  inset: min(-10.9375vw, -210px) 0 auto min(77.0833333333vw, 1480px);
  margin: auto auto auto auto;
}
@media only screen and (max-width: 1160px) {
  .society_bg-circle-dot.ver-right {
    opacity: 0.2;
  }
}
@media only screen and (max-width: 1000px) {
  .society_bg-circle-dot.ver-right {
    width: 29.3333333333vw;
    inset: -18.6666666667vw -10.6666666667vw auto auto;
    opacity: 1;
  }
}

.society_link_wrap {
  border-radius: 50px;
  background: #123c7e;
  position: relative;
  z-index: 1;
}
.society_link_wrap::before, .society_link_wrap::after {
  content: "";
  display: block;
  position: absolute;
}
@media only screen and (max-width: 1000px) {
  .society_link_wrap::before {
    width: 44.2666666667vw;
    height: 44.2666666667vw;
    background: url(../images/top/bg_circle_blue_light.svg) no-repeat center center/contain;
    inset: auto -16.8vw -19.7333333333vw auto;
  }
}
.society_link_wrap::after {
  width: min(22.8645833333vw, 439px);
  height: min(22.8645833333vw, 439px);
  background: url(../images/top/bg_circle_blue_light.svg) no-repeat center center/contain;
  inset: auto auto min(-11.9791666667vw, -230px) min(-12.5vw, -240px);
}
@media only screen and (max-width: 1000px) {
  .society_link_wrap::after {
    width: 58.5333333333vw;
    height: 58.5333333333vw;
    inset: auto auto 16.1333333333vw -22.9333333333vw;
  }
}
@media only screen and (max-width: 1700px) {
  .society_link_wrap {
    border-radius: 2.9411764706vw;
  }
}
@media only screen and (max-width: 1000px) {
  .society_link_wrap {
    border-radius: 6.6666666667vw;
    overflow: visible;
  }
}

.society_link {
  display: flex;
  align-items: center;
  height: min(13.0208333333vw, 250px);
  position: relative;
}
@media (hover: hover) and (pointer: fine) {
  .society_link:hover .btn-about::before {
    scale: 1.15;
  }
}
@media only screen and (max-width: 1000px) {
  .society_link {
    height: 66.6666666667vw;
    border-radius: 6.6666666667vw;
    overflow: hidden;
  }
}
.society_link .btn-about {
  margin: 0 5.0632911392% 0 auto;
  width: 31.6455696203%;
  z-index: 1;
}
@media only screen and (max-width: 1000px) {
  .society_link .btn-about {
    margin: auto auto 5.3333333333vw;
    width: 77.3333333333vw;
  }
}
.society_link .btn-about::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: 100vmax;
  position: absolute;
  inset: 0;
  scale: 1;
  transition: scale 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
.society_link .btn-about .btn_text {
  position: relative;
}
.society_link .btn-about .btn-about_icon::before {
  background: #123c7e;
}
.society_link .btn-about .btn-about_icon::after {
  background: url(../images/common/icon_arrow_r_wh.svg) no-repeat center center/contain;
}

.society_bg-area {
  width: 69.6202531646%;
  height: 100%;
  background: #123c7e url(../images/top/bg-link_society.jpg) no-repeat center center/cover;
  border-radius: 50px 130px 120px 50px;
  opacity: 0.8;
  position: absolute;
  inset: 0;
  z-index: 1;
}
@media only screen and (max-width: 1000px) {
  .society_bg-area {
    width: 100%;
    height: 53.3333333333vw;
    border-radius: 0 0 350px 350px;
  }
}

#society {
  padding: 0 min(3.125vw, 60px) min(3.125vw, 60px);
  position: relative;
}
@media only screen and (max-width: 1000px) {
  #society {
    padding: 0 5.3333333333vw 5.3333333333vw;
  }
}
#society::before, #society::after {
  position: relative;
}
#society::after {
  content: "";
  display: block;
  width: max(128.125vw, 2460px);
  height: 778px;
  background: #fff;
  border-radius: 100%;
  position: absolute;
  top: 28px;
  left: 50%;
  translate: -50%;
  z-index: 2;
}
@media only screen and (max-width: 1000px) {
  #society::after {
    width: 189.0666666667vw;
    height: 103.7333333333vw;
    top: 3.7333333333vw;
  }
}
#society::before {
  content: "";
  display: block;
  width: max(119.7916666667vw, 2300px);
  height: 778px;
  background: #123c7e;
  border-radius: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50%;
  z-index: 1;
}
@media only screen and (max-width: 1000px) {
  #society::before {
    width: 167.7333333333vw;
    height: 103.7333333333vw;
  }
}
#society .container {
  padding: min(6.7708333333vw, 130px) 0 0;
  position: relative;
  z-index: 3;
}
@media only screen and (max-width: 1000px) {
  #society .container {
    width: 100%;
    padding: 18.6666666667vw 0 0;
  }
}
#society .container > * {
  position: relative;
  z-index: 1;
}

#contact {
  padding: min(3.125vw, 60px) 2.0833333333vw 0;
  position: relative;
  z-index: 2;
}
#contact .container {
  position: relative;
}
#contact .container .link-list::before {
  content: "";
  display: block;
  width: min(15.1041666667vw, 290px);
  height: min(15.1041666667vw, 290px);
  background: url(../images/top/bg_circle_blue_light.svg) no-repeat center center/contain;
  position: absolute;
  inset: auto min(-4.6875vw, -90px) min(-3.75vw, -72px) auto;
}
@media only screen and (max-width: 1000px) {
  #contact .container .link-list::before {
    width: 51.6vw;
    height: 51.6vw;
    inset: auto 0 -8vw -16vw;
  }
}
@media only screen and (max-width: 1000px) {
  #contact {
    padding: 5.3333333333vw 5.3333333333vw 0;
  }
}

@media only screen and (max-width: 1000px) {
  .sp {
    display: block !important;
  }
}/*# sourceMappingURL=index.css.map */