.main_slide { position: relative; }
.main_slide .swiper-slide { position: relative; }
.main_slide .swiper-slide > picture { position: relative; width: 100%; height: 100%; margin: 0 auto; display: block; }
.main_slide .swiper-slide > picture > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.main_slide .swiper-slide > .type01 { line-height: 1.55em; text-shadow: 0px 3px 10px rgba(0, 0, 0, 0.5); color: white; display: flex; align-items: center; justify-content: center; position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: 10; margin: 0; }
@media (min-width: 768px) { .main_slide .swiper-slide { height: 560px; }
  .main_slide .swiper-slide.slide01 > picture { max-width: 1480px; }
  .main_slide .swiper-slide > .type01 { font-size: 35px; } }
@media (max-width: 767.98px) { .main_slide .swiper-slide { aspect-ratio: 375/300; }
  .main_slide .swiper-slide > .type01 { font-size: 5vw; } }

.important_news_dl { display: flex; width: 100%; margin: 0 auto; overflow: hidden; position: sticky; left: 0; bottom: 0; z-index: 10; }
.important_news_dl > dt { background-color: #9d1628; color: white; display: flex; justify-content: center; align-items: center; margin: 0; height: 100%; font-weight: 400; }
.important_news_dl > dd { display: flex; margin: 0; height: 100%; }
.important_news_dl > dd > .important_container { background-color: #f0f0f0; white-space: nowrap; display: flex; align-items: center; }
.important_news_dl > dd > .important_container > div { padding-left: 1em; }
.important_news_dl > dd > .important_container > div > a { color: #000000; text-decoration: none; font-weight: 400; }
.important_news_dl > dd > .important_container > div > a > .ymd { color: #9d1628; margin-right: .25em; }
.important_news_dl > dd > .important_container > div > a:nth-child(n+2) { margin-left: 2em; }
.important_news_dl > dd > a { background-color: black; color: white; text-decoration: none; display: flex; align-items: center; justify-content: center; font-weight: 400; position: relative; z-index: 2; }
.important_news_dl > dd > a:hover { opacity: 1; color: rgba(255, 255, 255, 0.7); }
@media (min-width: 768px) { .important_news_dl { height: 40px; font-size: 14px; }
  .important_news_dl > dt { width: 130px; }
  .important_news_dl > dd { width: calc(100% - 130px); }
  .important_news_dl > dd > .important_container { width: calc(100% - 130px); }
  .important_news_dl > dd > a { width: 130px; } }
@media (max-width: 767.98px) { .important_news_dl { height: 50px; font-size: 11px; line-height: 1.45em; }
  .important_news_dl > dt { width: 65px; }
  .important_news_dl > dd { width: calc(100% - 65px); }
  .important_news_dl > dd > .important_container { width: calc(100% - 50px); }
  .important_news_dl > dd > .important_container > div > a { display: inline-block; }
  .important_news_dl > dd > .important_container > div > a > .ymd { display: block; }
  .important_news_dl > dd > a { width: 50px; } }

.nyushi_red { background-color: #bd263a; color: white; position: relative; }
.nyushi_red > dl { display: flex; align-items: center; outline: 1px solid white; border: 1px solid white; outline-offset: 2px; margin: 0; height: 100%; }
.nyushi_red > dl > dt { text-align: center; font-weight: 500; }
.nyushi_red > dl > dd { display: flex; align-items: center; margin: 0; }
.nyushi_red > dl > dd > div > a { color: white; text-decoration: none; }
.nyushi_red > dl > dd > a { color: #bd263a; background-color: white; text-decoration: none; font-weight: 500; display: flex; justify-content: center; align-items: center; }
@media (min-width: 768px) { .nyushi_red { padding: 13px; height: 120px; margin: 30px auto 30px; border-radius: 10px; }
  .nyushi_red > dl { justify-content: space-between; }
  .nyushi_red > dl > dt { width: 220px; font-size: 30px; }
  .nyushi_red > dl > dd { justify-content: space-between; width: calc(100% - 220px); }
  .nyushi_red > dl > dd > div > a { font-size: 14px; }
  .nyushi_red > dl > dd > a { width: 220px; height: 36px; border-radius: 18px; margin-right: 13px; } }
@media (max-width: 767.98px) { .nyushi_red { padding: 8px; border-radius: 5px; margin: 30px auto; }
  .nyushi_red > dl { flex-direction: column; padding: 10px 5px; }
  .nyushi_red > dl > dt { font-size: 20px; }
  .nyushi_red > dl > dd { flex-direction: column; }
  .nyushi_red > dl > dd > div { display: flex; justify-content: center; }
  .nyushi_red > dl > dd > div > a { font-size: 10px; margin: .5em; }
  .nyushi_red > dl > dd > a { width: 150px; height: 26px; font-size: 10px; border-radius: 13px; } }

.brochure_container { position: relative; }
.brochure_container > picture { position: absolute; left: 0; top: 0; width: 100%; height: 100%; display: block; }
.brochure_container > picture > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.brochure_container > .container { position: relative; z-index: 2; }
.brochure_container > .container > p { line-height: 1.6em; font-weight: 500; letter-spacing: .1em; }
@media (min-width: 768px) { .brochure_container { max-width: 1480px; margin: 0 auto; padding: 60px 0 90px; }
  .brochure_container > .container > p { font-size: 15px; margin: 0 0 80px; } }
@media (max-width: 767.98px) { .brochure_container { padding: 30px 0 45px; }
  .brochure_container > .container > p { font-size: 12px; margin: 0 0 40px; text-shadow: 1px 1px 1px white,1px 0px 1px white,0px 0px 1px white; } }

@media (min-width: 768px) { .img_flow_container { max-width: 1480px; margin: 0 auto 100px; overflow: hidden; } }
@media (max-width: 767.98px) { .img_flow_container { margin: 0 auto 25px; } }

.course_container { background: #9D1628; background: linear-gradient(90deg, #9d1628 0%, #9d1628 50%, #bd263a 50%, #bd263a 100%); color: white; }
.course_container > .container > .course_box { display: flex; position: relative; }
.course_container > .container > .course_box > div::after { position: absolute; font-weight: 700; line-height: 1em; }
.course_container > .container > .course_box > div:nth-child(1) { background-color: #9d1628; }
.course_container > .container > .course_box > div:nth-child(1)::after { color: #bd263a; z-index: 2; }
.course_container > .container > .course_box > div:nth-child(2) { background-color: #bd263a; }
.course_container > .container > .course_box > div:nth-child(2)::after { color: #9d1628; z-index: 1; }
.course_container > .container > .course_box > div > .img { overflow: hidden; position: relative; z-index: 3; }
.course_container > .container > .course_box > div > .img > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.course_container > .container > .course_box > div > dl { margin: 0; position: relative; z-index: 3; }
.course_container > .container > .course_box > div > dl > dt { display: flex; align-items: baseline; }
.course_container > .container > .course_box > div > dl > dt > .ja, .course_container > .container > .course_box > div > dl > dt > .en { font-weight: 500; }
.course_container > .container > .course_box > div > dl > dd { font-weight: 500; margin: 0; }
.course_container > .container > .course_box > div > dl > dd > p { line-height: 1.5em; }
.course_container > .container > .course_box > div > dl > dd > a { font-weight: 500; border: 1px solid white; color: white; text-decoration: none; display: flex; justify-content: center; align-items: center; }
@media (min-width: 768px) { .course_container { overflow: hidden; max-width: 1480px; margin: 0 auto; }
  .course_container > .container > .course_box { margin: 0 -10px; }
  .course_container > .container > .course_box > div { margin: 30px 20px 0; width: calc(50% - 40px); padding-bottom: 34px; }
  .course_container > .container > .course_box > div:nth-child(1)::after { content: "ADVANCED"; font-size: 150px; right: calc(50% - 14px); bottom: -30px; letter-spacing: -.06em; }
  .course_container > .container > .course_box > div:nth-child(2) { background-color: #bd263a; }
  .course_container > .container > .course_box > div:nth-child(2)::after { content: "ART"; font-size: 300px; letter-spacing: .02em; left: calc(50% + 176px); bottom: -30px; }
  .course_container > .container > .course_box > div > .img { border-radius: 20px; margin: 0 0 20px; aspect-ratio: 45/30; }
  .course_container > .container > .course_box > div > dl > dt { margin: -5px -5px 10px; }
  .course_container > .container > .course_box > div > dl > dt > .ja, .course_container > .container > .course_box > div > dl > dt > .en { margin: 5px; }
  .course_container > .container > .course_box > div > dl > dt > .ja { font-size: 30px; }
  .course_container > .container > .course_box > div > dl > dt > .en { font-size: 14px; }
  .course_container > .container > .course_box > div > dl > dd > p { font-size: 14px; }
  .course_container > .container > .course_box > div > dl > dd > a { width: 190px; height: 50px; border-radius: 25px; } }
@media (max-width: 767.98px) { .course_container > .container > .course_box > div { position: relative; overflow: hidden; padding-bottom: 90px; padding-top: 15px; width: calc(50% + 20px); }
  .course_container > .container > .course_box > div::after { content: "COURSE"; font-size: 75px; bottom: -5px; }
  .course_container > .container > .course_box > div:nth-child(1) { padding-right: 10px; margin-left: -20px; padding-left: 20px; }
  .course_container > .container > .course_box > div:nth-child(1)::after { right: -105px; }
  .course_container > .container > .course_box > div:nth-child(1) > .img { margin-left: -20px; border-radius: 0 10px 10px 0; }
  .course_container > .container > .course_box > div:nth-child(2) { padding-left: 10px; margin-right: -20px; padding-right: 20px; }
  .course_container > .container > .course_box > div:nth-child(2)::after { right: calc(100% - 105px); }
  .course_container > .container > .course_box > div:nth-child(2) > .img { margin-right: -20px; border-radius: 10px 0 0 10px; }
  .course_container > .container > .course_box > div:nth-child(2) > dl > dt { justify-content: flex-end; }
  .course_container > .container > .course_box > div > .img { margin-bottom: 15px; height: 150px; width: calc(100% + 20px); }
  .course_container > .container > .course_box > div > dl > dt { flex-wrap: wrap; margin: -3px -3px 10px; }
  .course_container > .container > .course_box > div > dl > dt > .ja, .course_container > .container > .course_box > div > dl > dt > .en { margin: 3px; }
  .course_container > .container > .course_box > div > dl > dt > .ja { font-size: 25px; }
  .course_container > .container > .course_box > div > dl > dt > .en { font-size: 12px; }
  .course_container > .container > .course_box > div > dl > dd > p { line-height: 2em; margin: 0 0 25px; font-size: 10px; }
  .course_container > .container > .course_box > div > dl > dd > a { width: 100%; height: 35px; border-radius: 18px; } }

.fashion_container { position: relative; }
.fashion_container > picture { position: absolute; left: 0; top: 0; width: 100%; height: 100%; display: block; }
.fashion_container > picture > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.fashion_container > .container { position: relative; z-index: 2; }
.fashion_container > .container > .text > .en { color: #ff7f7f; line-height: 1em; font-weight: 700; margin: 0; }
.fashion_container > .container > .text > .ja { font-weight: 500; font-size: 1.5em; margin: .755em 0 .5em; }
.fashion_container > .container > .text > .info { font-weight: 300; line-height: 1.875em; margin: 0 0 1em; }
.fashion_container > .container > .text > a { background-color: #bd263a; color: white; text-decoration: none; font-weight: 500; display: flex; align-items: center; justify-content: center; }
.fashion_container > .container > .img > picture { overflow: hidden; display: block; position: absolute; }
.fashion_container > .container > .img > picture:nth-child(1) { aspect-ratio: 2/3; z-index: 3; }
.fashion_container > .container > .img > picture:nth-child(2) { aspect-ratio: 1/1; z-index: 2; }
.fashion_container > .container > .img > picture:nth-child(3) { aspect-ratio: 9/6; z-index: 1; }
.fashion_container > .container > .img > picture > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
@media (min-width: 768px) { .fashion_container { max-width: 1480px; margin: 0 auto; padding: 60px 0 90px; }
  .fashion_container > .container > .text { width: 440px; }
  .fashion_container > .container > .text > .en { font-size: 100px; }
  .fashion_container > .container > .text > .ja { font-size: 30px; }
  .fashion_container > .container > .text > .info { font-size: 16px; }
  .fashion_container > .container > .text > a { width: 190px; height: 50px; border-radius: 25px; font-size: 14px; }
  .fashion_container > .container > .img { width: 700px; height: 535px; top: calc(50% - 250px); left: calc(50% + 40px); position: absolute; }
  .fashion_container > .container > .img > picture { border-radius: 20px; }
  .fashion_container > .container > .img > picture:nth-child(1) { width: 200px; left: 0; bottom: 36px; }
  .fashion_container > .container > .img > picture:nth-child(2) { width: 300px; left: 140px; top: 0; }
  .fashion_container > .container > .img > picture:nth-child(3) { width: 450px; right: 0; bottom: 0; } }
@media (max-width: 767.98px) { .fashion_container > picture { height: calc(75px + 71.33vw + 12px); }
  .fashion_container > .container > .text > .en { font-size: 50px; margin: 0 0 71.33vw -10px; padding: 12px 0; }
  .fashion_container > .container > .text > .ja { font-size: 25px; padding-top: 30px; }
  .fashion_container > .container > .text > .info { font-size: 10px; margin: 0 0 2em; }
  .fashion_container > .container > .text > a { width: 150px; height: 40px; border-radius: 20px; font-size: 10px; margin: 0 auto; }
  .fashion_container > .container > .img { width: 93.33vw; height: 71.33vw; top: 75px; left: 15.466vw; position: absolute; }
  .fashion_container > .container > .img > picture { border-radius: 2.66vw; }
  .fashion_container > .container > .img > picture:nth-child(1) { width: 26.66vw; left: 0; bottom: 4.8vw; }
  .fashion_container > .container > .img > picture:nth-child(2) { width: 40vw; left: 18.66vw; top: 0; }
  .fashion_container > .container > .img > picture:nth-child(3) { width: 60vw; right: 0; bottom: 0; } }

.cms_slide .swiper-slide { display: flex; flex-wrap: wrap; color: black; text-decoration: none; width: 220px; font-size: 12px; border: none; background-color: transparent; padding: 0; text-align: left; }
.cms_slide .swiper-slide > .img { width: 100%; background: #bd263a url(../common/favicon/icon.svg) no-repeat center; background-size: 66px auto; margin: 0 0 .75em; aspect-ratio: 220/178; overflow: hidden; border-radius: 20px; position: relative; }
.cms_slide .swiper-slide > .img > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.cms_slide .swiper-slide > .img + .ymd { color: #bd263a; }
.cms_slide .swiper-slide > p { line-height: 1.5em; font-weight: 500; }
.cms_slide .swiper-slide > .ct { color: #bd263a; margin: 0 1em 0 0; }
.cms_slide .swiper-slide > .ymd { margin: 0 0 0 0; }
.cms_slide .swiper-slide > .ttl { margin: .25em 0 0; font-size: 14px; width: 100%; }
.cms_slide .swiper-button-next, .cms_slide .swiper-button-prev { background-color: rgba(117, 117, 117, 0.9); color: white; width: 50px; height: 50px; top: 64px; margin: 0; border-radius: 50%; }
.cms_slide .swiper-button-next::after, .cms_slide .swiper-button-prev::after { font-size: 26px; }
.cms_slide.movie_slide .swiper-slide > .img::after { content: ""; display: block; position: absolute; width: 54px; height: 40px; left: calc(50% - 27px); top: calc(50% - 20px); background: transparent url(../common/images/icon/play.svg) no-repeat center; background-size: contain; }
@media (min-width: 768px) { .cms_slide.news_slide { max-width: 1480px; margin: 0 auto; } }

.btn_ichiran { display: flex; align-items: center; justify-content: center; border: 1px solid #bd263a; color: black; text-decoration: none; font-weight: 500; }
.btn_ichiran.btn_black { border-color: black; background-color: black; color: white; }
@media (min-width: 768px) { .btn_ichiran { width: 190px; height: 50px; border-radius: 25px; margin: 50px auto 0; font-size: 14px; } }
@media (max-width: 767.98px) { .btn_ichiran { width: 150px; height: 40px; border-radius: 20px; font-size: 12px; margin: 25px auto 0; } }

.ttl01 { position: relative; }
.ttl01.ttl_course::after, .ttl01.ttl_photo::after, .ttl01.ttl_movie::after { color: #bd263a; display: block; position: absolute; font-weight: 700; line-height: .65em; }
.ttl01.ttl_course::after { content: "COURSE"; }
.ttl01.ttl_photo::after { content: "PHOTO"; }
.ttl01.ttl_movie::after { content: "MOVIE"; }
@media (min-width: 768px) { .ttl01.ttl_course, .ttl01.ttl_photo, .ttl01.ttl_movie { margin: 100px auto 0; padding-bottom: 20px; max-width: 1480px; overflow: hidden; }
  .ttl01.ttl_course::after, .ttl01.ttl_photo::after, .ttl01.ttl_movie::after { font-size: 150px; top: 0; }
  .ttl01.ttl_course::after { left: calc(50% + 160px); }
  .ttl01.ttl_photo::after { left: calc(50% + 220px); }
  .ttl01.ttl_movie::after { right: calc(50% + 250px); }
  .ttl01.ttl_news { padding-bottom: 10px; } }
@media (max-width: 767.98px) { .ttl01.ttl_course, .ttl01.ttl_photo, .ttl01.ttl_movie { margin: 75px auto 0; }
  .ttl01.ttl_course::after, .ttl01.ttl_photo::after, .ttl01.ttl_movie::after { font-size: 40px; bottom: -3px; }
  .ttl01.ttl_course { padding-bottom: 20px; }
  .ttl01.ttl_course::after { left: calc(50% + 70px); }
  .ttl01.ttl_photo { padding-block: 30px; }
  .ttl01.ttl_photo::after { left: calc(50% + 60px); }
  .ttl01.ttl_movie { padding-bottom: 30px; }
  .ttl01.ttl_movie::after { right: calc(50% + 65px); }
  .ttl01.ttl_news { padding-bottom: 20px; } }

.photo_container { background-repeat: no-repeat; background-size: cover; position: relative; z-index: 2; }
@media (min-width: 768px) { .photo_container { max-width: 1480px; margin: 0 auto; background-image: url(../images/photo_back/pc.avif); padding: 80px 0 50px; } }
@media (max-width: 767.98px) { .photo_container { background-image: url(../images/photo_back/sp.avif); padding: 20px 0 25px; } }

.movie_container { background-repeat: no-repeat; background-size: cover; position: relative; z-index: 2; }
@media (min-width: 768px) { .movie_container { max-width: 1480px; margin: 0 auto 100px; background-image: url(../images/movie_back/pc.avif); padding: 80px 0 50px; } }
@media (max-width: 767.98px) { .movie_container { background-image: url(../images/movie_back/sp.avif); padding: 20px 0 25px; margin: 0 auto 30px; } }

.access_container { position: relative; }
.access_container > .text { background-color: #9d1628; color: white; position: relative; z-index: 2; font-weight: 700; overflow: hidden; }
.access_container > .text > dl { margin: 0; }
.access_container > .text > dl > dt { font-weight: 700; border-bottom: 1px solid white; }
.access_container > .text > dl > dd { font-weight: 700; margin: 0; }
.access_container > .text > dl > dd > dl { display: flex; align-items: flex-start; justify-content: space-between; margin: 0; }
.access_container > .text > dl > dd > dl > dt { font-weight: 700; border: 1px solid white; text-align: center; }
.access_container > .text > dl > dd > dl > dt.text2 { letter-spacing: 1em; padding-left: 1em; white-space: nowrap; }
.access_container > .text > dl > dd > dl > dd { font-weight: 700; margin: 0; }
.access_container > .text::after { content: "ACCESS"; position: absolute; line-height: 1em; font-weight: 700; color: #bd263a; }
.access_container > .map { position: relative; overflow: hidden; }
.access_container > .map > iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
@media (min-width: 768px) { .access_container { margin: 30px auto 60px; }
  .access_container > .text { width: 760px; height: 400px; left: calc(50% - 20px); border-radius: 20px; padding: 36px; font-size: 14px; display: flex; flex-direction: column; justify-content: center; }
  .access_container > .text > dl { width: 460px; }
  .access_container > .text > dl:nth-child(n+2) { margin-top: 40px; }
  .access_container > .text > dl > dt { padding: 0 0 5px; margin: 0 0 10px; }
  .access_container > .text > dl > dd > dl:nth-child(n+2) { margin-top: 10px; }
  .access_container > .text > dl > dd > dl > dt { width: 80px; height: 30px; }
  .access_container > .text > dl > dd > dl > dd { width: calc(100% - 100px); }
  .access_container > .text::after { font-size: 100px; left: 400px; bottom: -10px; }
  .access_container > .map { width: 760px; height: 400px; position: absolute; top: 30px; right: calc(50% - 20px); border-radius: 20px; } }
@media (max-width: 767.98px) { .access_container { margin: 25px auto 0px; display: flex; flex-direction: column; }
  .access_container > .text { order: 1; width: calc(100% - 20px); border-radius: 20px 0 0 20px; padding: 30px 20px; font-size: 12px; margin: -20px 0 0 auto; }
  .access_container > .text > dl { position: relative; z-index: 2; }
  .access_container > .text > dl:nth-child(n+2) { margin-top: 20px; }
  .access_container > .text > dl > dt { padding: 0 0 3px; margin: 0 0 4px; }
  .access_container > .text > dl > dd > dl { margin-top: 8px; }
  .access_container > .text > dl > dd > dl:nth-child(n+2) { margin-top: 10px; }
  .access_container > .text > dl > dd > dl > dt { width: 50px; height: 25px; font-size: 10px; }
  .access_container > .text > dl > dd > dl > dd { width: calc(100% - 56px); font-size: 11px; }
  .access_container > .text::after { font-size: 75px; right: calc(-2em - 5px); line-height: 75px; bottom: calc(50% - 1em); transform: rotate(90deg); transform-origin: center top; }
  .access_container > .map { order: 0; width: calc(100% - 20px); height: 220px; border-radius: 0 20px 20px 0; } }
