@charset "UTF-8";
/*  ヘッダーここから /////////////
/////////////////////////////*/
.header {
  font-weight: 500;
}

.header-inner {
  width: 100%;
}

.header-logo {
  position: absolute;
  top: .2rem;
  left: .4rem;
  width: 2.4rem;
  z-index: 2;
}

@media screen and (min-width: 769px) {
  .header-logo {
    top: 20px;
    left: 90px;
    width: 155px;
  }
}

.header-trigger {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1001;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 1.3rem;
  height: 1.3rem;
  background: #002588;
  transition: opacity .4s ease-in-out;
  cursor: pointer;
}

@media screen and (min-width: 769px) {
  .header-trigger {
    width: 110px;
    height: 110px;
  }
}

.header-trigger span {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: .62rem;
  height: .03rem;
  background: #fff;
  transition: .4s ease-in-out;
  transform: translateX(-50%);
}

@media screen and (min-width: 769px) {
  .header-trigger span {
    width: 52px;
    height: 2px;
  }
}

.header-trigger span:nth-child(1) {
  top: 50%;
  transform: translateX(-50%) translateY(-0.15rem);
}

@media screen and (min-width: 769px) {
  .header-trigger span:nth-child(1) {
    transform: translateX(-50%) translateY(-12px);
  }
}

.header-trigger span:nth-child(2) {
  top: 50%;
}

.header-trigger span:nth-child(3) {
  top: 50%;
  transform: translateX(-50%) translateY(0.15rem);
}

@media screen and (min-width: 769px) {
  .header-trigger span:nth-child(3) {
    transform: translateX(-50%) translateY(12px);
  }
}

.header-trigger.active {
  background: transparent;
}

.header-trigger.active span {
  background: #002588;
}

.header-trigger.active span:nth-child(1) {
  top: 50%;
  transform: translateX(-50%) rotate(-45deg);
}

.header-trigger.active span:nth-child(2) {
  transform: translate(500px, -50%);
  opacity: 0;
}

.header-trigger.active span:nth-child(3) {
  top: 50%;
  transform: translateX(-50%) rotate(45deg);
}

.header-menu {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  overflow-y: scroll;
  width: 100%;
  height: 100%;
  background: #fff;
}

.header-menu-logo {
  padding: .24rem 0 .45rem .4rem;
  border-bottom: 1px solid #002588;
}

@media screen and (min-width: 769px) {
  .header-menu-logo {
    padding: 24px 0 45px 40px;
  }
}

.header-menu-logo div {
  width: 2.4rem;
}

@media screen and (min-width: 769px) {
  .header-menu-logo div {
    width: 235px;
  }
}

.header-menu-list {
  position: relative;
  display: flex;
  width: 100%;
  flex-wrap: wrap;
}

@media screen and (min-width: 769px) {
  .header-menu-list {
    margin: auto;
    max-width: 1200px;
    border-right: 1px solid #002588;
    border-left: 1px solid #002588;
  }
}

.header-menu-list::after {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 1px;
  height: 100%;
  background: #002588;
  transform: translateX(-50%);
}

.header-menu-list-item {
  width: 50%;
  border-bottom: 1px solid #002588;
  line-height: 1;
  font-size: .3rem;
  cursor: pointer;
}

@media screen and (min-width: 769px) {
  .header-menu-list-item {
    font-size: 30px;
  }
}

.header-menu-list-item > a {
  display: block;
  position: relative;
  padding: .35rem .35rem;
  letter-spacing: .1em;
}

@media screen and (min-width: 769px) {
  .header-menu-list-item > a {
    padding: 35px;
  }
}

.header-menu-list-item span {
  display: block;
  position: relative;
  padding: .35rem .35rem;
  letter-spacing: .1em;
}

@media screen and (min-width: 769px) {
  .header-menu-list-item span {
    padding: 35px;
  }
}

.header-menu-list-item span::after {
  content: '';
  position: absolute;
  top: 50%;
  right: .4rem;
  display: block;
  width: .23rem;
  height: .13rem;
  background: url(../img/common/header_arrow.png) no-repeat top left/contain;
}

@media screen and (min-width: 769px) {
  .header-menu-list-item span::after {
    right: 40px;
    width: 23px;
    height: 13px;
  }
}

.header-menu-list-item ul li a {
  display: block;
  border-top: 1px solid #002588;
  padding: .35rem .35rem;
}

@media screen and (min-width: 769px) {
  .header-menu-list-item ul li a {
    padding: 35px;
  }
}

.header-bnr {
  padding: .3rem .85rem;
}

@media screen and (min-width: 769px) {
  .header-bnr {
    padding: 30px 0;
    text-align: center;
  }
}

.header-bnr-list li + li {
  margin-top: .2rem;
}

@media screen and (min-width: 769px) {
  .header-bnr-list li + li {
    margin-top: 20px;
  }
}

/*  フッターここから /////////////
/////////////////////////////*/
.footer {
  background: #fff;
  font-weight: 500;
}

.sp-fixed-memu {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 100;
  width: 100%;
}

.sp-fixed-memu-list {
  display: flex;
  background: #fff;
}

.sp-fixed-memu-list li {
  position: relative;
  width: 3333.33333%;
}

.sp-fixed-memu-list li + li::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 1px;
  height: 100%;
  background: #002588;
}

.footer-head {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 1.4rem;
  background: #d81781;
}

@media screen and (min-width: 769px) {
  .footer-head {
    height: 140px;
  }
}

.footer-head h2 {
  font-family: 'Squada One', cursive;
  font-size: .48rem;
  letter-spacing: .1em;
  color: #fff;
}

@media screen and (min-width: 769px) {
  .footer-head h2 {
    font-size: 60px;
  }
}

.footer-mnue {
  padding: .5rem 0 1.3rem;
  background: url(../img/common/footer_menu_bg.png) no-repeat center center/cover;
  text-align: center;
}

@media screen and (min-width: 769px) {
  .footer-mnue {
    padding: 55px 0 155px;
    background: url(../img/common/pc/footer_menu_bg.png) no-repeat center center/cover;
  }
}

.footer-mnue-ttl {
  margin-bottom: .1rem;
  font-size: .36rem;
  letter-spacing: .1em;
  color: #d81781;
}

@media screen and (min-width: 769px) {
  .footer-mnue-ttl {
    margin-bottom: 10px;
    font-size: 36px;
  }
}

.footer-mnue-ttl + .sans-serif-en {
  font-size: .24rem;
  letter-spacing: .1em;
}

@media screen and (min-width: 769px) {
  .footer-mnue-ttl + .sans-serif-en {
    font-size: 24px;
  }
}

.footer-mnue-btn {
  display: flex;
  justify-content: center;
  margin-top: .35rem;
}

@media screen and (min-width: 769px) {
  .footer-mnue-btn {
    margin-top: 35px;
  }
}

.footer-mnue-btn li {
  width: 50%;
}

@media screen and (min-width: 769px) {
  .footer-mnue-btn li {
    max-width: 400px;
  }
}

.footer-mnue-btn li a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: .6rem;
  font-size: .24rem;
  letter-spacing: .1em;
}

@media screen and (min-width: 769px) {
  .footer-mnue-btn li a {
    height: 60px;
    font-size: 24px;
  }
}

.footer-mnue-btn li:nth-child(1) a {
  border-radius: .3rem 0 0 .3rem;
  background: #fff;
}

@media screen and (min-width: 769px) {
  .footer-mnue-btn li:nth-child(1) a {
    border-radius: 30px 0 0 30px;
  }
}

.footer-mnue-btn li:nth-child(1) a::before {
  content: '';
  display: block;
  margin-right: .08rem;
  width: .48rem;
  height: .02rem;
  background: #002588;
}

@media screen and (min-width: 769px) {
  .footer-mnue-btn li:nth-child(1) a::before {
    margin-right: 8px;
    width: 48px;
    height: 2px;
  }
}

.footer-mnue-btn li:nth-child(2) a {
  color: #fff;
  background: #002588;
  border-radius: 0 .3rem .3rem 0;
}

@media screen and (min-width: 769px) {
  .footer-mnue-btn li:nth-child(2) a {
    border-radius: 0 30px 30px 0;
  }
}

.footer-mnue-btn li:nth-child(2) a::after {
  content: '';
  display: block;
  margin-left: .08rem;
  width: .48rem;
  height: .02rem;
  background: #fff;
}

@media screen and (min-width: 769px) {
  .footer-mnue-btn li:nth-child(2) a::after {
    margin-left: 8px;
    width: 48px;
    height: 2px;
  }
}

.back-to-top {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
}

.back-to-top .arrow-btn {
  transform: rotate(180deg);
}

.footer-contents {
  position: relative;
  z-index: 2;
  padding: 1.1rem 0 .5rem;
  background: #002588;
}

@media screen and (min-width: 769px) {
  .footer-contents {
    padding: 128px 0 60px;
  }
}

.footer-contents-catch {
  font-size: .36rem;
  line-height: 1.75;
  text-align: center;
  color: #fff;
}

@media screen and (min-width: 769px) {
  .footer-contents-catch {
    display: flex;
    justify-content: center;
    font-size: 24px;
  }
  .footer-contents-catch::before {
    content: '[';
    margin-top: -7px;
    margin-right: 20px;
    font-size: 75px;
    color: #fff;
    line-height: 1;
  }
  .footer-contents-catch::after {
    content: ']';
    margin-top: -7px;
    margin-left: 20px;
    font-size: 75px;
    color: #fff;
    line-height: 1;
  }
}

.footer-contents-catch .strong {
  font-size: .5rem;
  line-height: .4;
  letter-spacing: .15em;
}

@media screen and (min-width: 769px) {
  .footer-contents-catch .strong {
    font-size: 34px;
  }
}

.footer-contents-catch .waveline {
  display: inline-block;
}

.footer-contents-catch .waveline::after {
  content: '';
  display: block;
  width: 100%;
  height: .18rem;
  font-size: 0;
  line-height: 1;
  background: url(../img/common/wave_line.png) no-repeat top left/contain;
}

@media screen and (min-width: 769px) {
  .footer-contents-catch .waveline::after {
    height: 13px;
    background: url(../img/common/pc/wave_line.png) no-repeat top left/contain;
  }
}

.footer-contents-list {
  padding-top: .3rem;
}

@media screen and (min-width: 769px) {
  .footer-contents-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding-top: 40px;
  }
}

.footer-contents-list li:nth-child(1) {
  margin-bottom: .48rem;
}

@media screen and (min-width: 769px) {
  .footer-contents-list li:nth-child(1) {
    margin-bottom: 40px;
    width: 100%;
    text-align: center;
  }
}

.footer-contents-list li:nth-child(n + 2) {
  margin: auto;
  width: 5.8rem;
}

@media screen and (min-width: 769px) {
  .footer-contents-list li:nth-child(n + 2) {
    width: 48.33333%;
    max-width: 580px;
  }
}

.footer-contents-list li:nth-child(2) {
  margin-bottom: .2rem;
}

@media screen and (min-width: 769px) {
  .footer-contents-list li:nth-child(2) {
    margin-right: 3.33333%;
    margin-bottom: 0;
  }
}

.footer-contents-bnr {
  padding-top: .5rem;
}

@media screen and (min-width: 769px) {
  .footer-contents-bnr {
    display: flex;
    justify-content: space-between;
    padding-top: 85px;
  }
}

@media screen and (min-width: 769px) {
  .footer-contents-bnr li {
    width: 32.5%;
  }
}

.footer-contents-bnr li + li {
  margin-top: .12rem;
}

@media screen and (min-width: 769px) {
  .footer-contents-bnr li + li {
    margin-top: 0;
  }
}

.footer-nav-top {
  display: flex;
  justify-content: center;
  padding: 45px 20px 42px;
}

.footer-nav-top li {
  list-style-type: none;
  margin-right: 40px;
}

.footer-nav-top li:nth-last-child() {
  margin-right: 0;
}

.footer-nav-top a {
  display: block;
  position: relative;
  white-space: nowrap;
}

.footer-nav-top a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -5px;
  display: block;
  width: 100%;
  height: 1px;
  transition: .4s;
}

.footer-nav-top a:hover::after {
  background: #002588;
}

.footer-nav-bottom {
  padding: .6rem 0 .28rem;
  background: #3d3d3e;
  color: #fff;
}

@media screen and (min-width: 769px) {
  .footer-nav-bottom {
    padding: 42px 0;
  }
}

@media screen and (min-width: 769px) {
  .footer-nav-bottom-inner {
    display: flex;
    justify-content: space-between;
    margin: auto;
    max-width: 1050px;
  }
}

.footer-nav-bottom-link {
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (min-width: 769px) {
  .footer-nav-bottom-link {
    justify-content: flex-start;
    padding: 0 20px;
  }
}

.footer-nav-bottom-link li {
  font-size: 0;
}

@media screen and (min-width: 769px) {
  .footer-nav-bottom-link li {
    font-size: 16px;
  }
}

.footer-nav-bottom-link li a {
  display: block;
}

@media screen and (min-width: 769px) {
  .footer-nav-bottom-link li a {
    position: relative;
    display: inline-block;
    width: auto !important;
    height: auto !important;
    background: none !important;
    white-space: nowrap;
    color: #fff;
  }
  .footer-nav-bottom-link li a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -5px;
    display: block;
    width: 100%;
    height: 1px;
    transition: .4s;
  }
  .footer-nav-bottom-link li a:hover::after {
    background: #fff;
  }
}

.footer-nav-bottom-link li:nth-child(1) a {
  width: .31rem;
  height: .31rem;
  background: url(../img/common/blogging_icon.png) no-repeat center center/contain;
}

.footer-nav-bottom-link li:nth-child(2) a {
  margin: 0 .6rem;
  width: .26rem;
  height: .34rem;
  background: url(../img/common/padlock_icon.png) no-repeat center center/contain;
}
.footer-nav-bottom-link li:nth-child(4) a {
  margin: 0 .6rem;
  width: .26rem;
  height: .34rem;
  background: url(../img/common/sosa.png) no-repeat center center/contain;
}


@media screen and (min-width: 769px) {
  .footer-nav-bottom-link li:nth-child(2) a {
    margin: 0 40px;
  }
  .footer-nav-bottom-link li:nth-child(3) a {
    margin: 0 40px;
  }
  .footer-nav-bottom-link li:nth-child(4) a {
    margin: 0 40px;
  }
}

.footer-nav-bottom-link li:nth-child(3) a {
  width: .22rem;
  height: .32rem;
  background: url(../img/common/placeholder_icon.png) no-repeat center center/contain;
}


.footer-nav-bottom-copy {
  margin-top: .4rem;
  font-size: .2rem;
  text-align: center;
}

@media screen and (min-width: 769px) {
  .footer-nav-bottom-copy {
    margin-top: 0;
    font-size: 11px;
  }
}

/*  共通クラス /////////////
/////////////////////////////*/
.sans-serif-en {
  font-family: 'Squada One', cursive;
}

@media screen and (min-width: 769px) {
  .pc-inline {
    display: inline !important;
  }
  .pc-inline-block {
    display: inline-block !important;
  }
  .pc-block {
    display: block !important;
  }
  .pc-hidden {
    display: none !important;
  }
  .pc-flex {
    display: flex !important;
  }
  .pc-inline-flex {
    display: inline-flex !important;
  }
}

@media screen and (max-width: 768px) {
  .sp-inline {
    display: inline !important;
  }
  .sp-inline-block {
    display: inline-block !important;
  }
  .sp-block {
    display: block !important;
  }
  .sp-hidden {
    display: none !important;
  }
  .sp-flex {
    display: flex !important;
  }
  .sp-inline-flex {
    display: inline-flex !important;
  }
}

/*  共通パーツ /////////////
/////////////////////////////*/
.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 10000;
}

.loader {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 45%;
  max-width: 500px;
}

@media screen and (min-width: 769px) {
  .loader {
    width: 80%;
  }
}

.container {
  margin: auto;
  width: 92%;
  max-width: 1200px;
}

@media screen and (min-width: 769px) {
  .container {
    width: 98%;
  }
}

.arrow-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background: #fff;
  transition: .4s;
  z-index: 11;
}

@media screen and (min-width: 769px) {
  .arrow-btn {
    width: 100px;
    height: 100px;
  }
}

.arrow-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  transition: .4s;
}

.arrow-btn:hover::before {
  box-shadow: 0 0 0 0.05rem #d81781;
}

@media screen and (min-width: 769px) {
  .arrow-btn:hover::before {
    box-shadow: 0 0 0 5px #d81781;
  }
}

.arrow-btn::after {
  content: '';
  display: block;
  width: .27rem;
  height: .15rem;
  background: url(../img/common/arrow.png) no-repeat center center/contain;
}

@media screen and (min-width: 769px) {
  .arrow-btn::after {
    width: 27px;
    height: 15px;
  }
}

.cmn-ttl-en {
  font-size: .6rem;
  font-family: 'Squada One', cursive;
  letter-spacing: .1em;
  text-align: center;
}

@media screen and (min-width: 769px) {
  .cmn-ttl-en {
    font-size: 60px;
  }
}

.cmn-subttl {
    margin-top: .15rem;
    font-weight: 500;
  font-size: .24rem;
  letter-spacing: .1em;
  text-align: center;
}

@media screen and (min-width: 769px) {
  .cmn-subttl {
      margin-top: 15px;
    font-size: 18px;
  }
}

.cmn-ttl-jp {
  font-size: .36rem;
  letter-spacing: .1em;
  text-align: center;
  color: #002588;
}

@media screen and (min-width: 769px) {
  .cmn-ttl-jp {
    font-size: 36px;
  }
}

.AnimationItem {
  opacity: 0;
}

.AnimationItem.anime {
  -webkit-animation: fadeIn 0.5s 0.1s forwards;
  animation: fadeIn 0.5s 0.1s forwards;
}

.AnimationItem.item2 {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}

.AnimationItem.item3 {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

.AnimationItem.item4 {
  -webkit-animation-delay: 0.7s;
  animation-delay: 0.7s;
}

.AnimationItem.item5 {
  -webkit-animation-delay: 0.9s;
  animation-delay: 0.9s;
}

.AnimationItem.item6 {
  -webkit-animation-delay: 1.1s;
  animation-delay: 1.1s;
}

.AnimationItem.item7 {
  -webkit-animation-delay: 1.3s;
  animation-delay: 1.3s;
}

.AnimationItem.item8 {
  -webkit-animation-delay: 1.5s;
  animation-delay: 1.5s;
}

.AnimationItem.item9 {
  -webkit-animation-delay: 1.7s;
  animation-delay: 1.7s;
}

.AnimationItem.item10 {
  -webkit-animation-delay: 1.9s;
  animation-delay: 1.9s;
}

.AnimationItem.item11 {
  -webkit-animation-delay: 2.1s;
  animation-delay: 2.1s;
}

.AnimationItem.item12 {
  -webkit-animation-delay: 2.3s;
  animation-delay: 2.3s;
}

.AnimationItem.item13 {
  -webkit-animation-delay: 2.5s;
  animation-delay: 2.5s;
}

.AnimationItem.item14 {
  -webkit-animation-delay: 2.7s;
  animation-delay: 2.7s;
}

.animeItem.overlay-item {
  position: relative;
  overflow: hidden;
  transform: translate(0, 0, 0);
}

.animeItem.overlay-item::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  display: block;
  width: 0;
  height: 100%;
  background: #d81781;
}

.animeItem.overlay-item > * {
  opacity: 0;
}

.animeItem.overlay-item.start::after {
  -webkit-animation: overlayFadeBlockIn 0.6s cubic-bezier(0.895, 0.03, 0.685, 0.22) forwards, overlayFadeBlockOut 0.6s 1s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
  animation: overlayFadeBlockIn 0.6s cubic-bezier(0.895, 0.03, 0.685, 0.22) forwards, overlayFadeBlockOut 0.6s 1s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}

.animeItem.overlay-item.start > * {
  -webkit-animation: fadeIn .1s .6s forwards;
  animation: fadeIn .1s .6s forwards;
}

.animeItem.fadeIn {
  opacity: 0;
}

.animeItem.fadeIn.start {
  -webkit-animation: fadeIn .6s ease-in forwards;
  animation: fadeIn .6s ease-in forwards;
}

.animeItem.fadeInUp {
  opacity: 0;
}

.animeItem.fadeInUp.start {
  -webkit-animation: fadeInUp .6s ease-in forwards;
  animation: fadeInUp .6s ease-in forwards;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(10%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(10%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@-webkit-keyframes overlayFadeBlockIn {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}

@keyframes overlayFadeBlockIn {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}

@-webkit-keyframes overlayFadeBlockOut {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(101%);
  }
}

@keyframes overlayFadeBlockOut {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(101%);
  }
}

/*  下層ページ共通 /////////////
/////////////////////////////*/
.mainvisual {
  position: relative;
  padding: 2.65rem 0 1.15rem;
  height: 9.55rem;
  background: #fff url(../img/common/keyvisual_bg.png) repeat center center;
}

@media screen and (min-width: 769px) {
  .mainvisual {
    padding: 0;
    height: 525px;
    background: url(../img/common/pc/keyvisual_bg.png) repeat top left/auto;
  }
}

@media screen and (min-width: 769px) {
  .mainvisual-catch {
    position: absolute;
    top: 158px;
    left: 50%;
    min-width: 220px;
    z-index: 2;
    transform: translateX(-50%);
    text-align: center;
  }
}

.mainvisual-catch picture {
  display: block;
  margin: auto;
  width: 4rem;
}

@media screen and (min-width: 769px) {
  .mainvisual-catch picture {
    width: 220px;
  }
}

.mainvisual-catch-ttl {
  margin-top: .55rem;
  text-align: center;
}

@media screen and (min-width: 769px) {
  .mainvisual-catch-ttl {
    margin-top: 10px;
  }
}

.mainvisual-catch-ttl .ja {
  font-size: .72rem;
  letter-spacing: .1em;
}

@media screen and (min-width: 769px) {
  .mainvisual-catch-ttl .ja {
    font-size: 36px;
  }
}

.mainvisual-catch-ttl .en {
  margin-top: .20rem;
  font-size: .36rem;
  letter-spacing: .1em;
  color: #d81781;
  font-family: 'Squada One', cursive;
}

@media screen and (min-width: 769px) {
  .mainvisual-catch-ttl .en {
    margin-top: 5px;
    font-size: 18px;
  }
}

.mainvisual-nextcontents {
  position: absolute;
  bottom: 0;
  left: 50%;
  z-index: 1;
  transform: translate(-50%, 50%);
}

.main-contents {
  position: relative;
}

.main-contents::after {
  content: '';
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: url(../img/common/contents_bg.png) repeat top left;
  background-size: 4.66667%;
}

@media screen and (min-width: 769px) {
  .main-contents::after {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .main-contents {
    background: url(../img/common/pc/content_bg.png) repeat top left/auto;
    background-attachment: fixed;
  }
}
.low {
    width: 50%;
    margin: 5% auto 2%;
}
@media screen and (min-width:0px) and (max-width:767px) {
.low {
    width: 80%;
    margin: 5% auto 2%;
}
}
