@charset "UTF-8";
.common-btn a:hover .common-btn-in > .arrow {
  right: 10px; }
.common-btn a .common-btn-in {
  position: relative;
  display: inline-block; }
  .common-btn a .common-btn-in .btn-back {
    width: 200px; }
    @media (min-width: 768px) {
      .common-btn a .common-btn-in .btn-back {
        width: 240px; } }
  .common-btn a .common-btn-in h6 {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 20px;
    display: flex;
    align-items: center;
    font-size: 0.9em;
    line-height: 1.2em; }
    @media (min-width: 768px) {
      .common-btn a .common-btn-in h6 {
        font-size: 1.0em; } }
    @media (min-width: 1200px) {
      .common-btn a .common-btn-in h6 {
        font-size: 1.125em; } }
  .common-btn a .common-btn-in .arrow {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    display: flex;
    width: 24px;
    transition: .5s; }

.common-title {
  padding: 0 5%; }
  .common-title.blanc h2, .common-title.blanc p {
    color: #fff; }
  .common-title.noir h2, .common-title.noir p {
    color: #000; }
  .common-title h1 {
    font-family: "Cherry Bomb One", system-ui;
    font-weight: 400;
    font-style: normal;
    font-size: 1.25em;
    line-height: 1.0em;
    text-align: center; }
    @media (min-width: 768px) {
      .common-title h1 {
        font-size: 1.5em; } }
    @media (min-width: 1200px) {
      .common-title h1 {
        font-size: 1.85em; } }
  .common-title .logo {
    max-width: 480px;
    width: 80%;
    margin: 15px auto 30px; }
  .common-title h2 {
    font-family: "Cherry Bomb One", system-ui;
    font-weight: 400;
    font-style: normal;
    font-size: 2.5em;
    line-height: 1.0em;
    text-align: center; }
    @media (min-width: 768px) {
      .common-title h2 {
        font-size: 3.5em; } }
    @media (min-width: 1200px) {
      .common-title h2 {
        font-size: 5.6em; } }
    .common-title h2.small {
      font-size: 2.0em; }
      @media (min-width: 768px) {
        .common-title h2.small {
          font-size: 3.0em; } }
      @media (min-width: 1200px) {
        .common-title h2.small {
          font-size: 4.0em; } }
  .common-title .copy {
    display: flex;
    justify-content: center;
    margin-top: 15px; }
    @media (min-width: 768px) {
      .common-title .copy {
        margin-top: 20px; } }
    .common-title .copy img {
      width: auto;
      height: 40px;
      margin-right: 5px; }
      @media (min-width: 768px) {
        .common-title .copy img {
          height: 50px; } }
      @media (min-width: 1200px) {
        .common-title .copy img {
          height: 60px;
          margin-right: 10px; } }
    .common-title .copy p {
      font-size: 0.9em;
      font-weight: 500;
      line-height: 1.4em;
      margin: 5px 0 0 0; }
      @media (min-width: 768px) {
        .common-title .copy p {
          font-size: 1.25em; } }
      @media (min-width: 1200px) {
        .common-title .copy p {
          font-size: 1.5em; } }

.card-common {
  /* 前への矢印カスタマイズ */
  /* 次への矢印カスタマイズ */
  /* 前へ次への矢印カスタマイズ */
  /* 前へ次への矢印カスタマイズ */ }
  .card-common .swiper-button-prev::after {
    background-image: url("../../img/parts/arrow-1.svg");
    transform: rotate(180deg); }
  .card-common .swiper-button-next::after {
    background-image: url("../../img/parts/arrow-1.svg"); }
  .card-common .swiper-button-prev,
  .card-common .swiper-button-next {
    height: 30px;
    width: 30px;
    z-index: 20; }
    @media (min-width: 1200px) {
      .card-common .swiper-button-prev,
      .card-common .swiper-button-next {
        height: 45px;
        width: 45px; } }
  .card-common .swiper-button-prev::after,
  .card-common .swiper-button-next::after {
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    margin: auto;
    height: 30px;
    width: 30px;
    border-radius: 50px; }
    @media (min-width: 1200px) {
      .card-common .swiper-button-prev::after,
      .card-common .swiper-button-next::after {
        height: 45px;
        width: 45px; } }

#sns-come {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  display: flex;
  align-items: center;
  z-index: 100; }
  @media (min-width: 768px) {
    #sns-come {
      top: auto;
      bottom: 120px; } }
  @media (min-width: 1024px) {
    #sns-come {
      top: 120px;
      bottom: inherit; } }
  #sns-come a .in-btn {
    position: relative;
    width: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .5s;
    z-index: 0; }
    @media (min-width: 768px) {
      #sns-come a .in-btn {
        width: 70px; } }

/*
---------------------------------------------------------------------------------------------------------------------
右下スクロールで表示するボタン
---------------------------------------------------------------------------------------------------------------------
*/
#you-come {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 200;
  opacity: 0;
  transform: translateY(100px);
  width: 100%; }
  @media (min-width: 768px) {
    #you-come {
      width: 600px; } }
  @media (min-width: 1200px) {
    #you-come {
      width: 660px; } }
  #you-come ul {
    position: relative;
    display: flex;
    height: 80px;
    background-color: #223588; }
    @media (min-width: 768px) {
      #you-come ul {
        border-top-left-radius: 15px;
        background-color: rgba(34, 53, 136, 0.85); } }
    @media (min-width: 1200px) {
      #you-come ul {
        border-top-left-radius: 30px;
        height: 105px; } }
    #you-come ul li {
      width: 50%; }
      #you-come ul li:nth-child(2) {
        width: 1px;
        position: absolute;
        top: 15px;
        bottom: 15px;
        left: 50%;
        border-right: 1px solid #fff; }
      @media (min-width: 1200px) {
        #you-come ul li a:hover .entry-btn > .btn > svg {
          right: 10px; } }
      #you-come ul li a .entry-btn {
        padding: 13px 0 10px 10px; }
        @media (min-width: 768px) {
          #you-come ul li a .entry-btn {
            padding: 18px 0 20px 15px; } }
        @media (min-width: 1200px) {
          #you-come ul li a .entry-btn {
            padding: 20px 0 20px 20px; } }
        #you-come ul li a .entry-btn .entry-btn-in {
          color: #fff;
          display: flex;
          align-items: center;
          margin: -2px 0 0 0; }
          @media (min-width: 1200px) {
            #you-come ul li a .entry-btn .entry-btn-in {
              margin: 0; } }
          #you-come ul li a .entry-btn .entry-btn-in h4 {
            font-size: 0.9em;
            line-height: 1.4em;
            text-align: center;
            background-color: #fff;
            border-radius: 40px;
            margin: 0 5px 0 0;
            padding: 1px 10px;
            color: #223588; }
            @media (min-width: 768px) {
              #you-come ul li a .entry-btn .entry-btn-in h4 {
                font-size: 1.0em; } }
            @media (min-width: 1200px) {
              #you-come ul li a .entry-btn .entry-btn-in h4 {
                font-size: 1.125em;
                padding: 5px 20px;
                margin: 0 10px 0 0; } }
          #you-come ul li a .entry-btn .entry-btn-in h3 {
            font-size: 1.0em;
            font-weight: bold;
            transition: .5s; }
            @media (min-width: 768px) {
              #you-come ul li a .entry-btn .entry-btn-in h3 {
                font-size: 1.35em; } }
        #you-come ul li a .entry-btn .btn {
          margin: 5px auto 0;
          display: flex;
          align-items: center; }
          #you-come ul li a .entry-btn .btn h6 {
            font-size: 0.75em;
            font-weight: normal;
            font-feature-settings: "palt";
            letter-spacing: 0.04em;
            line-height: 1.2em;
            color: #fff;
            margin: 2px 5px 0 0;
            width: calc(100% - 40px); }
            @media (min-width: 768px) {
              #you-come ul li a .entry-btn .btn h6 {
                font-size: 0.9em;
                margin: 2px 10px 0 0; } }
          #you-come ul li a .entry-btn .btn svg {
            width: 22px;
            position: relative;
            right: 0;
            transition: .5s; }
            @media (min-width: 768px) {
              #you-come ul li a .entry-btn .btn svg {
                right: 10px; } }
            @media (min-width: 1200px) {
              #you-come ul li a .entry-btn .btn svg {
                width: 30px;
                right: 20px; } }
            #you-come ul li a .entry-btn .btn svg #en {
              stroke: #fff; }
            #you-come ul li a .entry-btn .btn svg #ya {
              fill: #fff; }

#you-come.UpMove {
  animation: UpAnime 0.5s forwards; }

@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(60px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
@media (min-width: 768px) {
  @keyframes UpAnime {
    from {
      opacity: 0;
      transform: translateY(100px); }
    to {
      opacity: 1;
      transform: translateY(0); } } }
/*　下に下がる動き　*/
#you-come.DownMove {
  animation: DownAnime 0.5s forwards; }

@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0); }
  to {
    opacity: 0;
    transform: translateY(60px); } }
@media (min-width: 768px) {
  @keyframes DownAnime {
    from {
      opacity: 1;
      transform: translateY(0); }
    to {
      opacity: 0;
      transform: translateY(100px); } } }
/*
---------------------------------------------------------------------------------------------------------------------
動画プレイボタン
---------------------------------------------------------------------------------------------------------------------
*/
.video-play-button {
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  box-sizing: content-box;
  display: block;
  padding: 18px 20px 18px 28px;
  transition: 0.5S; }

.video-play-button:before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  display: block;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  animation: pulse-border 1500ms ease-out infinite; }
  @media (min-width: 768px) {
    .video-play-button:before {
      width: 70px;
      height: 70px; } }

.video-play-button:before {
  background-color: #F6941C; }

.video-play-button:after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  display: block;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  transition: all 200ms;
  transition: .5s; }
  @media (min-width: 768px) {
    .video-play-button:after {
      width: 60px;
      height: 60px; } }

.video-play-button:after {
  background-color: #F6941C; }

.video-play-button img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 6px;
  right: 0;
  z-index: 3;
  width: 15px;
  height: auto;
  margin: auto;
  border-radius: 0; }

.video-play-button span {
  display: block;
  position: relative;
  z-index: 3;
  width: 0;
  height: 0;
  border-left: 32px solid #fff;
  border-top: 22px solid transparent;
  border-bottom: 22px solid transparent; }

@keyframes pulse-border {
  0% {
    transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1);
    opacity: 1; }
  100% {
    transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1.5);
    opacity: 0; } }
