@charset "UTF-8";
/* css pc */
h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
}
ul, li {
  list-style: none;
}
a, a:hover {
  text-decoration: none !important;
}
img {
  height: auto;
  vertical-align: bottom;
}
.contents {
  padding: 0 0 150px 0;
}
.contents .inner {
  width: 100%;
  margin: 0 auto;
}
.contents .flex {
  display: flex;
}
.contents .mv {
  width: 100%;
}
.contents .mv img {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.contents .lead {
  font: 400 18px/1.8 "Noto Sans JP", sans-serif;
  text-align: center;
  margin: 60px auto 0;
}
.contents .tab {
  width: 100%;
  margin: 100px auto 0;
}
.contents .tab__label {
  cursor: pointer;
  width: 900px;
  margin: 0 auto;
}
.contents .tab__label__column {
  width: 50%;
  text-align: center;
}
.contents .tab__contents__column {
  display: none;
}
.contents .tab__contents__column.show {
  display: block;
  padding: 80px 0;
  animation: ani__tab__contents .9s ease-in-out forwards;
}
.contents .tab__contents__column01 {
  background: #FFF;
}
.contents .tab__contents__column02 {
  background: #F9A64A;
}
.contents .tab__contents__column03 {
  background: #E5DCD1;
}
.contents .character {
  width: 550px;
  margin: 0 auto;
}
.contents .character__type {
  border: 1px solid #333;
  border-radius: 40px;
  box-shadow: 10px 10px #333;
  text-align: center;
  margin: 80px 0 0;
  background: #FFF;
}
.contents .character__type__en {
  width: auto;
  height: 70px;
  margin: 0 auto;
}
.contents .character__type__en img {
  height: 100%;
}
.contents .character__type__jp {
  font: 500 26px/1 "Noto Sans JP", sans-serif;
  display: inline-block;
  position: relative;
  margin: 0 0 15px 1.5em;
}
.contents .character__type__jp::before {
  content: '';
  position: absolute;
  top: 50%;
  left: -1.5em;
  width: 1em;
  height: 1px;
  background: #000;
}
.contents .character__type__txt {
  border-top: 1px solid #000;
  padding: 40px 0;
}
.contents .character__type__txt strong {
  font: 700 20px/1 "Noto Sans JP", sans-serif;
}
.contents .character__type__txt ul {
  width: fit-content;
  margin: 35px auto 0;
}
.contents .character__type__txt ul li {
  text-align: left;
  font: 700 18px/1 "Noto Sans JP", sans-serif;
}
.contents .character__type__txt ul li::before {
  content: '●';
}
.contents .character__type__txt ul li:nth-child(n+2) {
  margin: 1em 0 0;
}
.contents .character__balloon {
  width: 100%;
  margin: 150px 0 0;
  position: relative;
}
.contents .character__balloon__txt {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  font: 700 26px/1.8 "Noto Sans JP", sans-serif;
  width: 100%;
}
.contents .character__balloon__txt strong {
  font: 700 32px/1.8 "Noto Sans JP", sans-serif;
}
.contents .character__card {
  margin: 200px 0 0;
}
.contents .character__card__title {
  width: auto;
  height: 55px;
  text-align: center;
}
.contents .character__card__title img {
  height: 100%;
}
.contents .character__card__slide {
  margin: 10px 0 0;
}
.contents .character__card__slide .swiper {
  width: 550px;
}
.contents .character__card__slide .swiper-slide {
  width: 550px;
}
.contents .character__card__slide .swiper-slide img {
  position: relative;
}
.contents .character__card__slide .swiper-slide img:nth-child(2) {
  position: absolute;
  top: 0;
  left: 0;
  animation: ani__slide 5s 2.5s infinite;
}
.contents .character__card__slide .swiper-slide img:nth-child(3) {
  position: absolute;
  top: 0;
  left: 0;
  animation: ani__slide 5s 5s infinite;
}
.contents .character__card__slide .swiper-pagination {
  top: 510px;
}
.contents .character__card__slide .swiper-pagination-bullet {
  background: #666;
  border: 1px solid #000;
  width: 15px;
  height: 15px;
  top: 0;
}
.contents .character__card__slide .swiper-pagination-bullet-active {
  background: #000;
}
.contents .character__card__txt {
  margin: 30px 0 0;
  font: 400 14px/2 "Noto Sans JP", sans-serif;
}
.contents .character__card__detail {
  margin: 30px 0 0;
  text-align: center;
}
.contents .character__card .name {
  font: 700 20px/1 "Noto Sans JP", sans-serif;
}
.contents .character__card .color {
  margin: 10px auto 0;
}
.contents .character__card .color.flex {
  justify-content: center;
  align-items: center;
}
.contents .character__card .color span:not(:first-child) {
  width: 20px;
  height: 20px;
  border-radius: 5rem;
  outline: 1px solid #000;
  outline-offset: -1px;
  margin: 0 0 0 3px;
}
.contents .character__card .color span.white {
  background: #FFF;
}
.contents .character__card .color span.black {
  background: #000;
}
.contents .character__card .color span.skyblue {
  background: #89B3C7;
}
.contents .character__card .color span.orange {
  background: #E99639;
}
.contents .character__card .color span.gray {
  background: #484848;
}
.contents .character__card .price {
  margin: 10px auto 0;
  font: 700 20px/1 "Noto Sans JP", sans-serif;
}
.contents .character__card__btn {
  width: 390px;
  height: 45px;
  margin: 20px auto 0;
}
.contents .btn {
  padding: 0 !important;
}
.contents .btn__common {
  height: 100%;
  display: block;
  border: 1px solid #000;
  border-radius: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
  background: #FFF;
}
.contents .btn__l a {
  width: 520px;
  height: 68px;
  font: 700 20px/1 "Noto Sans JP", sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 80px auto 0;
}
.contents .btn__s {
  text-align: center;
  flex: 1;
}
.contents .btn__s a {
  width: 100%;
  height: 84px;
  font: 700 18px/28px "Noto Sans JP", sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
}
.contents .btn__group {
  column-gap: 21px;
  width: 900px;
  margin: 150px auto 0;
}
.contents .btn__totop {
  margin: 50px auto 0;
  text-align: center;
}
.contents .btn__totop a {
  position: relative;
  color: #000;
  margin-left: 12px;
  font: 700 18px/1 "Roboto", sans-serif;
}
.contents .btn__totop a:hover, .contents .btn__totop a:valid {
  color: #000;
}
.contents .btn__totop a span {
  position: relative;
}
.contents .btn__totop a span::before {
  font: 400 1.2em/1 'Material Symbols Outlined';
  content: '\e88a';
  position: absolute;
  top: 0;
  left: -1.2em;
}
/*css sp*/
@media screen and (max-width: 768px) {
  .contents {
    padding: 0 0 calc(100 * (100vw / 375)) 0;
  }
  .contents .inner {
    width: 100%;
    margin: 0 auto;
  }
  .contents .mv {
    width: 100%;
  }
  .contents .mv img {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
  }
  .contents .lead {
    font: 400 calc(16 * (100vw / 375))/calc(28 * (100vw / 375)) "Noto Sans JP", sans-serif;
    text-align: center;
    margin: calc(30 * (100vw / 375)) auto 0;
  }
  .contents .tab {
    margin: calc(100 * (100vw / 375)) auto 0;
  }
  .contents .tab__label {
    width: 100%;
  }
  .contents .tab__contents__column.show {
    padding: calc(60 * (100vw / 375)) 0;
    animation: ani__tab__contents .4s ease-in-out forwards;
  }
  .contents .character {
    width: calc(100% - 40px);
  }
  .contents .character__type {
    border-radius: calc(40 * (100vw / 375));
    box-shadow: calc(10 * (100vw / 375)) calc(10 * (100vw / 375)) #333;
    text-align: center;
    margin: calc(130 * (100vw / 375)) 0 0;
  }
  .contents .character__type__en {
    height: calc(70 * (100vw / 375));
  }
  .contents .character__type__jp {
    font: 500 calc(18 * (100vw / 375))/1 "Noto Sans JP", sans-serif;
    margin: 0 0 calc(20 * (100vw / 375)) 1.5em;
  }
  .contents .character__type__txt {
    padding: calc(20 * (100vw / 375));
  }
  .contents .character__type__txt strong {
    font: 700 calc(18 * (100vw / 375))/1.4 "Noto Sans JP", sans-serif;
  }
  .contents .character__type__txt ul {
    margin: calc(30 * (100vw / 375)) auto 0;
  }
  .contents .character__type__txt ul li {
    font: 700 calc(16 * (100vw / 375))/1.4 "Noto Sans JP", sans-serif;
    margin: 0 0 0 1em;
  }
  .contents .character__type__txt ul li::before {
    margin: 0 0 0 -1em;
  }
  .contents .character__type__txt ul li:nth-child(n+2) {
    margin: 0.5em 0 0 1em;
  }
  .contents .character__balloon {
    margin: calc(80 * (100vw / 375)) 0 0;
  }
  .contents .character__balloon__txt {
    font: 700 calc(18 * (100vw / 375))/1.8 "Noto Sans JP", sans-serif;
  }
  .contents .character__balloon__txt strong {
    font: 700 calc(19 * (100vw / 375))/1.8 "Noto Sans JP", sans-serif;
  }
  .contents .character__card {
    margin: calc(100 * (100vw / 375)) 0 0;
  }
  .contents .character__card__title {
    height: calc(50 * (100vw / 375));
  }
  .contents .character__card__slide {
    margin: calc(20 * (100vw / 375)) 0 0;
  }
  .contents .character__card__slide .swiper {
    width: 100%;
  }
  .contents .character__card__slide .swiper-slide {
    width: 100%;
  }
  .contents .character__card__slide .swiper-pagination {
    top: calc(300 * (100vw / 375));
  }
  .contents .character__card__slide .swiper-pagination-bullet {
    width: calc(15 * (100vw / 375));
    height: calc(15 * (100vw / 375));
  }
  .contents .character__card__txt {
    margin: calc(30 * (100vw / 375)) 0 0;
    font: 400 calc(14 * (100vw / 375))/2 "Noto Sans JP", sans-serif;
  }
  .contents .character__card__detail {
    margin: calc(50 * (100vw / 375)) 0 0;
  }
  .contents .character__card .name {
    font: 700 calc(24 * (100vw / 375))/1 "Noto Sans JP", sans-serif;
  }
  .contents .character__card .color {
    margin: calc(15 * (100vw / 375)) auto 0;
  }
  .contents .character__card .color span:not(:first-child) {
    width: calc(20 * (100vw / 375));
    height: calc(20 * (100vw / 375));
    margin: 0 0 0 calc(3 * (100vw / 375));
  }
  .contents .character__card .price {
    margin: calc(15 * (100vw / 375)) auto 0;
    font: 700 calc(20 * (100vw / 375))/1 "Noto Sans JP", sans-serif;
  }
  .contents .character__card__btn {
    width: 100%;
    height: calc(45 * (100vw / 375));
    margin: calc(15 * (100vw / 375)) auto 0;
  }
  .contents .btn__l a {
    width: calc(100% - 40px);
    height: calc(46 * (100vw / 375));
    font: 700 calc(14 * (100vw / 375))/1 "Noto Sans JP", sans-serif;
    margin: calc(50 * (100vw / 375)) auto 0;
  }
  .contents .btn__s a {
    width: 100%;
    height: calc(46 * (100vw / 375));
    font: 700 calc(14 * (100vw / 375))/1 "Noto Sans JP", sans-serif;
  }
  .contents .btn__group {
    width: calc(100% - 40px);
    margin: calc(50 * (100vw / 375)) auto 0;
    flex-flow: column;
  }
  .contents .btn__group .btn__s:nth-child(2) {
    margin: calc(10 * (100vw / 375)) 0 0;
  }
  .contents .btn__totop {
    margin: calc(60 * (100vw / 375)) auto 0;
  }
  .contents .btn__totop a {
    margin-left: 1.2em;
    font: 700 calc(18 * (100vw / 375))/1 "Roboto", sans-serif;
  }
  .contents .btn__totop a span {
    position: relative;
  }
  .contents .btn__totop a span::before {
    font: 400 1.2em/1 'Material Symbols Outlined';
    content: '\e88a';
    position: absolute;
    top: 0;
    left: -1.2em;
  }
}
/*アニメーション*/
.fadeIn {
  opacity: 0;
  transform: translate(0, 2.5rem);
  transition: all 1s ease-out;
}
.fadeIn.is-show {
  opacity: 1;
  transform: translate(0, 0);
}
@keyframes ani__tab__contents {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes ani__slide {
  0%, 45% {
    opacity: 0;
  }
  50%, 95% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}