:root {
  --txt-base: #000000;
  --border-base: #999999;
  --primary-blue: #001e60;
  --primary-white: #ffffff;
  --secondary-blue: #4c6c85;
  --secondary-green: #6ea200;
  --secondary-yellow: #dade1a;
  --third-blue: #46c9ff;
  --crossing-blue: #001E60;
  --font-parabolica: "parabolica", sans-serif;
  --font-poppins: "poppins", sans-serif;
  --font-notoserif: "Noto Serif JP", serif;
}
/*------ 共通CSS ------*/
.mt-10{
  margin-top: 10px;
}
.mt-20{
  margin-top: 20px;
}
.mt-30{
  margin-top: 30px;
}
.mb-10{
  margin-bottom: 10px;
}
.mb-20{
  margin-bottom: 20px;
}
.mb-30{
  margin-bottom: 30px;
}
.txt-center{
  text-align: center;
}


.p-single .l-page-sub {
  margin-top: 0;
}
.pc {
  display: none;
}
@media (min-width: 769px) {
  .pc {
    display: block; 
  }
}
@media screen and (min-width: 769px) {
.sp{display: none;}
}
main {
  background: unset;
}
.p-single-body {
  position: relative;
}
.p-single-body::after {
  content: "";
  display: block;
  width: 100%;
  height: calc(100% - 6rem);
  position: absolute;
  top: 6rem;
  left: 0;
  background: rgba(255, 255, 255, 0.8);
  z-index: -1;
}
@media screen and (min-width: 769px) {
  .p-single-body::after {
    height: calc(100% - 12.5rem);
    top: 12.5rem;
  }
}
.p-single-mv {
  padding: 8rem 0 0;
}
@media screen and (min-width: 769px) {
  .p-single-mv {
    padding: 16rem 0 0;
  }
}
.p-single-mv__info {
  display: flex;
  align-items: center;
  gap: 0 1.2rem;
  margin-bottom: 2rem;
}
@media screen and (min-width: 769px) {
  .p-single-mv__info {
    gap: 0 2.4rem;
    margin-bottom: 3.3rem;
  }
}
.p-single-mv__info-cate {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  color: var(--primary-white);
  text-align: center;
  width: fit-content;
  padding: 0.4rem 0.6rem;
}
@media screen and (min-width: 769px) {
  .p-single-mv__info-cate {
    font-size: 1.3rem;
  }
}
.p-single-mv__info-cate.--report {
  background-color: var(--primary-blue);
}
.p-single-mv__info-cate.--interview {
  background-color: var(--secondary-blue);
}
.p-single-mv__info-cate.--special {
  background-color: var(--secondary-green);
}
.p-single-mv__info-cate.--movie {
  background-color: var(--secondary-yellow);
}
.p-single-mv__info-cate.--contest {
  background-color: var(--third-blue);
}
.p-single-mv__info-date {
  font-family: "Inter", sans-serif;
  font-size: 1.2rem;
  line-height: 1;
  color: var(--primary-white);
}
@media screen and (min-width: 769px) {
  .p-single-mv__info-date {
    font-size: 1.4rem;
  }
}
.p-single-mv__ttl {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--primary-white);
}
@media screen and (min-width: 769px) {
  .p-single-mv__ttl {
    font-size: 4rem;
  }
}
.p-single-mv__txt {
  font-size: 1.4rem;
  line-height: 1.7;
  color: var(--primary-white);
  margin-top: 3rem;
}
@media screen and (min-width: 769px) {
  .p-single-mv__txt {
    font-size: 1.8rem;
    margin-top: 4rem;
  }
}
.p-single-mv__writer {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  margin-top: 3.5rem;
  padding: 2.0rem 0;
}
@media screen and (min-width: 769px) {
  .p-single-mv__writer {
    margin-top: 2.5rem;
    padding: 1.5rem 0 5.0rem;
  }
}
.p-single-mv__writer p {
  font-family: "Inter", sans-serif;
  font-size: 1.2rem;
  color: var(--primary-white);
  text-align: right;
}
@media screen and (min-width: 769px) {
  .p-single-mv__writer p {
    font-size: 1.4rem;
  }
}
.p-single-body {
  padding-bottom: 8rem;
}
@media screen and (min-width: 769px) {
  .p-single-body {
    padding-bottom: 0;
  }
}
.p-single-body__inner {
  background-color: var(--primary-white);
  padding: 4rem 2rem;
}
@media screen and (min-width: 769px) {
  .p-single-body__inner {
    padding: 10rem 14rem;
  }
}
.p-single-body .single-ttl-h2 {
  position: relative;
  font-size: 2rem;
  line-height: 1.3;
  font-weight: 700;
  color: var(--secondary-blue);
  padding-left: 2rem;
  margin: 6rem 0 3rem;
}
.p-single-body .single-ttl-h2:first-child {
  margin-top: 0;
}
@media screen and (min-width: 769px) {
  .p-single-body .single-ttl-h2 {
    font-size: 2.4rem;
    padding-left: 4rem;
    margin: 9.5rem 0 3.5rem;
  }
}
.p-single-body .single-ttl-h2::before {
  content: "";
  display: block;
  width: 2px;
  height: 100%;
  background-color: var(--secondary-blue);
  position: absolute;
  top: 0;
  bottom: 0;
  margin-block: auto;
  left: 0;
}
@media screen and (min-width: 769px) {
  .p-single-body .single-ttl-h2::before {
    height: 120%;
  }
}
.p-single-body .single-ttl-h3 {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 700;
  color: var(--secondary-blue);
  padding-left: 2rem;
  margin: 4rem 0 2rem;
}
.p-single-body .single-ttl-h3:first-child {
  margin-top: 0;
}
@media screen and (min-width: 769px) {
  .p-single-body .single-ttl-h3 {
    font-size: 2rem;
    padding-left: 2.5rem;
    margin: 5rem 0 2rem;
  }
}
.p-single-body .single-ttl-h3::before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 0.2rem;
  background-color: var(--secondary-blue);
  position: absolute;
  top: 1rem;
  left: 0;
}
@media screen and (min-width: 769px) {
  .p-single-body .single-ttl-h3::before {
    width: 1.5rem;
    height: 0.3rem;
    top: 1.1rem;
  }
}
.p-single-body .single-ttl-h4 {
  position: relative;
  font-weight: 700;
  padding-left: 1.6rem;
  margin: 2rem 0 1rem;
}
.p-single-body .single-ttl-h4:first-child {
  margin-top: 0;
}
@media screen and (min-width: 769px) {
  .p-single-body .single-ttl-h4 {
    padding-left: 2.4rem;
  }
}
.p-single-body .single-ttl-h4::before {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  border-radius: 9999px;
  background-color: var(--txt-base);
  position: absolute;
  top: 0;
  bottom: 0;
  margin-block: auto;
  left: 0;
}
@media screen and (min-width: 769px) {
  .p-single-body .single-ttl-h4::before {
    width: 1.2rem;
    height: 1.2rem;
  }
}
.p-single-body .single-txt {
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .p-single-body .single-txt {
    line-height: 2;
  }
}
.mini-interview .p-single-body .sub-ttl{
  text-align: center;
  color: var(--primary-blue);
  font-weight: 600;
  font-size: 1.65rem;
  margin-top: 2.0em;
}
@media screen and (min-width: 769px) {
  .mini-interview .p-single-body .sub-ttl{
  text-align: center;
  color: var(--primary-blue);
  font-weight: 600;
  font-size: 2.0rem;
  margin-bottom: 1.0em;
  }
}
.p-single-body .interview-name{
  font-size: 0.9rem;
  font-weight: 500;
  color: #828282;
  margin-bottom: 2em;
  text-align: right;
  margin-top: -2em;
}
@media screen and (min-width: 769px) {
  .p-single-body .interview-name{
    font-size: 1.2rem;
    margin-top: 0;
  }
}
.interview-intro{
  display: flex;
  flex-direction: column;
  gap: 1em;
}
.interview-sub-ttl{
  margin-top: 2.0em;
  font-size: 2.0rem;
}
@media screen and (min-width: 769px) {
  .interview-sub-ttl{
    margin-top: 4.0em;
    margin-bottom: -1em;
    font-size: 2.4rem;
  }
  .p-single-body__inner .interview-intro + .interview-sub-ttl{
    margin-top: 3.0em;
  }
}
.interview-sub-ttl h3{
  font-weight: 600;
  padding-bottom: 0.5em;
  line-height: 1.4em;
}
.interview-sub-ttl::after{
  content: "";
  display: block;
  height: 2px;
  background: linear-gradient(90deg, rgba(0, 30, 96, 1) 0%, rgba(110, 162, 0, 1) 50%, rgba(218, 222, 26, 1) 100%);
}
.p-single-body .single-txt + .single-txt {
  margin-top: 1.5rem;
}
@media screen and (min-width: 769px) {
  .p-single-body .single-txt + .single-txt {
    margin-top: 2rem;
  }
}
.contest-interview-anc{
  margin: 1em auto 0;
}
@media screen and (min-width: 769px) {
  .contest-interview-anc{
    margin: 1em auto 0;
  }
}
@media screen and (min-width: 769px) {
  .contest-interview-anc .d-btn p{
    font-size: 1.1rem;
  }
}
.contest-interview-anc .anc-link{
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em 3em;
  color: var(--primary-blue);
  justify-content: center;
  font-size: 1.5rem;
}
@media screen and (min-width: 769px) {
  .contest-interview-anc .anc-link{
    gap: 1.5em 2em;
    font-size: 1.8rem;
    margin-bottom: 5em;
  }
}
.contest-interview-anc .anc-link a{
  border-bottom: dotted 2px var(--primary-blue);
}
@media screen and (min-width: 769px) {
  .contest-interview-anc .anc-link a:hover{
    transition: 0.2s;
    color: #6ea200;
  }
}
.contest-interview-anc .anc-link .d-btn{
  min-width: 18rem
}
.contest-interview-anc a span.icon::before, button span.icon::before{
  transform: rotate(90deg);
}
.p-single-body .single-txt.--q {
  color: var(--secondary-blue);
  margin-top: 3rem;
  font-size: 1.2em;
}
@media screen and (min-width: 769px) {
  .p-single-body .single-txt.--q {
    margin-top: 5rem;
  }
}
.p-single-body .single-txt.--q:first-child {
  margin-top: 0;
}
.p-single-body .single-txt a {
  color: var(--primary-blue);
  text-decoration: underline;
  text-underline-offset: 4px;
  transition: all 0.3s ease;
  word-break: break-all;
  overflow-wrap: break-word;
}
@media (hover: hover) and (pointer: fine) and (min-width: 1025px) {
  .p-single-body .single-txt a:hover {
    color: var(--secondary-green);
  }
}
.p-single-body .single-txt.tar {
  text-align: right;
}
.p-single-body .single-txt.--thum {
  display: flex;
  gap: 2rem;
}
.p-single-body .single-txt.--thum .thum-a {
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  overflow: hidden;
  flex: none;
}
@media screen and (min-width: 769px) {
  .p-single-body .single-txt.--thum .thum-a {
    width: 8rem;
    height: 8rem;
  }
}
.p-single-body .single-txt.--thum b{
  display: contents;
}
.interview-note{
  margin: 5.0rem 0 0;
  font-size: 1.0rem;
  text-align: left;
  color: #828282;
}
@media screen and (min-width: 769px) {
  .interview-note{
    font-size: 1.4rem;
  }
}
.p-single-body .single-bgbox {
  background-color: rgba(153, 153, 153, 0.08);
  padding: 2rem;
  margin: 4rem 0;
}
@media screen and (min-width: 769px) {
  .p-single-body .single-bgbox {
    padding: 4rem;
  }
}
.p-single-body .interview-pixivision .single-bgbox{
    margin: 4rem 0 2rem;
  }
@media screen and (min-width: 769px) {
  .p-single-body .interview-pixivision .single-bgbox{
    margin: 2rem 0;
  }
}
.p-single-body .single-bgbox:last-child {
  margin-bottom: 0;
}
.p-single-body .single-bgbox a {
  transition: all 0.3s ease;
  font-size: 1.1rem;
}
@media screen and (min-width: 769px) {
  .p-single-body .single-bgbox a{
    font-size: 1.6rem;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 1025px) {
  .p-single-body .single-bgbox a:hover {
    color: var(--secondary-green);
  }
}
.p-single-body figure {
  margin: 4rem 0;
}
.p-single-body figure:first-child {
  margin-top: 0;
}
.p-single-body figcaption {
  font-size: 1.2rem;
  opacity: 0.5;
  margin-top: 1rem;
}
.p-single-body .interview-pc_spec figcaption{
  font-size: 0.85rem;
}
@media screen and (min-width: 769px) {
.p-single-body .interview-pc_spec figcaption{
  font-size: 0.96rem;
}
}
@media screen and (min-width: 769px) {
  .p-single-body figcaption {
    font-size: 1.4rem;
    margin-top: 1.5rem;
  }
}
.p-single-body .single-link {
  display: block;
  width: fit-content;
  text-decoration: underline;
  transition: all 0.3s ease;
}
@media (hover: hover) and (pointer: fine) and (min-width: 1025px) {
  .p-single-body .single-link:hover {
    color: var(--secondary-green);
  }
}
.p-single-body .flex-box {
  display: flex;
  flex-direction: column;
  gap: 2rem 0;
  margin: 2rem 0;
}
.mini-interview .p-single-body .flex-box{
  margin: 0;
}
@media screen and (min-width: 769px) {
  .p-single-body .flex-box {
    display: flex;
    flex-direction: row;
    gap: 0 4rem;
    align-items: flex-start;
    margin: 4rem 0;
  }
  .mini-interview .p-single-body .flex-box{
    margin: 2rem 0;
  }
  .p-single-body .interview-pc_spec .flex-box{
    gap: 0 1rem;
  }
}
@media screen and (min-width: 769px) {
  .p-single-body .flex-box.--txt-img {
    flex-direction: row-reverse;
  }
  .p-single-body .interview-pc_spec .flex-box.--txt-img{
    flex-direction: row;
  }
}
@media screen and (min-width: 769px) {
  .p-single-body .flex-box.--img-txt .img-box,
  .p-single-body .flex-box.--txt-img .img-box {
    width: 40%;
  }
}
@media screen and (min-width: 769px) {
  .p-single-body .flex-box.--img-img .img-box {
    width: calc((100% - 4rem) / 2);
  }
}
.p-single-body .flex-box .img-box.double {
    width: 100%;
    margin-top: 0;
    position: relative;
    z-index: 1;
}
.p-single-body .flex-box .img-box.double .img-left {
    position: relative;
    top: 0;
    left: -5%;
    z-index: 3;
    width: 90%;
    margin: 0;
}
.p-single-body .flex-box .img-box.double .img-right {
    position: absolute;
    top: -8px;
    right: -20%;
    z-index: 2;
    width: 90%;
    margin: 0;
}
@media screen and (min-width: 769px) {
.p-single-body .flex-box .img-box.double {
    width: 50%;
}
.p-single-body .flex-box .img-box.double .img-left {
    top: 0;
    left: -15%;
    width: 90%;
    margin: 0;
}
.p-single-body .flex-box .img-box.double .img-right {
    top: -8px;
    right: -15%;
    width: 90%;
    margin: 0;
}
}
.p-single-body .flex-box figure {
  margin: 0;
}
.p-single-body .interview-pc_spec .flex-box figcaption{
  text-align: right;
}
.p-single-body .flex-box figure + figure {
  margin-top: 2rem;
}
.p-single-body .banner-box {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
  margin: 4rem auto 0;
}
.p-single-body .banner-box .banner--link {
  width: 100%;
  max-width: 300px;
}
@media screen and (min-width: 769px) {
  .p-single-body .flex-box .txt-box {
    width: calc(60% - 4rem);
  }
  .p-single-body .interview-pc_spec .flex-box .txt-box{
    padding-left: 1.0em;
  }
}
.p-single-body .movie-box {
  aspect-ratio: 16/9;
  width: 100%;
  height: auto;
  overflow: hidden;
  margin: 2rem 0;
}
@media screen and (min-width: 769px) {
  .p-single-body .movie-box {
    margin: 4rem 0;
  }
}
.p-single-body .movie-box iframe {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-single-body .c-btn {
  margin: 4rem auto 0;
}
@media screen and (min-width: 769px) {
  .p-single-body .c-btn {
    margin: 8rem auto 13rem;
  }
}
.single-swiper-wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 3rem;
}
@media screen and (min-width: 769px) {
  .single-swiper-wrapper {
    width: 40%;
    padding-bottom: 4rem;
  }
}
.single-swiper {
  position: relative;
  width: 100%;
}
.single-swiper .swiper-slide figure {
  margin: 0;
  width: 100% !important;
}
.single-swiper .swiper-slide figure img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
.single-swiper .swiper-slide figure figcaption {
  font-size: 1.2rem;
  opacity: 0.5;
  margin-top: 1rem;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .single-swiper .swiper-slide figure figcaption {
    font-size: 1.4rem;
    margin-top: 1.5rem;
  }
}
.single-swiper-wrapper .swiper-button-next,
.single-swiper-wrapper .swiper-button-prev {
  color: var(--primary-blue);
  width: 3rem;
  height: 3rem;
  border-radius: 9999px;
  border: 1px solid var(--primary-blue);
  top: auto;
  bottom: 0;
}
.single-swiper-wrapper .swiper-button-next::after,
.single-swiper-wrapper .swiper-button-prev::after {
  content: "";
  display: block;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 7 13"><polygon points=".7090095 12.7734375 0 12.0664062 5.581981 6.5 0 .9335938 .7090095 .2265625 7 6.5 .7090095 12.7734375" /></svg>')
    no-repeat center/contain;
  aspect-ratio: 7/13;
  background-color: var(--primary-blue);
  width: 0.7rem;
  height: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.single-swiper-wrapper .swiper-button-next {
  right: 0;
}
.single-swiper-wrapper .swiper-button-prev {
  left: 0;
}
.single-swiper-wrapper .swiper-button-prev::after {
  transform: rotate(180deg);
}
.single-swiper-wrapper .swiper-pagination {
  width: fit-content !important;
  left: 0 !important;
  right: 0 !important;
  margin-inline: auto !important;
  bottom: 0 !important;
}
.single-swiper-wrapper .swiper-pagination .swiper-pagination-bullet {
  width: 1rem;
  height: 1rem;
  background-color: var(--primary-blue);
  opacity: 0.5;
}
.single-swiper-wrapper
  .swiper-pagination
  .swiper-pagination-bullet.swiper-pagination-bullet-active {
  opacity: 1;
}

/* =============================================
    1. イラストコンテスト タイトル
   ============================================= */
.single-ttl-contest {
    position: relative;
    font-size: 1.8rem;
    line-height: 1.3;
    font-weight: 700;
    color: var(--primary-blue);
    white-space: nowrap;
    margin: 6rem 0 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
}
.single-ttl-contest::before,
.single-ttl-contest::after {
    content: "";
    width: 100%;
    height: 2px;
    display: block;
}
.single-ttl-contest::before {
    background: linear-gradient(-90deg, rgba(0, 30, 96, 1) 0%, rgba(110, 162, 0, 1) 50%, rgba(218, 222, 26, 1) 100%);
}
.single-ttl-contest::after {
    background: linear-gradient(90deg, rgba(0, 30, 96, 1) 0%, rgba(110, 162, 0, 1) 50%, rgba(218, 222, 26, 1) 100%);
}
.single-txt.small {
  font-size: 1.2rem;
}
.single-txt.center {
  text-align: center;
}
.single-txt.gray {
  color: var(--border-base);
}
@media screen and (min-width: 769px) {
  .single-ttl-contest {
    font-size: 2rem;
  }
  .mini-interview .single-ttl-contest{
    margin-top: 10rem;
  }
    .single-txt.small {
    font-size: 1.4rem;
  }
}
/* =============================================
    2. 審査員 & 受賞者一覧（共通ベース共通）
   ============================================= */
.single-ttl-award {
  color: var(--primary-white);
  font-size: 1.6rem;
  font-weight: bolder;
  text-align: center;
  width: fit-content;
  margin: 5rem 0 1rem;
  margin-inline: auto;
  box-sizing: border-box;
  background: linear-gradient(90deg, rgba(0, 30, 96, 1) 0%, rgba(110, 162, 0, 1) 50%, rgba(218, 222, 26, 1) 100%);
}
.mini-interview .single-ttl-award{
  font-size: 1.4rem;
  margin: 5rem auto 1rem;
}
.single-ttl-award:nth-of-type(1) {
  margin-top: 1rem;
}
.mini-interview .single-ttl-award:nth-of-type(1){
  margin-top: 3rem;
}
@media screen and (min-width: 769px) {
.mini-interview .single-ttl-award:nth-of-type(1){
  margin-top: 8rem;
}
}
.single-ttl-award span {
  display: inline-block;
  padding: 1rem 2rem;
  box-sizing: border-box;
}
.single-ttl-division {
  font-size: 1.4rem;
  text-align: center;
  font-weight: bolder;
  margin-bottom: 1.5rem;
}
.Judges-name {
    font-size: 1.2em;
    font-weight: bolder;
    text-align: center;
    margin-top: 1.2rem;
}
.ttl-name {
    color: var(--primary-blue);
    font-size: 1.4rem;
    font-weight: bolder;
    margin-top: 0.5rem;
}
.creator-name {
    font-size: 1.2rem;
    font-weight: bolder;
}
.mini-interview .creator-name{
  margin-bottom: 1em;
}
.creator-name span {
  font-size: 1.2rem;
  display: inline-block;
}
.txt-award {
  color: var(--primary-white);
  font-size: 1.2rem;
  font-weight: bolder;
  margin-top: 1rem;
  background: var(--primary-blue);
  padding-inline: 1rem;
  border-radius: 9999px;
}
.flex-box.--contest {
    display: flex;
    flex-direction: column;
    /* align-items: center; */
    gap: 30px;
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
}
.mini-interview .flex-box.--contest{
  padding: 0;
}
.winner-box,
.Judges-box {
    width: 100%;
    max-width: 500px;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-inline: auto;
}
.Judges-box figure {
  width: 60%;
  border-radius: 50%;
  overflow: hidden;
  display: block;
  margin-inline: auto;
}
.winner-box figure {
    margin: 0;
    width: 80%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    cursor: zoom-in;
    background: #eee;
}
.mini-interview h5{
  color: var(--primary-blue);
  font-weight: 700;
  font-size: 1.4rem;
  margin-top: 3em;
  margin-bottom: 1em;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.3em;
}
@media screen and (min-width: 769px) {
  .mini-interview h5{
    color: var(--primary-blue);
    font-weight: 700;
    font-size: 2rem;
    margin-top: 4em;
  }
}
.mini-interview .note1{
  color: #828282;
  font-size: 1rem;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .mini-interview .note1{
    font-size: 1.5rem;
  }
}
.mini-interview .work{
  margin-bottom: 1.5em;
}
@media screen and (min-width: 769px) {
  .winner-box .work figure {
      margin: 0;
      width: 60%;
      overflow: hidden;
      cursor: zoom-in;
      background: none;
      aspect-ratio: auto;
      margin: 2em auto 2em;
  }

  .mini-interview .winner-box .work{
    width: 400px;
    max-width: 100%;
    margin: 0 0 2em;
  }
}
.winner-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.hight-105{
  height: 105%!important;
}
.hight-115{
  height: 115%!important;
}
.hight-125{
  height: 125%!important;
}
.hight-135{
  height: 135%!important;
}
.hight-145{
  height: 145%!important;
}
.Judges-box .item-sns {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 2rem;
    margin-top: 1rem;
}
.Judges-box .item-sns-link {
    display: block;
    width: auto;
    height: 1.8rem;
    background-color: #7383a7;
    transition: background-color 0.3s;
}
.Judges-box .item-sns-link.--xxx {
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 1227"><path d="M714.1630249,519.2839966L1160.8900146,0h-105.8599854l-387.8930054,450.8869934L357.3280029,0H0l468.4920044,681.8209839L0,1226.3699951h105.8659973l409.6250305-476.1519775,327.1809692,476.1519775h357.3280029l-485.8629761-707.0859985h.026001ZM569.164978,687.8280029l-47.4679565-67.8939819L144.0110016,79.694397h162.6039886l304.7969971,435.9906006,47.4680176,67.8939819,396.1999512,566.7210693h-162.6039429l-323.3110352-462.4460449v-.026001Z" /></svg>')
      no-repeat center/contain;
    aspect-ratio: 1200/1227;
}
.Judges-box .item-sns-link.--web {
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 19"><path d="M9.5017004,19c-1.3139505,0-2.5490303-.2493-3.7052002-.7479992-1.1561704-.4987011-2.1618304-1.1754017-3.0170002-2.030201-.85517-.8548994-1.53225-1.8600998-2.03125-3.0157995-.498833-1.1557007-.74825-2.3903999-.74825-3.7042999,0-1.3139505.249417-2.5490303.74825-3.7052002.49867-1.1561704,1.1754999-2.1618304,2.0304999-3.0170002.855-.85517,1.8604202-1.53225,3.0162501-2.03125,1.1558299-.498833,2.39083-.74825,3.7049999-.74825.3013,0,.6026001.017667.9038.053.3013.035167.6026001.069416.9039001.10275v1.5212501c-.3013-.03333-.6026001-.0676701-.9039001-.1030002-.3011999-.0351698-.6025-.0527499-.9038-.0527499-.50383.63833-.9311705,1.31883-1.2819996,2.0414999-.3506708.7228303-.6368303,1.4775801-.8585005,2.2642503h3.3327999v1.5h-3.6770496c-.0626702.35883-.10817.7201695-.1365004,1.0840001-.0281696.3638296-.0422497.7276697-.0422497,1.0914993,0,.3637009.01408.7266006.0422497,1.0888004.0283303.3622999.0738301.7229004.1365004,1.0817003h4.9695501c.0626001-.3587999.1080999-.7199001.1363993-1.0832005.0282001-.3632002.0423002-.7264996.0423002-1.0897999,0-.3013296-.0100994-.6025801-.0302-.9037504-.0201998-.3013296-.0504999-.6026697-.0909996-.9039993h1.5c.0402994.3013296.0705996.6026697.0909996.9039993.0201006.3011703.0302.6024208.0302.9037504,0,.3633003-.0141001.7265997-.0423002,1.0897999-.0282993.3633003-.0738993.7244005-.1366997,1.0832005h3.7174997c.1025009-.3587999.1778011-.7199001.2259998-1.0832005.0480003-.3632002.0720005-.7264996.0720005-1.0897999,0-.3013296-.0177002-.6025801-.0529995-.9037504-.0352001-.3013296-.0880013-.6026697-.1585007-.9039993h1.5403004c.0571003.3013296.1000004.6026697.1285.9039993.0284996.3011703.0426998.6024208.0426998.9037504,0,1.3142004-.2493,2.5492001-.7479992,3.7049999-.4987011,1.1557999-1.1754017,2.1612997-2.030201,3.0163002-.8548994.8549995-1.8600998,1.5317993-3.0157995,2.0305004-1.1557007.4988003-2.3903999.7481995-3.7042999.7481995ZM1.7980001,11.6730003h3.7175c-.06283-.3587999-.1084199-.7202005-.1367502-1.0840006-.0281696-.3638-.0422497-.7276993-.0422497-1.0914993,0-.3636703.01408-.7265806.0422497-1.0887508.0283303-.3623295.0739202-.7229195.1367502-1.0817494H1.7980001c-.1025002.35883-.17783.7201695-.2260001,1.0840001-.0480001.3638296-.072.7276697-.072,1.0914993,0,.3637009.0239999.7266006.072,1.0888004.0481701.3622999.1234999.7229004.2260001,1.0817003ZM7.5635004,17.2229996c-.4218302-.6177998-.7756705-1.2658997-1.0615005-1.9441996-.2859998-.6781998-.51508-1.3801003-.6872497-2.1057997h-3.3877501c.5216699,1.0359993,1.2277498,1.9077997,2.1182499,2.6154995.8903298.7077007,1.89642,1.1858006,3.0182505,1.4344997ZM2.427,5.8270001h3.3922501c.1819997-.7193303.4175801-1.4180803.7067499-2.0962501.2891698-.67817.6349998-1.3294201,1.0375004-1.9537501-1.1153302.2550001-2.1198306.7364202-3.0135002,1.4442501-.8936701.7076697-1.6013303,1.5762501-2.1230001,2.6057501ZM9.5,17.4787998c.4932003-.6522007.9200001-1.3360996,1.2805004-2.0515995.3604994-.7156.6471996-1.467.8599997-2.2542h-4.2810001c.2128305.7872.4984198,1.5419998.8567505,2.2644997.3583298.7224998.7862492,1.4029007,1.2837496,2.0412998ZM11.4364996,17.2229996c1.1218004-.2421989,2.1279001-.7187996,3.0183001-1.4296989.8905001-.7109003,1.5965004-1.584301,2.1182003-2.6203003h-3.3922997c-.2013006.7128-.4417,1.4099998-.7212,2.0914993-.2795.6813011-.6205006,1.3341999-1.0230007,1.9584999ZM13.5,5.5V0h5.5v5.5h-5.5ZM16.3463001,2.6537499h1.7688999V.88475h-1.7688999v1.7689999Z" /></svg>')
    no-repeat center/contain;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 768px) {
.flex-box.--contest.magazine .winner-box:nth-of-type(1) {
    order: 1;
}
.flex-box.--contest.magazine .winner-box:nth-of-type(2) {
    order: 6;
}
.flex-box.--contest.magazine .winner-box:nth-of-type(3) {
    order: 2;
}
.flex-box.--contest.magazine .winner-box:nth-of-type(4) {
    order: 7;
}
.flex-box.--contest.magazine .winner-box:nth-of-type(5) {
    order: 3;
}
.flex-box.--contest.magazine .winner-box:nth-of-type(6) {
    order: 8;
}
.flex-box.--contest.magazine .winner-box:nth-of-type(7) {
    order: 4;
}
.flex-box.--contest.magazine .winner-box:nth-of-type(8) {
    order: 9;
}
.flex-box.--contest.magazine .winner-box:nth-of-type(9) {
    order: 5;
}
.flex-box.--contest.magazine .winner-box:nth-of-type(10) {
    order: 10;
}
}
@media screen and (min-width: 769px) {
    .single-ttl-division { font-size: 1.8rem; }
    .ttl-name { font-size: 1.8rem;}
    .creator-name { font-size: 1.6rem; }
    .mini-interview .creator-name{ margin-bottom: 1em; }
    .single-ttl-contest { font-size: 2.4rem; gap: 2rem; }
    .single-ttl-award { font-size: 2rem; margin-top: 8rem; }
    .mini-interview .single-ttl-award{
      font-size: 2.5rem;
      margin: 8rem auto 0;
    }
    
    .flex-box.--contest {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 60px;
        padding: 0;
    }
    .winner-box,
    .Judges-box {
        width: calc((100% - 60px) / 2);
        max-width: none;
        flex: 0 0 auto;
    }
    .mini-interview .winner-box,
    .mini-interview .Judges-box {
        width: 100%;
        max-width: none;
        flex: 0 auto;
    }
    .winner-box figure {
      width: 100%;
    }
    .mini-interview .winner-box figure{
      width: calc(100% - 40%);
    }
    .winner-box figure:hover img { transform: scale(1.05); }
    .p-partner-block__item .item-sns {
      gap: 0 1.4rem;
    }
    .p-partner-block__item .item-sns-link {
        height: 2rem;
    }
}

/* =============================================
    3. オリジナルスライダー（モバイルファースト）
   ============================================= */
.slider-outer {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 40px 0;
}

.slider-container {
    display: flex;
    align-items: center;
    overflow-x: auto;
    scroll-snap-type: x mandatory; 
    scroll-behavior: auto; /* JSワープを瞬時に行うためauto */
    -webkit-overflow-scrolling: touch;
    gap: 20px;
    padding: 0 0 20px;
}

/* スクロールバー非表示 */
.slider-container::-webkit-scrollbar { display: none; }
.slider-container { -ms-overflow-style: none; scrollbar-width: none; }

.slider-item {
    flex: 0 0 280px; /* スマホの画像サイズ */
    scroll-snap-align: center;
    display: flex;
    /* ★修正：縦並び（column）に変更 */
    flex-direction: column; 
    justify-content: center;
    align-items: center;
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.4s ease;
    opacity: 0.5;
    transform: scale(0.88);
}

/* 中央アクティブ時 */
.slider-item.is-active {
    opacity: 1;
    transform: scale(1.05);
}

.slider-item figure {
    margin: 0;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    cursor: zoom-in;
    background: #eee;
}

.slider-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* --- 矢印ボタン --- */
.slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.8);
    border: none;
    cursor: pointer;
    z-index: 10;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.slider-arrow::before {
    content: "";
    width: 12px;
    height: 12px;
    border-top: 1.5px solid #333;
    border-right: 1.5px solid #333;
    display: block;
}
.slider-arrow.--prev { left: 10px; }
.slider-arrow.--prev::before { transform: rotate(-135deg); margin-left: 4px; }
.slider-arrow.--next { right: 10px; }
.slider-arrow.--next::before { transform: rotate(45deg); margin-right: 4px; }

/* PC用調整（769px以上） */
@media screen and (min-width: 769px) {
    .slider-container {
        gap: 40px;
    }
    .slider-item {
        flex: 0 0 320px; /* PCでの画像サイズ */
    }
    .slider-arrow { width: 60px; height: 60px; }
    .slider-arrow.--prev { left: 175px; }
    .slider-arrow.--next { right: 175px; }
}

/* =============================================
    4. モーダル
   ============================================= */
.custom-modal {
    display: flex;
    position: fixed;
    inset: 0;
    z-index: 9999;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden; 
    transition: opacity 0.3s cubic-bezier(0.25, 1, 0.5, 1), visibility 0.3s;
}

.modal-overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.8);
}

.modal-container {
    position: relative;
    max-width: 90%;
    max-height: 85%;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: scale(0.95) translateY(10px);
    transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.3s ease-out;
    z-index: 10;
}

.modal-container img {
    display: block;
    max-width: 100%;
    max-height: 85vh;
    object-fit: contain;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
}

.modal-close {
    position: absolute;
    top: -40px;
    right: 0;
    width: 32px;
    height: 32px;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 100;
    padding: 0;
    transition: opacity 0.2s ease 0.1s;
}
.modal-close::before, .modal-close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1.5px;
    background-color: #fff;
}
.modal-close::before { transform: rotate(45deg); }
.modal-close::after { transform: rotate(-45deg); }

.custom-modal.is-visible { opacity: 1; visibility: visible; }
.custom-modal.is-visible .modal-container { transform: scale(1) translateY(0); }

@media screen and (max-width: 768px) {
    .modal-close { top: -35px; width: 28px; height: 28px; }
    .modal-container { width: 85%; }
}
.d-btn-block {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media screen and (min-width: 769px) {
  .d-btn-block {
    display: flex;
    flex-direction: row;
  }
}
.next-contest{
  text-align: center;
}
.next-ttl{
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--primary-white);
  background: linear-gradient(90deg, rgba(0, 30, 96, 1) 0%, rgba(110, 162, 0, 1) 50%, rgba(218, 222, 26, 1) 100%);
  border-radius: 100px;
  margin: 2em 0 0.5em;
}
.x-embed{
  display: flex;
  justify-content: center;
  margin-block: 30px;
}

/* ==============================
CROSSING記事用(クラスにcrossing-interviewをつける)
============================== */
.crossing-interview .p-single-body__inner{
  position: relative;
}
.crossing-interview .interview-name{
  position: absolute;
  margin-bottom: 0;
  top: 3rem;
  right: 1.5rem;
}
@media (min-width: 769px) {
  .crossing-interview .interview-name{
    right: 4rem;
  }
}
.crossing-interview .ttl-set{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1em;
  color: var(--primary-blue);
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-top: 8vw;
}
@media (min-width: 769px) {
  .crossing-interview .ttl-set{
    gap: 0.5em;
    margin-top: 5vw;
  }
}
.crossing-interview .ttl-set:first-of-type{
  margin-top: 3vw;
  gap: 0;
}
@media (min-width: 769px) {
  .crossing-interview .ttl-set:first-of-type{
    margin-top: 0vw;
  }
}
.crossing-interview .ttl-set .tag{
  display: inline-block;
  color: var(--primary-white);
  background: #404040;
  padding: 0.1em 0.35em;
}
@media (min-width: 769px) {
  .crossing-interview .ttl-set .tag{
    font-size: clamp(1rem, 0.661rem + 0.85vw, 2.4rem);
    font-weight: 400;
    line-height: 1;
    padding: 0.2em 0.35em;
    margin-bottom: 0.5rem;
  }
}
.crossing-interview .ttl-set .sub-ttl{
  font-size: 3vw;
  padding-top: 15px;
  font-family: var(--font-notoserif);
}
@media (min-width: 769px) {
  .crossing-interview .ttl-set .sub-ttl{
    font-size: 1vw;
  }
}
.crossing-interview .ttl-set .ttl-h3{
  font-size: 6vw;
  font-family: var(--font-notoserif);
  line-height: 1.4;
  font-weight: 700;
}
@media (min-width: 769px) {
  .crossing-interview .ttl-set .ttl-h3{
    font-size: 2vw;
    line-height: 1.5;
    padding-top: 2.5rem;
  }
}
.crossing-interview .ttl-set:first-of-type .ttl-h3{
  padding-top: 0.5rem;
}
.crossing-interview .ttl-name{
  font-size: 1.4rem;
  margin-top: 0.5rem;
}
@media (min-width: 769px) {
  .crossing-interview .ttl-set:first-of-type .ttl-h3{
  padding-top: 1rem;
  }
}
@media (min-width: 769px) {
  .crossing-interview .ttl-name{
    font-size: 1.8rem;
    padding-top: 1.5rem;
    padding-bottom: 1rem;
  }
}
.crossing-interview .txt-box{
  margin: 2rem 0 0;
}
@media (min-width: 769px) {
  .crossing-interview .txt-box{
    margin: 3rem 0 0;
  }
}
.name-fuzichoco{
  display: inline;
  color: #ff4e79;
}
.name-ishida{
  display: inline;
  color: #1adeea;
}
.name-sasuke{
  display: inline;
  color: #168fd2;
}
.crossing-interview figcaption{
  text-align: center;
}
/*------ creator ------*/
.crossing-interview .gallery{
  padding-bottom: 3vw;
}
@media (min-width: 769px) {
  .crossing-interview .gallery{
    padding-bottom: 0;
  }
}
.crossing-interview .creator{
  color: var(--crossing-blue);
  padding-top: 5vw;
}
@media (min-width: 769px) {
  .crossing-interview .creator{
    display: flex;
    gap: 3vw;
    padding-top: 3vw;
    padding-bottom: 3vw;
  }
}
.crossing-interview .creator figure{
  padding-top: 0 !important;
}
.crossing-interview .creator-left{
  display: flex;
  gap: 7vw;
}
@media (min-width: 769px) {
  .crossing-interview .creator-left{
    width: 30%;
    gap: 1vw;
    flex-direction: column;
  }
}
@media (min-width: 769px) {
  .crossing-interview .creator-right{
    width: 70%;
  }
}
.crossing-interview .creator ul{
  display: flex;
  gap: 7vw;
  padding-top: 5vw;
}
@media (min-width: 769px) {
  .crossing-interview .creator ul{
    padding-top: 1vw;
    gap: 1vw;
  }
}
.crossing-interview .creator-left figure{
  width: 50%;
}
@media (min-width: 769px) {
  .crossing-interview .creator-left figure{
    width: 100%;
  }
}
.crossing-interview .creator-left ul{
  width: 100%;
}
.crossing-interview .creator .sns-link{
  width: 11.5vw;
  height: 11.5vw;
  box-sizing: border-box;
  background: var(--crossing-blue);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 3vw;
}
@media (min-width: 769px) {
  .crossing-interview .creator .sns-link{
    width: 3vw;
    height: 3vw;
  }
}
.crossing-interview .creator .name-sns{
  display: flex;
  width: 50%;
  flex-direction: column;
  font-size: 2.67vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media (min-width: 769px) {
  .crossing-interview .creator .name-sns{
    width: 100%;
    flex-direction: column;
    font-size: 0.83vw;
  }
}
.crossing-interview .creator .creator_name-block{
  display: flex;
  flex-direction: column;
}
@media (min-width: 769px) {
  .crossing-interview .creator .creator_name-block{
  display: flex;
  flex-direction: row;
  gap: 0.781vw;
  align-items: center;
}
}
.crossing-interview .creator-name{
  font-size: 5.33vw;
  font-weight: 900;
  line-height: 1;
}
@media (min-width: 769px) {
  .crossing-interview .creator-name{
    font-size: 1.15vw;
  }
}
@media (min-width: 769px) {
  .crossing-interview .creator-name::after{
    content: "/";
    font-weight: 200;
    position: relative;
    right: -0.26vw;
  }
}
.crossing-interview .creator .sns-link img{
  width: 60%;
  height: 60%;
  height: auto;
}
.crossing-interview .creator .sns-link a{
  display: flex;
  justify-content: center;
  align-items: center;
}
.crossing-interview .creator-right .creator-txt{
  font-size: 2.93vw;
  letter-spacing: 0.1em;
  font-weight: 700;
  padding-top: 5vw;
}
@media (min-width: 769px) {
  .crossing-interview .creator-right .creator-txt{
    font-size: 0.833vw;
    letter-spacing: 0.04em;
    padding-top: 0;
  }
}
.crossing-interview .p-single-body figure{
  margin: 0;
  text-align: center;
  padding-top: 3vw;
}
.crossing-interview .creator-pc{
  background: #F6F6FC;
  padding: 3vw;
  margin-top: 5vw;
  margin-bottom: 15vw;
}
@media (min-width: 769px) {
  .crossing-interview .creator-pc{
    margin-top: 1vw;
    padding: 2vw;
    margin-bottom: 0;
  }
}
@media (min-width: 769px) {
  .crossing-interview .pc-spec-blok{
    display: flex;
  }
}
@media (min-width: 769px) {
  .crossing-interview .pc-txt-blok{
    width: 70%;
  }
}
.crossing-interview .pc-img-blok{
  padding-top: 2vw;
}
@media (min-width: 769px) {
  .crossing-interview .pc-img-blok{
    width: 30%;
    display: flex;
    align-items: center;
  }
}
.crossing-interview .pc-spec{
  font-size: 3.2vw;
  padding-top: 3vw;
}
@media (min-width: 769px) {
  .crossing-interview .pc-spec{
    font-size: 0.83vw;
    padding-top: 1.5vw;
  }
}
.crossing-interview .creator-pc dl{
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 0 1em;
}
.crossing-interview .pc-img-blok img{
  width: 50%;
}
@media (min-width: 769px) {
  .crossing-interview .pc-img-blok img{
    width: 100%;
  }
}
.crossing-interview .creator_use-pc{
  font-size: 2.93vw;
  font-weight: 700;
  line-height: 1;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 1.33vw;
}
@media (min-width: 769px) {
  .crossing-interview .creator_use-pc{
    font-size: 0.78vw;
    gap: 0.521vw;
  }
}
.crossing-interview .creator_use-pc::before{
  content: "";
  width: 1.33vw;
  height: 0.53vw;
  background: var(--crossing-blue);
  display: block;
}
@media (min-width: 769px) {
  .crossing-interview .creator_use-pc::before{
    width: 0.625vw;
    height: 0.156vw;
  }
}
.crossing-interview .creator_use-pcname{
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.4;
  margin-top: 1vw;
}
@media (min-width: 769px) {
  .crossing-interview .creator_use-pcname{
    font-size: 1.25vw;
    margin-top: 0.5vw;
  }
}
.crossing-interview .pc-note{
  font-size: 2.67vw;
  line-height: 1.4;
}
@media (min-width: 769px) {
  .crossing-interview .pc-note{
    font-size: 0.8vw;
  }
}
.crossing-interview .photo-txt{
  font-size: 1.1vw;
  padding-bottom: 0.5em;
}


/*------ 矢印付きボタン ------*/
.crossing-interview .btn-link {
    color: var(--crossing-blue);
    font-size: 3.2vw;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    width: 69.33vw;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 11.73vw;
    background: var(--primary-white);
    border: 0.53vw solid var(--crossing-blue);
    border-radius: 2666.4vw;
    margin: 8vw auto 0;
    text-decoration: none;
    position: relative;
    box-sizing: border-box;
    /* --- 背景切り替えのための追加 --- */
    overflow: hidden; 
    z-index: 1;
    transition: color 0.4s ease; /* 文字色の変化を滑らかに */
}
@media (min-width: 769px) {
  .crossing-interview .btn-link{
    font-size: 1.1vw;
    width: 20vw;
    height: 3.167vw;
    border: 2px solid var(--crossing-blue);
    margin: 4vw auto 0;
  }
}
/* アニメーション用の背景レイヤー */
.crossing-interview .btn-link::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--crossing-blue);
    transform: scaleX(0); /* 最初は幅ゼロ */
    transform-origin: right; /* 消える時は右へ */
    transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    z-index: -1;
}

/* ホバー時の背景と文字色 */
.crossing-interview .btn-link:hover {
    color: var(--primary-white);
}

.crossing-interview .btn-link:hover::before {
    transform: scaleX(1); /* 背景を塗りつぶす */
    transform-origin: left; /* 出る時は左から */
}

/* 矢印（.arrow）の設定：色変化のみ */
.crossing-interview .arrow {
    display: inline-block;
    width: 3.47vw;
    height: 3.47vw;
    position: absolute;
    right: 4.8vw;
    z-index: 2;
    /* 動かさないので transform の transition は不要 */
}
@media (min-width: 769px) {
.crossing-interview .arrow {
  width: 1.25vw;
  height: 1.25vw;
  right: 1.667vw;
  }
}
.crossing-interview .arrow::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 3.2vw;
    height: 3.2vw;
    border-top: 0.53vw solid var(--crossing-blue);
    border-right: 0.53vw solid var(--crossing-blue);
    transition: border-color 0.4s ease; /* 枠線の色だけ変える */
}
@media (min-width: 769px) {
  .crossing-interview .arrow::before{
    width: 0.98vw;
    height: 0.98vw;
    border-top: 2px solid var(--crossing-blue);
    border-right: 2px solid var(--crossing-blue);
  }
}
.crossing-interview .arrow::after {
    content: "";
    position: absolute;
    top: 0.27vw;
    right: 0.53vw;
    width: 4vw;
    height: 0.53vw;
    background-color: var(--crossing-blue);
    transform: rotate(-45deg);
    transform-origin: top right;
    transition: background-color 0.4s ease; /* 斜め線の色だけ変える */
}
@media (min-width: 769px) {
  .crossing-interview .arrow::after{
    top: 0vw;
    right: 0.104vw;
    width: 1.25vw;
    height: 0.104vw;
  }
}

/* ホバー時の矢印の色反転 */
.crossing-interview .btn-link:hover .arrow::before {
    border-color: var(--primary-white);
}

.crossing-interview .btn-link:hover .arrow::after {
    background-color: var(--primary-white);
}

/*------ 幽艶 動画用CSS ------*/
/* モーダル */
.modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}
.modal-content {
    position: relative;
    width: 90%;
    max-width: 800px; /* ここはPCも含めた最大幅なので維持 */
}
.modal-content video {
    width: 100%;
    display: block;
}
.modal-close {
    position: absolute;
    top: -8vw; /* -30px */
    right: 0;
    background: none;
    border: none;
    color: #fff;
    font-size: 3.73vw; /* 14px */
    font-family: var(--font-parabolica);
    font-weight: 700;
    cursor: pointer;
    letter-spacing: 0.1em;
    width: 55px;
    padding: 1.33vw; /* 5px */
}
.modal-close::before,
.modal-close::after {
    content: none !important;
}
.modal-close:hover {
    opacity: 0.7;
}

@media screen and (min-width: 769px) {/* モーダル */
.modal-content {
    max-width: 67.969vw; /* 1305px */
}
.modal-close {
    width: fit-content;
    top: -5.208vw; /* -100px */
    font-size: 3.646vw; /* 70px */
    padding: 0;
}
}