@charset "UTF-8";
:root {
  --baseDeviceWidth: 835;
}

iframe[name=google_conversion_frame] {
  position: absolute;
  height: 0;
}

.l-contents {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: YakuHanJP_Noto, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  -webkit-text-size-adjust: 100%;
}
.l-contents * {
  box-sizing: border-box;
}
.l-contents img {
  max-width: 100%;
}
.l-contents button {
  display: block;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  background: none;
}

@media (max-width: 834px) {
  ::-webkit-scrollbar {
    display: none;
  }
}
@media (max-width: 834px) {
  .-gnav_active {
    overflow: hidden;
  }
}

.l-container {
  position: relative;
  overflow: hidden;
}

.l-dlmodal.c-modal {
  background: #000;
  padding-left: 50%;
}
@media (max-width: 834px) {
  .l-dlmodal.c-modal {
    align-items: flex-start;
    padding-left: 0;
  }
}

.l-dlmodal__ttl {
  color: #fff;
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  font-weight: 500;
}
@media (min-width: 835px) {
  .l-dlmodal__ttl {
    font-size: 1.75rem;
  }
}

.l-dlmodal__ph {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vw;
  background: url(../../assets/img/common/dlmodal/ph_artistmain.jpg) no-repeat 50% 50%/cover;
}
@media (min-width: 835px) {
  .l-dlmodal__ph {
    position: fixed;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background-position: 50% 50%;
  }
}
.l-dlmodal__ph:after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: #000;
  transform: scaleX(1);
  transform-origin: 0 0;
  transition: transform 0.4s 0.4s cubic-bezier(0.85, 0, 0.15, 1);
}
.-active .l-dlmodal__ph:after {
  transform-origin: 100% 0;
  transform: scaleX(0);
}

.l-dlmodal__ph__logo {
  position: absolute;
  top: 7.5%;
  left: 50%;
  transform: translate(-50%, 0);
  width: 20%;
  filter: drop-shadow(0px 0px 100px black);
}
@media (min-width: 835px) {
  .l-dlmodal__ph__logo {
    width: 160px;
  }
}

.l-dlmodal__inner {
  position: relative;
  margin: 0 auto;
  transform: translate(-20px, 0);
  opacity: 0;
  transition: opacity 0.4s 0.6s ease, transform 0.4s 0.6s ease;
}
@media (max-width: 834px) {
  .l-dlmodal__inner {
    margin-top: 80vw;
    background: rgba(0, 0, 0, 0.75);
    padding: 20px;
  }
}
.-active .l-dlmodal__inner {
  opacity: 1;
  transform: translate(0, 0);
}

.l-dlmodal__list {
  display: flex;
  flex-wrap: wrap;
  margin: 15px -5px -5px;
}
@media (min-width: 835px) {
  .l-dlmodal__list {
    margin-top: 15px;
    max-width: 600px;
  }
}

.l-dlmodal__list__item {
  width: calc(50% - 10px);
  height: 40px;
  border: 1px solid #333;
  margin-top: 20px;
  background: #fff;
  text-align: center;
  position: relative;
  margin: 5px;
}
@media (min-width: 835px) {
  .l-dlmodal__list__item {
    height: 60px;
  }
}
.l-dlmodal__list__item a {
  position: relative;
  display: block;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.l-dlmodal__list__item img {
  height: 80%;
  max-width: initial;
  width: auto;
}
@media (min-width: 835px) {
  .l-dlmodal__list__item img {
    height: 80%;
  }
}

.l-pagehead {
  position: relative;
  margin: 105px auto 30px;
  text-align: center;
  line-height: 1;
  height: 5vw;
  z-index: 1;
}
@media (min-width: 835px) {
  .l-pagehead {
    height: 30px;
  }
}
@media (min-width: 835px) {
  .l-pagehead {
    max-width: 524px;
    margin: 230px auto 40px;
  }
}
@media (min-width: 835px) {
  .discography .l-pagehead, .biography .l-pagehead {
    max-width: 720px;
  }
}
@media (max-width: 834px) {
  .live .l-pagehead {
    text-align: left;
    padding-left: 40px;
  }
}

@-webkit-keyframes pagehead_txt {
  0% {
    opacity: 0;
    transform: scale(1.04);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes pagehead_txt {
  0% {
    opacity: 0;
    transform: scale(1.04);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.l-pagehead__txt {
  position: relative;
  height: 100%;
  opacity: 0;
  -webkit-animation: pagehead_txt 1s 0.75s cubic-bezier(0.85, 0, 0.15, 1) forwards;
          animation: pagehead_txt 1s 0.75s cubic-bezier(0.85, 0, 0.15, 1) forwards;
}
.l-pagehead__txt img {
  width: auto;
  max-width: initial;
  height: 100%;
}

.l-pagehead__linewrap {
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 195px;
  height: 1px;
  transform: rotate(-45deg);
  transform-origin: 0 0;
  z-index: 1;
}
@media (max-width: 834px) {
  .l-pagehead__linewrap {
    position: absolute;
    left: auto;
    bottom: 20px;
    right: 0;
    transform-origin: 100% 100%;
    width: 100px;
  }
}

.l-pagehead__line {
  position: relative;
  display: block;
  width: 100%;
  height: 1px;
  background: #c7c7c7;
  transform: scaleX(0);
  -webkit-animation: pagehead_line 1s 0.25s cubic-bezier(0.85, 0, 0.15, 1) forwards;
          animation: pagehead_line 1s 0.25s cubic-bezier(0.85, 0, 0.15, 1) forwards;
}

.l-pagehead__tri1 {
  position: absolute;
  top: -44px;
  left: 103px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 15px 15px;
  border-color: transparent transparent #00bcff transparent;
  opacity: 0;
  -webkit-animation: pagehead_tri1 1s 0.5s cubic-bezier(0.85, 0, 0.15, 1) forwards;
          animation: pagehead_tri1 1s 0.5s cubic-bezier(0.85, 0, 0.15, 1) forwards;
}
@media (max-width: 834px) {
  .l-pagehead__tri1 {
    display: none;
  }
}

.l-pagehead__tri2 {
  position: absolute;
  top: auto;
  left: auto;
  bottom: -70px;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 70px 70px 0 0;
  border-color: #00bcff transparent transparent transparent;
  opacity: 0;
  -webkit-animation: pagehead_tri2 1s 0.5s cubic-bezier(0.85, 0, 0.15, 1) forwards;
          animation: pagehead_tri2 1s 0.5s cubic-bezier(0.85, 0, 0.15, 1) forwards;
}
@media (max-width: 834px) {
  .l-pagehead__tri2 {
    position: absolute;
    top: 40px;
    left: 14px;
    bottom: auto;
    right: auto;
    border-width: 50px 50px 0 0;
  }
}

@-webkit-keyframes pagehead_line {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}

@keyframes pagehead_line {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}
@-webkit-keyframes pagehead_tri1 {
  0% {
    opacity: 0;
    transform: translate(0, -25px);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes pagehead_tri1 {
  0% {
    opacity: 0;
    transform: translate(0, -25px);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
@-webkit-keyframes pagehead_tri2 {
  0% {
    opacity: 0;
    transform: translate(0, 25px);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes pagehead_tri2 {
  0% {
    opacity: 0;
    transform: translate(0, 25px);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
.l-contents .l-pagetop {
  position: absolute;
  top: 0;
  right: 0;
  width: 34px;
  height: 34px;
  transform: translate(0, calc(-100% - 8px));
  background: url(../../assets/img/common/pagetop/btn-pagetop.png) no-repeat 0 0/100% 100%;
}
@media (min-width: 835px) {
  .l-contents .l-pagetop {
    transform: translate(-12px, calc(-100% - 8px));
    display: none;
  }
}
.l-contents .l-pagetop:hover {
  background: url(../../assets/img/common/pagetop/btn-pagetop_on.png) no-repeat 0 0/100% 100%;
}

@media (min-width: 835px) {
  .pagetop {
    position: fixed;
    left: auto;
    bottom: 16px;
    right: 16px;
  }
}

.l-subpagemain {
  position: relative;
  overflow: hidden;
  padding: 40px 0;
}
@media (min-width: 835px) {
  .l-subpagemain {
    padding: 135px 0;
  }
}
@media (max-width: 834px) {
  .l-subpagemain.-noovh_nrw {
    overflow: visible;
  }
}
.l-subpagemain:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: calc(100% - 40px);
  height: 100%;
  background: #000;
}
@media (min-width: 835px) {
  .l-subpagemain:before {
    width: calc(100% - 10.41666666vw);
  }
}
.l-subpagemain:after {
  position: absolute;
  bottom: 0;
  right: 40px;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 50px 50px;
  border-color: transparent transparent #fff transparent;
}
@media (min-width: 835px) {
  .l-subpagemain:after {
    position: absolute;
    bottom: 0;
    right: 10.41666666vw;
  }
}

.l-subpagemain__bgtxt {
  position: absolute;
  top: 0;
  left: 11.7vw;
  height: 153px;
  transform: translate(153px, 0) rotate(90deg);
  transform-origin: 0 0;
  opacity: 0.12;
}
.l-subpagemain__bgtxt img {
  max-width: initial;
  width: auto;
  height: 100%;
}
@media (max-width: 834px) {
  .l-subpagemain__bgtxt {
    display: none;
  }
}

/* ======================================
Animation
====================================== */
@-webkit-keyframes subpagecont {
  0% {
    opacity: 0;
    transform: translate(20px, 0);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes subpagecont {
  0% {
    opacity: 0;
    transform: translate(20px, 0);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
@-webkit-keyframes subpagemain {
  0% {
    transform-origin: 100% 0;
    transform: scaleX(0);
  }
  100% {
    transform-origin: 100% 0;
    transform: scaleX(1);
  }
}
@keyframes subpagemain {
  0% {
    transform-origin: 100% 0;
    transform: scaleX(0);
  }
  100% {
    transform-origin: 100% 0;
    transform: scaleX(1);
  }
}
.l-subpagemain:before {
  transform: scaleX(0);
  -webkit-animation: subpagemain 0.8s 0s cubic-bezier(0.85, 0, 0.15, 1) forwards;
          animation: subpagemain 0.8s 0s cubic-bezier(0.85, 0, 0.15, 1) forwards;
}

.l-subpagecont {
  opacity: 0;
  -webkit-animation: subpagecont 1s 0.5s cubic-bezier(0.85, 0, 0.15, 1) forwards;
          animation: subpagecont 1s 0.5s cubic-bezier(0.85, 0, 0.15, 1) forwards;
}

.l-footer .l-footer__bnr .bnrSwiper-pagination {
  bottom: -20px;
}
@media (min-width: 835px) {
  .l-footer .l-footer__bnr .bnrSwiper-pagination {
    bottom: -20px;
  }
}

.l-footer .l-footer__bnr .swiper-pagination-bullet {
  width: 30px;
  height: 4px;
  background: #d7d7d7;
  border-radius: 0px;
  opacity: 1;
  transition: background 0.1s 0s ease;
}
@media (min-width: 835px) {
  .l-footer .l-footer__bnr .swiper-pagination-bullet {
    width: 34px;
    height: 4px;
  }
}
.l-footer .l-footer__bnr .swiper-pagination-bullet:hover {
  background: #16317e;
}
.l-footer .l-footer__bnr .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #16317e;
}

.bnrSwiper-next,
.bnrSwiper-prev {
  width: 24px;
  height: 24px;
  z-index: 20;
  cursor: pointer;
}
@media (min-width: 835px) {
  .bnrSwiper-next,
.bnrSwiper-prev {
    width: 28px;
    height: 28px;
  }
}
.bnrSwiper-next:before,
.bnrSwiper-prev:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: url(../../assets/img/common/footer/ico_arw.svg) no-repeat 0 0/100%;
}

.bnrSwiper-next {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(60%, -50%);
}
.bnrSwiper-next:before {
  transform: rotate(180deg);
}

.bnrSwiper-prev {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(-60%, -50%);
}

.l-footer__inner {
  max-width: 896px;
  margin: 0 auto;
}

.l-footer__subttl {
  position: relative;
  margin-top: 36px;
  margin-left: 24px;
  font-size: 1.125rem;
  font-weight: 700;
}
@media (min-width: 835px) {
  .l-footer__subttl {
    margin-left: 0;
    margin-top: 32px;
  }
}
.l-footer__subttl:before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 1.4em;
  position: relative;
  top: 0.3em;
  margin-right: 0.5em;
  background: #000;
}

.l-footer__sponcers {
  margin: 28px 0;
}
@media (min-width: 835px) {
  .l-footer__sponcers {
    margin: 15px 0 26px;
  }
}

@media (min-width: 835px) {
  .l-footer__row {
    display: flex;
  }
}

.l-footer__bnr {
  position: relative;
  margin: 0 25px;
}
@media (min-width: 835px) {
  .l-footer__bnr {
    width: 435px;
    margin: 0;
  }
}
.l-footer__bnr img {
  width: 100%;
  max-width: initial;
}

.l-footer__notice {
  margin: 24px 24px 0;
}
@media (min-width: 835px) {
  .l-footer__notice {
    width: calc(100% - 435px);
    margin: 0;
    padding-left: 50px;
  }
}

.l-footer__column__inner {
  max-width: 392px;
  margin: 0 auto;
}

.l-footer__column {
  position: relative;
  margin-top: -40px;
  height: 137.3vw;
  background: url(../../assets/img/common/footer/ph_columnbg.svg) no-repeat 50% 0/auto 100%;
  color: #fff;
  padding-top: 16vw;
}
@media (min-width: 835px) {
  .l-footer__column {
    background: #3fb4ff;
    padding: 75px 0 45px;
    height: auto;
    margin-top: 0;
  }
}
@media (min-width: 835px) {
  .l-footer__column:after {
    position: absolute;
    top: 0;
    left: 50.75%;
    transform: translate(-50%, 0);
    content: "";
    width: 302px;
    height: 39px;
    background: url(../../assets/img/common/footer/ph_columnbg_wide.svg) no-repeat 0 0/100%;
  }
}

.l-footer__column__ttl {
  font-weight: 900;
  text-align: center;
  font-size: 1.125rem;
  line-height: 36px;
  margin: 0 24px;
}
@media (min-width: 835px) {
  .l-footer__column__ttl {
    margin: 0;
    line-height: 44px;
    font-size: 1.3125rem;
  }
}
.l-footer__column__ttl .row {
  display: block;
  border-top: 1px solid #79caff;
}
.l-footer__column__ttl .row:last-child {
  border-bottom: 1px solid #79caff;
}

.l-footer__column__lead {
  position: relative;
  height: 18px;
  background: url(../../assets/img/common/footer/ph_fukidashi.svg) no-repeat 50% 0/auto 100%;
  font-weight: 700;
  font-size: 0.875rem;
  color: #16317e;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
}
@media (min-width: 835px) {
  .l-footer__column__lead {
    height: 23px;
    font-size: 1.0625rem;
    margin-top: 20px;
  }
}

.l-footer__column__bnrlist {
  margin: 0 24px;
}
@media (min-width: 835px) {
  .l-footer__column__bnrlist {
    margin: 0;
  }
}

.l-footer__column__bnrlist__item {
  margin-top: 14px;
}
@media (min-width: 835px) {
  .l-footer__column__bnrlist__item {
    margin-top: 18px;
    border-radius: 10px;
    overflow: hidden;
  }
}
.l-footer__column__bnrlist__item img {
  position: relative;
  transition: all 0.2s 0s ease;
}
.l-footer__column__bnrlist__item:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: #fff;
  transition: all 0.2s 0s ease;
  border-radius: 10px;
}
.l-footer__column__bnrlist__item:hover img {
  transform: translate(0, 4px);
  opacity: 0.75;
}
.l-footer__column__bnrlist__item:hover:before {
  transform: translate(0, 4px);
}

.l-gnav_wrap {
  position: fixed;
  top: 50px;
  left: 0;
  width: 100%;
  height: calc(100% - 50px);
  background: #fff;
  opacity: 0;
  visibility: hidden;
  z-index: 99998;
  overflow-y: auto;
  transition: all 0.3s 0s ease;
}
@media (min-width: 835px) {
  .l-gnav_wrap {
    position: fixed;
    top: 0;
    left: auto;
    right: 0;
    width: 528px;
    height: 100%;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
    transition: all 0.3s 0s ease;
    transform: translate(100%, 0);
  }
}
.-gnav_active .l-gnav_wrap {
  opacity: 1;
  visibility: visible;
  transform: translate(0, 0);
}

.l-gnav_wrap .l-header__trigger {
  position: absolute;
  top: 24px;
  left: auto;
  bottom: auto;
  right: 24px;
}

.l-gnav {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 5.6vw 6.4vw 0;
  font-size: 0.9375rem;
}
@media (min-width: 835px) {
  .l-gnav {
    padding: 128px 0 0;
    width: 458px;
    margin: 0 auto;
  }
}

a.l-gnav__item {
  display: block;
  color: #46465a;
  padding: 4.5vw 0 4.5vw 1vw;
  border-top: 1px dashed #d1d1d1;
  display: flex;
  align-items: center;
  letter-spacing: -0.04rem;
  line-height: 1;
  font-weight: 900;
  position: relative;
  width: 38.2vw;
}
@media (min-width: 835px) {
  a.l-gnav__item {
    font-size: 1.3125rem;
    width: 200px;
    padding: 24px 0 24px 10px;
  }
}
a.l-gnav__item:nth-child(5), a.l-gnav__item:nth-child(6) {
  border-bottom: 1px dashed #d1d1d1;
}
a.l-gnav__item:last-child {
  width: 100%;
  border-top: none;
  border-bottom: 1px dashed #d1d1d1;
}
@media (min-width: 835px) {
  a.l-gnav__item:last-child {
    width: 458px;
  }
}
a.l-gnav__item:before {
  display: block;
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 4px;
  background: #16317e;
  transform: translate(-100%, 5%);
  opacity: 0;
}
a.l-gnav__item::after {
  position: absolute;
  top: 42%;
  right: 6px;
  display: block;
  content: "";
  border: 6px solid transparent;
  border-top: 7px solid #cfcfcf;
}
@media (min-width: 835px) {
  a.l-gnav__item::after {
    position: absolute;
    top: 42%;
    right: 6px;
    display: block;
    content: "";
    border: 8px solid transparent;
    border-top: 9px solid #cfcfcf;
  }
}
a.l-gnav__item.-active, a.l-gnav__item:hover {
  color: #16317e;
  text-decoration: none;
}
a.l-gnav__item.-active .small {
  color: #16317e;
}
a.l-gnav__item.-active:before {
  opacity: 1;
}
a.l-gnav__item .small {
  color: #787878;
  font-size: 0.75rem;
  font-weight: 500;
  display: block;
  margin-left: 5px;
}

.l-gnav_link {
  margin: 32px 40px;
}
@media (min-width: 835px) {
  .l-gnav_link {
    margin: 45px 72px;
  }
}

a.l-gnav_link__item {
  display: block;
  position: relative;
  background: #16317e;
  border-radius: 10px;
  margin-bottom: 8px;
  height: 50px;
}
@media (min-width: 835px) {
  a.l-gnav_link__item {
    height: 70px;
    margin-bottom: 10px;
    border-radius: 14px;
  }
}
a.l-gnav_link__item:after {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(-75%, -50%);
  content: "";
  width: 16px;
  height: 16px;
  background: url(../../assets/img/common/header/gnav/ico_arw.svg) no-repeat 0% 0%/100%;
}
@media (min-width: 835px) {
  a.l-gnav_link__item:after {
    width: 20px;
    height: 20px;
  }
}
a.l-gnav_link__item:hover {
  text-decoration: none;
}
a.l-gnav_link__item .ico {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  display: block;
  width: 75px;
  height: 35px;
}
@media (min-width: 835px) {
  a.l-gnav_link__item .ico {
    width: 110px;
    height: 47px;
  }
}
a.l-gnav_link__item.-witch .ico {
  background: url(../../assets/img/top/mainvisual/nav/ico_witch.png) no-repeat 50% 50%/auto 100%;
}
a.l-gnav_link__item.-earth .ico {
  background: url(../../assets/img/top/mainvisual/nav/ico_earth.png) no-repeat 50% 50%/auto 95%;
}
a.l-gnav_link__item.-taiken .ico {
  background: url(../../assets/img/top/mainvisual/nav/ico_taiken.png) no-repeat 50% 50%/auto 80%;
}
@media (min-width: 835px) {
  a.l-gnav_link__item.-taiken .ico {
    background-position: 50% 50%;
  }
}
a.l-gnav_link__item.-login .ico {
  background: url(../../assets/img/top/mainvisual/nav/ico_login.png) no-repeat 50% 50%/auto 70%;
}
@media (min-width: 835px) {
  a.l-gnav_link__item.-login .ico {
    background-position: 50% 50%;
  }
}
a.l-gnav_link__item .sub {
  display: block;
  font-size: 0.75rem;
  color: #8a98be;
  white-space: nowrap;
  line-height: 1;
  font-weight: 700;
  padding-left: 75px;
  padding-top: 9px;
}
@media (min-width: 835px) {
  a.l-gnav_link__item .sub {
    text-align: left;
    padding-left: 110px;
    padding-top: 15px;
    font-size: 0.9375rem;
  }
}
a.l-gnav_link__item .main {
  display: block;
  font-size: 0.9375rem;
  font-weight: 900;
  color: #fff;
  line-height: 1.4;
  padding-left: 75px;
}
@media (min-width: 835px) {
  a.l-gnav_link__item .main {
    text-align: left;
    padding-left: 110px;
    font-size: 1.25rem;
  }
}

.l-header {
  height: 50px;
  background: rgba(255, 255, 255, 0.7);
  z-index: 1;
  border-top: 1px solid #e6e6e6;
  z-index: 99999;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  transform: translate(0, -100%);
  transition: transform 0.4s 0s ease;
}
@media (min-width: 835px) {
  .l-header {
    height: 64px;
  }
}
.l-header.-onscroll {
  transform: translate(0, 0);
}
.-gnav_active .l-header {
  background: white;
}
@media (min-width: 835px) {
  .-gnav_active .l-header {
    transform: translate(0, -100%);
  }
}

.l-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  padding: 0 20px;
}
@media (min-width: 835px) {
  .l-header__inner {
    padding: 0 40px;
  }
}

.l-header__logo {
  width: 180px;
  line-height: 1;
}
@media (min-width: 835px) {
  .l-header__logo {
    width: 200px;
  }
}

.l-header__trigger {
  position: relative;
  width: 32px;
  height: 19px;
}
.l-header__trigger span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 3px;
  background: #122d8b;
  transition: all 0.3s 0s ease;
}
.l-header__trigger span:before,
.l-header__trigger span:after {
  content: "";
  width: 100%;
  height: 100%;
  background: #122d8b;
  transition: all 0.3s 0s ease;
}
.l-header__trigger span:before {
  position: absolute;
  top: -9px;
  left: 0;
}
.l-header__trigger span:after {
  position: absolute;
  top: 9px;
  left: 0;
}
.-gnav_active .l-header__trigger span {
  background: none;
}
.-gnav_active .l-header__trigger span:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  background: #122d8b;
}
.-gnav_active .l-header__trigger span:after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  background: #122d8b;
}

.js-acc {
  overflow: hidden;
  height: 0px;
  transition: height 0.4s 0s ease;
}

.js-acc_trigger {
  cursor: pointer;
}

.c-inner {
  position: relative;
  max-width: 940px;
  margin: 0 40px;
  color: #fff;
}
@media (min-width: 835px) {
  .c-inner {
    margin: 0 auto;
  }
}
@media (max-width: 834px) {
  .c-inner.-reverse {
    margin: 0 0 0 40px;
  }
}

.c-lead {
  text-align: center;
  font-size: 0.9375rem;
  font-weight: 500;
}
@media (min-width: 835px) {
  .c-lead {
    font-size: 1.3125rem;
  }
}

.c-notice {
  font-size: 0.75rem;
  color: #787878;
}

@-webkit-keyframes contin {
  0% {
    opacity: 0;
    transform: translate(0, 10px);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}

@keyframes contin {
  0% {
    opacity: 0;
    transform: translate(0, 10px);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
.c-cmnreveal {
  opacity: 0;
}
.c-cmnreveal.-reveal {
  -webkit-animation: contin 0.8s 0s ease forwards;
          animation: contin 0.8s 0s ease forwards;
}

.c-listreveal li {
  opacity: 0;
  transform: translate(0, 20px);
}
.c-listreveal li:nth-child(1) {
  transition: all 0.6s 0s ease;
}
.c-listreveal li:nth-child(2) {
  transition: all 0.6s 0.2s ease;
}
.c-listreveal li:nth-child(3) {
  transition: all 0.6s 0.4s ease;
}
.c-listreveal li:nth-child(4) {
  transition: all 0.6s 0.6s ease;
}
.c-listreveal li:nth-child(5) {
  transition: all 0.6s 0.8s ease;
}
.c-listreveal li:nth-child(6) {
  transition: all 0.6s 1s ease;
}
.c-listreveal.-reveal li {
  opacity: 1;
  transform: translate(0, 0);
}

.c-section {
  margin-top: 45px;
}
@media (min-width: 835px) {
  .c-section {
    margin-top: 70px;
  }
}

.c-secttl {
  position: relative;
  height: 36vw;
  background: url(../../assets/img/common/block/ph_secttl.svg) no-repeat 50% 0/auto 100%;
  margin-bottom: 20px;
  opacity: 0;
}
.c-secttl.-reveal {
  transition: opacity 0.4s 0s ease;
  opacity: 1;
}
@media (min-width: 835px) {
  .c-secttl {
    height: 135px;
    margin-bottom: 25px;
  }
}
.c-secttl.-l2 {
  height: 42.4vw;
  background: url(../../assets/img/common/block/ph_secttl_l2.svg) no-repeat 50% 0/auto 100%;
}
@media (min-width: 835px) {
  .c-secttl.-l2 {
    height: 159px;
  }
}
@media (min-width: 835px) {
  .c-secttl:before {
    position: absolute;
    top: 76px;
    left: 0;
    content: "";
    width: 100%;
    height: 4px;
    background: #16317e;
    transform: scaleX(0);
  }
}
@media (min-width: 835px) {
  .c-secttl.-reveal:before {
    transition: transform 0.4s 0.4s ease;
    transform: scaleX(1);
  }
}
.c-secttl .ttl {
  position: relative;
  display: block;
  font-size: 1.5625rem;
  font-weight: 900;
  color: #fff;
  text-align: center;
  padding-top: 17.8vw;
  line-height: 1;
  transform: translate(0, 20px);
  opacity: 0;
}
@media (min-width: 835px) {
  .c-secttl .ttl {
    padding-top: 67px;
  }
}
.c-secttl.-l2 .ttl {
  font-size: 1.375rem;
  line-height: 1.3636363636;
}
@media (min-width: 835px) {
  .c-secttl.-l2 .ttl {
    padding-top: 62px;
  }
}
.c-secttl.-reveal .ttl {
  transition: all 0.4s 0.4s ease;
  transform: translate(0, 0);
  opacity: 1;
}
.c-secttl .ico {
  position: absolute;
  top: 0.8vw;
  left: 50%;
  transform: translate(-50%, 0);
  display: block;
  width: 13.3vw;
  height: 13.3vw;
  border-radius: 50%;
  overflow: hidden;
}
@media (min-width: 835px) {
  .c-secttl .ico {
    position: absolute;
    top: 2px;
    left: 50%;
    width: 52px;
    height: 52px;
  }
}
.c-secttl .ico img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 14.9vw;
  height: 14.9vw;
  line-height: 1;
  max-width: initial;
  transform: translate(-50%, calc(-50% + 100px));
}
@media (min-width: 835px) {
  .c-secttl .ico img {
    width: 56px;
    height: 56px;
  }
}
.c-secttl.-reveal .ico img {
  -webkit-animation: icoanim 0.4s 0.4s ease forwards;
          animation: icoanim 0.4s 0.4s ease forwards;
}

@-webkit-keyframes icoanim {
  0% {
    transform: translate(-50%, calc(-50% + 100px));
  }
  100% {
    transform: translate(-50%, -50%);
  }
}

@keyframes icoanim {
  0% {
    transform: translate(-50%, calc(-50% + 100px));
  }
  100% {
    transform: translate(-50%, -50%);
  }
}
a.c-arwlinkbtn {
  position: relative;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
  margin-top: 14px;
  display: block;
  text-decoration: underline;
}
@media (min-width: 835px) {
  a.c-arwlinkbtn {
    font-size: 1.1875rem;
  }
}
a.c-arwlinkbtn:hover {
  text-decoration: none;
}
a.c-arwlinkbtn:after {
  position: relative;
  content: "";
  width: 8px;
  height: 8px;
  display: inline-block;
  border-right: 2px solid;
  border-top: 2px solid;
  transform: rotate(45deg);
  margin-left: 2px;
  top: -1px;
}
@media (min-width: 835px) {
  a.c-arwlinkbtn:after {
    width: 11px;
    height: 11px;
  }
}

.c-hover_op {
  transition: opacity 0.3s 0s ease;
}
.c-hover_op:hover {
  opacity: 0.7;
}

a.c-morebtn,
button.c-morebtn {
  position: relative;
  font-size: 0.8125rem;
  font-weight: 700;
  text-align: center;
  display: block;
  border: 1px solid;
  color: #787878;
  width: 144px;
  margin: 20px auto 0;
  line-height: 1;
  padding: 6px;
  border-radius: 14px;
  transition: all 0.2s 0s ease;
}
@media (min-width: 835px) {
  a.c-morebtn,
button.c-morebtn {
    width: 172px;
    font-size: 0.9375rem;
    margin: 45px auto 0;
  }
}
a.c-morebtn:before,
button.c-morebtn:before {
  content: "もっと見る";
}
a.c-morebtn.-active:before,
button.c-morebtn.-active:before {
  content: "閉じる";
}
a.c-morebtn:hover,
button.c-morebtn:hover {
  background: #787878;
  color: #fff;
}
a.c-morebtn:after,
button.c-morebtn:after {
  position: absolute;
  top: 45%;
  right: 10px;
  transform: translate(0, -50%) rotate(45deg);
  content: "";
  width: 8px;
  height: 8px;
  display: inline-block;
  border-right: 2px solid;
  border-bottom: 2px solid;
}
@media (min-width: 835px) {
  a.c-morebtn:after,
button.c-morebtn:after {
    position: absolute;
    top: 45%;
    right: 12px;
    width: 9px;
    height: 9px;
  }
}
a.c-morebtn.-active:after,
button.c-morebtn.-active:after {
  transform: translate(0, -10%) rotate(-135deg);
}

.c-taikenbtn {
  display: block;
  width: 85.3vw;
  margin: 40px auto 0;
}
@media (min-width: 835px) {
  .c-taikenbtn {
    width: 448px;
    margin: 20px auto 0;
    border-radius: 39px;
    overflow: hidden;
  }
}
.c-taikenbtn img {
  transition: all 0.2s 0s ease;
}
.c-taikenbtn:hover img {
  transform: translate(0, 5px);
  opacity: 0.8;
}

.c-visible_nrw {
  display: block;
}
@media (min-width: 835px) {
  .c-visible_nrw {
    display: none;
  }
}

@media (max-width: 834px) {
  .c-visible_wide {
    display: none;
  }
}