@charset "UTF-8";

.fukidashi {
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  background: url(../images/img_cmn_fukidashi_pink.svg) top left no-repeat;
  background-size: contain;
  z-index: 1;
}


/* =====================
  mv
===================== */
.mv {
  width: 100%;
  overflow: hidden;
  background-color: #FEF5F5;
}

.mv_main {
  position: relative;
  /* width: 100%;
  padding-bottom: 100px;
  background: url(../images/bg_mv_sp.png) bottom center no-repeat;
  background-size: cover; */
}

.mv_bgimage {
  position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  z-index: 0;
}

.mv_inner {
  position: relative;
  z-index: 1;
  padding: clamp(100px, calc(100vw / 768 * 142), 142px) 20px 0;
  display: flex;
  align-items: center;
}

.mv_inner::before {
  content: "";
  display: block;
  width: 100vw;
  height: calc(100vw / 768 * 526);
  position: absolute;
  top: 21%;
  right: 0;
  left: 0;
  margin: auto;
  background-color: rgba(255, 255, 255, 0.75);
  z-index: -1;
}

.mv_inner_hush {
  color: #502E2E;
  font-size: calc(100vw / 768 * 27);
  font-weight: 700;
  display: flex;
  gap: 20px;
  justify-content: center;
  position: relative;
}

.mv_inner_hush p {
  z-index: 1;
}

.t-color-pink2 {
  color: #E30663;
}


.mv_inner_underline {
  position: absolute;
  top: 10%;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 0;
  width: calc(100vw / 768 * 608);
  opacity: 0.8;
}

.mv_bg{
  width: 100%;
  height: auto;
}

.mv_title {
  max-width: clamp(300px, calc(100vw / 1440 * 990), 990px);
  margin: 0 auto;
  padding-top: 94px;
}

.mv_inner_title {
  padding-top: calc(100vw / 768 * 81);
  position: relative;
  z-index: 1;
}

.mv_inner_title02 img{
  width: calc(100vw / 768 * 309);
}

.mv_inner_title02 {
  transform: scale(1.05)
}

.mv_inner_title01 {
  transition-delay: 0.2s;
  transform: translate3d(0, 30px, 0)
}

.mv_inner_wrapper {
  width: 100%;
  position: relative;
}

.mv_date {
  position: absolute;
  bottom: calc(100vw / 768 * -120);
  right: 0;
  left: 0;
  margin: auto;
  width: calc(100vw / 768 * 640);
  transition-delay: 0.8s;
  transform: translate3d(0, 30px, 0)
}

.mv_treat_01, .mv_treat_02, .mv_treat_03 {
  position: absolute;
  z-index: 1;
}

.mv_treat_01 {
  top: 8%;
  left: 0%;
  width: calc(100vw / 768 *  112);
  transition-delay: 0.8s;
  transform: translate3d(0, 30px, 0)
}

.mv_treat_02 {
  top: 55%;
  right: 0%;
  width: calc(100vw / 768 *  142);
  transition-delay: 1.2s;
  transform: translate3d(0, 30px, 0)
}

.mv_treat_03 {
  top: 62%;
  left: 0%;
  width: calc(100vw / 768 *  135);
  transition-delay: 1.5s;
  transform: translate3d(0, 30px, 0)
}

@media (min-width: 768px) {
   .mv_inner {
    padding: calc(100vw / 1920 * 163) 60px 0;
  }
  .mv_inner_hush {
    font-size: calc(100vw / 1920 * 36);
    justify-content: flex-start;
    margin-left: calc(100vw / 1920 * 212);
  }
  .mv_inner_title {
    display: flex;
    gap: calc(100vw / 1920 * 20);
    justify-content: center;
    align-items: center;
    padding-top: 0;
    margin-top: calc(100vw / 1920 * -34);
    margin-left: 103px;
  }
  .mv_inner_title02 img{
    width: calc(100vw / 1920 * 675);
  }
  .mv_inner_title01 {
    width: calc(100vw / 1920 * 913);
  }
  .mv_inner_underline {
    width: calc(100vw / 1920 * 820);
    left: calc(100vw / 1920 * -50);
    right: inherit;
  }
  .mv_date {
    bottom: calc(100vw / 1920 * -250);
    width: calc(100vw / 1920 * 832);
  }
  .mv_treat_01 {
    top: 8%;
    left: 3%;
    width: calc(100vw / 1920 *  155);
  }

  .mv_treat_02 {
    top: 67%;
    right: 40%;
    width: calc(100vw / 1920 *  167);
  }

  .mv_treat_03 {
    top: 68%;
    left: -2%;
    width: calc(100vw / 1920 *  238);
  }

  .mv_inner::before {
    width: 80%;
    height: calc(100vw / 1920 * 540);
    position: absolute;
    top: 27%;
    right: inherit;
    left: 0;
    margin: inherit;
  }
}

.mv_intro {
  position: relative;
  width: 100%;
  padding-top: calc(100vw / 768 * 150);
}

.mv_intro_jamday {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(20px, calc(100vw / 1920 * 40), 40px);
  padding-bottom: clamp(40px,calc(100vw / 1920 * 120), 120px);
}

.mv_intro_jamday_img {
  max-width: clamp(60px, calc(100vw / 1920 * 152), 152px);
}

.mv_intro_jamday_text {
  font-size: 18px;
  color: #4F2F2E;
  font-weight: 600;
  margin-top: 20px;
}

.mv_intro_photo {
  max-width: 1674px;
  margin: auto;
  padding: 0 24px calc(100vw / 768 * 53);
}

.mv_intro_txt {
  position: relative;
}

.mv_intro_txt_title {
  max-width: clamp(210px, calc(100vw / 1440 * 610), 610px);
  padding-top: 100px;
  margin-left: 0;
}

.mv_intro_text {
  color: #4F2F2E;
  font-weight: 600;
  font-size: 20px;
  line-height: 1.7;
  text-align: center;
}

.mv_intro_jam {
  display: flex;
  justify-content: center;
  grid-column-gap: 1px;
  padding-top: 44px;
}

.mv_intro_jam_item {
  max-width: clamp(80px, calc(100vw / 1440 * 170), 170px);
}

.mv_intro_bottle {
  background-color: #fff;
  padding: 0 20px 110px;
}

.mv_intro_bottle_img {
  max-width: 1070px;
  margin: auto;
}

.mv_gap_deco {
  width: 100%;
  height: auto;
  margin-top: clamp(-200px, calc(100vw / 1920 * -160), -40px);
}

.mv_intro_bottle_text {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.8;
  text-align: center;
  margin-bottom: 40px;
}

@media (min-width: 480px) {
  .mv_intro_txt_title {
    padding-top: 80px;
    margin-left: 4%;
  }

  .mv_intro_text {
    font-size: 28px;
  }

  .mv_intro_jamday_text {
    font-size: 28px;
    margin-top: 30px;
  }

  .mv_intro_bottle_text {
    font-size: 28px;
    margin-bottom: 60px;
  }
}

@media (min-width: 768px) {
  .mv_main {
    /* padding-bottom: clamp(80px, calc(100vw / 1440 * 140), 140px);
    background: url(../images/bg_mv.png) bottom center no-repeat;
    background-size: cover; */
  }

  .mv_intro_txt_title {
    padding-top: 100px;
    margin-left: 8%;
  }

  .mv_intro_text {
    font-size: 36px;
  }

  .mv_intro_jam {
    padding-top: 120px;
  }

  .mv_intro_photo {
    padding: 0 24px calc(100vw / 1920 * 132);
  }

  .mv_intro_jamday_text {
    font-size: 42px;
    margin-top: 40px;
  }

  .mv_intro_bottle_text {
    font-size: 38px;
    margin-bottom: 70px;
  }

}

@media (min-width: 1180px) {
  .mv_intro_txt_title {
    padding-top: 160px;
    margin-left: 10%;
  }

}

@media (min-width: 1480px) {
  .mv_intro_txt_title {
    margin-left: 6%;
  }
}


/* =====================
  secret
===================== */
.secret {
  position: relative;
  padding-bottom: clamp(80px, calc(100vw / 768 * 170), 250px);
  background: url(../images/secret_bg.webp) top center repeat;
  padding-top: 60px;
}

.secret_comment {
  padding-top: clamp(60px, calc(100vw / 1440 * 120), 120px);
  position: relative;
}

.secret_comment:nth-of-type(even) {
  flex-direction: row-reverse;
}

.secret_comment_txt_box {
  max-width: 100%;
  margin: auto;
  padding: 10px clamp(32px, calc(100vw / 1440 * 56), 56px);
  background: url(../images/bg_secret_comment_middle.svg) top center;
  background-size: contain;
  box-sizing: border-box;
}

.secret_comment_photo {
  z-index: 1;
  width: 100%;
  position: relative;
  z-index: 2;
}

.comment01 .secret_comment_photo {
  margin-top: -150px;
  margin-bottom: 20px;
}

.comment02 .secret_comment_photo {
  margin-top: -40px;
  margin-bottom: -30px;
}

.comment03 .secret_comment_photo {
  margin-top: -40px;
  margin-bottom: -35px;
}

.comment04 .secret_comment_photo {
  margin-top: -20px;
}

.comment05 .secret_comment_photo {
  margin-top: -40px;
  margin-bottom: 10px;
}

.secret_comment_txt_middle_t-box {
  flex: 1;
}

.secret_comment_txt_middle_t-box .t-lead01 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 20px;
}

.secret_comment_txt_middle_t-box .t-lead01::first-letter {
  color: #E30663;
}

.secret_comment_txt_middle_t-box .t-lead02 {
  font-size: 14px;
  font-weight: 600;
  line-height: 2.0;
}

.secret-image.secret-image-odd {
  margin-bottom: 42px;
}

.secret-image.secret-image-even {
  margin-top: 42px;
}

.secret-image-odd {
  transform: rotate(-4deg);
}

.secret-image-even {
  transform: rotate(4deg);
}

.secret_comment_txt {
  max-width: 960px;
  width: 100%;
}

.secret_comment_txt_middle {
  padding: 16px 50px;
  position: relative;
  text-align: left;
}

.secret_comment_txt_middle::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100vw / 768 * 38);
  height: 100%;
  background: url(../images/bg_secret_comment_m-left.svg) top center repeat;
  background-size: 100% auto;
}

.secret_comment_txt_middle::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: calc(100vw / 768 * 38);
  height: 100%;
  background: url(../images/bg_secret_comment_m-right.svg) top center repeat;
  background-size: 100% auto;
}

.container_secret {
  max-width: 1490px;
  width: 100%;
  margin: auto;
  padding: 0 16px;
  box-sizing: border-box;
}

.secret_treat_last {
  width: clamp(140px, calc(100vw / 1920 * 390), 390px);
  position: absolute;
  bottom: -60px;
  right: 10%;
}

@media (min-width: 430px) {
  .secret_comment_txt_box_top {
    background: url(../images/bg_secret_comment_top.svg) top center no-repeat;
    background-size: cover;
  }

  .secret_comment_txt_box_bottom {
    background: url(../images/bg_secret_comment_bottom.svg) bottom center no-repeat;
    background-size: cover;
  }

  .secret_comment_txt_middle {
    padding: 24px 70px;
  }
}

@media (min-width: 768px) {
  .secret {}

  .secret_en {
    top: 80px;
  }

  .secret .cmn_title {
    padding-top: 80px;
  }

  .secret_comment {
    display: flex;
  }

  .secret_comment_txt {
    width: 68%;
  }

  .secret-image {
    width: 47%;
  }

  .secret_comment_photo {
    position: absolute;
    z-index: 1;
  }

  .comment01 .secret_comment_photo {
    right: -5%;
    margin-top: -180px;
    width: clamp(200px, calc(100vw / 1920 * 664), 664px);
  }

  .comment02 .secret_comment_photo {
    left: -5%;
    width: clamp(180px, calc(100vw / 1920 * 580), 580px);
    margin-top: -40px;
  }

  .comment03 .secret_comment_photo {
    right: 0;
    width: clamp(280px, calc(100vw / 1920 * 508), 508px);
    margin-top: -40px;
  }

  .comment04 .secret_comment_photo {
    left: -1%;
    width: clamp(200px, calc(100vw / 1920 * 655), 655px);
    margin-top: -20px;
  }

  .comment05 .secret_comment_photo {
    right: -5%;
    width: clamp(200px, calc(100vw / 1920 * 655), 655px);
    margin-top: -20px;
  }

  .secret_comment_txt_middle_t-box .t-lead01 {
    font-size: 26px;
    margin-bottom: 40px;
  }

  .secret_comment_txt_middle_t-box .t-lead02 {
    font-size: 18px;
  }

  .secret_comment_txt_middle::before {
    width: 5.4%;
  }

  .secret_comment_txt_middle::after {
    width: 5.4%;
  }

  .secret_treat_last {
    bottom: -85px;
  }
}

@media (min-width: 1100px) {
  .secret_comment_txt_middle {
    display: flex;
    gap: 53px;
    padding: 0 100px 0 120px;
    align-items: center;
  }

  .secret-image.secret-image-odd {
    margin-bottom: 0;
  }
  
  .secret-image.secret-image-even {
    margin-top: 0;
  }

}

@media (min-width: 1480px) {
  .comment01 .secret_comment_photo {
    right: 50%;
    margin-top: -250px;
    transform: translateX(clamp(600px, calc(100vw / 1920 * 900), 900px));
  }

  .comment02 .secret_comment_photo {
    left: 50%;
    transform: translateX(clamp(-840px, calc(100vw / 1920 * -840), -840px));
    margin-top: clamp(-60px, calc(100vw / 1440 * -80), -80px);
  }

  .comment03 .secret_comment_photo {
    right: 50%;
    transform: translateX(clamp(700px, calc(100vw / 1920 * 800), 800px));
    margin-top: clamp(-60px, calc(100vw / 1440 * -80), -80px);
  }

  .comment04 .secret_comment_photo {
    left: 50%;
    transform: translateX(clamp(-840px, calc(100vw / 1920 * -800), -840px));
    margin-top: clamp(-60px, calc(100vw / 1440 * -80), -80px);
  }

  .comment05 .secret_comment_photo {
    right: 50%;
    transform: translateX(clamp(800px, calc(100vw / 1920 * 900), 900px));
    margin-top: clamp(-60px, calc(100vw / 1440 * -80), -80px);
  }
}


/* =====================
  campaign
===================== */
.campaign {
  padding-top: clamp(40px, calc(100vw / 1440 * 100), 100px);
}

.campaign_en {
  width: clamp(220px, calc(100vw / 1440 * 654), 654px);
  margin: 0 auto clamp(20px, calc(100vw / 1440 * 40), 40px);
}

.campaign_box {
  padding: clamp(60px, calc(100vw / 1440 * 120), 120px) 0;
}

.campaign_box:nth-last-child(even) {
  background-color: #fbfbfb;
}

.campaign_title {
  position: relative;
  margin-bottom: clamp(20px, calc(100vw / 1440 * 40), 40px);
  padding-bottom: 24px;
  text-align: center;
}

.campaign_title::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  background: url(../images/img_campaign_dot.svg) top center no-repeat;
  background-size: contain;
  width: 50px;
  height: 10px;
}

@media (min-width: 768px) {}




/* =====================
  outline
===================== */
.outline {}

.outline .t-lead {
  text-align: center;
}

.outline .t-lead.underline {
  max-width: clamp(400px, calc(100vw / 1440 * 580), 580px);
  margin: clamp(20px, calc(100vw / 1440 * 40), 40px) auto 0;
  padding-top: 0.2em;
  padding-bottom: 1em;
  line-height: 1.6em;
}

.outline_list {
  max-width: clamp(700px, calc(100vw / 1440 * 820), 820px);
  margin: 8px auto;
  padding: 20px;
  background: #fff;
  text-align: center;
}

.outline_list_title {
  margin-bottom: 12px;
  padding: 8px 12px;
  background-color: #f4f1ee;
  border-radius: 4px;
}

.outline_list ul {
  font-weight: 600;
}

.outline_list ul li + li {
  margin-top: 1em;
}

.outline .t-lead.underline {
  background: url(../images/bg_memo_line01_fix.svg);
  background-size: cover;
}

@media (min-width: 450px) {
  .outline .t-lead.underline {
    line-height: 1.85em;
  }
}

@media (min-width: 768px) {
  .outline .t-lead.underline {
    line-height: 2.12em;
  }
  .outline_list {
    display: flex;
    justify-content: center;
    align-items: center;
    grid-column-gap: 24px;
    padding: 10px;
  }

  .outline_list_title {
    margin-bottom: 0;
  }

  .outline_list ul {
    display: flex;
    align-items: center;
    grid-column-gap: 24px;
  }

  .outline_list ul li + li {
    margin-top: 0;
  }
}




/* =====================
  howtoapply
===================== */
.howtoapply {}

.howtoapply_list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  grid-gap: 72px;
}

.howtoapply_list .item {
  position: relative;
  width: clamp(300px, calc(100vw / 1440 * 340), 340px);
  padding: clamp(32px, calc(100vw / 1440 * 32), 32px) clamp(20px, calc(100vw / 1440 * 20), 20px) clamp(20px, calc(100vw / 1440 * 20), 20px);
  background-color: #fff;
  box-shadow: 4px 4px 10px #ddd;
}

/* 下三角 */
.howtoapply_list .triangle {
  position: absolute;
  left: 50%;
  bottom: -42px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-top: 17px solid #6a3f15;
  border-bottom: 0;
}

.howtoapply_list .item .num {
  max-width: clamp(240px, calc(100vw / 1440 * 240), 240px);
  margin: auto;
  padding-bottom: 12px;
  text-align: center;
  border-bottom: 1px dashed #bfbfbf;
}

.howtoapply_list_title {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 90px;
  text-align: center;
  font-size: clamp(1.7rem, calc(100vw / 1440 * 20), 2rem);
  font-weight: 700;
  line-height: 1.4em;
}

.step01 .link {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: clamp(200px, calc(100vw / 1440 * 240), 240px);
  margin: 12px auto 0;
  padding: 12px;
  color: #fff;
  text-align: center;
  background-color: #6a3f15;
  border: 1px solid #6a3f15;
  border-radius: 100px;
}

.step01 .link:hover {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: clamp(200px, calc(100vw / 1440 * 240), 240px);
  margin: 12px auto 0;
  padding: 12px;
  color: #6a3f15;
  text-align: center;
  background: #fff;
  border: 1px solid #6a3f15;
}

.step01 .link i {
  content: "";
  background: url(../images/icon_instagram_white.svg) center center no-repeat;
  background-size: contain;
  width: 18px;
  height: 18px;
  margin-right: 0.4em;
  transition: 0.5s;
}

.step01 .link:hover i {
  background: url(../images/icon_instagram_brown.svg) center center no-repeat;
  background-size: contain;
}

.step03 .t-lead {
  font-size: clamp(1.7rem, calc(100vw / 1440 * 20), 2.0rem);
  text-align: center;
}

.step03 .t-lead.bg {
  margin: clamp(4px, calc(100vw / 1440 * 8), 8px) 0;
  padding: clamp(10px, calc(100vw / 1440 * 12), 12px);
  background-color: #fff6f7;
}

.step03 .t-lead-bold {
  font-weight: 600;
  font-feature-settings: "palt";
}

@media (min-width: 768px) {
  .howtoapply_list {
    flex-direction: row;
    align-items: stretch;
    grid-gap: 72px;
  }

  /* 右三角 */
  .howtoapply_list .triangle {
    position: absolute;
    bottom: 50%;
    left: initial;
    right: -44px;
    transform: translateX(0);
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 17px solid #6a3f15;
    border-right: 0;
    z-index: 1;
  }

}




/* =====================
  period
===================== */
.period {}

.period_txt {
  font-size: clamp(2.8rem, calc(100vw / 1440 * 28), 2.8rem);
  font-weight: 700;
  text-align: center;
  line-height: 1.2em;
}

.period_txt span {
  font-size: 80%;
}

@media (min-width: 768px) {}




/* =====================
  benefits
===================== */
.benefits {}

.benefits_txt {
  font-size: clamp(2rem, calc(100vw / 1440 * 28), 2.8rem);
  font-weight: 700;
  line-height: 1.4em;
  text-align: center;
}

.benefits_box {
  position: relative;
  max-width: 960px;
  margin: clamp(30px, calc(100vw / 1440 * 60), 60px) auto 0;
  padding: clamp(40px, calc(100vw / 1440 * 80), 80px) clamp(20px, calc(100vw / 1440 * 100), 100px);
  background-color: #fff;
  box-shadow: 4px 4px 10px #ddd;
}

.benefits_box.benefits01 {
  margin-top: clamp(70px, calc(100vw / 1440 * 90), 90px);
}

.benefits_title {
  padding-bottom: clamp(8px, calc(100vw / 1440 * 16), 16px);
  font-size: clamp(1.6rem, calc(100vw / 1440 * 28), 2.8rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4em;
}

.benefits01 .benefits_title {
  padding-top: clamp(4px, calc(100vw / 1440 * 8), 8px);
  text-align: center;
}

.benefits_title02 {
  text-align: center;
}

.benefits01_box_list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  grid-gap: 24px;
  margin-bottom: 20px;
}

.benefits01_box_list .item {
  position: relative;
  /* max-width: clamp(300px, calc(100vw / 1440 * 300), 300px); */
  width: 100%;
  max-width: 300px;
}

.benefits01_box_list .item .wappen {
  position: absolute;
  top: 10px;
  left: 4px;
  display: flex;
  z-index: 1;
}

.benefits01_box_list .item .wappen .wappen_logo {
  width: clamp(60px, calc(100vw / 1440 * 70), 70px);
}

.benefits01_box_list .item .wappen .wappen_txt {
  font-size: clamp(1.3rem, calc(100vw / 1440 * 14), 1.4rem);
  padding-top: clamp(8px, calc(100vw / 1440 * 16), 16px);
  padding-left: 1em;
}

.benefits01_box_list .item .wappen .wappen_txt:hover {
  color: #ef4a5f;
}

.benefits_box_name {
  padding-top: clamp(8px, calc(100vw / 1440 * 16), 16px);
  font-size: clamp(1.6rem, calc(100vw / 1440 * 20), 2rem);
  font-weight: 700;
  line-height: 1.3em;
  text-align: center;
}

.benefits_box_note {
  padding-top: clamp(8px, calc(100vw / 1440 * 16), 16px);
  font-size: clamp(1.4rem, calc(100vw / 1440 * 14), 1.4rem);
  line-height: 1.3em;
}

.benefits01 .benefits_box_note.t-indent {
  text-indent: -1.2em;
  padding-left: 1.1em;
}

.benefits02 .benefits_box_note {
  text-align: center;
}

.benefits01_box_list .cross {
  max-width: clamp(40px, calc(100vw / 1440 * 90), 90px);
  padding-top: 0;
  margin: auto;
}

.benefits02 {}

.benefits02 .benefits_title {
  font-size: clamp(2rem, calc(100vw / 1440 * 32), 3.2rem);
  font-weight: 700;
}

.benefits02 .benefits_title + .t-lead {
  padding-top: clamp(16px, calc(100vw / 1440 * 32), 32px);
}

.benefits02_box_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  grid-gap: 20px;
  padding-top: clamp(24px, calc(100vw / 1440 * 48), 48px);
}

.benefits02_box_list .item {
  position: relative;
  max-width: clamp(130px, calc(100vw / 1440 * 300), 300px);
}

.benefits_box_fukidashi {
  top: -52px;
  left: 1%;
  width: clamp(80px, calc(100vw / 1440 * 130), 130px);
  height: clamp(80px, calc(100vw / 1440 * 130), 130px);
  letter-spacing: 0;
}

.benefits_box_fukidashi_txt01,
.benefits_box_fukidashi_txt02 .benefits_box_fukidashi_txt02_line2 {
  font-size: clamp(1.6rem, calc(100vw / 1440 * 24), 2.4rem);
  text-align: center;
}

.benefits_box_fukidashi_txt02 {
  font-size: clamp(2.4rem, calc(100vw / 1440 * 48), 4.8rem);
  text-align: center;
  display: flex;
  flex-direction: column;
}

.moshikuwa {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  margin: clamp(30px, calc(100vw / 1440* 60), 60px) auto 0;
  background-color: #ded6ce;
  border-radius: 50%;
}

.appendix {
  font-size: 14px;
  text-align: center;
  line-height: 1.5;
}

.benefits_speechbubble {
  background-color: #F5F5F5;
  padding: 24px;
  margin-top: 50px;
  position: relative;
}

.benefits_speechbubble_rectangle {
  position: absolute;
  top: -34px;
  left: 20%;
  width: 40px;
}

@media (min-width: 768px) {
  .benefits01 .benefits_title {
    text-align: left;
  }

  .benefits01_box_list {
    align-items: flex-start;
    margin-bottom: 40px;
  }

  .benefits01_box_list .item {
    width: 50%;
  }

  .benefits01_box_list .item .wappen {
    top: 0;
    left: 4px;
    display: flex;
    z-index: 1;
  }

  .benefits01_box_list .item .wappen .wappen_logo {
    width: clamp(40px, calc(100vw / 1440 * 70), 70px);
  }

  .benefits01_box_list .item .wappen .wappen_txt {
    font-size: clamp(1rem, calc(100vw / 1440 * 14), 1.4rem);
    padding-top: clamp(8px, calc(100vw / 1440 * 16), 16px);
    padding-left: 0.6em;
  }

  .benefits01_box_list {
    flex-direction: row;
  }

  .benefits02 .benefits_title + .t-lead {
    text-align: center;
  }

  .benefits01_box_list .cross {
    padding-bottom: 80px;
  }

  .moshikuwa {
    width: 100px;
    height: 100px;
  }

  .benefits_speechbubble {
    padding: 50px;
    margin-top: 80px;
  }

  .benefits_speechbubble_rectangle {
    position: absolute;
    top: -60px;
    left: 20%;
    width: 70px;
  }

  .appendix {
    font-size: 16px;
  }
}




/* =====================
　summary
=====================*/
.summary {
  padding-bottom: 0;
}

.summary .campaign_title::after {
  display: none;
}

.summary_list {
  max-width: 960px;
  margin: clamp(20px, calc(100vw / 1440* 40), 40px) auto 0;
}

.summary_list:first-of-type {
  margin-top: clamp(16px, calc(100vw / 1440 * 32), 32px);
}

.summary_list_title,
.summary_list_txt {
  font-size: clamp(1.4rem, calc(100vw / 1440 * 16), 1.6rem);
}

.summary_list_title {
  margin-bottom: clamp(12px, calc(100vw / 1440 * 20), 20px);
  padding: 12px;
  color: #fff;
  text-align: center;
  background-color: #6a3f15;
}

.summary_list_txt {
  padding: 0 8px;
  box-sizing: border-box;
}

.summary_list_clause {
  text-align: left;
}

.summary_list_clause .item {
  position: relative;
  margin-top: 0.5em;
  padding-left: 12px;
  line-height: 1.4em;
}

.summary_list_clause .item::before {
  position: absolute;
  top: 0.4em;
  left: 0;
  content: "";
  width: 6px;
  height: 6px;
  background-color: #ded6ce;
  border-radius: 50%;
}

.summary_toiawase {
  max-width: 660px;
  margin: 72px auto;
  padding: 40px 24px 24px;
  text-align: center;
  border: 1px solid #6a3f15;
}

.summary_toiawase_title {}

.summary_toiawase_txt {
  padding-top: 20px;
}

.summary_toiawase_tel {
  display: block;
  padding-top: 12px;
  font-size: clamp(2rem, calc(100vw / 1440 * 28), 2.8rem);
  font-weight: 700;
  color: #6e3c0c;
}

.summary_toiawase_note {
  padding-top: 12px;
  font-size: clamp(1rem, calc(100vw / 1440 * 12), 1.2rem);
  letter-spacing: 0;
}

@media (min-width: 768px) {
  .summary_toiawase_tel {
    pointer-events: none;
  }
}




/* =====================
　sudojam
=====================*/
.sudojam {
  padding: clamp(80px, calc(100vw / 1440 * 160), 160px) clamp(20px, calc(100vw / 1440 * 40), 40px) 0;
  background-color: #fff;
}

.sudojam_title {
  text-align: center;
  line-height: 1.3em;
}

.sudojam_txt {
  padding-top: clamp(20px, calc(100vw / 1440 * 40), 40px);
}

.sudojam_list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  grid-gap: 2%;
  max-width: 1320px;
  margin: clamp(40px, calc(100vw / 1440 * 80), 80px) auto 0;
}

.sudojam_list .item {
  max-width: 32%;
  margin-bottom: 8%;
}

.sudojam_list .item .name {
  padding-top: 16px;
  font-weight: 700;
  line-height: 1.1em;
  text-align: center;
}

.sudojam_list .item .name span {
  font-size: clamp(1.3rem, calc(100vw / 1440 * 16), 1.6rem);
}

@media (min-width: 768px) {
  .sudojam {}

  .sudojam_title {}

  .sudojam_txt {
    text-align: center;
  }

  .sudojam_list {
    grid-gap: 1%;
  }

  .sudojam_list .item {
    max-width: clamp(120px, calc(100vw / 1440 * 170), 170px);
    margin-bottom: 20px;
  }

  .sudojam_list .item .name {
    padding-top: 20px;
  }

  .sudojam_list .item .name span {}
}
