@media screen and (min-width: 751px) {
  .alpha, #coop .btn_blank a {
    transition: all .2s ease;
  }
  .alpha:hover, #coop .btn_blank a:hover {
    opacity: 0.7;
  }
}

.hdr {
  color: #E8382F;
}

.hyper-engawa #content-hdr {
  background: linear-gradient(to bottom, #fff 319px, #FAD7D5 319px, #FAD7D5 750px, transparent 750px);
}

@media screen and (max-width: 750px) {
  .hyper-engawa #content-hdr {
    background: linear-gradient(to bottom, #fff calc((100vw - 40px) * 0.509), #FAD7D5 calc((100vw - 40px) * 0.509));
  }
}

@media screen and (max-width: 750px) {
  #content-hdr .content-mainvisual {
    margin-bottom: 15px;
  }
}

#participants {
  margin: 78px 0 85px;
}

@media screen and (max-width: 750px) {
  #participants {
    margin: 47px 0 42px;
  }
  #participants .inner {
    padding: 0 20px;
  }
}

#participants .note {
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  margin-top: 26px;
}

@media screen and (max-width: 750px) {
  #participants .note {
    font-size: 13px;
    line-height: 1.85;
    margin-top: 4px;
  }
}

#map {
  padding-bottom: 41px;
}

#map .map-points li:nth-child(odd) {
  width: 400px;
}

@media screen and (max-width: 750px) {
  #map .map-points li:nth-child(odd) {
    width: 100%;
  }
}

#talksession {
  margin-bottom: 52px;
}

@media screen and (max-width: 750px) {
  #talksession {
    margin-bottom: 46px;
  }
}

#talksession .hdr {
  margin-bottom: 23px;
}

@media screen and (max-width: 750px) {
  #talksession .hdr {
    margin-bottom: 11px;
  }
}

.session-item + .session-item {
  margin-top: 34px;
}

.session-day {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  text-indent: 0.5em;
  width: 150px;
  height: 40px;
  margin-bottom: 39px;
  background-color: #E8382F;
}

@media screen and (max-width: 750px) {
  .session-day {
    font-size: 14px;
    width: 105px;
    height: 25px;
    margin-bottom: 15px;
  }
}

.session-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 27px;
}

@media screen and (max-width: 750px) {
  .session-list {
    margin-top: 11px;
  }
}

.session-list > li {
  display: flex;
  justify-content: space-between;
  width: 500px;
  margin-bottom: 57px;
}

.session-list > li:last-child, .session-list > li:nth-last-child(2) {
  margin-bottom: 0;
}

@media screen and (max-width: 750px) {
  .session-list > li {
    width: 100%;
    margin-bottom: 24px;
  }
  .session-list > li:nth-last-child(2) {
    margin-bottom: 24px;
  }
}

.session-img {
  width: 150px;
}

@media screen and (max-width: 750px) {
  .session-img {
    width: 90px;
    height: 90px;
  }
}

.session-cont {
  width: calc(100% - 175px);
  margin-top: -6px;
  padding-left: 34px;
}

@media screen and (max-width: 750px) {
  .session-cont {
    width: calc(100% - 105px);
    margin-top: 0;
    padding-left: 20px;
  }
}

.session-theme {
  color: #E8382F;
  font-size: 24px;
  font-weight: 500;
  position: relative;
}

@media screen and (max-width: 750px) {
  .session-theme {
    font-size: 15px;
    margin-bottom: 7px;
  }
}

.session-theme span {
  display: block;
  color: #fff;
  font-size: 18px;
  font-weight: 400;
  line-height: 23px;
  text-align: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #E8382F;
  position: absolute;
  top: 7px;
  left: -32px;
}

@media screen and (max-width: 750px) {
  .session-theme span {
    font-size: 11px;
    line-height: 14px;
    width: 15px;
    height: 15px;
    padding-left: 0;
    top: 5px;
    left: -20px;
  }
}

.performer-info {
  line-height: 1.625;
}

@media screen and (max-width: 750px) {
  .performer-info {
    font-size: 13px;
    line-height: 1.54;
  }
}

.performer-list {
  margin-top: 11px;
}

@media screen and (max-width: 750px) {
  .performer-list {
    margin-top: 4px;
  }
}

.performer-list li + li {
  margin-top: 16px;
}

@media screen and (max-width: 750px) {
  .performer-list li + li {
    margin-top: 5px;
  }
}

.performer-list li .name {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.3;
}

@media screen and (max-width: 750px) {
  .performer-list li .name {
    font-size: 14px;
    margin-bottom: 3px;
  }
}

.performer-list li .pos {
  line-height: 1.75;
}

@media screen and (max-width: 750px) {
  .performer-list li .pos {
    font-size: 13px;
    line-height: 1.54;
  }
}

#timetable {
  width: 100%;
  margin-top: 18px;
}

@media screen and (max-width: 750px) {
  #timetable {
    margin-top: 0;
  }
}

@media screen and (max-width: 750px) {
  #timetable .inner {
    padding: 0 20px;
    position: relative;
  }
  #timetable .inner::after {
    display: block;
    content: "";
    width: 78px;
    height: 12px;
    background: url(../img/hyper-engawa/ico_scroll.png) right top/contain no-repeat;
    position: absolute;
    top: 42px;
    right: 20px;
  }
}

#timetable .hdr {
  margin-bottom: 32px;
}

#timetable .timetable-item + .timetable-item {
  margin-top: 46px;
}

#timetable .timetable-day {
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  line-height: 2.22;
  text-align: center;
  width: calc(100% - 140px);
  margin: 0 0 0 auto;
  position: relative;
  background-color: #E8382F;
}

@media screen and (max-width: 750px) {
  #timetable .timetable-day {
    font-size: 14px;
    line-height: 1.79;
    width: calc(100% - 70px);
    margin-right: 0;
  }
}

#timetable .timetable-box {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

#timetable .time,
#timetable tr {
  height: 116px;
}

@media screen and (max-width: 750px) {
  #timetable .time,
  #timetable tr {
    height: 85px;
  }
}

#timetable .timetable-time {
  font-size: 20px;
  font-weight: 500;
  width: 90px;
  padding: 129px 0 0 33px;
}

@media screen and (max-width: 750px) {
  #timetable .timetable-time {
    font-size: 14px;
    width: 70px;
    padding: 94px 0 0 5px;
  }
}

#timetable .time {
  display: flex;
  align-items: center;
  margin-top: 14px;
}

@media screen and (max-width: 750px) {
  #timetable .time {
    font-size: 13px;
    margin-top: 9px;
  }
}

#timetable .time.line2 {
  height: 123px;
}

@media screen and (max-width: 750px) {
  #timetable .time.line2 {
    height: 85px;
  }
}

#timetable .time.line2-place {
  height: 153px;
}

@media screen and (max-width: 750px) {
  #timetable .time.line2-place {
    height: 103px;
  }
}

#timetable .time.line3 {
  height: 153px;
}

@media screen and (max-width: 750px) {
  #timetable .time.line3 {
    height: 99px;
  }
}

#timetable .time.line3-place {
  height: 183px;
}

@media screen and (max-width: 750px) {
  #timetable .time.line3-place {
    height: 124px;
  }
}

#timetable .time.line5-place {
  height: 243px;
}

@media screen and (max-width: 750px) {
  #timetable .time.line5-place {
    height: 166px;
  }
}

#timetable .timetable-scroll {
  width: 968px;
}

@media screen and (max-width: 750px) {
  #timetable .timetable-scroll {
    width: calc(100% - 70px);
    overflow-x: auto;
  }
}

#timetable table {
  font-size: 20px;
  font-weight: 500;
  border-spacing: 14px;
  overflow: auto;
  position: relative;
  right: -14px;
  table-layout: fixed;
}

@media screen and (max-width: 750px) {
  #timetable table {
    font-size: 14px;
    width: 633px;
    right: auto;
    left: -9px;
    border-spacing: 9px;
  }
}

#timetable thead th {
  color: #fff;
  font-weight: 500;
  text-align: left;
  width: 304px;
  background-color: #E8382F;
}

@media screen and (max-width: 750px) {
  #timetable thead th {
    width: 199px;
  }
}

#timetable thead .th-inner {
  padding: 0 16px 0 58px;
  position: relative;
}

@media screen and (max-width: 750px) {
  #timetable thead .th-inner {
    padding: 0 5px 0 28px;
  }
}

#timetable thead span {
  display: block;
  color: red;
  font-size: 18px;
  font-weight: 400;
  line-height: 22px;
  text-align: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 17px;
  transform: translateY(-50%);
}

@media screen and (max-width: 750px) {
  #timetable thead span {
    font-size: 11px;
    line-height: 14px;
    width: 15px;
    height: 15px;
    left: 8px;
  }
}

#timetable tbody td {
  vertical-align: top;
  background-color: #fff;
}

#timetable tbody td.null {
  background-color: #F0F0F0;
}

#timetable tbody .td-inner {
  padding: 12px 14px 20px 53px;
}

@media screen and (max-width: 750px) {
  #timetable tbody .td-inner {
    padding: 4px 10px 10px 27px;
  }
}

#timetable .table-theme {
  line-height: 1.5;
  margin-bottom: 7px;
  position: relative;
}

@media screen and (max-width: 750px) {
  #timetable .table-theme {
    margin-bottom: 3px;
  }
}

#timetable .table-theme.nowrap {
  white-space: nowrap;
}

#timetable .table-theme span {
  display: block;
  color: #fff;
  font-size: 18px;
  font-weight: 400;
  line-height: 23px;
  text-align: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #E8382F;
  position: absolute;
  top: 3px;
  left: -35px;
}

@media screen and (max-width: 750px) {
  #timetable .table-theme span {
    font-size: 11px;
    line-height: 14px;
    width: 15px;
    height: 15px;
    padding-left: 0;
    left: -19px;
  }
}

#timetable .table-time {
  font-size: 16px;
  font-weight: 400;
}

@media screen and (max-width: 750px) {
  #timetable .table-time {
    font-size: 13px;
  }
}

#timetable .table-place {
  font-size: 16px;
  font-weight: 400;
  text-align: center;
  line-height: 30px;
  width: 100%;
}

#timetable .table-place.red {
  background-color: rgba(232, 56, 47, 0.3);
}

#timetable .table-place.yellow {
  background-color: rgba(246, 172, 45, 0.3);
}

@media screen and (max-width: 750px) {
  #timetable .table-place {
    font-size: 13px;
    line-height: 25px;
  }
}

#coop {
  margin: 65px 0 120px;
}

@media screen and (max-width: 750px) {
  #coop {
    margin: 34px 0 50px;
  }
  #coop .inner {
    padding: 0 17px;
  }
}

#coop .coop-hdr {
  color: #E8382F;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 10px;
}

@media screen and (max-width: 750px) {
  #coop .coop-hdr {
    font-size: 17px;
    line-height: 1.47;
    margin-bottom: 0;
  }
}

#coop .coop-hdr::after {
  content: none;
}

#coop .coop-hdr-h3 {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 11px;
  position: relative;
}

@media screen and (max-width: 750px) {
  #coop .coop-hdr-h3 {
    font-size: 17px;
    line-height: 1.35;
    margin-bottom: 9px;
  }
}

#coop .coop-hdr-h3::before, #coop .coop-hdr-h3::after {
  display: block;
  content: "";
  width: 38.173%;
  border-top: 1px solid #E8382F;
  position: absolute;
  top: 50%;
}

@media screen and (max-width: 750px) {
  #coop .coop-hdr-h3::before, #coop .coop-hdr-h3::after {
    width: calc(50% - 80px);
  }
}

#coop .coop-hdr-h3::before {
  left: 0;
}

#coop .coop-hdr-h3::after {
  right: 0;
}

#coop .coop-list {
  display: flex;
  justify-content: space-between;
  max-width: 1071px;
  margin: 0 auto 39px;
}

@media screen and (max-width: 750px) {
  #coop .coop-list {
    display: block;
    margin-bottom: 18px;
  }
}

#coop .coop-list ul {
  width: 240px;
}

@media screen and (max-width: 750px) {
  #coop .coop-list ul {
    width: 100%;
  }
}

#coop .coop-list ul li {
  display: flex;
  align-items: center;
  height: 36px;
  line-height: 1.3;
}

@media screen and (max-width: 750px) {
  #coop .coop-list ul li {
    font-size: 13px;
    line-height: 1.62;
    height: auto;
  }
}

#coop .coop-list ul li + li {
  margin-top: 10px;
}

@media screen and (max-width: 750px) {
  #coop .coop-list ul li + li {
    margin-top: 0;
  }
}

#coop .coop-ad {
  text-align: center;
  margin: 17px 0 45px;
}

@media screen and (max-width: 750px) {
  #coop .coop-ad {
    margin: 11px 0 22px;
  }
}

#coop .coop-txt {
  line-height: 2;
  width: 720px;
  margin: 22px auto 0;
}

@media screen and (max-width: 750px) {
  #coop .coop-txt {
    font-size: 13px;
    line-height: 1.77;
    width: 100%;
    margin-top: 10px;
  }
}

#coop .coop-note {
  font-size: 14px;
  width: 720px;
  margin: 8px auto 105px;
}

@media screen and (max-width: 750px) {
  #coop .coop-note {
    font-size: 13px;
    width: 100%;
    margin: 3px 0 47px;
  }
}

#coop .btn_blank a {
  display: block;
  color: #E8382F;
  line-height: 48px;
  text-align: center;
  width: 450px;
  height: 50px;
  margin: 0 auto;
  border: 1px solid #E8382F;
  border-radius: 25px;
  background-color: #fff;
  position: relative;
}

@media screen and (max-width: 750px) {
  #coop .btn_blank a {
    line-height: 43px;
    width: 100%;
    max-width: 342px;
    height: 45px;
  }
}

@media screen and (max-width: 360px) {
  #coop .btn_blank a {
    text-align: left;
    padding-left: 10px;
  }
}

@media screen and (max-width: 350px) {
  #coop .btn_blank a {
    font-size: 13px;
  }
}

#coop .btn_blank a::after {
  display: block;
  content: "";
  width: 17px;
  height: 17px;
  background: url(../img/common/ico_link_red.svg) center/contain no-repeat;
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
}

@media screen and (max-width: 750px) {
  #coop .btn_blank a::after {
    width: 15px;
    height: 15px;
    right: 15px;
  }
}
