/*** common ***/
h2 {
    text-align: center;
    margin-bottom: 30px;
}
.txt_center { text-align: center; }

.txt_red { color: #cc0033;}
.txt_red02 { color: #B40513!important;}
.txt_red03 { color: #d62446!important;}
.txt_bold { font-weight: bold; }
.txt_small { display: inline-block; font-size: 80%; }
.txt_size110 { font-size: 110%; }
.txt_size120 { font-size: 120%; }
.txt_size150 { font-size: 150%; }
.mgt_10 { margin-top: 10px; }
.mgt_20 { margin-top: 20px; }
.mgt_30 { margin-top: 30px; }
.mgb_10 { margin-bottom: 10px; }
.orange { color: #F88400; }
.under_line { text-decoration: underline; }
.red_list {
    margin-top: 20px;
}
.red_box {
    border: 1px solid #d62446;
    padding: 15px;
    color: #000;
    margin-bottom: 30px;
}
.red_box dl {
    margin: 20px 0;
}
.red_box dl dt {
    margin-top: 20px;
}
.red_box ul li{
    list-style: disc;
    margin-left: 1em;
}
.red_box .m-accordion__item {
    list-style-type: none;
}
.red_box .no-mark-list li {
    list-style-type: none;
    margin-left: 1em;
}

.sp_br { display: none; }
@media(max-width:480px) {
    .sp_br { display: block; }
}

/*** new_list ***/
.m-accordion__item-body ul {
    margin: 20px;
}

/*** box-table ***/
.box-table {
    border: solid 2px #000;
    margin: 10px auto 20px;
    background: #fff;
    max-width: 380px;
}
.box-table h3 {
    display: inline-block;
    width: 100%;
    line-height: 1.4;
    background: #000;
    color: #fff;
    text-align: center;
    padding: 7px;
}
.box-table .inner {
    padding: 10px;
}
.box-table .inner ul {
    padding: 7px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: center;
    flex-direction: column;
}
.box-table .inner ul li {
    margin-bottom: 4%;
}

.box-table .inner ul li.disny img {
    max-width: 200px; 
    margin-bottom: 0; 
}
.box-table .inner ul li.ntfl img {
    max-width: 180px; 
}
.box-table .inner ul li.sptfy img {
    max-width: 176px; 
}
.box-table .inner ul li.dzn_d img {
    max-width: 174px; 
}

/*** flex contents ***/
/* ボックスが減ったのでレイアウト変更 */
.container {
    width: 98%;
    max-width: 556px;
    display: flex;
    height: auto;
    padding: 20px;
    /* margin: 40px auto; */
    text-align: center;
    background: #F7E9E4;
    align-items: center;
    justify-content: flex-start;
    align-content: space-between;
    flex-direction: row;
    flex-wrap: wrap;
}
@media(max-width:600px) {
	.container {
	    width: 98%;
	    max-width: 556px;
	    display: flex;
	    height: auto;
	    padding: 20px;
	    /* margin: 40px auto; */
	    text-align: center;
	    background: #F7E9E4;
	    align-items: center;
	    justify-content: center;
	    align-content: space-between;
	}
}


.container h2 {
    width: 100%;
    text-align: center;
    margin-bottom: 0;
}
.container .item {
    position: relative;
    overflow: hidden;
    line-height: 1.4em;
    display: flex;
    width: 248px;
    height: 360px;
    background: #fff;
    text-align: center;
    align-items: flex-start;
    justify-content: space-evenly;
    flex-wrap: wrap;
    align-content: space-between;
    box-sizing: border-box;
    flex-direction: row;
    margin: 5px;
}
.border-area {
    display: flex;
    height: 330px;
    box-sizing: border-box;
    /*border: solid 4px #666;*/
    border: solid 4px #d9d6d2;
    padding: 10px;
    align-content: space-between;
    flex-direction: column;
    justify-content: space-around;
}
.container .item .inbox .icon {
    display: inline-block;
    width: 100%;
    background: #666;
    color: #fff;
    padding: 2px 7px;
    border-radius: 8px;
    font-size: 13px;
}
.container .item .inbox .icon.mycmp {
    background: #fff;
    color: #333;
    border: solid 1px #333;
}
.container .item .inbox .none-icon {
    display: none;
}
.container .item .inbox p {
    display: inline-block;
    width: 100%;
    font-weight: 600;
    color: #000;
    margin-bottom: 10px;
}
.container p.info {
    width: 100%;
    line-height: 1.2;
    margin: 0 auto 10px;
}
.container .item .inbox p.link-info {
    font-size: 14px;
    text-align: left;
    line-height: 1.2;
    font-weight: 400;
    padding: 0 5px;
}
.container .item .inbox .status {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 42px;
    line-height: 40px;
    /*background: #000;*/
    background: #d9d6d2;
    /*color: #fff;*/
    color: #8c8c8c;
}
.container a img {
    display: block; 
    width: 100%;
    height: auto;
    max-width: 200px;
    margin: 0 auto;
}
.container .item .inbox .left {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 140px;
    padding-top: 20%;
}
.container .item .inbox .right {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 120px;
}
.container .item .inbox .right .icon {
    position: absolute;
    left: 0;
    bottom: 10px;
}
.container a img {
    display: block; 
    width: 100%;
    height: auto;
    max-width: 200px;
    margin: 0 auto;
}

/*** 個別に調整 ***/
.container #box01 {
    height: 360px; 
}
.container #box01 a img {
    width: 180px;
    margin-bottom: 18px;
}
.container  #box01.item .inbox .left {
    padding-top: 10px;
}
.container  #box01.item .inbox .right {
    height: 100px;
    margin-top: 12px;
}
.container  #box01.item .inbox .right .d-copy {
    display: inline-block;
    line-height: 1.2;
    text-align: left;
    padding-top: 21px;
    padding-left: 1em;
    text-indent: -1em;
}
.container  #box01.item .inbox .right .icon {
    bottom: 0px;
}
.container #box01 .item {
    width: 248px;
}
.container #box02 a img {
    max-width: 166px;
}
.container  #box02.item .inbox .left {
    padding-top: 25%;
}
.container #box03 a img {
    max-width: 166px;
}
.container  #box03.item .inbox .left {
    padding-top: 25%;
}
.container  #box04.item .inbox .left {
    padding-top: 25%;
}
.container #box05 a img {
    max-width: 175px;
}
.container  #box05.item .inbox .left {
    padding-top: 25%;
}
.container #box06 a img {
    max-width: 166px;
}
.container  #box06.item .inbox .left {
    padding-top: 28%;
}
.container  #box07.item .inbox .left {
    padding-top: 18%;
}
.container #box08 a img {

}
.container #box09 a img {
    max-width: 190px;
}
.container #box10 a img {
    max-width: 115px;
}
.container  #box10.item .inbox .left {
    padding-top: 5%;
}
.container #box11 a img {
    max-width: 166px;
}
/*** 一番上は一つだけ ***/
.container #box01_area {
	flex-basis: 100%;
	display: flex;
	height: 400px;
	justify-content: flex-end;
	flex-direction: column;
	align-items: center;
	margin-bottom: 20px;
}
.d-copy {
    display: inline-block;
    font-family: Noto Sans Medium;
    font-size: 9px;
    margin-top: 5px;
    color: #666;
}
.d-info {
    text-align: left;
    padding-left: 1em;
    text-indent: -1em;
    font-family: Noto Sans Medium;
    font-size: 9px;
    line-height: 1.2em;
    margin-top: 5px;
    color: #5c6273;
}
.a-copy {
    display: inline-block;
    font-family: Noto Sans Medium;
    font-size: 9px;
    margin-top: 25px;
    color: #666;
    line-height: 1.2;
}
/*** クリック時に色を変える ***/
.border-area.on_green {
    border: solid 4px #00b496;
}
.container .item .inbox .status.on_green {
    background: #00ba96;
}

.container .item .inbox.on_green .border-area {
    border: solid 4px #00b496;
}
.container .item .inbox.on_green .border-area .status {
    background: #00ba96;
}
@media(max-width:640px) {
  #osusume-entry {
      width: 320px;
      margin: 0 auto;
  }
   .container #box01_area { height: 425px; }
}
@media(max-width:480px) {
  .container .item {
    width: 97%;
    max-width: 248px;
    height: 360px;
    padding: 0px;
  }
  .container .item .inbox .left {
     width: 100%;
     min-width: 190px;
  }
  .container #box10.item .inbox .left { padding-top: 10%;}
  .container #box10.item .inbox .right {
      margin-top: 40px;
      height: 120px;
  } 
  #osusume-entry {
      width: 300px;
  }
}
@media(max-width:360px) {
  .container { 
    width: 97%;
    padding: 5px;
 }
  .container .item {
     height: 330px;
  }
  .border-area {
     height: 300px;
  }
  .container #box01.item {
     height: 330px;
  }
  #box01.border-area {
     height: 300px;
  }
}
@media(max-width:320px) {
  #osusume-entry {
      width: 100%;
  }
}
@media(max-width:300px) {
  .container { 
    width: 97%;
    padding: 5px;
 }
  .container #box01.item {
     height: 360px;
  }
  #box01.border-area {
     height: 330px;
  }
}

/*** エントリーボタン ***/
#osusume-entry {
    background-color: #d4d2cf;
    color: #fff;
    pointer-events: none;
}

#osusume-entry.active {
    background-color: #b40512;
    border: solid 1px #b40512;
    pointer-events: auto;
}


/*** STEP ***/
.flow01 > li dl dd img.point-get {
  max-width: 290px;
}

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

.flow_design01 ul {
  width: 100%;
  padding: 0;
}

.flow_design01 li {
  list-style-type: none;
}

.flow_design01 dd {
  margin-left: 0;
}

.flow_design01 dd a {
  text-decoration: underline;
  color: #0f868a;
  font-weight: 500;
}

.flow01 > li {
  position: relative;
  list-style: none;
}

.flow01 > li:not(:last-child) {
  margin-bottom: 96px;
}

.flow01 > li dl {
  box-sizing: border-box;
  width: 100%;
  padding: 20px 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 4px solid #cc0033;
  border-radius: 10px;
  position: relative;
}

.flow01 > li:not(:last-child) dl::before,
.flow01 > li:not(:last-child) dl::after {
  content: "";
  border: solid transparent;
  position: absolute;
  margin-top: 25px;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.flow01 > li:not(:last-child) dl::before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 50px 0;
    border-color: #cc0033 transparent transparent;
    margin: 20px auto 10px;
}

.flow01 > li:not(:last-child) dl::after {
  border-width: 20px;
}

.flow01 > li dl dt {
  position: absolute;
  width: 100px;
  top: -20px;
  left: 40%;
  right: 30%;
  font-size: 1.2em;
  font-weight: 600;
  -ms-flex-preferred-size: 20%;
  text-align: center;
}
.flow01 > li dl dd {
   width: 100%;
   text-align: center;
   padding-top: 20px;
}
.flow01 > li dl dd img {
    display: block;
    width: 100%;
    max-width: 380px;
    margin: 10px auto;
}
.flow01 > li dl dt .icon01 {
  color: #fff;
  background: #cc0033;
  padding: 2px 5px;
  margin-bottom: 10px;
  display: block;
  border-radius: 20px;
  position: relative;
  z-index: 100;
}

@media(max-width: 650px) {
  .flow01 > li:not(:last-child) {
    margin-bottom: 80px;
  }

  .flow01 > li dl {
    display: block;
    padding: 10px 15px;
  }

  .flow01 > li dl dt {
    margin-right: 0;
  }

  .flow01 > li dl dt .icon01 {
    font-size: .7em;
  }
}
@media(max-width: 480px) {
  .flow01 > li dl dt {
    left: 36%;
  }
  .flow01 > li dl dd {
   padding-top: 20px;
  }
  .flow01 > li:not(:last-child) dl::before,
  .flow01 > li:not(:last-child) dl::after {
    margin-top: 20px;
  }
  .flow01 > li:not(:last-child) dl::after {
    border-width: 30px;
  }
  .flow01 > li:not(:last-child) dl::before {
    border-width: 30px;
  }
}
@media(max-width: 400px) {
  .flow01 > li dl dt {
    left: 33%;
  }

}
