@charset "UTF-8";
/* ====================================================
    foundation
  ==================================================== */
/* ***********************************
*
*    Ire's CSS Reset & Base
*
* *********************************** */
/* Reset margin, padding, border
 * *********************************** */
html, body,
h1, h2, h3, h4, h5, h6,
a, p, span,
em, small, strong,
sub, sup,
mark, del, ins, strike,
abbr, dfn,
blockquote, q, cite,
code, pre,
ol, ul, li, dl, dt, dd,
div, section, article,
main, aside, nav,
header, hgroup, footer,
img, figure, figcaption,
address, time,
audio, video,
canvas, iframe,
details, summary,
fieldset, form, label, legend,
table, caption,
tbody, tfoot, thead,
tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
}

/* Typography
 * *********************************** */
html {
  font-size: 62.5%;
}

body {
  font-size: 1.6rem;
  line-height: 1.4;
}

* {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

a,
a:visited {
  color: inherit;
}

/* Layout
 * *********************************** */
article,
aside,
footer,
header,
nav,
section,
main {
  display: block;
}

* {
  box-sizing: border-box;
}

*:before,
*:after {
  box-sizing: inherit;
}

/* Elements
 * *********************************** */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

ol,
ul {
  list-style: none;
}

img,
video {
  max-width: 100%;
}

img {
  border-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:after,
blockquote:before,
q:after,
q:before {
  content: "";
  content: none;
}

/* Attributes & js-results
 * *********************************** */
[hidden] {
  display: none !important;
}

[disabled] {
  cursor: not-allowed;
}

:focus:not(:focus-visible) {
  outline: none;
}

/* Utility classes
 * *********************************** */
.sr-only {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  left: -9999px;
  top: -9999px;
}

body {
  background-color: #1B1B1B;
  color: #fff;
  width: 100%;
  height: 100vh;
  background-size: 2rem 2rem;
  background-position: 0px 0px;
  position: relative;
}
body::before {
  display: inline-block;
  background: url(../../assets/img/bg_cardboard.webp) no-repeat;
  background-size: cover;
  position: fixed;
  z-index: -1;
  width: 120vw;
  height: 120vh;
}

body::-webkit-scrollbar {
  width: 6px;
  border-radius: 6px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  -ms-border-radius: 6px;
  -o-border-radius: 6px;
}

body::-webkit-scrollbar-track {
  background-color: #181818;
}

body::-webkit-scrollbar-thumb {
  background-color: #d3381c;
}

/* common
 -------------------------------------*/
*,
*:before,
*:after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  width: 100%;
  height: 100%;
}

body {
  height: 100%;
  margin: 0;
  overflow-x: hidden;
  cursor: url(../../../assets/img/chara_yukitora.png), default;
}

body,
#wrap {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  width: 100%;
}

footer {
  margin-top: auto;
}

img {
  max-width: 100%;
  vertical-align: middle;
  pointer-events: none;
}

input {
  margin: 0;
  padding: 0;
}

textarea {
  padding: 0;
  font: inherit;
  color: inherit;
}

button {
  font: inherit;
  padding: 0;
  background-color: transparent;
  border: none;
  color: inherit;
  cursor: pointer;
}

:hover {
  transition: all 0.5s ease-in-out;
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  -ms-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
}

li {
  list-style: none;
}

@media screen and (min-width: 1080px) {
  .is-sp {
    display: none !important;
  }
}

@media screen and (max-width: 1080px) {
  .is-pc {
    display: none !important;
  }
}

body {
  font-family: "ab-digicomb", "shippori-antique-b1", "ab-togetsukanteiryu", "forma-djr-micro", "sneakers-pro", sans-serif;
  font-weight: 500, 900;
  font-style: normal;
  text-align: justify;
  font-feature-settings: "palt";
  -moz-font-featu-webkit-font-re-settings: "palt";
  -webkit-font-feature-settings: "palt";
  -moz-font-feature-settings: "palt";
  line-height: 3.5rem;
  font-size: 1.6rem;
}

h1,
h2,
p {
  color: #42602D;
}

p {
  text-align: justify;
}

a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  text-decoration: none;
  opacity: 0.8;
  color: #888;
  text-decoration-color: transparent;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
a:visited {
  text-decoration: none;
}

em {
  font-style: normal;
}

ruby {
  ruby-align: center;
}

rt {
  font-weight: normal;
}

/* ====================================================
   animation
 ==================================================== */
.is-hidden {
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s ease-in-out;
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  -ms-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
}

.is-show {
  opacity: 1 !important;
  visibility: visible !important;
  transition: all 0.5s ease-in-out;
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  -ms-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
}

.js-fade {
  opacity: 0;
  visibility: hidden;
  transform: translateY(50px);
  transition: opacity 1s, visibility 1s, transform 1s;
}

.scroll {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}

/* ====================================================
    layout
  ==================================================== */
/* footer
-------------------------------------*/
.l-footer {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 2rem;
  position: relative;
  color: #fff;
  z-index: -1;
  width: 100%;
  height: 100vh;
  min-height: 100vh;
  background: url(../../assets/img/bg_cardboard.webp) no-repeat;
  overflow: hidden;
  background-size: cover;
}
.l-footer::after {
  content: "";
  display: inline-block;
  width: 28rem;
  height: 28rem;
  background: url(../../assets/img/c_car.png) no-repeat;
  background-size: contain;
  position: absolute;
  left: 18rem;
  bottom: -6rem;
  z-index: -1;
  transform: rotate(3deg);
}
@media screen and (max-width: 1080px) {
  .l-footer::after {
    left: auto;
    right: -6rem;
  }
}
@media screen and (min-width: 1080px) {
  .l-footer {
    padding: 8rem 8rem 1.8rem;
  }
}
@media screen and (max-width: 1080px) {
  .l-footer {
    padding: 8rem 2rem;
    align-items: flex-start;
    gap: 6rem;
    justify-content: flex-start;
  }
}
.l-footer__wrap {
  position: absolute;
  bottom: -3rem;
  left: 0;
  height: 100vh;
  width: 100vw;
  z-index: -1;
}
@media screen and (max-width: 1080px) {
  .l-footer__wrap {
    height: 80vh;
  }
}
.l-footer__wrap #wave {
  height: 100%;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}
.l-footer__menu {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  gap: 2rem;
  width: 100%;
  font-weight: bold;
}
.l-footer__banner {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 0.8rem;
}
@media screen and (min-width: 1080px) {
  .l-footer__banner {
    flex-direction: row;
    justify-content: flex-end;
    flex: 3;
  }
}
.l-footer__rights {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 1.6rem;
  font-family: "ab-digicomb";
}
@media screen and (max-width: 1080px) {
  .l-footer__rights {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
}
.l-footer__copyright {
  color: #000;
  font-size: 0.9rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 0.8rem;
}
@media screen and (max-width: 1080px) {
  .l-footer__copyright {
    color: #fff;
    align-items: flex-start;
    flex-direction: column;
    font-size: 1rem;
    line-height: 1.4rem;
    max-width: 60vw;
  }
}
.l-footer__cookie {
  color: #fff;
  font-size: 0.8rem;
  line-height: 1rem;
  font-weight: normal;
}
@media screen and (max-width: 1080px) {
  .l-footer__cookie {
    text-align: left;
    width: 100%;
  }
}
.l-footer__cookie:visited {
  color: #d3381c;
}

/* header
-------------------------------------*/
.l-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  position: fixed;
  width: 100%;
  z-index: 100;
  gap: 4.8rem;
}
.l-header__wrap {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
  width: 100vw;
  margin-left: auto;
  padding: 1.2rem 1.8rem;
}
@media screen and (max-width: 1080px) {
  .l-header__wrap {
    width: 100%;
    justify-content: space-between;
  }
}
.l-header__logo {
  z-index: 103;
}
@media screen and (max-width: 1080px) {
  .l-header__logo {
    width: 48rem;
    max-width: 70vw;
  }
  .l-header__logo::before {
    width: 18rem;
    height: 18rem;
    top: -8rem;
    left: -4rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1080px) {
  .l-header__logo {
    width: 32vw;
    max-width: 32rem;
  }
}
@media screen and (min-width: 1080px) {
  .l-header__logo {
    width: 48vw;
    max-width: 48rem;
  }
}
.l-header__nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
  width: 100%;
  position: relative;
  gap: 4.8rem;
  color: #fff;
}
.l-header__nav ::-webkit-scrollbar {
  display: none;
}
@media screen and (max-width: 1080px) {
  .l-header__nav {
    display: none !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1080px) {
  .l-header__nav {
    display: none !important;
  }
}
@media screen and (min-width: 1080px) {
  .l-header__hamburger {
    display: none !important;
  }
}
.l-header__open {
  background-color: #d3381c;
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  height: 101vh;
  z-index: 101;
  overflow-y: scroll;
  opacity: 0;
  visibility: hidden;
  transition: 0.2s ease;
  -webkit-transition: 0.2s ease;
  -moz-transition: 0.2s ease;
  -ms-transition: 0.2s ease;
  -o-transition: 0.2s ease;
  overflow-x: hidden;
}
.l-header__open.is-show {
  opacity: 1;
  visibility: visible;
  -webkit-animation: fadein 0.2s;
  animation: fadein 0.2s;
  cursor: pointer;
}
.l-header__open::-webkit-scrollbar {
  display: none !important;
}
.l-header__open::after {
  content: "";
  display: inline-block;
  width: 18rem;
  height: 18rem;
  background: url(../../assets/img/c_dorobo.png) no-repeat;
  background-size: contain;
  position: absolute;
  right: -9rem;
  bottom: -2rem;
  z-index: -1;
}

/* hamburger
-------------------------------------*/
#js-hamburger {
  z-index: 102;
  display: block;
  cursor: pointer;
  transition: 0.2s;
  -webkit-transition: 0.2s;
  -moz-transition: 0.2s;
  -ms-transition: 0.2s;
  -o-transition: 0.2s;
  position: absolute;
  top: 2.4rem;
  right: 2rem;
  font-size: 1.2rem;
  background-color: #d3381c;
  border-radius: 5rem;
  -webkit-border-radius: 5rem;
  -moz-border-radius: 5rem;
  -ms-border-radius: 5rem;
  -o-border-radius: 5rem;
  height: 4.8rem;
  width: 4.8rem;
}
#js-hamburger span {
  display: inline-block;
  pointer-events: none;
  font-weight: bold;
}
#js-hamburger::before {
  display: inline-block;
  width: 6.8rem;
  height: 4.8rem;
  background: url(../../assets/img/ico_matsu.svg) no-repeat;
  background-size: contain;
  position: absolute;
  right: 0;
  z-index: -1;
}
#js-hamburger::after {
  display: inline-block;
  width: 8rem;
  height: 8rem;
  background-size: contain;
  position: absolute;
  top: -2rem;
  right: -1rem;
  z-index: -2;
}
#js-hamburger.is-show {
  background-color: #fff;
}
#js-hamburger.is-show span {
  color: #000;
}
#js-hamburger.is-show::before {
  background-size: contain;
}

@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* hero
-------------------------------------*/
.l-hero {
  position: relative;
  height: 100vh;
  /* Swiper-KV 左右クリックエリア */
}
.l-hero:after {
  border: 18px solid #42602D;
  width: 100vw;
  height: 100vh;
  background-size: cover;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 1;
  display: flex;
  position: absolute;
}
.l-hero__title {
  padding: 1.2rem;
  z-index: 1;
  position: relative;
  font-size: 1.2rem;
  display: inline-flex;
  color: #fff;
}
.l-hero__title::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  width: 6rem;
  height: 6rem;
  background: url(https://edokko-ninjinmaru.com/assets/img/ico_hart.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0.4rem;
  left: 0.4rem;
  z-index: -1;
}
.l-hero .swiper-slide {
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.5s ease-in-out; /* フェードアニメーションの速度を調整 */
}
.l-hero .swiper-slide-active {
  opacity: 1;
}
.l-hero .swiper-slide {
  max-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}
.l-hero .swiper-slide img {
  min-width: 100vw;
  min-height: 100vh;
  object-fit: cover;
  max-height: 100vh;
  overflow: hidden;
}
.l-hero .swiper-scrollbar {
  bottom: 6px;
  left: 0;
  width: 100%;
  background: #000;
  height: 0.6rem;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  position: relative;
}
.l-hero .swiper-scrollbar-drag {
  background: #d3381c !important;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  position: relative;
}
.l-hero .swiper-scrollbar-drag::before {
  content: "";
  display: inline-block;
  width: 100%;
  background: url(../../assets/img/c_furoshiki.png) no-repeat;
  background-size: contain;
  position: absolute;
  z-index: 99;
}
@media screen and (max-width: 1080px) {
  .l-hero .swiper-scrollbar-drag::before {
    height: 4.8rem;
    width: 8.4rem;
    bottom: -1rem;
    left: -1.8rem;
    min-width: 10vw;
  }
}
@media screen and (min-width: 1080px) {
  .l-hero .swiper-scrollbar-drag::before {
    width: 18rem;
    height: 8.4rem;
    bottom: -0.8rem;
    left: -1.8rem;
  }
}
.l-hero .swiper-control-kv {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50%; /* 左右で画面を半分に分割 */
  cursor: pointer;
  z-index: 10;
}
.l-hero .swiper-control-kv-left {
  left: 0;
}
.l-hero .swiper-control-kv-right {
  right: 0;
}
.l-hero .swiper-control:active {
  background: rgba(0, 0, 0, 0.1); /* クリック時のフィードバック効果 */
}

/* loading
-------------------------------------*/
.l-loading {
  min-height: 100vh;
  background-color: #fff;
  display: grid;
  place-items: center;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}
.l-loading img {
  width: 18rem;
  max-width: 70vw;
}
@media screen and (max-width: 1080px) {
  .l-loading img {
    max-width: 50vw;
  }
}

.is-loaded {
  height: 0;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s ease-in-out;
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  -ms-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
}

/* menu
-------------------------------------*/
.l-menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  width: 100%;
}
.l-menu.is-fixed {
  position: fixed;
  z-index: 1;
  background-color: #fff;
  top: 5.8rem;
  padding: 0;
}
.l-menu__title {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  width: 100%;
  font-size: 1.8rem;
  line-height: 1.8rem;
  padding-bottom: 0.2rem;
}
.l-menu__title.is-left {
  text-align: left;
  justify-content: flex-start;
  font-size: 1.4rem;
}
.l-menu__link {
  cursor: pointer;
  width: 4rem;
  height: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}
.l-menu__option {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
  gap: 0.8rem;
  font-weight: normal;
  color: #888;
}

/* wrap
-------------------------------------*/
.l-wrap__top {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
  z-index: 0;
  gap: 8rem;
}
@media screen and (min-width: 1080px) {
  .l-wrap__top {
    margin-top: 8rem;
  }
}
@media screen and (max-width: 1080px) {
  .l-wrap__top {
    gap: 12rem;
    padding-top: 8rem;
    overflow-x: hidden;
  }
}

/* ====================================================
    object
  ==================================================== */
#article {
  width: 100%;
  justify-content: center;
}
@media screen and (min-width: 1080px) {
  #article {
    padding-top: 8rem;
  }
}
@media screen and (max-width: 1080px) {
  #article {
    padding-top: 12rem;
  }
}
#article h2 {
  top: 4rem;
  left: 0;
}
@media screen and (max-width: 1080px) {
  #article h2 {
    left: 4rem;
    top: 0;
  }
}

.c-article {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  position: relative;
  gap: 4rem;
  z-index: 100;
}
@media screen and (min-width: 1080px) {
  .c-article {
    max-width: 80rem;
    padding-top: 12rem;
  }
}
@media screen and (max-width: 1080px) {
  .c-article {
    padding-top: 6rem;
    gap: 4rem;
  }
}
.c-article__heading {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
}
@media screen and (min-width: 1080px) {
  .c-article__heading {
    gap: 2rem;
  }
}
@media screen and (max-width: 1080px) {
  .c-article__heading {
    margin-left: 2rem;
    width: 80vw;
  }
}
.c-article__title {
  color: #d3381c;
  background-color: #000;
  -webkit-border-radius: 30% 70% 35% 65%/50% 50% 50% 50%;
  font-size: 2.4rem;
  line-height: 3.2rem;
  padding: 5rem 4rem 4rem;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: row;
  gap: 1.6rem;
}
.c-article__title span {
  font-size: 1.4rem;
}
@media screen and (min-width: 1080px) {
  .c-article__title {
    padding: 3.2rem 10rem 3.2rem 10rem;
  }
}
@media screen and (max-width: 1080px) {
  .c-article__title {
    max-width: 90vw;
    padding: 2rem;
  }
}
.c-article__title rt {
  font-size: 0.8rem;
  margin-left: 0.8rem;
}
.c-article__date {
  z-index: 1;
  color: #fff;
  font-size: 2rem;
  position: relative;
  font-family: "sneakers-pro";
}
@media screen and (max-width: 1080px) {
  .c-article__date {
    font-size: 1.6rem;
    padding: 0 2rem;
  }
}
.c-article__wrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  gap: 2rem;
  position: relative;
  z-index: -2;
}
@media screen and (max-width: 1080px) {
  .c-article__wrap {
    left: 1.4rem;
    width: 80vw;
  }
}
@media screen and (min-width: 1080px) {
  .c-article__wrap .is-row {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: row;
    gap: 4rem;
  }
  .c-article__wrap .is-row img {
    max-width: 30vw;
  }
}
@media screen and (max-width: 1080px) {
  .c-article__wrap .is-row {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    gap: 2rem;
  }
}
.c-article__wrap h5 {
  font-size: 2.6rem;
  line-height: 3.2rem;
}
.c-article__wrap h6 {
  font-size: 2rem;
  line-height: 2.6rem;
}
.c-article__wrap p {
  color: #fff;
  font-size: 1.8rem;
  line-height: 3.2rem;
  color: #fff;
  margin-right: auto;
}
.c-article__wrap p rt {
  font-size: 0.8rem;
  margin-bottom: 0.2rem;
}
.c-article__wrap p a {
  color: #d3381c;
}
.c-article__wrap p a:visited {
  color: #d3381c;
}
.c-article__wrap img {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  display: inline-flex;
  gap: 2rem;
  height: auto;
}
.c-article__wrap ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  gap: 0.8rem;
  width: 100%;
}
.c-article__wrap ul li {
  line-height: 1.6rem;
  width: 100%;
}
.c-article__wrap dl {
  display: flex;
  gap: 2rem;
  width: 100%;
}
.c-article__wrap dl dt {
  background-color: #42602D;
  padding: 0.4rem 1.6rem;
  font-size: 1.4rem;
  line-height: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex: 1;
}
.c-article__wrap dl dd {
  flex: 6;
}
.c-article__wrap .flex {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 2rem;
}
.c-article__wrap .w50 {
  width: 50%;
}
.c-article__button {
  position: relative;
}
.c-article__button:hover::after {
  background-color: #d3381c;
}
.c-article__back {
  color: #42602D;
  position: relative;
  display: flex;
  padding: 0.4rem 3.2rem;
  cursor: pointer;
  z-index: 0;
}
.c-article__back::before {
  content: "";
  background: url(https://edokko-ninjinmaru.com/assets/img/ico_arrow.svg) no-repeat;
  display: inline-block;
  position: absolute;
  background-size: contain;
  background-position: center;
  width: 4rem;
  height: 2rem;
  right: 10rem;
  top: 1rem;
  transform: rotate(180deg);
}
.c-article__back:hover::before {
  transform: translateX(-20px), rotate(180deg);
  -webkit-transform: translateX(-20px), rotate(180deg);
  -moz-transform: translateX(-20px), rotate(180deg);
  -ms-transform: translateX(-20px), rotate(180deg);
  -o-transform: translateX(-20px), rotate(180deg);
  transition: all 0.5s ease-in-out;
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  -ms-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
}
.c-article__back:visited {
  color: #42602D;
}
.c-article__back:hover {
  color: #d3381c;
}

#article .swiper {
  width: 100%;
  height: 100%;
  width: 100%;
  height: 300px;
  margin-left: auto;
  margin-right: auto;
}
#article .swiper-slide {
  text-align: center;
  font-size: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}
#article .swiper-slide img {
  display: block;
  object-fit: cover;
  position: relative;
  min-width: 100%;
  min-height: 100%;
}
#article .swiper-slide img:hover {
  opacity: 0.5;
}
#article .swiper-wrap {
  height: 100%;
  width: 100%;
}
#article .swiper-button {
  height: 10%;
  box-sizing: border-box;
  padding: 0 2rem;
  cursor: pointer;
}
#article .swiper-button .swiper-slide {
  width: 8rem !important;
  height: 8rem;
  border: 4px solid #42602D;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  margin: 0;
}
#article .swiper-button .swiper-slide:hover {
  border: 4px solid #d3381c;
}
#article .swiper-button .swiper-slide-thumb-active {
  border: 4px solid #d3381c;
}
#article .swiper-button .swiper-slide-thumb-active .c-character__button {
  opacity: 1;
}
#article .swiper-wrapper {
  height: 100%;
}
#article .swiper-free-mode > .swiper-wrapper {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  gap: 0.8rem;
  width: 90vw;
}
@media screen and (min-width: 1080px) {
  #article .swiper-free-mode > .swiper-wrapper {
    padding: 0 8rem;
  }
}
#article .swiper-button .swiper-slide {
  margin: 0 !important;
}
#article .swiper-button-next, #article .swiper-button-prev {
  width: 1.8rem;
  height: 1.8rem;
  color: #fff !important;
  padding: 1.6rem;
}
@media screen and (max-width: 1080px) {
  #article .swiper-button-next::after, #article .swiper-button-prev::after {
    content: none !important;
  }
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  display: inline-block;
  z-index: 0;
  color: #d3381c;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.c-banner {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 1.6rem;
}
@media screen and (max-width: 1080px) {
  .c-banner {
    flex-direction: column;
  }
}
.c-banner__link {
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.c-banner__link:hover {
  opacity: 1 !important;
}
.c-banner__image {
  object-fit: contain;
  width: auto;
  transform: rotate(-3deg);
  -webkit-transform: rotate(-3deg);
  -moz-transform: rotate(-3deg);
  -ms-transform: rotate(-3deg);
  -o-transform: rotate(-3deg);
}
@media screen and (max-width: 1080px) {
  .c-banner__image {
    max-height: 6rem;
  }
}
@media screen and (min-width: 1080px) {
  .c-banner__image {
    height: 8.4rem;
  }
}

#introduction {
  position: relative;
  margin: 0 auto;
  margin-left: auto;
}
#introduction::before {
  content: "";
  display: inline-block;
  width: 20rem;
  height: 20rem;
  background: url(../../assets/img/chara_taketora.png) no-repeat;
  background-size: contain;
  position: absolute;
  left: 38rem;
  bottom: -1rem;
  z-index: 10;
  transform: rotate(3deg);
}
@media screen and (max-width: 1080px) {
  #introduction::before {
    left: -1rem;
    width: 16rem;
  }
}
#introduction::after {
  content: "";
  display: inline-block;
  width: 20rem;
  height: 20rem;
  background: url(../../assets/img/chara_ninjinmaru.png) no-repeat;
  background-size: contain;
  position: absolute;
  right: 38rem;
  bottom: -1rem;
  z-index: 10;
  transform: rotate(3deg);
}
@media screen and (max-width: 1080px) {
  #introduction::after {
    right: -1rem;
    width: 16rem;
  }
}
#introduction h2 {
  left: auto;
  right: 3rem;
}
@media screen and (max-width: 1080px) {
  #introduction h2 {
    right: -1rem;
  }
}

@media screen and (max-width: 1080px) {
  .c-introduction {
    padding: 0;
  }
}
@media screen and (max-width: 1080px) {
  .c-introduction__wrap {
    gap: 2rem;
    width: 90vw;
  }
}
.c-introduction__contents {
  gap: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
@media screen and (min-width: 1080px) {
  .c-introduction__contents {
    flex: 1.5;
  }
}
.c-introduction__image {
  position: relative;
}
@media screen and (min-width: 1080px) {
  .c-introduction__image {
    flex: 2;
  }
}
.c-introduction__text {
  color: #fff;
  font-size: 1.8rem;
  line-height: 3.2rem;
  text-align: center;
}
@media screen and (min-width: 1080px) {
  .c-introduction__text {
    flex: 1;
  }
}
@media screen and (max-width: 1080px) {
  .c-introduction__text {
    padding: 2rem;
    font-size: 1.6rem;
    line-height: 2.2rem;
    margin: 0;
  }
}
.c-introduction__text rt {
  font-size: 0.8rem;
  padding-left: 0.8rem;
}

#character {
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 1080px) {
  #character .c-section__wrap {
    padding: 0;
  }
}
.c-character {
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  z-index: 1;
  position: relative;
  gap: 4rem;
}
@media screen and (min-width: 1080px) {
  .c-character {
    width: 60vw;
  }
}
@media screen and (max-width: 1080px) {
  .c-character {
    width: 100%;
  }
}
.c-character__thumbs {
  width: 90%;
  height: 90%;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  opacity: 0.5;
  cursor: pointer;
  position: relative;
  background-color: #001F6B;
}
.c-character__thumbs:hover {
  opacity: 1;
}
.c-character__wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  position: relative;
  z-index: -1;
  gap: 4rem;
}
@media screen and (min-width: 1080px) {
  .c-character__wrap {
    padding: 0 8rem;
  }
}
@media screen and (max-width: 1080px) {
  .c-character__wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
}
.c-character__image {
  width: auto;
  z-index: -1;
  display: flex;
  position: relative;
}
.c-character__image img {
  max-width: 70vw !important;
  max-width: 38rem;
  margin-left: auto;
}
@media screen and (min-width: 1080px) {
  .c-character__image {
    max-height: 70vh;
    width: 50vw;
  }
}
@media screen and (max-width: 1080px) {
  .c-character__image {
    max-width: 90vw;
    z-index: 0;
    bottom: 0;
  }
}
.c-character__name {
  color: #fff;
  z-index: 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  width: 100%;
}
@media screen and (min-width: 1080px) {
  .c-character__name {
    font-size: 4rem;
  }
}
@media screen and (max-width: 1080px) {
  .c-character__name {
    font-size: 3.2rem;
  }
}
.c-character__name rt {
  padding-left: 1rem;
  font-size: 0.8rem;
}
@media screen and (min-width: 1080px) {
  .c-character__name rt {
    padding-bottom: 0.2rem;
    padding-left: 1.4rem;
  }
}
.c-character__detail {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  gap: 2rem;
  z-index: -1;
  color: #fff;
}
@media screen and (max-width: 1080px) {
  .c-character__detail {
    width: 70vw;
    padding: 0 2rem 4rem;
  }
}
.c-character__detail::before {
  content: "";
  display: inline-block;
  width: 8rem;
  height: 8rem;
  background: url(https://edokko-ninjinmaru.com/assets/img/bg_character--text.svg) no-repeat;
  background-size: contain;
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 120%;
  left: 0;
  top: 0;
}
.c-character__profile {
  padding-left: 4rem;
}
@media screen and (max-width: 1080px) {
  .c-character__profile {
    width: 80vw;
  }
}
.c-character__text {
  color: #fff;
  position: absolute;
  bottom: 0;
  right: 0;
  position: relative;
}
@media screen and (min-width: 1080px) {
  .c-character__text {
    font-size: 1.4rem;
    line-height: 2rem;
  }
  .c-character__text rt {
    font-size: 0.8rem;
    padding-left: 0.6rem;
  }
}
@media screen and (max-width: 1080px) {
  .c-character__text {
    font-size: 1.4rem;
    line-height: 2.4rem;
  }
  .c-character__text rt {
    font-size: 0.8rem;
    padding-left: 0.4rem;
  }
}
.c-character__cv {
  color: #181818;
  font-size: 1.2rem;
  position: relative;
  width: 14rem;
  padding: 0.4rem 1.6rem;
  white-space: nowrap;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  margin-left: 2rem;
  gap: 0.8rem;
}
.c-character__cv::before {
  content: "";
  display: inline-block;
  width: 110%;
  height: 110%;
  background: url(https://edokko-ninjinmaru.com/assets/img/bg_cv.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: -0.4rem;
  left: -0.2rem;
  z-index: -1;
}
@media screen and (max-width: 1080px) {
  .c-character__cv {
    margin-right: 4rem;
    z-index: -1;
  }
}
@media screen and (max-width: 1080px) {
  .c-character__cast {
    font-size: 1.6rem;
  }
}

#character .swiper {
  width: 100%;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  cursor: pointer;
}
#character .swiper-slide {
  position: relative;
}
#character .swiper-slide img {
  display: block;
  width: 100%;
  object-fit: contain;
  position: relative;
}
#character .swiper-wrap {
  height: 100%;
  width: 70vw;
}
@media screen and (max-width: 1080px) {
  #character .swiper-wrap {
    width: 100vw;
  }
}
#character .swiper-thumbs {
  cursor: pointer;
  box-sizing: border-box;
}
@media screen and (max-width: 1080px) {
  #character .swiper-thumbs {
    padding: 4rem;
  }
}
#character .swiper-thumbs .swiper-slide {
  width: 8rem !important;
  height: 8rem !important;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  margin: 0;
  background-color: #d3381c;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
}
#character .swiper-thumbs .swiper-slide:hover {
  border: 4px solid #42602D;
}
#character .swiper-thumbs .swiper-slide-thumb-active {
  background-color: #000;
}
#character .swiper-thumbs .swiper-slide-thumb-active .c-character__thumbs {
  opacity: 1;
  position: relative;
  background-color: #d3381c;
}
#character .swiper-thumbs .swiper-slide-thumb-active .c-character__thumbs::before {
  content: "";
  display: inline-block;
  width: 8rem;
  height: 8rem;
  background: url(https://edokko-ninjinmaru.com/assets/img/bg_character-btn--active.svg) no-repeat;
  background-size: contain;
  position: absolute;
  z-index: -1;
  width: 140%;
  height: 100%;
  left: 0;
  top: -1rem;
}
#character .swiper-button-character-next,
#character .swiper-button-character-prev {
  background-color: #d3381c;
  position: absolute;
  padding: 2rem;
  z-index: 100;
  top: 50%;
  cursor: pointer;
}
#character .swiper-button-character-next {
  right: 0;
}
#character .swiper-button-character-next::before, #character .swiper-button-character-next::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 10px;
  background-color: #fff;
}
#character .swiper-button-character-next::before {
  top: 50%;
  left: 20px;
  transform: translateY(-80%) rotate(-45deg);
  -webkit-transform: translateY(-80%) rotate(-45deg);
  -moz-transform: translateY(-80%) rotate(-45deg);
  -ms-transform: translateY(-80%) rotate(-45deg);
  -o-transform: translateY(-80%) rotate(-45deg);
}
#character .swiper-button-character-next::after {
  top: 50%;
  left: 20px;
  transform: translateY(-20%) rotate(45deg);
  -webkit-transform: translateY(-20%) rotate(45deg);
  -moz-transform: translateY(-20%) rotate(45deg);
  -ms-transform: translateY(-20%) rotate(45deg);
  -o-transform: translateY(-20%) rotate(45deg);
}
#character .swiper-button-character-prev::before, #character .swiper-button-character-prev::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 10px;
  background-color: #fff;
}
#character .swiper-button-character-prev::before, #character .swiper-button-character-prev::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 10px;
  background-color: #fff;
}
#character .swiper-button-character-prev::before {
  top: 50%;
  right: 20px;
  transform: translateY(-80%) rotate(45deg);
  -webkit-transform: translateY(-80%) rotate(45deg);
  -moz-transform: translateY(-80%) rotate(45deg);
  -ms-transform: translateY(-80%) rotate(45deg);
  -o-transform: translateY(-80%) rotate(45deg);
}
#character .swiper-button-character-prev::after {
  top: 50%;
  right: 20px;
  transform: translateY(-20%) rotate(-45deg);
  -webkit-transform: translateY(-20%) rotate(-45deg);
  -moz-transform: translateY(-20%) rotate(-45deg);
  -ms-transform: translateY(-20%) rotate(-45deg);
  -o-transform: translateY(-20%) rotate(-45deg);
}

#colab {
  position: relative;
}
.c-colab {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 0.8rem;
  width: 100%;
}
.c-colab__link {
  background-color: #000;
  cursor: pointer;
}
@media screen and (max-width: 1080px) {
  .c-colab__link {
    width: 80vw;
  }
}
.c-colab__wrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  gap: 3.2rem;
  height: 100%;
  width: 100%;
  z-index: 0;
}
@media screen and (min-width: 1080px) {
  .c-colab__wrap {
    gap: 4.8rem;
  }
}
.c-colab__wrap:hover {
  color: #fff;
  cursor: pointer;
}
.c-colab__wrap:hover::before {
  background-color: #d3381c;
}
@media screen and (max-width: 1080px) {
  .c-colab__wrap {
    gap: 0.8rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
  }
}
.c-colab__date {
  color: #42602D;
  font-size: 2.4rem;
  line-height: 2rem;
  flex: 1;
  display: inline-flex;
  width: 100%;
  font-family: "sneakers-pro";
  justify-content: flex-end;
}
@media screen and (max-width: 1080px) {
  .c-colab__date {
    font-size: 1.8rem;
  }
}
.c-colab__text {
  color: #fff;
  font-size: 1.8rem;
  line-height: 2.6rem;
  flex: auto;
}
@media screen and (max-width: 1080px) {
  .c-colab__text {
    font-size: 1.8rem;
    line-height: 2.4rem;
  }
}
.c-colab__text a {
  color: #d3381c;
  border-bottom: 2px solid #d3381c;
  padding: 0 0.8rem;
}
.c-colab__text a:visited {
  color: #d3381c;
}

#comic {
  position: relative;
  z-index: 0;
}
#comic .c-section__wrap {
  width: 100%;
  background-color: #d3381c;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  padding: 18rem;
}
@media screen and (max-width: 1080px) {
  #comic .c-section__wrap {
    padding: 6rem 0 0;
  }
}
#comic .c-section__wrap .swiper-slide {
  margin: 0; /* スライドの余白をなくす */
  padding: 0; /* スライド内の余白をなくす */
}
.c-comic {
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  z-index: 1;
  position: relative;
}
@media screen and (min-width: 1080px) {
  .c-comic {
    width: 90vw;
    max-width: 84rem;
  }
}
@media screen and (max-width: 1080px) {
  .c-comic {
    width: 100vw;
  }
}
.c-comic__banner {
  transform: rotate(3deg);
  -webkit-transform: rotate(3deg);
  -moz-transform: rotate(3deg);
  -ms-transform: rotate(3deg);
  -o-transform: rotate(3deg);
  position: absolute;
  top: -1.6rem;
  right: -8rem;
}
@media screen and (max-width: 1080px) {
  .c-comic__banner {
    right: -1rem;
    top: -10rem;
  }
}
.c-comic__kindle {
  width: 20rem;
}
.c-comic__title {
  font-size: 2.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  margin-bottom: 2rem;
  position: relative;
}
.c-comic__title::before {
  content: "";
  display: inline-block;
  width: 2.8rem;
  height: 2.8rem;
  background: url(../../assets/img/ico_carrot--white.webp) no-repeat;
  background-size: contain;
  z-index: -1;
  margin-bottom: 1rem;
}
.c-comic__title span {
  font-size: 1.4rem;
}
.c-comic__thumbs {
  width: 90%;
  height: 90%;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  opacity: 0.5;
  cursor: pointer;
  position: relative;
  background-color: #001F6B;
}
.c-comic__thumbs:hover {
  opacity: 1;
}
@media screen and (max-width: 1080px) {
  .c-comic__wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
}
@media screen and (min-width: 1080px) {
  .c-comic__image img {
    width: 50%;
  }
}
@media screen and (max-width: 1080px) {
  .c-comic__image img {
    max-width: 100%;
  }
}
@media screen and (max-width: 1080px) {
  .c-comic__image {
    z-index: 0;
    bottom: 0;
  }
}
.c-comic__name {
  color: #fff;
  z-index: 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  width: 100%;
}
@media screen and (min-width: 1080px) {
  .c-comic__name {
    font-size: 4rem;
  }
}
@media screen and (max-width: 1080px) {
  .c-comic__name {
    font-size: 3.2rem;
  }
}
.c-comic__name rt {
  padding-left: 1rem;
  font-size: 0.8rem;
}
@media screen and (min-width: 1080px) {
  .c-comic__name rt {
    padding-bottom: 0.2rem;
    padding-left: 1.4rem;
  }
}
.c-comic__detail {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  gap: 2rem;
  z-index: -1;
  color: #fff;
}
@media screen and (max-width: 1080px) {
  .c-comic__detail {
    width: 70vw;
  }
}
.c-comic__detail::before {
  content: "";
  display: inline-block;
  width: 8rem;
  height: 8rem;
  background: url(https://edokko-ninjinmaru.com/assets/img/bg_comic--text.svg) no-repeat;
  background-size: contain;
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 120%;
  left: 0;
  top: 0;
}
.c-comic__profile {
  padding-left: 4rem;
}
@media screen and (max-width: 1080px) {
  .c-comic__profile {
    width: 80vw;
  }
}
.c-comic__text {
  color: #fff;
  position: absolute;
  bottom: 0;
  right: 0;
  position: relative;
}
@media screen and (min-width: 1080px) {
  .c-comic__text {
    font-size: 1.4rem;
    line-height: 2rem;
  }
  .c-comic__text rt {
    font-size: 0.8rem;
    padding-left: 0.6rem;
  }
}
@media screen and (max-width: 1080px) {
  .c-comic__text {
    font-size: 1.4rem;
    line-height: 2.4rem;
  }
  .c-comic__text rt {
    font-size: 0.8rem;
    padding-left: 0.4rem;
  }
}

#comic {
  /* Swiper-Comic 左右クリックエリア */
}
#comic .swiper {
  width: 100%;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  padding-bottom: 4rem;
}
#comic .swiper-slide img {
  display: block;
  width: 100%;
  object-fit: contain;
  position: relative;
}
#comic .swiper-wrap {
  height: 100%;
  width: 70vw;
}
@media screen and (max-width: 1080px) {
  #comic .swiper-wrap {
    width: 100vw;
  }
}
#comic .swiper-thumbs {
  cursor: pointer;
  box-sizing: border-box;
}
#comic .swiper-thumbs .swiper-slide {
  width: 8rem !important;
  height: 8rem !important;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  margin: 0;
  background-color: #d3381c;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
}
#comic .swiper-thumbs .swiper-slide:hover {
  border: 4px solid #42602D;
}
#comic .swiper-thumbs .swiper-slide-thumb-active {
  background-color: #000;
}
#comic .swiper-thumbs .swiper-slide-thumb-active .c-comic__thumbs {
  opacity: 1;
  position: relative;
  background-color: #d3381c;
}
#comic .swiper-thumbs .swiper-slide-thumb-active .c-comic__thumbs::before {
  content: "";
  display: inline-block;
  width: 8rem;
  height: 8rem;
  background: url(https://edokko-ninjinmaru.com/assets/img/bg_comic-btn--active.svg) no-repeat;
  background-size: contain;
  position: absolute;
  z-index: -1;
  width: 140%;
  height: 100%;
  left: 0;
  top: -1rem;
}
#comic .swiper-wrapper {
  height: 100%;
}
#comic .swiper-free-mode > .swiper-wrapper {
  gap: 1.8rem;
}
@media screen and (min-width: 1080px) {
  #comic .swiper-free-mode > .swiper-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
  }
}
@media screen and (max-width: 1080px) {
  #comic .swiper-free-mode > .swiper-wrapper {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
  }
}
#comic .swiper-thumbs .swiper-slide {
  margin: 0 !important;
}
#comic .swiper-thumbs-next, #comic .swiper-thumbs-prev {
  width: 1.8rem;
  height: 1.8rem;
  color: #fff !important;
  padding: 1.6rem;
}
@media screen and (max-width: 1080px) {
  #comic .swiper-thumbs-next::after, #comic .swiper-thumbs-prev::after {
    content: none !important;
  }
}
#comic .swiper-scrollbar {
  bottom: 4rem;
  width: 100%;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  left: 0;
}
#comic .swiper-scrollbar-drag {
  background-color: #42602D;
}
#comic .swiper-control-comic {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50%;
  cursor: pointer;
  z-index: 10;
}
#comic .swiper-control-comic-left {
  left: 0;
}
#comic .swiper-control-comic-right {
  right: 0;
}
#comic .swiper-slide img {
  pointer-events: auto; /* 画像のドラッグ操作を有効化 */
  user-select: none; /* テキスト選択を防止 */
}
#comic .swiper-button-comic-next,
#comic .swiper-button-comic-prev {
  background-color: #000;
  position: absolute;
  padding: 2rem;
  z-index: 100;
  bottom: 0;
  width: 50%;
  cursor: pointer;
}
#comic .swiper-button-comic-next {
  right: 0;
}
#comic .swiper-button-comic-next::before, #comic .swiper-button-comic-next::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 10px;
  background-color: #fff;
}
#comic .swiper-button-comic-next::before {
  top: 50%;
  right: 4rem;
  transform: translateY(-80%) rotate(-45deg);
  -webkit-transform: translateY(-80%) rotate(-45deg);
  -moz-transform: translateY(-80%) rotate(-45deg);
  -ms-transform: translateY(-80%) rotate(-45deg);
  -o-transform: translateY(-80%) rotate(-45deg);
}
#comic .swiper-button-comic-next::after {
  top: 50%;
  right: 4rem;
  transform: translateY(-20%) rotate(45deg);
  -webkit-transform: translateY(-20%) rotate(45deg);
  -moz-transform: translateY(-20%) rotate(45deg);
  -ms-transform: translateY(-20%) rotate(45deg);
  -o-transform: translateY(-20%) rotate(45deg);
}
#comic .swiper-button-comic-prev::before, #comic .swiper-button-comic-prev::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 10px;
  background-color: #fff;
}
#comic .swiper-button-comic-prev::before, #comic .swiper-button-comic-prev::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 10px;
  background-color: #fff;
}
#comic .swiper-button-comic-prev::before {
  top: 50%;
  left: 4rem;
  transform: translateY(-80%) rotate(45deg);
  -webkit-transform: translateY(-80%) rotate(45deg);
  -moz-transform: translateY(-80%) rotate(45deg);
  -ms-transform: translateY(-80%) rotate(45deg);
  -o-transform: translateY(-80%) rotate(45deg);
}
#comic .swiper-button-comic-prev::after {
  top: 50%;
  left: 4rem;
  transform: translateY(-20%) rotate(-45deg);
  -webkit-transform: translateY(-20%) rotate(-45deg);
  -moz-transform: translateY(-20%) rotate(-45deg);
  -ms-transform: translateY(-20%) rotate(-45deg);
  -o-transform: translateY(-20%) rotate(-45deg);
}

.c-modal {
  display: none;
  height: 100%;
  position: fixed;
  top: 0;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 100;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  background-color: #000;
}
.c-modal__comment {
  position: relative;
  width: 2rem;
  height: 2rem;
  display: inline-flex;
}
.c-modal__comment::before {
  content: "";
  display: inline-block;
  background: url(https://edokko-ninjinmaru.com/assets/img/ico_comment.svg) no-repeat;
  background-size: contain;
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.c-modal__comment.is-black::before {
  content: "";
  background: url(https://edokko-ninjinmaru.com/assets/img/ico_comment--black.svg) no-repeat;
  display: inline-block;
  background-size: contain;
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.c-modal__content {
  height: 100%;
  width: 100%;
  position: relative;
}
.c-modal__inner {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  gap: 4rem;
  padding: 8rem;
  position: relative;
}
@media screen and (max-width: 1080px) {
  .c-modal__inner {
    padding: 2rem;
  }
}
.c-modal__inner::before {
  content: "";
  display: inline-block;
  background-size: contain;
  position: absolute;
  z-index: -10;
  top: -12rem;
  left: -18rem;
  width: 58rem;
  height: 58rem;
}
.c-modal__title {
  font-size: 3.2rem;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  gap: 0.8rem;
  -webkit-border-radius: 30% 70% 35% 65%/50% 50% 50% 50%;
  background-color: #d3381c;
  color: #fff;
  padding: 0 4rem 2rem;
  z-index: 0;
}
.c-modal__title::before {
  content: "";
  display: inline-block;
  background: url(https://edokko-ninjinmaru.com/assets/img/bg_character.svg) no-repeat;
  background-size: contain;
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.c-modal__role {
  color: #181818;
  font-size: 1.3rem;
  position: relative;
  width: 8rem;
  white-space: nowrap;
  text-align: center;
  font-family: "sneakers-pro";
}
.c-modal__role::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(https://edokko-ninjinmaru.com/assets/img/bg_role.svg) no-repeat;
  background-size: contain;
  z-index: -1;
}
.c-modal__article {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  gap: 4rem;
  color: #fff;
}
@media screen and (min-width: 1080px) {
  .c-modal__article {
    max-width: 100rem;
    margin: 0 auto;
  }
}
.c-modal__article p {
  color: #fff;
  flex: 1;
}
.c-modal__article img {
  flex: 1;
}
@media screen and (min-width: 1080px) {
  .c-modal__article .is-row {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: row;
    gap: 4rem;
  }
}
@media screen and (max-width: 1080px) {
  .c-modal__article .is-row {
    display: flex;
    justify-content: column;
    align-items: flex-start;
    flex-direction: row;
    gap: 2rem;
  }
}
.c-modal__button {
  position: absolute;
  top: 6rem;
  right: 6rem;
}
@media screen and (max-width: 1080px) {
  .c-modal__button {
    top: 2rem;
    right: 3rem;
  }
}
.c-modal__close {
  position: relative;
  width: 8rem;
  height: 8rem;
  font-size: 2rem;
  font-family: "sneakers-pro";
  cursor: pointer;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  z-index: 1000;
}
@media screen and (max-width: 1080px) {
  .c-modal__close {
    width: 4rem;
    height: 4rem;
    font-size: 1.4rem;
    z-index: 10;
  }
}
.c-modal__close::before {
  content: "";
  display: inline-block;
  background: url(https://edokko-ninjinmaru.com/assets/img/ico_hart.svg) no-repeat;
  background-size: contain;
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  top: 0.4rem;
  left: 0.2rem;
}

.js-modal-open {
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 1.6rem;
}

/* モーダル開時に背景のスクロールを防ぐ */
html:has(dialog[open]) {
  overflow: hidden;
}

.c-modal::-webkit-scrollbar {
  display: none;
}

.c-modal::-webkit-scrollbar-track {
  display: none;
}

.c-modal::-webkit-scrollbar-thumb {
  display: none;
}

.c-menu {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
}
.c-menu__title {
  color: #d3381c;
  font-size: 1.4rem;
}
.c-menu__list {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  gap: 0.4rem;
}
.c-menu__item:hover {
  color: #d3381c;
}
.c-menu__link {
  font-size: 1.4rem;
  line-height: 1.4rem;
  position: relative;
}
.c-menu__link:visited {
  color: #fff;
}
.c-menu__link:hover {
  color: #d3381c;
}
.c-menu__sns img {
  width: 2rem;
  height: 2rem;
}

.c-more {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  flex-direction: row;
  width: 100%;
  color: #d3381c;
  position: relative;
  cursor: pointer;
}
@media screen and (min-width: 1080px) {
  .c-more {
    width: 4rem;
    padding-right: 6rem;
  }
}
@media screen and (max-width: 1080px) {
  .c-more {
    justify-content: flex-end;
  }
}
.c-more::before {
  content: "";
  background: url(https://edokko-ninjinmaru.com/assets/img/ico_arrow.svg) no-repeat;
  display: inline-block;
  position: absolute;
  background-size: contain;
  background-position: center;
  width: 4rem;
  height: 2rem;
  right: 4rem;
}
.c-more:hover::before {
  transform: translateX(20px);
  -webkit-transform: translateX(20px);
  -moz-transform: translateX(20px);
  -ms-transform: translateX(20px);
  -o-transform: translateX(20px);
  transition: all 0.5s ease-in-out;
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  -ms-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
}

#movie {
  position: relative;
  display: flex;
  margin-right: auto;
}
#movie::before {
  content: "";
  display: inline-block;
  background: url(https://edokko-ninjinmaru.com/assets/img/bg_movie.svg) no-repeat;
  background-size: contain;
  position: absolute;
  z-index: -1;
  width: 120%;
  height: 116%;
  left: 6rem;
  top: -5rem;
}
@media screen and (max-width: 1080px) {
  #movie::before {
    width: 108%;
    left: -4rem;
    top: -1rem;
  }
}
#movie::after {
  content: "";
  display: inline-block;
  width: 20rem;
  height: 20rem;
  background-size: contain;
  position: absolute;
  bottom: 0;
  right: -5rem;
}
@media screen and (max-width: 1080px) {
  #movie::after {
    content: none;
  }
}
#movie h2 {
  top: -6rem;
  right: 5rem;
}
@media screen and (max-width: 1080px) {
  #movie h2 {
    right: -1rem;
  }
}

.c-movie {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  width: 100%;
}
@media screen and (max-width: 1080px) {
  .c-movie {
    margin-top: -2rem;
  }
}
.c-movie__wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 2rem;
  position: relative;
}
@media screen and (min-width: 1080px) {
  .c-movie__wrap {
    width: 50vw;
  }
}
@media screen and (max-width: 1080px) {
  .c-movie__wrap {
    width: 80vw;
    left: 2rem;
    gap: 0.8rem;
  }
}
.c-movie__wrap.is-new::after {
  content: "";
  display: inline-block;
  width: 8rem;
  height: 8rem;
  background: url(https://edokko-ninjinmaru.com/assets/img/tag_new.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: -4rem;
  left: -4rem;
}
@media screen and (max-width: 1080px) {
  .c-movie__wrap.is-new::after {
    width: 6rem;
    height: 6rem;
    top: -4rem;
    left: -4rem;
  }
}
.c-movie__youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  display: inline-block;
  z-index: 0;
  color: #d3381c;
}
.c-movie__youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.c-movie__title {
  display: inline-block;
  font-size: 1.6rem;
  line-height: 2.4rem;
  position: relative;
  z-index: 0;
  color: #42602D;
}
@media screen and (min-width: 1080px) {
  .c-movie__title {
    margin-bottom: 2rem;
  }
}

@media screen and (max-width: 1080px) {
  .c-nav {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    position: relative;
    gap: 1.8rem;
    padding: 1.8rem;
    margin-top: 18rem;
  }
  .c-nav li:not(:last-child)::before {
    content: "";
    display: inline-block;
    width: 2.8rem;
    height: 2.8rem;
    background: url(../../assets/img/ico_carrot--white.webp) no-repeat;
    background-size: contain;
    z-index: -1;
    margin-bottom: 0.4rem;
  }
}
.c-nav__header {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
  position: relative;
  gap: 4.8rem;
  margin-top: 1.8rem;
}
.c-nav__header li:not(:last-child)::before {
  content: "";
  display: inline-block;
  width: 2.8rem;
  height: 2.8rem;
  background: url(../../assets/img/ico_carrot.webp) no-repeat;
  background-size: contain;
  z-index: -1;
  margin-bottom: -0.4rem;
}
.c-nav__header li:not(:last-child):hover::before {
  content: "";
  display: inline-block;
  width: 2.8rem;
  height: 2.8rem;
  background: url(../../assets/img/ico_carrot--black.webp) no-repeat;
  background-size: contain;
  z-index: -1;
  margin-bottom: -0.4rem;
}
.c-nav__item {
  position: relative;
}
@media screen and (min-width: 1080px) {
  .c-nav__item {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    flex-direction: row;
  }
}
@media screen and (max-width: 1080px) {
  .c-nav__item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
    width: 100%;
    overflow: hidden;
    gap: 0.6rem;
  }
}
.c-nav__link {
  position: relative;
  z-index: 0;
  white-space: nowrap;
  font-family: "sneakers-pro";
  color: #d3381c;
}
@media screen and (min-width: 1080px) {
  .c-nav__link {
    font-size: 1.8rem;
    line-height: 1.8rem;
    text-align: center;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    position: relative;
  }
  .c-nav__link:hover {
    color: #000;
  }
  .c-nav__link:visited {
    color: #d3381c;
  }
  .c-nav__link:visited:hover {
    color: #000;
  }
}
@media screen and (max-width: 1080px) {
  .c-nav__link {
    font-size: 2.4rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
    color: #000;
  }
  .c-nav__link:visited {
    color: #000;
  }
}
.c-nav .is-sns {
  margin-top: 1.8rem;
  width: 3.2rem;
  height: 3.2rem;
  margin-left: 3.4rem;
}
.c-nav__image {
  padding: 0.2rem;
  width: 4.8rem;
  height: 4.8rem;
}
.c-nav__news::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background: url(https://edokko-ninjinmaru.com/assets/img/nav_bg.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.c-nav__news:hover::before {
  background: url(https://edokko-ninjinmaru.com/assets/img/nav_news--active.svg) no-repeat;
  background-size: contain;
}
.c-nav__movie::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background: url(https://edokko-ninjinmaru.com/assets/img/nav_bg.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.c-nav__movie:hover::before {
  background: url(https://edokko-ninjinmaru.com/assets/img/nav_movie--active.svg) no-repeat;
  background-size: contain;
}
.c-nav__introduction::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background: url(https://edokko-ninjinmaru.com/assets/img/nav_introduction.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.c-nav__introduction:hover::before {
  background: url(https://edokko-ninjinmaru.com/assets/img/nav_introduction--active.svg) no-repeat;
  background-size: contain;
}
.c-nav__character::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background: url(https://edokko-ninjinmaru.com/assets/img/nav_character.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.c-nav__character:hover::before {
  background: url(https://edokko-ninjinmaru.com/assets/img/nav_character--active.svg) no-repeat;
  background-size: contain;
}
.c-nav__staffcast::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background: url(https://edokko-ninjinmaru.com/assets/img/nav_staffcast.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.c-nav__staffcast:hover::before {
  background: url(https://edokko-ninjinmaru.com/assets/img/nav_staffcast--active.svg) no-repeat;
  background-size: contain;
}
.c-nav__x::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background: url(https://edokko-ninjinmaru.com/assets/img/ico_hart.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 1rem;
  z-index: -1;
}
.c-nav__x:hover::before {
  background: url(https://edokko-ninjinmaru.com/assets/img/ico_hart--green.svg) no-repeat;
  background-size: contain;
}

#news {
  position: relative;
}
#news::after {
  content: "";
  display: inline-block;
  width: 14rem;
  height: 14rem;
  background: url(../../assets/img/c_bed.png) no-repeat;
  background-size: contain;
  position: absolute;
  right: 18rem;
  bottom: -6rem;
  z-index: 10;
  transform: rotate(-3deg);
}
@media screen and (max-width: 1080px) {
  #news::after {
    right: -3rem;
    bottom: -10rem;
  }
}
.c-news {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 0.8rem;
  width: 100%;
}
.c-news__link {
  background-color: #000;
  cursor: pointer;
}
@media screen and (max-width: 1080px) {
  .c-news__link {
    width: 80vw;
  }
}
.c-news__wrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  gap: 3.2rem;
  height: 100%;
  width: 100%;
  z-index: 0;
}
@media screen and (min-width: 1080px) {
  .c-news__wrap {
    gap: 4.8rem;
  }
}
.c-news__wrap:hover {
  color: #fff;
  cursor: pointer;
}
.c-news__wrap:hover::before {
  background-color: #d3381c;
}
@media screen and (max-width: 1080px) {
  .c-news__wrap {
    gap: 0.8rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
  }
}
.c-news__date {
  color: #42602D;
  font-size: 2.4rem;
  line-height: 2rem;
  flex: 1;
  display: inline-flex;
  width: 100%;
  font-family: "sneakers-pro";
  justify-content: flex-end;
}
@media screen and (max-width: 1080px) {
  .c-news__date {
    font-size: 1.8rem;
  }
}
.c-news__text {
  color: #fff;
  font-size: 1.8rem;
  line-height: 2.6rem;
  flex: auto;
}
@media screen and (max-width: 1080px) {
  .c-news__text {
    font-size: 1.8rem;
    line-height: 2.4rem;
  }
}
.c-news__text a {
  color: #d3381c;
  border-bottom: 2px solid #d3381c;
  padding: 0 0.8rem;
}
.c-news__text a:visited {
  color: #d3381c;
}

#onair {
  background-color: #42602D;
  position: relative;
  z-index: 0;
}
#onair::before {
  content: "";
  display: inline-block;
  width: 100vw;
  height: 120%;
  background: url(https://edokko-ninjinmaru.com/assets/img/bg_onair.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.c-onair {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 2rem;
  color: #181818;
  max-width: 90vw;
}
@media screen and (max-width: 1080px) {
  .c-onair {
    padding: 0;
  }
}
.c-onair__list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  max-width: 90vw;
  gap: 4rem;
}
.c-onair__wrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  width: 100%;
  gap: 0.8rem;
}
.c-onair__start {
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 0.2rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
}
.c-onair__start::before {
  content: "";
  display: inline-flex;
  width: 3.2rem;
  height: 3.2rem;
  background: url(https://edokko-ninjinmaru.com/assets/img/bg_stripe--white.svg) no-repeat;
  background-size: contain;
  margin-right: -1.6rem;
  margin-bottom: 0.2rem;
}
.c-onair__start span {
  font-size: 2.4rem;
  line-height: 2.4rem;
  margin-top: -0.4rem;
}
.c-onair__boradcast {
  font-size: 2rem;
  line-height: 3.2rem;
  padding-left: 1.6rem;
  gap: 0.4rem;
}
.c-onair__boradcast span {
  font-size: 1.2rem;
  line-height: 1.2rem;
}
.c-onair__boradcast .time {
  display: block;
  gap: 0.2rem;
  font-size: 2rem;
  line-height: 3.2rem;
}
.c-onair__caption {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  gap: 0.4rem;
  padding-left: 1.6rem;
  color: #fff;
}
.c-onair__text {
  font-size: 1.2rem;
  line-height: 1.6rem;
  font-weight: normal;
}

.c-pv {
  aspect-ratio: 16/9; /* Youtubeの動画のアスペクト比 */
  position: fixed;
  top: 0;
  left: 0;
  z-index: -100;
  width: 100%;
  height: 100vh;
  pointer-events: none;
  user-select: none;
}
.c-pv iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 177.7778vh;
  height: 96.25vw;
  min-height: 100%;
  min-width: 100%;
  transform: translate(-50%, -50%);
}
.c-pv__wrap {
  z-index: 1;
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}
.c-pv__wrap::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  background-image: radial-gradient(#181818 30%, transparent 31%), radial-gradient(#181818 30%, transparent 31%);
  background-size: 4px 4px;
  background-position: 0 0, 2px 2px;
}
.c-pv__video {
  z-index: 0;
}
.c-pv__mask {
  z-index: 2;
}

.c-section {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  z-index: 0;
}
.c-section.is-reverse {
  justify-content: flex-end;
  left: 0;
  margin-right: auto;
}
@media screen and (max-width: 1080px) {
  .c-section.is-reverse {
    left: 2rem;
  }
}
@media screen and (max-width: 1080px) {
  .c-section {
    flex-direction: column;
    align-items: flex-end;
  }
}
.c-section__wrap {
  padding: 4rem;
  width: 70vw;
  gap: 4rem;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  background-color: #181818;
  margin: 0 auto;
  border-radius: 2rem;
  -webkit-border-radius: 2rem;
  -moz-border-radius: 2rem;
  -ms-border-radius: 2rem;
  -o-border-radius: 2rem;
}
@media screen and (max-width: 1080px) {
  .c-section__wrap {
    flex-direction: column;
    width: 90vw;
    margin: 0 auto;
    gap: 4rem;
  }
}
.c-section__title {
  top: -3rem;
  left: 3rem;
  position: absolute;
  transform: rotate(-3deg);
}
@media screen and (max-width: 1080px) {
  .c-section__title {
    left: -1rem;
  }
}
.c-section__title-image {
  height: 6rem;
}
@media screen and (max-width: 1080px) {
  .c-section__title-image {
    height: 4.8rem;
  }
}
.c-section__contents {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 0.8rem;
  width: 100%;
  z-index: 1;
  margin: 0 auto;
}

.c-share {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 1.6rem;
}
.c-share__title {
  color: #fff;
  height: 3.2rem;
  font-size: 0.9rem;
  font-family: "ab-digicomb";
}
.c-share__list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 0.8rem;
}
.c-share__item {
  height: 4rem;
}
.c-share__link {
  background-color: #d3381c;
  width: 4rem;
  height: 4rem;
  border-radius: 5rem;
  position: relative;
  display: inline-flex;
  z-index: 0;
  -webkit-border-radius: 5rem;
  -moz-border-radius: 5rem;
  -ms-border-radius: 5rem;
  -o-border-radius: 5rem;
}
.c-share__link:hover {
  background-color: #888;
}
.c-share__link:hover::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: -5.6rem;
  left: -2.4rem;
  width: 8.4rem;
  height: 8.4rem;
  background-image: url("../../../assets/img/chara_yukitora.png");
  background-position: top;
  background-size: contain;
  transition: all 0.5s ease-in-out;
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  -ms-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
}
.c-share__image {
  padding: 1.2rem;
}

.c-slider {
  width: 100%;
  height: 100%;
}
.c-slider .swiper-wrap {
  width: 100%;
  height: 100%;
}
.c-slider .swiper-button {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  max-width: 4rem;
}
.c-slider__icon {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-slider__wrap {
  width: 90vw;
}
.c-slider__image {
  width: 100%;
}

#staffcast {
  position: relative;
  z-index: 0;
  padding: 4rem;
  background-color: #000;
  -webkit-border-radius: 28% 39% 48% 16%/32% 67% 64% 51%;
  margin-right: auto;
}
@media screen and (min-width: 1080px) {
  #staffcast {
    width: 50vw;
  }
}
@media screen and (max-width: 1080px) {
  #staffcast {
    padding: 0;
    padding-bottom: 4rem;
  }
}
#staffcast h2 {
  top: -6rem;
  right: -8rem;
}
@media screen and (max-width: 1080px) {
  #staffcast h2 {
    top: -1rem;
    right: 4rem;
  }
}

.c-staffcast {
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  gap: 2rem;
  padding-left: 4rem;
}
@media screen and (max-width: 1080px) {
  .c-staffcast {
    padding: 0;
    gap: 0.8rem;
  }
}
.c-staffcast__title {
  font-size: 3.2rem;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  font-family: "sneakers-pro";
  color: #d3381c;
  padding: 0 0 0 6rem;
  margin-left: -6rem;
}
@media screen and (max-width: 1080px) {
  .c-staffcast__title {
    font-size: 2rem;
  }
}
.c-staffcast__title::before {
  content: "";
  display: inline-flex;
  width: 18rem;
  height: 18rem;
  background-size: contain;
  position: absolute;
  top: -6rem;
  left: -2rem;
  z-index: -1;
}
@media screen and (max-width: 1080px) {
  .c-staffcast__title::before {
    width: 14rem;
    height: 14rem;
    top: -4rem;
    left: 2rem;
  }
}
.c-staffcast__text {
  z-index: 1;
}
@media screen and (max-width: 1080px) {
  .c-staffcast__text {
    padding-left: 2rem;
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 1080px) {
  .c-staffcast__box {
    padding: 0;
  }
}
.c-staffcast__list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 2rem 4rem;
  flex-wrap: wrap;
}
@media screen and (max-width: 1080px) {
  .c-staffcast__list {
    grid-area: 1rem 4rem;
    padding-left: 2rem;
    gap: 0.8rem;
  }
}
.c-staffcast__wrap {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  gap: 1.6rem;
}
.c-staffcast__role {
  color: #181818;
  font-size: 1.3rem;
  position: relative;
  width: 8rem;
  white-space: nowrap;
  text-align: center;
  font-family: "sneakers-pro";
}
.c-staffcast__role::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(https://edokko-ninjinmaru.com/assets/img/bg_role.svg) no-repeat;
  background-size: contain;
  z-index: -1;
}
.c-staffcast__name {
  font-size: 1.6rem;
}
.c-staffcast__name ruby {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 0.2rem;
}
.c-staffcast__name rt {
  font-size: 0.8rem;
  line-height: 0.8rem;
}

.c-tape {
  position: fixed;
  top: 0;
  right: 0;
  height: 100%;
  width: 4.8rem;
  z-index: 99;
}
@media screen and (max-width: 1080px) {
  .c-tape {
    width: 3.2rem;
  }
}
.c-tape__wrap {
  position: relative;
  background-color: #000;
  width: 4.8rem;
  height: 100%;
}
@media screen and (max-width: 1080px) {
  .c-tape__wrap {
    width: 3.2rem;
  }
}
.c-tape__wrap::before {
  content: "";
  display: inline-block;
  width: 8rem;
  height: 8rem;
  background: url(../img/senjafuda_r.png) repeat-y;
  background-size: contain;
  position: absolute;
  top: 0rem;
  right: 0;
  z-index: 0;
}
@media screen and (max-width: 1080px) {
  .c-tape__wrap::before {
    top: 0.2rem;
    right: 0.4rem;
    content: none;
  }
}
.c-tape__wrap::after {
  content: "";
  display: inline-block;
  width: 2.8rem;
  height: 100vh;
  background: url(../img/fig_tape.svg) repeat-y;
  background-size: contain;
  position: absolute;
  top: 0;
  right: 0;
  right: 9px;
  z-index: 1;
  animation: fall 10s infinite linear;
  /* fallアニメーションの定義 */
}
@keyframes fall {
  0% {
    background-position: 0 0;
  } /* 背景画像の位置を左上に設定 */
  100% {
    background-position: 0 100px;
  } /* 背景画像の位置を左上から700px右下に設定 */
}
@media screen and (max-width: 1080px) {
  .c-tape__wrap::after {
    width: 2.4rem;
    right: 3px;
  }
}

.c-top {
  position: fixed;
  right: 2rem;
  bottom: 0 !important;
  width: 8rem;
  height: auto;
  opacity: 0;
  visibility: hidden;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}
.c-top__text {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  z-index: 101;
  text-align: center;
  font-size: 1.4rem;
  width: 100%;
  font-family: "sneakers-pro";
  margin-bottom: 3rem;
  letter-spacing: 0.2rem;
}
.c-top__bg {
  position: absolute;
  bottom: 0;
  right: 0;
}
.c-top__bg svg {
  width: 8rem;
  height: 8rem;
}
.c-top:hover::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: -6.4rem;
  width: 12rem;
  height: 12rem;
  background-image: url("../../../assets/img/n_sushi.png");
  background-position: top;
  background-size: contain;
  background-repeat: no-repeat;
  transition: all 0.5s ease-in-out;
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  -ms-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  z-index: -1;
}
.c-top:hover .c-top__text {
  color: #d3381c;
}
.c-top:hover .c-top__bg path {
  fill: #fff;
}
.c-top:hover .c-top__text, .c-top:hover .c-top__bg {
  transition-duration: 0.5s;
  transform: translateY(-10px);
  -webkit-transform: translateY(-10px);
  -moz-transform: translateY(-10px);
  -ms-transform: translateY(-10px);
  -o-transform: translateY(-10px);
}/*# sourceMappingURL=style.css.map */