@charset "UTF-8";

/* ============================================
    base
 ============================================ */
:root {
  font-size: 62.5%;
}

* {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

html,
body {
  padding: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
}

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  font-size: 1.5rem;
  line-height: 1.6;
  min-height: 100%;
  margin: 0;
  color: #333;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.1rem;
}

/*safari*/
_::-webkit-full-page-media,
_:future,
:root body {
  font-feature-settings: normal;
  letter-spacing: -0.01rem;
}

input,
textarea {
  font-family: "Noto Sans JP", sans-serif;
}

input::-ms-clear,
input::-ms-reveal {
  visibility: hidden;
}

a {
  color: #3C72CB;
  text-decoration: none;
}

a:hover,
a:focus {
  color: #FD9C00;
}

figure {
  margin: 0;
}

img {
  vertical-align: middle;
  border: 0;
}

img.fit {
  object-fit: contain;
}

hr {
  margin-top: 2.4rem;
  margin-bottom: 2.4rem;
  border: 0;
  border-top: 0.1rem solid #eee;
}

ul,
ol,
li,
dl,
dt,
dd {
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
}

h1,
h2,
h3 {
  font-weight: bold;
  margin: 0;
}

p {
  margin: 0;
}

b,
strong {
  font-weight: bold;
}

small {
  color: #808080;
}

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

td,
th {
  padding: 0;
}

.hidden {
  display: none !important;
}

mark {
  background: #ffff66;
  font-style: normal;
  color: inherit;
}

/* ============================================
    utilities
 ============================================ */
/* margin */
.mxy-0 {
  margin: 0 !important;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-5 {
  margin-top: 0.5rem !important;
}

.mt-10 {
  margin-top: 1rem !important;
}

.mt-15 {
  margin-top: 1.5rem !important;
}

.mt-20 {
  margin-top: 2rem !important;
}

.mt-25 {
  margin-top: 2.5rem !important;
}

.mt-30 {
  margin-top: 3rem !important;
}

.mt-35 {
  margin-top: 3.5rem !important;
}

.mt-40 {
  margin-top: 4rem !important;
}

.mr-auto {
  margin-right: auto;
}

.mr-0 {
  margin-right: 0 !important;
}

.mr-5 {
  margin-right: 0.5rem !important;
}

.mr-10 {
  margin-right: 1rem !important;
}

.mr-15 {
  margin-right: 1.5rem !important;
}

.mr-20 {
  margin-right: 2rem !important;
}

.mr-25 {
  margin-right: 2.5rem !important;
}

.mr-30 {
  margin-right: 3rem !important;
}

.mr-35 {
  margin-right: 3.5rem !important;
}

.mr-40 {
  margin-right: 4rem !important;
}

.mr-4per {
  margin-right: 4% !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-5 {
  margin-bottom: 0.5rem !important;
}

.mb-8 {
  margin-bottom: 0.8rem !important;
}

.mb-10 {
  margin-bottom: 1rem !important;
}

.mb-15 {
  margin-bottom: 1.5rem !important;
}

.mb-20 {
  margin-bottom: 2rem !important;
}

.mb-25 {
  margin-bottom: 2.5rem !important;
}

.mb-30 {
  margin-bottom: 3rem !important;
}

.mb-35 {
  margin-bottom: 3.5rem !important;
}

.mb-40 {
  margin-bottom: 4rem !important;
}

.ml-auto {
  margin-left: auto !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.ml-4 {
  margin-left: 0.4rem !important;
}

.ml-5 {
  margin-left: 0.5rem !important;
}

.ml-10 {
  margin-left: 1rem !important;
}

.ml-15 {
  margin-left: 1.5rem !important;
}

.ml-20 {
  margin-left: 2rem !important;
}

.ml-25 {
  margin-left: 2.5rem !important;
}

.ml-30 {
  margin-left: 3rem !important;
}

.ml-35 {
  margin-left: 3.5rem !important;
}

.ml-40 {
  margin-left: 4rem !important;
}


/* padding */
.pxy--5 {
  padding: 0.5rem !important;
}

.pxy--10 {
  padding: 1rem !important;
}

.pxy--14 {
  padding: 1.4rem !important;
}

.pxy--20 {
  padding: 2rem !important;
}

.pxy--30 {
  padding: 3rem !important;
}

.pxy--40 {
  padding: 4rem !important;
}


@media (max-width: 768px) {
  .pxy--sp14 {
    padding: 1.4rem !important;
  }
  .px--sp14 {
    padding: 0 1.4rem !important;
  }
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-5 {
  padding-top: 0.5rem !important;
}

.pt-10 {
  padding-top: 1rem !important;
}

.pt-15 {
  padding-top: 1.5rem !important;
}

.pt-20 {
  padding-top: 2rem !important;
}

.pt-25 {
  padding-top: 2.5rem !important;
}

.pt-30 {
  padding-top: 3rem !important;
}

.pt-35 {
  padding-top: 3.5rem !important;
}

.pt-40 {
  padding-top: 4rem !important;
}

.pr-0 {
  padding-right: 0 !important;
}

.pr-5 {
  padding-right: 0.5rem !important;
}

.pr-10 {
  padding-right: 1rem !important;
}

.pr-15 {
  padding-right: 1.5rem !important;
}

.pr-20 {
  padding-right: 2rem !important;
}

.pr-25 {
  padding-right: 2.5rem !important;
}

.pr-30 {
  padding-right: 3rem !important;
}

.pr-35 {
  padding-right: 3.5rem !important;
}

.pr-40 {
  padding-right: 4rem !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-5 {
  padding-bottom: 0.5rem !important;
}

.pb-10 {
  padding-bottom: 1rem !important;
}

.pb-15 {
  padding-bottom: 1.5rem !important;
}

.pb-20 {
  padding-bottom: 2rem !important;
}

.pb-25 {
  padding-bottom: 2.5rem !important;
}

.pb-30 {
  padding-bottom: 3rem !important;
}

.pb-35 {
  padding-bottom: 3.5rem !important;
}

.pb-40 {
  padding-bottom: 4rem !important;
}

.pl-0 {
  padding-left: 0 !important;
}

.pl-5 {
  padding-left: 0.5rem !important;
}

.pl-10 {
  padding-left: 1rem !important;
}

.pl-15 {
  padding-left: 1.5rem !important;
}

.pl-20 {
  padding-left: 2rem !important;
}

.pl-25 {
  padding-left: 2.5rem !important;
}

.pl-30 {
  padding-left: 3rem !important;
}

.pl-35 {
  padding-left: 3.5rem !important;
}

.pl-40 {
  padding-left: 4rem !important;
}

/* display */
.block {
  display: block !important;
}

.inline-block {
  display: inline-block !important;
}

.inline {
  display: inline !important;
}

.flex {
  display: flex !important;
}

@media (max-width: 768px) {
  .flex--sp {
    display: flex !important;
  }
}

.revert {
  display: revert !important;
}

@media (max-width: 768px) {
  .pc-block-sp-inline {
    display: inline !important;
  }
}

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

.sp-block-pc-inline {
  display: inline !important;
}

@media (max-width: 768px) {
  .sp-block-pc-inline {
    display: block !important;
  }
}

/* flex-wrap */
.flex-nowrap {
  flex-wrap: nowrap;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-nowrap--sp-wrap {
  flex-wrap: nowrap;
}

@media (max-width: 768px) {
  .flex-nowrap--sp-wrap {
    flex-wrap: wrap;
  }
}

/* align-items */
.items-center {
  align-items: center;
}

.items-start {
  align-items: start;
}

.items-end {
  align-items: end;
}

/* justify-content */
.justify-start {
  justify-content: flex-start !important;
}

.justify-center {
  justify-content: center !important;
}

.justify-end {
  justify-content: flex-end !important;
}

.justify-between {
  justify-content: space-between;
}

/* display:flex + align-items & justify-content:center */
.flex-center {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* gap */
.gap--1per {
  gap: 1%;
}

.gap--2per {
  gap: 2%;
}

.gap--3per {
  gap: 3%;
}

.gap--4per {
  gap: 4%;
}

.gap--5per {
  gap: 5%;
}

.gap--6per {
  gap: 6%;
}

.gap--7per {
  gap: 7%;
}

.gap--8per {
  gap: 8%;
}

.gap--9per {
  gap: 9%;
}

.gap--10per {
  gap: 10%;
}

/* font */
.f-size {
  font-size: 1.5rem;
}

/* font PC-size_SP-size */
.f-size--12-10 {
  font-size: 1.2rem !important;
}

@media (max-width: 768px) {
  .f-size--12-10 {
    font-size: 1rem !important;
  }
}

.f-size--14-12 {
  font-size: 1.4rem !important;
}

@media (max-width: 768px) {
  .f-size--14-12 {
    font-size: 1.2rem !important;
  }
}

/* clearfix */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

/* width */
.w100per {
  width: 100% !important;
}

@media (max-width: 768px) {
  .w100per--sp {
    width: 100% !important;
  }
}

.w90per {
  width: 90% !important;
}

.w80per {
  width: 80% !important;
}

.w70per {
  width: 70% !important;
}

.w60per {
  width: 60% !important;
}

.w50per {
  width: 50% !important;
}

.w40per {
  width: 40% !important;
}

.w30per {
  width: 30% !important;
}

.w20per {
  width: 20% !important;
}

.w10per {
  width: 10% !important;
}

/* hidden */
.visibility-hidden {
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: absolute !important;
}

/* sp-hidden */
@media (max-width: 768px) {
  .sp-hidden {
    visibility: hidden;
    height: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
  }
}

/* pc-hidden-sp-visible */
.pc-hidden-sp-visible {
  visibility: hidden;
  height: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 768px) {
  .pc-hidden-sp-visible {
    visibility: visible !important;
    height: auto !important;
    width: auto !important;
    margin: initial !important;
    padding: initial !important;
  }
}

/* pc-visible-sp-hidden */
.pc-visible-sp-hidden {
  visibility: visible;
  height: auto;
  width: auto;
  margin: initial;
  padding: initial;
}

@media (max-width: 768px) {
  .pc-visible-sp-hidden {
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .pc-visible-sp-hidden iframe {
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
  }
}

.sp-line-break {
  margin: 0 1.8rem;
}

@media (max-width: 768px) {
  .sp-line-break {
    display: grid;
	margin: 0 0;
  }
}

/* images */
.img-circle {
  border-radius: 50%;
}

.img-wrap {
  display: block;
  overflow: hidden;
  position: relative;
  background: #f2f2f2;
}

.img-wrap--152-214 {
  width: 15.2rem;
  height: 21.4rem;
}

@media (max-width: 768px) {
  .img-wrap--152-214 {
    width: 6.9rem;
    height: 9.7rem;
  }
}

.img-wrap__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 170%;
  max-height: 100%;
  object-fit: contain;
}

/* text */
.text-xxl {
  font-size: 2.6rem;
}

.text-xl {
  font-size: 2.2rem;
}

.text-l {
  font-size: 1.8rem;
}

.text-m {
  font-size: 1.6rem;
}

.text-s {
  font-size: 1.4rem;
}

.text-xs {
  font-size: 1.2rem;
}

.text-xxs {
  font-size: 1rem;
}

.text-bold {
  font-weight: bold;
}

.text-align-c {
  text-align: center;
}

.text-under-line {
  border-bottom: solid 0.1rem #333333;
}

/* color */
.color-primary {
  color: #3C72CB !important;
}

.color-secondary {
  color: #FD9C00 !important;
}

.color-very-light-gray {
  color: #f2f2f2 !important;
}

.color-light-gray {
  color: #d9d9d9 !important;
}

.color-gray {
  color: #939393 !important;
}

.color-dark-gray {
  color: #636363 !important;
}

.color-very-dark-gray {
  color: #333333 !important;
}

.color-red {
  color: #EE4056 !important;
}

/* color-before */
.color-primary-before:before {
  color: #3C72CB !important;
}

.color-secondary-before:before {
  color: #FD9C00 !important;
}

.color-very-light-gray-before:before {
  color: #f2f2f2 !important;
}

.color-light-gray-before:before {
  color: #d9d9d9 !important;
}

.color-gray-before:before {
  color: #939393 !important;
}

.color-dark-gray-before:before {
  color: #636363 !important;
}

.color-very-dark-gray-before:before {
  color: #333333 !important;
}

.color-red-before:before {
  color: #EE4056 !important;
}

/* color-hover */
.color-secondary-hover:hover * {
  color: #FD9C00 !important;
}

/* background-color */
.bg-color-primary {
  background-color: #3C72CB !important;
}

.bg-color-secondary {
  background-color: #FD9C00 !important;
}

.bg-color-very-light-gray {
  background-color: #f2f2f2 !important;
}

.bg-color-light-gray {
  background-color: #d9d9d9 !important;
}

.bg-color-gray {
  background-color: #939393 !important;
}

.bg-color-dark-gray {
  background-color: #636363 !important;
}

.bg-color-very-dark-gray {
  background-color: #333333 !important;
}

.bg-color-black {
  background-color: #000 !important;
}

.bg-color-gold {
  background-color: #CEA537 !important;
}

.bg-color-red {
  background-color: #EE4056 !important;
}

/* line-clamp */
.line-clamp-1 {
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}

.line-clamp-2 {
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.line-clamp-3 {
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.line-clamp-4 {
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}

/* sp-line-clamp */
@media (max-width: 768px) {
  .sp-line-clamp-1 {
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
  }
}

/* line-clamp PC-size_SP-size */
.line-clamp-2-4 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

@media (max-width: 768px) {
  .line-clamp-2-4 {
    -webkit-line-clamp: 4;
  }
}

.line-clamp-15-8 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 15;
  overflow: hidden;
}

@media (max-width: 768px) {
  .line-clamp-15-8 {
    -webkit-line-clamp: 8;
  }
}

.review-text.line-clamp-15-8.text-expanded {
  -webkit-line-clamp: 9999;
}
.review-text.line-clamp-15-8:not(.text-expanded) + .line-clamp-read-more:before {
  content: "続きを読む";
  display: block;
  margin-bottom: 1rem;
}

/* img-fit-cover */
.img-fit {
  position: relative;
  overflow: hidden;
  background: #f2f2f2;
  display: block;
}

.img-fit--126-178 {
  width: 12.6rem;
  height: 17.8rem;
}

.img-fit__items {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* contents-width-fit */
.contents-width-fit {
  width: auto;
}

@media (max-width: 768px) {
  .contents-width-fit {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
}

/* position */
.position-relative {
  position: relative;
}

/* background */
.background-none {
  background: none;
}

/*title*/
.page-title {
  margin: 0 0 1.6rem;
  line-height: 1.3;
  font-weight: bold;
  letter-spacing: 0;
}

.page-title--xxl {
  font-size: 2.6rem;
}

@media (max-width: 768px) {
  .page-title--xxl {
    font-size: 2.4rem;
  }
}

.page-title--xl {
  font-size: 2.2rem;
}

@media (max-width: 768px) {
  .page-title--xl {
    font-size: 2rem;
  }
}

.page-title--l {
  font-size: 1.8rem;
}

.page-title--m {
  font-size: 1.6rem;
}

.page-title--s {
  font-size: 1.4rem;
}

.page-title--line {
  border-left: 0.4rem solid #c3c092;
  font-weight: bold;
  padding: 0 0 0 0.8rem;
  margin: 0.8rem 0;
}

.page-title--right-btn {
  width: calc(100% - 5rem);
}

@media (max-width: 768px) {
  .page-title--right-btn {
    width: calc(100% - 4rem);
  }
}

@media (max-width: 768px) {
  .page-title--special {
    width: 100vw;
    margin: 0 calc(50% - 50vw) 2rem;
    background-color: #fd9c00 !important;
    color: #fff;
    padding: 1rem 1.4rem;
  }
}

.time-stamp {
  font-size: 1.3rem;
  color: #999;
  margin: 0 0 0.8rem;
}

.time-stamp--red {
  color: #EE4056;
}

/* text */
.text {
  font-size: 1.5rem !important;
}

.text--xxl {
  font-size: 2.6rem !important;
}

.text--xl {
  font-size: 2.2rem !important;
}

.text--l {
  font-size: 1.8rem !important;
}

.text--m {
  font-size: 1.6rem !important;
}

.text--s {
  font-size: 1.4rem !important;
}

.text--xs {
  font-size: 1.2rem !important;
}

.text--xxs {
  font-size: 1rem !important;
}

.text--bold {
  font-weight: bold !important;
}

.text--normal {
  font-weight: normal !important;
}

.text--align-c {
  text-align: center !important;
}

.text--align-r {
  text-align: right !important;
}

.text--align-l {
  text-align: left;
}

.text--under-line {
  border-bottom: solid 0.1rem #333333;
}

/* text / PC-size_SP-size */
.text--12-10 {
  font-size: 1.2rem !important;
}

@media (max-width: 768px) {
  .text--12-10 {
    font-size: 1rem !important;
  }
}

.text--14-12 {
  font-size: 1.4rem !important;
}

@media (max-width: 768px) {
  .text--14-12 {
    font-size: 1.2rem !important;
  }
}

.text--15-12 {
  font-size: 1.5rem !important;
}

@media (max-width: 768px) {
  .text--15-12 {
    font-size: 1.2rem !important;
  }
}

.text--20-18 {
  font-size: 2rem !important;
}

@media (max-width: 768px) {
  .text--22-18 {
    font-size: 1.8rem !important;
  }
}

/* line-height */
.line-height {
  line-height: 1.5 !important;
}

/* inline-pc-block-sp */
.inline-pc-block-sp {
  display: inline;
}

@media (max-width: 768px) {
  .inline-pc-block-sp__newline {
    display: block;
  }
}

/* text-right-icon */
.text--right-icon {
  background: #ee4056;
  color: #fff;
  padding: 0.3rem 0.4rem;
  border-radius: 0.2rem;
  font-size: 0.6em;
  line-height: 1;
  margin-left: 0.4rem;
}

.text--right-icon-sp {
  color: #ee4056;
  margin-left: 0.4rem;
}

@media (max-width: 768px) {
  .text--right-icon-sp {
    background: #ee4056;
    color: #fff;
    padding: 0.3rem 0.4rem;
    border-radius: 0.2rem;
    font-size: 0.6em;
    line-height: 1;
    margin-left: 0.4rem;
  }
}

/* cursor */
.cursor--pointer {
  cursor: pointer !important;
}

.cursor--auto {
  cursor: auto !important;
}

/* word-wrap */
.white-space-wrap {
  white-space: wrap !important;
}

.white-space-nowrap {
  white-space: nowrap !important;
}

/* link-disabled */
.link-disabled {
  pointer-events: none;
  color: #d9d9d9;
}

/* ============================================
    wrapper
 ============================================ */
.all-site-wrapper {
  margin: 0 auto;
  width: 122.8rem;
}

.all-site-wrapper--top {
  width: 104rem;
}

@media (max-width: 1024px) {
  .all-site-wrapper {
    width: 100%;
  }
}

/* ============================================
    header
 ============================================ */
.all-site-wrapper__header {
  width: 100rem;
  float: right;
}

.all-site-wrapper__header--top {
  width: 81.2rem;
}

@media (max-width: 1024px) {
  .all-site-wrapper__header {
    width: 100%;
    position: relative;
  }
}

.sp-header-menu-wrap {
  position: fixed;
  z-index: 11;
  width: 100%;
}



@media (max-width: 1024px) {
  .header-main {
    background: #3C72CB;
    padding: 1.2rem 1.4rem;
    width: 100%;
    position: relative;
  }
}


.header-main-pc {
  display: flex;
  justify-content: end;
  height: 6.8rem;
  padding-top: 1.8rem;
}

@media (max-width: 1024px) {
  .header-main-pc {
    visibility: hidden;
    height: 0;
    padding: 0;
    width: 0;
  }
}



.pc-menu-search {
  margin-right: 1.4rem;
}

.pc-menu-search__box {
  position: relative;
}

.pc-search-text {
  border: none;
  background: #f2f2f2;
  border-radius: 5rem;
  padding: 0.6rem 1rem 0.6rem 3.6rem;
  font-size: 1.4rem;
  width: 27.2rem;
}

.pc-search-btn {
  border: none;
  background: none;
  position: absolute;
  left: 0.4rem;
  top: 0.4rem;
}

.pc-account {
  display: flex;
}

.pc-account__notification {
  width: 3rem;
  position: relative;
}

.user-account-notification {
  cursor: pointer;
}

.user-account-notification:before {
  color: #0066CC;
  font-size: 2.6rem !important;
  margin: 0 0 0 0 !important;
  height: 3.2rem;
  line-height: 1.3em !important;
}

@media (max-width: 768px) {
  .user-account-notification:before {
    font-size: 2.5rem !important;
    line-height: 1.4em !important;
  }
}

.user-account-notification__notice-number {
  background: #ee4056;
  border-radius: 2rem;
  color: #fff;
  font-size: 1.2rem;
  padding: 0.1rem 0.4rem;
  min-width: 2.1rem;
  display: inline-block;
  text-align: center;
  position: absolute;
  top: 0;
  right: -1.2rem;
}

.notification-wrap__list-wrap {
  visibility: hidden;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 4.4rem;
  left: -19.6rem;
  background: #ffffff;
  border: 0.1rem solid #cacaca;
  border-radius: 0.3rem;
  z-index: 10;
  box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.2);
}

.notification-btn:checked~.notification-wrap__list-wrap {
  visibility: visible;
  width: 24.2rem;
  height: auto;
}

.notification-wrap__list-wrap:before {
  content: "";
  position: absolute;
  margin: 0 0 0 -0.8rem;
  top: -1.8rem;
  right: 2.6rem;
  border: 0.6rem solid transparent;
  border-bottom: 1.2rem solid #cacaca;
}

.notification-wrap__list-wrap:after {
  content: "";
  position: absolute;
  margin: 0 0 0 -0.8rem;
  top: -1.6rem;
  right: 2.6rem;
  border: 0.6rem solid transparent;
  border-bottom: 1.2rem solid #fff;
}

.list-block-link {
  border-top: none;
  border-bottom: 0.1rem solid #ccc;
}

.list-block-img__photo {
  width: 4rem;
  display: inline;
}

.link-items-ancher__data-box {
  width: 19rem;
  padding: 0 1rem 0;
  float: left;
}

.data-box-title {
  margin: 1.2rem 0 1rem;
  font-size: 1.5rem;
  line-height: 1.4;
}

.link-items-more {
  display: block;
  text-align: center;
  padding: 0.8rem;
  font-weight: bold;
}

.list-block-link__items,
.list-block-link__items--pro {
  position: relative;
}

.list-block-link__items--pro:after {
  top: 5.8rem;
  left: 1rem;
  content: "";
  display: block;
  overflow: hidden;
  position: absolute;
  width: 3.8rem;
  height: 1.4rem;
  background: url(../../images/movie_review/review_icon.png) no-repeat;
  background-size: 100% auto;
  background-position: 0 0.1rem;
}

.link-items-ancher {
  display: table;
}

.link-items-ancher__img {
  width: 5rem !important;
  text-align: right !important;
  float: left;
  margin: 1.6rem 0;
}

.list-block-link__items:after {
  content: "";
  display: block;
  clear: both;
}

.list-block-link__items+.list-block-link__items {
  border-top: 0.1rem dotted #ccc;
}

.data-box-time {
  display: block;
  margin: 0.4rem 0 1.2rem;
}

.display-overlay {
  visibility: hidden;
  position: absolute;
}

.notification-btn:checked~.display-overlay {
  visibility: visible;
  display: block;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 4;
}

.pc-login-btn {
  border: solid 0.1rem #3C72CB;
  border-radius: 5rem;
  display: flex;
  text-align: center;
  padding: 0.3rem 1rem 0.3rem 0.6rem;
  font-size: 1.2rem;
  font-weight: bold;
  margin: 0 0 0 2rem;
  align-items: center;
  background: #fff;
  color: #3C72CB;
  cursor: pointer;
}

.pc-login-btn:hover {
  background: #fff !important;
  color: #FD9C00 !important;
  border: solid 0.1rem #FD9C00;
}

.pc-login-btn__icon {
  background: #fff;
  border-radius: 50%;
  width: 2.4rem;
  height: 2.4rem;
  display: block;
  margin: 0 0.2rem;
}

.pc-login-btn__icon:before {
  line-height: 1.6em !important;
}

.pc-login-btn__text {
  display: block;
  font-size: 1.2rem;
  font-weight: bold;
}

.pc-login-btn--user-account {
  padding: 0.3rem 1rem 0.3rem 0.3rem;
}

.pc-login-btn__login-user-btn {
  display: flex;
  align-items: center;
  border: none;
  background: none;
  padding: 0;
  color: #3C72CB;
  cursor: pointer;
}

.pc-login-btn__login-user-btn:hover,
.pc-login-btn--user-account:hover button {
  color: #FD9C00 !important;
}

.sp-account__notification {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 2.9rem;
  margin-right: 2rem;
  position: relative;
  height: 2.9rem;
  margin-top: -0.3rem;
}

.user-account-notification--sp:before {
  color: #fff;
}

.notice-number {
  background: #ee4056;
  border-radius: 2rem;
  color: #fff;
  font-size: 1.2rem;
  padding: 0.1rem 0.4rem;
  min-width: 2.1rem;
  display: inline-block;
  text-align: center;
}

.user-pic {
  border-radius: 50%;
  margin-right: 1rem;
}

.user-pic--sp {
  width: 2.9rem;
  height: 2.9rem;
}

.header-main__sp {
  visibility: hidden;
  height: 0;
  display: flex;
  align-items: center;
}

@media (max-width: 1024px) {
  .header-main__sp {
    visibility: visible;
    height: auto;
  }
}

.sp-menu-btn__icon::before {
  color: #fff;
  font-size: 4rem !important;
}

.sp-menu-logo {
  padding-left: 3em;
}

.sp-account {
  display: flex;
}

.sp-login-btn {
  display: block;
  text-align: center;
  color: #8DA1C1;
  background: none;
  border: none;
}

.sp-login-btn__icon {
  background: #fff;
  border-radius: 50%;
  width: 2.9rem;
  height: 2.9rem;
  display: block;
  margin: auto;
}

.sp-login-btn__icon:before {
  margin: 0 !important;
  width: 2rem;
  height: 2rem;
  line-height: 1.2 !important;
}

.sp-login-btn__text {
  display: block;
  font-size: 1rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  white-space: nowrap;
}

.sp-search__btn {
  display: block;
  text-align: center;
  color: #fff;
  margin-left: 1.4rem;
}

.sp-search-icon {
  width: 2.9rem;
  height: 2.9rem;
  display: block;
  margin: auto;
}

.sp-search-text {
  display: block;
  font-size: 1rem;
  font-weight: bold;
  color: #fff;
}

.sp-search-icon:before {
  margin: 0 !important;
}

@media (max-width: 768px) {
  .sp-search-icon:before {
    font-size: 2.3rem !important;
    line-height: 2.8rem !important;
  }
}

.heder-menu-bottom {
  visibility: hidden;
  height: 0;
  width: 0;
  margin: 0;
  padding: 0;
}

@media (max-width: 1024px) {
  .heder-menu-bottom {
    visibility: visible;
    width: 100%;
    background: #f2f2f2;
    height: 6rem;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .3s;
  }

  .heder-menu-bottom--scroll {
    height: 4rem;
    transition: .3s;
  }

  .heder-menu-bottom--scroll .bottom-link-icon {
    visibility: hidden;
    height: 0;
    width: 0;
  }

  .heder-menu-bottom__items {
    font-size: 1.2rem;
    font-weight: bold;
    color: #333;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    width: 20%;
    border-right: solid 0.16rem #fff;
    white-space: nowrap;
    letter-spacing: normal;
  }

  .heder-menu-bottom__items:last-of-type {
    border-right: none;
  }


  .bottom-link-icon {
    width: 100%;
  }
}


.site-header__header-banner {
  padding: 1.6rem 0;
  text-align: center;
  height: 14.668rem;
}
.site-header__header-banner.close {
  height: 0 !important;
}

@media (max-width: 1024px) {
  .site-header__header-banner {
    height: 13rem;
    margin-top: 17rem;
  }
}

@media (max-width: 768px) {
  .site-header__header-banner {
    margin-top: 12.8rem;
  }

  .site-header__header-banner--compact {
    margin-top: 8rem;
  }
}

@media (max-width: 768px) {
  .head-bnr-728x90 {
    visibility: hidden;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden;
  }
}

@media (max-width: 768px) {
  .head-bnr-728x90 * {
    visibility: hidden;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden;
  }
}


.ad-320x100 {
  display: inline;
  visibility: hidden;
  height: 0;
}

@media (max-width: 768px) {
  .ad-320x100 {
    visibility: visible;
    height: auto;
  }
}

/* ============================================
    pc-left-menu
 ============================================ */
.all-site-wrapper__nav {
  float: left;
  margin: 0 4rem 4rem 0;
}

@media (max-width: 1024px) {
  .all-site-wrapper__nav {
    margin: 0;
  }
}

@media (max-width: 1024px) {
  .all-site-wrapper__nav * {
    visibility: hidden;
    width: 0 !important;
    height: 0;
    padding: 0 !important;
    margin: 0;
  }
}

.side-menu {
  padding: 1.8rem 0 0;
  width: 18.8rem;
}

.side-menu__heading {
  margin-bottom: 5rem;
}

.side-menu__link-list--primary {
  margin-bottom: 5rem;
}

.side-menu__link-list--basic {
  margin-bottom: 3rem;
}

.side-menu__link-item {
  margin-bottom: 1rem;
}

.side-menu__link-item--main {
  margin-bottom: 1.4rem;
}

/* ============================================
    pc-right-menu
 ============================================ */
.main-column__right {
  width: 30rem;
}

@media (max-width: 768px) {
  .main-column__right {
    height: 0;
    position: absolute;
  }
}

@media (max-width: 768px) {
  .main-column__right * {
    visibility: hidden;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
  }
}

.right-wrap {
  padding: 0;
}

.right-wrap__bnr-320x250 {
  margin-bottom: 4rem;
  min-height: 25rem;
}

.right-wrap__contents {
  margin-bottom: 4rem;
}

.right-job-list__title {
  line-height: 1.6;
  font-size: 1.6rem;
  margin: 0 0 0.4rem;
}

.right-job-list__text {
  line-height: 1.4;
  font-size: 1.4rem;
  margin: 0 0 1rem;
  color: #333;
}

.right-job-list__job {
  line-height: 1.4;
  font-size: 1.4rem;
  color: #333;
  margin-bottom: 1rem;
}

.right-job-category {
  background: #666;
  padding: 0.1rem 0.8rem;
  line-height: 1;
  color: #fff;
  font-size: 1.3rem;
  margin: 0 0.8rem 0 0;
}

.right-wrap__link-card-wrap {
  margin-bottom: 2rem;
  display: block;
  margin-bottom: 2rem;
}

.link-card:hover .link-card__title {
  color: #FD9C00;
}

.link-card__img {
  position: relative;
  margin-bottom: 0.4rem;
  height: 20rem;
  background: #f2f2f2;
}

.link-card-photo {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 200%;
  max-height: 100%;
  object-fit: contain;
}

.link-card-category-tag {
  position: absolute;
  bottom: 0;
  left: 0;
  color: #fff;
  padding: 0.8rem 1.6rem;
  line-height: 1;
  background: rgba(253, 156, 0, 0.9);
  font-weight: bold;
  font-size: 1.4rem;
  z-index: 1;
}

.link-card-category-tag--release {
  top: 0;
  color: #fff;
  bottom: auto;
  font-size: 1.6rem;
  background: #EE4056;
}

.link-card-category-tag--release-small {
  font-size: 1.4rem;
  top: 0;
  left: 0;
  bottom: auto;
  padding: 0.4rem 0.8rem;
  background: #EE4056;
}

.right-wrap__title {
  width: 30rem;
  margin-bottom: 1.6rem;
  background: #3C72CB;
  padding: 0.8rem 1.2rem;
  line-height: 1em;
}

.link-card__title {
  font-size: 1.6rem;
  margin: 0 0 0.4rem;
  color: #3C72CB;
}

.link-card__title--font-size-14 {
  font-size: 1.4rem;
}

.link-card__txt {
  font-size: 1.4rem;
  margin: 0 0 0.4rem;
  color: #333;
}

.link-card__powered {
  font-size: 1.2rem;
  color: #999;
  display: block;
  margin: 0;
  font-weight: normal;
}

.link-card__time {
  font-size: 1.2rem;
  color: #666;
  display: block;
  margin: 0 0 0.8rem;
  font-weight: normal;
}

.right-wrap__title--cinema {
  background: #151827;
}

.title-txt {
  color: #fff;
  font-size: 1.5rem;
}

.title-txt--cinema {
  color: #FF8C00;
}

.title-txt--cinema:hover {
  color: #fee900;
}

.right-box__date {
  font-size: 1.2rem;
  font-weight: normal;
  margin-left: 1rem;
}

.right-list-wrap__items {
  margin-bottom: 1.5rem;
}

.right-list-items {
  display: flex;
}

.right-list-items__thumb {
  position: relative;
}

.right-list-thumb__rabel {
  align-items: center;
  justify-content: center;
  left: 0;
  top: revert-layer;
  width: 2rem;
  height: 9.7rem;
  font-size: 1.4rem;
  font-weight: bold;
  color: #fff;
  display: flex;
  text-align: center;
  z-index: 1;
  vertical-align: middle;
  position: absolute;
  background: #333;
}

.right-list-thumb__img {
  margin: 0 1rem 0 0;
  width: 9.7rem;
  height: 9.7rem;
  display: block;
  overflow: hidden;
  position: relative;
  background: #F2F2F2;
}

.right-list-thumb__img--rank {
  margin-left: 2rem;
}

.right-list-title {
  font-size: 1.4rem;
  margin: 0 0 0.4rem 0;
  font-weight: bold;
}

.right-list-text {
  color: #333;
  font-size: 1.4rem;
  margin: 0 0 0.4rem 0;
}

.right-list-release {
  font-size: 1.2rem;
  color: #666;
  display: block;
  margin: 0 0 0.8rem 0;
}

/* ============================================
    sp-hamburger-menu
 ============================================ */
.sp-menu-btn__open {
  margin: 0;
  animation: bugfix infinite 1s;
  -webkit-animation: bugfix infinite 1s;
}

@keyframes bugfix {
  from {
    padding: 0;
  }

  to {
    padding: 0;
  }
}

@-webkit-keyframes bugfix {
  from {
    padding: 0;
  }

  to {
    padding: 0;
  }
}

.overlay-button {
  position: absolute;
  left: 0em;
  top: 0.4em;
  padding: 2.6rem 1.1rem;
  z-index: 5;
  cursor: pointer;
  user-select: none;
}



.overlay-button span {
  height: 0.4rem;
  width: 3.5rem;
  border-radius: 0.2rem;
  background-color: white;
  position: relative;
  display: block;
  transition: all .2s ease-in-out;
}

.overlay-button span:before {
  top: -1rem;
}

.overlay-button span:after {
  top: 1rem;
}

.overlay-button span:before,
.overlay-button span:after {
  height: 0.4rem;
  width: 3.5rem;
  border-radius: 0.2rem;
  background-color: white;
  position: absolute;
  content: "";
  transition: all .2s ease-in-out;
}

.overlay-button:hover span,
.overlay-button:hover span:before,
.overlay-button:hover span:after {
  background: #fff;
}

#overlay-input {
  visibility: hidden;
  width: 0;
  height: 0;
  margin: 0;
}


#overlay-input:checked~.overlay-button {
  position: fixed;
  top: 0.6rem;
}

#overlay-input:checked~.overlay {
  visibility: visible;
}



#overlay-input:checked~.overlay-button:hover span,
#overlay-input:checked~.overlay-button span {
  background: transparent;
}

#overlay-input:checked~.overlay-button span:before {
  transform: rotate(45deg) translate(0.7rem, 0.7rem);
}

#overlay-input:checked~.overlay-button span:after {
  transform: rotate(-45deg) translate(0.7rem, -0.7rem);
}

.overlay {
  height: 100vh;
  width: 100vw;
  background: #fff;
  z-index: 2;
  visibility: hidden;
  position: fixed;
  left: 0;
  top: 0;
  overflow: scroll;
}

.overlay__header {
  background: #3C72CB;
  width: 100%;
  height: 6.8rem;
  position: fixed;
  z-index: 1;
  padding: 1.2rem 1.4rem;
  display: flex;
  align-items: center;
}


.overlay__logo {
  position: absolute;
  right: 0;
  left: 0;
  top: 2.6rem;
  margin: 0 auto;
}

.overlay__account {
  background: #507FD0;
  margin-top: 6.8rem;
  padding: 1.4rem;
}

.overlay__account--bottom-btn {
  margin-top: 0;
  background: #fff;
}

.overlay__heading {
  font-weight: bold;
  background: #3C72CB;
  text-align: center;
  padding: 1.4rem;
  color: #fff;
}

.account-header {
  display: flex;
  flex-wrap: wrap;
}

.account-header__btn {
  display: flex;
  background: #fff;
  font-weight: bold;
  text-align: center;
  border-radius: 0.6rem;
  padding: 1rem 0;
  font-size: 1.4rem;
  width: 100%;
  align-items: center;
  justify-content: center;
}

.account-header__btn--column2 {
  width: 48%;
}

.account-header__btn--sp-menu {
  border: solid 0.1rem #3C72CB;
}

/* ============================================
    main-content
 ============================================ */
.all-site-wrapper__main-content {
  width: 100rem;
  margin: 0 auto;
  float: right;
  padding-bottom: 8rem;
}

@media (max-width: 768px) {
  .all-site-wrapper__main-content {
    padding-bottom: 0;
  }
}

.all-site-wrapper__main-content--top {
  width: 81.2rem;
}

@media (max-width: 1024px) {
  .all-site-wrapper__main-content {
    width: 100%;
  }
}

.main-column {
  display: flex;
}

@media (max-width: 768px) {
  .main-column {
    flex-wrap: wrap;
    position: relative;
  }
}

.main-column--top {
  display: block;
}

@media (max-width: 768px) {
  .main-column--top {
    padding: 0 1.4rem;
  }
}

.main-column__left {
  width: 67rem;
  margin: 0 3rem 4rem 0;
}

@media (max-width: 768px) {
  .main-column__left {
    width: 100%;
    padding: 0 1.4rem;
    margin: 0;
  }
}

.middle-bnr {
  width: 69rem;
  clear: both;
  justify-content: space-between;
  margin: 0 0 2.5rem -2rem !important;
}

.middle-bnr .list-wrap-column-2__wrap {
  margin-bottom: 0 !important;
}

.middle-bnr__320x250 {
  text-align: center;
  min-height: 25rem;
}

@media (max-width: 768px) {
  .middle-bnr {
    width: 100%;
    margin: 0 0 2.5rem 0 !important;
  }
}

/* ============================================
    bottom-bnr
 ============================================ */
.bottom-bnr__320x250 {
  text-align: center;
  margin-bottom: 4rem;
  min-height: 25rem;
}

.bottom-bnr {
  width: 67rem;
  clear: both;
  justify-content: space-between;
}

.bottom-bnr--top {
  width: 81.2rem;
}

@media (max-width: 768px) {

  .bottom-bnr,
  .bottom-bnr--top {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .bottom-bnr__320x250 {
    margin-bottom: 2rem;
  }
}

.bottom-bnr__eiga-app {
  margin: 0 auto 4rem;
  display: flex;
  width: 56rem;
  justify-content: center;
  background: linear-gradient(to bottom right, #73bce7, #316ac8);
  padding: 0.5rem 0;
}

@media (max-width: 768px) {
  .bottom-bnr__eiga-app {
    width: 100%;
    margin-bottom: 2rem;
  }

  .bottom-bnr__eiga-app--sp-menu {
    margin-top: 2rem;
  }
}

/* ============================================
    footer
 ============================================ */
.all-site-footer {
  width: 100%;
  clear: both;
  background: #F2F2F2;
}
footer.all-site-footer {
  margin-bottom: 12rem;
}

.all-site-footer__contents-wrap {
  width: 100rem;
  margin: 0 auto;
  padding: 4rem 0;
}

@media (max-width: 1024px) {
  .all-site-footer__contents-wrap {
    width: 100%;
    padding: 2rem 1.4rem;
  }
}

.footer-list__production {
  font-size: 1.2rem;
  color: #939393;
  margin-bottom: 4rem;
}

.production-items {
  display: inline;
}

.footer-list__sns-share {
  display: flex;
  justify-content: center;
  margin-bottom: 4rem;
}

@media (max-width: 768px) {
  .footer-list__sns-share--sp-menu {
    margin-bottom: 0;
  }
}

.foot-sns-share-items {
  display: flex;
  align-items: center;
  margin-right: 3rem;
}

.foot-sns-share-items:last-of-type {
  margin-right: 0;
}

.foot-sns-share-items__anchor {
  display: block;
  width: 5rem;
}

@media (max-width: 768px) {
  .foot-sns-share-items__anchor {
    width: 3rem;
  }
}

.foot-sns-share__icon {
  width: 100%;
  height: auto;
}

.footer-list__site-link {
  display: flex;
  justify-content: center;
  font-size: 1.4rem;
  margin-bottom: 4rem;
  flex-wrap: wrap;
}

.foot-site-link-items {
  padding: 0 1rem;
  border-right: 0.1rem solid #3C72CB;
  height: 1.4rem;
  line-height: 1em;
}

.foot-site-link-items__anchor {
  display: block;
  margin-bottom: 1.5rem;
}

@media (max-width: 768px) {
  .foot-site-link-items__anchor {
    margin-bottom: 2rem;
  }
}

.copyright {
  text-align: center;
  font-size: 1.4rem;
  color: #636363;
}

@media (max-width: 768px) {
  .copyright {
    font-size: 1.2rem;
  }
}

/* ============================================
    breadcrumb
 ============================================ */
.breadcrumb {
  font-size: 1.2rem;
  padding: 0.1rem 0 0.4rem;
  line-height: 1.6;
}

@media (max-width: 768px) {
  .breadcrumb {
    visibility: hidden;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
}

.breadcrumb .breadcrumb__link,
.breadcrumb .breadcrumb__current {
  font-weight: normal;
  padding: 0.4rem 0.8rem;
}

.breadcrumb__link:first-child {
  padding: 0.4rem 0.8rem 0.4rem 0;
}

.breadcrumb__link:link,
.breadcrumb__link:visited {
  color: #3C72CB;
  text-decoration: none;
}

.breadcrumb__link,
.breadcrumb__link:hover,
.breadcrumb__link:active,
.breadcrumb__link:focus {
  color: #f33;
  text-decoration: none;
}

/* ============================================
    link-btn
 ============================================ */
.link-btn {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.link-btn--1column {
  justify-content: center;
}

.link-btn__column {
  display: block;
  background: #fff;
  border: 0.1rem solid #3C72CB;
  color: #3C72CB;
  text-align: center;
  text-decoration: none;
  border-radius: 0.3rem;
  font-weight: bold;
  font-size: 1.5rem;
  padding: 1.2rem 1rem;
  box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.2), 0 0.1rem 0.4rem 0 rgba(0, 0, 0, 0.1);
  cursor: pointer;
}

.link-btn__column--primary {
  color: #fff;
  background: #3C72CB;
  border: none;
}

.link-btn__column--primary {
  color: #fff;
  background: #3C72CB;
}

.link-btn__column--secondary {
  color: #fff;
  background: #FD9C00;
  border: none;
}

.link-btn__column--red {
  color: #fff;
  background: #EE4056;
  border: none;
}

.link-btn__column--inactive {
  color: #fff;
  background: #d9d9d9;
  border: none;
  box-shadow: none;
  pointer-events: none;
}

.link-btn__column--small {
  padding: 0.8rem 0.4rem;
  font-size: 1.2rem !important;
}

@media (max-width: 768px) {
  .link-btn__column--small {
    width: 48% !important;
    padding: 0.6rem 0.2rem !important;
    font-size: 1.2rem !important;
    min-width: 10rem;
  }
}

.link-btn__column--very-small {
  padding: 0.2rem 0.4rem;
  font-size: 1.2rem !important;
}

.link-btn__column--u-next {
  color: #fff;
  background: #00a8e1;
  border: none;
}

.link-btn__column--secondary:hover {
  filter: brightness(120%);
  color: #fff;
}

.link-btn__column--1column {
  width: 80%;
}

@media (max-width: 768px) {
  .link-btn__column--1column {
    font-size: 1.4rem;
    width: 100%;
  }
}

.link-btn__column--100per {
  width: 100%;
}

.link-btn__column--2column {
  width: 49%;
  margin: 0 2% 2% 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 768px) {
  .link-btn__column--2column--sp-1column {
    width: 100%;
    margin-right: 0;
  }
}

.link-btn__column--2column:nth-child(2n) {
  margin-right: 0;
}

.link-btn__column--3column {
  width: 32%;
  margin: 0 2% 2% 0;
}

@media (max-width: 768px) {
  .link-btn__column--3column {
    border-radius: 0.3rem;
    font-size: 1.2rem;
    padding: 1.2rem 0;
  }
}

.link-btn__column--4column {
  width: 23.5%;
  margin: 0 2% 2% 0;
}

.link-btn__column--3column:nth-child(3n) {
  margin-right: 0;
}

.link-btn__column--4column:nth-child(4n) {
  margin-right: 0;
}

@media (max-width: 768px) {
  .link-btn__column--3column--sp-2column {
    width: 49%;
  }

  .link-btn__column--3column--sp-2column:nth-child(2n) {
    margin-right: 0;
  }

  .link-btn__column--3column--sp-2column:nth-child(3n) {
    margin-right: auto;
  }
}

.link-btn-discription {
  font-size: 1.2rem;
  display: block;
  font-weight: normal;
  width: 100%;
}

.link-btn-image-hover__default-img {
  visibility: visible;
  height: 1.6rem;
  width: 8.4rem;
  margin: 0;
  padding: 0;
}

.link-btn-image-hover__hover-img {
  visibility: hidden;
  height: 0;
  width: 0;
  margin: 0;
  padding: 0;
}

.link-btn-image-hover:hover .link-btn-image-hover__default-img {
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.link-btn-image-hover:hover .link-btn-image-hover__hover-img {
  visibility: visible;
  height: 1.6rem;
  width: 8.4rem;
  margin: 0;
  padding: 0;
}

.link-btn__arrow {
  position: relative;
  text-align: left;
  padding: 1.2rem 2rem 1.2rem 1rem;
}

.link-btn__arrow--access {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.link-btn__arrow:after {
  content: "";
  width: 1rem;
  height: 1rem;
  border-top: solid 0.2rem #5070e3;
  border-right: solid 0.2rem #5070e3;
  position: absolute;
  top: 40%;
  transform: rotate(45deg);
  right: 1rem;
}

.link-btn__academy-feature-btn {
  display: block;
  background: linear-gradient(#d7b568, #ba9c5a);
  border: solid 0.1rem #ba9c5a;
  color: #fff;
  text-align: center;
  border-radius: 0.3rem;
  font-weight: bold;
  padding: 1.2rem 1rem;
  box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.2), 0 0.1rem 0.4rem 0 rgba(0, 0, 0, 0.1);
}

.link-btn__academy-feature-btn:hover,
.link-btn__tiff-feature-btn:hover {
  color: #fff;
}

.link-btn__academy-feature-btn:hover {
  filter: brightness(105%);
}

.link-btn__academy-feature-btn span {
  text-shadow: 0.1rem 0.1rem 0.2rem #ba9c5a;
}

@media (max-width: 768px) {
  .link-btn__academy-feature-btn span,
  .link-btn__tiff-feature-btn span {
    overflow-wrap: normal;
  }
}

.link-btn__tiff-feature-btn {
  display: block;
  background: linear-gradient(#de3333, #ae2828);
  border: solid 0.1rem #ae2828;
  color: #fff;
  text-align: center;
  border-radius: 0.3rem;
  font-weight: bold;
  padding: 1.2rem 1rem;
  box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.2), 0 0.1rem 0.4rem 0 rgba(0, 0, 0, 0.1);
}

.link-btn__tiff-feature-btn:hover {
  filter: brightness(110%);
}

.link-btn__tiff-feature-btn span {
  text-shadow: 0.1rem 0.1rem 0.2rem #ae2828;
}

.link-btn-pr {
  position: relative;
}

.link-btn-pr__icon {
  position: absolute;
  top: 0.4rem;
  right: 0.4rem;
  font-size: 0.7rem;
  color: #fff;
  border: solid 0.1rem #fff;
  border-radius: 0.2rem;
  padding: 0 0.2rem;
  line-height: 1.2;
  font-weight: bold;
  opacity: 50%;
}

@media (max-width: 768px) {
  .link-btn-pr__icon {
    top: 0.2rem;
    right: 0.2rem;
    font-size: 0.6rem;
    font-weight: bold;
  }
}

/* ============================================
    check-in-btn
 ============================================ */
.check-in-btn {
  position: relative;
}

.check-in-btn__on-image {
  position: absolute;
  z-index: 10;
  left: 0.6rem;
  top: 0.6rem;
}

.icon-movie-checkin {
  display: block;
  position: relative;
  padding: 0 1.85rem 0;
  width: 3.6rem;
  height: 3.6rem;
  cursor: pointer;
  z-index: 1;
}

@media (max-width: 768px) {
  .icon-movie-checkin {
    width: 3rem;
    height: 3rem;
    padding: 0;
  }
}

.icon-movie-checkin:after,
.icon-movie-checkin:before {
  font-weight: normal;
  color: #fff;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  transition-duration: 0.3s;
}

.icon-movie-checkin:after {
  font-family: "icon";
  font-size: 2.7rem;
  content: "\e907";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  line-height: 0.9;
}

@media (max-width: 768px) {
  .icon-movie-checkin:after {
    font-size: 2.2rem;
    width: 2.2rem;
    height: 2.2rem;
    line-height: 1;
  }
}

.icon-movie-checkin:before {
  content: "";
  width: 3.6rem;
  height: 3.6rem;
  top: 0;
  left: 0;
  border-radius: 50%;
  background: #D9D9D9;
}

@media (max-width: 768px) {
  .icon-movie-checkin:before {
    width: 3rem;
    height: 3rem;
  }
}

.icon-movie-checkin--on-image:before {
  border: solid 0.1rem #fff;
  box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.2), 0 0.1rem 0.4rem 0 rgba(0, 0, 0, 0.1);
}

.checkin-btn--active:before {
  background: #FD9C00;
}

.checkin-btn--active + .link-contents-text {
  color: #FD9C00;
}

.checkin-btn-count {
  display: flex;
  justify-content: center;
}

@media (max-width: 768px) {
  .checkin-btn-count {
    margin: 0.6rem 0 0 0.6rem;
  }
}

.checkin-btn-count__number {
  display: block;
  color: #333;
  font-weight: normal;
  font-size: 1.4rem;
  margin-top: 3.8rem;
}

@media (max-width: 768px) {
  .checkin-btn-count__number {
    margin-top: 3rem;
  }
}

.icon-movie-checkin+a {
  display: block;
}

.checkin-position {
  position: relative;
}

.checkin-position__upper-left {
  position: absolute;
  z-index: 10;
  top: 0.6rem;
  left: 0.6rem;
}

.checkin-position__upper-right {
  position: absolute;
  z-index: 10;
  top: 0.6rem;
  right: 0.6rem;
}

/* ============================================
    share-btn
 ============================================ */
.icon-movie-share {
  width: 3.6rem;
  height: 3.6rem;
  cursor: pointer;
}

@media (max-width: 768px) {
  .icon-movie-share {
    width: 3rem;
    height: 3rem;
  }
}

.icon-movie-share:before {
  font-size: 3.6rem !important;
  color: #636363;
  margin: 0 !important;
}

@media (max-width: 768px) {
  .icon-movie-share:before {
    font-size: 3rem !important;
  }
}

/* ============================================
    viewed-btn
 ============================================ */
.viewed-btn:before {
  font-size: 3.4rem !important;
  color: #D9D9D9;
  width: 3.6rem;
  height: 3.6rem;
  margin: 0 !important;
  text-align: center;
}

.viewed-btn--active:before,
.viewed-btn--active + .link-contents-text {
  color: #FD9C00;
}

.viewed-btn + .link-contents-text:before {
  content: "未鑑賞";
}

.viewed-btn.viewed-btn--active + .link-contents-text:before {
  content: "鑑賞済";
}

@media (max-width: 768px) {
  .viewed-btn:before {
    width: 3rem;
    height: 3rem;
    font-size: 2.8rem !important;
    padding-top: 0.2rem;
  }
}

/* ============================================
    review-star-btn
 ============================================ */
/*review-star btn*/
.review-star-btn:before {
  font-size: 3.6rem !important;
  color: #D9D9D9;
  width: 3.6rem;
  height: 3.6rem;
  margin: 0 !important;
  position: relative;
  bottom: 0.2rem;
}

@media (max-width: 768px) {
  .review-star-btn:before {
    width: 3rem;
    height: 3rem;
    font-size: 3.3rem !important;
    right: 0.2rem;
  }
}

.review-star-btn--active {
  font-size: 2rem;
  font-weight: bold;
  position: relative;
  top: 0.5rem;
}

.review-star-btn--active:before {
  bottom: 0.6rem;
}

.review-star-btn--active:before,
.review-star-btn--active,
.review-star-btn--active + .link-contents-text {
  color: #FD9C00;
}

@media (max-width: 768px) {
  .review-star-btn--active {
    font-size: 1.8rem;
    left: 0.3rem;
  }

  .review-star-btn--active:before {
    right: 0.5rem;
    bottom: 0.6rem;
  }
}

.review-star-btn + .link-contents-text:before {
  content: "レビュー";
}

.review-star-btn.review-star-btn--active + .link-contents-text:before {
  content: "未レビュー";
}

.review-star-btn.review-star-btn--active.has-review-body + .link-contents-text:before {
  content: "レビュー済";
}


/* ============================================
    write-btn
 ============================================ */
.write-btn:before {
  font-size: 3rem !important;
  color: #D9D9D9;
  width: 3.6rem;
  height: 3.6rem;
  margin: 0 !important;
}

.write-btn--active:before {
  color: #FD9C00;
}

@media (max-width: 768px) {
  .write-btn:before {
    width: 3rem;
    height: 3rem;
    font-size: 2.5rem !important;
  }
}

/* ============================================
    pagination
 ============================================ */
.pagination {
  text-align: center;
  padding: 0 0 2.4rem;
}

/*prev-next-btn*/
.prev-next-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 1rem;
}

.prev-next-wrap__btn,
.pagination__archive-btn {
  background: #fff;
  border: 0.1rem solid #3C72CB;
  box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.2), 0 0.1rem 0.4rem 0 rgba(0, 0, 0, 0.1);
  min-width: 12rem;
  letter-spacing: 0;
  padding: 1.2rem 1rem;
  border-radius: 0.3rem;
  margin-right: 1rem;
  display: flex;
  width: 33rem;
  align-items: center;
  justify-content: center;
}

@media (max-width: 768px) {

  .prev-next-wrap__btn,
  .pagination__archive-btn {
    display: flex;
    align-items: center;
    font-size: 1.4rem;
    min-width: 10rem;
    padding: 0.6rem;
    justify-content: center;
  }

  .prev-next-wrap__btn {
    width: 50%;
  }

  .pagination__archive-btn {
    width: 100%;
  }
}

.prev-next-wrap__btn:before,
.prev-next-wrap__btn:after {
  margin-top: 0 !important;
}

.prev-next-wrap__btn:last-of-type,
.pagination__archive-brn:last-of-type {
  margin-right: 0;
}

.pagination__archive-btn {
  margin: 0 auto;
  padding: 1.2rem 1rem;
}

.prev-next-title {
  display: block;
  font-size: 1.2rem;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  width: 26rem;
  padding: 0 1rem;
}

@media (max-width: 768px) {

  .prev-next-title {
    visibility: hidden;
    height: 0;
    width: 0;
  }
}

/* ============================================
pagination(BOX-type)
============================================ */
.pagination__page-count {
  margin: 0 auto;
  margin-bottom: 1rem;
}

.pagination__page-select-wrap {
  display: flex;
  position: relative;
}

.pagination__page-select-wrap .icon.previous:before,
.pagination__page-select-wrap .icon-after.next:after {
  top: 0.1rem;
  position: relative;
}

@media (max-width: 768px) {
  .pagination__page-select-wrap {
    width: 100%;
  }
}

.pagination__page-select-btn {
  border: 0.1rem solid #3C72CB;
  border-radius: 0.3rem;
  padding: 1.2rem;
  cursor: pointer;
  color: #3C72CB;
  width: 25rem;
  text-align-last: center;
  margin-right: 1rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-repeat: no-repeat;
  background-size: 2rem auto;
  background-position: right 1.2rem center;
  background-color: #fff;
  box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.2), 0 0.1rem 0.4rem 0 rgba(0, 0, 0, 0.1);
}

@media (max-width: 768px) {
  .pagination__page-select-btn {
    margin-right: 0.5rem;
    height: 4.7rem;
    width: 100%;
  }
}

.pagination__page-select-icon {
  position: absolute;
  color: #3b72cb;
  cursor: pointer;
  top: 1.4rem;
  right: 1.5rem;
  pointer-events: none;
}

@media (max-width: 768px) {
  .pagination__page-select-icon {
    right: 1rem;
  }
}

.pagination__page-select-cursor {
  border: 0.1rem solid #3C72CB;
  border-radius: 0.3rem;
  padding: 1.2rem;
  cursor: pointer;
  width: 10rem;
  box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.2), 0 0.1rem 0.4rem 0 rgba(0, 0, 0, 0.1);
  margin-right: 1rem;
}

@media (max-width: 768px) {

  .pagination__page-select,
  .pagination__page-select-cursor {
    height: 4.7rem;
  }

  .pagination__page-select-cursor {
    width: 15%;
    margin-right: 0.5rem;
  }
}

.pagination__page-select-cursor:hover .icon.w-cursor-width:before,
.pagination__page-select-cursor:hover .icon.next.icon-after:after,
.pagination__page-select-cursor:hover .icon.previous:before,
.pagination__page-select-cursor:hover .icon.w-cursor-width-previous:before,
.pagination__page-select-wrap:hover>.icon.w-cursor-length.pagination__page-select-icon:before {
  color: #FD9C00;
}

/* .pagination__page-select-cursor {
  margin-right: 1rem;
} */

.pagination__page-select-cursor:last-of-type {
  margin-right: 0;
}

/* @media (max-width: 768px) {
  .pagination__page-select-cursor {
    margin-right: 0.5rem;
  }
} */

.pagination__page-select-cursor--off {
  border-color: #d9d9d9;
  cursor: not-allowed;
  pointer-events: none;
  box-shadow: none;
  color: #d9d9d9;
}

.pagination__page-select-cursor--off .icon:before,
.pagination__page-select-cursor--off .icon:after {
  color: #d9d9d9;
  cursor: not-allowed;
}

/* ============================================
    tag
 ============================================ */
.list-tag {
  display: flex;
  flex-wrap: wrap;
}

.list-tag--with-buttons {
  width: calc(100% - 8.2rem);
}
@media (max-width: 768px) {
  .list-tag--with-buttons {
    width: calc(100% - 7rem);
  }
}

.block-items__list-tag.link-disabled {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  color: #3C72CB;
  padding-bottom: 0;
  /* font-size: 0; */
  height: 2.4rem;
}

.block-items__list-tag.link-disabled .list-tag__items {
  margin-right: 0.5rem;
}

.list-tag__items,
.list-tag-name__items,
.list-tag__items--disabled {
  border: solid 0.1rem;
  border-radius: 0.6rem;
  padding: 0.1rem 1rem;
  margin: 0 1rem 0.8rem 0;
  font-size: 1.2rem;
  display: inline-block;
  font-weight: normal;
  position: relative;
}

.list-tag__items,
.list-tag-name__items {
  cursor: pointer;
}

.list-tag__items {
  border-color: #3C72CB;
}

.list-tag-name__items {
  border-color: #EE4056;
  color: #EE4056;
  max-width: 15.3rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.list-tag__items--disabled {
  color: #666;
}

.list-tag__items--square {
  border-radius: 0;
  border: none;
  color: #fff;
}

.list-tag__items--square:hover,
.list-tag__items.list-tag__items--square:hover {
  border-radius: 0;
  border: none;
  cursor: auto;
}

/* ============================================
    sub-btn
 ============================================ */
.sub-btn {
  display: flex;
  justify-content: flex-end;
  height: 3.7rem;
  align-items: end;
}

/* ============================================
    powered
 ============================================ */
/* powered-bottom-link */
.powered {
  display: flex;
  flex-wrap: wrap;
}

.powered--margin-x {
  margin: 1.6rem 0;
}

.powered--margin-bottom {
  margin: 0 0 1.6rem;
}

.powered__heading {
  color: #333;
  width: 100%;
  font-size: 2.2rem;
}

.powered__link {
  margin-left: auto;
  font-size: 1.1rem;
  color: #999;
  font-weight: bold;
}

.powered-logo--unext {
  width: 18rem;
}

@media (max-width: 768px) {
  .powered-logo--unext {
    width: 16rem !important;
  }
}

.powered-logo--amazon {
  width: 17.4rem;
  display: inline;
}

.powered-logo--kakaku {
  width: 9rem;
  display: inline;
  margin-left: 0.6rem;
}

/* powered-bnr */
.powered-bnr {
  display: block;
  position: relative;
  border: solid 0.5rem #f33;
  border-radius: 4rem;
  padding: 1.5rem 2rem;
  color: #fff;
  font-weight: bold;
  margin-bottom: 1.5rem;
  background-color: #002b60;
}

.powered-bnr:hover,
.powered-bnr:focus {
  color: #fff;
}

.powered-bnr__img {
  position: absolute;
  width: 15%;
  right: 2rem;
  top: 1.8rem;
}

.powered-bnr__img-left {
  left: 2rem;
  top: 2rem;
}

@media (max-width: 768px) {
  .powered-bnr__img--disney {
    max-width: 8rem;
    top: 22% !important;
  }
}

.powered-bnr__txt {
  text-align: center;
}

@media (max-width: 768px) {
  .powered-bnr__txt {
    font-size: 1.2rem;
  }
}

.powered-bnr-title {
  overflow: hidden;
  display: inline-block;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 68%;
  vertical-align: middle;
}

.powered-bnr-title--90per {
  max-width: 90%;
}

.powered-bnr--disney-plus {
  border-radius: 0.6rem;
  border: none;
  -webkit-box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.2), 0 0.1rem 0.4rem 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.2), 0 0.1rem 0.4rem 0 rgba(0, 0, 0, 0.1);
  background: #281F3E;
  padding: 2.7rem 2rem 2.7rem 14rem;
  margin-bottom: 0.6rem;
}

@media (max-width: 768px) {
  .powered-bnr--disney-plus {
    padding: 1.5rem 1.5rem 1.5rem 7rem;
  }
}

.powered-copyright {
  text-align: right;
  font-size: 1.1rem;
  color: #505050;
}

.powered-pr {
  position: absolute;
  font-size: 1rem;
  font-weight: normal;
  right: 0.5rem;
  top: 0.5rem;
  border: solid 0.1rem #fff;
  border-radius: 0.2rem;
  padding: 0 0.3rem;
  opacity: 50%;
}

/* powered-list */
.powered-list__wrap {
  display: flex;
}

@media (max-width: 768px) {
  .powered-list__wrap {
    display: flex;
    flex-wrap: wrap;
  }
}

.powered-list-items {
  width: 25%;
  padding: 0 1.5rem;
}

@media (max-width: 768px) {
  .powered-list-items {
    width: 100%;
    padding: 0;
    margin: 0 0 2rem;
  }
}

@media (max-width: 768px) {
  .powered-list-items__link-wrap {
    display: flex;
  }
}

.powered-link-wrap__img-wrap {
  display: block;
  overflow: hidden;
  position: relative;
  background: #f2f2f2;
  margin: 0 auto 0.8rem;
}

@media (max-width: 768px) {
  .powered-link-wrap__img-wrap {
    margin: 0 01rem 0 0;
  }
}

.powered-link-wrap__img-wrap--140 {
  width: 14rem;
  height: 14rem;
}

@media (max-width: 768px) {
  .powered-link-wrap__img-wrap--140 {
    width: 7.2rem;
    height: 7.2rem;
    min-width: 7.2rem;
  }
}

.powered-img__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.powered-text__title {
  font-size: 1.5rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.powered-text__release {
  font-size: 1.2rem;
  display: block;
  margin: 0.4rem 0 0.2rem;
  color: #808080;
}

.powered-text__price {
  color: #f00;
}

.price-strike-through {
  color: #888;
  text-decoration: line-through;
}

/* pop-in */
._popIn_recommend_header {
  margin-bottom: 0.6rem !important;
  padding: 0 !important;
  font-size: 2rem !important;
  background: none !important;
  color: #333 !important;
  text-align: left !important;
  font-weight: bold;
}

.popin_recommend_footer {
  width: 100%;
  display: flex;
  margin: 0;
  padding: 0;
  background: transparent;
  justify-content: flex-end;
  position: relative;
}

.popin_recommend_footer__credit {
  display: inline-block;
  position: relative;
  font-size: 1rem;
  text-decoration: none;
  color: #333;
  cursor: text;
  opacity: 0.6;
}

.popin_recommend-image {
  display: inline-block;
  width: 4rem;
  height: 1rem;
  margin: 0.2rem 0 0 0.3rem;
  background-image: url(https://api.popin.cc/images/logo.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 4rem 2rem;
  vertical-align: text-top;
}

/* ============================================
    accordion-contents
 ============================================ */
.accordion-toggle {
  margin: 0;
  width: 0;
  height: 0;
  padding: 0;
  position: absolute;
  visibility: hidden;
}

.accordion-toggle.checked+.accordion-title {
  margin: 0;
  width: 0;
  height: 0;
  padding: 0;
  position: absolute;
  visibility: hidden;
}

.accordion-title {
  padding: 1rem;
  display: block;
  cursor: pointer;
  color: #3C72CB;
  text-align: center;
  font-weight: bold;
  font-size: 1.2rem;
  border: solid 0.1rem #3C72CB;
  border-radius: 0.3rem;
}

.article-wrap__accordion-toggle {
  margin-bottom: 2rem;
  position: relative;
}

.article-wrap__accordion-toggle:before {
  position: absolute;
  content: "";
  display: block;
  width: calc(100% + 2.8rem);
  height: 14rem;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1.0) 80%);
  margin: -14rem auto 0 -1.4rem;
  right: 0;
  left: 0;
  top: -0.1rem;
}

@media (min-width: 768px) {
  .accordion-title {
    display: none;
  }
}

.accordion-wrap {
  display: none;
}

.accordion-toggle.checked+.accordion-title+.accordion-wrap {
  display: block;
}

@media (min-width: 768px) {
  .accordion-wrap {
    display: block;
  }
}

/* text-black */
.accordion-txt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: unset;
}

@media (max-width: 768px) {
  .accordion-txt {
    -webkit-line-clamp: 6;
    position: relative;
  }

  .accordion-txt:before {
    position: absolute;
    content: "";
    display: block;
    width: calc(100% + 2.8rem);
    height: 14rem;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 1.0) 80%);
    margin: -14rem auto 0 -1.4rem;
    right: 0;
    left: 0;
    top: 13.4rem;
  }

  .accordion-txt.expanded:before {
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    position: absolute;
    visibility: hidden;
  }
}

.accordion-txt--expanded {
  -webkit-line-clamp: unset;
  overflow: visible;
}
.accordion-txt--expanded:before {
  all: unset;
}
.accordion-txt--expanded + .show-all {
  display: none;
}

.show-all {
  visibility: hidden;
  padding: 0;
  display: block;
  cursor: pointer;
  color: #3C72CB;
  text-align: center;
  font-weight: bold;
  font-size: 1.2rem;
  border: solid 0.1rem #3C72CB;
  border-radius: 0.3rem;
  height: 0;
}

@media screen and (max-width: 768px) {
  .show-all {
    display: block;
    visibility: visible;
    height: auto;
    padding: 1rem;
  }
}

/* ============================================
    accordion-list
 ============================================ */
.overlay__accordion {
  background: #fff;
}

.accordion-header {
  position: relative;
  list-style: none;
  cursor: pointer;
}

.accordion-header::-webkit-details-marker {
  display: none;
}

.accordion-header__btn {
  font-size: 1.6rem;
  color: #333;
  line-height: 1.2;
  padding: 1.4rem;
  border-bottom: solid 0.1rem #D9D9D9;
  position: relative;
  display: block;
}

.accordion-header__btn--disabled {
  color: #d9d9d9;
  cursor: default;
}

.accordion-header__btn--disabled:after {
  border-color: #d9d9d9 !important;
}

.accordion-header__btn:before {
  font-size: 2.6rem !important;
  color: #636363;
  margin-right: 1.4rem !important;
}

.accordion-header__btn:after {
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  border-top: solid 0.2rem #333;
  border-right: solid 0.2rem #333;
  position: absolute;
  right: 1.4rem;
  top: 1.4rem;
  transform: rotate(135deg);
}

.accordion--disabled {
  pointer-events: none;
}


details[ open] .accordion-header__btn:after {
  transform: rotate(-45deg);
  top: 1.8rem;
}

.accordion-content {
  animation: fadeIn 0.5s ease;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(-1rem);
  }

  100% {
    opacity: 1;
    transform: none;
  }
}

.accordion-content__list {
  display: flex;
  flex-wrap: wrap;
}

.accordion-content__list--btn-list {
  gap: 1.8rem 0.8rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 2rem 0;
}

@media (max-width: 768px) {
  .accordion-content__list--btn-list {
    gap: 1.8rem 0.8rem;
    grid-template-columns: repeat(2, 1fr);
    padding: 0 1.4rem;
  }
}

.accordion-list-items {
  width: 50%;
  border: solid #D9D9D9;
  border-width: 0 0.1rem 0.1rem 0;
  display: flex;
}

.accordion-list-items:nth-child(2n) {
  border-right: none;
}

@media (min-width: 768px) {
  .accordion-list-items--25-50 {
    width: 25%;
  }
}

.accordion-list-items--25-50:nth-child(2n) {
  border-right: solid 0.1rem #d9d9d9;
}

.accordion-list-items--25-50:nth-child(4n) {
  border-right: none;
}

@media (max-width: 768px) {
  .accordion-list-items--25-50:nth-child(2n) {
    border-right: none;
  }
}

.accordion-list-items--btn-list {
  width: 100%;
  border: none;
}

.accordion-list-items__anchor {
  padding: 1.2rem 1.4rem;
  font-size: 1.4rem;
  color: #333;
  flex-grow: 1;
  background: #f2f2f2;
  display: flex;
  align-items: center;
}

.accordion-list-items__anchor--disabled {
  color: #d9d9d9;
}

.accordion-list-items__anchor--round-btn {
  padding: 0.8rem 1.4rem;
  background: #fff;
  border: solid 0.1rem #3c72cb;
  border-radius: 5rem;
  color: #3c72cb;
  justify-content: center;
}

.accordion-list-items__anchor--round-btn.accordion-list-items__anchor--disabled {
  color: #d9d9d9;
  border: solid 0.1rem #d9d9d9;
}

/* ============================================
    arrow-parts
 ============================================ */
.arrow-down {
  position: relative;
}

.arrow-down:after {
  content: "";
  width: 1rem;
  height: 1rem;
  border: 0;
  border-color: #fff #fff #0868ba;
  border-right: 0.2rem solid #0868ba;
  border-top: 0.2rem solid #0868ba;
  transform: rotate(90deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(45deg);
  position: absolute;
  top: 13%;
  right: -30%;
  transition: 0.3s;
}

/* ============================================
    line
 ============================================ */
.contents-line {
  width: 100%;
  height: 0.05rem;
  border: 0;
  background-color: #939393;
  margin: 4rem 0;
}

/* ============================================
    movie-link-menu
 ============================================ */
.movie-link-wrap__img {
  margin-right: 2rem;
  float: left;
}

@media (max-width: 768px) {
  .movie-link-wrap__img {
    margin: 0 3% 4rem 0;
    width: 21%;
    position: relative;
  }


  .movie-link-wrap__img--atb:after {
    display: block;
    overflow: hidden;
    position: absolute;
    content: "";
    background: url(../../images/alltimebest/alltimebest_logo.png) no-repeat;
    background-size: 100% auto;
    background-position: 0 0;
    width: 6.9rem;
    height: 2.4rem;
    bottom: -3rem;
    left: 0;
    right: 0;
    margin: 0 auto;
  }


}

@media (max-width: 768px) {
  .movie-link-img {
    width: 100%;
  }
}

.movie-link-wrap__data {
  width: 49.8rem;
  float: left;
}

@media (max-width: 768px) {
  .movie-link-wrap__data {
    width: 76%;
  }
}

.movie-link-data {
  position: relative;
}


.movie-link-data__title {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

@media (max-width: 768px) {
  .movie-link-data__title {
    font-size: 1.8rem;
  }
}

.movie-link-data__title--atb {
  width: 35rem;
}

@media (max-width: 768px) {
  .movie-link-data__title--atb {
    width: auto;
  }
}


.movie-link-data__atb {
  position: absolute;
  right: 0;
  top: 0;
}

@media (max-width: 768px) {
  .movie-link-data__atb {
    visibility: hidden;
  }
}

.movie-link-atb {
  visibility: hidden;
  height: 0;
  width: 0;
  display: block;
}

@media (max-width: 768px) {
  .movie-link-atb {
    visibility: visible;
    width: auto;
    height: auto;
    display: block;
    text-align: center;
    margin-top: 0.6rem;
  }

  .movie-link-atb__logo {
    display: inline;
  }

}



.description-items {
  font-size: 1.4rem;
}

.description-items__title {
  font-weight: bold;
}

.movie-link-contents {
  display: flex;
  align-items: center;
  width: 49.8rem;
}

@media (max-width: 768px) {
  .movie-link-contents {
    width: 100%;
  }
}


.movie-link-contents__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  border-right: 0.1rem solid #d9d9d9;
  width: 9rem;
  cursor: pointer;
}


@media (max-width: 768px) {
  .movie-link-contents__items {
    width: 8rem;
  }
}

/* .movie-link-contents__items:last-of-type {
  border-right: none;
} */

.link-contents-text {
  width: 100%;
  text-align: center;
  font-size: 1.4rem;
  white-space: nowrap;
}

@media (max-width: 768px) {
  .link-contents-text {
    font-size: 1.2rem;
  }
}

.movie-link-contents__btn {
  display: block;
  background: #3C72CB;
  color: #fff;
  text-align: center;
  text-decoration: none;
  border-radius: 0.3rem;
  font-weight: bold;
  font-size: 1.5rem;
  padding: 1.8rem 0;
  width: 21rem;
  margin-left: auto;
}

@media (max-width: 768px) {
  .movie-link-contents__btn {
    font-size: 1.2rem;
    padding: 1.6rem 0;
    width: 16rem;
  }
}

/* ============================================
    rating-star
 ============================================ */
.rating-star {
  position: relative;
  font-weight: bold;
  padding: 0 0.8rem 0 10rem;
  display: inline-block;
  font-size: 1.6rem;
  color: #707070;
}

.rating-star:before {
  content: "";
  display: block;
  overflow: hidden;
  position: absolute;
  width: 9.6rem;
  height: 1.7rem;
  top: 0.4rem;
  left: 0;
  background: url(../images/rating_star.svg) no-repeat;
  background-size: 100% auto;
  background-position: 0 -22rem;
}

.rating-star.val50:before {
  background-position: 0 0;
}

.rating-star.val45:before {
  background-position: 0 -2.0rem;
}

.rating-star.val40:before {
  background-position: 0 -4.0rem;
}

.rating-star.val35:before {
  background-position: 0 -5.9rem;
}

.rating-star.val30:before {
  background-position: 0 -7.9rem;
}

.rating-star.val25:before {
  background-position: 0 -9.8rem;
}

.rating-star.val20:before {
  background-position: 0 -11.8rem;
}

.rating-star.val15:before {
  background-position: 0 -13.7rem;
}

.rating-star.val10:before {
  background-position: 0 -15.7rem;
}

.rating-star.val05:before {
  background-position: 0 -17.6rem;
}

.rating-star.val00:before {
  background-position: 0 -19.6rem;
}

.rating-star.small {
  padding: 0 0.4rem 0 6.8rem;
  font-size: 1.4rem;
  display: inline-block;
  text-align: center;
  width: 9.6rem;
  line-height: 1.7;
}

.rating-star.small:before {
  width: 6.5rem;
  height: 1.3rem;
  top: 0.4rem;
  left: 0;
}

.rating-star.small.val50:before {
  background-position: 0 0;
}

.rating-star.small.val45:before {
  background-position: 0 -1.3rem;
}

.rating-star.small.val40:before {
  background-position: 0 -2.6rem;
}

.rating-star.small.val35:before {
  background-position: 0 -3.9rem;
}

.rating-star.small.val30:before {
  background-position: 0 -5.2rem;
}

.rating-star.small.val25:before {
  background-position: 0 -6.5rem;
}

.rating-star.small.val20:before {
  background-position: 0 -7.9rem;
}

.rating-star.small.val15:before {
  background-position: 0 -9.2rem;
}

.rating-star.small.val10:before {
  background-position: 0 -10.5rem;
}

.rating-star.small.val05:before {
  background-position: 0 -11.8rem;
}

.rating-star.small.val00:before {
  background-position: 0 -13.1rem;
}

.rating-star-spoiler {
  background: #EE4056;
  color: #fff;
  border-radius: 5rem;
  font-size: 1.2rem;
  padding: 0 0.6rem;
  display: flex;
  align-items: center;
  height: 2rem;
  white-space: nowrap;
}

/* ============================================
    tabs-menu
 ============================================ */
.tabs {
  display: flex;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .tabs--main-content {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
}

.tabs__label {
  color: #3C72CB;
  font-weight: bold;
  position: relative;
  z-index: 1;
  cursor: pointer;
  flex: 1;
  padding: 0.5rem 0;
  margin: 0;
  text-align: center;
  border: solid 0.1rem #3C72CB;
}

.tabs__label--under-bar {
  color: #333;
  border: solid #c4d3eb;
  border-width: 0 0 0.5rem 0;
}

.tabs__label--fill {
  color: #fff;
  background: #3C72CB;
  border: none;
}

@media (max-width: 768px) {
  .tabs__label--fill {
    padding: 1.5rem 0;
  }
}

.tabs__label--left {
  border-radius: 0.3rem 0 0 0.3rem;
}

.tabs__label--right {
  border-radius: 0 0.3rem 0.3rem 0;
}

.tabs__label:hover {
  background: #3298fd;
  color: #fff;
  border: solid 0.1rem #3298fd;
}

.tabs__label--under-bar:hover {
  background: #fff;
  color: #3C72CB;
  border: solid #c4d3eb;
  border-width: 0 0 0.5rem 0;
}

.tabs__content {
  flex: 100%;
  visibility: hidden;
  width: 0 !important;
  height: 0;
  padding: 0;
  margin: 0 !important;
  position: relative;
}

.tabs__content-inner {
  margin: 2rem auto 4rem;
}

@media (max-width: 768px) {
  .tabs__content-inner {
    margin: 2rem 1.4rem;
  }
}

input[name="tab_switch"],
input[name="tab-right_switch"],
input[name="tab-week_switch"],
input[name="tab-review_switch"] {
  visibility: hidden;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.tabs input:checked+.tabs__label {
  color: #fff;
  background-color: #3C72CB;
}

.tabs input:checked+.tabs__label.tabs__label--fill {
  background-color: #3298fd;
}

.tabs input:checked+.tabs__label.tabs__label--fill:before {
  content: "";
  position: absolute;
  margin: 0 0 0 -8px;
  bottom: -14px;
  left: 50%;
  border: 8px solid transparent;
  border-top: 8px solid #3298fd;
}

.tabs input:checked+.tabs__label--under-bar {
  color: #333;
  background-color: #fff;
  border: solid #3C72CB;
  border-width: 0 0 0.5rem 0;
  transition: .3s;
}

.tabs input:checked+.tabs__label:hover {
  border: solid 0.1rem #3C72CB;
}

.tabs input:checked+.tabs__label--under-bar:hover {
  background: #fff;
  color: #333;
  border: solid #3C72CB;
  border-width: 0 0 0.5rem 0;
}

.tabs__label.tabs__label--fill:hover {
  border: none;
}

.tabs input:checked+.tabs__label.tabs__label--fill:hover {
  border: none;
}

#tab01:checked~#tab01_content,
#tab02:checked~#tab02_content,
#tab03:checked~#tab03_content,
#tab04:checked~#tab04_content,
#tab05:checked~#tab05_content,
#tab-right01:checked~#tab-right01_content,
#tab-right02:checked~#tab-right02_content,
#tab-week01:checked~#tab01_content,
#tab-week02:checked~#tab02_content,
#tab-week03:checked~#tab03_content,
#tab-week04:checked~#tab04_content,
#tab-week05:checked~#tab05_content,
#tab-week06:checked~#tab06_content,
#tab-week07:checked~#tab07_content,
#tab-review01:checked~#tab-review01_content,
#tab-review02:checked~#tab-review02_content,
#tab-review03:checked~#tab-review03_content {
  visibility: visible;
  height: auto;
}

.tabs-active {
  color: #333;
  background-color: #fff;
  border: solid #3C72CB;
  border-width: 0 0 0.5rem 0;
  transition: .3s;
  cursor: default;
}

.tabs-active:hover {
  color: #333;
  border: solid #3C72CB;
  border-width: 0 0 0.5rem 0;
  transition: .3s;
}

.tabs-week {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.tabs-week__day {
  width: 100%;

}

/* ============================================
    drawer-menu
 ============================================ */
.drawer-menu-content {
  visibility: hidden;
  width: 0;
  height: 0;
  padding: 0;
  margin: 0;
  overflow: hidden;
}

.popup-close-btn--kakakuid,
.popup-close-btn {
  position: relative;
  width: 3rem;
  height: 3rem;
  line-height: 5rem;
  text-align: center;
  cursor: pointer;
  background: #AAAAAA;
  border-radius: 50%;
}

.popup-close-btn--kakakuid::before,
.popup-close-btn::before {
  content: "";
  display: block;
  width: 1.6rem;
  height: 0.2rem;
  background: #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform-origin: 0% 50%;
  transform-origin: 0% 50%;
  position: absolute;
  top: calc(0.8rem);
  left: 33%;
}

.popup-close-btn--kakakuid::after,
.popup-close-btn::after {
  content: "";
  display: block;
  width: 1.6rem;
  height: 0.2rem;
  background: #fff;
  position: absolute;
  top: calc(0.8rem);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  left: auto;
  right: 30%;
}

.drawer-menu-check {
  visibility: hidden;
  width: 0;
  height: 0;
  padding: 0;
  margin: 0;
  overflow: hidden;
  position: absolute;
}

.drawer-menu-content--kakakuid,
.drawer-menu-check:checked~.drawer-menu-content {
  background: rgba(0, 0, 0, 0.75);
  position: fixed;
  top: 0;
  z-index: 9999;
  width: 100%;
  left: 0;
  height: 100%;
  overflow: scroll;
  margin: auto !important;
  visibility: visible;
  scrollbar-width: none;
}

.drawer-menu-check:checked~.drawer-menu-content::-webkit-scrollbar {
  display: none;
}

.drawer-menu-check--sns-share:checked~.drawer-menu-content>.drawer-menu-content__popup,
.drawer-menu-check--viewed:checked~.drawer-menu-content>.drawer-menu-content-viewed__popup {
  background: #fff;
  margin: 1.2rem;
  border-radius: 0.6rem;
  padding: 1.2rem;
  text-align: left;
  color: #000;
  margin: 0 auto;
  position: relative;
  top: 35%;
  width: 30rem;
}

@media (max-width: 1024px) {
  .drawer-menu-check--sns-share:checked~.drawer-menu-content>.drawer-menu-content__popup {
    width: 60%;
  }

  .drawer-menu-check--sns-share:checked~.drawer-menu-content>.drawer-menu-content__popup--80per {
    width: 80%;
  }
}

.drawer-menu-check--viewed:checked~.drawer-menu-content>.drawer-menu-content-viewed__popup {
  width: 48rem;
  top: 5%;
  padding-bottom: 15rem;
}

@media (max-width: 768px) {
  .drawer-menu-check--viewed:checked~.drawer-menu-content>.drawer-menu-content-viewed__popup {
    width: 95%;
  }
}

.drawer-menu-content__popup--kakakuid,
.drawer-menu-check--login:checked~.drawer-menu-content>.drawer-menu-content__popup,
.drawer-menu-check--user-list:checked~.drawer-menu-content>.drawer-menu-content__popup {
  background: #fff;
  margin: 1.2rem;
  border-radius: 0.6rem;
  padding: 1.4rem;
  text-align: left;
  color: #000;
  width: 48.2rem;
  margin: 12vh auto;
  position: relative;
}

@media (max-width: 768px) {
  .drawer-menu-content__popup--kakakuid,
  .drawer-menu-check--login:checked~.drawer-menu-content>.drawer-menu-content__popup,
  .drawer-menu-check--user-list:checked~.drawer-menu-content>.drawer-menu-content__popup {
    width: 94%;
    margin: 4vh auto;
  }
}

.sign-up-wrap {
  width: 34rem;
  margin: 0 auto;
  color: #333;
}

@media (max-width: 768px) {
  .sign-up-wrap {
    width: 98%;
  }
}

.sign-up-wrap__caution--kakakuid,
.sign-up-wrap__caution {
  background: #FFF4F4;
  display: flex;
  color: #FC0000;
  font-weight: bold;
  border-radius: 0.3rem;
  font-size: 1.4rem;
  align-items: center;
  justify-content: center;
  padding: 0.8rem;
  margin-bottom: 2rem;
  white-space: nowrap;
  position: relative;
}

.sign-up-wrap__caution--kakakuid {
  white-space: wrap;
  width: 34rem;
  padding-left: 3.2rem;
}

@media (max-width: 768px) {
  .sign-up-wrap__caution {
    white-space: wrap;
  }
  .sign-up-wrap__caution--kakakuid {
    width: 98%
  }
}

.drawer-user-list {
  width: 94%;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .drawer-user-list {
    width: 100%;
  }
}

.drawer-user-list__items-wrap {
  max-height: 60rem;
  overflow: scroll;
}

@media (max-width: 768px) {
  .drawer-user-list__items-wrap {
    padding-bottom: 15rem;
  }
}

.drawer-user-list__name {
  width: 23rem;
}

@media (max-width: 768px) {
  .drawer-user-list__name {
    width: calc(100% - 17rem);
  }
}

.drawer-user-list__name--no-button {
  width: auto;
}

@media (max-width: 768px) {
  .drawer-user-list__name--no-button {
    width: auto;
  }
}

.icon-caution {
  box-sizing: border-box;
  position: relative;
  display: block;
  transform: scale(var(--ggs, 1));
  width: 1.6rem;
  height: 1.6rem;
  border: 0.2rem solid #fc0000;
  border-radius: 4rem;
  background: #fc0000;
  color: #fff;
  margin-right: 0.4rem;
  padding-right: 1.1rem;
}

.icon-caution:after {
  content: "";
  display: block;
  box-sizing: border-box;
  position: absolute;
  border-radius: 0.3rem;
  width: 0.2rem;
  background: currentColor;
  left: 0.5rem;
  top: 0.1rem;
  height: 0.6rem;
}

.icon-caution:before {
  content: "";
  display: block;
  box-sizing: border-box;
  position: absolute;
  border-radius: 0.3rem;
  width: 0.2rem;
  background: currentColor;
  left: 0.5rem;
  height: 0.2rem;
  bottom: 0.2rem;
}
.icon-caution--kakakuid {
  position: absolute;
  top: 1rem;
  left: 1rem;
}

.popup-close-btn--kakakuid,
.drawer-menu-check:checked~.drawer-menu-content>.drawer-menu-content__popup>label,
.drawer-menu-content-viewed__popup>label {
  text-align: right;
  display: block;
}

.drawer-popup-empathy-wrap {
  text-align: center;
}

.drawer-popup-empathy-wrap__list {
  display: flex;
  justify-content: center;
  margin-bottom: 2rem;
}

.empathy-list-items__img {
  background: none;
  width: 5rem;
  height: 5rem;
  display: block;
}

.drawer-popup-empathy-wrap button {
  background: #fff;
  border: solid 0.1rem #666;
  color: #000;
  border-radius: 0.5rem;
  background: #eee;
  padding: 0.5rem 1rem;
}

.drawer-menu .popup-share-wrap>.copy-message {
  margin-top: 2rem;
  color: #CC0000;
  font-size: 1.2rem;
}

.drawer-popup-empathy-wrap>.copy-message:not(.on),
.drawer-menu .popup-share-wrap>.copy-message:not(.on) {
  display: none;
}

.drawer-menu .drawer-menu-content-viewed__popup .drawer-popup-empathy-wrap {
  text-align: left;
}

/* ============================================
    list
 ============================================ */
.list-wrap__block {
  margin: 0 0 3.2rem;
  display: flex;
}

.list-wrap__block--active {
  background: #d3dff3;
  padding: 1rem;
}

@media (max-width: 768px) {
  .list-wrap__block--active {
    width: 100vw;
    margin: 0 calc(50% - 50vw) 3.2rem;
  }
}

.list-wrap__bottom {
  margin-bottom: 4rem;
}

.block-items {
  position: relative;
}

.block-items__wrap {
  position: relative;
}

.block-items__thumb {
  margin: 0 1.6rem 0 0;
  width: 20rem;
  height: 15rem;
  display: block;
  overflow: hidden;
  position: relative;
  background: #F2F2F2;
}

@media (max-width: 768px) {
  .block-items__thumb {
    width: 9.7rem;
    height: 9.7rem;
  }
}

.block-items__thumb--vertical {
  width: 10.6rem;
  height: 15rem;
}

@media (max-width: 768px) {
  .block-items__thumb--vertical {
    width: 6.9rem;
    height: 9.7rem;
  }
}

.block-items__thumb--vertical-large {
  width: 10.6rem;
  height: 15rem;
}

@media (max-width: 768px) {
  .block-items__thumb--vertical-large {
    width: 10rem;
    height: 14.1rem;
  }
}

.block-items__thumb--square {
  width: 15rem;
  height: 15rem;
}

@media (max-width: 768px) {
  .block-items__thumb--square {
    width: 9.7rem;
    height: 9.7rem;
  }
}

.block-items__thumb--circle {
  width: 8rem;
  height: 8rem;
  border-radius: 50%;

}

.block-items__thumb--circle-small {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
}

@media (max-width: 768px) {
  .block-items__thumb--sp-horizontal {
    width: 12.3rem;
    height: 9.7rem;
  }
}

@media (max-width: 768px) {
  .block-items__thumb--sp-horizontal-special {
    width: 17.3rem;
    height: 13.6rem;
  }
}

.block-items__thumb.block-items__thumb--rank {
  margin-left: 2.4rem;
}

@media (max-width: 768px) {
  .block-items__thumb.block-items__thumb--rank {
    margin-left: 2rem;
  }
}

.thumb-rank__rabel {
  align-items: center;
  justify-content: center;
  left: 0;
  top: revert-layer;
  width: 2.4rem;
  height: 15rem;
  font-size: 1.4rem;
  font-weight: bold;
  color: #fff;
  display: flex;
  text-align: center;
  z-index: 1;
  vertical-align: middle;
  position: absolute;
  background: #333;
}

@media (max-width: 768px) {
  .thumb-rank__rabel {
    width: 2rem;
    height: 9.7rem;
  }
}

.thumb-rank__rabel--large {
  height: 15rem;
}

@media (max-width: 768px) {
  .thumb-rank__rabel--large {
    height: 14.1rem;
  }
}

.thumb-rank__before-rank-number {
  font-size: 1rem;
  letter-spacing: 0;
  margin-top: -0.3rem;
  display: block;
  font-weight: normal;
}

.img-thumb__items {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 150%;
  max-height: 100%;
  object-fit: contain;
}

.img-thumb__items--right-list {
  min-width: 200%;
  max-height: 9.7rem;
}

@media (max-width: 768px) {
  .img-thumb__items {
    max-width: 200%;
  }
}

.img-thumb__tag {
  position: absolute;
  z-index: 10;
  background: #333;
  font-size: 1.2rem;
  color: #fff;
  padding: 0.2rem 0.4rem;
  opacity: 0.9;
  left: 0;
  bottom: 0;
}

.list-title {
  font-size: 1.8rem;
  margin: 0 0 0.4rem 0;
  padding: 0;
  font-weight: bold;
  letter-spacing: 0.08rem;
  line-height: 1.5;
  word-break: break-all;
}

@media (max-width: 768px) {
  .list-title {
    font-size: 1.4rem;
    margin: 0 0 0.4rem 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
}

.block-item__list-time {
  font-size: 1.2rem;
  color: #666;
  display: block;
  margin: 0 0 0.8rem 0;
}

@media (max-width: 768px) {
  .list-tag__items,
  .list-tag__items--disabled {
    padding: 0rem 0.4rem;
    margin-right: 0.6rem;
    font-size: 1.2rem;
  }
}

.list-tag__items:hover,
.list-tag-name__items:hover {
  border: solid 0.1rem #FD9C00;
}

.list-wrap__page-nav {
  margin: 0 0 3rem;
}

/* ranking-list(PC:2column_SP:1column) */
.list-wrap-column-2 {
  display: flex;
  flex-wrap: wrap;
}

/* special-bg */
@media (max-width: 768px) {
  .list-wrap-column-2--special {
    background: #fffce8;
  }
}

@media (max-width: 768px) {
  .article-wrap--special {
    padding: 0 1rem;
    background: #fffce8;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    border: solid 0.3rem #fd9b01;
  }
}

.list-wrap-column-2__wrap {
  width: 48%;
  margin: 0 4% 2rem 0;
  position: relative;
}

@media (max-width: 768px) {
  .list-wrap-column-2__wrap {
    width: 100%;
    margin: 0 0 2rem 0;
    display: flex;
  }

  .list-wrap-column-2__wrap--line {
    width: 100%;
    border-bottom: solid 0.1rem #d9d9d9;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
  }

  .list-wrap-column-2--special > .list-wrap-column-2__wrap:last-child {
    border-bottom: none;
  }

  .list-wrap-column-2__wrap--sp-column1 {
    display: block;
  }
}

.list-wrap-column-2__wrap:hover .column-2-text-wrap__title {
  color: #FD9C00
}

.list-wrap-column-2__wrap:nth-child(2n) {
  margin-right: 0;
}

.column-2-thumb-wrap__rank-rabel {
  align-items: center;
  justify-content: center;
  left: 0.6rem;
  top: 0.6rem;
  background: #F2F2F2;
  border-radius: 50%;
  width: 2.6rem;
  height: 2.6rem;
  font-size: 1.4rem;
  font-weight: bold;
  color: #333;
  display: flex;
  text-align: center;
  box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.2), 0 0.1rem 0.4rem 0 rgba(0, 0, 0, 0.1);
  z-index: 1;
  vertical-align: middle;
  position: absolute;
}

@media (max-width: 768px) {
  .column-2-thumb-wrap__rank-rabel {
    top: 0;
    left: 0;
    border-radius: 0;
    width: 2.4rem;
    height: 9.7rem;
    box-shadow: none;
  }

}

.column-2-thumb-wrap__3-2 {
  display: block;
  overflow: hidden;
  position: relative;
  background: #f2f2f2;
  margin: 0 auto;
  width: 32.3rem;
  height: 21.5rem;
}

.column-2-thumb-wrap__3-2--aspect-3-2 {
  aspect-ratio: 3 / 2;
  width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .column-2-thumb-wrap__3-2 {
    width: 16.9rem;
    height: 11.2rem;
  }

  .column-2-thumb-wrap__3-2--ranking {
    margin-left: 2.4rem;
  }

  .column-2-thumb-wrap__3-2--aspect-3-2 {
    aspect-ratio: 3 / 2;
    width: 100%;
    height: auto;
  }

  .column-2-thumb-wrap__3-2--square {
    width: 9.7rem;
    height: 9.7rem;
  }

  .column-2-thumb-wrap__3-2--ranking {
    margin-left: 2.4rem;
  }
}

.column-2-list-thumb-bg__img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: 100%;
  object-fit: cover;
}

.column-2-list-thumb-bg__category-tag {
  color: #fff;
  padding: 0.8rem 1.6rem;
  line-height: 1;
  background: rgba(253, 156, 0, 0.9);
  position: absolute;
  left: 0;
  bottom: 0;
  font-weight: bold;
  font-size: 1.4rem;
}

@media (max-width: 768px) {
  .column-2-list-thumb-bg__category-tag {
    font-size: 1.2rem;
    padding: 0.6rem 1rem;
  }
}

.column-2-list-thumb-bg__category-tag--release {
  top: 0;
  bottom: auto;
  background: #EE4056;
  color: #fff;
  font-size: 1.6rem;
}

@media (max-width: 768px) {
  .column-2-list-thumb-bg__category-tag--release {
    font-size: 1.4rem;
  }
}

.column-2-text-reverse {
  position: relative;
}

.column-2-text-reverse__title {
  font-size: 1.6rem;
  margin: 0 0 0.4rem;
  font-weight: bold;
}

@media (max-width: 768px) {
  .column-2-text-reverse__title {
    position: absolute;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    display: flex;
  }

  .column-2-text-reverse__thumb,
  .column-2-text-reverse__text-wrap {
    margin-top: 3rem !important;
  }

  .reverse-new-title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
  }
}

@media (max-width: 768px) {
  .column-2-block__text {
    font-size: 1.5rem;
    margin: 0 0 0 1rem;
  }
}

.column-2-text-wrap__title {
  font-size: 1.6rem;
  color: #3C72CB;
  margin: 0 0 0.4rem;
  font-weight: bold;
}

@media (max-width: 768px) {
  .column-2-text-wrap__title {
    font-size: 1.4rem;
  }
}

.column-2-text-wrap__text {
  font-size: 1.4rem;
  margin: 0 0 0.8rem;
}

.column-2-text-wrap__text--special {
  color: #333;
}

@media (max-width: 768px) {
  .column-2-text-wrap__text {
    font-size: 1.2rem;
  }

  .column-2-text-wrap__text--special {
    font-size: 1.4rem;
  }
}

@media (max-width: 768px) {
  .column-2-text-link--reverse {
    display: flex;
  }
}

.column-2-text-link:before {
  content: "";
  position: absolute;
  inset: 0;
}

.column-2-text-wrap__powered {
  font-size: 1.2rem;
  color: #999;
  display: block;
  margin: 0;
  font-weight: normal;
}

.column-2-text-wrap__time {
  font-size: 1.2rem;
  color: #999;
  display: block;
  margin: 0 0 0.8rem;
  font-weight: normal;
}

.sp-2column {
  visibility: visible;
  display: flex;
  flex-wrap: wrap;
  height: auto;
  width: auto;
  margin: initial;
  padding: initial;
}

.sp-2column__items {
  width: 49%;
  margin: 0 2% 1.4rem 0;
}

.sp-2column__items:nth-child(2n) {
  margin-right: 0;
}

.column2-items-wrap__img {
  display: block;
  overflow: hidden;
  position: relative;
  background: #f2f2f2;
  margin: 0 auto 0.4rem;
  height: 11.2rem;
}

.column2-items-img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 150%;
  max-height: 100%;
  object-fit: contain;
}

.column2-items-wrap__title {
  font-size: 1.4rem;
  color: #333;
  margin-bottom: 0.4rem;
}

.column2-items-wrap__media {
  font-size: 1.2rem;
  color: #636363;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ranking-list(PC:3column_SP:1column) */
.list-wrap-column-3 {
  display: flex;
  flex-wrap: wrap;
}

.list-wrap-column-3__wrap {
  width: 32%;
  margin: 0 2% 2rem 0;
  position: relative;
}

@media (max-width: 768px) {
  .list-wrap-column-3__wrap {
    width: 100%;
    margin: 0 0 2rem 0;
    display: flex;
  }

  .list-wrap-column-3__wrap--sp-column1 {
    display: block;
  }
}

.list-wrap-column-3__wrap:hover .column-3-text-wrap__title {
  color: #FD9C00
}

.list-wrap-column-3__wrap:nth-child(3n) {
  margin-right: 0;
}

.column-3-thumb-wrap__rank-rabel {
  align-items: center;
  justify-content: center;
  left: 0.6rem;
  top: 0.6rem;
  background: #F2F2F2;
  border-radius: 50%;
  width: 2.6rem;
  height: 2.6rem;
  font-size: 1.4rem;
  font-weight: bold;
  color: #333;
  display: flex;
  text-align: center;
  box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.2), 0 0.1rem 0.4rem 0 rgba(0, 0, 0, 0.1);
  z-index: 1;
  vertical-align: middle;
  position: absolute;
}

@media (max-width: 768px) {
  .column-3-thumb-wrap__rank-rabel {
    top: 0;
    left: 0;
    border-radius: 0;
    width: 2.4rem;
    height: 9.7rem;
    box-shadow: none;
  }

}

.column-3-thumb-wrap__3-2 {
  display: block;
  overflow: hidden;
  position: relative;
  background: #f2f2f2;
  margin: 0 auto;
  width: 32.3rem;
  height: 21.5rem;
}

.column-3-thumb-wrap__3-2aspect-3-2 {
  aspect-ratio: 3 / 2;
  width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .column-3-thumb-wrap__3-2 {
    width: 16.9rem;
    height: 11.2rem;

  }

  .column-3-thumb-wrap__3-2--square {
    width: 9.7rem;
    height: 9.7rem;
  }

  .column-3-thumb-wrap__3-2--ranking {
    margin-left: 2.4rem;
  }

  .column-3-thumb-wrap__3-2aspect-3-2 {
    aspect-ratio: 3 / 2;
    width: 100%;
    height: 11.2rem;
  }
}

.column-3-list-thumb-bg__img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: 100%;
  object-fit: cover;
}

.column-3-list-thumb-bg__category-tag {
  color: #fff;
  padding: 0.8rem 1.6rem;
  line-height: 1;
  background: rgba(253, 156, 0, 0.9);
  position: absolute;
  left: 0;
  bottom: 0;
  font-weight: bold;
  font-size: 1.4rem;
}

@media (max-width: 768px) {
  .column-3-list-thumb-bg__category-tag {
    font-size: 1.2rem;
    padding: 0.6rem 1rem;
  }
}

.column-3-list-thumb-bg__category-tag--release {
  top: 0;
  bottom: auto;
  background: #EE4056;
  color: #fff;
  font-size: 1.6rem;
}

@media (max-width: 768px) {
  .column-3-list-thumb-bg__category-tag--release {
    font-size: 1.4rem;
  }
}

.column-3-text-reverse {
  position: relative;
}

.column-3-text-reverse__title {
  font-size: 1.6rem;
  margin: 0 0 0.4rem;
  font-weight: bold;
}

@media (max-width: 768px) {
  .column-3-text-reverse__title {
    position: absolute;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    display: flex;
  }

  .column-3-text-reverse__thumb,
  .column-3-text-reverse__text-wrap {
    margin-top: 3rem !important;
  }
}

@media (max-width: 768px) {
  .column-3-block__text {
    font-size: 1.5rem;
    margin: 0 0 0 1rem;
  }
}

.column-3-text-wrap__title {
  font-size: 1.6rem;
  color: #3C72CB;
  margin: 0 0 0.4rem;
  font-weight: bold;
}

@media (max-width: 768px) {
  .column-3-text-wrap__title {
    font-size: 1.4rem;
  }
}

.column-3-text-wrap__text {
  font-size: 1.4rem;
  margin: 0 0 0.8rem;
}

.column-3-text-wrap__text--special {
  color: #333;
}

@media (max-width: 768px) {
  .column-3-text-wrap__text {
    font-size: 1.2rem;
  }

  .column-3-text-wrap__text--special {
    font-size: 1.4rem;
  }
}

@media (max-width: 768px) {
  .column-3-text-link--reverse {
    display: flex;
  }
}

.column-3-text-link:before {
  content: "";
  position: absolute;
  inset: 0;
}

.column-3-text-wrap__powered {
  font-size: 1.2rem;
  color: #999;
  display: block;
  margin: 0;
  font-weight: normal;
}

.column-3-text-wrap__time {
  font-size: 1.2rem;
  color: #999;
  display: block;
  margin: 0 0 0.8rem;
  font-weight: normal;
}

.sp-3column {
  visibility: visible;
  display: flex;
  flex-wrap: wrap;
  height: auto;
  width: auto;
  margin: auto;
  padding: 0;
}

.sp-3column__items {
  width: 49%;
  margin: 0 2% 1.4rem 0;
}

.sp-3column__items:nth-child(2n) {
  margin-right: 0;
}

.column3-items-wrap__img {
  display: block;
  overflow: hidden;
  position: relative;
  background: #f2f2f2;
  margin: 0 auto 0.4rem;
  height: 11.2rem;
}

.column3-items-img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 150%;
  max-height: 100%;
  object-fit: contain;
}

.column3-items-wrap__title {
  font-size: 1.4rem;
  color: #333;
  margin-bottom: 0.4rem;
}

.column3-items-wrap__media {
  font-size: 1.2rem;
  color: #636363;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/*list-column5*/
.list-wrap-column-5 {
  display: flex;
  flex-wrap: wrap;
  gap: 1%;
}

.list-wrap-column-5__items {
  width: 19.2%;
  margin-bottom: 2rem;
}

.list-wrap-column-5__items:nth-child(5n) {
  margin-right: 0;
}

@media (max-width: 768px) {
  .list-wrap-column-5__items--sp-column-3 {
    width: 32.6%;
  }
}

/* img-fit-cover */
.column-5-img {
  position: relative;
  overflow: hidden;
  background: #f2f2f2;
  display: block;
}

.column-5-img--vertical {
  width: 12.6rem;
  height: 17.8rem;
}

@media (max-width: 768px) {
  .column-5-img--vertical {
    width: 100%;
    height: 11.2rem;
  }
}

.column-5-img__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/*list-pc-4column_sp-1column*/
.list-wrap-column-4 {
  display: flex;
  flex-wrap: wrap;
}

.list-wrap-column-4__items {
  width: 24.25%;
  margin: 0 1% 2rem 0;
}

@media (max-width: 768px) {
  .list-wrap-column-4__items {
    display: flex;
    width: 100%;
  }

  .list-wrap-column-4__items>div:first-of-type {
    width: 7.2rem;
    height: 7.2rem;
  }

}

.list-wrap-column-4__items:nth-child(4n) {
  margin-right: 0;
}

.column-4-img {
  position: relative;
  overflow: hidden;
  background: #f2f2f2;
  display: block;
}

.column-4-img--vertical {
  width: 100%;
  height: 17.8rem;
}

@media (max-width: 768px) {
  .column-4-img--vertical {
    width: 5.1rem;
    height: 7.2rem;
  }
}

.column-4-img__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* ============================================
    article parts
 ============================================ */
.article-txt {
  font-size: 1.6rem;
  line-height: 1.75;
  text-indent: 1em;
  word-break: break-all;
}

.article-wrap__txt {
  margin-bottom: 2rem;
}

.article-image {
  text-align: center;
}

.article-wrap__article-image {
  margin: 0 0 2.4rem;
}

.article-image__caption {
  margin: 0 0 0;
}

.article-image__main {
  width: 100%;
  margin: 0 0 0.8rem;
}

.article-image__copyright {
  text-align: center;
  font-size: 1.2rem;
  color: #999;
  margin: 0;
}

.article-wrap__categories {
  display: flex;
  margin: 0 0 0.2rem;
  align-items: end;
}

.categories-tag-btn__wrap {
  margin: 0 0 0.8rem auto;
}

.article-image-video {
  width: 100%;
}

.article-wrap__gallery {
  margin: 0 0 4rem 0;
}

.gallery-wrap__list {
  margin: 0 0 2rem 0;
}

.article-wrap__powered {
  margin: 0 0 4rem 0;
}

.video-playing .swiper-slide__play-btn,
.video-playing img.article-image__main {
  visibility: hidden;
}

.video-playing video.article-image__main {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

/* ============================================
    slide-show parts
 ============================================ */
.swiper-wrapper {
  width: 100%;
  height: auto !important;
}

.swiper-slide {
  width: 100%;
  height: 100%;
}

.swiper-slide__items {
  display: block;
  overflow: hidden;
  position: relative;
  background: #f2f2f2;
  margin-bottom: 0.6rem;
}

/* @media (max-width: 768px) {
  .swiper-slide__items {
    margin-bottom: 0;
  }
} */

.swiper-slide__items--126-178 {
  width: 12.6rem;
  height: 17.8rem;
}

@media (max-width: 768px) {
  .swiper-slide__items--126-178 {
    width: 100%;
    height: 11.2rem;
  }
  .swiper-slide__items--126-178-unext{
    width: 100%;
    height: 13.2rem;
  }
}

.swiper-slide__items--292-195 {
  width: 29.2rem;
  height: 19.5rem;
}

@media (max-width: 768px) {
  .swiper-slide__items--292-195 {
    width: 100%;
    height: 11.2rem;
  }
}

.swiper-slide__items--400-305 {
  width: 45rem;
  height: 30.5rem;
}

@media (max-width: 768px) {
  .swiper-slide__items--400-305 {
    width: 100%;
    height: 23rem;
  }
}

.swiper-slide__items img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.swiper-slide__play-btn {
  position: absolute;
  top: 44%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(0, 0, 0, 0.7);
  border-radius: 50%;
  width: 4rem;
  height: 4rem;
  z-index: 1;
}

.swiper-slide__play-btn:before {
  font-size: 4rem !important;
  color: #fff;
  margin: 0 !important;
}

.swiper-slide__play-btn--large {
  width: 6rem;
  height: 6rem;
}

.swiper-slide__play-btn--large:before {
  font-size: 6rem !important;
}

.swiper-slide__titles {
  overflow-wrap: break-word;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  /* color: #3C72CB; */
}

@media (max-width: 768px) {
  .swiper-slide__titles {
    visibility: hidden;
    height: 0;
    display: block;
  }

  .swiper-slide__titles--visible {
    visibility: inherit;
    height: auto;
    display: -webkit-box;
    font-size: 1.2rem;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    background: #fff;
  }
}

.swiper-side__frame{
  cursor: pointer;
}

.swiper-slide__category-tag {
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  padding: 0.8rem 1.6rem;
  line-height: 1;
  font-weight: bold;
  font-size: 1.4rem;
}

.swiper-slide__category-tag--primary {
  background: rgba(60, 114, 200, 0.9);
}

.swiper-slide__category-tag--secondary {
  background: rgba(253, 156, 0, 0.9);
}


.swiper-slide__text {
  width: 100%;
  position: absolute;
  bottom: 0.6rem;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.9));
  height: 12rem;
  padding: 1.2rem
}

@media (max-width: 768px) {
  .swiper-slide__text {
    position: absolute;
    height: 10rem;
    padding: 1rem
  }
}

.slide-text__title,
.slide-text__lead,
.slide-text__date {
  color: #fff;
  display: block;
}

.slide-text__title {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 0.4rem;
}

@media (max-width: 768px) {
  .slide-text__title {
    font-size: 1.6rem;
  }
}

.slide-text__lead {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 0.4rem;
}

@media (max-width: 768px) {
  .slide-text__lead {
    font-size: 1.2rem;
    font-weight: normal;
  }
}

.slide-text__date {
  font-size: 1.2rem;
}

@media (max-width: 768px) {
  .slide-text__date {
    font-size: 1rem;
  }
}

.swiper-pagination-bullets {
  width: 10rem;
}

.swiper-pagination-bullet {
  width: 1.2rem !important;
  height: 1.2rem !important;
  margin: 0 0 0 1rem !important;
  background: #fff;
}

.swiper-pagination-bullet:first-child {
  margin: 0 !important;
}

.swiper-button-next,
.swiper-button-next2,
.swiper-button-prev,
.swiper-button-prev2{
  text-rendering: auto;
  background: rgba(0, 0, 0, 0.75);
  height: 6.5rem !important;
  top: 6.6rem !important;
  margin: 0 !important;
  color: #fff !important;
}

@media (max-width: 768px) {
  .swiper-button-next,
  .swiper-button-next2,
  .swiper-button-prev,
    .swiper-button-prev2{
    top: 3.8rem !important;
    height: 4.2rem !important;
  }
}

.swiper-button-next3,
.swiper-button-prev3 {
  text-rendering: auto;
  background: rgba(0, 0, 0, 0.75);
  height: 6.5rem !important;
  top: 12rem !important;
  margin: 0 !important;
  color: #fff !important;
}

@media (max-width: 768px) {

  .swiper-button-next3,
  .swiper-button-prev3 {
    top: 9rem !important;
    height: 4.2rem !important;
  }
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-next2.swiper-button-disabled,
.swiper-button-next-unext.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled,
.swiper-button-prev2.swiper-button-disabled,
.swiper-button-prev-unext.swiper-button-disabled{
  opacity: 0 !important;
}

.swiper-button-next,
.swiper-button-next2,
.swiper-button-next3,
.swiper-button-next-unext{
  right: 0 !important;
}

.swiper-button-prev,
.swiper-button-prev2,
.swiper-button-prev3,
.swiper-button-prev-unext{
  left: 0 !important;
}

.swiper-button-next:after,
.swiper-button-next2:after,
.swiper-button-next3:after,
.swiper-button-next-unext:after,
.swiper-button-prev:after,
.swiper-button-prev2:after,
.swiper-button-prev3:after,
.swiper-button-prev-unext:after{
  font-size: 2.7rem !important;
}

@media (max-width: 768px) {
  .swiper-button-next:after,
  .swiper-button-next2:after,
  .swiper-button-next3:after,
  .swiper-button-next-unext:after,
  .swiper-button-prev:after,
  .swiper-button-prev2:after,
  .swiper-button-prev3:after,
  .swiper-button-prev-unext:after{
    font-size: 1.7rem !important;
  }
}

/* ============================================
    photo-gallery-page
 ============================================ */

.slideshow-container {
  position: relative;
  max-width: 67rem;
  margin: auto;
}

.main-slide,
.thumbnail {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  background-color: #f2f2f2;
}

.thumbnail-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0 0 2rem;
  width: 100%;
}

.thumbnail-row--max-raw-2 {
  max-height: 20rem;
  overflow: hidden;
  position: relative;
}

@media (max-width: 768px) {
  .thumbnail-row--max-raw-2 {
    max-height: 8.7em;
    overflow: hidden;
  }
}

.thumbnail-row--max-raw-2:before {
  position: absolute;
  content: "";
  display: block;
  width: calc(100% + 2.8rem);
  height: 14rem;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 1.0) 80%);
  margin: -14rem auto 0 -1.4rem;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 1;
}

.thumbnail {
  width: 19.2%;
  margin-right: 1%;
  margin-bottom: 1rem;
  height: 8.7rem;
  overflow: hidden;
  position: relative;
}

@media (max-width: 768px) {
  .thumbnail {
    height: 6rem;
  }
}

.thumbnail:nth-child(5n) {
  margin-right: 0;
}

.thumbnail:hover {
  opacity: 0.7;
}

.thumbnail img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 170%;
  max-height: 100%;
  object-fit: contain;
}

.selected:after {
  content: "";
  position: absolute;
  border: 0.4rem solid #3C72CB;
  width: 100%;
  height: 8.7rem;
  left: 0;
  right: 0;
}

@media (max-width: 768px) {
  .selected:after {
    height: 6rem;
  }
}

.mainImage {
  width: 67rem;
  height: 44.7rem;
  object-fit: contain;
  background-color: #f2f2f2;
  margin-bottom: 0.8rem;
}

@media (max-width: 768px) {
  .mainImage {
    width: 100%;
    height: 24rem;
  }
}

/* ============================================
    theater
 ============================================ */
/* sp-select-movie-bnr */
.selectmovie__link-bnr {
  display: flex;
  justify-content: center;
}


.selectmovie__link-btn-wrap {
  display: flex;
  justify-content: center;
  margin: 0 0 0.4rem;
}

.selectmovie__present {
  font-size: 1rem;
  text-align: right;
  color: #636363;
}

.selectmovie:not(.active),
.selectmovie-item:not(.active) {
  display: none;
}

.theater-middle-ad:not(.active) {
  display: none;
}


/* sp-app-open-btn */
.app-open-btn {
  position: relative;
  text-align: center;
  margin: 1rem auto;
  line-height: 2em;
  width: 80%;
  box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.2), 0 0.1rem 0.4rem 0 rgba(0, 0, 0, 0.1);
  border-radius: 0.3rem;
}

@media (max-width: 768px) {
  .app-open-btn {
    width: 100%;
  }
}

.app-open-btn__link {
  font-weight: bold;
  display: flex;
  margin: 0 auto;
  border: solid 0.1rem #3C72CB;
  border-radius: 0.5rem;
  padding: 0.7rem;
  justify-content: center;
  color: #3C72CB;
  font-size: 1.4rem;
}

.app-open-btn-icon:before {
  font-size: 3rem !important;
}

.imax-btn {
  display: flex;
  justify-content: center;
}

/* red-number */
.icon-access {
  background: #de3333;
  color: #fff;
  min-width: 1.8em;
  height: 1.8em;
  line-height: 1.6em;
  text-align: center;
  border-radius: 0.4rem;
  margin: 0 0.8rem 0 0;
  font-size: 85%;
  display: inline-block;
}

/* logo */
.au-cinema-logo {
  width: 11.7rem;
  margin: 1rem 0 0;
  height: 3rem;
}

.au-monday-logo {
  width: 11.7rem;
  margin: 1rem 0 0;
  height: 1.6rem;
}

.au-wednesday-logo {
  width: 14.9rem;
  margin: 1rem 0 0;
  height: 1.6rem;
}

@media (max-width: 768px) {
  .au-cinema-logo {
    width: 7.8rem;
    height: 1.8rem;
  }

  .au-monday-logo {
    width: 7.8rem;
    height: 1.2rem;
  }

  .au-wednesday-logo {
    width: 10.8rem;
    height: 1.2rem;
  }
}

.au-cinema-btn__header {
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 1rem
}

.au-cinema-btn__header--blue {
  color: #21AEE5;
}

.au-cinema-btn__header--navy-blue {
  color: #0D4A9E;
}

.au-cinema-btn__header--orange {
  color: #EA5504;
}

.au-cinema-btn__bottom {
  width: 41rem;
  text-align: center;
  display: block;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .au-cinema-btn__bottom {
    width: 100%;
  }
  .au-cinema-btn__image {
    width: 100%;
  }
}

.au-cinema-btn__bottom:hover {
  filter: brightness(110%);
}

/* ticket-information */
.ticket-information {
  margin: 1rem 0 2rem;
  width: 100%;
}

@media (max-width: 768px) {
  .ticket-information {
    margin: 1rem 1.4rem 2rem;
    width: 100%;
  }
}

.ticket-information__icon {
  margin: 0 1.6rem 0.5rem 0;
  font-size: 1.3rem;
  white-space: nowrap;
  display: inline-block;
}

@media (max-width: 768px) {
  .ticket-information__icon {
    font-size: 1.2rem;
  }
}

.ticket-information__icon:before {
  width: 1.6rem;
  height: 1.6rem;
  margin: -0.3rem 0.5rem 0 0 !important;
  font-size: 1.7rem !important;
}

.ticket-information__icon--ticket1:before,
.ticket-information__icon--ticket2:before,
.ticket-information__icon--ticket3:before {
  color: #06c;
}

.ticket-information__icon--ticket4:before {
  color: #ff9900;
}

.ticket-information__icon--ticket5:before {
  color: #b70000;
}

.ticket-information__icon--ticket7:before {
  color: #d9d9d9;
}

.ticket-discount {
  padding: 0 0.4rem 0.4rem 2.6rem;
}

.ticket-discount {
  padding: 0 0.4rem 0.4rem 2.6rem;
}

.ticket-discount:before {
  margin: -0.3rem 0.4rem 0 -2.6rem !important;
  color: #EE4056;
}



/* schedule-btn */
.weekly-schedule {
  display: flex;
  flex-wrap: wrap;
}

.weekly-schedule__btn {
  margin: 0 0 0.4rem;
  padding: 1rem 2.8rem 1rem;
  position: relative;
  display: flex;
  border: 0.1rem solid #06c;
  border-radius: 0.3rem;
  font-size: 1.8rem;
  width: 19.2%;
  margin-right: 1%;
  align-items: center;
  flex-wrap: wrap;
  box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.2), 0 0.1rem 0.4rem 0 rgba(0, 0, 0, 0.1);
}

.weekly-schedule__btn:nth-child(5n) {
  margin-right: 0;
}

@media (max-width: 768px) {
  .weekly-schedule__btn {
    width: 32.6%;
    padding: 0.8rem 0.8rem;
  }

  .weekly-schedule__btn:nth-child(3n) {
    margin-right: 0;
  }

  .weekly-schedule__btn:nth-child(5n) {
    margin-right: 1%;
  }
}

.weekly-schedule__btn:before {
  content: "";
  border-left: 0.1rem dotted #b2d2ee;
  height: 100%;
  top: 0;
  right: 2.8rem;
  position: absolute;
}

.weekly-schedule__btn:after {
  font-family: "icon";
  width: 1.6rem;
  height: 1.6rem;
  display: inline-block;
  line-height: 1;
  position: absolute;
  top: 50%;
  right: -0.1rem;
  transform: translate(-50%, -50%);
  margin: -0.2rem 0 0;
}

.weekly-schedule__btn--ticket01:after {
  content: "\e92f";
}

.weekly-schedule__btn--ticket02:after {
  content: "\e930";
}

.weekly-schedule__btn--ticket03:after {
  content: "\e931";
}

.weekly-schedule__btn--ticket04:after {
  content: "\e932";
}

.weekly-schedule__btn--ticket05:after {
  content: "\e933";
}

.weekly-schedule__btn--ticket06:after {
  content: "\e934";
}

.weekly-schedule__btn--ticket07:after {
  content: "\e935";
}

.weekly-schedule__btn--null {
  border-color: #333;
}

.weekly-schedule__btn--null::before {
  border-color: #d9d9d9;
}

.weekly-schedule__btn--off {
  box-shadow: none;
  background: #d9d9d9;
  border: 0.1rem solid #d9d9d9;
  color: #fff;
}

.weekly-schedule__btn--off::before {
  border-color: #fff;
}


.schedule-time-last {
  display: block;
  font-size: 1.4rem;
  width: 100%;
}

/* movie-type */
.movie-type {
  padding: 0 0.4rem;
  color: #fff;
  margin-right: 0.4rem;
}

.movie-type--subtitled {
  background: #000;
  border: 0.1rem solid #000;
}

.movie-type--dubbed {
  border: 0.1rem solid #000;
  color: #000;
}

.movie-type--3d {
  background: #014584;
  border: 0.1rem solid #014584;
}

.movie-type--screenx {
  background: #e3511e;
  border: 0.1rem solid #e3511e;
}

.movie-type--dolbyatmos {
  background: #0c919d;
  border: 0.1rem solid #0c919d;
}

.movie-type--dolbycinema {
  background: #015860;
  border: 0.1rem solid #015860;
}

.movie-type--imax {
  background: #009ad8;
  border: 0.1rem solid #009ad8;
}

.movie-type--mx4d {
  background: #00294f;
  border: 0.1rem solid #00294f;
}

/* mail */
.mail-box {
  width: 37rem;
  padding: 1.5rem 1.5rem 1rem;
  font-size: 1.4rem;
  line-height: 1.3;
}

.mail-box__title {
  margin: 0 0 1rem;
  font-weight: bold;
  color: #333;
}

.mail-box__form-area {
  width: 35rem;
  max-width: 35rem;
  margin-top: 1rem;
  padding: 0.5rem;
  height: 16rem;
}

.mail-box__qr-box {
  width: 37rem;
  padding: 2rem 0 0.5rem;
  border-bottom: 0.1rem solid #d9d9d9;
  overflow: hidden;
  zoom: 1;
}

.mail-box__qr-box__image {
  float: left;
  margin: -1.5rem 1rem 0 0;
  display: inline;
}

.mail-box__close-button {
  display: block;
  width: 18rem;
  margin: 1.5rem auto;
  padding: 0.5rem;
  background: #ededed;
  border: 0.1rem solid #d9d9d9;
  text-align: center;
  border-radius: 0.4rem;
}

#form-area {
  width: 35rem;
  max-width: 35rem;
  margin-top: 1rem;
  padding: 0.5rem;
  height: 16rem;
}

/* ============================================
    map
 ============================================ */
.map {
  width: 100%;
  height: 34.6rem;
  border: solid 0.1rem #D9D9D9 !important;
}
.map:empty:before {
  content: "地図を読み込み中です...";
  text-align: center;
  padding-top: 2rem;
  display: block;
}


/* ============================================
    jackーad
 ============================================ */
/* banner */
.header-pure-banner-wrap {
  visibility: hidden;
  height: 0;
  width: 0;
  margin: 0;
  padding: 0;
}

@media (max-width: 768px) {
  .header-pure-banner-wrap {
    width: 100%;
    visibility: visible;
    height: auto;
    width: auto;
    margin: initial;
    padding: initial;
  }

  .header-pure-banner-wrap:not(.header-pure-banner-wrap--on) {
    visibility: hidden;
    height: 0;
    width: 0;
    margin: 0;
    padding: 0;
  }
}

.header-pure-banner {
  position: relative;
}

.header-pure-banner-link {
  display: block;
}

.header-pure-banner-link__img {
  width: 100%;
}

.header-pure-banner-close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0.4rem;
}

.header-pure-banner-close:before {
  content: "×";
  display: inline-block;
  width: 1.9rem;
  height: 1.9rem;
  line-height: 1.9rem;
  text-align: center;
  color: #fff;
  background-color: #535353;
  border-radius: 50%;
}


/* video */
.video-ad {
  visibility: hidden;
  height: 0;
  width: 0;
  margin: 0;
  padding: 0;
  position: fixed;
}

@media (max-width: 768px) {
  .video-ad {
    background-color: #000;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
    margin-bottom: env(safe-area-inset-bottom);
    visibility: visible;
    height: auto;
    width: auto;
    margin: initial;
    padding: initial;
  }

  .video-ad:not(.video-ad--on) {
    visibility: hidden;
    height: 0;
    width: 0;
    margin: 0;
    padding: 0;
  }
}

#video_ad__title {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  width: 15.9rem;
  height: 1.3rem;
  background: url(../../images/smartphone/select_title2.png) no-repeat left top;
  background-size: 15.9rem 1.3rem;
}


.video-ad__el {
  height: 13rem;
  display: block;
  margin: 0 auto;
}

.video-ad__title {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  width: 15.9rem;
  height: 1.3rem;
  background: url(../../images/smartphone/select_title2.png) no-repeat left top;
  background-size: 15.9rem 1.3rem;
}

.video-ad__unmute {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 3.2rem;
  height: 3.2rem;
  background: transparent url(../../images/smartphone/sound_icon_white_off.png) no-repeat center center;
  background-size: 2rem 2rem;
  cursor: pointer;
}

.video-ad__unmute.on {
  display: none;
}

.video-ad__mute {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 3.2rem;
  height: 3.2rem;
  background: transparent url(../../images/smartphone/sound_icon_white_on.png) no-repeat center center;
  background-size: 2rem 2rem;
  cursor: pointer;
  display: none;
}

.video-ad__unmute.on + .video-ad__mute {
  display: block;
}

.video-ad__close {
  position: absolute;
  right: 0;
  top: 0;
  color: #fff;
  width: 2.8rem;
  height: 2.8rem;
  background: transparent url(../../images/smartphone/close.png) no-repeat center center;
  background-size: 1.8rem 1.8rem;
  cursor: pointer;
}

/* ============================================
    search-input-box
 ============================================ */
.search-input-box {
  display: flex;
  align-items: center;
}

@media (max-width: 768px) {
  .search-input-box {
    flex-wrap: wrap;
  }
}

.search-input-box__input {
  width: 80%;
  padding: 1.8rem;
  border: solid 0.1rem #333;
  font-size: 1.4rem;
  border-radius: 0.6rem;
  margin-right: 1%;
}

@media (max-width: 768px) {
  .search-input-box__input {
    width: 100%;
    margin: 0 0 1rem;
  }
}

.search-input-box__input::placeholder {
  color: #939393;
}

.search-input-box__submit {
  width: 19%;
  border-radius: 0.6rem;
  background: #3C72CB;
  padding: 1.8rem 2.8rem 1.8rem 1.8rem;
  color: #fff;
  border: none;
  cursor: pointer;
  font-weight: bold;
}

@media (max-width: 768px) {
  .search-input-box__submit {
    width: 100%;
    padding: 1.8rem 3.8rem 1.8rem 1.8rem;
  }
  .search-input-box__submit--checkbox {
    order: 2;
  }
}


/* ============================================
    select-btn
 ============================================ */
/* select-btn-standard */
.select-btn {
  display: flex;
  align-items: center;
}

.select-btn__list-wrap {
  width: 20%;
  position: relative;
}

.select-btn__list-wrap--30per {
  width: 30%;
}

.select-btn__list-wrap--40per {
  width: 40%;
}

.select-btn__list-wrap--50per {
  width: 50%;
}

@media (max-width: 768px) {
  .select-btn__list-wrap {
    width: 100%;
  }
}

.select-btn__list-wrap:after {
  display: block;
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  border-top: solid 0.2rem #333;
  border-right: solid 0.2rem #333;
  position: absolute;
  right: 1.4rem;
  top: 1.4rem;
  transform: rotate(135deg);
}

.select-btn__list-wrap:hover:after {
  cursor: pointer;
}

.select-list-btn,
.select-list-btn-calendar {
  padding: 1.2rem 1.8rem;
  border: solid 0.1rem #333;
  font-size: 1.4rem;
  border-radius: 0.6rem;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  background: #fff;
  color: #333;
}

/* select-btn-drawer-viewed */

.btn-viewed-date {
  border: solid 0.1rem;
  border-radius: 0.6rem;
  height: 4.7rem;
  padding: 1rem 1.5rem;
  margin-bottom: 1rem;
}

.link-btn-viewed--frame-btn {
  display: block;
  background: #fff;
  border: 0.1rem solid #3C72CB;
  color: #3C72CB;
  text-align: center;
  text-decoration: none;
  border-radius: 0.6rem;
  font-weight: bold;
  font-size: 1.4rem;
  padding: 1.2rem 1rem;
  width: 100%;
  cursor: pointer;
}

.link-btn-viewed-select {
  padding: 1.3rem 1.8rem;
  border-radius: 0.6rem;
  font-size: 1.4rem;
  font-weight: bold;
  background: #C4D3EB;
  width: 100%;
  text-align: center;
  cursor: pointer;
  color: #3C72CB;
}

.link-btn-viewed-select--icon-btn {
  padding: 1.2rem 1rem;
  background: #fff;
  border: solid 0.1rem #d9d9d9;
  display: flex;
  text-align: left;
  color: #333;
  position: relative;
}

.link-btn-viewed-select--icon-btn:before {
  content: "\e95e";
  font-family: "icon";
  font-size: 1.8rem;
  color: #d9d9d9;
  position: absolute;
  top: 0.9rem;
  left: 0.8rem;
}

.link-btn-viewed-select--icon-btn .link-btn-viewed-select__text {
  justify-content: flex-start;
  display: flex;
  margin: 0 auto 0 0;
  padding-left: 2.4rem;
}

.link-btn-viewed-select--active {
  background: #F8E2BE;
  color: #FD9C00;
}

.link-btn-viewed-select--icon-btn.link-btn-viewed-select--active {
  background: #fff;
  color: #3C72CB;
  border: solid 0.1rem #3C72CB;
}

.link-btn-viewed-select--icon-btn.link-btn-viewed-select--active:before {
  font-size: 1.8rem;
  color: #3C72CB;
}

.link-btn-viewed-select--null {
  background: #fff;
  color: #f2f2f2;
  border: solid 0.1rem #d9d9d9;
  cursor: auto;
}

.link-btn-viewed-select--null:before {
  color: #f2f2f2;
}

.link-btn-viewed-select--null .movie-impresses__impress {
  opacity: 0.2;
}

.link-btn-viewed-select__input {
  visibility: hidden;
  height: 0;
  width: 0;
  margin: 0;
  padding: 0;
}

.link-btn-viewed-select__text {
  margin: 0 auto;
}


.select-btn-viewed-area,
.select-btn-viewed--1column {
  justify-content: center;
}

.select-btn-viewed-area .select-btn__list-wrap {
  width: 45%;
}

.select-btn-viewed--1column .select-btn__list-wrap {
  width: 92.2%;
}

.select-btn-viewed--2column,
.select-btn-viewed--3column {
  justify-content: space-between;
}

.select-btn-viewed--2column {
  justify-content: space-between;
}

.select-btn-viewed--2column .link-btn-viewed-select {
  width: 49%;
}

.select-btn-viewed--3column .link-btn-viewed-select {
  width: 32%;
}

@media (max-width: 768px) {
  .select-btn-viewed--3column-sp2column .link-btn-viewed-select {
    width: 49%;
  }
}

.viewing-history-controls__submit {
  border-radius: 0.6rem !important;
  background: #3C72CB !important;
  padding: 1.8rem 2.8rem 1.8rem 1.8rem !important;
  color: #fff !important;
  border: none !important;
  cursor: pointer;
  font-weight: bold;
  width: 100%;
  font-size: 1.4rem;
}

.viewing-history-controls__submit:hover,
.viewing-history-controls__reset:hover {
  color: #FD9C00 !important;
}

.viewing-history-controls__reset {
  font-size: 1.4rem;
  font-weight: bold;
  cursor: pointer;
  display: block;
  border: none !important;
  background: none !important;
  color: #3b72cb !important;
  margin: 0 auto;
}

.viewing-history-controls__reset--disabled,
.viewing-history-controls__reset--disabled:hover {
  color: #d9d9d9 !important;
  cursor: inherit;
}

.select-btn-calendar {
  width: 25%;
  margin: 0 auto;
  margin-bottom: 4rem;
}

@media (max-width: 768px) {
  .select-btn-calendar {
    width: 40%;
    margin-bottom: 3rem;
  }
}

.select-btn-calendar__list-wrap {
  position: relative;
  background: #f2f2f2;
  margin: 0 auto 0.4rem;
  height: 11.2rem;
}

.select-btn-calendar__list-wrap:after {
  display: block;
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  border-top: solid 0.2rem #333;
  border-right: solid 0.2rem #333;
  position: absolute;
  right: 1.4rem;
  top: 0;
  transform: rotate(135deg);
  pointer-events: none;
}

/* ============================================
      calendar
 ============================================ */
.calendar__container {
  display: flex;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .calendar__container {
    display: inherit;
  }
}

.calendar__wrap {
  width: 31.3%;
  margin: 0 2rem 3rem 0;
}

@media (max-width: 768px) {
  .calendar__wrap {
    width: 100%;
  }
}

.calendar__wrap:nth-child(3n) {
  margin-right: 0;
}

.calendar__month {
  text-align: left;
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 1.6rem;
}

@media (max-width: 768px) {
  .calendar__month {
    text-align: center;
  }
}

.calendar__day-of-week {
  font-weight: bold;
  background: #f5f5f5;
  font-size: 1.2rem;
  padding: 0.4rem;
  border: 0.1rem solid #999;
  text-align: center;
  font-size: 1.4rem;
  letter-spacing: 0;
}

.calendar__day-of-week--sunday {
  color: #EE4056;
}

.calendar__day {
  border: 0.1rem solid #999;
  text-align: center;
  font-size: 1.4rem;
  letter-spacing: 0;
  color: #d9d9d9;
}

.calendar__day-link {
  display: block;
  padding: 0.4rem;
}

@media (max-width: 768px) {

  .calendar__day-of-week,
  .calendar__day {
    padding: 1rem;
  }
}

.calendar__list-wrap {
  background: #f5f5f5;
  border-radius: 0.3rem;
  font-size: 1.2rem;
  padding: 2rem 1rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, 60px);
  justify-content: center;
  grid-gap: 5px;
}

.calendar__year {
  padding: 0.5rem 0.5rem;
  text-align: center;
}

.calendar__year--active {
  background: #3C72CB;
  color: #fff;
  border-radius: 0.3rem;
  pointer-events: none;
}

/* ============================================
    table-basic
 ============================================ */
.table {
  width: 100%;
  border-collapse: collapse;
}

.table__header,
.table__data {
  border: 0.1rem solid #ddd;
  padding: 0.8rem;
}

.table__header {
  background-color: #f2f2f2;
  width: 18rem;
}

.table__link {
  color: #000;
  text-decoration: none;
}

.table__list {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.table__list-item {
  margin-bottom: 0.5rem;
}

@media (max-width: 768px) {

  .table,
  .table__body,
  .table__row,
  .table__header,
  .table__data {
    display: block;
    width: 100%;
  }

  .table__header,
  .table__data {
    text-align: left;
    border: none;
    padding: 0.8rem;
  }

  .table__header {
    background-color: #f2f2f2;
    border-bottom: 0.1rem solid #ddd;
  }
}

.ranking-archive {
  width: 100%;
  border-collapse: collapse;
}

.ranking-archive__header,
.ranking-archive__data {
  border: 0.1rem solid #ddd;
  padding: 0.8rem;
}

.ranking-archive__header {
  background-color: #f2f2f2;
}

.ranking-archive__header--left {
  width: 15rem;
}

/* ============================================
    checkbox-group
 ============================================ */
.checkbox-group-wrap {
  padding: 2rem 1rem 3rem;
  background: #f2f2f2;
}

.checkbox-group {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  /* Optional: space between items */
}

.checkbox-group__item {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
  cursor: pointer
}

.checkbox-group__input {
  margin-right: 0.5rem;
  cursor: pointer
  /* Optional: space between checkbox and label */
}

.checkbox-group__label {
  width: 100%;
  cursor: pointer
}

@media (max-width: 768px) {
  .checkbox-group {
    grid-template-columns: 1fr;
    /* 1 column layout */
  }
}

/* ============================================
    rank-circle
 ============================================ */
.rank-circle {
  background: #333;
  color: #fff;
  border-radius: 50%;
  display: inline-block;
  position: relative;
}

.rank-circle--15 {
  width: 1.5rem;
  height: 1.5rem;
  margin: 0 0.3rem -0.1rem 0;
}

.rank-circle__inner {
  position: absolute;
  transform: translate(-50%, -50%);
}

.rank-circle__inner--15 {
  top: 50%;
  left: 46%;
  font-size: 0.7em;
  letter-spacing: -0.1em;
}

/* ============================================
    kana / alphabet / number search
 ============================================ */

.search-container {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
}

@media (max-width: 768px) {
  .search-container {
    flex-wrap: wrap;
  }
}

.search-container__kana,
.search-container__alphabet {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.8rem;
  font-size: 1.5rem;
  width: 50%;
}

@media (max-width: 768px) {

  .search-container__kana,
  .search-container__alphabet {
    width: 100%;
  }
}

.search-container__item {
  position: relative;
}

.search-container__link {
  display: block;
  width: 100%;
  padding-top: 100%;
  box-sizing: border-box;
  text-align: center;
  text-decoration: none;
  border: 0.1rem solid #06c;
  border-radius: 3px;
  font-weight: bold;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2), 0 1px 4px rgba(0, 0, 0, 0.1);
  position: relative;
}

.search-container__link--active {
  background: #3c72cb;
  color: #fff;
}

.search-container__link span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}

.search-container__item--empty {
  pointer-events: none;
  visibility: hidden;
}

/* ============================================
    notification-bnr
 ============================================ */
.notification-bnr {
  padding: 2rem;
  display: block;
  color: #333;
  border-radius: 0.6rem;
  box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.2), 0 0.1rem 0.4rem 0 rgba(0, 0, 0, 0.1);
}

.notification-bnr:not(a) {
  border-radius: 0;
  box-shadow: none;
}

@media (max-width: 768px) {
  .notification-bnr {
    padding: 1rem;
  }
}

.notification-bnr--success {
  border: solid 0.2rem #509A68;
}

.notification-bnr--error {
  border: solid 0.2rem #EE4056;
}

.notification-bnr--warning {
  border: solid 0.2rem #FD9C00;
}

.notification-bnr__inner {
  position: relative;
  margin-left: 4rem;
}

@media (max-width: 768px) {
  .notification-bnr__inner {
    margin-left: 3.2rem;
  }
}

.notification-bnr__inner:before {
  position: absolute;
  left: -3.6rem;
  top: 0.2rem;
}

.notification-bnr__inner--success:before {
  color: #509A68;
}

.notification-bnr__inner--error:before {
  color: #EE4056;
}

.notification-bnr__inner--warning:before {
  color: #FD9C00;
}

@media (max-width: 768px) {
  .notification-bnr__inner:before {
    position: absolute;
    left: -3rem;
    top: 0.3rem;
  }
}

@media (max-width: 768px) {
  .notification-bnr__inner:before {
    font-size: 2.2rem !important;
    margin-right: 0.4rem !important;
  }
}

.notification-bnr__title {
  display: block;
  margin-bottom: 2rem;
  font-size: 2rem;
  font-weight: bold;
}

@media (max-width: 768px) {
  .notification-bnr__title {
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }
}

/* ============================================
    special
 ============================================ */
 @media (max-width: 768px) {
  .special-wrapper__main-content {
    margin-top: -11rem;
  }
}

.special-head {
  color: #385ea7;
  font-size: 1.6rem;
  margin-bottom: 1.6rem;
}


.promotion {
  background: #939393;
  color: #fff;
  border-radius: 0.3rem;
  font-size: 1rem;
  padding: 0 0.4rem 0.1rem;
  line-height: 1em;
}

.promotion-right {
  position: relative;
  bottom: 0.3rem;
}

.title-wrapper-special {
  display: flex;
}

.title-wrapper-special__title {
  width: 100%;
}

@media (max-width: 768px) {
  .title-wrapper-special__link-btn {
    box-sizing: border-box;
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
    padding: 1rem;
    overflow: hidden;
    background: rgba(51, 51, 51, 0.85);
    z-index: 1000;
    margin-bottom: 0;
    padding-bottom: 0;
  }

  .title-wrapper-special__link-btn-box {
    width: 90%;
    display: flex;
    flex-direction: row-reverse;
  }

  .title-wrapper-special__link-btn-box .icon.next-circle {
    position: relative;
    top: 0.05rem;
  }

  .title-wrapper-special__link-btn-box .icon.icon-theater4 {
    position: relative;
    top: 0.2rem;
  }

  .title-wrapper-special-items:nth-child(2) {
    display: none;
  }

  .title-wrapper-special__link-btn .icon-movie-checkin {
    position: absolute;
    right: 0;
    bottom: 1.4rem;
  }
}

.title-wrapper-special__theater-btn,
.title-wrapper-special__video-btn,
.title-wrapper-special__return-btn {
  display: block;
  background: #fff;
  border: 0.1rem solid #3C72CB;
  color: #3C72CB;
  text-align: center;
  text-decoration: none;
  border-radius: 0.3rem;
  font-weight: bold;
  font-size: 1.5rem;
  padding: 0.85rem 1rem;
  box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.2), 0 0.1rem 0.4rem 0 rgba(0, 0, 0, 0.1);
  margin-bottom: 0.8rem;
  width: 15rem;
}

.title-wrapper-special__theater-btn {
  color: #fff;
  background: #3C72CB;
}

.title-wrapper-special__video-btn {
  cursor: pointer;
}

@media (max-width: 768px) {

  .title-wrapper-special__theater-btn,
  .title-wrapper-special__return-btn {
    font-size: 1.2rem;
    width: 100%;
    margin-right: 2%;
  }

  .title-wrapper-special__theater-btn {
    padding: 0.8rem 0;
    margin-right: 0.5rem;
    width: 100%;
  }

  .title-wrapper-special__return-btn {
    padding: 0.97rem 0rem;
    display: block;
    width: 100%;
  }
}

.checkin-share__wrap {
  position: relative;
  margin-bottom: 0.8rem;
  display: flex;
}

.checkin-share-top {
  margin-top: -5rem;
}

@media (max-width: 768px) {
  .checkin-share__wrap {
    margin-bottom: 1rem;
  }

  .checkin-share-top {
    margin-top: -2rem;
  }
}

.checkin-title__wrap {
  position: absolute;
  right: 10rem;
}

@media (max-width: 768px) {
  .checkin-title__wrap {
    right: 9.0rem;
    font-size: 1.2rem
  }
}

.checkin-share-btn__wrap {
  position: absolute;
  right: 0;
  display: flex;
}

.checkin-title__text {
  white-space: nowrap;
  max-width: 43rem;
}

@media (max-width: 768px) {
  .checkin-title__text {
    max-width: inherit;
  }
}

.ballon {
  position: relative;
  padding: 0.5rem 1rem;
  background: #fff;
  border: 0.1rem solid #999;
  border-radius: 2rem;
  font-size: 1.4rem;
}

@media (max-width: 768px) {
  .ballon {
    padding: 0.3rem 1rem;
    font-size: 1.2rem;
  }
}

.ballon::before {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  right: -1rem;
  top: 1rem;
  border-left: 1rem solid #999;
  border-top: 0.5rem solid transparent;
  border-bottom: 0.5rem solid transparent;
}

@media (max-width: 768px) {
  .ballon::before {
    top: 0.8rem;
    border-top: 0.4rem solid transparent;
    border-bottom: 0.4rem solid transparent;
  }
}

.ballon::after {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  right: -0.8rem;
  top: 1rem;
  border-left: 1rem solid #fff;
  border-top: 0.5rem solid transparent;
  border-bottom: 0.5rem solid transparent;
}

@media (max-width: 768px) {
  .ballon::after {
    top: 0.8rem;
    border-top: 0.4rem solid transparent;
    border-bottom: 0.4rem solid transparent;
  }
}

.page-title-special {
  color: #333;
}

@media (max-width: 768px) {
  .page-title-special {
    font-size: 1.8rem;
  }
}

.list-wrapper-special {
  background: #f2f2f2;
  padding: 2rem 2rem;
}

@media (max-width: 768px) {
  .list-wrapper-special {
    padding: 1.5rem 1rem;
  }
}

.list-wrapper-special__items {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: solid 0.1rem #d9d9d9;
  font-weight: bold;
}

@media (max-width: 768px) {
  .list-wrapper-special__items {
    font-size: 1.4rem;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
  }
}

.list-wrapper-special__items:last-of-type {
  margin-bottom: 0;
  border-bottom: 0;
  padding-bottom: 0;
}

.list-wrapper-special__link {
  display: flex;
  position: relative;
}

.list-wrapper-special__link:hover .list-wrapper-special__number {
  border: 0.1rem solid #FD9C00;
}

.list-wrapper-special__number {
  border: 0.1rem solid #3C72CB;
  border-radius: 0.3rem;
  background: #fff;
  padding: 0.2rem 0.8rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.list-wrapper-special__txt {
  margin: 0.4rem 0 0 7.5rem;
}

.list-wrapper-special__number-current {
  border: 0.1rem solid #FD9C00;
  background: #FD9C00;
  color: #fff;
}

.list-wrapper-special__txt-current {
  color: #FD9C00;
}

/* ============================================
    movie
 ============================================ */
/* movie-tabs */
.movie-tabs {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  overflow: hidden;
}

.movie-tabs__container {
  flex: 1;
  overflow: hidden;
  position: relative;
}

.movie-tabs__wrapper {
  display: flex;
  overflow-x: auto;
  white-space: nowrap;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
}

.movie-tabs__wrapper::-webkit-scrollbar {
  display: none;
}

.movie-tabs__item {
  display: block;
  padding: 1rem;
  text-align: center;
  text-decoration: none;
  border: 0.1rem solid transparent;
  border-right: solid 0.2rem #fff;
  font-weight: bold;
  flex: 0 0 auto;
  margin-right: 0.8rem;
  transition: .3s;
  font-size: 1.5rem;
}

.movie-tabs__item--type-tag {
  padding: 0.2rem 1rem;
  border: 0.1rem solid #3C72CB;
  font-weight: bold;
  font-size: 1.5rem;
  border-radius: 0.6rem
}

.movie-tabs__item--active,
.movie-tabs__item:hover {
  background-color: #f5f5f5;
  border-radius: 50px;
  transition: .3s;
}

.movie-tabs__item--type-tag.movie-tabs__item--active,
.movie-tabs__item--type-tag:hover {
  background-color: #3C72CB;
  color: #fff;
  border-radius: 0.6rem
}

.movie-tabs__button {
  background: #333;
  color: white;
  border: none;
  padding: 0.5rem 1rem;
  cursor: pointer;
  font-size: 0.9rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  height: 100%;
  width: 1rem;
}

.movie-tabs__button--prev {
  left: -0.1rem;
  background: linear-gradient(90deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);
}

.movie-tabs__prev-icon,
.movie-tabs__next-icon {
  position: relative;
}

.movie-tabs__prev-icon:after,
.movie-tabs__next-icon:after {
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  border-top: solid 0.2rem #333;
  border-right: solid 0.2rem #333;
  position: absolute;
  top: -0.5rem;
}

.movie-tabs__prev-icon:after {
  left: -0.2rem;
  transform: rotate(-135deg);
}

.movie-tabs__button--next {
  right: -0.1rem;
  background: linear-gradient(-90deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);
}

.movie-tabs__next-icon:after {
  left: -0.9rem;
  transform: rotate(45deg);
}

.movie-tabs__button.hidden {
  visibility: hidden;
}

/* hero-img */
.hero-img {
  position: relative;
  overflow: hidden;
  background: #e5e5e5;
  width: 67rem;
  height: 44.6rem;
}

@media (max-width: 768px) {
  .hero-img {
    width: 100%;
    aspect-ratio: 3 / 2;
    height: auto;
  }
}

.hero-img__bg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 768px) {
  .hero-img__bg {
    height: 100%;
    /* 高さを親要素にフィットさせる */
    width: auto;
    /* アスペクト比を維持して幅を調整 */
    object-fit: cover;
    /* 画像が親要素全体を覆う */
  }
}


.hero-img__data-wrap {
  display: flex;
  align-items: end;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 1rem;
  width: 100%;
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
}

.hero-img__data-inner--poster {
  width: 9.2rem !important;
  height: 12.8rem !important;
  display: block;
  overflow: hidden;
  background: #f2f2f2;
}

@media (max-width: 768px) {
  .hero-img__data-inner--poster {
    width: 7.1rem !important;
    height: 10rem !important;
  }
}

.hero-img__data-img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 170%;
  max-height: 100%;
  object-fit: contain;
}

.hero-img__data-inner--text {
  margin-left: 1rem;
  color: #fff;
  width: calc(100% - 9.2rem);
}

@media (max-width: 768px) {
  .hero-img__data-inner--text {
    width: calc(100% - 7.1rem);
  }
}

.hero-img__title {
  font-weight: bold;
  font-size: 1.6rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.hero-img__data-description {
  font-size: 1.2rem;
}

.hero-img__atb-logo {
  position: absolute;
  top: 0.8rem;
  right: 0.8rem;
  width: 15rem;
}

@media (max-width: 768px) {
  .hero-img__atb-logo {
    width: 10rem;
    right: 0.4rem;
    top: 0.4rem;
  }
}

/* movie-actions */
.movie-actions {
  display: flex;
  align-items: center;
  justify-content: space-around;
}

@media (max-width: 768px) {
  .movie-actions {
    width: 100%;
  }
}

.movie-actions__item {
  width: 25%;
  display: flex;
  justify-content: center;
  border-right: solid 0.1rem #d9d9d9;
}

.movie-actions__item:last-of-type {
  border-right: none;
}

.movie-actions__link {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 9rem;
}

@media (max-width: 768px) {
  .movie-actions__link {
    width: 8rem;
  }
}

.movie-actions__text {
  width: 100%;
  text-align: center;
  font-size: 1.4rem;
  white-space: nowrap;
  display: block;
  font-weight: bold;
}

@media (max-width: 768px) {
  .movie-actions__text {
    font-size: 1.2rem;
  }
}

.checkin-btn--active + .movie-actions__text {
  color: #FD9C00;
}
.viewed-btn--active + .movie-actions__text {
  color: #FD9C00;
}
.viewed-btn + .movie-actions__text:before {
  content: "未鑑賞";
}
.viewed-btn.viewed-btn--active + .movie-actions__text:before {
  content: "鑑賞済";
}
.write-btn + .movie-actions__text:before {
  content: "レビュー";
}
.write-btn.review-star-btn--active + .movie-actions__text:before {
  content: "未レビュー";
}
.write-btn.review-star-btn--active.has-review-body + .movie-actions__text:before {
  content: "レビュー済";
}
.write-btn--active + .movie-actions__text {
  color: #FD9C00;
}

/* movie-data */
.movie-data__list {
  border-bottom: 1px solid #f2f2f2;
  padding: 1rem 0;
  display: flex;
  width: 100%;
}

.movie-data__category {
  color: #636363;
  width: 20%;
}

.movie-data__discryption {
  color: #333;
  width: 80%;
}

/* movie-award */
.movie-award__detail {
  display: none;
  margin-bottom: 3rem;
}

.movie-award--expanded .movie-award__detail {
  display: block;
}

.movie-award__item {
  margin-bottom: 1rem;
}

.movie-award__item:last-of-type {
  margin-bottom: 1.5rem;
}

.movie-award__item-link {
  margin-bottom: 0rem;
  display: block;
}

.movie-award__status {
  font-weight: normal;
  font-size: 1.5rem;
  background: #f2f2f2;
  padding: 1rem;
  margin: 2rem 0;
}

.movie-award__status--winner {
  background: #f7e1a1;
}

.movie-award__content {
  margin-bottom: 1.5rem;
  width: 100%;
  display: flex;
}

.movie-award__category {
  width: 30%;
}

.movie-award__result {
  width: 70%;
  padding-left: 1rem;
}


.movie-award__toggle-button {
  padding: 1rem;
  display: block;
  cursor: pointer;
  color: #3C72CB;
  text-align: center;
  font-weight: bold;
  font-size: 1.2rem;
  border: solid 0.1rem #3C72CB;
  border-radius: 0.3rem;
  background: #fff;
  width: 80%;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .movie-award__toggle-button {
    padding: 1rem;
    font-size: 1.2rem;
    width: 100%
  }
}

.movie-award__toggle-button:hover {
  color: #FD9C00;
}

.movie-award--expanded .movie-award__toggle-button {
  display: none;
}

/* profile-list */
/* 共通設定 */
.profile-list-wrap {
  min-height: 28rem;
}

@media (max-width: 768px) {
  .profile-list-wrap {
    min-height: 23rem;
  }
}

.profile-list {
  min-height: 16.8rem;
}

@media (max-width: 768px) {
  .profile-list {
    overflow: hidden;
    position: relative;
  }
}

.profile-list.expanded {
  min-height: auto;
}

.profile-list.expanded>.profile-list__container {
  overflow: visible;
  max-height: none;
}

/* PCレイアウト用設定 */
.profile-list__container {
  display: flex;
  flex-wrap: wrap;
  max-height: 21rem;
  overflow: hidden;
  transition: max-height 0.3s ease;
  position: relative;
  align-items: flex-start;
}

@media (max-width: 768px) {
  .profile-list__container {
    flex-wrap: wrap;
    overflow: visible;
    display: flex;
    transition: transform 0.3s ease;
    width: 100%;
    max-height: 34rem;
  }
}

.profile-list__container.show-more {
  max-height: none;
  /* 高さ制限を解除して全体を表示 */
}

.profile-list__item {
  width: 18.4%;
  margin-right: 2%;
  text-align: center;
  background-color: #fff;
  padding: 1rem;
  border-radius: 1rem;
  text-decoration: none;
  color: inherit;
  box-sizing: border-box;
  margin-bottom: 1rem;
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

@media (max-width: 768px) {
  .profile-list__item {
    width: 100%;
    margin-right: 2%;
    flex-wrap: nowrap;
    justify-content: flex-start;
    position: relative;
    padding-right: 3rem;
  }
}

@media (max-width: 768px) {
  .profile-list__item:after {
    content: "";
    width: 1rem;
    height: 1rem;
    border-top: solid 0.2rem #939393;
    border-right: solid 0.2rem #939393;
    position: absolute;
    top: 40%;
    transform: rotate(45deg);
    right: 1rem;
  }
}

@media (max-width: 768px) {
  .profile-list__item:nth-child(n+4) {
    visibility: hidden;
  }
}

@media (max-width: 768px) {
  .profile-list.expanded .profile-list__item:nth-child(n+4) {
    visibility: visible;
  }
}

.profile-list__item:nth-child(5n) {
  margin-right: 0;
}

@media (max-width: 768px) {
  .profile-list__item:nth-child(5n) {
    margin-right: 2%;
  }
}

.profile-list__image-wrap {
  position: relative;
}

.profile-list__image {
  width: 10.3rem;
  height: 10.3rem;
  border-radius: 50%;
  margin-bottom: 0.6rem;
}

@media (max-width: 768px) {
  .profile-list__image {
    width: 8rem;
    height: auto;
  }
}

@media (max-width: 768px) {
  .profile-list__text-wrap {
    text-align: left;
    margin-left: 1rem;
    width: calc(100% - 8rem);
  }
}

.profile-list__actor-name {
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.2em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  width: 100%;
  margin-bottom: 0.4rem;
  color: #333;
}

.clickable__trigger:hover .profile-list__actor-name {
  color: #FFBC00;
}

.profile-list__role-name {
  font-size: 1.2rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  color: #636363;
  line-height: 1.2em;
  width: 100%;
}

.profile-list__season {
  font-size: 1.2rem;
  margin-top: 0.2rem;
  color: #636363;
}

.profile-list__button-show-more,
.profile-list__button-close,
.staff-list-btn {
  padding: 1rem;
  display: block;
  cursor: pointer;
  color: #3C72CB;
  text-align: center;
  font-weight: bold;
  font-size: 1.2rem;
  border: solid 0.1rem #3C72CB;
  border-radius: 0.3rem;
  background: #fff;
  width: 80%;
  margin: 0 auto;
  position: relative;
}

.profile-list__button-show-more:after,
.staff-list-btn:after {
  content: "";
  width: 1rem;
  height: 1rem;
  border: 0;
  border-color: #fff #fff #0868ba;
  border-right: 0.2rem solid #0868ba;
  border-top: 0.2rem solid #0868ba;
  transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  position: absolute;
  top: 30%;
  right: 36%;
  transition: 0.3s;
}

@media (max-width: 768px) {
  .profile-list__button-show-more:after {
    right: 26%;
  }
}

.profile-list.expanded>.profile-list__button-show-more:after {
  content: "";
  width: 1rem;
  height: 1rem;
  border: 0;
  border-color: #fff #fff #0868ba;
  border-right: 0.2rem solid #0868ba;
  border-top: 0.2rem solid #0868ba;
  transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  position: absolute;
  top: 40%;
  right: 36%;
  transition: 0.3s;
}


.profile-list__button-close {
  display: none;
}

.profile-list__button-show-more {
  display: none;
}

.profile-list .profile-list__button-show-more:before {
  content: "キャストを全て見る";
}
.profile-list.expanded .profile-list__button-show-more:before {
  content: "閉じる";
}

/* staff-list */
.staff-list-wrapper {
  margin-bottom: 2rem;
}

.staff-list__title {
  font-size: 1.4rem;
  margin: 1.6rem 0 0;
  line-height: 1.3;
  color: #333;
  font-weight: bold;
  letter-spacing: 0;
}

.staff-list__item {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #f2f2f2;
  padding: 1rem 3rem 1rem 0;
  position: relative;
  color: #333;
}

.staff-list__item:after {
  content: "";
  width: 1rem;
  height: 1rem;
  border-top: solid 0.2rem #939393;
  border-right: solid 0.2rem #939393;
  position: absolute;
  top: 40%;
  transform: rotate(45deg);
  right: 1rem;
}

.staff-list__job-title {
  font-size: 1.2rem;
  display: block;
  color: #636363;
}

.staff-list__name {
  font-size: 1.4rem;
  display: block;
  font-weight: bold;
  color: #333;
}

.clickable__trigger:hover .staff-list__name {
  color: #FFBC00;
}

.staff-list-btn.toggle-btn--close:after {
  content: "";
  width: 1rem;
  height: 1rem;
  border: 0;
  border-color: #fff #fff #0868ba;
  border-right: 0.2rem solid #0868ba;
  border-top: 0.2rem solid #0868ba;
  transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  position: absolute;
  top: 40%;
  right: 36%;
  transition: 0.3s;
}

@media (max-width: 768px) {
  .staff-list-btn:after {
    right: 26%;
  }
}

.staff-list-btn:before {
  content: "スタッフをすべて見る";
}
.staff-list-btn.toggle-btn--close:before {
  content: "閉じる";
}

/* subscription-list */
.subscription-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
  margin: 2rem 0 0;
}

@media (max-width: 768px) {
  .subscription-list {
    margin: 1rem 1.4rem;
  }
}

.subscription-list__item {
  width: 10.75%;
  margin-bottom: 2%;
}

@media (max-width: 768px) {
  .subscription-list__item {
    width: 15%;
  }
}

.subscription-list__item--large {
  width: 49%;
  border-radius: 1.4rem;
  display: flex;
  align-items: center;
}

.subscription-list__link--large {
  display: flex;
  align-items: center;
  justify-content: center;
}

.subscription-list__image--large {
  width: 80%;
}

.subscription-list--small {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
  margin: 2rem 0 0;
}

@media (max-width: 768px) {
  .subscription-list--small {
    margin: 1rem 1.4rem;
    gap: 4%;
  }
}

.subscription-list__item--small {
  width: 7.2%;
  margin-bottom: 2%;
}

@media (max-width: 768px) {
  .subscription-list__item--small {
    width: 13.3%;
    margin-bottom: 4%;
  }
}

/* review parts */
.review-tool {
  display: table;
  width: 100%;
  margin-bottom: 2rem;
}

.review-tool__cell {
  display: flex;
  padding: 0;
  position: relative;
  align-items: baseline;
}

@media (max-width: 768px) {
  .review-tool__cell {
    flex-wrap: wrap;
  }
}

.review-score__form {
  display: flex;
  border-right: dotted 1px #ccc;
  width: 24rem;
  margin-right: 2rem;
  align-items: center;
  height: 3.6rem;
}

@media (max-width: 768px) {
  .review-score__form {
    border-right: none;
    width: 100%;
    margin-bottom: 1rem;
  }
}

.review-score__stars {
  cursor: pointer;
  width: 13rem;
  display: flex;
  align-items: center;
  margin: 0 0 0 0.4rem;
}

.review-score__stars--confirm {
  width: 11.5rem;
  cursor: auto;
}


.review-score__star {
  display: inline-block;
  padding: 0 0.2rem 0.3rem 0;
}

.review-score__cancel {
  cursor: pointer;
  height: 100%;
}

.review-score__value {
  display: inline-block;
  width: 3rem;
  text-align: center;
  font-weight: bold;
}

.review-score__submit {
  visibility: hidden;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
}

.review-score__input {
  display: none;
}

.review-score__write-wrap {
  display: flex;
  align-items: center;
  width: 410px;
}

@media (max-width: 768px) {
  .review-score__write-wrap {
    width: 100%;
  }
}

.review-score__write-btn {
  padding: 0.4rem 1rem;
  border: solid 1px #3C72CB;
  border-radius: 0.6rem;
  width: 170px;
}

@media (max-width: 768px) {
  .review-score__write-btn {
    width: 46%;
    font-size: 1.4rem;
    padding: 0.2rem 0rem;
    text-align: center;
    margin-right: 2%
  }
}

.review-score__write-btn:before {
  margin: 0.2rem !important;
}

@media (max-width: 768px) {
  .review-score__write-btn:before {
    font-size: 2.4rem !important;
  }
}


.review-score__write-status {
  background: #f2f2f2;
  padding: 0.3rem;
  margin: 0 0 0 auto;
  display: flex;
  width: 22.4rem;
}

@media (max-width: 768px) {
  .review-score__write-status {
    padding: 0.3rem;
    margin: 0 0 0 auto;
    width: 52%;
  }
}

.write-status {
  width: 50%;
  text-align: center;
  color: #939393;
  white-space: nowrap
}

@media (max-width: 768px) {
  .write-status {
    font-size: 1.2rem;
    padding: 0.6rem 0rem;
    letter-spacing: normal;
  }
}

.write-status--active-left {
  color: #fff;
  background: #636363;
}

.write-status--active-right {
  color: #fff;
  font-weight: bold;
  background: #FD9C00;
}

.review-guideline {
  background: #f2f2f2;
  text-align: center;
  padding: 1rem;
}

.rating-chart {
  display: flex;
  border: solid 0.2rem #D9D9D9;
  box-sizing: border-box;
}

.rating-chart__score-wrap {
  width: 30%;
  text-align: center;
  border-right: dotted 1px #939393;
  padding: 2rem 0;
}

@media (max-width: 768px) {
  .rating-chart__score-wrap {
    padding: 1rem;
  }
}

.rating-chart__score-title {
  font-weight: bold;
}

@media (max-width: 768px) {
  .rating-chart__score-title {
    font-size: 1.2rem;
  }
}

.rating-chart__score-data {
  display: block;
  font-size: 1.8rem;
}

.rating-chart__score-data--average {
  font-size: 3.6rem;
  font-weight: bold;
}

@media (max-width: 768px) {
  .rating-chart__score-data--average {
    font-size: 2.8rem;
  }
}

.rating-chart__graph-wrap {
  width: 70%;
  padding: 2rem;
}


@media (max-width: 768px) {
  .rating-chart__graph-wrap {
    padding: 1rem;
  }
}

.rating-chart__graph-result {
  display: flex;
  align-items: center;
  margin: 0 0 0.3rem 0px;
}

.graph-result-data {
  position: relative;
  width: 85%;
  margin: 0 0 0 1rem;
  border: none;
  background-color: #d9d9d9;
}

@media (max-width: 768px) {
  .graph-result-data {
    width: 74%;
    margin: 0 0 0 0.5rem;
  }
}

@media (max-width: 375px) {
  .graph-result-data {
    width: 70%;
  }
}

::-webkit-progress-bar {
  background-color: #d9d9d9;
}

::-moz-progress-bar {
  background-color: #FD9C00;
}

::-webkit-progress-value {
  background-color: #FD9C00;
}

.graph-result-data:after {
  content: attr(value)'%';
  position: absolute;
  top: -0.4rem;
  left: 102%;
}

@media (max-width: 768px) {
  .graph-result-data:after {
    left: 104%;
  }
}

.review-list-wrap {
  margin: 2rem 0 1rem;
}

@media (max-width: 768px) {
  .review-list-wrap {
    margin: 1rem 1.4rem;
  }
}

.review-list-item {
  border-bottom: solid 1px #f2f2f2;
  padding-bottom: 3rem;
  margin-bottom: 3rem;
}

.review-list-item__header {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}

.review-user-image {
  border-radius: 50%;
}

.review-user-name {
  font-weight: bold;
  font-size: 1.4rem;
  margin-left: 1rem;
  flex: 1;
  display: flex;
  align-items: center;
}

.review-user-follow {
  border: solid 1px #3C72CB;
  border-radius: 0.6rem;
  padding: 0.2rem 1rem;
  margin: 0 1rem;
  font-size: 1.4rem;
}

.review-user-follow:before {
  content: "フォローする";
}
.review-user-follow.active:before {
  content: "フォロー中";
}

.review-user-edit {
  border: solid 1px #3C72CB;
  border-radius: 0.6rem;
  padding: 0.4rem 1.4rem;
  margin-left: auto;
}

.pulldown {
  border: none !important;
  margin-left: auto;
}

.pulldown__toggle {
  position: relative;
  display: block;
  padding: 0.2rem 1rem 1rem 0.4rem;
  cursor: pointer;
  width: 3rem;
  color: #06c;
  height: 3rem;
  border: 0.1rem solid #fff;
  transition: 0.3s;
  border-radius: 5rem;
}

.pulldown__toggle:hover {
  border: 0.1rem solid #06c;
  border-radius: 5rem;
  transition: 0.3s;
}

.pulldown__toggle--prof-user {
  padding: 0.4rem 1rem 1rem 0.7rem;
  width: 3.4rem;
  height: 3.4rem;
  margin-top: 0.2rem;
}

.pulldown__input {
  display: none;
}

.pulldown__menu {
  position: absolute;
  top: 4.2rem;
  right: -0.2rem;
  display: block;
  height: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border: 0 solid #ccc;
  transition: height 0.1s linear, border-width 0.1s linear;
  border-radius: 0.6rem;
  z-index: 11;
  box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.2), 0 0.1rem 0.4rem rgba(0, 0, 0, 0.1);
}

.pulldown__menu::before,
.pulldown__menu::after {
  content: " ";
  width: 0;
  height: 0;
  border: 0.6rem solid transparent;
  border-bottom: 0 solid #ccc;
  position: absolute;
}

.pulldown__menu::before {
  top: -1.6rem;
  right: 1rem;
}

.pulldown__menu::after {
  top: -1.4rem;
  right: 1rem;
  border-bottom: 0 solid #fff;
}

.pulldown__item {
  height: 0;
  line-height: 1.6rem;
  font-size: 1.6rem;
  overflow: hidden;
  border-bottom: none;
  transition: height 0.1s linear;
}

.pulldown__item--delate {
  border-radius: 0.6rem;
}

.pulldown__item:last-child {
  border-bottom-width: 0;
}

.pulldown__input:checked+.pulldown__menu {
  height: auto;
  border-width: 0.1rem;
}

.pulldown__input:checked+.pulldown__menu::before,
.pulldown__input:checked+.pulldown__menu::after {
  border-bottom-width: 1rem;
}

.pulldown__input:checked+.pulldown__menu .pulldown__item {
  height: auto;
  display: flex;
  background: #fff;
  margin: 0;
  border-radius: 0.6rem;
}

.pulldown__input:checked+.pulldown__menu .pulldown__item--top {
  border-radius: 0.5rem 0.5rem 0 0;
}

.pulldown__input:checked+.pulldown__menu .pulldown__item--middle {
  border-radius: 0;

}

.pulldown__input:checked+.pulldown__menu .pulldown__item--bottom {
  border-radius: 0 0 0.5rem 0.5rem;
}



.pulldown__input:checked+.pulldown__menu .pulldown__item:hover {
  color: #f33;
}

.pulldown__link {
  display: block;
  overflow: hidden;
  width: auto;
  min-width: 16rem;
  padding: 1rem;
  text-decoration: none;
  color: #06c;
  line-height: 1.3em;
  font-size: 1.5rem;
}

.pulldown__link:hover {
  color: #f33;
}

.pulldown__link span:last-of-type {
  display: block;
}

.pulldown__item img {
  vertical-align: middle;
}

.review-list-item__title {
  display: flex;
  margin-bottom: 1rem;
}

.review-title-text {
  font-size: 1.6rem;
  font-weight: bold;
  flex: 1;
}

.review-date {
  font-size: 1.2rem;
  margin-bottom: 1rem;
  color: #636363;
}

.review-text {
  font-size: 1.6rem;
  margin-bottom: 1rem;
  line-height: 1.8em;
}

.review-empathy-link {
  font-size: 1.4rem;
  margin-bottom: 1rem;
}

.review-log {
  font-size: 1.2rem;
  margin-bottom: 2rem;
  color: #636363;
}

.review-log__date {
  margin-right: 1rem;
}

.review-reaction {
  display: flex;
  font-size: 1.4rem;
}

.review-reaction__empathy {
  margin-right: 2rem;
}

.movie-impresses {
  margin-left: 1rem;
}

.movie-impresses__impress {
  display: inline-block;
  position: relative;
  width: 2rem;
  height: 2rem;
  font-size: 1.3rem;
  vertical-align: middle;
  background: url(../images/icon_impresses-face01.svg) no-repeat;
  background-position: 0 0;
  background-size: cover !important;
}

.movie-impresses__impress--face01 {
  background: url(../images/icon_impresses-face01.svg) no-repeat;
}

.movie-impresses__impress--face02 {
  background: url(../images/icon_impresses-face02.svg) no-repeat;
}

.movie-impresses__impress--face03 {
  background: url(../images/icon_impresses-face03.svg) no-repeat;
}

.movie-impresses__impress--face04 {
  background: url(../images/icon_impresses-face04.svg) no-repeat;
}

.movie-impresses__impress--face05 {
  background: url(../images/icon_impresses-face05.svg) no-repeat;
}

.movie-impresses__impress--face06 {
  background: url(../images/icon_impresses-face06.svg) no-repeat;
}

.movie-impresses__impress--face07 {
  background: url(../images/icon_impresses-face07.svg) no-repeat;
}

.movie-impresses__impress--face08 {
  background: url(../images/icon_impresses-face08.svg) no-repeat;
}

.movie-impresses__impress--face09 {
  background: url(../images/icon_impresses-face09.svg) no-repeat;
}

.movie-impresses__impress--face10 {
  background: url(../images/icon_impresses-face10.svg) no-repeat;
}

.movie-impresses__impress--face11 {
  background: url(../images/icon_impresses-face11.svg) no-repeat;
}

.movie-impresses__impress--face12 {
  background: url(../images/icon_impresses-face12.svg) no-repeat;
}

.movie-impresses__impress-text {
  position: absolute;
  visibility: hidden;
  background: #fff;
  height: 0;
  width: 0;
  margin: 0;
  padding: 0;
}

.review-spoiler-btn {
  background: #ee4056;
  border-radius: 20px;
  color: #fff;
  padding: 0 8px 1px;
  font-size: 1.4rem;
  margin: 0 8px 10px 0;
  display: inline-block;
  font-weight: normal;
  line-height: 1.6;
}

.review-title,
.review-txt {
  margin: 0 0 1.6rem;
}

.review-title__input-txt,
.review-txt__text-area {
  border: solid 0.1rem #d9d9d9;
  border-radius: 0.6rem;
  padding: 1rem;
  width: 100%;
  margin-bottom: 0.4rem;
}

.review-txt__text-area {
  max-width: 100%;
}

.review-title__count,
.review-txt__count {
  display: block;
  text-align: right;
  font-size: 1.4rem;
}

/* ============================================
    image-over-text
 ============================================ */
.image-over-text {
  position: relative;
}

.image-over-text__img-wrap {
  position: relative;
  overflow: hidden;
  background: #e5e5e5;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  display: block;
}

@media (max-width: 768px) {
  .image-over-text__img-wrap {
    width: 100%;
    aspect-ratio: 3 / 2;
    height: auto;
  }
}

.image-over-text__img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: 100%;
  object-fit: cover;
}


.image-over-text__data {
  width: 100%;
  position: absolute;
  bottom: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.9));
  height: auto;
  padding: 1.2rem
}

@media (max-width: 768px) {
  .image-over-text__data {
    padding: 1rem
  }
}

.image-over-text__title,
.image-over-text__lead,
.image-over-text__date {
  color: #fff;
  display: block;
  position: 10;
}

.image-over-text__title {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 0.4rem;
}

@media (max-width: 768px) {
  .image-over-text__title {
    font-size: 1.6rem;
  }
}

.image-over-text__lead {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 0.4rem;
}

@media (max-width: 768px) {
  .image-over-text__lead {
    font-size: 1.2rem;
    font-weight: normal;
  }
}

.image-over-text__date {
  font-size: 1.2rem;
}

@media (max-width: 768px) {
  .image-over-text__date {
    font-size: 1rem;
  }
}

/* ============================================
    clickable
 ============================================ */
.clickable {
  position: relative;
}

.clickable__trigger:before {
  content: "";
  position: absolute;
  inset: 0;
}

/* ============================================
    follow-btn
 ============================================ */

.follow-btn {
  display: block;
  width: 12.4rem;
  border: 0.1rem solid #06c;
  color: #06c;
  text-align: center;
  text-decoration: none;
  border-radius: 0.6rem;
  font-weight: bold;
  font-size: 1.6rem;
  padding: 0.8rem 0;
  line-height: 1;
  white-space: nowrap;
}

.follow-btn:hover {
  color: #fff;
  background: #3298fd;
  border: 0.1rem solid #3298fd;
}

.follow-btn::after {
  content: "する";
}

.follow-btn--active {
  background: #3298fd;
  border: 0.1rem solid #3298fd;
  color: #fff;
}

.follow-btn--active::after {
  content: "中";
}

.follow-btn--active:hover {
  background: #ee4056;
  border: 0.1rem solid #ee4056;
}

.follow-btn--active:hover::after {
  content: "解除";
}

.follow-btn--blocking {
  display: none;
}

@media (max-width: 768px) {
  .follow-btn {
    font-size: 1.2rem;
    padding: 1rem 0.6rem;
    width: 10rem;
  }
}

.follow-btn--small {
  border-radius: 0.6rem;
  padding: 0.6rem 0.1rem;
  margin: 0 1rem;
  font-size: 1.4rem;
  font-weight: normal;
  width: 10rem;
}

/* ============================================
    icons
 ============================================ */
@font-face {
  font-family: "icon";
  src: url("fonts/icon4.woff2?20250201") format("woff2"), url("fonts/icon4.woff?20250201") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/*icon before*/
.icon:before {
  font-family: "icon";
  font-size: 2.0rem;
  font-weight: normal;
  margin: -0.4rem 0.3rem 0 0;
  display: inline-block;
  line-height: 1;
  vertical-align: middle;
}

.icon.small:before {
  font-size: 1.2rem;
  margin: 0 0.4rem 0 0;
}

.icon.medium:before {
  font-size: 1.6rem;
  margin: 0 0.4rem 0 0;
}

.icon.large:before {
  font-size: 2.8rem;
  margin: 0 0.8rem 0.2rem 0;
}

.icon.xlarge:before {
  font-size: 3.6rem;
  margin: 0 0.4rem 0 0;
}

.icon.more:before {
  content: "\e916";
}

.icon.alert:before {
  content: "\e900";
}

.icon.arrow:before {
  content: "\e901";
  /*.arrow*/
}

.icon.arrow-up:before {
  content: "\e901";
  /*.arrow*/
  transform: rotate(-90deg);
}

.icon.up:before {
  content: "\e901";
  /*.arrow*/
  transform: rotate(-45deg);
  color: #ee4056;
}

.icon.arrow-down:before {
  content: "\e901";
  /*.arrow*/
  transform: rotate(90deg);
}

.icon.arrow-left:before {
  content: "\e901";
  /*.arrow*/
  transform: rotate(-180deg);
}

.icon.arrow2:before {
  content: "\e902";
}

.icon.arrow2--up:before {
  content: "\e902";
  margin: 0;
  transform: rotate(-45deg);
  color: #ff2e48;
}

.icon.arrow2--stay:before {
  content: "\e902";
  margin: 0;
  color: #39d784;
}

.icon.arrow2--down:before {
  content: "\e902";
  margin: 0;
  transform: rotate(45deg);
  color: #00c8ff;
}

.icon.arrow2--first:before {
  content: "初";
  margin: 0;
  color: #fdbf00;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: 0em;
  display: block;
}

@media (max-width: 768px) {
  .icon.arrow2--first:before {
    font-size: 1rem;
  }
}

.icon.arrow-down2:before {
  content: "\e904";
  /*.arrowopen*/
  font-size: 1.4rem;
}

.icon.close-arrow:before {
  content: "\e904";
  /*.arrowopen*/
  transform: rotate(-180deg);
}

.icon.award:before {
  content: "\e905";
}

.icon.calendar:before {
  content: "\e906";
}

.icon.checkin:before {
  content: "\e907";
}

.icon.checkin.checked:before {
  color: #fd7f03;
}

.icon.clear:before,
.icon.close:before {
  content: "\e93b";
}

.icon.copy:before {
  content: "\e909";
}

.icon.disc:before {
  content: "\e90a";
}

.icon.document:before {
  content: "\e90b";
}

.icon.eye:before {
  content: "\e90c";
}

.icon.fukidashi:before {
  content: "\e90d";
}

.icon.hamburger:before {
  content: "\e90e";
}

.icon.hand:before {
  content: "\e90f";
  font-size: 1.6rem;
  margin: -0.4rem 0 0;
}

.icon.heart:before {
  content: "\e910";
}

.icon.heart.active {
  color:#EE4056;
}

.icon.heart.active:before {
  content: "\e911";
}

.icon.heart-fill:before {
  content: "\e911";
}

.icon.history:before {
  content: "\e912";
}

.icon.home:before {
  content: "\e913";
}

.icon.link:before {
  content: "\e914";
}

.icon.mail:before {
  content: "\e915";
}

.icon.movie:before {
  content: "\e917";
}

.icon.news:before {
  content: "\e918";
}

.icon.notice:before {
  content: "\e91a";
}

.icon.official:before {
  content: "\e91b";
}

.icon.pin:before {
  content: "\e91c";
}

.icon.present:before {
  content: "\e91d";
}

.icon.print:before {
  content: "\e91f";
}

.icon.private:before {
  content: "\e920";
}

.icon.profile:before {
  content: "\e921";
}

.icon.question:before {
  content: "\e922";
}

.icon.ranking:before {
  content: "\e923";
}

.icon.revue:before {
  content: "\e925";
}

.icon.search:before {
  content: "\e926";
}

.icon.setting:before {
  content: "\e927";
}

.icon.sns-facebook:before {
  content: "\e928";
}

.icon.sns-gplus:before {
  content: "";
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  background-image: url(../../images/assets/icon_google.png);
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.6rem;
}

.icon.sns-apple:before {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-image: url(../../images/assets/icon_apple.png);
  background-size: contain;
  vertical-align: middle;
  margin-right: 0.6rem;
}

.icon.sns-kakaku:before {
  content: "";
  display: inline-block;
  width: 2.8rem;
  height: 2.6rem;
  background-image: url(../../images/assets/icon-kakaku.png);
  background-size: contain;
  vertical-align: middle;
  margin-right: 0;
}

.icon.sns-hatena:before {
  content: "\e92a";
}

.icon.sns-pocket:before {
  content: "\e92b";
}

.icon.sns-twitter:before {
  content: "\e92c";
}

.icon.QR:before {
  content: "\e93c";
}

.icon.theater2:before {
  content: "\e93d";
}

.icon .icon-pw-show:before {
  content: "\e93e";
}

.icon .icon-pw-blind:before {
  content: "\e93f";
}

.icon.theater:before {
  content: "\e92d";
}

.icon.ticket:before {
  content: "\e92e";
}

.icon.ticket1:before {
  content: "\e92f";
}

.icon.ticket2:before {
  content: "\e930";
}

.icon.ticket3:before {
  content: "\e931";
}

.icon.ticket4:before {
  content: "\e932";
}

.icon.ticket5:before {
  content: "\e933";
}

.icon.ticket6:before {
  content: "\e934";
}

.icon.ticket7:before {
  content: "\e935";
}

.icon.ticket8:before {
  content: "\e936";
}

.icon.video:before {
  content: "\e937";
}

.icon.video-fill:before {
  content: "\e938";
}

.icon.week:before {
  content: "\e939";
}

.icon.previous:before {
  content: "\e903";
  /*.arrowhead*/
  transform: scale(-1, 1);
  font-size: 1.6rem;
  line-height: 1.2;
}

.icon.previous-square:before {
  content: "\e919";
  /*.next-square*/
  transform: scale(-1, 1);
  font-size: 2.4rem;
  color: #fff;
  background: #3C72CB;
  border-radius: 0.2rem;
}

.icon.previous-circle:before {
  content: "\e91e";
  /*.previous-circle*/
  transform: scale(-1, 1);
  font-size: 3.6rem;
  background: #fff;
  border-radius: 100%;
}

.icon.next-circle:before {
  content: "\e91e";
  background: #fff;
  border-radius: 100%;
}

.icon.block:before {
  content: "\e940";
}

.icon.flag:before {
  content: "\e941";
}

.icon.unblock:before {
  content: "\e942";
}

.icon.movie-list:before {
  content: "\e943";
}

.icon-share:before {
  content: "\e944";
}

.icon-anime:before {
  content: "\e945";
}

.icon-eigacom:before {
  content: "\e946";
}

.icon-etc:before {
  content: "\e947";
}

.icon-knowledge:before {
  content: "\e948";
}

.icon-movie2:before {
  content: "\e949";
}

.icon-news2:before {
  content: "\e94a";
}

.icon-present2:before {
  content: "\e94b";
}

.icon-ranking2:before {
  content: "\e94c";
}

.icon-review:before {
  content: "\e94d";
}

.icon-theater3:before {
  content: "\e953";
}

.icon-viewed-off:before {
  content: "\e94e";
}

.icon-viewed-on:before {
  content: "\e94f";
}

.icon-write:before {
  content: "\e950";
}

.icon-check:before {
  content: "\e951";
}

.icon-cinema-eiga:before {
  content: "\e952";
}

.icon-movie3:before {
  content: "\e954";
}

.icon-news3:before {
  content: "\e955";
}

.icon-ranking3:before {
  content: "\e956";
}

.icon-theater4:before {
  content: "\e957";
}

.icon-activity:before {
  content: "\e958";
}

.icon-trend:before {
  content: "\e959";
}

.icon-week2:before {
  content: "\e95a";
}

.icon-video-play:before {
  content: "\e95b";
}

.icon-review-star:before {
  content: "\e95c";
}

.icon-error:before {
  content: "\e95d";
}

.icon-success:before {
  content: "\e95e";
}

.icon-warning:before {
  content: "\e95f";
}

.icon.w-cursor-width-previous:before {
  content: "\e960";
  transform: scale(-1, 1);
}

.icon.w-cursor-length:before {
  content: "\e961";
}

.icon-share-inversion:before {
  content: "\e962";
}

.icon-star-award:before {
  content: "\e963";
}

.icon-info:before {
  content: "\e964";
}

.icon-review-award:before {
  content: "\e965";
}

.icon-review-award--user-name {
  display: flex;
  align-items: center
}

.icon-review-award--user-name:before {
  color: #FFBC00;
  margin-left: 0.8rem;
  font-size: 1.6rem;
  margin-top: 0;
}

.icon-pen:before {
  content: "\e966";
}

/*icon pro user*/
.icon-pen--pro-user {
  background: #CEA537;
  border-radius: 0.3rem;
  color: #fff;
  padding: 0 0.4rem 0.1rem 0.4rem;
  font-size: 1rem;
  margin-left: 0.8rem
}

.icon-pen--pro-user:before {
  font-size: 1.2rem;
  padding: 0.3rem 0 0 0;
}

.icon-rss:before {
  content: "\e967";
}

.news-header-rss:before {
  cursor: pointer;
  font-size: 3rem;
}

.news-header-rss-link {
  position: absolute;
  right: 0;
  bottom: 1.8rem;
}

.icon-check2:before {
  content: "\e968";
}

.icon-check2--tag {
  position: relative;
  padding-left: 3rem;
  width: 7rem;
}

.icon-check2--tag:before {
  position: absolute;
  left: 1.2rem;
  top: 0.5rem;
  font-size: 1.8rem;
}

.icon-trend2:before {
  content: "\e969";
}

.icon-trend2--tag {
  position: relative;
  padding-left: 2.6rem;
  width: 7rem;
  white-space: nowrap;
}

.icon-trend2--tag:before {
  position: absolute;
  left: 0.6rem;
  top: 0.5rem;
  font-size: 1.8rem;
}

.icon-tag:before {
  content: "\e96a";
}

.news-tag-tagicon:before {
  font-size:1.8rem;
}

.news-tag-search:before {
  font-size: 1.6rem;
}

@media (max-width: 768px) {

  .news-tag-tagicon:before,
  .news-tag-search:before {
        font-size: 1.5rem;
  }
}

.icon-points:before {
  content: "\e96b";
}

.vod-detail-points-heading--icon:before {
  font-size: 3rem;
  margin-right: 0.5rem;
}

/*icon after*/
.icon-after {
  position: relative;
}

.icon-after:after {
  font-family: "icon";
  font-size: 2.0rem;
  font-weight: normal;
  margin: -0.4rem 0 0 0.2rem;
  display: inline-block;
  line-height: 1;
  vertical-align: middle;
}

.icon-after.arrowhead:after {
  content: "\e903";
  /*.arrowhead*/
}

.icon-after.arrowopen:after {
  content: "\e904";
  /*.arrowopen*/
  font-size: 1.4rem;
  margin: -0.4rem 0 0 0.2rem;
  color: #3C72CB;
}

.icon-after.arrowopen.close:after {
  transform: rotate(-180deg);
}

.icon-after.next:after {
  content: "\e903";
  /*.arrowhead*/
  font-size: 1.6rem;
  line-height: 1.2;
}

.icon-after.next-square:after {
  content: "\e919";
  /*.next-square*/
  font-size: 2.4rem;
  color: #fff;
  background: #3C72CB;
  border-radius: 0.2rem;
}

.icon-after.next-circle:after {
  content: "\e91e";
  /*.previous-circle*/
  font-size: 3.6rem;
  background: #fff;
  border-radius: 100%;
}

.icon-after.return:after {
  content: "\e924";
  margin: -0.4rem 0 0 -0.1rem;
}

/*movie poster zoom*/
.icon-movie-poster {
  position: relative;
}

.icon-movie-poster:after,
.icon-movie-poster:before {
  font-family: "icon";
  font-size: 3.0rem;
  font-weight: normal;
  margin: 0.1rem 0.8rem 0.2rem 0;
  display: inline-block;
  line-height: 1;
  position: absolute;
  top: 5rem;
  left: 3.4rem;
  color: #fff;
  transition-duration: 0.3s;
  z-index: 1;
}

@media (max-width: 768px) {
  .icon-movie-poster:after,
  .icon-movie-poster:before {
    top: 3.4rem;
    left: 2.2rem;
  }
}

.icon-movie-poster:after {
  content: "\e93a";
  /*.zoom*/
}

.icon-movie-poster:before {
  content: "\e908";
  /*.circle*/
  color: rgba(0, 0, 0, 0.3);
}

.icon-movie-poster:hover:after {
  color: #3C72CB;
}

.icon-movie-poster:hover:before {
  color: white;
}

/*video play*/
.video-play {
  position: relative;
}

.video-play:after,
.video-play:before {
  font-family: "icon";
  font-size: 3.0rem;
  font-weight: normal;
  display: inline-block;
  line-height: 1;
  position: absolute;
  bottom: 0.8rem;
  right: 0.8rem;
  z-index: 1;
}

.video-play:after {
  content: "\e937";
  /*video*/
  color: rgba(255, 255, 255, 0.8);
}

.video-play:before {
  content: "\e908";
  /*.circle*/
  color: rgba(0, 0, 0, 0.4);
}

.video-play-btn {
  position: relative;
}

.video-play-btn:after,
.video-play-btn:before {
  font-family: "icon";
  font-size: 10.0rem;
  font-weight: normal;
  display: inline-block;
  line-height: 1;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  height: 1em;
  color: #fff;
  transition-duration: 0.3s;
}

.video-play-btn:after {
  content: "\e937";
  /*video*/
  color: rgba(255, 255, 255, 0.8);
}

.video-play-btn:before {
  content: "\e908";
  /*.circle*/
  color: rgba(0, 0, 0, 0.4);
}

.video-play-btn:hover:after {
  color: white;
}

.video-play-btn:hover:before {
  color: rgba(0, 0, 0, 0.7);
}

.video-play-btn.active:after,
.video-play-btn.active:before {
  display: none;
}


#yads_listing .yads_ad {
  clear: both;
  margin-bottom: 1.5rem !important;
  overflow: hidden;
  border: 0 none !important;
  border-top: 0.1rem solid #DDDDDD !important;
}

#yads_listing .yads_ad_item {
  border: 0 none !important;
  border-bottom: 0.1rem solid #DDDDDD !important;
  font-weight: normal !important;
  display: block;
  padding: 0.8rem 1.2rem !important;
  overflow: hidden;
  text-decoration: none !important;
  background: none !important;
  font-weight: normal !important;
}

#yads_listing .yads_ad_item:hover {
  background-color: #D8EEFC !important;
}

#yads_listing .yads_ad_item:empty {
  display: none;
}

#yads_listing .yads_ad_title {
  display: inline;
  color: #0000DD !important;
  font-size: 1.4rem;
  font-weight: bold !important;
  text-decoration: underline !important;
}

#yads_listing .yads_ad_title strong {
  background-color: #ff0;
}

#yads_listing .yads_ad_adv {
  display: inline;
  color: #009900 !important;
  font-size: 1.3rem;
  font-style: normal !important;
  white-space: nowrap;
}

#yads_listing .yads_ad_desc {
  color: #666666 !important;
  font-size: 1.3rem;
}

#yads_listing .yads_ad_desc strong {
  background-color: #ff0;
}

#yads_listing .yads_ad_info {
  text-align: right !important;
}

#yads_listing .yads_ad_info a {
  display: inline-block;
  color: #666666 !important;
  font-size: 1.2rem;
/*padding: 0.8rem 1.2rem !important;*/
  padding: 0 !important;
  background: none !important;
}

#yads_listing .yads_ad_info a:link,
#yads_listing .yads_ad_info a:visited {
  text-decoration: none !important;
}

#yads_listing .yads_ad_info a:hover,
#yads_listing .yads_ad_info a:active {
  color: #666666 !important;
  text-decoration: underline !important;
  background-color: transparent !important;
}

#yads_listing .yads_hide {
  display: none;
}

.yads_infeed {
  min-height: 10.7rem;
  overflow: hidden;
  margin-top: 0.2rem;
  margin-bottom: 3rem;
}

.yads_infeed .yads_ad {
  position: relative;
}

.yads_infeed .yads_ad a {
  display: block;
  padding: 0.8rem;
  overflow: hidden;
}

.yads_infeed .yads_ad_img {
  float: left;
  width: 9rem;
  height: 9rem;
  margin-right: 0.8rem;
  background-color: transparent;
  background-repeat: no-repeat;
  background-size: contain;
}

.yads_infeed .yads_ad_title {
  font-size: 1.6rem;
  font-weight: bold;
}

.yads_infeed .yads_ad_adv {
  margin-top: 0.4rem;
  font-size: 1.2rem;
  color: #555;
}

.yads_infeed .yads_ad_info {
  position: absolute;
  right: 0.8rem;
  bottom: 0.6rem;
  background-color: #fff;
}

.preview-link-img {
  position: absolute;
  z-index: 1;
  background-color: #fff;
  border: 0.1rem solid #ddd;
  width: 12rem;
  opacity: 0;
  transition: opacity 0.2s;
}
.preview-link-img.on {
  opacity: 1;
  transition: opacity 0.2s;
}

.no-copy-all,
.no-copy-all *,
.no-copy {
  user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -webkit-touch-callout: none;
}

.no-copy {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}


/* 追加 */
.tabs-week__day--sat {
  color: #00ff;
}
.tabs-week__day--sun {
  color: #ff0000;
}


.theater__label--search {
  font-size: 1.6rem;
  color: #333;
  line-height: 1.2;
  padding: 1.4rem;

}

.prefecture__button{
  display: block;
  margin-right: 0;
  width: fit-content;
  margin-top: 2.4rem;
  margin-left: auto;
  /* auto で右揃えに */
}

.theater__button_frame {
  width: 100%;
}

.theater-name {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1.25rem;
  height: 6.25rem;
  width: 100%;
}
.theater-name__title {
  color: #505050;
  font-size: 2.2rem;
  margin: 0;
  line-height: 6.25rem;
}
.theater-name__qrcode {
  width: 100px;
  height: 100px;
}

.theater-name-bottom {
  position: relative;
  text-align: center;
  height: 100px;
  display: table;
  width: 100%;
}
.theater-name-bottom h2 {
  display: table-cell;
  vertical-align: middle;
  color: #505050;
  font-size: 2.2rem;
}
.theater-name-bottom img {
  position: absolute;
  top: 0;
  right: 0;
}

#anchor_target_map {
  scroll-margin-top: 100px;
}
#anchor_target_info {
  scroll-margin-top: 120px;
}
#user_checkin_schedules {
  scroll-margin-top: 120px;
}
@media (max-width: 768px) {
  .anchor_target_movie_from_carousel {
    scroll-margin-top: 120px;
  }
}
.imax-title_logo {
  width: 80px;
}

@media (max-width: 768px) {
  /*pc-visible-sp-hidden は日付タブ内で非表示にしているときも表示になってしまうのでSPのみ作用するクラスを作成する。*/
  .mail-print-btn-sp-hidden {
    visibility: hidden;
    height: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* ============================================
    vod
 ============================================ */
.vod-movie-wrap__img {
  margin-right: 2rem;
  float: left;
}

@media(max-width: 768px) {
  .vod-movie-wrap__img {
    margin: 0 3% 4rem 0;
    width: 30%;
  }
}

.img-wrap-vod--152-214 {
  width: 15.2rem;
  height: 21.4rem;
}

@media(max-width: 768px) {
  .img-wrap-vod--152-214 {
    width: 10rem;
    height: 15rem;
  }

  .vod-movie-img {
    width: 100%;
  }
}

.vod-movie-wrap__txt {
  width: 48rem;
  float: left;
}

@media(max-width: 768px) {
  .vod-movie-wrap__txt {
    width: 67%;
  }
}

.anchor-link-btn {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.anchor-link-btn__column {
  display: block;
  background: #fff;
  border: 0.1rem solid #3C72CB;
  color: #3C72CB;
  text-align: center;
  text-decoration: none;
  border-radius: 0.3rem;
  font-weight: bold;
  font-size: 1.5rem;
  padding: 1.2rem 1rem;
  cursor: pointer;
  position: relative;
}

@media(max-width: 768px) {
  .anchor-link-btn__column {
    font-size: 1.2rem;
    padding: 1.2rem 0;
  }
}

.anchor-link-btn__arrow::after {
  content: "";
  width: 1rem;
  height: 1rem;
  border: 0;
  border-color: #fff #fff #0868ba;
  border-right: 0.2rem solid #0868ba;
  border-top: 0.2rem solid #0868ba;
  transform: rotate(135deg);
  position: absolute;
  top: 30%;
  right: 1.5rem;
  transition: 0.3s;
}

@media(max-width: 768px) {
  .anchor-link-btn__arrow::after {
    right: 10;
  }
}

.anchor-link__heading {
  scroll-margin-top: 2rem;
}

@media(max-width: 768px) {
  .anchor-link__heading {
    scroll-margin-top: 12rem;
  }
}

/* vod-list */
.vod-list {
  width: 100%;
  border-collapse: collapse;
}

.vod-list__header--left {
  width: 15rem;
}

.vod-list__header {
  background-color: #f2f2f2;
  width: 30%;
}

.vod-list__header,
.vod-list__data {
  border: 0.1rem solid #ddd;
  padding: 0.8rem;
  position: relative;
}

.anchor-link__vod {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.vod-list__logo {
  width: 10rem;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

@media(max-width: 768px) {
  .vod-list__logo--wide {
    padding: 0 0.8rem;
    width: 0;
  }
}

@media(max-width: 768px) {
  .vod-list__logo {
    width: 8rem;
  }
}

.vod-list__link {
  width: 8rem;
  padding: 0.2rem 0.4rem;
  font-size: 1.2rem;
}

@media(max-width: 768px) {
  .vod-list__link {
    width: 7rem;
    font-size: 1rem;
  }
}

/* vod-detail */
.vod-detail-wrap {
  background-color: #f2f2f2;
  padding: 2rem 2rem 0.5rem;
}

@media(max-width: 768px) {
  .vod-detail-wrap {
    width: 100vw;
    margin: 0px calc(50% - 50vw);
    scroll-margin-top: 12rem;
  }
}

.vod-detail-wrap__explain {
  float: left;
}

.vod-detail-wrap__img {
  background-color: #fff;
  border: solid 0.1rem #d9d9d9;
  width: 12.5rem;
  height: 12.5rem;
  position: relative;
  float: left;
  margin-right: 2rem;
}

@media(max-width: 768px) {
  .vod-detail-wrap__img {
    width: 100%;
    height: 6.2rem;
    float: none;
    margin: 0 0 1.2rem;
  }
}

.vod-detail-img {
  width: 10rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.vod-detail-points {
  width: 48rem;
  float: left;
}

@media(max-width: 768px) {
  .vod-detail-points {
    width: 100%;
    float: none;
  }
}

.vod-detail-points-heading {
  border-bottom: solid 0.1rem #d9d9d9;
  margin-bottom: 1.2rem;
  padding-bottom: 1.2rem;
  font-size: 1.6rem;
}

@media(max-width: 768px) {
  .vod-detail-points-heading {
    text-align: center;
  }
}

/* vod-detail-list */
.vod-detail-list {
  width: 100%;
  ;
}

.vod-detail-list__row {
  background-color: #fff;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  border-left: 0.1rem solid #ddd;
}

.vod-detail__date {
  box-sizing:border-box;
  border-bottom: 0.1rem solid #ddd;
  border-right: 0.1rem solid #ddd;
  width: 50%;
  vertical-align: top;
  padding: 0.8rem;
}

.vod-detail__date:nth-child(-n+2){
  border-top: 0.1rem solid #ddd;
}

@media(max-width: 768px) {
  .vod-detail-list__row--last-child .vod-detail__date--first-child {
    border-bottom: none;
  }

  .vod-detail-list__row--last-child .vod-detail__date--last-child {
    visibility: hidden;
    padding: 0;
    border-bottom: none;
  }

  .vod-detail-list__row {
    border-bottom: none;
  }

  .vod-detail__date {
    border-bottom: 0.1rem solid #ddd;
    width: 100%;
    clear: both;
    display: flex;
  }
  .vod-detail__date:nth-child(2){
    border-top: none;
  }
}

.vod-detail-heading {
  width: 50%;
  float: left;
  font-weight: bold;
}

.vod-detail {
  width: 50%;
  float: left;
  overflow-wrap: break-word;
}

@media(max-width: 768px) {
  .vod-detail {
    float: none;
  }
}

.vod-detail-btn-img {
  width: 7rem;
  margin-right: 1rem;
}

/* vod-introduce */
.introduce-txt {
  font-size: 1.6rem;
  line-height: 1.75;
  word-break: break-all;
}

@media(max-width: 768px) {
  .introduce-txt:before {
    top: 17rem;
  }
}

.vod-list__logo--abema {
  width: 8rem;
}

@media (max-width: 768px) {
  .vod-list__logo--abema {
    width: 7rem;
  }
}

.vod-list__logo--apple {
  width: 5rem;
}

@media (max-width: 768px) {
  .vod-list__logo--apple {
    width: 4rem;
  }
}

.vod-list__logo--bandai {
  width: 9rem;
}

.vod-detail-img--apple {
  width: 7rem;
}

.vod-detail-btn-img--apple {
  width: 4rem;
}

.vod-list__logo--danime {
  width: 9rem;
}

.vod-list__logo--disney {
  width: 7.5rem;
}

@media(max-width: 768px) {
  .vod-detail-img--disney {
    width: 8.5rem;
  }
}

.vod-detail-btn-img--disney {
  width: 4.1rem;
}

.vod-list__logo--hikaritv {
  width: 8rem;
}

.vod-list__logo--hulu {
  width: 6.5rem;
}

.vod-detail-btn-img--hulu {
  width: 5rem;
}

@media(max-width: 768px) {
  .vod-list__logo--hulu {
    width: 5.5rem;
  }
}

.vod-list__logo--jaiho {
  width: 8rem;
}

@media (max-width: 768px) {
  .vod-list__logo--jaiho {
    width: 7rem;
  }
}

.vod-list__logo--netflix {
  width: 8rem;
}

@media (max-width: 768px) {
  .vod-list__logo--netflix {
    width: 7rem;
  }
}

.vod-list__logo--niconico {
  width: 8.5rem;
}

.vod-list__logo--telasa {
  width: 7rem;
}

@media (max-width: 768px) {
  .vod-list__logo--telasa {
    width: 6rem;
  }
}

.vod-detail-btn-img--telasa {
  width: 6rem;
}

.vod-list__logo--watcha {
  width: 7rem;
}

.vod-list__logo--wowow {
  width: 9rem;
}

.vod-list__logo--watcha {
  width: 7rem;

}
.vod-list__logo--youtube {
  width: 8rem;
}

.read-more-button {
  visibility: hidden;
  padding: 0;
  display: block;
  cursor: pointer;
  color: #3C72CB;
  text-align: center;
  font-weight: bold;
  font-size: 1.2rem;
  border: solid 0.1rem #3C72CB;
  border-radius: 0.3rem;
  height: 0;
  width:100%;
}

@media (max-width: 768px) {
  .text-container {
    overflow: hidden;
    line-height: 1.6em;
    max-height: calc(1.6em * 5);
    transition: max-height 0.7s ease;
    position: relative;
  }

  .fade-overlay {
    position: absolute;
    content: "";
    display: block;
    width: calc(100% + 2.8rem);
    height: 14rem;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 1.0) 80%);
    margin: -14rem auto 0 -1.4rem;
    right: 0;
    left: 0;
  }

  .fade-overlay.hidden {
    opacity: 0;
  }

  .read-more-button {
    display: block;
    visibility: visible;
    height: auto;
    padding: 1rem;
    position:relative;
  }

  .read-more-button:after {
  content: "";
  width: 1rem;
  height: 1rem;
  border: 0;
  border-color: #fff #fff #0868ba;
  border-right: 0.2rem solid #0868ba;
  border-top: 0.2rem solid #0868ba;
  transform: rotate(135deg);
  position: absolute;
  top: 30%;
  right: 12rem;
}

  .read-more-button.open:after {
  transform: rotate(-45deg);
  position: absolute;
  top: 40%;
  right: 14rem;
  }
}

.text-kakakuid--strong {
  border-bottom: solid 0.1rem #333;
}

