@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
:root {
  --space-8: 0.8rem;
  --space-16: 1.6rem;
  --space-24: 2.4rem;
  --space-32: 3.2rem;
  --space-48: 4.8rem;
  --space-64: 6.4rem;
  --space-80: 8.0rem;
  --color-main: #e6213a;
  --color-text: #262626;
  --color-muted: #666;
  --color-border: #ccc;
  --color-bg: #f5f5f5;
}

html {
  font-size: 62.5%;
}

@media screen and (min-width: 768px) {
  section {
    margin: inherit;
  }
}

.main-contents {
  background: #fff;
  font-size: 62.5%;
  font-size: 1.6rem;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .main-contents {
    background: #f5f5f5;
  }
}
.main-contents * {
  box-sizing: border-box;
}
.main-contents .mainImg {
  position: relative;
  background: url("../../img/bg_main-sp.webp") no-repeat center center;
  background-size: cover;
  padding: var(--space-24) 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .main-contents .mainImg {
    background: url("../../img/bg_main.webp") no-repeat center center;
    background-size: cover;
    min-height: 65rem;
    display: flex;
    align-items: anchor-center;
    justify-content: center;
    flex-wrap: wrap;
    padding: 0;
  }
}
.main-contents .mainImg .img {
  mix-blend-mode: multiply;
}
@media screen and (min-width: 768px) {
  .main-contents .mainImg .img {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
  }
}
.main-contents .mainImg .c-title {
  display: inline-flex;
  margin: var(--space-80) auto;
  font-size: 3rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.4;
  align-items: center;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.8);
  text-align: center;
}
@media screen and (min-width: 768px) {
  .main-contents .mainImg .c-title {
    font-size: 4.2rem;
    margin: 0;
    inset: 0;
    z-index: 2;
  }
}
.main-contents .mainImg .catch {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .main-contents .mainImg .catch {
    position: absolute;
    z-index: 2;
    width: 100%;
    margin: auto;
  }
}
.main-contents .mainImg .catch span {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  color: var(--color-main);
}
.main-contents .mainImg .catch-01 {
  font-size: 1.8rem;
  color: var(--color-text);
}
@media screen and (min-width: 768px) {
  .main-contents .mainImg .catch-01 {
    top: 40px;
    font-size: 2.2rem;
  }
}
.main-contents .mainImg .catch-02 {
  font-size: 2.2rem;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .main-contents .mainImg .catch-02 {
    bottom: 50px;
    font-size: 2.8rem;
  }
}
.main-contents .topics {
  padding-top: var(--space-32);
}
@media screen and (min-width: 768px) {
  .main-contents .topics {
    padding: var(--space-48) 0 var(--space-80);
  }
}
@media screen and (min-width: 768px) {
  .main-contents .topics .c-twoCol {
    grid-template-columns: 1fr 5fr;
  }
}
@media screen and (min-width: 768px) {
  .main-contents .topics .c-title {
    margin: 0;
  }
}
.main-contents .topics .c-list_item {
  border: none;
}
@media screen and (min-width: 768px) {
  .main-contents .topics .c-list_item {
    display: flex;
    align-items: baseline;
    padding: 0;
  }
  .main-contents .topics .c-list_item:first-child {
    padding-top: 0;
  }
}
.main-contents .topics .date {
  display: inline-block;
  font-weight: bold;
}
.main-contents .topics .cat {
  display: inline-block;
  background: #e6213a;
  min-width: 8.4rem;
  margin-left: var(--space-8);
  padding: 0 var(--space-8);
  color: #fff;
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
  border-radius: 5px;
}
@media screen and (min-width: 768px) {
  .main-contents .topics .cat {
    margin-inline: var(--space-16);
  }
}
.main-contents .topics .txt {
  width: -moz-fit-content;
  width: fit-content;
  margin-top: var(--space-8);
}
@media screen and (min-width: 768px) {
  .main-contents .topics .txt {
    display: inline-block;
  }
}
.main-contents .culture {
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .main-contents .culture .c-twoCol {
    grid-template-columns: 1fr 1.6fr;
    gap: var(--space-48);
    align-items: center;
  }
}
.main-contents .culture .catch {
  margin-top: var(--space-16);
  font-size: 2.8rem;
  font-weight: bold;
}
.main-contents .culture .img {
  margin: 0 auto var(--space-32);
  width: 80%;
}
@media screen and (min-width: 768px) {
  .main-contents .culture .img {
    width: 100%;
    margin: 0;
  }
}
.main-contents .culture .scrollTxt {
  width: 100vw;
  display: flex;
  overflow: hidden;
  margin-inline: calc(50% - 50vw);
  margin-top: var(--space-24);
}
.main-contents .culture .scrollTxt p {
  flex-shrink: 0;
  width: auto;
  height: auto;
  display: inline-block;
  text-wrap: nowrap;
  white-space: nowrap;
  font-family: "Poppins", sans-serif;
  font-size: 10rem;
  font-weight: 500;
  line-height: 1;
}
.main-contents .culture .scrollTxt p:first-child {
  animation: anim--first 20s infinite linear 0.1s both;
}
.main-contents .culture .scrollTxt p:nth-child(2) {
  animation: anim--second 20s infinite linear 0.1s both;
  margin-left: var(--space-24);
}
@keyframes anim--first {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes anim--second {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
  }
}
.main-contents .culture .scrollTxt p span {
  font-size: 10rem;
  font-weight: 500;
  color: #e6213a;
  line-height: 1;
}
.main-contents .culture .c-button {
  margin: var(--space-24) auto 0;
  padding-right: var(--space-48);
}
@media screen and (min-width: 768px) {
  .main-contents .culture .c-button {
    margin: var(--space-32) auto 0;
  }
}
.main-contents .culture .c-button:before {
  content: "";
  position: absolute;
  width: 15px;
  height: 1px;
  background: var(--color-text);
  top: 50%;
  right: var(--space-8);
  transform: translate(-50%, -50%);
}
.main-contents .culture .c-button:after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-top: 1px solid var(--color-text);
  border-right: 1px solid var(--color-text);
  top: 50%;
  right: var(--space-16);
  transform: translateY(-50%) rotate(45deg);
}
.main-contents .culture .c-button:hover {
  opacity: 1;
}
.main-contents .culture .c-button:hover::before {
  background: #fff;
}
.main-contents .culture .c-button:hover::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
.main-contents .about {
  position: relative;
  overflow: hidden;
  padding-bottom: 0;
}
@media screen and (min-width: 768px) {
  .main-contents .about {
    padding-bottom: var(--space-64);
  }
}
.main-contents .about a {
  color: var(--color-text);
}
.main-contents .about .l-container-pr {
  margin-left: 0;
}
.main-contents .about .scrollRight {
  padding-bottom: var(--space-32);
  scrollbar-width: thin;
  scrollbar-color: var(--color-main);
}
@media screen and (min-width: 768px) {
  .main-contents .about .scrollRight {
    padding-bottom: var(--space-48);
  }
}
.main-contents .about .scrollRight::-webkit-scrollbar-track {
  background: var(--color-main);
  border-radius: 6px;
}
.main-contents .about .c-cardList {
  display: block;
  width: 100%;
  overflow: hidden;
  padding-bottom: 2.4rem;
}
.main-contents .about .c-cardList #prev {
  position: absolute;
  bottom: 0;
  right: 6.2rem;
}
@media screen and (min-width: 768px) {
  .main-contents .about .c-cardList #prev {
    right: 6.8rem;
  }
}
@media screen and (min-width: 1552px) {
  .main-contents .about .c-cardList #prev {
    right: 6.8rem;
  }
}
.main-contents .about .c-cardList #next {
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (min-width: 768px) {
  .main-contents .about .c-cardList #next {
    right: 0;
  }
}
@media screen and (min-width: 1552px) {
  .main-contents .about .c-cardList #next {
    right: 0;
  }
}
.main-contents .about .c-cardList .c-card {
  max-width: 280px;
  padding: 0;
  margin-inline: 1.2rem;
}
@media screen and (min-width: 768px) {
  .main-contents .about .c-cardList .c-card {
    background: #f5f5f5;
    max-width: 330px;
    margin-inline: 1.2rem;
  }
}
.main-contents .about .c-cardList .c-card_image {
  margin-bottom: var(--space-8);
}
@media screen and (min-width: 768px) {
  .main-contents .about .c-cardList .c-card_image {
    margin-bottom: var(--space-16);
  }
}
.main-contents .about .c-cardList .c-card_text {
  color: #666666;
}
.main-contents .about .c-cardList .dots-wrap {
  width: calc(100% - 14rem);
  display: flex;
  justify-content: center;
  margin-top: var(--space-48);
}
@media screen and (min-width: 768px) {
  .main-contents .about .c-cardList .dots-wrap {
    width: calc(100% - 16rem);
    padding-left: 0;
  }
}
@media screen and (min-width: 1552px) {
  .main-contents .about .c-cardList .dots-wrap {
    width: 940px;
    margin-left: calc((100% - 119.6rem) / 2 + 4.8rem);
    padding-left: 0;
  }
}
.main-contents .about .c-cardList .dots-wrap li {
  width: 100%;
  height: 1px;
  background: #ccc;
  cursor: pointer;
}
.main-contents .about .c-cardList .dots-wrap li button {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}
.main-contents .about .c-cardList .dots-wrap li.slick-active {
  background: var(--color-main);
  height: 3px;
  margin-top: -1px;
}
.main-contents .about .button {
  background: #fff;
  position: absolute;
  right: 2rem;
  bottom: 35px;
  padding: 0 var(--space-16);
  max-width: 119.6rem; /* 1100px */
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .main-contents .about .button {
    background: #f5f5f5;
    position: relative;
    right: inherit;
    bottom: inherit;
    display: block;
    margin: var(--space-16) auto 0;
    padding-inline: var(--space-48);
    text-align: right;
  }
}
@media screen and (min-width: 768px) {
  .main-contents .bnr .l-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-24);
    padding-bottom: var(--space-80);
  }
}
.main-contents .bnr .c-card {
  position: relative;
  display: block;
  background: #ccc;
  overflow: hidden;
  border-radius: 5px;
  color: #fff;
  min-height: 160px;
  margin-block: var(--space-24);
  border: solid 1px #ccc;
}
@media screen and (min-width: 768px) {
  .main-contents .bnr .c-card {
    margin: 0;
    min-height: 260px;
  }
}
.main-contents .bnr .c-card .c-title {
  position: relative;
  z-index: 2;
  line-height: 1.4;
}
.main-contents .bnr .c-card-office::before, .main-contents .bnr .c-card-position::before {
  content: "";
  mix-blend-mode: multiply;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 5px;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.35);
  z-index: 1;
  transition: all 0.5s ease 0s;
}
.main-contents .bnr .c-card-office .c-button-arrow, .main-contents .bnr .c-card-position .c-button-arrow {
  position: absolute;
  z-index: 3;
  right: var(--space-24);
  bottom: var(--space-24);
}
.main-contents .bnr .c-card-office:hover:before, .main-contents .bnr .c-card-position:hover:before {
  background: rgba(0, 0, 0, 0.5);
}
.main-contents .bnr .c-card-office:hover .c-button-arrow, .main-contents .bnr .c-card-position:hover .c-button-arrow {
  background: #fff;
  border: 1px solid #fff;
}
.main-contents .bnr .c-card-office:hover .c-button-arrow::before, .main-contents .bnr .c-card-position:hover .c-button-arrow::before {
  background: var(--color-text);
}
.main-contents .bnr .c-card-office:hover .c-button-arrow::after, .main-contents .bnr .c-card-position:hover .c-button-arrow::after {
  border-top: 1px solid var(--color-text);
  border-right: 1px solid var(--color-text);
}
.main-contents .bnr .c-card-office {
  background: url("../../img/bnr_office.webp") no-repeat center center;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .main-contents .bnr .c-card-office {
    grid-area: 1/1/2/2;
  }
}
.main-contents .bnr .c-card-position {
  background: url("../../img/bnr_position.webp") no-repeat center center;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .main-contents .bnr .c-card-position {
    grid-area: 1/2/2/3;
  }
}
.main-contents .bnr .c-card-data {
  background-color: #eff8fa;
  background-image: url("../../img/bg_data_left.png"), url("../../img/bg_data_right.png");
  background-repeat: no-repeat, no-repeat;
  background-position: 0% 120%, 110% -40%;
  background-size: 55%, 60%;
  padding-block: var(--space-64);
  color: var(--color-text);
  text-align: center;
}
@media screen and (min-width: 768px) {
  .main-contents .bnr .c-card-data {
    align-items: center;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    background-position: -2% 0, 105% 160%;
    background-size: 30%, 40%;
    grid-area: 2/1/3/3;
    padding-block: var(--space-32);
  }
  .main-contents .bnr .c-card-data .c-title, .main-contents .bnr .c-card-data .c-lead {
    width: 100%;
  }
  .main-contents .bnr .c-card-data .c-title {
    margin-bottom: 1.2rem;
  }
}
.main-contents .bnr .c-card-data .c-button-arrow {
  background: #eff8fa;
}
.main-contents .bnr .c-card-data:hover .c-button-arrow {
  background: #0071BB;
  border: 1px solid #0071BB;
}
.main-contents .bnr .c-card-data:hover .c-button-arrow::before {
  background: #fff;
}
.main-contents .bnr .c-card-data:hover .c-button-arrow::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
.main-contents .history {
  position: relative;
  background: #1a1a1a;
  padding-block: var(--space-80);
  text-align: center;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .main-contents .history {
    padding-block: 18rem;
  }
}
.main-contents .history a {
  color: #fff;
}
.main-contents .history a:hover {
  opacity: 1;
}
.main-contents .history .c-title, .main-contents .history .c-lead, .main-contents .history .c-button-arrow {
  position: relative;
  z-index: 2;
}
.main-contents .history .c-title span {
  color: #c69c6d;
}
.main-contents .history .photo {
  overflow: hidden;
  z-index: 1;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.main-contents .history .photo img {
  position: absolute;
}
.main-contents .history .photo img:first-child {
  display: none;
}
@media screen and (min-width: 768px) {
  .main-contents .history .photo img:first-child {
    display: block;
    top: 30%;
    left: 0;
  }
}
.main-contents .history .photo img:nth-child(2) {
  top: 10%;
  left: -40%;
}
@media screen and (min-width: 768px) {
  .main-contents .history .photo img:nth-child(2) {
    display: block;
    top: 10%;
    left: 10%;
  }
}
.main-contents .history .photo img:nth-child(3) {
  display: none;
}
@media screen and (min-width: 768px) {
  .main-contents .history .photo img:nth-child(3) {
    display: block;
    bottom: 20%;
    left: 3%;
  }
}
.main-contents .history .photo img:nth-child(4) {
  bottom: 10%;
  left: -20%;
}
@media screen and (min-width: 768px) {
  .main-contents .history .photo img:nth-child(4) {
    display: block;
    bottom: 10%;
    left: 18%;
  }
}
.main-contents .history .photo img:nth-child(5) {
  top: 15%;
  right: 5%;
}
@media screen and (min-width: 768px) {
  .main-contents .history .photo img:nth-child(5) {
    display: block;
    top: 10%;
    right: 25%;
  }
}
.main-contents .history .photo img:nth-child(6) {
  display: none;
}
@media screen and (min-width: 768px) {
  .main-contents .history .photo img:nth-child(6) {
    display: block;
    right: 5%;
    top: 18%;
  }
}
.main-contents .history .photo img:nth-child(7) {
  bottom: 15%;
  right: -30%;
}
@media screen and (min-width: 768px) {
  .main-contents .history .photo img:nth-child(7) {
    display: block;
    bottom: 15%;
    right: 14%;
  }
}
.main-contents .history .photo img:nth-child(8) {
  display: none;
}
@media screen and (min-width: 768px) {
  .main-contents .history .photo img:nth-child(8) {
    display: block;
    bottom: 10%;
    right: 12%;
  }
}
.main-contents .history .photo img:nth-child(9) {
  display: none;
}
@media screen and (min-width: 768px) {
  .main-contents .history .photo img:nth-child(9) {
    display: block;
    bottom: 15%;
    right: -3%;
  }
}
.main-contents .history:hover .c-button-arrow {
  background: #c69c6d;
  border: 1px solid #c69c6d;
}
.main-contents .history:hover .c-button-arrow::before {
  background: #fff;
}
.main-contents .history:hover .c-button-arrow::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
.main-contents .message {
  background: url("../../img/bg_message.webp") no-repeat center center;
  background-size: cover;
  padding: var(--space-48) var(--space-32) 12rem;
}
.main-contents .message .l-container {
  padding-inline: 0;
}
@media screen and (min-width: 768px) {
  .main-contents .message .l-container {
    padding-inline: var(--space-48);
  }
}
@media screen and (min-width: 768px) {
  .main-contents .message {
    padding: var(--space-80) 0;
  }
}
.main-contents .message a {
  color: var(--color-text);
}
.main-contents .message a:hover {
  opacity: 1;
}
.main-contents .message a:hover .c-button-arrow {
  background: #3b66e8;
  border: 1px solid #3b66e8;
}
.main-contents .message a:hover .c-button-arrow::before {
  background: #fff;
}
.main-contents .message a:hover .c-button-arrow::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
.main-contents .message_box {
  background: #fff;
  padding: var(--space-32);
}
@media screen and (min-width: 768px) {
  .main-contents .message_box {
    width: 40%;
  }
}
.main-contents .message_box .c-button-arrow {
  display: block;
  margin: var(--space-24) 0 0 auto;
}
.main-contents .interview {
  position: relative;
  background: url("../../img/bg_interview.webp") no-repeat left top;
  background-size: cover;
  padding-top: var(--space-64);
  color: #fff;
}
@media screen and (min-width: 768px) {
  .main-contents .interview {
    padding-block: 12rem;
  }
}
.main-contents .interview .l-container {
  position: relative;
}
.main-contents .interview .l-container .c-cardList {
  width: 100%;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-16);
  margin-bottom: -14rem;
}
@media screen and (min-width: 768px) {
  .main-contents .interview .l-container .c-cardList {
    position: absolute;
    right: var(--space-48);
    bottom: -16.8rem;
    width: calc(50% - 6rem);
    margin: 0;
    gap: var(--space-24);
  }
}
@media screen and (min-width: 768px) {
  .main-contents .interview .l-container > .c-title {
    width: 48%;
  }
}
.main-contents .interview .l-container .c-lead {
  margin-bottom: var(--space-48);
}
@media screen and (min-width: 768px) {
  .main-contents .interview .l-container .c-lead {
    width: 48%;
    margin: 0;
  }
}
.main-contents .interview .l-container .c-card {
  position: relative;
  min-height: 220px;
  padding: var(--space-16);
  border-radius: 5px;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .main-contents .interview .l-container .c-card {
    min-height: 36rem;
    padding: var(--space-24);
  }
}
.main-contents .interview .l-container .c-card::before {
  content: "";
  mix-blend-mode: multiply;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 5px;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.35);
  z-index: 1;
  transition: all 0.5s ease 0s;
}
.main-contents .interview .l-container .c-card .c-title {
  position: relative;
  z-index: 2;
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  .main-contents .interview .l-container .c-card .c-title {
    font-size: 1.8rem;
  }
}
.main-contents .interview .l-container .c-card .c-title span {
  font-size: 2.2rem;
}
@media screen and (min-width: 768px) {
  .main-contents .interview .l-container .c-card .c-title span {
    font-size: 3.2rem;
  }
}
.main-contents .interview .l-container .c-card .c-button-arrow {
  position: absolute;
  z-index: 3;
  right: var(--space-16);
  bottom: var(--space-16);
}
.main-contents .interview .l-container .c-card-member {
  background: url("../../img/bnr_members.webp") no-repeat center center;
  background-size: cover;
}
.main-contents .interview .l-container .c-card-career {
  background: url("../../img/bnr_career.webp") no-repeat center center;
  background-size: cover;
}
.main-contents .interview .l-container .c-card.none {
  pointer-events: none;
}
.main-contents .interview .l-container .c-card.none::before {
  background: rgba(0, 0, 0, 0.75);
  z-index: 4;
}
.main-contents .interview .l-container .c-card.none::after {
  position: relative;
  content: "Coming Soon";
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  z-index: 5;
  position: absolute;
  inset: 0;
  margin: auto;
}
.main-contents .interview .l-container .c-card:hover:before {
  background: rgba(0, 0, 0, 0.5);
}
.main-contents .interview .l-container .c-card:hover .c-button-arrow {
  background: #fff;
}
.main-contents .interview .l-container .c-card:hover .c-button-arrow:before {
  background: var(--color-text);
}
.main-contents .interview .l-container .c-card:hover .c-button-arrow:after {
  border-top: 1px solid var(--color-text);
  border-right: 1px solid var(--color-text);
}
.main-contents .link {
  background: #f5f5f5;
  padding-top: 14rem;
}
@media screen and (min-width: 768px) {
  .main-contents .link {
    padding-bottom: 7.2rem;
  }
}
@media screen and (min-width: 768px) {
  .main-contents .link .l-container {
    display: grid;
    gap: var(--space-24);
    grid-template-columns: repeat(2, 1fr);
  }
}
.main-contents .link .c-card {
  display: grid;
  grid-template-columns: 30% calc(70% - var(--space-16));
  gap: var(--space-16);
  align-items: center;
  background: #fff;
  margin-block: var(--space-24);
  border-radius: 5px;
  border: solid 1px #ccc;
  color: var(--color-text);
}
@media screen and (min-width: 768px) {
  .main-contents .link .c-card {
    grid-template-columns: 141px calc(100% - 17rem);
    gap: 0 var(--space-32);
    align-items: stretch;
    margin: 0;
  }
}
.main-contents .link .c-card .c-button-arrow {
  width: 40px;
  height: 40px;
}
.main-contents .link .c-card .c-button-arrow::before {
  width: 12px;
}
.main-contents .link .c-card .c-button-arrow::after {
  width: 6px;
  height: 6px;
}
.main-contents .link .c-card-prsn .cnt, .main-contents .link .c-card-qa .cnt, .main-contents .link .c-card-job .cnt {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
}
@media screen and (min-width: 768px) {
  .main-contents .link .c-card-prsn .cnt, .main-contents .link .c-card-qa .cnt, .main-contents .link .c-card-job .cnt {
    height: 100%;
  }
}
.main-contents .link .c-card-prsn .c-title, .main-contents .link .c-card-qa .c-title, .main-contents .link .c-card-job .c-title {
  width: 100%;
  position: relative;
  z-index: 2;
  margin-bottom: var(--space-16);
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  .main-contents .link .c-card-prsn .c-title, .main-contents .link .c-card-qa .c-title, .main-contents .link .c-card-job .c-title {
    font-size: 1.8rem;
  }
}
.main-contents .link .c-card-prsn .c-title span, .main-contents .link .c-card-qa .c-title span, .main-contents .link .c-card-job .c-title span {
  font-size: 2.2rem;
}
@media screen and (min-width: 768px) {
  .main-contents .link .c-card-prsn .c-title span, .main-contents .link .c-card-qa .c-title span, .main-contents .link .c-card-job .c-title span {
    font-size: 3.2rem;
  }
}
.main-contents .link .c-card-prsn .c-card_text, .main-contents .link .c-card-qa .c-card_text, .main-contents .link .c-card-job .c-card_text {
  width: calc(100% - 50px);
}
.main-contents .link .c-card-prsn:hover .c-button-arrow, .main-contents .link .c-card-qa:hover .c-button-arrow, .main-contents .link .c-card-job:hover .c-button-arrow {
  background: #e6213a;
  border: 1px solid #e6213a;
}
.main-contents .link .c-card-prsn:hover .c-button-arrow::before, .main-contents .link .c-card-qa:hover .c-button-arrow::before, .main-contents .link .c-card-job:hover .c-button-arrow::before {
  background: #fff;
}
.main-contents .link .c-card-prsn:hover .c-button-arrow::after, .main-contents .link .c-card-qa:hover .c-button-arrow::after, .main-contents .link .c-card-job:hover .c-button-arrow::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
@media screen and (min-width: 768px) {
  .main-contents .link .c-card-prsn {
    grid-area: 1/1/2/2;
  }
}
@media screen and (min-width: 768px) {
  .main-contents .link .c-card-qa {
    grid-area: 1/2/2/3;
  }
}
@media screen and (min-width: 768px) {
  .main-contents .link .c-card-job {
    grid-area: 2/1/3/3;
  }
}
.main-contents .link .c-card-movie {
  background: #fdedef;
  margin-top: var(--space-48);
  padding: var(--space-32) var(--space-24);
  grid-template-columns: 1fr;
}
@media screen and (min-width: 768px) {
  .main-contents .link .c-card-movie {
    grid-area: 3/1/4/3;
    margin: var(--space-80) 0 var(--space-48);
  }
}
.main-contents .link .c-card-movie .cnt {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
}
@media screen and (min-width: 768px) {
  .main-contents .link .c-card-movie .cnt {
    justify-content: space-between;
    align-items: center;
  }
}
.main-contents .link .c-card-movie .cnt .ttl {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .main-contents .link .c-card-movie .cnt .ttl {
    width: 240px;
  }
}
.main-contents .link .c-card-movie .cnt .c-button-play {
  margin-bottom: 5px;
}
.main-contents .link .c-card-movie .cnt .right {
  width: calc(100% - 40px);
}
@media screen and (min-width: 768px) {
  .main-contents .link .c-card-movie .cnt .right {
    width: calc(100% - 280px);
    padding-inline: var(--space-32);
    text-align: right;
  }
}
.main-contents .link .c-card-movie .cnt .right .c-card_text {
  margin: var(--space-16) var(--space-16) 0 0;
}
@media screen and (min-width: 768px) {
  .main-contents .link .c-card-movie .cnt .right .c-card_text {
    display: inline-block;
    margin: 0;
    text-align: left;
  }
}
.main-contents .link .c-card-movie .cnt .c-title {
  margin: 0 0 0 var(--space-16);
}
.main-contents .link .c-card-movie .cnt .c-title span {
  color: var(--color-main);
}
.main-contents .link .c-card-movie:hover .c-button-arrow {
  background: #e6213a;
  border: 1px solid #e6213a;
}
.main-contents .link .c-card-movie:hover .c-button-arrow::before {
  background: #fff;
}
.main-contents .link .c-card-movie:hover .c-button-arrow::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
.main-contents .entry {
  background: var(--color-main);
  color: #fff;
}
@media screen and (min-width: 768px) {
  .main-contents .entry {
    border-top: solid 1px #ccc;
  }
}
@media screen and (min-width: 768px) {
  .main-contents .entry .c-twoCol {
    grid-template-columns: 34% 66%;
    gap: inherit;
  }
}
.main-contents .entry .c-twoCol .entryTtl {
  padding: var(--space-48) var(--space-24);
}
@media screen and (min-width: 768px) {
  .main-contents .entry .c-twoCol .entryTtl {
    display: flex;
    align-items: center;
  }
}
@media screen and (min-width: 768px) {
  .main-contents .entry .c-twoCol .entryTtl div {
    width: 100%;
    padding-block: var(--space-64);
    padding-left: calc((100vw - 1425px) / 2);
  }
}
.main-contents .entry .c-twoCol .entryLink {
  background: #f5f5f5;
}
@media screen and (min-width: 768px) {
  .main-contents .entry .c-twoCol .entryLink div {
    padding-right: calc((100vw - 1425px) / 2);
  }
}
.main-contents .entry .c-twoCol .entryLink div + div {
  border-top: solid 1px #ccc;
}
.main-contents .entry .c-twoCol .entryLink div dl {
  padding: var(--space-48) var(--space-24);
}
@media screen and (min-width: 768px) {
  .main-contents .entry .c-twoCol .entryLink div dl {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding-block: var(--space-64);
  }
}
@media screen and (min-width: 768px) {
  .main-contents .entry .c-twoCol .entryLink div dl dt {
    width: calc(100% - 472px);
  }
}
.main-contents .entry .c-twoCol .entryLink div dl dd {
  align-items: center;
}
@media screen and (min-width: 768px) {
  .main-contents .entry .c-twoCol .entryLink div dl dd {
    width: 452px;
  }
}
.main-contents .entry .c-twoCol .entryLink div dl .c-button-square {
  width: 80%;
  display: block;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .main-contents .entry .c-twoCol .entryLink div dl .c-button-square {
    width: 100%;
    margin: 0;
    padding-block: var(--space-16);
  }
}
.main-contents .entry .c-twoCol .entryLink div dl .c-button-square:hover {
  opacity: 1;
  color: #fff;
  background: var(--color-main);
  border: 1px solid var(--color-main);
}
.main-contents .entry .c-twoCol .entryLink div dl .c-button-square:hover::before {
  background: #fff;
}
.main-contents .entry .c-twoCol .entryLink div dl .c-button-square:hover::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
.main-contents .entry .c-twoCol .entryLink div:first-child dl dd {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-24);
}
@media screen and (min-width: 768px) {
  .main-contents .entry .c-twoCol .entryLink div:first-child dl dd {
    display: flex;
  }
}
.main-contents .entry .c-twoCol .entryLink .c-title {
  color: var(--color-text);
}
@media screen and (min-width: 768px) {
  .main-contents .entry .c-twoCol .entryLink .c-title {
    margin-bottom: 0;
  }
}
.main-contents .contact {
  background: url("../../img/bg_contact.webp") no-repeat center right 30%;
  background-size: cover;
  padding: var(--space-80) var(--space-16);
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .main-contents .contact {
    min-height: 50rem;
    padding-block: 12rem;
  }
}
.main-contents .contact .c-button-ghost {
  margin-top: var(--space-48);
  border-color: #fff;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .main-contents .contact .c-button-ghost {
    min-width: 24rem;
    padding-right: var(--space-48);
  }
}
.main-contents .contact .c-button-ghost:before {
  content: "";
  position: absolute;
  width: 15px;
  height: 1px;
  background: #fff;
  top: 50%;
  right: var(--space-8);
  transform: translate(-50%, -50%);
}
.main-contents .contact .c-button-ghost:after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  top: 50%;
  right: var(--space-16);
  transform: translateY(-50%) rotate(45deg);
}
.main-contents .contact .c-button-ghost:hover {
  opacity: 1;
  color: #fff;
  background: var(--color-main);
  border: 1px solid var(--color-main);
}
.main-contents .contact .c-button-ghost:hover::before {
  background: #fff;
}
.main-contents .contact .c-button-ghost:hover::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

@media screen and (min-width: 768px) {
  .footer .inner {
    padding: var(--space-64) var(--space-48);
    max-width: 119.6rem;
  }
}
@media screen and (min-width: 768px) {
  .footer .fnavi-box .fnavi + .fnavi {
    margin-left: var(--space-32);
  }
}