@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* =======================================================
    共通 
======================================================= */
/* ロゴ下のキャッチフレーズ調整 */
@media (min-width: 960px) and (min-width: 600px) {
  .c-headLogo.-img {
    margin-bottom: 6px;
  }
}

/* パンくずを記事名まで表示 */
.p-breadcrumb__list {
  flex-wrap: wrap; /* 記事名が長い場合は折り返す */
}
.single .p-breadcrumb__item:last-child > span.p-breadcrumb__text {
  display: block !important; /* 記事名の表示 */
  opacity: 1; /* 記事名を半透明にしない */
  white-space: pre-wrap; /* 記事名が長い場合は折り返す */
}

/* リストの調整 */
.post_content .wp-block-list {
  padding-left: 1.5em;
}

/* 出勤管理ページの更新ボタン調整 */
.id_10 .attmgr_admin_scheduler {
  margin-bottom: 24px !important;
}
.id_10 #attmgr_admin_scheduler {
  margin-bottom: 152px !important;
}

/* フッター上部 */
.l-content {
  margin: 0 auto 0;
}
.w-beforeFooter {
  background-color: #bc9501;
}
.w-beforeFooter {
  margin-top: 0;
}
.reserve-area__inner {
  display: flex;
  align-items: center;
  padding: 38px 0;
}
#custom_html-2 .left-content {
  display: flex;
  align-items: center;
}
#custom_html-2 .left-content__img img {
  display: block;
  cursor: pointer !important;
}
#custom_html-2 .left-content__info {
  margin-left: 48px;
  line-height: 1.3;
}
#custom_html-2 .right-content {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  width: 50%;
}
#custom_html-2 .right-content .reserve-button a {
  display: inline-block;
  padding: 16px 0;
  background-color: #0b1544;
  width: 242px;
  text-align: center;
  color: #fff;
  transition: all 0.25s;
  border-radius: 2px;
}
#custom_html-2 .right-content .reserve-button a:hover {
  background-color: #fff;
  color: #0b1544;
  animation: 0.5;
  transition: all 0.25s;
}
@media (max-width: 600px) {
  .reserve-area__inner {
    display: block;
  }
  #custom_html-2 .left-content__img {
    margin: 0 auto 16px;
    width: 60%;
  }
  #custom_html-2 .left-content__info {
    margin-left: 0;
    width: 45%;
    margin: 0 auto 16px;
  }
  #custom_html-2 .left-content {
    display: block;
  }
  #custom_html-2 .right-content {
    display: block;
    width: 100%;
    margin: 0 auto;
  }
  #custom_html-2 .right-content .reserve-button a {
    display: block;
    margin: 0 auto;
  }
}

@media (max-width: 600px) {
  .swell-block-fullWide.pc-py-20.sp-py-20.alignfull img {
    width: 200px;
  }
  .swell-block-fullWide.pc-py-20.sp-py-20.alignfull .swell-block-column p {
    width: 300px;
    margin: 0 auto;
    text-align: center;
    line-height: 1.3;
    padding: 16px 0;
  }
}

.map-href {
  display: inline-block;
  position: relative;
  padding-right: 24px;
  width: fit-content;
  &::after {
    display: block;
    margin-left: 8px;
    content: "";
    width: 19px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2219%22%20height%3D%2220%22%20viewBox%3D%220%200%2019%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M17.6%2019.5L12.9%2014.8C12.2167%2015.3333%2011.4625%2015.75%2010.6375%2016.05C9.8125%2016.35%208.93333%2016.5%208%2016.5C5.76667%2016.5%203.875%2015.725%202.325%2014.175C0.775%2012.625%200%2010.7333%200%208.5C0%206.26667%200.775%204.375%202.325%202.825C3.875%201.275%205.76667%200.5%208%200.5C10.2333%200.5%2012.125%201.275%2013.675%202.825C15.225%204.375%2016%206.26667%2016%208.5C16%209.43333%2015.85%2010.3125%2015.55%2011.1375C15.25%2011.9625%2014.8333%2012.7167%2014.3%2013.4L19%2018.1L17.6%2019.5ZM8%2014.5C9.66667%2014.5%2011.0833%2013.9167%2012.25%2012.75C13.4167%2011.5833%2014%2010.1667%2014%208.5C14%206.83333%2013.4167%205.41667%2012.25%204.25C11.0833%203.08333%209.66667%202.5%208%202.5C6.33333%202.5%204.91667%203.08333%203.75%204.25C2.58333%205.41667%202%206.83333%202%208.5C2%2010.1667%202.58333%2011.5833%203.75%2012.75C4.91667%2013.9167%206.33333%2014.5%208%2014.5Z%22%20fill%3D%22%23CCCCCC%22/%3E%3C/svg%3E");

    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    inset: 50% 0 auto auto;
    translate: 0 -50%;
  }

  &:hover {
    text-decoration: underline;
  }
}
.fukidashi {
  padding: 0.4em 0.6em;

  position: absolute;
  inset: -10px auto auto -10px;
  width: fit-content;
  background-color: #fff;
  border-radius: 5px;
  font-size: 12px;
  font-weight: 700;
  z-index: 5;
  box-shadow: 0 0 10px color-mix(in srgb, #000 20%, transparent);
  background-color: #dffdff;

  &.immediate {
    background-color: #ee2b99;
    color: #fff;
  }
  &.close {
    background-color: #999;
    color: #fff;
  }
}

.swiper.swiper-movie {
  .item {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 0 16px;
  }

  .video-wrapper {
    margin-bottom: 8px;
    width: 100%;
    /* padding-bottom: 56.25%; */
    position: relative;
    grid-column: 1/3;
    grid-row: 1;
  }
  .video {
    position: absolute;
    inset: 0 0 0 0;
    width: 100%;
    height: 100%;
  }
  .date {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
    align-self: center;
    font-size: 16px;
  }
  .cast {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    font-size: 16px;
  }
  .link {
    margin-top: 5px;
    grid-column: 1/3;
    grid-row: 3;
    font-size: 14px;
    align-self: end;
    a {
      display: block;
      line-height: 1;
      padding: 0.6em 16px;
      inline-size: fit-content;
      border-radius: 90px;
      border: 1px solid #ddd;
      color: #222;
    }
  }
}

.list-weekly-calender {
  .item {
    text-align: center;
  }
}
/* =======================================================
    トップページ 
======================================================= */
/* PCヘッダー */
.id_31 #header {
  position: absolute;
  background: none;
  background-color: rgba(255, 255, 255, 0.15);
}
.id_31 .l-header__inner.l-container {
  color: #fff;
}
.id_31 .l-header__inner.l-container {
  max-width: 100%;
}
.id_31 .c-gnav .-current > a::after {
  width: 100%;
}
.id_31 .l-header .c-gnav > li > a:after {
  background: var(--swl-color_top_header, #fff);
}
.swell-block-fullWide__inner .staff_block {
  margin-bottom: 6em;
}
.staff_block li {
  margin: 0;
  position: relative;
  list-style-type: none;
}
.p-postList.-type-simple + .is-style-more_btn {
  margin-top: 6em;
}

/* SPヘッダー */
@media (max-width: 600px) {
  .id_31 #header {
    position: fixed;
    background-color: rgba(255, 255, 255, 0.55);
  }
  .id_31 .c-iconBtn__icon {
    color: #333;
  }
}

/* メインビジュアル */
.id_31 #main_visual {
  height: 100vh;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.id_31 .p-mainVisual.-height-full .p-mainVisual__inner {
  height: 100%;
}
.id_31 .p-mainVisual__inner {
  position: relative;
}
.id_31 .-height-full .p-mainVisual__slide {
  height: 100%;
}
.id_31 .p-mainVisual__slide {
  height: auto;
  overflow: hidden;
  position: relative;
}
.id_31 .p-mainVisual__textLayer {
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  left: 50%;
  position: absolute;
  top: 0;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 100%;
  z-index: 3;
}
.id_31 .p-mainVisual__slideTitle {
  font-size: 28px;
  line-height: 1.4;
}
.id_31 .-height-full .p-mainVisual__slideText {
  font-size: 18px;
  margin-top: 0.75em;
}
.id_31 .p-mainVisual__scroll {
  bottom: 16px;
  color: #fff;
  left: 50%;
  opacity: 0.75;
  position: absolute;
  text-align: center;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  transition: opacity 0.25s;
  z-index: 9;
}
.id_31 .p-mainVisual__scrollArrow {
  -webkit-animation: FloatVertical 3s ease-in-out infinite alternate;
  animation: FloatVertical 3s ease-in-out infinite alternate;
  display: block;
  height: 20px;
  margin: 0 auto;
  width: 20px;
}
.id_31 .p-mainVisual__scrollLabel {
  display: block;
  font-size: 12px;
  letter-spacing: var(--swl-letter_spacing, 1px);
  line-height: 1;
  padding-top: 4px;
}

/* メインビジュアル下の余白削除 */
@media (min-width: 600px) {
  .id_31 .l-content {
    padding-top: 0;
  }
}
.id_31 .l-content {
  padding-top: 0;
}
.id_31 .l-mainContent__inner > .post_content {
  margin: 0;
}

/* トップページのパンくず非表示 */
.id_31 #breadcrumb {
  display: none;
}

/* トップページのh1非表示 */
.id_31 h1.c-pageTitle {
  display: none;
}

/* 画像のマウスオーバーエフェクト */
.id_31 .staff_block .thumb {
  width: 279px;
  height: 157px;
  overflow: hidden;
}
.id_31 .staff_block .thumb img {
  transition: 0.25s all;
}
.id_31 .staff_block .thumb img:hover {
  -webkit-transform: scale(1.06);
  transform: scale(1.06);
  transition: 0.25s all;
}

/* SPスケジュール */
@media (max-width: 600px) {
  .id_31 .staff_block .thumb {
    width: 100%;
    height: auto;
  }
  .id_31 .staff_block .thumb img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  ul.staff_block li {
    margin-bottom: 16px;
  }
  .swell-block-fullWide__inner .staff_block {
    margin-bottom: 3em;
  }
  /* View Moreボタン上のマージン調整 */
  .swell-block-fullWide
    .swell-block-fullWide__inner
    .has-text-align-center.u-mb-ctrl.u-mb-60 {
    margin-bottom: 3em !important;
  }
}

/* TODAYS SCHEDULE */
.c-widget.widget_block {
  text-align: center;
}

/* =======================================================
    キャスト一覧 
======================================================= */
.staff_block {
  display: grid !important;
  padding: 0 !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  .post-info {
    display: flex;
    flex-wrap: wrap;
    gap: 0 8px;
    p {
      margin: 0;
      padding: 4px 0 !important;
      font-size: 14px;
      line-height: 1.5;
    }

    .info-1st {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      width: 100%;
      gap: 8px;
      a {
        color: inherit;
      }
    }

    .info-2nd {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      width: 100%;
      gap: 0 8px;
    }
  }
  .name {
    color: #333;
    border-style: none !important;
  }

  .annai {
    color: #333;
    border-style: none !important;
  }

  .sns {
    display: flex;
    align-items: center;
    gap: 0 8px;
    a {
      display: block;
      gap: 0 8px;
      &::before {
        content: "";
        display: block;
        content: "";
        width: 20px;
        height: 20px;
        background-size: contain;
      }
    }
    .x {
      &::before {
        background-image: url(assets/images/icon-twitter.png);
      }
    }
    .instagram {
      &::before {
        background-image: url(assets/images/icon-instagram.png);
      }
    }
  }

  .twitter {
    a {
      display: block;
      width: 16px;
      height: 16px;
      background-image: url(assets/images/icon-twitter.png);
      background-size: contain;
      background-repeat: no-repeat;
    }
  }

  @media (max-width: 600px) {
    display: block !important;
  }
}

/* 画像のマウスオーバーエフェクト */
.page-id-64 .post_content .thumb {
  width: 279px;
  height: 157px;
  overflow: hidden;
}
.page-id-64 .post_content .thumb img {
  transition: 0.25s all;
}
.page-id-64 .post_content .thumb img:hover {
  -webkit-transform: scale(1.06);
  transform: scale(1.06);
  transition: 0.25s all;
}

/* SP */
@media (max-width: 600px) {
  .page-id-64 .post_content .thumb {
    width: 100%;
    height: auto;
  }
  ul.staff_block li img {
    width: 100%;
    height: auto;
  }
}

/* =======================================================
    キャスト詳細ページ 
======================================================= */
.author .l-content {
  display: block;
}
.author-container {
  max-width: 900px;
  margin: 0 auto;
}
.author .l-sidebar {
  display: none;
}
.cast-info-content {
  display: flex;
  justify-content: space-between;
  margin-bottom: 64px;
}

/* キャストの画像情報 */
.cast-info-content .images-contet {
  width: 576px;
}
.main-image {
  margin-bottom: 32px;
}
.addition-images {
  width: 576px;
  overflow: auto;
  white-space: nowrap; /* 縦に折り返さない */
  -webkit-overflow-scrolling: touch; /* タッチデバイスでスムーズにスクロール */
}
.addition-images__list {
  display: flex;
  flex-wrap: nowrap; /* 折り返しを防ぐ */
  min-width: max-content; /* 子要素の合計幅に合わせる */
}
.addition-images__list .wp-block-image {
  margin-right: 16px;
}
.addition-images__list .wp-block-image .wp-image {
  width: 223px;
  height: auto;
}
.addition-images__list .wp-block-image:last-child {
  margin: 0;
}

/* キャストのテキスト情報 */
.text-info-content {
  width: 300px;
  padding: 16px;
  background-color: #f5f5f7;
}
.info-content__profile .name {
  padding: 4px 8px;
  border-bottom: 1px solid #000;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.info-content__profile .name .name__name-area {
  font-size: 20px;
}
.info-content__profile .age {
  padding: 8px;
  border-bottom: 1px solid #000;
}
.info-content__profile .age .age__cast-age {
  font-size: 14px;
}
.info-content__profile .size {
  padding: 8px;
  border-bottom: 1px solid #000;
}
.info-content__profile .size .size__cast-size {
  font-size: 14px;
}
.info-content__profile .comment {
  padding: 8px;
}
.info-content__profile .comment .comment__cast-comment {
  font-size: 15px;
}
.text-adjustment {
  margin-top: 8px;
}
/* SNS情報 */
.sns-area {
  margin-top: 2px;
  display: flex;
}
.sns-area__x-icon {
  margin-right: 12px;
}
.sns-area__x-icon img {
  width: 16px;
  height: auto;
  display: block;
}
.sns-area__instagram-icon img {
  width: 17px;
  height: auto;
  display: block;
}

/* スケジュールコンテンツ */
.schedule-content {
  margin-bottom: 64px;
}
.section_title {
  border-bottom: 3px solid #000;
  margin-bottom: 56px;
}
.section_title h2 {
  font-size: 28px;
}

/* 勤務テーブル */
.author-container__schedule {
  margin-bottom: 104px;
}
table.attmgr_weekly th,
table.attmgr_weekly td {
  padding: 0.5em;
  font-size: 13px;
  text-align: center;
}

.attmgr_weekly {
  width: 100%;
  th,
  td {
    border: 1px solid #ccc;
  }
  .glue {
    display: block;
    margin: 0 auto;
    writing-mode: vertical-rl;
    width: fit-content;
  }
}

/* QAコンテンツ */
.qa-content {
  margin-bottom: 40px;
}
.qa-content-list {
  display: flex;
  flex-wrap: wrap;
  width: 900px;
}
.qa-card {
  background-color: #f5f5f7;
  width: 438px;
  padding: 16px;
  margin-bottom: 24px;
}
.qa-card:nth-child(odd) {
  margin-right: 24px;
}
.qa-card__question-area {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #000;
  padding-bottom: 4px;
}
.qa-card__answer-area {
  display: flex;
  padding-top: 4px;
}
.qa-card__title-icon {
  font-weight: bold;
  font-size: 20px;
  margin-right: 8px;
}
.qa-card__title-text {
  font-weight: bold;
  font-size: 15px;
  padding-top: 4px;
}
.qa-card__answer-area .qa-card__title-icon {
  font-weight: bold;
  font-size: 20px;
}
.qa-card__answer-area .qa-card__title-text p {
  font-weight: normal;
  font-size: 15px;
}

/* REVIEWSコンテンツ */
.reviews-content {
  margin-bottom: 104px;
}
.section_title.reviews {
  margin-bottom: 32px;
}
.review-button-wrapper {
  display: flex;
  flex-direction: row-reverse;
  text-align: center;
}
.review-button-wrapper {
  margin-bottom: 32px;
}
.review-button {
  display: block;
  color: #fff;
  background-color: #333;
  border-radius: 25px;
  width: 252px;
  padding: 16px 0;
  font-size: 15px;
  line-height: 15px;
}
.review-card {
  background-color: #f5f5f7;
  padding: 24px;
  margin-bottom: 24px;
}
.review-card:last-child {
  margin-bottom: 0;
}
.review-card__title {
  border-bottom: 1px solid #000;
  padding: 8px;
  font-size: 18px;
  font-weight: bold;
}
.review-card__comment {
  padding: 16px 8px 8px 8px;
  font-size: 15px;
  margin-bottom: 8px;
}
.review-card__info {
  display: flex;
  justify-content: flex-end;
  padding-right: 8px;
  font-size: 13px;
  text-align: right;
}

/* 予約ボタン */
.button-content {
  margin-bottom: 104px;
}
.reserve_button a {
  color: #fff;
  display: block;
  margin: 0 auto 32px;
  padding: 20px 0;
  width: 75%;
  text-align: center;
  background-color: #0b1544;
  border-radius: 80px;
  border: #fff 1px solid;
  transition: all 0.25s;
}
.reserve_button a:hover {
  background-color: #fff;
  color: #04384c;
  animation: 0.5;
  border: #04384c 1px solid;
  transition: all 0.25s;
}
/* 前の画面に戻るボタン */
.button a {
  width: 75%;
  display: block;
  padding: 20px;
  margin: 0 auto;
  border: 1px #32373c solid;
  border-radius: 50px;
  text-align: center;
  color: #333;
}

/* SP */
@media (max-width: 600px) {
  .author-container {
    width: 100%;
    margin: 0 auto;
  }
  .cast-info-content {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-bottom: 40px;
  }
  .cast-info-content .images-contet {
    width: 100%;
    margin-bottom: 16px;
  }
  .cast-info-content .main-image {
    margin-bottom: 4px;
  }
  .addition-images {
    width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch; /* タッチデバイスでスムーズにスクロール */
  }
  .addition-images::-webkit-scrollbar {
    height: 8px; /* スクロールバーの高さを設定 */
    display: block; /* スクロールバーを常時表示 */
  }
  .addition-images::-webkit-scrollbar-thumb {
    background-color: #ccc; /* スクロールバーの色 */
    border-radius: 4px; /* 角の丸み */
  }
  .addition-images::-webkit-scrollbar-track {
    background-color: #f0f0f0; /* スクロールバーの背景色 */
  }
  .addition-images__list .wp-block-image .wp-image {
    width: 120px;
    height: auto;
  }
  .text-info-content {
    width: 100%;
  }
  .sns-area__x-icon img {
    margin-right: 6px;
  }
  .text-adjustment {
    font-size: 14px;
    margin-top: 8px;
  }
  .section_title {
    margin-bottom: 24px;
  }
  .schedule-content,
  .qa-content,
  .reviews-content {
    margin-bottom: 40px;
  }
  .author-container h2 {
    font-size: 20px;
  }
  .qa-content-list {
    width: 100%;
  }
  .qa-card:nth-child(odd) {
    margin-right: 0;
  }
  .qa-card__answer-area .qa-card__title-text p {
    font-size: 14px;
  }
  .review-card__info {
    flex-wrap: wrap;
    flex-direction: column;
  }
  .review-card__info-name {
    margin-bottom: 2px;
  }
  .review-card__info-date {
    margin-right: -0.5em;
  }
  .review-button-wrapper {
    justify-content: center;
  }
  .review-card__comment {
    font-size: 14px;
  }
  .button-content {
    margin-bottom: 40px;
  }
}

/* =======================================================
    スケジュールページ 
======================================================= */
#weekly-calendar {
  display: flex;
  justify-content: space-between;
  border: 1px solid #ddd;
  align-items: center;
}
.calendar-day {
  width: 14.2%;
  vertical-align: middle;
  text-align: center;
  border-right: 1px solid #ddd;
  flex: 1;
  text-align: center;
}
.calendar-day:last-child {
  border-right: none;
}
.calendar-day .date-link {
  display: block;
  padding: 0.8em;
  font-size: 14px;
}
.calendar-day:last-child .date-link {
  border-right: none;
}
.staff-list {
  display: flex;
  flex-wrap: wrap;
  max-width: 900px;
}
.staff-list li {
  list-style: none;
  padding: 5px;
  text-align: center;
}
.staff-list li a {
  color: #333;
}
.staff-profile {
  position: relative;
}
.staff-profile img {
  width: 279px;
  height: auto;
}
.current-day {
  background-color: #eaeaea;
}
.staff-profile .staff-info {
  background-color: #fff;
  padding: 0 16px;
}
.staff-profile .staff-info .staff-name {
  border-bottom: 1px solid #000;
  padding: 8px 0;
}
.staff-profile .staff-info .staff-time {
  padding: 8px 0;
}

/* 画像のマウスオーバーエフェクト */
.page-id-81 .staff-profile > a {
  display: block;
  width: 279px;
  height: 157px;
  overflow: hidden;
}
.page-id-81 .staff-list img {
  transition: 0.25s all;
}
.page-id-81 .staff-list img:hover {
  -webkit-transform: scale(1.06);
  transform: scale(1.06);
  transition: 0.25s all;
}

/* SP */
@media (max-width: 600px) {
  #weekly-calendar {
    height: 65px;
  }
  .calendar-day {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 65px;
  }
  .calendar-day .date-link {
    padding: 5px 0;
    /* height: 100%; */
  }
  .current-day {
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
  }

  /* 画像 */
  .page-id-81 .staff-profile > a {
    width: 100%;
    height: auto;
  }
  .page-id-81 .staff-list img {
    width: 100%;
    height: auto;
  }
}

.post_content {
}
/* top movie */
.unit-top-movie {
  margin-bottom: 6em;
  left: calc(50% - 50vw);
  max-width: 100vw !important;
  position: relative;
  width: 100vw;

  .is-style-section_ttl {
    margin-bottom: 2em !important;
  }
  .swiper-block {
    position: relative;
    padding: 0 0 30px 0;
    margin-bottom: 40px;
  }
  img {
    width: 100%;
    height: auto;
  }

  .swiper-slide {
    /* width: 200px !important; */
  }

  .swiper-pagination {
    top: auto !important;
    bottom: 0 !important;
  }
}

/* schedule */
#area-weekly-calender {
  padding: 6em 0;

  .swiper-block {
    position: relative;
    padding-bottom: 40px;
  }

  .swiper-slide {
  }
}
.list-weekly-calender {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  align-items: stretch;
  justify-content: center;
  list-style-type: none;
  border: 1px solid #ddd;

  .item {
    margin: 0;
    padding: 0;
    position: relative;
    background-color: #fff;
    &.today {
      background-color: #eaeaea;
    }

    &:not(:last-of-type) {
      border-right: 1px solid #ddd;
    }
  }

  button {
    display: block;
    padding: 0.4em 0;
    text-align: center;
    border-style: none;
    line-height: 1.8;
    font-size: 14px;
    height: 100%;
    width: 100%;
    background-color: transparent;

    color: var(--color_link);
  }

  @media (min-width: 767px) {
    button {
      padding: 0.8em 0;
    }
  }
}

/* swiper common */
.swiper-button-next {
  width: 10px;
  height: 16px;
  right: -8px;
  top: 48px;
  &::after {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2210%22%20height%3D%2216%22%20viewBox%3D%220%200%2010%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cg%20clip-path%3D%22url(%23clip0_5_93)%22%3E%3Cpath%20d%3D%22M1.12502%20-0.00258658L-0.00634766%201.12878L7.92032%209.05545L9.05169%207.92408L1.12502%20-0.00258658Z%22%20fill%3D%22black%22/%3E%3Cpath%20d%3D%22M7.92862%206.78867L0.00195312%2014.7153L1.13332%2015.8467L9.05999%207.92004L7.92862%206.78867Z%22%20fill%3D%22black%22/%3E%3C/g%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_5_93%22%3E%3Crect%20width%3D%229.06%22%20height%3D%2215.85%22%20fill%3D%22white%22/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: cover;
  }
}

.swiper-button-prev {
  width: 10px;
  height: 16px;
  left: -8px;
  top: 48px;
  &::after {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2210%22%20height%3D%2216%22%20viewBox%3D%220%200%2010%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M7.93504%2015.8526L9.06641%2014.7212L1.13974%206.79452L0.00836915%207.92589L7.93504%2015.8526Z%22%20fill%3D%22black%22/%3E%3Cpath%20d%3D%22M1.13144%209.06131L9.05811%201.13464L7.92674%200.00327303L6.75616e-05%207.92994L1.13144%209.06131Z%22%20fill%3D%22black%22/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: cover;
  }
}

@media (min-width: 767px) {
  .swiper-button-next {
    top: 40px;
  }

  .swiper-button-prev {
    top: 40px;
  }
}

.author-area-schedule {
  position: relative;
  padding-bottom: 40px;

  @media (min-width: 767px) {
    .swiper-button-next {
      width: 20px;
      height: 32px;
      top: 48px;
    }

    .swiper-button-prev {
      width: 20px;
      height: 32px;
      top: 48px;
    }
  }

  @media (min-width: 1024px) {
  }
}

.l-container:has(.page-cast-single) {
  max-width: 100%;
  @media (min-width: 1024px) {
    padding-left: 0;
    padding-right: 0;
  }
}
main.page-cast-single {
  width: 100%;
  .unit-movie {
    padding-bottom: 30px;
  }
}

@media (max-width: 460px) {
  .lum-lightbox-inner img {
    /* max-height: none; */
    /* max-height: 88vh; */
    /* max-width: none; */
    max-width: 100%;
  }
}

.author-movie-swiper {
  position: relative;
  padding: 0 0 30px 0;
  box-sizing: content-box;
  img {
    width: 100%;
    height: auto;
  }
  .video {
    width: 100%;
    height: auto;
  }

  .swiper-slide {
    /* width: 200px !important; */
  }

  .swiper-pagination {
    top: auto !important;
    bottom: 0 !important;
  }

  .swiper-button-next {
    width: 15px;
    height: 24px;
    inset: 50% -2vw auto auto;
    translate: 0 -50%;
  }
  .swiper-button-prev {
    width: 15px;
    height: 24px;
    inset: 50% auto auto -2vw;
    translate: 0 -50%;
  }

  @media (min-width: 767px) {
    .swiper-button-next {
      width: 20px;
      height: 32px;
      inset: 50% -19vw auto auto;
    }
    .swiper-button-prev {
      width: 20px;
      height: 32px;
      inset: 50% auto auto -19vw;
    }
  }

  @media (min-width: 1024px) {
    /* .swiper {
      position: absolute;
      width: 100vw;
      height: 100%;
      inset: 0 auto auto 0;
      translate: calc(-50vw + 450px) 0;
      height: calc(100vw * 0.35);
    } */
  }
}

#main_content .list-movie {
  margin: 60px 0 !important;
}

.list-movie {
  margin: 60px 0 !important;
  .item {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 0 16px;

    &:not(:last-of-type) {
      margin-bottom: 40px;
    }
  }

  .video-wrapper {
    margin-bottom: 8px;
    width: 100%;
    /*padding-bottom: 56.25%; */
    position: relative;
    grid-column: 1/3;
    grid-row: 1;
  }
  video,
  img,
  .video {
    position: absolute;
    inset: 0 0 0 0;
    width: 100%;
    height: 100%;
  }
  .date {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
    align-self: center;
    font-size: 16px;
  }
  .cast {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    font-size: 16px;
  }
  .link {
    grid-column: 1/3;
    grid-row: 3;
    font-size: 14px;
    justify-self: start;
    a {
      display: block;
      margin-left: 0;
      line-height: 1;
      padding: 0.6em 16px;
      inline-size: fit-content;
      border-radius: 90px;
      border: 1px solid #ddd;
      color: #222;
    }
  }

  @media (min-width: 767px) {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;

    .item {
      &:not(:last-of-type) {
        margin-bottom: 0;
      }
    }
  }

  @media (min-width: 960px) {
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
  }
}

@media (min-width: 960px) {
  #body_wrap.movie-archive .l-article,
  .lp-content .l-article {
    margin-left: auto;
    margin-right: auto;

    width: var(--article_size);
    padding-left: 0;
    padding-right: 0;
  }
}
