/* LESS Document */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosansjp/v56/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFE8j75s.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosansjp/v56/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFBEj75s.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosansjp/v56/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFCMj75s.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosansjp/v56/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFM8k75s.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosansjp/v56/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFPYk75s.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosansjp/v56/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFLgk75s.ttf) format('truetype');
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/oswald/v57/TK3_WkUHHAIjg75cFRf3bXL8LICs13FvgUE.ttf) format('truetype');
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/oswald/v57/TK3_WkUHHAIjg75cFRf3bXL8LICs169vgUE.ttf) format('truetype');
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/oswald/v57/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvgUE.ttf) format('truetype');
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/oswald/v57/TK3_WkUHHAIjg75cFRf3bXL8LICs18NvgUE.ttf) format('truetype');
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/oswald/v57/TK3_WkUHHAIjg75cFRf3bXL8LICs1y9ogUE.ttf) format('truetype');
}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/oswald/v57/TK3_WkUHHAIjg75cFRf3bXL8LICs1xZogUE.ttf) format('truetype');
}
html,
body {
  width: 100%;
  height: 100%;
  scroll-behavior: smooth;
  overflow-x: hidden;
  overflow-y: auto;
}
body {
  min-width: inherit;
  scroll-behavior: smooth;
  scroll-padding-top: 3rem;
  background: #FFF;
  padding-top: 0;
}
body {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}
img {
  pointer-events: none;
  -webkit-user-drag: none;
}
a {
  color: #0062d8;
}
a:visited {
  color: #0062d8;
}
sup {
  font-size: 60%;
  vertical-align: baseline;
  line-height: normal;
}
img {
  width: 100%;
}
* {
  box-sizing: border-box;
  font-family: 'Noto Sans Japanese', 'Noto Sans JP', sans-serif;
}
.visually-hidden {
  display: none !important;
}
.a-center {
  text-align: center  !important;
}
.sp-br {
  display: none;
}
@media screen and (max-width: 859px) {
  .sp-br {
    display: block;
  }
}
/* Color
--------------------------------------------------------------------------*/
/* link */
/* FONT
--------------------------------------------------------------------------*/
body {
  color: #FFF;
}
h1 {
  font-size: 2.4rem;
  font-weight: 700;
}
h1 span {
  font-size: 2.4rem;
  font-weight: 700;
}
h2 {
  font-size: min(2.2rem, 6.2vw);
  font-weight: 900;
  color: #0262b1;
}
h2 span {
  color: #3e3e3e;
  font-size: 46%;
  font-weight: 400;
  display: block;
}
h3 {
  font-size: min(1.7rem, 4.2vw);
  font-weight: 500;
  color: #0262b1;
}
h3 span {
  color: #3e3e3e;
  font-size: 65%;
  font-weight: 400;
  display: block;
}
h4 {
  font-size: min(1.8rem, 3.2vw);
  font-weight: 700;
  color: #0262b1;
}
h5 {
  font-size: min(1.8rem, 3.2vw);
  font-weight: 500;
}
h6 {
  font-size: min(1.6rem, 2.2vw);
  font-weight: 500;
}
p,
td,
th,
dt,
dd,
li {
  font-size: 1rem;
  letter-spacing: 0.05rem;
}
.tx-l {
  font-size: 240%;
}
.tx-s {
  font-size: 70%;
}
strong {
  font-weight: 700 !important;
}
@media screen and (max-width: 750px) {
  p,
  td,
  th,
  dt,
  dd,
  li {
    font-size: 0.9rem;
  }
}
/* LAYOUT
--------------------------------------------------------------------------*/
html {
  scroll-behavior: smooth;
}
.layout-base {
  position: relative;
  box-sizing: border-box;
}
.layout-base-a {
  position: absolute;
  box-sizing: border-box;
}
img {
  width: 100%;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}
body {
  background: url("../img/bg.webp") top center #cd54c3 no-repeat;
  background-size: 1980px 2036px;
}
main {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 1980px;
  display: block;
  margin: auto;
  z-index: 2;
}
main article {
  position: relative;
  box-sizing: border-box;
  display: block;
  width: 100%;
  max-width: 1600px;
  margin: auto;
}
main article section.cnt-center {
  position: relative;
  box-sizing: border-box;
  width: 58%;
  margin: 3rem auto;
}
main article .cnt-chara {
  position: relative;
  box-sizing: border-box;
  width: 100%;
}
main article .cnt-chara .chara-ot {
  position: absolute;
  box-sizing: border-box;
  width: 100%;
  top: 0;
  left: 0;
  display: block;
}
main article .cnt-chara .chara-logo {
  position: absolute;
  box-sizing: border-box;
  width: 58%;
  bottom: 5%;
  left: 0;
  right: 0;
  margin: auto;
  display: block;
}
main article .cnt-chara .chara1 {
  width: 31.66%;
  top: 21%;
  left: 0;
  right: 0;
  margin: auto;
  display: block;
}
main article .bnr-x {
  position: relative;
  box-sizing: border-box;
  width: 78%;
  margin: 0 auto 1.8rem auto;
}
main article .bnr-x figure.bnr-x-body figcaption {
  position: absolute;
  top: 2rem;
  left: 0;
  right: 0;
  margin: auto;
  font-size: 2.6rem;
  font-weight: 900;
  text-align: center;
  color: #ea3262;
}
main article .bnr-x figure.bnr-x-body figcaption span {
  font-size: 1.9rem;
  line-height: 2.4rem;
  font-weight: 700;
  color: #480005;
  display: block;
}
main article .bnr-x figure.bnr-x-bt {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 51%;
  bottom: 0;
  left: 25%;
  transition: 0.5s;
}
main article .bnr-x figure.bnr-x-bt figcaption {
  position: absolute;
  margin: auto;
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  color: #FFF;
  padding: 0 1rem 0.3rem 0;
}
main article .bnr-x a {
  display: block;
  transition: 0.5s;
}
main article .bnr-x a:hover figure.bnr-x-bt {
  transform: scale(1.1);
}
main article .cnt-info {
  position: relative;
  box-sizing: border-box;
  display: block;
  background: rgba(255, 255, 255, 0.8);
  width: 78%;
  margin: auto;
  border-radius: 1.3rem;
  padding: 2.5rem 5% 1.2rem 5%;
}
main article .cnt-info dl {
  display: grid;
  grid-template-columns: 24% 1fr;
  gap: 1.3rem 0px;
  color: #111;
}
main article .cnt-info dl dt {
  font-size: 1.6rem;
  border-bottom: 1px solid #999;
}
main article .cnt-info dl dt:last-of-type {
  border-bottom: none;
}
main article .cnt-info dl dd {
  font-size: 1.6rem;
  border-bottom: 1px solid #999;
  padding-bottom: 1.3rem;
}
main article .cnt-info dl dd:last-of-type {
  border-bottom: none;
}
main article .menu-left {
  position: absolute;
  box-sizing: border-box;
  width: 27%;
  left: 0;
  top: 5rem;
  z-index: 5;
}
main article .menu-right {
  position: absolute;
  box-sizing: border-box;
  width: 25%;
  right: 0;
  top: 5rem;
  z-index: 5;
}
main article .menu-right .mbt-box .mbt-base {
  position: relative;
  box-sizing: border-box;
  display: block;
}
main article .menu-right .mbt-box .mbt-img {
  position: absolute;
  box-sizing: border-box;
  display: block;
  top: 0;
  left: 0;
}
main article .menu-right .mbt-box .mbt-arrow {
  position: absolute;
  box-sizing: border-box;
  display: block;
  top: 9%;
  right: 8%;
  width: 12%;
}
main article .bt-v1 a {
  position: relative;
  box-sizing: border-box;
  display: block;
}
main article .bt-v1 a figure {
  position: relative;
  box-sizing: border-box;
  display: block;
}
main article .bt-v1 a figure picture.bt-new {
  position: absolute;
  box-sizing: border-box;
  width: 100%;
  left: 0;
  top: 0;
  transform: scale(1) translateY(0) translateX(0);
  animation: bt-new 0.5s forwards infinite alternate running;
}
main article .bt-v1 a figure figcaption {
  position: absolute;
  box-sizing: border-box;
  right: 14%;
  width: 56%;
  top: 4rem;
  font-size: 2rem;
  font-weight: 700;
  color: #292929;
  text-align: center;
}
main article .bt-v1 a figure figcaption span {
  position: absolute;
  box-sizing: border-box;
  display: block;
  width: 100%;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0;
  right: -1%;
  bottom: -2.5rem;
}
main article .bt-v4 a {
  position: relative;
  box-sizing: border-box;
  display: block;
}
main article .bt-v4 a figure {
  position: relative;
  box-sizing: border-box;
  display: block;
}
main article .bt-v4 a figure figcaption {
  position: absolute;
  box-sizing: border-box;
  right: 14%;
  width: 56%;
  top: 4rem;
  font-size: 2rem;
  font-weight: 700;
  color: #292929;
  text-align: center;
}
main article .bt-v4 a figure figcaption span {
  position: absolute;
  box-sizing: border-box;
  display: block;
  width: 100%;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0;
  right: -1%;
  bottom: -4.6rem;
}
main article .bt-v2 {
  position: relative;
  box-sizing: border-box;
  display: block;
  margin: 0.4rem auto;
}
main article .bt-v2 a {
  position: relative;
  box-sizing: border-box;
  display: block;
}
main article .bt-v2 a figure {
  position: relative;
  box-sizing: border-box;
  display: block;
}
main article .bt-v2 a figure figcaption {
  position: absolute;
  box-sizing: border-box;
  right: 19%;
  width: 56%;
  top: 1.6rem;
  font-size: 1.7rem;
  font-weight: 700;
  color: #FFF;
  text-align: center;
}
main article .bt-v2 a figure figcaption span {
  position: absolute;
  box-sizing: border-box;
  display: block;
  width: 76%;
  margin: auto;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0;
  right: 0;
  left: 0;
  bottom: -1.8rem;
  color: #292929;
  text-align: center;
}
main article .bt-v3 {
  position: relative;
  box-sizing: border-box;
  display: block;
  margin: 0.4rem auto;
}
main article .bt-v3 a {
  position: relative;
  box-sizing: border-box;
  display: block;
}
main article .bt-v3 a figure {
  position: relative;
  box-sizing: border-box;
  display: block;
}
main article .bt-v3 a figure figcaption {
  position: absolute;
  box-sizing: border-box;
  right: 19%;
  width: 56%;
  top: 1.6rem;
  font-size: 1.7rem;
  font-weight: 700;
  color: #480005;
  text-align: center;
}
main article .bt-v3 a figure figcaption span {
  position: absolute;
  box-sizing: border-box;
  display: block;
  width: 76%;
  margin: auto;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0;
  right: 0;
  left: 0;
  bottom: -1.8rem;
  color: #FFF;
  text-align: center;
}
main article .bt-v3s {
  position: relative;
  box-sizing: border-box;
  display: block;
  margin-top: 0.2rem;
}
main article .bt-v3s a {
  position: relative;
  box-sizing: border-box;
  display: block;
}
main article .bt-v3s a figure {
  position: relative;
  box-sizing: border-box;
  display: block;
}
main article .bt-v3s a figure picture {
  display: block;
}
main article .bt-v3s a figure figcaption {
  position: absolute;
  box-sizing: border-box;
  right: 15%;
  width: 60%;
  top: 1.6rem;
  font-size: 1.4rem;
  line-height: 1.7rem;
  font-weight: 700;
  color: #480005;
  text-align: center;
}
main article .bt-v3s a figure figcaption span {
  position: relative;
  width: 100%;
  font-size: 1.2rem !important;
  display: block;
}
.bg-wrap {
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}
.bg-wrap .bg-area {
  position: absolute;
  box-sizing: border-box;
  display: block;
  width: 1980px;
  height: 100vh;
  overflow: hidden;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
}
.bg-wrap .bg-area picture {
  position: absolute;
  box-sizing: border-box;
  display: block;
  width: 100%;
}
.bg-wrap .bg-area .bg-light {
  position: absolute;
  box-sizing: border-box;
  top: -36rem;
  width: 1980px;
  height: 1980px;
  transform: rotate(0) scale(0.6);
  animation: rotate-lg 2s 0s infinite linear;
}
.bg-wrap .bg-area .bg-kb1 {
  opacity: 0;
  transform: translateY(0);
  animation: fade-kb 0.5s 0s infinite alternate;
}
.bg-wrap .bg-area .bg-sp1 {
  opacity: 0;
  animation: fade-sp 1.4s 0s infinite;
}
.bg-wrap .bg-area .bg-sp2 {
  opacity: 1;
  animation: fade-sp 1.4s 0.5s infinite;
}
@keyframes bt-new {
  from {
    transform: scale(1) translateY(0) translateX(0);
  }
  to {
    transform: scale(1.2) translateY(-3%) translateX(-1%);
  }
}
@keyframes rotate-lg {
  0% {
    transform: rotate(0deg) scale(0.6);
  }
  50% {
    transform: rotate(60deg) scale(1);
  }
  100% {
    transform: rotate(0deg) scale(0.6);
  }
}
@keyframes fade-sp {
  0%,
  100% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}
@keyframes fade-kb {
  0% {
    opacity: 0;
    transform: translateY(0);
    filter: blur(0px);
  }
  100% {
    opacity: 0.5;
    transform: translateY(-0.4rem);
    filter: blur(0.2rem);
  }
}
@media screen and (max-width: 1979px) {
  .bg-wrap {
    position: fixed;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
  }
  .bg-wrap .bg-area {
    left: 50%;
    transform: translateX(-50%);
    right: inherit;
  }
}
@media screen and (max-width: 1599px) {
  body {
    background: url("../img/bg.webp") top center #cd54c3 no-repeat;
    background-size: 123.7% auto;
  }
  main article {
    margin: 3vw auto;
  }
  main article .bnr-x {
    margin: 0 auto 1.8vw auto;
  }
  main article .bnr-x figure.bnr-x-body figcaption {
    top: 2vw;
    font-size: 2.6vw;
  }
  main article .bnr-x figure.bnr-x-body figcaption span {
    font-size: 1.9vw;
    line-height: 2.4vw;
  }
  main article .bnr-x figure.bnr-x-bt figcaption {
    font-size: 1.6vw;
    padding: 0 1vw 0.3vw 0;
  }
  main article .cnt-info {
    border-radius: 1.3vw;
    padding: 2.5vw 5% 1.2vw 5%;
  }
  main article .cnt-info dl {
    grid-template-columns: 24% 1fr;
    gap: 1.3vw 0px;
  }
  main article .cnt-info dl dt {
    font-size: 1.6vw;
  }
  main article .cnt-info dl dd {
    font-size: 1.6vw;
    padding-bottom: 1.3vw;
  }
  main article .menu-left {
    top: 5vw;
  }
  main article .menu-right {
    display: block;
    top: 5vw;
  }
  main article .menu-right ul .bt-mv1 {
    width: 100%;
    order: 2;
  }
  main article .menu-right ul .bt-mv2 {
    width: 100%;
    order: 3;
  }
  main article .bt-v1 a figure figcaption {
    top: 4vw;
    font-size: 2vw;
  }
  main article .bt-v1 a figure figcaption span {
    font-size: 1.4vw;
    bottom: -2.6vw;
  }
  main article .bt-v4 a figure figcaption {
    top: 4vw;
    font-size: 2vw;
  }
  main article .bt-v4 a figure figcaption span {
    font-size: 1.4vw;
    bottom: -4.55vw;
  }
  main article .bt-v2 {
    margin: 0.4vw auto;
  }
  main article .bt-v2 a figure figcaption {
    right: 19%;
    width: 56%;
    top: 1.6vw;
    font-size: 1.7vw;
  }
  main article .bt-v2 a figure figcaption span {
    font-size: 1.1vw;
    bottom: -1.9vw;
  }
  main article .bt-v3 {
    margin: 0.4vw auto;
  }
  main article .bt-v3 a figure figcaption {
    right: 19%;
    width: 56%;
    top: 1.6vw;
    font-size: 1.7vw;
  }
  main article .bt-v3 a figure figcaption span {
    font-size: 1.1vw;
    bottom: -1.9vw;
  }
  main article .bt-v3s {
    margin-top: 0.2vw;
  }
  main article .bt-v3s a figure figcaption {
    right: 15.5%;
    width: 60%;
    top: 1.5vw;
    font-size: 1.4vw;
    line-height: 1.8vw;
  }
  main article .bt-v3s a figure figcaption span {
    font-size: 1.2vw !important;
    line-height: 1.6vw;
  }
  .bg-wrap {
    position: fixed;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
  }
  .bg-wrap .bg-area {
    width: 123.7%;
    left: 50%;
    transform: translateX(-50%);
    right: inherit;
  }
  .bg-wrap .bg-area .bg-light {
    width: 124vw;
    height: 124vw;
    top: -36vw;
    transform: rotate(0) scale(1);
  }
}
@media screen and (max-width: 859px) {
  main {
    position: relative;
    box-sizing: border-box;
    display: block;
    margin: 10vw auto 8vw;
  }
  main article section.cnt-center {
    position: relative;
    box-sizing: border-box;
    width: 96%;
    margin: 5vw auto 3vw auto;
  }
  main article .bnr-x {
    width: 82%;
    margin: 0 auto 1.8vw auto;
  }
  main article .bnr-x figure.bnr-x-body figcaption {
    top: 4vw;
    font-size: 5vw;
  }
  main article .bnr-x figure.bnr-x-body figcaption span {
    font-size: 3.5vw;
    line-height: 3.9vw;
  }
  main article .bnr-x figure.bnr-x-bt {
    width: 58%;
    left: 21%;
    transition: none;
  }
  main article .bnr-x figure.bnr-x-bt figcaption {
    font-size: 3.2vw;
    padding: 0 1vw 0.5vw 0;
  }
  main article .bnr-x a {
    transition: 0;
  }
  main article .bnr-x a:hover figure.bnr-x-bt {
    transform: scale(1);
  }
  main article .cnt-info {
    border-radius: 1.8vw;
    padding: 3.5vw 5% 3vw 5%;
  }
  main article .cnt-info dl {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5vw 0px;
    color: #111;
  }
  main article .cnt-info dl dt {
    font-size: 1.2rem;
    border-bottom: none;
  }
  main article .cnt-info dl dd {
    font-size: 1.2rem;
    border-bottom: 1px solid #999;
    padding-bottom: 3vw;
  }
  main article .cnt-info dl dd:last-of-type {
    border-bottom: none;
  }
  main article .menu-left {
    position: relative;
    box-sizing: border-box;
    width: 88%;
    left: inherit;
    top: inherit;
    margin: auto;
  }
  main article .menu-right {
    position: relative;
    box-sizing: border-box;
    width: 88%;
    right: inherit;
    top: 0;
    margin: 0 auto 15vw auto;
  }
  main article .menu-right ul {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
  }
  main article .menu-right ul .bt-mv1 {
    width: 100%;
    order: 1;
  }
  main article .menu-right ul .bt-mv2 {
    width: 100%;
    order: 2;
  }
  main article .bt-v1 a figure figcaption {
    right: 14%;
    width: 56%;
    top: 14vw;
    font-size: 6vw;
  }
  main article .bt-v1 a figure figcaption span {
    font-size: 4.6vw;
    bottom: -9vw;
  }
  main article .bt-v4 a figure figcaption {
    right: 14%;
    width: 56%;
    top: 13.2vw;
    font-size: 6vw;
  }
  main article .bt-v4 a figure figcaption span {
    font-size: 4.6vw;
    bottom: -16.5vw;
  }
  main article .bt-v2 {
    margin: auto;
  }
  main article .bt-v2 a figure figcaption {
    right: 15%;
    width: 56%;
    top: 7.2vw;
    font-size: 6vw;
    text-align: center;
  }
  main article .bt-v2 a figure figcaption span {
    width: 65%;
    font-size: 3.6vw;
    right: -9vw;
    left: inherit;
    bottom: -7.6vw;
    text-align: center;
  }
  main article .bt-v3 {
    order: 3;
  }
  main article .bt-v3 a figure figcaption {
    right: 19%;
    width: 56%;
    top: 7.8vw;
    font-size: 5.5vw;
  }
  main article .bt-v3 a figure figcaption span {
    font-size: 3.6vw;
    right: 0;
    left: 58%;
    bottom: -6.8vw;
  }
  main article .bt-v3s {
    margin-top: 0.2vw;
  }
  main article .bt-v3s a figure figcaption {
    right: 16.5%;
    width: 60%;
    top: 6.2vw;
    font-size: 5.6vw;
    line-height: 6.8vw;
  }
  main article .bt-v3s a figure figcaption span {
    font-size: 3.8vw !important;
    line-height: 4.8vw;
  }
  .bg-wrap {
    position: fixed;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
  }
  .bg-wrap .bg-area {
    width: 200%;
    left: 50%;
    transform: translateX(-50%);
    right: inherit;
    position: absolute;
    overflow: hidden;
  }
  .bg-wrap .bg-area .bg-light {
    width: 124vw;
    height: 124vw;
    left: calc(50% - 62vw);
    top: -16vw;
    transform: rotate(0) scale(1);
  }
}
/* NO LINK */
.no-link {
  pointer-events: none !important;
}
/* header */
header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10;
}
header .header-wrap {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 1600px;
  margin: auto;
}
header .header-wrap .daiichi {
  position: relative;
  box-sizing: border-box;
  display: block;
  width: 17%;
}
header .header-wrap .daiichi a {
  display: block;
}
.sidebarIconToggle {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  box-sizing: border-box;
  cursor: pointer;
  z-index: 11;
  right: 0;
  top: 0;
  width: 136px;
  height: 82px;
  background: #ea3262;
  border-radius: 0 0 0.8rem 0.8rem;
  padding: 0;
  transition: all 0.3s;
}
.sidebarIconToggle .spinner {
  position: relative;
  display: block;
  width: 50px;
  height: 3px;
  border-radius: 2px;
  background-color: #fff;
  float: none;
  transition: all 0.3s;
}
.sidebarIconToggle div.spinner-tx {
  text-align: center;
  font-size: 1rem;
  line-height: 1rem;
  letter-spacing: 0.08rem;
  color: #fff;
  font-weight: 700;
  opacity: 1;
  transition: all 0.3s;
}
.diagonal.part-1 {
  position: relative;
  box-sizing: border-box;
  float: left;
  background-color: #fff;
  transition: all 0.3s;
}
.diagonal.part-2 {
  box-sizing: border-box;
  position: relative;
  float: left;
  background-color: #fff;
  transition: all 0.3s;
}
input[type=checkbox]:checked ~ .sidebarIconToggle {
  transition: all 0.3s;
  width: 72px;
  height: 60px;
}
input[type=checkbox]:checked ~ .sidebarIconToggle > .horizontal {
  opacity: 0;
}
input[type=checkbox]:checked ~ .sidebarIconToggle > div.spinner-tx {
  opacity: 0;
  margin-top: -1.2rem;
}
input[type=checkbox]:checked ~ .sidebarIconToggle > .diagonal.part-1 {
  transform: scale(0.7) translateY(0.55rem) rotate(135deg);
}
input[type=checkbox]:checked ~ .sidebarIconToggle > .diagonal.part-2 {
  transform: scale(0.7) translateY(-0.55rem) rotate(-135deg);
}
#sidebarMenu {
  position: relative;
  box-sizing: border-box;
  position: fixed;
  display: block !important;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  padding: 0 !important;
  margin: 0;
  overflow: auto;
  background: #ff9be6;
  z-index: 10;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}
#sidebarMenu ul.sidebarMenuInner {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  width: 86%;
  max-height: inherit;
  margin: 10rem auto 3rem auto;
  gap: 0.5rem 0;
}
#sidebarMenu ul.sidebarMenuInner li a {
  box-sizing: border-box;
  position: relative;
  display: flex;
  align-items: center;
  text-decoration: none;
  margin-bottom: 0.6rem;
  padding: 0 0 0 1.8rem;
  font-size: 1.4rem;
  color: #cc3458;
  font-weight: 500;
  border: none;
  transition: 0.5s ease;
}
#sidebarMenu ul.sidebarMenuInner li a:before {
  position: absolute;
  display: block;
  content: url("../img/icon-arrow.svg");
  width: 1rem;
  left: 0;
  top: 0;
}
#sidebarMenu ul.sidebarMenuInner li.sns-bt {
  width: 5rem;
  margin-top: 2rem;
}
#sidebarMenu ul.sidebarMenuInner li.sns-bt a:before {
  content: none !important;
}
#sidebarMenu ul.sidebarMenuInner li.no-link a {
  color: #AF546A;
}
#sidebarMenu ul.sidebarMenuInner li.no-link a:before {
  content: url("../img/icon-arrow-blk.svg");
}
input[type="checkbox"]:checked ~ #sidebarMenu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
header#main-menu:has(input:checked) {
  animation: none !important;
  transform: translateY(0%) !important;
  opacity: 1 !important;
  transition: all 0s !important;
}
input[type=checkbox] {
  transition: all 0.3s;
  box-sizing: border-box;
  display: none;
}
@keyframes example {
  100% {
    opacity: 1;
  }
}
@media screen and (max-width: 1199px) {
  header .header-wrap .daiichi {
    width: 22%;
  }
  .sidebarIconToggle {
    gap: 0.5rem;
    width: 100px;
    height: 64px;
    border-radius: 0 0 0.5rem 0.5rem;
  }
  input[type=checkbox]:checked ~ .sidebarIconToggle {
    width: 72px;
    height: 60px;
  }
  input[type=checkbox]:checked ~ .sidebarIconToggle > .diagonal.part-1 {
    transform: scale(0.7) translateY(0.51rem) rotate(135deg);
  }
  input[type=checkbox]:checked ~ .sidebarIconToggle > .diagonal.part-2 {
    transform: scale(0.7) translateY(-0.51rem) rotate(-135deg);
  }
}
@media screen and (max-width: 679px) {
  header .header-wrap .daiichi {
    width: 34%;
  }
  .sidebarIconToggle {
    gap: 0.4rem;
    width: 80px;
    height: 58px;
    border-radius: 0 0 0.5rem 0.5rem;
  }
  .sidebarIconToggle .spinner {
    width: 40px;
  }
  .sidebarIconToggle div.spinner-tx {
    font-size: 0.8rem;
    line-height: 0.8rem;
  }
  input[type=checkbox]:checked ~ .sidebarIconToggle {
    width: 58px;
    height: 45px;
  }
  input[type=checkbox]:checked ~ .sidebarIconToggle > .diagonal.part-1 {
    transform: scale(0.7) translateY(0.45rem) rotate(135deg);
  }
  input[type=checkbox]:checked ~ .sidebarIconToggle > .diagonal.part-2 {
    transform: scale(0.7) translateY(-0.45rem) rotate(-135deg);
  }
  #sidebarMenu ul.sidebarMenuInner {
    margin: 15vw auto 8vw auto;
    gap: 0.5vw 0;
  }
  #sidebarMenu ul.sidebarMenuInner li a {
    margin-bottom: 0.9vw;
  }
}
footer {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  padding: 0 8% 4rem 8%;
  text-align: center;
}
.particles {
  position: absolute;
  box-sizing: border-box;
  width: 100%;
  max-width: 1980px;
  height: 100vw;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
}
.page-content {
  display: none;
}
.start {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
}
.start .op-logo {
  position: relative;
  box-sizing: border-box;
  display: block;
  width: 20%;
  padding-bottom: 3rem;
}
.chara1,
.chara2,
.chara3,
.chara4,
.chara5,
.chara6,
.chara7,
.chara8,
.chara-logo,
.bnr-x,
.cnt-info,
.btn1,
.btn2,
.btn3,
.btn4,
.btn5,
.btn6,
.btn7,
.btn8,
.btn9,
.bt-mv1,
.bt-mv2 {
  opacity: 0;
}
@media screen and (max-width: 859px) {
  .particles {
    width: 200%;
    height: 200vw;
    left: 50%;
    top: -8%;
    transform: translateX(-50%);
    right: inherit;
  }
  .start .op-logo {
    width: 50%;
    padding-bottom: 3vw;
  }
}
@media screen and (min-width: 860px) {
  main article .menu-right ul li a,
  main article .menu-left ul li a {
    transform: scale(1);
    transition: 0.5s;
  }
  main article .menu-right ul li a:hover,
  main article .menu-left ul li a:hover {
    transform: scale(1.1);
  }
}
/* Modal Window
--------------------------------------------------------------------------*/
.ly_fullsize {
  width: 100%;
  height: 100%;
}
input[type=checkbox] {
  transition: all 0.3s;
  box-sizing: border-box;
  display: none;
}
.w-modal_overlay {
  position: fixed;
  width: 100%;
  height: 100%;
  overflow: hidden;
  top: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.9);
  opacity: 0;
  transition: opacity 0.3s, transform 0s 0.3s;
  transform: scale(0);
  z-index: 80000;
}
.w-modal_trigger {
  position: fixed;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 501;
}
.w-modal_content {
  position: absolute;
  display: none;
  width: 100%;
  height: 100%;
  margin: auto;
  overflow: auto;
  box-sizing: border-box;
  transform: scale(1.2);
  transition: 0.3s;
  z-index: 502;
}
.wm_close_button {
  display: none;
  position: fixed;
  box-sizing: border-box;
  width: 6rem;
  height: 6rem;
  top: 0;
  right: 1.3rem;
  padding: 1.3rem;
  line-height: 1;
  color: #FFF;
  cursor: pointer;
  z-index: 505;
}
.w-modal_wrap .cnt-box0 {
  padding: 0 1rem 0 1rem;
}
.pp_movie-youtube-w {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 1100px;
  margin: auto;
  z-index: 503;
}
.pp_movie-youtube {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.pp_movie-youtube iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.pp-movie-box {
  padding: 1rem;
}
.onblor {
  filter: blur(8px);
}
.w-modal_wrap input:checked ~ .w-modal_overlay {
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.3s;
}
.w-modal_wrap input:checked ~ .w-modal_overlay .w-modal_content {
  transform: scale(1);
  display: flex;
}
.w-modal_wrap input:checked ~ .w-modal_overlay .wm_close_button {
  display: block;
}
.wm_open_button {
  position: relative;
  display: block;
  cursor: pointer;
  transform: scale(1, 1);
  transition: all 0.5s ease 0s;
  z-index: 2;
}
.wm_open_button:hover {
  transform: scale(1.05, 1.05);
}
.wm_open_button .mbt-arrow {
  transform: rotate(0) scale(1);
  transition: all 0.5s ease 0s;
}
.wm_open_button:hover .mbt-arrow {
  transform: rotate(120deg) scale(1.3);
}
.movie-bt {
  transform: translateY(0);
  transition: all 0.5s ease 0s;
}
.movie-bt picture {
  transform: rotate(0deg);
  opacity: 1;
  transition: all 0.5s ease 0s;
}
.wm_open_button:hover .movie-bt {
  transform: translateY(-8%);
}
.wm_open_button:hover .movie-bt picture {
  opacity: 0.7;
  transform: rotate(120deg);
}
@media screen and (max-width: 859px) {
  .wm_close_button {
    right: 0rem;
    width: 13vw;
    height: 13vw;
    padding: 1.1vw;
  }
  .pp-movie-box {
    padding: 0;
  }
  .wm_open_button:hover {
    transform: scale(1, 1);
    z-index: 1;
  }
}
/* Youtube
--------------------------------------------------------------------------*/
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 1px;
  right: 0;
}
