@charset "utf-8";
/*ドルパSTEP移植*/
#ct_sdgrranma {
  --tmc01: #E9463F;
  --tmc-red: #E9463F;
}
/*-------------------------------
 space _ Common Parts
---------------------------------*/
.mt0  { margin-top:0 !important;}
.mt05  { margin-top:.5rem !important;}
.mt10 { margin-top:1.0rem !important;}
.mt15 { margin-top:1.5rem !important;}
.mt20 { margin-top:2.0rem !important;}
.mt30 { margin-top:3.0rem !important;}
.mt40 { margin-top:4.0rem !important;}

.mb0  { margin-bottom:0 !important;}
.mb05  { margin-bottom:0.5rem !important;}
.mb10 { margin-bottom:1.0rem !important;}
.mb15 { margin-bottom:1.5rem !important;}
.mb20 { margin-bottom:2.0rem !important;}
.mb25 { margin-bottom:2.5rem !important;}
.mb30 { margin-bottom:3.0rem !important;}
.mb40 { margin-bottom:4.0rem !important;}
.mb50 { margin-bottom:5.0rem !important;}

.ml05 { margin-left:0.5rem !important;}
.ml10 { margin-left:1.0rem !important;}
.ml15 { margin-left:1.5rem !important;}
.ml20 { margin-left:2.0rem !important;}
.ml25 { margin-left:2.5rem !important;}
.ml30 { margin-left:3.0rem !important;}
.ml40 { margin-left:4.0rem !important;}
.ml45 { margin-left:4.5rem !important;}
.ml50 { margin-left:5.0rem !important;}
.ml60 { margin-left:6.0rem !important;}

.mr05 { margin-right:0.5rem !important;}
.mr10 { margin-right:1.0rem !important;}
.mr15 { margin-right:1.5rem !important;}
.mr20 { margin-right:2.0rem !important;}
.mr30 { margin-right:3.0rem !important;}
.mr40 { margin-right:4.0rem !important;}
.mr50 { margin-right:5.0rem !important;}

.ml-auto	{ margin-left:auto !important;}
.mr-auto	{ margin-right:auto !important;}

/*DP Layout*/
.evFBox {
  width: min(94%,var(--width-box));
  padding: 1.5em 0;
  margin: 0 auto;
  position: relative;
}

/*NOTE*/
.note_line-marker	{
	opacity: .7;
	background: rgba(255,255,0,0.3);
	margin-bottom: .7em;
}

/* 販売方法概要
-----------------------------*/
.sales-method__info  {
  width: 100%;
  position: relative;
  border-collapse: separate;
  border-spacing: var(--rs) .2rem;
  margin: 0 auto calc(var(--rs) * 2.0);
  z-index: 2;
}
.sales-method__info caption {
  width: 100%;
  color: #fff;
  position: relative;
}

.sales-method__info caption > p + p {
	border-top: 1px solid;
	margin: .5em auto 0;
	padding-top: .5em;
	width: auto;
	display: inline-block;
}
.sales-method__title {
	width: 100%;
	color: #fff;
	padding: 1em 1rem;
	margin-bottom: 1rem;
	font-size: var(--fs-xxl);
	background: var(--tmc01);
  position: relative;
  border-bottom: .6rem double #fff;
  border-top: .6rem double #fff;
}
.sales-method__titbnr {
  padding: 0 1.5rem;
}
.sales-method__titbnr > img {
  vertical-align: baseline;
  border: .1rem solid #ddd;
}
.sales-method__info__icon {
  text-align: center;
  position: relative;
  /*width: min(50%, 30rem);*/
  width: min(80%, 30rem);
  margin: 0 auto;
}
  .sales-method__info__icon.logo_abreast {
  display: flex;
  align-items: center;
  justify-content: center;
  }
.sales-method__info__icon img {
  object-fit: contain;
}

.sales-method__info tr {
}
.sales-method__info th,
.sales-method__info td {
  padding: .5rem;
  line-height: 1.4;
  position: relative;
	font-size: calc(var(--fs) * 1.4 + var(--rs) * 0.4);
	text-align: left;
  vertical-align: top;
}
.sales-method__info th {
	font-weight: normal;
  /*padding-right: 1em;*/
  min-width: 7em;
  width: 20%;
}
.sales-method__info th::after {
	content: "：";
	position: absolute;
	right: -0.1em;
	opacity: 0.5;
	font-weight: normal;
}
.sales-method__info td {
}
.sales-method__info td em,
.sales-method__info td strong {
  vertical-align: baseline;
}
.sales-method__info a.lnkRibon  {
  /*background: var(--color-link-cmn);*/
  width: min(90%,60rem);
  margin-top: 0;
}
.sales-method__info a.lnkRibon.pre {
  background: #aaa;
  color: #fff;
}
.sales-method__outline {
  background: #C4E9D7;
  padding: 1em;
  margin: 1rem auto;
}

/* STEPBOX
	-----------------------------*/
/*イベント参加方法STEP*/
.event-stp__wrap {
  position: relative;
  text-align: left;
}
.event-stp__heading {
  text-align: center;
  line-height: 1.25;
  padding: 0.5em;
  margin: 0 auto 1em;
  font-size: var(--fs-xxl);
  font-weight: bold;
  background: linear-gradient(to right, rgba(255,255,255,0), #FFDCDC,#FFDCDC, rgba(255,255,255,0));
}
.event-stp__heading::before {
  content: "[";
  margin-right: .7em;
}
.event-stp__heading::after {
  content: "]";
  margin-left: .7em;
}
.event-stp__title {
  background: var(--tmc01);
  color: #fff;
  text-align: center;
  line-height: 1.25;
  padding: 0.5em;
  margin: 0 auto 1em;
}
.event-stp__pastpic {
  position: relative;
  width: 100%;
  max-width: 85rem;
  margin-left: auto;
  margin-right: auto;
}
.note--pastpic {
  text-align: right;
  padding: .5rem;
  color: #777;
  font-size: calc(var(--fs) * 1.0);
}
.event-stp__step-num {
  position: absolute;
  left: -1em;
  top: -0.6em;
  background: var(--tmc01);
  border: .1rem solid var(--tmc01);
  border-radius: 10rem;
  color: #fff;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  text-align: center;
  font-weight: bold;
  font-size: var(--fs-xxl);
}
.event-stp__chart-box {
  position: relative;
  background: #fff;
  padding: 2rem 1.5em;
  margin: 1em auto;
  border: .2rem solid var(--tmc01);
  border-radius: 2rem;
  width: min(96%,var(--width-box));
  padding-right: 1.2em;
}
.event-stp__chart-mark--down {
  position: relative;
  z-index: 2;
  height: 2em;
  margin-bottom: -1em;
  margin-top: -1em;
}
.event-stp__chart-mark--down::after {
  position: absolute;
  content: "";
  top: -.5em;
  left: calc(50% - 3rem);
  border: 3.0rem solid transparent;
  border-top: 3.0rem solid var(--tmc01);
  width: 0;
  height: 0;
}
.event-stp__schedule {
  margin-bottom: 1rem;
}
.event-stp__chart-read {
  font-size: calc(var(--fs) * 2.0 + .3vw);
  font-weight: bold;
  margin-bottom: .3rem;
}
.event-stp__time {
  color: var(--tmc01);
}
/*イベント参加説明の表*/
.event-stp__table {
  border-collapse: collapse;
  margin: 1rem auto;
  padding: 0;
  /*table-layout: fixed;*/
  background: #fff;
  box-sizing: border-box;
  width: 100%;
  color: #663026;
  font-size: var(--fs-ml);
  border: 0.2rem solid #663026;
}
.event-stp__table th,
.event-stp__table td {
  padding: 1rem;
  vertical-align: middle;
  border: 0.1rem solid #663026;
  font-weight: normal;
}
.event-stp__table th {
  text-align: center;
  position: relative;
}
.event-stp__table td {
  text-align: left;
  position: relative;
}


/*イベント参加規約*/
.event__infobox {
  position: relative;
  line-height: 1.5;
  max-width: var(--width-box);
  margin: 0 auto 2em;
  text-align: left;
}
.event__infobox--nobdr {
  padding: 0;
  border: none;
  background: transparent;
}
.event__infobox--waku {
  padding: 1em;
  background: #fff;
  box-shadow: .1rem .1rem .5rem 0 rgba(50, 20, 0, 0.4);
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
.event__kiyaku-tit {
  background: var(--tmc01);
  color: #fff;
  text-align: center;
  line-height: 1.25;
  padding: 0.5em;
  margin: 0 auto 1rem;
  font-size: calc(var(--fs) * 1.7);
}
.event__kiyaku-lst {
  width: min(calc(100% - 2rem),var(--width-box));
  margin-left: auto;
  margin-right: auto;
}



/* ================================== TB START ================================== */
@media (min-width: 560px) {
  
  /* 販売方法概要
	-----------------------------*/ /* TB */
  .sales-method__info__icon  {
  position: absolute;
  top: -5em;
  right: 0;
  z-index: 1;
  width: min(15%, 12rem);
  }
  .sales-method__info__icon.logo_abreast {
  width: min(30%, 22rem);
  }
  .sales-method__info__icon.logo_DP  {
    width: min(20%, 20rem);
  }
  .sales-method__info__icon img {}
  .sales-method__info tr {
    display: flex;
    align-items: baseline;
  }
  .sales-method__info th   {
    flex: 1;
  }
  .sales-method__info td {
    flex: 6;
  }
  
  /* STEPBOX
	-----------------------------*/ /* TB */
  .event-stp__schedule {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .event-stp__time {
    margin-left: auto;
    /*min-width: 9em;*//*contest*/
    text-align: left;
    border-bottom: 3px dotted #ddd;
    margin-right: 0;
    padding-left: 1rem;
  }
}