@media screen {
  .yearSelect {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    margin: 4vw auto;
    text-align: center;
    max-width: 460px;
  }
  .yearSelect .y-s-child {
    width: calc((100% - 20px) / 3);
    margin-right: 10px;
    border: 2px solid #a2001a;
    border-radius: 15px;
    margin-bottom: 10px;
    padding: 5px 20px 6px;
    box-sizing: border-box;
    line-height: 1.3;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
  }
  .yearSelect .y-s-child:nth-child(3n) {
    margin-right: 0;
  }
  .yearSelect a {
    display: block;
    font-family: noto-sans-cjk-jp, sans-serif;
    font-weight: 700;
    font-style: normal;
    text-align: center;
    background: #fff;
    color: #a2001a;
    /* border: 2px solid #A2001A; */
  }
  .yearSelect a:hover {
    color: #fff;
    background: #a2001a;
  }

  h1 {
    display: block;
    font-size: 2.3333vw;
    text-align: center;
    color: #fff;
    background: #a2001a;
    /* border: 2px solid #A2001A; */
  }

  h2 {
    display: block;
    width: 100%;
    background-color: #a2001a;
    color: #fff;
    text-align: center;
    padding: 1vw 0;
    margin: 6.6667vw 0 8.3333vw 0;
    font-family: source-han-serif-japanese, serif;
    font-weight: 600;
    font-style: normal;
    font-size: 2.5vw;
  }

  .scheduleContainer {
    width: 77vw;
    margin: 0 auto;
  }
  #schedule-detail .scheduleContainer {
    width: 100%;
  }

  h3 {
    display: block;
    width: 100%;
    font-size: 1.833vw;
    padding-bottom: 2.16666vw;
    border-bottom: 1px solid #a2001a;
    color: #a2001a;
    margin-bottom: 2.5vw;
  }

  h4 {
    display: block;
    width: 100%;
    position: relative;
    border-bottom: 1px dotted #707070;
    margin-bottom: 1.5vw;
    font-size: 1.25vw;
    font-family: source-han-serif-japanese, serif;
    font-weight: 400;
    font-style: normal;
  }

  h4 span {
    position: relative;
    width: 10.5vw;
    padding: 0.6667vw 0;
    bottom: -1px;
    display: block;
    background-color: #a2001a;
    color: #fff;
    text-align: center;
  }

  .scheduleContainer .eventDetail span {
    background-color: #231815;
  }

  h5 {
    color: #a2001a;
    font-size: 1.25vw;
    font-family: source-han-serif-japanese, serif;
    font-weight: 400;
    font-style: normal;
  }

  h5 span {
    display: inline-block;
    padding-left: 0.83333vw;
  }

  .mt1em {
    margin-top: 1em;
  }

  .dd-list li {
    text-indent: -1em;
    padding-left: 1em;
  }

  .scheduleContainer p {
    font-size: 1.25vw;
    line-height: 1.7333;
    text-wrap: pretty;
  }

  .scheduleContainer img {
    width: 100%;
    padding-top: 5.6vw;
  }

  #sc-2024 .scheduleContainer img {
    padding-top: 0;
  }
  #sc-2024 .scheduleContainer #schedule03 img,
  #sc-2024 .scheduleContainer #schedule04 img {
    width: 100%;
  }

  .scheduleContainer ul li {
    font-family: source-han-serif-japanese, serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.25vw;
    display: flex;
  }
  .scheduleContainer ul li p:first-child {
    flex: 1.5;
  }
  .scheduleContainer ul li p:last-child {
    flex: 6;
  }
  .scheduleContainer ul.grow1-4 li p:last-child {
    flex: 4;
  }
  .scheduleContainer ul.grow2-5 li p:first-child {
    flex: 2;
  }
  .scheduleContainer ul.grow2-5 li p:last-child {
    flex: 5;
  }
  .scheduleContainer ul li p.grow-sp-3 {
    flex: 2;
  }
  .scheduleContainer ul li p.grow-sp-7 {
    flex: 9;
  }
  #schedule-detail {
    width: 90%;
    margin: 0 auto;
  }
  .scheduleContainer li dl {
    display: flex;
    justify-content: center;
  }
  #schedule-detail .scheduleContainer li dl {
    align-items: center;
  }
  .scheduleContainer li dl dt {
    width: 16vw;
    margin-right: 9vw;
    flex-grow: 1;
  }
  .scheduleContainer h5.jiritsu-sub {
    font-size: 1.4vw;
  }
  #schedule-detail .scheduleContainer li dl dt {
    width: 40%;
    margin-right: 0;
    flex-grow: initial;
  }
  #schedule-detail .scheduleContainer img {
    padding-top: 0.6vw;
  }
  #schedule-detail .scheduleContainer dl dd {
    width: 40%;
    padding: 0 2.2vw 0;
  }
  #schedule-detail .scheduleContainer li dl {
    margin-bottom: 6vw;
  }
  .scheduleContainer .jiritsu-sub {
    font-size: 2vw;
  }
  .scheduleContainer #schedule03 img,
  .scheduleContainer #schedule04 img {
    padding-top: 1.2vw;
  }
  .scheduleContainer #schedule03 .dd-img-content,
  .scheduleContainer #schedule4 .dd-img-content {
    display: flex;
    justify-content: space-between;
  }

  .scheduleContainer dl dt div {
    width: 16vw;
    height: 16vw;
    text-align: center;
    background: repeating-linear-gradient(
      -40deg,
      #f6e8ea 0,
      #f6e8ea 1.5px,
      #fff 1.5px,
      #fff 3px
    );
  }

  .scheduleContainer dl dt div .stepNo {
    display: block;
    font-size: 4.666667vw;
    color: #a00028;
    font-family: source-han-serif-japanese, serif;
    font-weight: 600;
    font-style: normal;
    padding-top: 2.1666667vw;
  }

  .scheduleContainer dl dt div p {
    font-size: 1.83333vw;
  }
  .scheduleContainer dl dt div p span {
    display: block;
    font-size: 1.25vw;
  }

  .scheduleContainer dl dd {
    width: 51.6vw;
  }

  .scheduleContainer dl dd section ul li span {
    display: inline-block;
    /* padding-right: 0.83333vw; */
    padding-right: 0.3em;
  }

  .scheduleContainer ol.decimal {
    margin-top: 1em;
    padding-left: 2.5em;
  }
  .scheduleContainer ol.decimal li {
    margin-bottom: 0.8em;
    font-family: source-han-serif-japanese, serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.25vw;
    list-style: decimal;
    line-height: 1.7333;
  }

  .scheduleContainer dl dd section section {
    /* padding-bottom: 8.33333vw; */
    padding-bottom: 5.33333vw;
  }

  .detail01,
  .detail02,
  .detail03,
  .detail04 {
    position: relative;
  }

  .detailCheck01,
  .detailCheck02,
  .detailCheck03,
  .detailCheck04 {
    display: none;
  }

  .detailLabel01,
  .detailLabel02,
  .detailLabel03,
  .detailLabel04 {
    position: absolute;
    right: 0;
    top: 0;
    display: block;
    border: 1px solid #000;
    width: 2.833333vw;
    height: 2.833333vw;
    background: url("../images/schedule/img_open.png") no-repeat;
    background-size: 1.166667vw;
    background-position: 0.83333vw 1.166667vw;
    cursor: pointer;
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
  }

  .detailLabel01:hover,
  .detailLabel02:hover,
  .detailLabel03:hover,
  .detailLabel04:hover {
    background: url("../images/schedule/img_open_hover.png") no-repeat;
    background-size: 1.166667vw;
    background-position: 0.83333vw 1.166667vw;
    background-color: #221714;
  }

  .detailContent01,
  .detailContent02,
  .detailContent03,
  .detailContent04 {
    height: 0;
    opacity: 0;
    padding: 0 0.83333vw;
    transition: 0.5s;
    visibility: hidden;
  }

  .detailCheck01:checked + .detailLabel01 + .detailContent01,
  .detailCheck02:checked + .detailLabel02 + .detailContent02,
  .detailCheck03:checked + .detailLabel03 + .detailContent03,
  .detailCheck04:checked + .detailLabel04 + .detailContent04 {
    height: auto;
    opacity: 1;
    padding: 0.83333vw;
    visibility: visible;
  }

  .detailCheck01:checked + .detailLabel01,
  .detailCheck02:checked + .detailLabel02,
  .detailCheck03:checked + .detailLabel03,
  .detailCheck04:checked + .detailLabel04 {
    background: url("../images/schedule/img_close.png") no-repeat;
    background-size: 1.166667vw;
    background-position: 0.83333vw 1.166667vw;
  }

  .detailCheck01:checked + .detailLabel01:hover,
  .detailCheck02:checked + .detailLabel02:hover,
  .detailCheck03:checked + .detailLabel03:hover,
  .detailCheck04:checked + .detailLabel04:hover {
    background: url("../images/schedule/img_close_hover.png") no-repeat;
    background-size: 1.166667vw;
    background-position: 0.83333vw 1.166667vw;
    background-color: #221714;
  }

  .scheduleContainer li dl dd section .detailContent01 section,
  .scheduleContainer li dl dd section .detailContent02 section,
  .scheduleContainer li dl dd section .detailContent04 section {
    padding-bottom: 2.5vw;
  }

  .scheduleContainer li dl dd section .detailContent03 p {
    padding-bottom: 3.33333vw;
  }

  .scheduleContainer li dl dd section .speakers section {
    padding-bottom: 0.83333vw;
  }

  .scheduleContainer li dl dd section .contentDetail section {
    padding-bottom: 2.5vw;
  }

  /* ----------------------------------------------------------------------- */
  /* 768px 以下の画面用 */
  /* ----------------------------------------------------------------------- */
  @media (max-width: 768px) {
    .yearSelect {
      width: 100%;
      margin: 5.4vw auto;
      padding: 0 5vw;
      box-sizing: border-box;
    }
    .yearSelect .y-s-child {
      font-size: 16px;
      padding: 5px 10px 6px;
    }
    .yearSelect a {
      font-size: 5.066667vw;
    }

    h1 {
      /* padding-top: 10.8vw; */
      font-size: 5.066667vw;
    }

    h2 {
      padding: 3.4vw 0;
      margin: 6.6667vw 0 9vw 0;
      font-size: 5.2vw;
    }

    .spDay1 {
      margin-bottom: 0;
    }

    h3 {
      display: block;
      width: 56vw;
      font-size: 5vw;
      padding-bottom: 0;
      border-bottom: 0;
      color: #a2001a;
      margin-bottom: 0;
      position: relative;
      top: -9vw;
      left: 20.158vw;
      height: auto;
    }

    h4 {
      display: block;
      width: 100%;
      border-bottom: 0;
      margin-bottom: 2.1vw;
      font-size: 3.2vw;
    }

    h4 span {
      width: auto;
      padding: 1.3vw 0 1.3vw 3.7vw;
      bottom: 0;
      display: block;
      text-align: left;
    }

    .scheduleContainer .eventDetail span {
      background-color: #231815;
    }

    h5 {
      font-size: 3.2vw;
    }

    h5 span {
      display: inline-block;
      padding-left: 1.3vw;
    }

    .navSchedule {
      width: 100%;
      margin-bottom: 9vw;
    }

    .navSchedule ul {
      display: block;
      text-align: center;
      width: 100%;
      background: repeating-linear-gradient(
        -40deg,
        #f6e8ea 0,
        #f6e8ea 1.5px,
        #fff 1.5px,
        #fff 3px
      );
      margin-bottom: 1.4vw;
    }

    .navSchedule ul li {
      display: inline-block;
    }

    .navSchedule ul li a {
      color: #a2001a;
      font-size: 7.4666vw;
      font-family: source-han-serif-japanese, serif;
      font-weight: 600;
      font-style: normal;
      display: block;
      padding: 0 3.7vw;
    }

    .navSchedule span {
      width: 100%;
      display: block;
      text-align: center;
      background-color: #a2001a;
      color: #fff;
      font-family: source-han-serif-japanese, serif;
      font-weight: 600;
      font-style: normal;
      font-size: 5.2vw;
      margin-top: 2.7vw;
      padding: 3.4vw 0;
    }

    .scheduleContainer {
      width: 100%;
      max-width: 920px;
      margin: 0 auto;
    }

    .scheduleContainer p {
      font-size: 3.2vw;
      line-height: 1.3;
      text-wrap: pretty;
    }

    .scheduleContainer img {
      width: 100%;
      padding-top: 7.3vw;
    }

    .scheduleContainer ul li {
      font-family: source-han-serif-japanese, serif;
      font-weight: 400;
      font-style: normal;
      font-size: 3.2vw;
    }

    .scheduleContainer li dl {
      display: flex;
      flex-direction: column;
      border: 1px solid #a2001a;
      border-bottom: 0;
      width: 77vw;
      margin: 0 auto;
      padding: 5vw;
    }

    .scheduleContainer li .lastDl {
      border-bottom: 1px solid #a2001a;
    }

    .scheduleContainer li dl dt {
      width: 100%;
      margin-right: 0;
    }

    .scheduleContainer dl dt div {
      width: 100%;
      height: 16vw;
      text-align: left;
      background: none;
    }

    .scheduleContainer dl dt div .stepNo {
      display: block;
      font-size: 9.3vw;
      padding: 0 2.6vw 1vw 2.6vw;
      float: left;
      background: repeating-linear-gradient(
        -40deg,
        #f6e8ea 0,
        #f6e8ea 1.5px,
        #fff 1.5px,
        #fff 3px
      );
    }

    .scheduleContainer dl dt div p {
      font-size: 2.9333vw;
      float: left;
      border-bottom: 1px solid #a2001a;
      margin-left: 4.53vw;
      padding-bottom: 1vw;
      width: 56vw;
    }

    .scheduleContainer dl dt div p span {
      display: inline-block;
      font-size: 2vw;
      margin-left: 7.2vw;
    }
    .scheduleContainer dl dd {
      width: 100%;
    }
    .scheduleContainer dl dd section ul li span {
      display: inline-block;
      padding-right: 10px;
    }
    .scheduleContainer ul li p:first-child {
      flex: 1.3;
    }
    .scheduleContainer ul li p:last-child {
      flex: 3;
    }
    .scheduleContainer ul.grow1-4 li p:last-child {
      flex: 2;
    }
    .scheduleContainer ul.grow2-5 li p:first-child {
      flex: 4;
    }
    .scheduleContainer ul li p.grow-sp-3 {
      flex: 3;
    }
    .scheduleContainer ul li p.grow-sp-7 {
      flex: 7;
    }

    .scheduleContainer dl dd section section {
      padding-bottom: 8vw;
    }

    .scheduleContainer ol.decimal {
      padding-left: 1em;
    }
    .scheduleContainer ol.decimal li {
      font-size: 3.2vw;
    }

    .detail01,
    .detail02,
    .detail03,
    .detail04 {
      position: relative;
    }

    .detailCheck01,
    .detailCheck02,
    .detailCheck03,
    .detailCheck04 {
      display: none;
    }

    .detailLabel01,
    .detailLabel02,
    .detailLabel03,
    .detailLabel04 {
      position: absolute;
      right: 1.3vw;
      top: 1.3vw;
      display: block;
      border: 0;
      width: 4.5vw;
      height: 4.5vw;
      background: url("../images/schedule/img_open.png") no-repeat;
      background-size: 1.866667vw;
      background-position: 1.3vw 1.866667vw;
      background-color: #fff;
    }

    .detailLabel01:hover,
    .detailLabel02:hover,
    .detailLabel03:hover,
    .detailLabel04:hover {
      background: url("../images/schedule/img_open.png") no-repeat;
      background-size: 1.866667vw;
      background-position: 1.3vw 1.866667vw;
      background-color: #fff;
    }

    .detailContent01,
    .detailContent02,
    .detailContent03,
    .detailContent04 {
      height: 0;
      opacity: 0;
      padding: 0 10px;
      transition: 0.5s;
      visibility: hidden;
    }

    .detailCheck01:checked + .detailLabel01 + .detailContent01,
    .detailCheck02:checked + .detailLabel02 + .detailContent02,
    .detailCheck03:checked + .detailLabel03 + .detailContent03,
    .detailCheck04:checked + .detailLabel04 + .detailContent04 {
      height: auto;
      opacity: 1;
      padding: 10px;
      visibility: visible;
    }

    .detailCheck01:checked + .detailLabel01,
    .detailCheck02:checked + .detailLabel02,
    .detailCheck03:checked + .detailLabel03,
    .detailCheck04:checked + .detailLabel04 {
      background: url("../images/schedule/img_close.png") no-repeat;
      background-size: 1.866667vw;
      background-position: 1.3vw 1.866667vw;
      background-color: #fff;
    }

    .detailCheck01:checked + .detailLabel01:hover,
    .detailCheck02:checked + .detailLabel02:hover,
    .detailCheck03:checked + .detailLabel03:hover,
    .detailCheck04:checked + .detailLabel04:hover {
      background: url("../images/schedule/img_close.png") no-repeat;
      background-size: 1.866667vw;
      background-position: 1.3vw 1.866667vw;
      background-color: #fff;
    }

    .detailCheck01:checked
      + .scheduleContainer
      li
      dl
      dd
      section
      .detailContent01
      section,
    .detailCheck01:checked
      + .scheduleContainer
      li
      dl
      dd
      section
      .detailContent02
      section,
    .detailCheck01:checked
      + .scheduleContainer
      li
      dl
      dd
      section
      .detailContent04
      section {
      padding-bottom: 4vw;
    }

    .detailCheck01:checked
      + .scheduleContainer
      li
      dl
      dd
      section
      .detailContent03
      p {
      padding-bottom: 5.33vw;
    }

    .detailCheck01:checked
      + .scheduleContainer
      li
      dl
      dd
      section
      .speakers
      section {
      padding-bottom: 10px;
    }

    .detailCheck01:checked
      + .scheduleContainer
      li
      dl
      dd
      section
      .contentDetail
      section {
      padding-bottom: 4vw;
    }
    #schedule-detail h4 {
      font-size: 4vw;
      border-bottom: 1px dotted #707070;
      padding: 2vw 6vw;
      margin-bottom: 4vw;
      box-sizing: border-box;
    }
    #schedule-detail .scheduleContainer li dl {
      border-bottom: 1px solid #a2001a;
    }
    #schedule-detail .scheduleContainer li dl dt {
      width: 100%;
    }
    #schedule-detail .scheduleContainer li dl dt h5 {
      font-size: 4vw;
    }
    .scheduleContainer #schedule03 img,
    .scheduleContainer #schedule04 img {
      width: 100%;
    }
    .scheduleContainer #schedule03 .dd-img-content,
    .scheduleContainer #schedule4 .dd-img-content {
      flex-wrap: wrap;
    }
  }
}
