* {
  margin: 0;
  padding: 0;
}

ul,
li {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

/*snsBtn
-----------------------------------------------------*/
#sns_button {
  width: 90%;
  max-width: 636px;
  height: 25px;
  margin: 20px auto 10px;
  overflow: hidden;
  _zoom: 1;
}
#sns_button li {
  margin-right: 10px;
  float: right;
}

/*--- clearfix ---*/
.cf:after,
#wrap ul.tab:after {
  content: "";
  display: block;
  clear: both;
}

#wrap *,
#wrap *:before,
#wrap *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

#wrap {
  width: 100%;
  overflow: hidden;
  font-family: "Noto Sans Japanese", "Hiragino Kaku Gothic Std",
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka,
    "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #3a3a3b;
  background-color: #dadfed;
}

#wrap a {
  text-decoration: none;
  display: block;
}

#wrap img {
  /* width: 100%; */
  height: auto;
}

.mincho {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

h1 {
  font-size: 0.1cqw;
  margin: 0;
  color: #fff;
  font-weight: 400;
  text-align: left;
}

.kv img {
  width: 100%;
}

.purple {
  color: #778cc2;
}

.pink {
  color: #e29096;
}


/* 共通 */
.background_wh {
  position: relative;
  background-color: #fff;
  width: 91%;
  margin: 0 auto;
  padding: 2.5% 0 4.5%;
}

.nami_1,.nami_2 {
  position: absolute;
  width: 100%;
}

.nami_1 {
  top: -2cqw;
  left: 0;
}

.nami_2 {
  bottom: -2cqw;
  left: 0;
}


/* .lead_area */
.lead_area {
  margin: 6.5% 0 0;
}

.lead_tx1,.lead_tx2 {
  font-size: 3.6cqw;
  font-weight: 500;
  text-align: center;
  line-height: 1.88em;
  letter-spacing: 0.03em;
}

.lead_tx2_wrap {
  width: 90%;
  margin: 1.8% auto 3%;
  text-align: center;
}

.lead_tx2 {
  background: linear-gradient(transparent 65%, #ffe9e0 30%);
  display: inline;
}

.lead_big {
  font-size: 4cqw;
  text-align: center;
  line-height: 1.9em;
  letter-spacing: 0.03em;
  padding: 0 0 2%;
}

.lead_link {
  font-size: 3.4cqw;
  font-weight: 600;
  text-align: center;
  line-height: 1.9em;
  letter-spacing: 0.03em;
  text-decoration: underline;
  margin-top: 4%;
}


/* リード下 */
.shindan_btn {
  text-align: center;
  position: relative;
  margin: 8% 0 5.5%;
}

.shindan_btn a {
  text-decoration: none;
  display: inline-block;
  padding: 4.3% 6.3% 4.5% 3%;
  background-color: #ffe9e0;
  border: #778cc2 solid 2px;
  font-size: 4.7cqw;
  font-weight: bold;
  border-radius: 1000px;
  width: 78%;
  margin: 0 auto;
}

.sankaku_1 {
  position: absolute;
  width: 5.2cqw;
  right: 14.5cqw;
  top: 0;
  bottom: 0;
  margin: auto;
}

.btn_note {
  width: 91%;
  margin: 0 auto;
}

.btn_note p {
  font-size: 3cqw;
  font-weight: 500;
  line-height: 1.75em;
  text-indent: -1em;
  padding-left: 1em;
}

.anchor_area,.anchor_area2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.anchor_area {
  width: 91%;
  margin: 7% auto 0;
}

.anchor_area2 {
  width: 81%;
  margin: 3.4% auto 8.5%;
}

.anchor_area li {
  position: relative;
  width: 48.5%;
  background-color: #e29096;
  border-radius: 5px;
}

.anchor_area2 li {
  position: relative;
  width: 23%;
  background-color: #e29096;
  border-radius: 5px;
}

.anchor_area li p {
  font-size: 3.55cqw;
  font-weight: bold;
  line-height: 1.55em;
  text-align: center;
  color: #fff;
}

.anchor_area2 li p {
  font-size: 5.4cqw;
  font-weight: bold;
  line-height: 1.55em;
  text-align: center;
  color: #fff;
}

.anchor_area li a {
  display: block;
  padding: 4.6% 0 20%;
}

.anchor_area2 li a {
  display: block;
  padding: 8% 0 42%;
}

.sankaku_2 {
  position: absolute;
  width: 4.5cqw;
  left: 0;
  right: 0;
  margin: auto;
  bottom: 1.8cqw;
}


/* #action */
/* イラスト */
.socks {
  position: absolute;
  width: 13%;
  top: 6.5cqw;
  left: 2cqw;
}

.sheep {
  position: absolute;
  width: 13.5%;
  top: -1cqw;
  left: 13cqw;
}

.pillow {
  position: absolute;
  width: 13.4%;
  top: -1cqw;
  right: 12cqw;
}

.fragrance {
  position: absolute;
  width: 14.2%;
  top: 6.5cqw;
  right: 1cqw;
}

.soap {
  position: absolute;
  width: 13%;
  top: 5.5cqw;
  left: 1.5cqw;
}

.duck {
  position: absolute;
  width: 14.3%;
  top: -1cqw;
  left: 12.5cqw;
}

.cleansing {
  position: absolute;
  width: 16.3%;
  top: -1cqw;
  right: 9cqw;
}

.scrub {
  position: absolute;
  width: 15.5%;
  top: 7cqw;
  right: -0.5cqw;
}

.mask {
  position: absolute;
  width: 12%;
  top: 4.3cqw;
  left: 3cqw;
}

/* .serum {
  position: absolute;
  width: 13.5%;
  top: -1cqw;
  left: 12cqw;
} */

.kira {
  position: absolute;
  width: 9%;
  top: 1.4cqw;
  left: 14.5cqw;
}

.brush {
  position: absolute;
  width: 15.2%;
  top: -1cqw;
  right: 13.1cqw;
}

.dryer {
  position: absolute;
  width: 14%;
  top: 4.4cqw;
  right: 1.5cqw;
}

.d_bucket {
  position: absolute;
  width: 12.8%;
  top: 6cqw;
  left: 2.2cqw;
}

.towel {
  position: absolute;
  width: 13%;
  top: -1.5cqw;
  left: 12.2cqw;
}

.tops {
  position: absolute;
  width: 14.5%;
  top: -1.5cqw;
  right: 10.5cqw;
}

.pants {
  position: absolute;
  width: 13.5%;
  top: 4.5cqw;
  right: 1.5cqw;
}
/* イラスト */

#action {
  margin: 11% 0 0;
}

.action {
  margin-bottom: 8%;
}

.txdeco_1 {
  display: block;
  width: 67%;
  margin: 0 auto -3%;
}

.h2_1 {
  font-size: 7.4cqw;
  font-weight: bold;
  text-align: center;
  line-height: 1.45em;
  letter-spacing: 0.03em;
  margin-bottom: 5.2%;
}

.icon_shindan {
  display: block;
  width: 11%;
  margin: 0 auto 1.5%;
}

.h3_action {
  font-size: 5.7cqw;
  font-weight: bold;
  text-align: center;
  line-height: 1.65em;
  letter-spacing: 0.03em;
}

.action_lead {
  background-color: #ffe9e0;
  border-radius: 5px;
  width: 82%;
  padding: 2.6% 3.2% 3.5%;
  margin: 4% auto 6.5%;
}

.action_lead p {
  font-size: 3.6cqw;
  font-weight: 500;
  text-align: center;
  line-height: 1.75em;
  letter-spacing: 0.03em;
}

h4 {
  font-size: 5cqw;
  font-weight: bold;
  text-align: center;
  line-height: 1.6em;
  letter-spacing: 0.03em;
}

.item_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 5% auto 1%;
  width: 94%;
}

.item_box li {
  width: 49%;
  margin-bottom: 2%;
  border: 1px solid #778cc2;
  border-radius: 5px;
}

.item_box li img {
  width: 100%;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.item_name {
  font-size: 3cqw;
  font-weight: 500;
  line-height: 1.6em;
  padding: 2.7% 4% 3% 4%;
}

.d_takanawa {
  width: 91%;
  margin: 0 auto 5%;
}

.d_takanawa p {
  font-size: 3.6cqw;
  font-weight: 500;
  text-align: center;
  line-height: 1.88em;
  letter-spacing: 0.03em;
}

.d_takanawa_txdeco {
  background: linear-gradient(transparent 65%, #ffe9e0 30%);
  display: inline;
}

.takanawa_img1 {
  display: block;
  width: 91%;
  margin: 0 auto;
  border-radius: 5px;
}

.takanawa_btn {
    text-align: center;
    position: relative;
    margin: 5.5% 0 10%;
}

.takanawa_btn a {
  text-decoration: none;
  display: inline-block;
  padding: 3.4% 5.7% 4% 3%;
  background-color: #778cc2;
  color: #fff;
  font-size: 4.3cqw;
  font-weight: bold;
  border-radius: 1000px;
  width: 78%;
  margin: 0 auto;
}

.others_btn {
  text-align: center;
  position: relative;
  margin: 5.5% 0 6%;
}

.others_btn a {
  text-decoration: none;
  display: inline-block;
  padding: 3.4% 5.7% 4% 3%;
  background-color: #778cc2;
  color: #fff;
  font-size: 4.3cqw;
  font-weight: bold;
  border-radius: 1000px;
  width: 85%;
  margin: 0 auto;
}

.sankaku_3 {
  position: absolute;
  width: 5.2cqw;
  right: 13cqw;
  top: 0;
  bottom: 0;
  margin: auto;
}

.sankaku_4 {
  position: absolute;
  width: 5.2cqw;
  right: 9.8cqw;
  top: 0;
  bottom: 0;
  margin: auto;
}


/* #present */
#present {
  background-color: #ffe9e0;
  padding: 7% 0 10%;
}

.txdeco_2 {
  display: block;
  width: 67%;
  margin: 0 auto -1%;
}

.present_lead {
  font-size: 3.6cqw;
  font-weight: 500;
  text-align: center;
  line-height: 1.88em;
  letter-spacing: 0.03em;
  width: 91%;
  margin: 2% auto 0;
}

.present_detail {
  width: 91%;
  margin: 8% auto 0;
}

.present_name {
  font-size: 4.3cqw;
  font-weight: bold;
  text-align: center;
  line-height: 1.6em;
  letter-spacing: 0.03em;
  color: #e29096;
}

.ticket {
  display: block;
  width: 90%;
  margin: 0 auto;
}

.present_deadline {
  font-size: 3cqw;
  font-weight: 500;
  line-height: 1.75em;
  width: 83%;
  margin: 1.3% auto 0;
}

.present_note {
  padding-bottom: 5%;
}

.present_note_ttl {
  font-size: 3.4cqw;
  font-weight: bold;
  line-height: 1.75em;
  margin: 9% 0 2.7%;
  text-align: center;
}

.present_note_tx {
  font-size: 3cqw;
  font-weight: 500;
  line-height: 1.75em;
  text-indent: -1em;
  padding-left: 1em;
}

.present_note_tx2 {
  font-size: 3.4cqw;
  font-weight: 500;
  line-height: 1.88em;
  letter-spacing: 0.03em;
  text-indent: -1em;
  padding-left: 1em;
}


.apply_wrap {
  margin-top: 8%;
}

.present_period,.present_period2,.present_period3,.present_period4 {
    position: relative;
    width: 92%;
    border: 1px solid #778cc2;
    background-color: #ffffff;
}

.present_period {
  margin: 7% auto 9%;
  padding: 9% 3.7% 4.3% 4%;
}

.present_period2 {
  margin: 14% auto 0;
  padding: 9% 3.7% 5.5% 4%;
}

.present_period3 {
  margin: 11% auto 0;
  padding: 6% 3.7% 5.3% 4%;
}

.present_period4 {
  margin: 11% auto 7.5%;
  padding: 4% 3.7% 5.3% 4%;
}

.present_period_h,.present_period_h2,.present_period_h3 {
    position: absolute;
    width: 55%;
    border-radius: 1000px;
    background-color: #778cc2;
    padding: 1.8% 0 1.4%;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 3.6cqw;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
}

.present_period_h {
  top: -18%;
}

.present_period_h2 {
  top: -5.6%;
}

.present_period_h3 {
  top: -6.6%;
}

.present_period_tx {
    font-size: 4.3cqw;
    font-weight: bold;
    text-align: center;
    line-height: 1.75em;
    letter-spacing: 0.03em;
}

.present_period_tx2 {
    font-size: 3.6cqw;
    font-weight: 500;
    text-align: center;
    line-height: 1.88em;
    letter-spacing: 0.03em;
}

.present_period_tx3 {
    font-size: 3.4cqw;
    font-weight: 500;
    text-align: center;
    line-height: 1.88em;
    letter-spacing: 0.03em;
    padding-top: 2%;
}

.box1 {
  margin: 6% 0 0;
}


/* 応募方法 */
.apply {
  width: 91%;
  margin: 8% auto 5%;
}

.h3_apply {
  font-size: 6.3cqw;
  font-weight: bold;
  text-align: center
}

.h3_sen {
  border-bottom: 2px solid #e29096;
  width: 20%;
  margin: 0 auto;
  padding-top: 0.3%;
}

.step_wrap {
  position: relative;
}

.step_sen {
  position: absolute;
  width: 2px;
  background-color: #e29096;
  left: 7.9%;
  top: 2%;
  height: calc(100% - 5%);
}

.icon_step img {
  width: 100%;
}

.step_flex {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin-top: 8%;
}

.step_flex li:nth-of-type(1) {
  width: 16%;
  z-index: 100;
}

.step_flex li:nth-of-type(2) {
  width: 80%;
}

.step_ttl {
  font-size: 4cqw;
  font-weight: bold;
  padding-bottom: 4%;
}

.step_tx {
  line-height: 1.9em;
  font-size: 3.4cqw;
  font-weight: 500;
  padding-bottom: 7%;
}

.step_tx2 {
  line-height: 1.85em;
  font-size: 3.6cqw;
  font-weight: 500;
  padding: 10% 0 5%;
}

.step_img {
  width: 85%;
}

.step_img img {
  width: 100%;
}

.download {
  width: 92%;
  margin: 8% auto 0;
  background-color: #fff;
  border: 1px solid #0090d5;
  border-radius: 5px;
}

.download_ttl {
  font-size: 3.8cqw;
  font-weight: 500;
}

.logo {
  display: block;
  width: 78%;
  margin: 5% auto;
}

.mile_btn {
  text-align: center;
  position: relative;
}

.mile_btn a {
  text-decoration: none;
  display: inline-block;
  padding: 3.4% 5.7% 4% 3%;
  background-color: #0090d5;
  color: #fff;
  font-size: 4.5cqw;
  font-weight: bold;
  border-radius: 1000px;
  width: 78%;
  margin: 0 auto;
}

.sankaku_5 {
  position: absolute;
  width: 5.2cqw;
  right: 11.5cqw;
  top: 0;
  bottom: 0;
  margin: auto;
}

.mile_tx {
  font-size: 3.4cqw;
  font-weight: 500;
  text-align: center;
  line-height: 1.75em;
  letter-spacing: 0.03em;
  margin: 8.5% 0 5%;
}

.download_flex {
  width: 90%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  padding: 0 0 5%;
  margin: 0 auto;
}

.download_ttl {
  font-size: 3.8cqw;
  text-align: center;
  font-weight: 500;
  background-color: #0090d5;
  padding: 2.2% 0 3%;
  line-height: 1.6em;
  color: #fff;
  border-top-left-radius: 1px;
  border-top-right-radius: 1px;
}

.download_flex li {
  width: 48%;
}

.download_flex li img {
  width: 100%;
}

#used_item {
  margin-top: 8%;
}

.h2_2 {
  font-size: 6.3cqw;
  line-height: 1.25em;
  font-weight: bold;
  text-align: center;
  padding-top: 1.4%;
  padding-bottom: 1.3%;
}

.h2_sen {
  width: 22%;
  margin: 0.5% auto 2.3%;
  border-bottom: #e29096 2px solid;
}


/*スライダー//////////////////////////////////////////////////*/
#wrap .sliderBox_3 {
  width: 100%;
  margin-top: 6.5%;
}

#wrap .sliderBox_3 .contents {
  overflow-x: scroll;
  overflow-y: hidden;
  margin: 0 2% 10%;
}

#wrap .sliderBox_3 #itemSlide {
  width: fit-content;
  display: inline-grid;
  /* grid-template-rows: repeat(2, auto); */
  grid-auto-flow: column;
  overflow: hidden;
  margin-bottom: 6%;
  position: relative;
}

#wrap .sliderBox_3 #itemSlide li {
  width: 170px;
  margin: 0 8px 0 0;
}

/* #wrap .sliderBox_3 #itemSlide li a {
  padding: 2%;
} */

#wrap .sliderBox_3 a {
  text-decoration: none;
}


.itembox_img_slider {
  position: relative;
}

.icon_ranking_slider {
  position: absolute;
  width: 26%;
  top: 0;
  left: 0;
  z-index: 100;
}

.item_img_slider {
  padding: 2%;
}

.detailbox_slider {
  margin: 1% 3% 0;
}

.name_slider {
  font-size: 3.1cqw;
  font-weight: 500;
  line-height: 1.7em;
}



/* 移行区分E：mobile_firstテンプレートのstyle */
.mobile_first_to_page_top {
  display: block;
}