@charset "UTF-8";
/* --------------------------------------------------------------
   共通
-------------------------------------------------------------- */
body {
  min-width: 1240px;
  color: #000;
  font-size: .24rem;
  font-family: "Noto Sans JP", "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  body {
    min-width: 320px;
    font-size: .15rem;
  }
}

.wrapper {
  overflow: hidden;
}

.container {
  width: 12rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .container {
    width: calc(100% - .37rem);
  }
}

a {
  color: #000;
}

@media screen and (min-width: 768px) {
  img {
    width: 100%;
  }
}

.img_switch {
  visibility: hidden;
}

@media screen and (max-width: 767px) {
  .pconly {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .sponly {
    display: none;
  }
}

/* header
--------------------------------------------------------------*/
.cmn_header {
  width: 100%;
  height: .69rem;
  padding: 0 0 0 .2rem;
  background: #000;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
.cmn_header .logo {
  width: 3.15rem;
}

@media screen and (max-width: 767px) {
  .cmn_header {
    width: 100%;
    height: .69rem;
    padding: 0 0 0 .2rem;
    background: #000;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
  }
  .cmn_header .logo {
    width: 3.15rem;
  }
}
/* --------------------------------------------------------------
   Module_Element
-------------------------------------------------------------- */
/* Flex ---------- */
.mod_flex {
  display: flex;
  flex-wrap: wrap;
}
.mod_flex.align-center {
  align-items: center;
}

.mod_flex_center {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.mod_flex_center.align-center {
  align-items: center;
}

.mod_flex_between {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  /* 3列4列の場合の調整 */
  /* // 3列4列の場合の調整 */
}
.mod_flex_between.align-center {
  align-items: center;
}
.mod_flex_between.col3::after, .mod_flex_between.col4::before, .mod_flex_between.col4::after {
  content: "";
  display: block;
  height: 0;
}
.mod_flex_between.col4::before {
  order: 1;
}

.mod_flex_around {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
.mod_flex_around.align-center {
  align-items: center;
}

/* mod_layout ---------- */
.mod_2col_item {
  position: relative;
}
.mod_2col_item .txt {
  text-align: right;
  position: absolute;
  bottom: 0;
  right: 0;
}
.mod_2col_item .txt .type {
  font-size: .22rem;
  line-height: 1.54;
}
.mod_2col_item .txt .name {
  margin: .23rem 0 0;
  font-size: .4rem;
  font-weight: 700;
}
.mod_2col_item .txt .name .small {
  font-size: .3rem;
}

@media screen and (max-width: 767px) {
  .mod_2col_item {
    position: relative;
  }
  .mod_2col_item .txt {
    text-align: right;
    position: absolute;
    bottom: 0;
    right: 0;
  }
  .mod_2col_item .txt .type {
    font-size: .13rem;
    line-height: 1.54;
  }
  .mod_2col_item .txt .name {
    margin: .15rem 0 0;
    font-size: .23rem;
    font-weight: 700;
  }
  .mod_2col_item .txt .name .small {
    font-size: .15rem;
  }
  .mod_2col_item + .mod_2col_item {
    margin-top: .3rem;
  }
}
/* mod_btn ---------- */
.mod_btn {
  position: relative;
  left: calc((100% - 12rem) / 2);
}
.mod_btn .txt {
  display: block;
  margin: 0 0 .15rem;
  padding-left: .2rem;
  font-size: .2rem;
}
.mod_btn .link {
  width: 5.5rem;
  height: 1rem;
  padding: 0 0 0 1rem;
  color: #fff;
  font-size: .32rem;
  background: right 0.7rem center/0.39rem auto #d53535 no-repeat url(../img/cmn/btn_arrow.png);
  position: relative;
}
.mod_btn .link::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 1rem .5rem;
  border-color: transparent transparent #fff transparent;
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (min-width: 768px) {
  .mod_btn .link {
    -webkit-transition: .4s;
    -moz-transition: .4s;
    -o-transition: .4s;
    transition: .4s;
  }
  .mod_btn .link:hover {
    opacity: .7;
  }
}

@media screen and (max-width: 767px) {
  .mod_btn {
    left: 0;
  }
  .mod_btn .txt {
    display: block;
    margin: 0 0 .1rem;
    padding-left: .39rem;
    font-size: .12rem;
  }
  .mod_btn .link {
    width: 3.65rem;
    height: .66rem;
    padding: 0 0 0 1rem;
    color: #fff;
    font-size: .16rem;
    background: right 0.77rem center/0.26rem auto #d53535 no-repeat url(../img/cmn/btn_arrow.png);
    position: relative;
  }
  .mod_btn .link::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 .68rem .32rem;
    border-color: transparent transparent #fff transparent;
    position: absolute;
    top: 0;
    right: 0;
  }
}
/* TOP
--------------------------------------------------------------*/
/* MV ----------- */
.mv {
  padding: 1.2rem 0 .5rem;
  background: center/cover no-repeat url(../img/mv_pc.jpg);
  position: relative;
}
.mv .catch {
  width: 6.88rem;
  margin: 0 auto .6rem;
}
.mv .txt_time {
  width: 4.4rem;
  margin: 0 auto .6rem;
}
.mv .txt_time .txt {
  color: #fff;
  font-size: .18rem;
}
.mv .info {
  margin: 0 auto;
  padding: 0 0 .5rem;
  position: relative;
}
.mv .info li {
  float: left;
  width: 3.2rem;
  position: relative;
}
.mv .info li .txt {
  padding-left: .3rem;
  color: #fff;
}
.mv .info li .txt .name {
  min-height: .6rem;
  margin: 0 0 .06rem;
  padding: .15rem 0 0 .53rem;
  font-size: .22rem;
  background: bottom left/2.5rem auto no-repeat url(../img/mv_name_bg.png);
}
.mv .info li .txt .type {
  padding: 0 0 0 .23rem;
  font-size: .16rem;
  line-height: 1.3125;
}
.mv .info .li01 {
  z-index: 1;
}
.mv .info .li02 {
  width: 3.36rem;
  right: .38rem;
}
.mv .info .li03 {
  width: 3.35rem;
  z-index: 1;
  left: -.76rem;
}
.mv .info .li04 {
  width: 3.22rem;
  right: 0;
  z-index: 2;
  position: absolute;
}

@media screen and (max-width: 767px) {
  .mv {
    padding: .84rem 0 .15rem;
    background: center/cover no-repeat url(../img/mv_sp.jpg);
  }
  .mv .catch {
    width: 3.44rem;
    margin: 0 0 .38rem;
  }
  .mv .txt_time {
    width: 2.4rem;
    margin: 0 0 .38rem;
  }
  .mv .txt_time .txt {
    font-size: .1rem;
  }
  .mv .info {
    margin: 0 -.2rem;
    padding: 0 0 1.51rem;
  }
  .mv .info li .txt .name {
    min-height: .29rem;
    margin: 0 0 .03rem;
    padding: .1rem 0 0 .35rem;
    font-size: .11rem;
    background: bottom left/1.27rem auto no-repeat url(../img/mv_name_bg.png);
  }
  .mv .info li .txt .type {
    padding: 0 0 0 .15rem;
    font-size: .08rem;
  }
  .mv .info .li01 {
    width: 1.83rem;
  }
  .mv .info .li01 .txt {
    padding-left: .15rem;
  }
  .mv .info .li02,
  .mv .info .li03,
  .mv .info .li04 {
    position: absolute;
  }
  .mv .info .li02 {
    width: 1.91rem;
    top: 0;
    right: .38rem;
    z-index: 2;
  }
  .mv .info .li02 .txt {
    padding-left: .08rem;
  }
  .mv .info .li03,
  .mv .info .li04 {
    top: 1.55rem;
  }
  .mv .info .li03 .txt,
  .mv .info .li04 .txt {
    padding-left: .22rem;
  }
  .mv .info .li03 {
    width: 1.92rem;
    left: .38rem;
  }
  .mv .info .li04 {
    width: 1.84rem;
  }
}
/* About ----------- */
.about {
  padding: 1.2rem 0 2rem;
  position: relative;
}
.about::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 21.62rem 6.4rem 0 0;
  border-color: rgba(213, 53, 53, 0.36) transparent transparent transparent;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.about .tit {
  margin: 0 0 .5rem;
  font-size: .5rem;
  font-weight: 700;
  line-height: 1.44;
}
.about .desc {
  line-height: 1.87;
}
.about .desc + .desc {
  margin-top: .45rem;
}
.about .mod_btn {
  margin: 1.08rem 0 0;
}

@media screen and (max-width: 767px) {
  .about {
    padding: .38rem 0 .54rem;
  }
  .about::before {
    border-width: 5.44rem 1.6rem 0 0;
    border-color: rgba(213, 53, 53, 0.36) transparent transparent transparent;
  }
  .about .tit {
    margin: 0 0 .25rem;
    font-size: .25rem;
  }
  .about .desc + .desc {
    margin-top: .3rem;
  }
  .about .mod_btn {
    margin: .5rem 0 0;
  }
}
/* Info ----------- */
.info {
  padding: 0 0 1rem;
}
.info .bg {
  margin: 0 0 .75rem;
  padding: .8rem 0 .76rem;
  background: center/cover no-repeat url(../img/sec_info_bg_pc.jpg);
}
.info .bg .tit {
  width: 8.12rem;
}
.info .bg .tit .note {
  display: block;
  margin: .2rem 0 .4rem;
  color: #fff;
  font-size: .26rem;
}
.info .bg .events {
  color: #fff;
}
.info .bg .events .time {
  width: 3.25rem;
  height: .74rem;
  margin: 0 0 .3rem;
  padding-left: .2rem;
  font-size: .3rem;
  background: #000;
  position: relative;
}
.info .bg .events .time::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: .76rem .38rem 0 0;
  border-color: #000 transparent transparent transparent;
  position: absolute;
  top: 0;
  right: -.38rem;
}
.info .bg .events .name {
  margin: 0 0 .4rem;
  font-size: .42rem;
  font-weight: 700;
}
.info .bg .events .cot {
  margin: 0 0 .4rem;
  font-size: .28rem;
  line-height: 1.5;
}
.info .bg .session_list li {
  background: #fff;
}
.info .bg .session_list li .num {
  height: 1.2rem;
  padding-left: .38rem;
  color: #fff;
  background: #000;
  position: relative;
}
.info .bg .session_list li .num::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 1.2rem .64rem;
  border-color: transparent transparent #fff transparent;
  position: absolute;
  top: 0;
  right: 0;
}
.info .bg .session_list li .num img {
  width: 2.72rem;
}
.info .bg .session_list li .num .time_zone {
  padding-left: .38rem;
  font-size: .26rem;
}
.info .bg .session_list li .inner {
  padding: .4rem .38rem .8rem;
}
.info .bg .session_list li .inner .stit {
  margin: 0 0 .38rem;
  font-size: .46rem;
  font-weight: 700;
  line-height: 1.57;
}
.info .bg .session_list li .inner .desc {
  line-height: 1.87;
}
.info .bg .session_list li .inner .person {
  margin-top: .6rem;
}
.info .bg .session_list li .inner .person .mod_2col_item {
  width: calc((100% - .4rem) / 2);
}
.info .bg .session_list li .inner .person .mod_2col_item:nth-child(odd) {
  margin-right: .4rem;
}
.info .bg .session_list li .inner .person .mod_2col_item .pic {
  width: 3.3rem;
}
.info .bg .session_list > li + li {
  margin-top: .6rem;
}

@media screen and (max-width: 767px) {
  .info {
    padding: 0 0 .5rem;
  }
  .info .bg {
    margin: 0 0 .5rem;
    padding: .4rem 0 .38rem;
    background: center top/cover no-repeat url(../img/sec_info_bg_sp.jpg);
  }
  .info .bg .tit {
    width: 2.61rem;
  }
  .info .bg .tit .note {
    margin: .1rem 0 .2rem;
    font-size: .13rem;
  }
  .info .bg .events .time {
    width: 3.25rem;
    height: .37rem;
    margin: 0 0 .1rem;
    padding-left: .1rem;
    font-size: .15rem;
  }
  .info .bg .events .time::after {
    border-width: .39rem .19rem 0 0;
    border-color: #000 transparent transparent transparent;
    right: -.19rem;
  }
  .info .bg .events .name {
    margin: 0 0 .13rem;
    font-size: .21rem;
  }
  .info .bg .events .cot {
    margin: 0 0 .27rem;
    font-size: .15rem;
  }
  .info .bg .session_list li .num {
    height: .59rem;
    padding-left: .19rem;
  }
  .info .bg .session_list li .num::after {
    border-width: 0 0 .61rem .31rem;
    border-color: transparent transparent #fff transparent;
  }
  .info .bg .session_list li .num img {
    width: 1.36rem;
  }
  .info .bg .session_list li .num .time_zone {
    padding-left: .19rem;
    font-size: .175rem;
  }
  .info .bg .session_list li .inner {
    padding: .2rem .19rem .42rem;
  }
  .info .bg .session_list li .inner .stit {
    margin: 0 0 .25rem;
    font-size: .23rem;
    font-weight: 700;
  }
  .info .bg .session_list li .inner .person {
    margin-top: .3rem;
  }
  .info .bg .session_list li .inner .person .mod_2col_item {
    width: 100%;
  }
  .info .bg .session_list li .inner .person .mod_2col_item:nth-child(odd) {
    margin-right: 0;
  }
  .info .bg .session_list li .inner .person .mod_2col_item .pic {
    width: 1.71rem;
  }
  .info .bg .session_list > li + li {
    margin-top: .38rem;
  }
}
/* Intro ----------- */
.intro {
  padding: .9rem 0;
  background: repeat url(../img/sec_intro_bg.png);
}
.intro .list > li {
  width: calc((100% - .4rem) / 2);
  margin: 0 0 .4rem;
  padding: .46rem .36rem .7rem;
  border: .02rem solid #d53535;
  background: #fff;
}
.intro .list > li:nth-child(odd) {
  margin: 0 .4rem .4rem 0;
}
.intro .list > li .mod_2col_item {
  margin: 0 0 .56rem -.36rem;
}
.intro .list > li .mod_2col_item .pic {
  width: 3rem;
}
.intro .list > li .desc {
  line-height: 1.87;
}
.intro .list > li .desc + .desc {
  margin-top: .53rem;
}

@media screen and (max-width: 767px) {
  .intro {
    padding: .2rem 0 .6rem;
  }
  .intro .list > li {
    width: 100%;
    margin: 0;
    padding: .28rem .18rem .35rem;
    border: .01rem solid #d53535;
  }
  .intro .list > li:nth-child(odd) {
    margin: .25rem 0 0;
  }
  .intro .list > li .mod_2col_item {
    margin: 0 0 .37rem -.18rem;
  }
  .intro .list > li .mod_2col_item .pic {
    width: 1.9rem;
  }
  .intro .list > li .desc + .desc {
    margin-top: .35rem;
  }
  .intro .list > li + li {
    margin-top: .25rem;
  }
}
/* 注意事項 ----------- */
.important {
  padding: .9rem 0;
  background: center/cover no-repeat url(../img/important_bg_pc.jpg);
}
.important .container {
  padding: 0 1rem;
}
.important .tit {
  width: 6rem;
  margin: 0 auto .6rem;
  color: #fff;
  font-size: .44rem;
  letter-spacing: .1em;
  text-align: center;
  position: relative;
}
.important .tit::before, .important .tit::after {
  content: "";
  width: .26rem;
  height: .48rem;
  background: center/100% no-repeat url(../img/important_tit_deco.png);
  position: absolute;
  top: 0;
}
.important .tit::before {
  left: 0;
}
.important .tit::after {
  right: 0;
}
.important .note {
  margin: 0 0 .5rem;
  color: #fff;
  font-size: .24rem;
  text-align: center;
}
.important .inner {
  padding: .4rem .6rem;
  background: #fff;
}
.important .inner .list li {
  padding-left: .35rem;
  font-size: .22rem;
  line-height: 1.7;
  position: relative;
}
.important .inner .list li::after {
  content: "■";
  position: absolute;
  top: .01rem;
  left: 0;
}

@media screen and (max-width: 767px) {
  .important {
    padding: .45rem 0;
    background: center/cover no-repeat url(../img/important_bg_sp.jpg);
  }
  .important .container {
    padding: 0;
  }
  .important .tit {
    width: 3.07rem;
    margin: 0 auto .4rem;
    font-size: .27rem;
  }
  .important .tit::before, .important .tit::after {
    width: .13rem;
    height: .24rem;
    background: center/100% no-repeat url(../img/important_tit_deco.png);
  }
  .important .note {
    margin: 0 0 .21rem;
    font-size: .12rem;
  }
  .important .inner {
    padding: .2rem;
  }
  .important .inner .list li {
    padding-left: .23rem;
    font-size: .14rem;
  }
  .important .inner .list li::after {
    top: .05rem;
  }
}
