@charset "UTF-8";

/*--------------------
  Components
--------------------*/

body {
  font-family: Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Arial, Sans-serif;
}

.section__inner {
  padding: 2rem 5px 2.5rem;
}
/* For Large Device */
@media screen and (min-width: 900px) {
  /* section */
  .section__inner {
    margin: 0 auto;
    max-width: 946px;
    padding-top: 2rem;
    padding-bottom: 4rem;
  }
}

/* cpLP */
.cpLP__box {
  margin: 0 18px;
}
.cpLP__box-line {
  border-bottom: 1px solid #ddd;
  padding-bottom: .8rem;
}
.cpLP__box__foot {
  margin-top: 1.5rem;
  text-align: center;
}
.cpLP__img__main {
  margin-bottom: .75rem;
  text-align: center;
}
.cpLP__text {
  word-break: break-all;
  line-height: 1.5;
}
.cpLP__step {
    margin: 0 auto;
    padding-top: 4rem;
    padding-bottom: 4rem;
}
.cpLP__step__inner {
  display: flex;
  justify-content: center;
  align-items: center;
}
.cpLP__step__inner li {
  max-width: 97% !important;
}
.cpLP__step__inner .arrow {
  margin-left: 15px;
}

@media screen and (max-width: 900px) {

  .cpLP__step__inner {
    display: block;
    text-align: center;
  }
  .cpLP__step__inner li {
    max-width: 100% !important;
  }
  .cpLP__step .arrow {
    transform: rotate( 90deg );
    margin: 0;
  }
}
/* For Small Device */
@media screen and (max-width: 414px) {
  .cpLP__step {
        padding-top: 2rem;
      padding-bottom: 2rem;
  }
}
.cpLP__button {
  text-align: center;
}
.cpLP__data__thumb {
  margin-bottom: 1.5rem;
}

.cpLP__data__table {
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  margin-bottom: 2.5rem;
  line-height: 1.5;
}
.cpLP__data__table table {
  width: 100%;
  font-size: .85rem;
}
.cpLP__data__table tr {
  border-bottom: 1px solid #ddd;
}
.cpLP__data__table th,
.cpLP__data__table td {
  padding: 1rem 20px;
}
.cpLP__data__table th {
  font-weight: 700;
  text-align: left;
  width: 5em;
  border-right: 1px solid #ddd;
}
.cpLP__data__table td li {
  font-size: .85rem;
}
.cpLP__data__table--agree {
  margin-bottom: 1.6rem;
  text-align: center;
  font-size: 1rem;
  line-height: 1.4rem;
}
.cpLP__data__table--title {
  text-align: center;
  background-color: #edf6fa;
  color: #333;
  font-weght: 700;
}

/* For Large Device */
@media screen and (min-width: 900px) {
  /* cpLP */
  .cpLP {
    box-sizing: border-box;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .cpLP__box {
    margin: 0 30px;
  }
  .cpLP__box__foot {
    flex-shrink: 0;
    margin-left: 1.5rem;
  }
  .cpLP__data {
    position: relative;
  }
  .cpLP__data__table th,
  .cpLP__data__table td {
    padding: 1rem;
  }
  .cpLP__data__table th {
    padding-right: 1.5rem;
    width: 13em;
  }
  .cpLP__data__table td.product__data__table__adjust {
    padding-right: 380px;
  }
}
@media screen and (max-width: 414px) {

  }
  .cpLP__data__table {
    margin-bottom: 0;
  }
}


/*緑ボタン関連*//* apply */
.apply {
  max-width: 700px;
  margin: 0 auto 2.5rem;
}
/* For Large Device */
@media screen and (min-width: 900px) {
  .apply {
    margin-bottom: 1rem;
  }
}
/* For Large Device */
@media screen and (max-width: 700px) {
  .apply {
    max-width: 100%;
    margin: auto 18px;
  }
}
/* For small Device */
@media screen and (max-width: 414px) {
  .apply {
    margin: auto 18px;
  }
}

/* Buttons */
.button {
  border-radius: 3em;
}
.button--secondary .button--lg--a {
  font-size: 1.3rem;
  font-weight: normal;
}
.button--secondary .button--lg--b {
  font-size: 1.8rem;
  padding: .25em .5em;
}
.button--secondary .button--lg--c {
  font-size: .95rem;
  font-weight: normal;
}
.button--secondary {
  background-color: #393;
  border-right: solid 3px #060;
  border-bottom: solid 3px #060;
  color: #fff;
}
.button--secondary:link,
.button--secondary:visited {
  color: #fff;
}
.button--secondary:after {
  background-image: url(/img/common/icon-right-white.svg);
}
/* キャンペーンendボタン*/
.button--gray .button--lg--a {
  font-size: 1.3rem;
  font-weight: normal;
}
.button--gray .button--lg--b {
  font-size: 1.8rem;
  padding: .25em .5em;
}
.button--gray .button--lg--c {
  font-size: .95rem;
  font-weight: normal;
  color: #ccc;
}
.button--gray {
  background-color: #999;
  border-right: solid 3px #666;
  border-bottom: solid 3px #666;
  color: #fff;
}
.button--gray:link,
.button--gray:visited {
  color: #fff;
}

/* For Large Device */
@media screen and (min-width: 900px) {
  /* Buttons */
  .button {
    font-size: 1.125rem;
    padding: 1em .9em;
  }
  .button--lg--a {
    font-size: 1.5rem;
    padding: .84em .9em;
  }
  .button--lg--b {
    font-size: 1.5rem;
    padding: 1.09em .9em;
  }
  .button--lg--c {
    font-size: 1.5rem;
    padding: .855em .9em;
  }
  .button--lg--c .button__sub {
    font-size: 1rem;
  }
}
/* For small Device */
@media screen and (max-width: 414px) {
  /* Buttons */
  .button {
    border-radius: 1em;
  }
  .button--lg--a {
    font-size: .88rem !important;
    padding: 0 .9em !important;
  }
  .button--lg--b {
    font-size: 1.2rem !important;
  }
  .button--lg--c {
    font-size: .68rem !important;
    padding: 0 .9em !important;
  }
}

/* skip */
.heading__skip {
  letter-spacing: -2px;
  margin-bottom: .75rem;
}
.skip__list li {
  height: auto;
  width: 100%;
  padding: 0 10% 0 15%;
  margin-bottom: 1rem;
  box-sizing: border-box;
}
.skip__list__item img {
  height: auto;
  width: 50%;
}

/* For Large Device */
@media screen and (min-width: 600px) {
  /* skip */
  .skip__list {
    margin-bottom: 1.45rem;
  }
  .skip__list ul {
    display: flex;
    justify-content: space-between;
  }
  .skip__list li {
    width: 31%;
    padding: 0;
    margin-bottom: 0;
  }
}

/* gift */
.section__inner__gift {
  padding: 2rem 15px 2.5rem;
}
/* For Large Device */
@media screen and (min-width: 900px) {
  /* section */
  .section__inner__gift {
    margin: 0 auto;
    max-width: 800px;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}

.gift {
  margin-bottom:0;
  padding: 0;
  margin: 0 auto;
  color: #fff;
  background-color: #9a3334;
  position: relative;
}
.gift__item__title {
  display: block;
  margin-bottom: 15px;
  font-size: 1.1rem;
  font-weight: 700;
  text-align: left;
}
.gift__item__text {
  display: block;
  margin-bottom: 7px;
  font-size: .79rem;
  text-align: left;
  line-height: 1.2rem;
}
.gift__item__text:last-child {
  margin-bottom: 0;
}
.gift__item__text a {
  color: #fff;
}
.gift__item {
  display: flex;
  justify-content: center;
}
.gift__item--a {
  width: 18%;
  padding: 20px;
}
.gift__item--b {
  width: 75%;
  padding: 20px 15px 15px 0;
}
.gift--asterisk:before {
  content: "※";
}

/* For Large Device */
@media screen and (max-width: 900px) {
  .gift {
  }
  .gift__item__text {
    text-align: left;
    }
  .gift__item {
    display: block;
    text-align: center;
  }
  .gift__item--a {
    padding: 20px 50px 0 50px;
  }
  .gift__item--b {
    padding: 20px 30px;
  }
  .gift__item--a,
  .gift__item--b {
    width: auto;
  }
}
/* For small Device */
@media screen and (max-width: 414px) {
  .gift {
    padding: 10px 15px 10px;
  }
  .gift__item--a {
    padding: 10px 60px 0;
  }
  .gift__item--b {
    padding: 20px 0 10px;
  }
}
