.main-body {
  color:                        #121212;
  font-family:                  'Open Sans', '游ゴシック', YuGothic, 'YuGothicStd-R', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
  -webkit-font-smoothing:        antialiased;
  overflow-wrap:                 break-word;
  -webkit-font-feature-settings: 'palt';
  font-feature-settings:         'palt';
}

.main-header {
  width:       100%!important;
  font-family: 'Open Sans';
  position:    fixed!important;
  top:         0;
  z-index:     2;
  padding:     11px 50px 10px!important;
  transition:  all 0.3s ease-in-out;
  background: #000000C0!important;
  /* background:  linear-gradient(to bottom, #000000FF 0%, #00000080 100%)!important; */
}

.main-header .link {
  text-decoration: none;
  color: #FFFFFFC7;
  transition: color 0.3s ease-in-out;
}

.main-header.out-swiper {
  background: #000000C0!important;
}

.main-header-sp {
  width:       100%!important;
  font-family: 'Open Sans';
  position:    fixed!important;
  top:         0;
  z-index:     2;
  padding:     20px 25px!important;
  transition:  all 0.3s ease-in-out;
  background:  linear-gradient(to bottom, #00000080 0%, #00000000 100%)!important;
}

.main-header-sp .link {
  text-decoration: none;
  color: #FFFFFFC7;
  transition: color 0.3s ease-in-out;
}

.main-header-sp.out-swiper {
  background: #000000C0!important;
}

.main-footer {
  color:            #787878!important;
  padding:          50px 50px 45px!important;
  background-color: #121212!important;
}

.main-footer-sp {
  color:            #787878!important;
  padding:          50px 25px 44px!important;
  background-color: #121212!important;
}

.main-footer .link {
  color:           #787878;
  text-decoration: none;
}

.main-footer-sp .link {
  color:           #787878;
  text-decoration: none;
}

.link-list .link {
  cursor:    pointer;
  font-size: 14px!important;
}

.main-header .link-list {
  margin-right: 60px;
}

.main-header .link-list .link+.link {
  margin-left: 60px;
}

.main-footer .link-list .link {
  font-weight:  500;
  font-family:  'Open Sans';
  margin-left:  0px;
  margin-right: 40px;
}

@media screen and (max-width: 990px) {
  .main-header .link-list {
    margin-right: 30px;
  }
}

@media screen and (max-width: 1200px) {
  .main-header .link-list .link+.link {
    margin-left: 30px;
  }
}

.anchor {
  height:   0;
  width:    0;
  position: absolute;
  top:      -64px;
  left:     0;
}

.white-link, .white-link:hover, .white-link:active {
  color:            white!important;
  text-decoration:  none!important;
  background-color: transparent!important;
}

.swiper-slide {
  -webkit-transform: translateZ(0);
}