@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video, main {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, main {
  display: block;
}

body, html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
  font-size: 1em;
}

blockquote, q {
  quotes: none;
}

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

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

a img {
  border: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* iOSでのデフォルトスタイルをリセット */
input[type=button], input[type=text], input[type=tel], input[type=email], input[type=submit], input[type=image], textarea {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
}

button,
input[type=submit] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
}

input[type=radio] {
  display: none;
}

input[type=radio]:checked + label {
  background: #5f5f5f;
}

select::-ms-expand {
  display: none;
}

figure img {
  vertical-align: bottom;
}

video {
  -webkit-filter: drop-shadow(0px 0px #000);
          filter: drop-shadow(0px 0px #000);
  outline: none;
  border: none;
}

em {
  font-style: normal;
}

/*******************************

BREAK POINTS

*******************************/
/*******************************

    COLORS

*******************************/
/*******************************

    FONTS

*******************************/
/* FONT SIZE */
/* FONT SET */
/*******************************

    OTHERS

*******************************/
:root {
  --ease-in-quart: cubic-bezier(0.5, 0, 0.75, 0);
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-in-out-quart: cubic-bezier(0.5, 0, 0.5, 1);
  --ease-in-quad: cubic-bezier(0.11, 0, 0.5, 0);
  --ease-out-quad: cubic-bezier(0.5, 1, 0.89, 1);
  --ease-in-out-quad: cubic-bezier(0.5, 0, 0.5, 1);
  --ease-in-cubic: cubic-bezier(0.32, 0, 0.67, 0);
  --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
  --ease-in-out-cubic: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-in-back: cubic-bezier(0.36, 0, 0.66, -0.56);
  --ease-out-back: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-in-out-back: cubic-bezier(0.68, -0.6, 0.32, 1.6);
  --cl-white: #e4e4e4;
  --cl-black: #1a1a1a;
}

/*******************************

    DISPLAY

*******************************/
@media screen and (min-width: 641px) {
  .sp {
    display: none;
  }
}

@media screen and (max-width: 640px) {
  .lsp {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .tbmin {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .ltbmin {
    display: none;
  }
}

@media screen and (max-width: 1024px) {
  .pc {
    display: none;
  }
}

@media screen and (min-width: 1025px) {
  .tb {
    display: none;
  }
}

@media screen and (max-width: 1024px) {
  .ltb {
    display: none;
  }
}

/*******************************

    HOVER

*******************************/
/*******************************

    BLOCK

*******************************/
.cmn__inner {
  padding: 0 2rem;
  overflow: hidden;
}

.js-stackItem {
  position: relative;
  -webkit-transition: opacity 100ms, content-visibility 100ms allow-discrete;
  transition: opacity 100ms, content-visibility 100ms allow-discrete;
  width: var(--content-width, 100%);
}
.js-stackItem.is-hidden {
  opacity: 0;
  content-visibility: hidden;
}
.js-stackItem__inner {
  border-radius: 2rem 2rem 0 0;
  overflow: hidden;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  width: var(--content-width, 100%);
}
.js-stackItem.js-stackImage .js-stackItem__inner {
  height: 100svh !important;
}
.js-stackItem.js-stackImage img,
.js-stackItem.js-stackImage video {
  display: block;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.stackLikeItem {
  border-radius: 2rem 2rem 0 0;
  overflow: hidden;
  position: relative;
}

.cmnWorksPick .img {
  aspect-ratio: 1/1;
  -webkit-filter: drop-shadow(0 0 0.4rem rgba(35, 24, 21, 0.3));
          filter: drop-shadow(0 0 0.4rem rgba(35, 24, 21, 0.3));
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  border-radius: 1.5rem;
  overflow: hidden;
  margin-bottom: 2rem;
}
.cmnWorksPick .img a {
  display: block;
  width: 100%;
  height: 100%;
}
.cmnWorksPick .img video {
  pointer-events: none;
}
.cmnWorksPick .img img,
.cmnWorksPick .img video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cmnWorksPick .cont {
  -webkit-filter: drop-shadow(0 0 0.25rem rgba(35, 24, 21, 0.3));
          filter: drop-shadow(0 0 0.25rem rgba(35, 24, 21, 0.3));
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  background: #fff;
  border-radius: 1.25rem;
}
.cmnWorksPick .cont a {
  padding: 1.25rem 1.5rem 1.5rem;
  display: block;
}
.cmnWorksPick .cont .ttl {
  color: #9e9f9f;
  font-size: 1.1rem;
  line-height: 2.25;
  letter-spacing: 0;
  margin-bottom: 0.5rem;
  font-weight: 700;
}
.cmnWorksPick .cont .txt {
  font-size: 1.3rem;
  line-height: 1.7;
  letter-spacing: 0;
}

@-webkit-keyframes likeAddReaction {
  0% {
    -webkit-filter: drop-shadow(0 0 0 #cdff48);
            filter: drop-shadow(0 0 0 #cdff48);
  }
  100% {
    -webkit-filter: drop-shadow(0 0 1.5rem rgba(205, 255, 72, 0));
            filter: drop-shadow(0 0 1.5rem rgba(205, 255, 72, 0));
  }
}

@keyframes likeAddReaction {
  0% {
    -webkit-filter: drop-shadow(0 0 0 #cdff48);
            filter: drop-shadow(0 0 0 #cdff48);
  }
  100% {
    -webkit-filter: drop-shadow(0 0 1.5rem rgba(205, 255, 72, 0));
            filter: drop-shadow(0 0 1.5rem rgba(205, 255, 72, 0));
  }
}
@-webkit-keyframes likeAddReactionWhite {
  0% {
    -webkit-filter: drop-shadow(0 0 0 rgb(255, 255, 255));
            filter: drop-shadow(0 0 0 rgb(255, 255, 255));
  }
  100% {
    -webkit-filter: drop-shadow(0 0 1.5rem rgba(255, 255, 255, 0));
            filter: drop-shadow(0 0 1.5rem rgba(255, 255, 255, 0));
  }
}
@keyframes likeAddReactionWhite {
  0% {
    -webkit-filter: drop-shadow(0 0 0 rgb(255, 255, 255));
            filter: drop-shadow(0 0 0 rgb(255, 255, 255));
  }
  100% {
    -webkit-filter: drop-shadow(0 0 1.5rem rgba(255, 255, 255, 0));
            filter: drop-shadow(0 0 1.5rem rgba(255, 255, 255, 0));
  }
}
.cmn__listbtns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0;
  margin-left: -0.9rem;
}
.cmn__listbtns img {
  width: 100%;
}
.cmn__listbtns button,
.cmn__listbtns details {
  cursor: pointer;
}
.cmn__listbtns:has(.is-w) .likeAdd svg path {
  stroke: #fff;
  -webkit-transition: fill 200ms;
  transition: fill 200ms;
}
.cmn__listbtns:has(.is-w) .likeAdd.is-active svg path {
  fill: #fff;
}
.cmn__listbtns:has(.is-w) .share svg polygon {
  stroke: #fff;
}
.cmn__listbtns .likeAdd {
  padding: 0.95rem 0;
  width: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.cmn__listbtns .likeAdd svg {
  width: 1.95rem;
}
.cmn__listbtns .likeAdd svg path {
  fill: none;
  stroke: #1a1a1a;
  stroke-linejoin: round;
  stroke-width: 2.5px;
  -webkit-transition: fill 200ms;
  transition: fill 200ms;
}
.cmn__listbtns .likeAdd.is-active {
  -webkit-animation: likeAddReaction 500ms ease-in-out forwards;
          animation: likeAddReaction 500ms ease-in-out forwards;
}
.cmn__listbtns .likeAdd.is-active svg path {
  fill: #1a1a1a;
}
.cmn__listbtns .share {
  padding: 0.9rem 0.5rem 1.05rem;
  width: 4rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.cmn__listbtns .share__summary {
  width: 1.75rem;
  display: block;
  list-style: none;
}
.cmn__listbtns .share__summary::-webkit-details-marker {
  display: none;
}
.cmn__listbtns .share__summary svg polygon {
  fill: none;
  stroke: #1a1a1a;
  stroke-linejoin: round;
  stroke-width: 3px;
}
.cmn__listbtns .share__content {
  position: absolute;
  background: #fff;
  top: 100%;
  left: 0;
  padding: 1rem 0;
  width: 12rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
.cmn__listbtns .share__content svg {
  height: auto;
  width: 1.5rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.cmn__listbtns .share__content button {
  padding: 0 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  font-size: 1.1rem;
  line-height: 2.25;
  letter-spacing: 0;
  width: 100%;
  -webkit-transition: ease 0.3s;
  transition: ease 0.3s;
}
@media screen and (any-hover: hover) and (min-width: 1025px) {
  .cmn__listbtns .share__content button:hover {
    opacity: 0.6;
  }
}

/*******************************

    ITEM

*******************************/
.cmn__pankuzu {
  padding: 3.5rem 2rem 3rem;
}
.cmn__pankuzu ol {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.cmn__pankuzu ol li,
.cmn__pankuzu ol button {
  font-size: 1rem;
}
.cmn__pankuzu ol li:not(:last-of-type)::after {
  content: ">";
  padding: 0 0.5em;
}

.cmn__btn01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  margin-left: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.cmn__btn01 .txt {
  font-size: 1.3rem;
  line-height: 2.25;
  letter-spacing: 0;
}
.cmn__btn01 .icon {
  background: #000;
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-filter: drop-shadow(0 0 0.2rem rgba(35, 24, 21, 0.5));
          filter: drop-shadow(0 0 0.2rem rgba(35, 24, 21, 0.5));
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}
.cmn__btn01 .icon img {
  width: 1.4rem;
  display: block;
}
.cmn__btn01 .icon.is-insta {
  background: #cdff48;
}
.cmn__btn01 .icon.is-diag img {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.cmn__btn02 {
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.3rem;
  font-weight: 700;
  gap: 1.5rem;
}
.cmn__btn02.is-yellow {
  color: #cdff48;
}
.cmn__btn02 img {
  display: block;
  width: 7rem;
}

.cmn__ttl01 .en {
  display: block;
  margin-bottom: 1.5rem;
}
.cmn__ttl01 .en img {
  width: 100%;
}
.cmn__ttl01 .ja {
  font-size: 1.3rem;
  font-weight: 700;
}

.cmn__ttl02 .en {
  display: block;
  margin-bottom: 1.2rem;
}
.cmn__ttl02 .ja {
  font-size: 1.3rem;
}

.js-scrollX-content {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.js-scrollX-content::-webkit-scrollbar {
  display: none;
}

.cmnSingle__close {
  width: 2.6rem;
  height: 2.6rem;
  background: #1a1a1a;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: fixed;
  left: calc(var(--content-left-space) + 2rem);
  top: 2rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  z-index: 1000;
  cursor: pointer;
  outline: none;
}
.cmnSingle__close::before, .cmnSingle__close::after {
  content: "";
  display: block;
  position: absolute;
  width: 1.7rem;
  height: 1px;
  background: #cdff48;
}
.cmnSingle__close::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.cmnSingle__scroll {
  position: relative;
}
.cmnSingle__pankuzu {
  position: absolute;
  top: 2.65rem;
  left: 5.75rem;
  padding: 0;
  z-index: 1;
  mix-blend-mode: difference;
}
.cmnSingle__pankuzu ol li,
.cmnSingle__pankuzu ol button,
.cmnSingle__pankuzu ol a {
  font-size: 1.2rem;
  color: #fff;
}

.cmnSingleCont {
  padding-top: 3rem;
  padding-bottom: 4rem;
}
.cmnSingleCont__ttl {
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0;
  font-weight: 700;
  margin-bottom: 2.5rem;
}
.cmnSingleCont__ttl span {
  display: block;
}
.cmnSingleCont__subttl {
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0;
  font-weight: 700;
}
.cmnSingleCont__subttl span {
  display: block;
}
.cmnSingleCont__inner > * + * {
  margin-top: 2em;
}
.cmnSingleCont__inner > * + .cmnSingleCont__txtbox {
  margin-top: 1.5em;
}
.cmnSingleCont__txtbox {
  font-size: 1.3rem;
  line-height: 2;
  letter-spacing: 0;
}
.cmnSingleCont__txtbox p + p {
  margin-top: 1em;
}
:is(.insideSingleOv .cmnSingleCont__txtbox) {
  margin-bottom: 3rem;
}
.cmnSingleCont__txtbox em {
  background: rgba(59, 162, 216, 0.2);
}
.cmnSingleCont__txtbox a:not(:has(img)) {
  color: #3ba2d8 !important;
  text-decoration: underline;
  position: relative;
  padding-left: 1.15em;
  display: -ms-inline-grid;
  display: inline-grid;
  word-break: break-all;
}
.cmnSingleCont__txtbox a:not(:has(img))::before {
  content: "";
  background: url(../img/icon/icon-link.svg) center center no-repeat;
  width: 1em;
  height: 1em;
  background-size: 95%;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0.5em;
}
.cmnSingleCont__txtbox code {
  display: inline-block;
  font-weight: 500;
  position: relative;
  margin: 0 0.25rem;
  padding: 0 0.5rem;
  color: #231815 !important;
  z-index: 1;
}
.cmnSingleCont__txtbox code::before {
  content: "";
  background: #fff;
  position: absolute;
  left: 0;
  top: 5%;
  height: 90%;
  width: 100%;
  border-radius: 0.5rem;
  z-index: -1;
}
.cmnSingleCont__txtbox video {
  max-width: 100%;
  height: auto;
}
.cmnSingleCont__txtbox iframe:not(.instagram-media) {
  width: 100%;
  border-radius: 1rem;
  overflow: hidden;
}
.cmnSingleCont__txtbox .wp-embedded-content {
  border-radius: 0 !important;
  -webkit-transition: ease 0.3s;
  transition: ease 0.3s;
  vertical-align: bottom;
}
@media screen and (any-hover: hover) and (min-width: 1025px) {
  .cmnSingleCont__txtbox .wp-embedded-content:hover {
    opacity: 0.6;
  }
}
.cmnSingleCont__txtbox p:has(.wp-embedded-content) {
  margin-top: 2rem;
}
.cmnSingleCont__txtbox p:has(.wp-embedded-content) + p:has(.wp-embedded-content),
.cmnSingleCont__txtbox .wp-embedded-content + .wp-embedded-content,
.cmnSingleCont__txtbox .wp-embedded-content + p:has(.wp-embedded-content),
.cmnSingleCont__txtbox p:has(.wp-embedded-content) + .wp-embedded-content {
  margin-top: 1rem;
}
.cmnSingleCont__txtbox img {
  display: block;
  height: auto;
}
.cmnSingleCont__txtbox [style] {
  max-width: 100%;
}
.cmnSingleCont__txtbox .em {
  border-left: 4px solid #cdff48;
  padding: 0 0 0 2rem;
  margin: 2rem 0;
  font-size: 0.9em;
}
.cmnSingleCont__txtbox .em strong {
  margin-bottom: 0.5em;
}
.cmnSingleCont__imgbox {
  width: calc(100% + 4rem);
  margin-left: -2rem;
}
.cmnSingleCont__imgbox .img img,
.cmnSingleCont__imgbox .img video {
  -webkit-filter: drop-shadow(0 0 0.2rem rgba(35, 24, 21, 0.3));
          filter: drop-shadow(0 0 0.2rem rgba(35, 24, 21, 0.3));
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  border-radius: 1rem;
  overflow: hidden;
  display: block;
  width: 100%;
}
.cmnSingleCont__imgbox .img figcaption {
  font-size: 1.1rem;
  margin-top: 0.5em;
  line-height: 1.5;
}
:is(.insideSingleCont .cmnSingleCont__imgbox) {
  margin-bottom: 3rem;
}
.cmnSingleCont iframe[title="YouTube video player"] {
  aspect-ratio: 16/9;
  width: 100%;
  height: 100%;
}

.cmnArc__loading {
  display: none;
  height: 0rem;
  width: 100%;
  opacity: 0;
  -webkit-transition: var(--ease-in-out-quart) 200ms allow-discrete;
  transition: var(--ease-in-out-quart) 200ms allow-discrete;
}
.cmnArc__loading img {
  -webkit-animation: 3s linear infinite rotation;
          animation: 3s linear infinite rotation;
  display: block;
  width: 2rem;
  margin: 0 auto;
}
.cmnArc__loading.is-active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 8rem;
  opacity: 1;
}
@starting-style {
  .cmnArc__loading.is-active {
    height: 0rem;
    opacity: 0;
  }
}

@-webkit-keyframes rotation {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes rotation {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@-webkit-keyframes fadein {
  0% {
    opacity: 0;
    -webkit-transform: translateY(1rem);
            transform: translateY(1rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadein {
  0% {
    opacity: 0;
    -webkit-transform: translateY(1rem);
            transform: translateY(1rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.js-fadein {
  opacity: 0;
  -webkit-animation: fadein 0.5s var(--ease-out-quart) forwards;
          animation: fadein 0.5s var(--ease-out-quart) forwards;
  -webkit-animation-delay: calc(var(--fadein-delay, 0));
          animation-delay: calc(var(--fadein-delay, 0));
}
@starting-style {
  .js-fadein {
    opacity: 0;
    -webkit-transform: translateY(1rem);
            transform: translateY(1rem);
  }
}

@-webkit-keyframes jsLineTxt {
  0% {
    background-position: 0px 0px;
  }
  100% {
    background-position: calc(-1px * var(--text-width, 100vw)) 0px;
  }
}

@keyframes jsLineTxt {
  0% {
    background-position: 0px 0px;
  }
  100% {
    background-position: calc(-1px * var(--text-width, 100vw)) 0px;
  }
}
/* 逆方向 */
@-webkit-keyframes jsLineTxtReverse {
  0% {
    background-position: calc(-1px * var(--text-width, 100vw)) 0px;
  }
  100% {
    background-position: 0px 0px;
  }
}
@keyframes jsLineTxtReverse {
  0% {
    background-position: calc(-1px * var(--text-width, 100vw)) 0px;
  }
  100% {
    background-position: 0px 0px;
  }
}
.js-lineTxt {
  background-size: calc(1px * var(--text-width)) auto;
  background-repeat: repeat-x;
  background-position: 0 0;
  -webkit-animation: jsLineTxt calc(var(--text-width, 100) * 10ms) linear infinite;
          animation: jsLineTxt calc(var(--text-width, 100) * 10ms) linear infinite;
}

.js-lineImg {
  display: block;
  width: 100vw;
  height: 300px; /* 高さは適宜調整 */
  background-image: var(--img-url);
  background-size: auto 100%; /* 横はループなのでauto、縦は100% */
  background-repeat: repeat-x;
  background-position: 0 0;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  --text-width: var(--img-width); /* 任意の画像幅(px)。画像に合わせて調整 */
}
.js-lineImg.is-left {
  -webkit-animation-name: jsLineTxt;
          animation-name: jsLineTxt;
  -webkit-animation-duration: calc(var(--text-width) * 50ms);
          animation-duration: calc(var(--text-width) * 50ms);
}
.js-lineImg.is-right {
  -webkit-animation-name: jsLineTxtReverse;
          animation-name: jsLineTxtReverse;
  -webkit-animation-duration: calc(var(--text-width) * 50ms);
          animation-duration: calc(var(--text-width) * 50ms);
}

.js-accordionItem.is-active .icon span::after {
  -webkit-transform: rotate(0) !important;
          transform: rotate(0) !important;
}
.js-accordionItem .content {
  overflow: hidden;
}

.cmn__embed {
  position: relative;
  background: #fff;
  border-radius: 0.375rem;
  padding: 0.625rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.625rem 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 0.625rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-decoration: none !important;
}
.cmn__embed__posttype {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 1.25rem;
  padding: 0 1rem 0.15625rem;
  border-radius: 100vh;
  background: #000;
  font-weight: 700;
  color: #fff;
  font-size: 0.6875rem;
  z-index: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.cmn__embed__cont {
  padding: 0 0.3125rem;
  pointer-events: none;
}
.cmn__embed__img {
  margin: 0;
  aspect-ratio: 3/4;
  border-radius: 0.3125rem;
  overflow: hidden;
}
.cmn__embed__img[data-posttype=works] {
  aspect-ratio: 67.5/83;
}
.cmn__embed__img img, .cmn__embed__img video {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  pointer-events: none;
}
.cmn__embed__ttl {
  font-size: 0.9375rem;
  line-height: 1.75;
  letter-spacing: 0;
  color: #231815;
  margin-bottom: 1em;
  margin-top: 1em;
  display: block;
  text-decoration: none;
  font-weight: 700;
}
.cmn__embed__site {
  font-size: 0.6875rem;
  line-height: 1.75;
  letter-spacing: 0;
  color: #231815;
  display: block;
  font-weight: 500;
}