@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Kaisei+Tokumin&display=swap");
/*==========================
	add common css
============================*/
.w-80per {
  width: 80%;
}

@media (min-width: 640px) and (max-width: 1000px) {
  .w-md-80per {
    width: 80%;
  }
}
.rounded-5 {
  border-radius: 5px;
}

.fontArial {
  font-family: Arial, Helvetica, "sans-serif";
}

/*==========================
	#event overwrite
============================*/
article {
  width: 100%;
  margin: auto;
}

article a {
  color: #333;
  transition: 0.2s linear;
}

article a:hover {
  color: #333;
  opacity: 0.6;
}

.bread {
  /* padding-top: 90px; */
  background: none !important;
  /* border: #f00 thin solid; */
}

.bread__inner.inner {
  max-width: 1200px;
  /* padding-top: 25px; */
  padding-bottom: 0px;
  /* border: #f00 thin solid; */
}

@media print, screen and (max-width: 900px) {
  main {
    padding-top: 10px;
  }
  .bread {
    display: none !important;
  }
  .bread {
    padding-top: 90px;
    background: none !important;
  }
}
/*==========================
	 common
============================*/
/* fonts */
.gray_aaa {
  color: #aaa;
}

.gray_999 {
  color: #999;
}

.orange {
  color: #dd7a0e;
}

/*

// <uniquifier>: Use a unique and descriptive class name
// <weight>: Use a value from 100 to 900

*/
.noto-sans-jp-900 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
}

.btn {
  padding: 3px 10px 2px;
  color: #dd7a0e;
  display: inline-block;
  border: #dd7a0e thin solid;
}

.apply_btn a {
  color: #fff;
  background: #c8373c;
}

/*==========================
	 contents
============================*/
@media print, screen and (max-width: 1000px) {
  /* #contents {
    padding-top: 40px;
  } */
}
@media print, screen and (max-width: 900px) {
  /* #contents {
    padding-top: 30px;
  } */
}
/*==========================
	 title
============================*/
#title {
  background: url(../img/1x/bg_title_pc_all.png) top center no-repeat;
}

.title_box {
  width: 95%;
  max-width: 1200px;
  min-height: 526px;
  margin: auto;
  background: url(../img/bookcover.png) no-repeat top right;
}

#title h1 {
  width: 88%;
  /* max-width: 938px; */
  max-width: 1048px;
  margin-bottom: 10px;
}

#title .h1_pc {
  max-width: 1048px;
  display: block;
}

#title .h1_mob {
  display: none;
}

/* #title .date {
} */
@media screen and (max-width: 1280px) {
  #title {
    background: url(../img/1x/bg_title_all_1200.png) top center no-repeat;
    background-size: contain;
  }
}
@media screen and (max-width: 767px) {
  .title_box {
    background: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 900px) {
  .title_box {
    width: 100%;
    max-width: 100%;
    min-height: auto;
    background-size: 35%;
    background-position: right bottom;
  }
}
@media print, screen and (max-width: 900px) {
  #title {
    /*background: none;*/
  }
  #title h1 {
    width: 100%;
    max-width: 100%;
    /* margin-bottom: 10px; */
    margin-bottom: 0;
  }
  #title .h1_pc {
    display: none;
  }
  #title .h1_mob {
    display: block;
  }
  #title .date {
    width: 90%;
    margin: auto auto 60px;
  }
}
/*==========================
	 outline
============================*/
#outline {
  background: #d2d9e6;
  padding-top: 60px;
  padding-bottom: 60px;
}

#outline .lv_02 {
  width: 98%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 60px;
  padding: 60px 15px 90px;
  background: #fff;
}

.issue {
  width: 70%;
  margin-left: auto;
  margin-right: auto;
  padding: 15px 30px 30px;
  /* border: #c9bc9c 1px solid; */
  border: #555 thin dotted;
}

.issue h4 {
  border-bottom: #555 thin solid;
}

.issue li::before {
  content: "◆";
  /*◆*/
  color: #bed3fe;
  margin-right: 5px;
}

#outline h2 {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  padding: 20px 0 15px;
  color: #000;
  background: #c6b4f1;
}

#outline h3 {
  padding: 20px 0 15px;
  color: #fff;
  background: #bed3fe;
}

#outline h4 {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 10px;
  border-bottom: #555 thin solid;
}

.date_detail .icon {
  color: #000;
  /* background-color: #dd7a0e; */
  background-color: #f6dc80;
  display: inline-block;
  padding: 0 15px;
}

@media print, screen and (max-width: 900px) {
  #outline {
    padding-top: 30px;
    padding-bottom: 60px;
  }
  #outline .lv_02 {
    width: 90%;
    padding: 30px 15px 60px;
  }
  .issue {
    width: 100%;
    padding: 15px 30px 30px;
  }
  #outline h2 {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    /*border-bottom: #dd7a0e thin solid;*/
  }
}
/*==========================
	 book
============================*/
.book_info .box {
  margin-left: 3%;
  margin-right: 3%;
}

@media print, screen and (max-width: 900px) {
  .book_info .box {
    margin-bottom: 60px;
  }
}
/*==========================
	 apply
============================*/
#apply {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  padding: 45px 0;
  border: #555 2px solid;
}

@media print, screen and (max-width: 900px) {
  #apply {
    width: 95%;
    padding: 15px 15px;
  }
}
/*==========================
	 performer
============================*/
.performer .flexbox .txtbox {
  width: 75%;
  text-align: left;
}

.performer .flexbox figure {
  width: 20%;
}

@media print, screen and (max-width: 900px) {
  .performer .flexbox figure {
    width: 60% !important;
    max-width: 300px;
    margin-bottom: 30px;
  }
  .performer .flexbox .txtbox {
    width: 90% !important;
    margin-left: auto;
    margin-right: auto;
  }
}
/*==========================================
	// id #access
============================================*/
#access h3 {
  color: #333;
  border-bottom: #9d4753 2px solid;
}

#access .txtbox {
  text-align: left;
}

#access figure {
  text-align: left;
}

#access .mapbox iframe {
  width: 80%;
  margin: auto;
  height: 450px;
}

@media print, screen and (max-width: 900px) {
  #access .mapbox iframe {
    width: 100%;
    margin: auto;
    height: 300px;
  }
}
/*=====================
	// 202510 追記分
=======================*/
body .main .is-pc {
  display: block;
}
body .main .is-sp {
  display: none;
}
@media screen and (max-width: 999px) {
  body .main {
    margin-top: 50px !important;
  }
  body .main .is-pc {
    display: none;
  }
  body .main .is-sp {
    display: block;
  }
}

#title {
  background: none;
  background-image: linear-gradient(0deg, #abdc9f, #f8d1b1 41% 100%);
  padding-top: 40px;
}
#title .bg_left {
  background: url(../img/frame-l.png);
  background-repeat: no-repeat;
  background-size: 10%;
  background-position-x: 4%;
}
@media screen and (max-width: 999px) {
  #title .bg_left {
    background-size: 16%;
  }
}
#title .bg_right {
  background: url(../img/frame-r.png);
  background-repeat: no-repeat;
  background-size: 10%;
  background-position-x: 94%;
}
@media screen and (max-width: 999px) {
  #title .bg_right {
    background-size: 16%;
  }
}
#title .bg_left, #title .bg_right {
  max-width: 1500px;
  margin: 0 auto;
}
#title .title_box {
  width: 95%;
  max-width: 1300px;
  min-height: 526px;
  margin: auto;
  position: relative;
  background: none;
  padding: 40px 10%;
  min-height: initial;
}
@media screen and (max-width: 999px) {
  #title .title_box {
    padding: 30px 20px;
  }
}
#title .title_box h2 {
  width: 300px;
  margin: 0 auto 30px;
}
@media screen and (max-width: 999px) {
  #title .title_box h2 {
    width: 200px;
  }
}
#title .title_box h1 {
  width: 70%;
  /* max-width: 938px; */
  max-width: 1048px;
  margin-bottom: 10px;
}
@media screen and (max-width: 999px) {
  #title .title_box h1 {
    width: 96%;
    margin: 0 auto;
  }
}
#title .title_box .sub-title {
  margin: 20px 0 0;
  font-size: clamp(1.5rem, 3vw, 4rem);
  color: #333;
}
@media screen and (max-width: 999px) {
  #title .title_box .sub-title {
    font-size: clamp(1.2rem, 4vw, 4rem);
    width: 100%;
  }
}
#title .title_box_bookcover {
  position: absolute;
  width: 24%;
  max-width: 270px;
  height: auto;
  right: 6%;
  top: 80px;
  margin-top: 0 !important;
}
@media screen and (max-width: 999px) {
  #title .title_box_bookcover {
    position: relative;
    top: 0;
    right: 0;
    width: 100%;
    max-width: initial;
    /* top: 16px; */
  }
  #title .title_box_bookcover p {
    width: 24%;
    position: absolute;
    right: 6px;
  }
}
#title .title_box .event-date {
  margin: 30px auto 0;
  width: -moz-fit-content;
  width: fit-content;
  background: #de5412;
  color: #fff;
  font-size: 24px;
  font-weight: 600;
  padding: 10px 20px;
}
@media screen and (max-width: 999px) {
  #title .title_box .event-date {
    font-size: clamp(16px, 3vw, 4rem);
  }
}
#title .title_box .event-date span {
  font-size: 36px;
  display: inline-block;
  margin-left: 10px;
  letter-spacing: 2px;
}
@media screen and (max-width: 999px) {
  #title .title_box .event-date span {
    margin-left: 4px;
    letter-spacing: 1px;
    font-size: clamp(20px, 4vw, 5rem);
  }
}

.bg_deco_mob #outline {
  background-image: linear-gradient(0deg, #ffffff, #abdc9f 50% 100%);
}
.bg_deco_mob #outline h2 {
  background: #f8d1b1;
}
.bg_deco_mob #outline .issue ul {
  text-align: left;
  padding-left: 100px;
}
@media screen and (max-width: 999px) {
  .bg_deco_mob #outline .issue ul {
    padding-left: 0;
  }
}
.bg_deco_mob #outline .issue ul li {
  margin-bottom: 10px;
}
.bg_deco_mob #outline .lv_02 {
  padding: 30px 20px;
}
@media screen and (max-width: 999px) {
  .bg_deco_mob #outline .lv_02 {
    margin-bottom: 0;
  }
}
.bg_deco_mob #outline .lv_02 .date_detail .tm_upper {
  margin-bottom: 40px;
}
.bg_deco_mob #outline .lv_02 .date_detail .tm_lower .t-material:nth-of-type(1) {
  margin-right: 4%;
}
@media screen and (max-width: 999px) {
  .bg_deco_mob #outline .lv_02 .date_detail .tm_lower .t-material:nth-of-type(1) {
    margin-right: 0;
  }
}
.bg_deco_mob #outline .lv_02 .date_detail .teaching-materials {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: center;
}
@media screen and (max-width: 999px) {
  .bg_deco_mob #outline .lv_02 .date_detail .teaching-materials {
    flex-direction: column;
  }
}
.bg_deco_mob #outline .lv_02 .date_detail .teaching-materials .t-material {
  width: 48%;
  padding: 0 30px;
  margin-bottom: 20px;
}
@media screen and (max-width: 999px) {
  .bg_deco_mob #outline .lv_02 .date_detail .teaching-materials .t-material {
    width: 100%;
    padding: 0;
  }
}
.bg_deco_mob #outline .lv_02 .date_detail .teaching-materials .t-material > p:nth-of-type(1) {
  max-width: 250px;
  margin: 0 auto 10px;
}
.bg_deco_mob #outline .lv_02 .date_detail .teaching-materials .t-material:nth-of-type(1) img {
  border: 1px solid #cfcfcf;
}
.bg_deco_mob #outline .lv_02 .date_detail .teaching-materials .t-material p {
  font-size: 18px;
  margin-bottom: 10px;
}
@media screen and (max-width: 999px) {
  .bg_deco_mob #outline .lv_02 .date_detail .teaching-materials .t-material p {
    font-size: 14px;
  }
}
.bg_deco_mob #outline .lv_02 .date_detail .teaching-materials .t-material p:nth-of-type(1) {
  font-weight: 600;
}

.advance_notice {
  text-align: center;
  padding-top: 100px;
}

.issue li::before {
  content: "";
  width: 12px;
  height: 12px;
  display: inline-block;
  background: #de5412;
  margin-right: 5px;
  border-radius: 4px;
}

#outline > div:nth-child(2) > div > div.date_detail.mb_45 > div.w-89per.mx-auto.text-center.mb-90 > div > div:nth-child(1) > p:nth-child(2), #outline > div:nth-child(2) > div > div.date_detail.mb_45 > div.w-89per.mx-auto.text-center.mb-90 > div > div:nth-child(2) > p:nth-child(2) {
  height: 400px;
}
#outline > div:nth-child(2) > div > div.date_detail.mb_45 > div.w-89per.mx-auto.text-center.mb-90 > div > div:nth-child(1) > p:nth-child(2) img, #outline > div:nth-child(2) > div > div.date_detail.mb_45 > div.w-89per.mx-auto.text-center.mb-90 > div > div:nth-child(2) > p:nth-child(2) img {
  height: 100%;
}

#contents {
  font-family: "Noto Sans JP", serif !important;
}
@media screen and (max-width: 600px) {
  #contents .profile-text {
    width: 106%;
    margin-left: -3%;
  }
}
#contents .profile-text p span {
  display: inline-block;
}
#contents .profile-text p .nowrap {
  display: inline;
}
@media screen and (max-width: 400px) {
  #contents .profile-text p .nowrap {
    letter-spacing: -10px;
    font-size: 12px;
  }
}
#contents .text-ccc {
  color: #ccc;
}
#contents .endtxt {
  font-size: 14px;
  margin: -10px auto 20px;
}
#contents .end {
  font-size: 16px;
}
@media screen and (max-width: 999px) {
  #contents .end {
    font-size: 14px;
  }
}

.on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.on-scroll.is-show {
  opacity: 1;
  transform: translateY(0);
}

/* ==================================================
   HERO LOADING
================================================== */
#hero-loading-mask {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 99999;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.7s ease, visibility 0.7s ease;
}

#hero-loading-mask.is-hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

#hero-loading-mask {
  transition: opacity 0.7s ease, visibility 0.7s ease;
}

#hero-loading-mask.is-hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

#hero .myj100aniv,
#hero .hero__inner__upper,
#hero .hero__inner__lower .hero-frame,
#hero .hero__inner__lower div:nth-of-type(1) p,
#hero .hero__inner__lower div:nth-of-type(3) div,
#hero .hero-title__line--sub,
#hero .hero-title__line--names,
#hero .hero-title__line--event,
#hero .hero-title__line--program,
#hero .hero-title__line--main,
#hero .hero-date,
.ev-lead {
  opacity: 0;
  transform: translateY(12px);
}

.is-hero-show {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

#hero .myj100aniv,
#hero .hero__inner__upper,
#hero .hero__inner__lower .hero-frame,
#hero .hero__inner__lower div:nth-of-type(1) p,
#hero .hero__inner__lower div:nth-of-type(3) div {
  transition: opacity 0.6s ease, transform 0.6s ease;
}

#hero .hero-title__line--sub,
#hero .hero-title__line--names,
#hero .hero-title__line--event,
#hero .hero-title__line--program,
#hero .hero-title__line--main,
#hero .hero-date,
.ev-lead {
  transition: opacity 0.35s ease, transform 0.35s ease;
}

.hero {
  position: relative;
  background: url(../img/bg.jpg) no-repeat;
  background-size: cover;
}
.hero::before, .hero::after {
  content: "";
  display: block;
  position: absolute;
  width: 25%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .hero::before, .hero::after {
    width: 50%;
  }
}
.hero::before {
  left: 0;
  background: url(../img/bg_left.png) top left no-repeat;
  background-size: contain;
}
.hero::after {
  right: 0;
  top: 0;
  background: url(../img/bg_right.png) bottom right no-repeat;
  background-size: contain;
}
.hero .myj100aniv {
  position: absolute;
  width: 16%;
  max-width: 220px;
  top: 30px;
  right: 30px;
}
@media screen and (max-width: 768px) {
  .hero .myj100aniv {
    top: 14px;
    right: 10px;
    width: 22vw;
  }
}
@media screen and (max-width: 350px) {
  .hero .myj100aniv {
    right: 8px;
    width: 21vw;
  }
}
.hero__inner {
  width: 80%;
  margin: 0 auto;
  padding-top: 10px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .hero__inner {
    width: 90%;
  }
}
.hero__inner__upper {
  padding: 20px 0 0;
  font-family: "Noto Serif JP", serif;
}
.hero__inner__upper h3 {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-weight: 400;
  font-size: 1.6vw;
}
@media screen and (max-width: 768px) {
  .hero__inner__upper h3 {
    font-size: 3.3vw;
  }
}
.hero__inner__upper h2 {
  width: -moz-fit-content;
  width: fit-content;
  margin: 10px auto 0;
  padding: 10px 20px;
  box-sizing: border-box;
  background: #47202d;
  clip-path: polygon(2% 0, 98% 0, 100% 50%, 98% 100%, 2% 100%, 0 50%);
  font-size: 1.6vw;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .hero__inner__upper h2 {
    font-size: 3.6vw;
    clip-path: polygon(4% 0, 96% 0, 100% 50%, 96% 100%, 4% 100%, 0 50%);
  }
  .hero__inner__upper h2 span {
    display: block;
  }
}
.hero__inner__lower {
  padding: 20px 0 40px;
  display: flex;
  flex-wrap: nowrap;
}
@media screen and (max-width: 768px) {
  .hero__inner__lower {
    flex-wrap: wrap;
  }
}
.hero__inner__lower > div:nth-of-type(1), .hero__inner__lower > div:nth-of-type(3) {
  width: 20%;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .hero__inner__lower > div:nth-of-type(1) {
    order: 2;
    width: 50%;
  }
}
.hero__inner__lower > div:nth-of-type(1) p {
  position: absolute;
  bottom: 0;
  transform: translateX(20%) !important;
}
@media screen and (max-width: 768px) {
  .hero__inner__lower > div:nth-of-type(1) p {
    position: relative;
    width: 90%;
    transform: translateX(0) !important;
  }
}
@media screen and (max-width: 768px) {
  .hero__inner__lower > div:nth-of-type(3) {
    order: 3;
    width: 50%;
  }
}
.hero__inner__lower > div:nth-of-type(3) div {
  position: absolute;
  bottom: 10%;
  transform: translateX(-20%) !important;
}
.hero__inner__lower > div:nth-of-type(3) div p:nth-of-type(2) {
  text-align: center;
  font-family: "Kaisei Tokumin", serif;
  color: #47202d;
  font-size: 1.2vw;
  margin-top: 6px;
}
@media screen and (max-width: 768px) {
  .hero__inner__lower > div:nth-of-type(3) div {
    transform: translateX(0) !important;
  }
  .hero__inner__lower > div:nth-of-type(3) div p:nth-of-type(2) {
    font-size: 3.5vw;
  }
}
.hero__inner__lower > div:nth-of-type(2) {
  width: 60%;
}
@media screen and (max-width: 768px) {
  .hero__inner__lower > div:nth-of-type(2) {
    order: 1;
    width: 100%;
  }
}
.hero__inner__lower > div:nth-of-type(2) .hero-frame {
  aspect-ratio: 60/37;
  background: url(../img/hr_frame.png) no-repeat;
  background-size: contain;
  display: flex;
  justify-content: center;
  align-items: center;
}
.hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title {
  line-height: initial;
  font-size: initial;
}
.hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line {
  display: block;
  text-align: center;
  font-family: "Noto Sans JP";
  font-weight: 400;
}
.hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--sub {
  font-size: 1.5vw;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  margin: 0 auto;
  padding-bottom: 0.6vw;
  font-weight: 400;
  text-align: center;
  color: #111;
  margin-bottom: 1.2vw;
}
.hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--sub::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0.1vw;
  background: linear-gradient(#555, #555) left top/calc(50% - 1.4vw) 1px no-repeat, linear-gradient(#555, #555) right top/calc(50% - 1.4vw) 1px no-repeat;
}
@media screen and (max-width: 768px) {
  .hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--sub::before {
    height: 0.3vw;
  }
}
.hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--sub::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 2vw;
  height: 2vw;
  border-left: 1px solid #555;
  border-bottom: 1px solid #555;
  transform: translateX(-50%) translateY(50%) rotate(-45deg);
  background: transparent;
}
.hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--names {
  font-family: "Noto Serif JP", serif;
  font-size: 3vw;
  letter-spacing: 0.4vw;
  position: relative;
  isolation: isolate;
  width: 100%;
  font-weight: 700;
  color: #fff;
  -webkit-text-stroke: 0.4vw #67384a;
  paint-order: stroke fill;
  z-index: 1;
}
.hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--names .htl--names_1, .hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--names .htl--names_2 {
  position: relative;
}
.hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--names .htl--names_1::before, .hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--names .htl--names_2::before {
  content: attr(data-text);
  position: absolute;
  left: 0.14vw;
  bottom: -0.18vw;
  width: 100%;
  color: #8b6b77;
  -webkit-text-stroke: 0.4vw #8b6b77;
  paint-order: stroke fill;
  z-index: -1;
  pointer-events: none;
  text-shadow: 0.1vw 0.1vw 0 #8b6b77, 0.14vw 0.14vw 0 #8b6b77;
}
.hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--names .hero-title__small {
  position: relative;
}
.hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--names .hero-title__small::before {
  content: attr(data-text);
  position: absolute;
  left: 0.14vw;
  bottom: -0.18vw;
  width: 100%;
  color: #8b6b77;
  -webkit-text-stroke: 0.4vw #8b6b77;
  paint-order: stroke fill;
  z-index: -1;
  pointer-events: none;
  text-shadow: 0.1vw 0.1vw 0 #8b6b77, 0.14vw 0.14vw 0 #8b6b77;
}
.hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--event {
  font-family: "Noto Serif JP", serif;
  font-size: 2.4vw;
  letter-spacing: 0.2vw;
  position: relative;
  isolation: isolate;
  font-weight: 700;
  color: #fff;
  -webkit-text-stroke: 0.4vw #67384a;
  paint-order: stroke fill;
  z-index: 1;
}
.hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--event::before {
  content: attr(data-text);
  position: absolute;
  left: 0.14vw;
  bottom: -0.18vw;
  width: 100%;
  color: #8b6b77;
  -webkit-text-stroke: 0.4vw #8b6b77;
  paint-order: stroke fill;
  z-index: -1;
  pointer-events: none;
  text-shadow: 0.1vw 0.1vw 0 #8b6b77, 0.14vw 0.14vw 0 #8b6b77;
}
.hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--program {
  font-size: 2vw;
  margin: 2% auto;
}
.hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--main {
  font-family: "Kaisei Tokumin", serif;
  display: flex;
  justify-content: center;
  gap: 1vw;
  padding-left: 11%;
}
.hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--main .ttl-box {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1vw;
  border-radius: 1vw;
  background: #4c202c;
  color: #fff;
  font-size: 4vw;
  font-weight: 400;
  line-height: 1;
  transform-style: preserve-3d;
}
.hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--main .ttl-box::before {
  content: "";
  position: absolute;
  top: 0.4vw;
  left: 0.4vw;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: #8b6b77;
  transform: translateZ(-1px);
}
.hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--main .hero-title__small {
  display: flex;
  align-items: end;
  font-size: 2vw;
}
@media screen and (max-width: 768px) {
  .hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--sub {
    font-size: 3.8vw;
  }
  .hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--names {
    font-size: 7vw;
  }
  .hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--event {
    font-size: 5.5vw;
  }
  .hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--program {
    font-size: 4.5vw;
    margin: 0 auto 1%;
  }
  .hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--main {
    gap: 1.5vw;
    padding-left: 6%;
  }
  .hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--main .ttl-box {
    font-size: 7.5vw;
    padding: 1.5vw;
  }
  .hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__line--main .hero-title__small {
    font-size: 3.8vw;
    width: 4%;
  }
}
.hero__inner__lower > div:nth-of-type(2) .hero-frame .hero-title__small {
  font-size: 70%;
}
.hero__inner__lower > div:nth-of-type(2) .hero-date {
  font-family: "Kaisei Tokumin", serif;
  font-size: 2.4vw;
  text-align: center;
  margin-top: 2%;
  color: #47202d;
}
@media screen and (max-width: 768px) {
  .hero__inner__lower > div:nth-of-type(2) .hero-date {
    font-size: 4vw;
    margin-bottom: 30px;
  }
}
.hero__inner__lower > div:nth-of-type(2) .hero-date p:nth-of-type(1) span {
  font-size: 140%;
}

.outlinebox {
  background-image: initial;
  background: #ece8ee !important;
}
.outlinebox h2 {
  width: 100% !important;
  background: #47202d !important;
  color: #fff !important;
  margin: 80px auto 40px;
}
.outlinebox > div:nth-child(2) > div > h2 {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .outlinebox > div:nth-child(2) > div > h2 {
    margin-top: 0;
  }
}
.outlinebox .date_detail .icon {
  background: #ffdae5 !important;
  font-size: 0.8em;
  padding: 2px 14px;
  margin-bottom: 4px;
}
.outlinebox .date_detail a.a-button {
  font-size: 0.7em;
  border: 1px solid #000;
  padding: 1px 6px;
  display: inline-block;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .outlinebox .date_detail dl dd {
    font-size: 16px !important;
  }
}
.outlinebox div:nth-child(2) > div > div.date_detail.mb_45 > dl > dd {
  margin-bottom: 40px;
}
.outlinebox div:nth-child(2) > div > div.date_detail.mb_45 > dl > dd:nth-child(6) ul li {
  margin-bottom: 20px;
}
.outlinebox #piece-list ul li span {
  display: block;
}
.outlinebox #piece-list ul li {
  margin-bottom: 30px;
}
.outlinebox #piece-list p {
  font-size: 0.8em;
  margin-top: 20px;
}
.outlinebox #profile figure {
  margin-right: 30px;
}
@media screen and (max-width: 768px) {
  .outlinebox #profile figure {
    width: 60%;
    margin: 0 auto 20px;
  }
}
.outlinebox #access {
  background: none !important;
}
.outlinebox #access ul {
  width: 80%;
  margin: 0 auto;
}
.outlinebox #access ul li {
  text-align: left;
}
.outlinebox #access .mapbox {
  margin-top: 20px;
}

#outline > div:nth-child(2) > div > div.date_detail.mb_45 > dl > dd:nth-child(6) > ul > li:nth-child(1) > span:nth-child(3) {
  font-size: 0.7em;
  color: #cb0000;
  display: inline-block;
}/*# sourceMappingURL=styles.css.map */