@charset "SHIFT-JIS";

@import url('https://yakult-t.jp/css/style.css');

* {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
:root {
  --default: #333333;
  --red: #d61138;
  --white: #ffffff;
  --gray50: #ebebeb;
  --gray800: #474747;
  --orange: #e35b3e;
  --yakuruto: #fbf6ec;
  --gold2: #e3b422;
}

html {
  font-size: 62.5%;
  height: 100%;
}

body {
  font-family: 'Noto Sans JP', sans-serif;
  overflow-x: hidden;
  margin: 0;
  position: relative;
  z-index: 1;
  color: var(--default);
}

img {
  width: 100%;
}

a {
  display: block;
  text-decoration: none;
  transition: 0.3s;
}

a:hover {
  transform: scale(0.95);
  cursor: pointer;
}

img {
  width: 100%;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

/* ヘッダー ----------------------------------*/

header {
  position: relative;
  z-index: 2;
}

.header {
  margin: 0 auto;
  background-color: #fff;
}

#header {
  background: transparent;
  overflow-x: hidden;
  padding: 10px 0;
  position: relative;
}

.inner {
  position: static;
  margin: 0 auto;
  max-width: 1000px;
  padding: 0;
  box-sizing: border-box;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 30px;
}

.header_logo {
  width: 114px;
  display: inline-block;
}

/* フッター ------------------------------------*/

#footer {
  position: relative;
  background-color: #fffaf2;
  padding: 10px 0;
  z-index: 2;
  border-top: #c90c1a solid 2px;
}

#footer .logo,
#footer #copyright {
  text-align: center;
  margin: 8px auto;
}

#footer a {
  display: block;
  width: 114px;
  margin: 0 auto;
}

footer {
  position: relative;
  z-index: 4;
}

.container {
  position: relative;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  font-family: 'Noto Sans JP', sans-serif;
  color: var(--default);
  overflow: hidden;
  box-shadow: 0px 5px 30px 0px rgba(0, 0, 0, 0.35);
}

@media screen and (min-width: 767px) {
  .header-inner.is-pc {
    display: flex !important;
  }

  .header-inner.is-sp {
    display: none !important;
  }

  .footer.footer-campaign.is-pc {
    display: block !important;
    margin: 0;
  }

  .footer.footer-campaign.is-sp {
    display: none !important;
  }
}

@media screen and (max-width: 766px) {
  .is-sp {
    display: block !important;
  }

  .header-inner.is-pc {
    display: none !important;
  }

  .header-inner.is-sp {
    display: flex !important;
    padding: 0;
  }

  .footer.footer-campaign.is-pc {
    display: none !important;
  }

  .footer.footer-campaign.is-sp {
    display: block !important;
  }

  .header img,
  .footer img {
    height: 18px;
    width: auto;
  }
}

@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }

  .sp {
    display: block;
  }
}

/* common ---------------------------------------- */
body {
  --width: 750;
  background:
    radial-gradient(rgba(255, 255, 255, 0.2) 15%, transparent 15%) 0 0 / 30px 30px,
    radial-gradient(rgba(255, 255, 255, 0.2) 15%, transparent 15%) 15px 15px / 30px 30px,
    linear-gradient(90deg, #a0ceef 50%, #f7c3ce 50%);
}
section {
  padding-inline: min(calc(40 / var(--width) * 100vw), 40px);
  color: #333;
}
section h2 {
  height: min(calc(90 / var(--width) * 100vw), 90px);
  display: flex;
  justify-content: center;
}
section h2 img {
  height: 100%;
  width: auto;
}

/* bg */
.common-bg {
  background-image: url(/img/usr/free_page/yakult-family-2026/common-bg.jpg);
  background-size: 100%;
  background-repeat: repeat;
}

/* テキスト */
.common-text {
  font-size: min(calc(32 / var(--width) * 100vw), 32px);
  font-weight: bold;
  text-align: center;
  line-height: 1.7;
  margin-top: min(calc(340 / var(--width) * 100vw), 30px);
}
.common-text span {
  color: #e95283;
}

/* ボタン */
.common-button {
  padding-block: min(calc(30 / var(--width) * 100vw), 30px);
  border-radius: min(calc(100 / var(--width) * 100vw), 100px);
  background-color: #e95283;
  color: #fff;
  font-size: min(calc(32 / var(--width) * 100vw), 32px);
  font-weight: bold;
  display: flex;
  justify-content: center;
  border: min(calc(2 / var(--width) * 100vw), 2px) solid #e95283;
  width: fit-content;
  min-width: min(calc(600 / var(--width) * 100vw), 600px);
  position: relative;
  margin-inline: auto;
}
.common-button span {
  position: absolute;
  right: min(calc(32 / var(--width) * 100vw), 32px);
  top: 50%;
  transform: translateY(-50%);
  mask: url(/img/usr/free_page/yakult-family-2026/button-arrow.svg);
  width: min(calc(24 / var(--width) * 100vw), 24px);
  height: min(calc(24 / var(--width) * 100vw), 24px);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  background-color: #fff;
}
.common-button:hover {
  color: #fff;
}

.common-button img {
  width: min(calc(44 / var(--width) * 100vw), 44px);
  position: absolute;
  left: min(calc(70 / var(--width) * 100vw), 70px);
  top: 50%;
  transform: translateY(-50%);
}

.common-button._white {
  background-color: #fff;
  color: #e95283;
}
.common-button._white span {
  background-color: #e95283;
}

/* キャンペーン概要 */
.sec01 {
  padding-block: min(calc(120 / var(--width) * 100vw), 120px) min(calc(100 / var(--width) * 100vw), 100px);
  margin-top: max(calc(-50 / var(--width) * 100vw), -50px);
}

.sec01-note {
  font-size: min(calc(24 / var(--width) * 100vw), 24px);
  padding-inline: min(calc(40 / var(--width) * 100vw), 40px);
  margin-top: min(calc(10 / var(--width) * 100vw), 10px);
}

.sec01-content {
  margin-top: min(calc(30 / var(--width) * 100vw), 30px);
}

.sec01 h2:nth-of-type(2) {
  margin-top: min(calc(80 / var(--width) * 100vw), 80px);
}

.sec01-area {
  font-size: min(calc(28 / var(--width) * 100vw), 28px);
  line-height: 1.7;
  margin-top: min(calc(30 / var(--width) * 100vw), 30px);
}
.sec01-area span {
  margin-top: min(calc(30 / var(--width) * 100vw), 30px);
  font-size: min(calc(24 / var(--width) * 100vw), 24px);
  display: block;
}

/* 対象商品 */
.sec02 {
  padding: min(calc(80 / var(--width) * 100vw), 80px) min(calc(20 / var(--width) * 100vw), 20px) min(calc(150 / var(--width) * 100vw), 150px);
  background-image: url(/img/usr/free_page/yakult-family-2026/sec02-bg.jpg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  position: relative;
}
.sec02-text {
  font-size: min(calc(38 / var(--width) * 100vw), 38px);
  font-weight: bold;
  text-align: center;
  line-height: 1.7;
  margin-top: min(calc(40 / var(--width) * 100vw), 40px);
}
.sec02-text p:nth-of-type(2) {
  color: #e95283;
}
.sec02-text p:nth-of-type(2) span {
  font-size: min(calc(32 / var(--width) * 100vw), 32px);
}
.sec02-text p:nth-of-type(2) span:nth-of-type(2) {
  font-size: min(calc(42 / var(--width) * 100vw), 42px);
}

.sec02-img {
  margin-top: min(calc(40 / var(--width) * 100vw), 40px);
  padding-inline: min(calc(6 / var(--width) * 100vw), 6px);
}

.sec02-wave {
  position: absolute;
  bottom: max(calc(-60 / var(--width) * 100vw), -60px);
  left: 0;
  width: 100%;
}

/* クーポンについて */
.sec03 {
  background-color: #fbf6ec;
  padding-block: min(calc(120 / var(--width) * 100vw), 120px) min(calc(100 / var(--width) * 100vw), 100px);
}

.sec03-note {
  font-size: min(calc(24 / var(--width) * 100vw), 24px);
  line-height: 2;
  margin-top: min(calc(20 / var(--width) * 100vw), 20px);
}
.sec03 h3 {
  width: min(calc(230 / var(--width) * 100vw), 230px);
  margin: 0 auto;
}

.sec03-target {
  margin-top: min(calc(30 / var(--width) * 100vw), 30px);
  padding: min(calc(40 / var(--width) * 100vw), 40px);
  background-color: #a0ceef;
  border-radius: min(calc(8 / var(--width) * 100vw), 8px);
}
.sec03-target p {
  font-size: min(calc(32 / var(--width) * 100vw), 32px);
  text-align: center;
  margin-top: min(calc(10 / var(--width) * 100vw), 10px);
}

.sec03-howto {
  margin-top: min(calc(30 / var(--width) * 100vw), 30px);
  padding: min(calc(36 / var(--width) * 100vw), 36px) min(calc(40 / var(--width) * 100vw), 40px) min(calc(36 / var(--width) * 100vw), 36px) min(calc(16 / var(--width) * 100vw), 16px);
  background-color: #f7c3ce;
  border-radius: min(calc(8 / var(--width) * 100vw), 8px) min(calc(8 / var(--width) * 100vw), 8px) 0 0;
}
.sec03-howto ul {
  display: none;
  position: relative;
  top: max(calc(-30 / var(--width) * 100vw), -30px);
}
.sec03-howto ul li {
  margin-top: min(calc(16 / var(--width) * 100vw), 16px);
}
.sec03-howto ul li:first-of-type {
  margin-top: 0;
}

.sec03-howto-botom {
  background-color: #e95283;
  color: #fff;
  text-align: center;
  padding: min(calc(15 / var(--width) * 100vw), 15px) 0;
  font-size: min(calc(24 / var(--width) * 100vw), 24px);
  border-radius: 0 0 min(calc(8 / var(--width) * 100vw), 8px) min(calc(8 / var(--width) * 100vw), 8px);
  cursor: pointer;
}

.sec03-howto-botom p {
  position: relative;
  width: fit-content;
  margin: 0 auto;
}
.sec03-howto-botom p::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: max(calc(-30 / var(--width) * 100vw), -30px);
  transform: translateY(-63%) rotate(-45deg);
  width: min(calc(10 / var(--width) * 100vw), 10px);
  height: min(calc(10 / var(--width) * 100vw), 10px);
  border: min(calc(3 / var(--width) * 100vw), 3px) solid;
  border-color: transparent transparent #fff #fff;
  transition: transform 0.3s;
}
.sec03-howto-botom._active p::after {
  transform: translateY(-25%) rotate(135deg);
}

.sec03-button {
  margin-top: min(calc(60 / var(--width) * 100vw), 60px);
}

/* おすすめ商品 */
.sec04 {
  padding-block: min(calc(80 / var(--width) * 100vw), 80px) min(calc(60 / var(--width) * 100vw), 60px);
}

.bg_yakult .sec04-button:nth-of-type(2) {
  margin-top: min(calc(32 / var(--width) * 100vw), 32px);
}

.target_box {
  position: relative;
  border-radius: 5px 5px 0 0;
  background-color: #008cd6;
  padding: 5%;
  margin-top: 20px;
}
.target_box::after {
  content: '';
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid #008cd6;
}
.target_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
.target_flex .target_icon {
  width: 25%;
}
.target_flex .target_icon.mb,
.target_flex .target_txt.mb {
  margin-bottom: 3%;
}
.target_flex .target_txt {
  width: 70%;
  color: var(--white);
  font-size: 31px;
  font-weight: bold;
}
.target_flex .target_txt span {
  border-bottom: 1px solid var(--white);
}
.target_flex .target_txt sup {
  font-size: 60%;
  vertical-align: text-top;
}
.target_note {
  width: 100%;
  color: var(--white);
  text-align: center;
  font-size: 20px;
  font-weight: bold;
}
.bg_yakult {
  background-color: #fbf6ec;
  padding: 5%;
}
.bg_yakult .for_you {
  background-color: #58b5e6;
  color: #fff;
  text-align: center;
  border-radius: 5px;
  border: 3px solid var(--white);
  font-size: 31px;
  font-weight: bold;
  margin-bottom: 1%;
}
.target_item {
  background-color: var(--white);
  border-radius: 5px;
  padding: 5%;
  margin-bottom: 3%;
}
.target_item.ptpd {
  padding: 9% 5%;
}
.target_item_name {
  font-size: 39px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 4%;
  line-height: 1.5;
}
.target_item_name span {
  font-size: 25px;
}
.target_item ._img {
  width: 90%;
  margin: 0 auto 5%;
  display: block;
}
.target_item ._img.mb0 {
  margin: 0 auto;
}
.target_item .note {
  width: 90%;
  font-size: 20px;
  margin: 0 auto;
}
.target_item_txt_note {
  color: var(--default);
  font-size: 24px;
  margin-bottom: 3%;
}
.target_item_txt_note.ac {
  text-align: center;
}
.target_item_txt_note span {
  color: var(--red);
  font-size: 24px;
  padding: 2px 10px;
  border: 1px solid var(--red);
}
.target_item_txt {
  font-size: 31px;
  margin-bottom: 3%;
}
.target_item_name sup {
  font-size: 60%;
  vertical-align: text-top;
}

/* 届けてネットとは */
.sec05 {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: bold;
  background-color: var(--red);
  padding: 5%;
  font-size: 31px;
}
.sec05 .what_is {
  background-color: var(--white);
  padding: 5%;
  margin-bottom: 7%;
}
.sec05 .what_is_ttl {
  margin-bottom: 5%;
  height: auto;
  display: block;
}
.sec05 .what_is_lead {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 27px;
  margin-bottom: 5%;
  font-weight: normal;
}
.sec05 .what_is_txt {
  font-family: 'Noto Sans JP', sans-serif;
  color: var(--default);
  font-size: 31px;
  font-weight: bold;
  margin-bottom: 2%;
}
.sec05 .what_is_img_01 {
  margin-bottom: 10%;
}
.sec05 .what_is h3 {
  border-bottom: 2px solid var(--red);
  text-align: center;
  color: var(--red);
  font-weight: bold;
  font-size: 39px;
  margin-bottom: 6%;
  padding-bottom: 1.5%;
}
.merit_list {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
}

.sec05 .ttl {
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 48px;
  margin-bottom: 3%;
  height: auto;
}

/* アコーディオン */
.acc_wrap {
  margin-bottom: 3%;
}
.acc_btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: var(--white);
  padding: 5% 12% 5% 5%;
  border-radius: 40px;
}
.acc_btn:hover {
  cursor: pointer;
}
.acc_btn.open {
  border-radius: 40px 40px 0 0;
}
.acc_btn:after {
  content: '';
  position: absolute;
  right: 5%;
  top: 50%;
  transition: all 0.2s ease-in-out;
  display: block;
  width: 20px;
  height: 20px;
  border-top: solid 5px var(--default);
  border-right: solid 5px var(--default);
  -webkit-transform: translateY(-50%) rotate(135deg);
  transform: translateY(-50%) rotate(135deg);
}
.acc_btn.open:after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  transform: translateY(-50%) rotate(-45deg);
}
.question_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10%;
  line-height: 0;
}
.question_txt {
  width: 87%;
}
.question_txt .note {
  font-size: min(calc(24 / var(--width) * 100vw), 24px);
}

.acc_box._unactive {
  display: none;
}
.acc_box {
  width: 100%;
  padding: 5%;
  background-color: var(--gray50);
  border-radius: 0 0 50px 50px;
}
.acc_box .acc_box_wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.acc_box span {
  color: var(--red);
}
.acc_box a {
  display: inline-block;
  color: var(--red);
}

/* お問い合わせ */
.sec06 {
  padding-block: min(calc(80 / var(--width) * 100vw), 80px);
  background-color: #fbf6ec;
}

.sec06-content {
  margin-top: min(calc(40 / var(--width) * 100vw), 40px);
  padding: min(calc(40 / var(--width) * 100vw), 40px);
  background-color: #fff;
  border-radius: min(calc(8 / var(--width) * 100vw), 8px);
  display: flex;
  flex-direction: column;
  row-gap: min(calc(32 / var(--width) * 100vw), 32px);
}

.sec06-content .common-text {
  margin-top: 0;
}

.sec06-tel {
  display: flex;
  justify-content: center;
  column-gap: min(calc(10 / var(--width) * 100vw), 10px);
  align-items: center;
  font-size: min(calc(72 / var(--width) * 100vw), 72px);
  font-weight: bold;
  color: #008cd6;
}
.sec06-tel span {
  width: min(calc(54 / var(--width) * 100vw), 54px);
}

.sec06-item p {
  font-size: min(calc(32 / var(--width) * 100vw), 32px);
  line-height: 1.5;
  margin-top: min(calc(10 / var(--width) * 100vw), 10px);
}
.sec06-item p:first-of-type {
  font-weight: bold;
  margin-top: 0;
}
.sec06-item a {
  color: #008cd6;
}
.sec06-item a:hover {
  transform: scale(1);
}

.sec06-note {
  font-size: min(calc(24 / var(--width) * 100vw), 24px);
}

/* SP */
@media screen and (max-width: 767px) {
  .container {
    margin: 0 auto -20%;
  }

  /* 今まで */
  .target_flex .target_txt {
    font-size: 4vw;
  }
  .target_note {
    font-size: 3vw;
  }
  .target_box::after {
    content: '';
    position: absolute;
    bottom: -2vw;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 3vw solid transparent;
    border-right: 3vw solid transparent;
    border-top: 3vw solid #008cd6;
  }
  .bg_yakult .for_you {
    font-size: 4vw;
  }
  .target_item_name {
    font-size: 5vw;
  }
  .target_item .note {
    font-size: 2.5vw;
  }
  .target_item_txt_note {
    font-size: 3vw;
    margin-bottom: 4%;
  }
  .target_item_txt_note span {
    font-size: 3vw;
  }
  .target_item_txt {
    font-size: 4vw;
  }
  .target_item_name span {
    font-size: 3vw;
  }
  .sec05 .what_is_lead {
    font-size: 3.5vw;
  }
  .sec05 .what_is_txt {
    font-size: 4vw;
  }
  .sec05 .what_is h3 {
    font-size: 6vw;
  }
  .sec05 .ttl {
    font-size: 6vw;
  }
  .acc_btn {
    font-size: 4vw;
    border-radius: 5vw;
  }
  .acc_btn:after {
    width: 3vw;
    height: 3vw;
    border-top: solid 3px var(--default);
    border-right: solid 3px var(--default);
  }
  .acc_btn.open {
    border-radius: 5vw 5vw 0 0;
  }
  .acc_box {
    font-size: 4vw;
    border-radius: 0 0 5vw 5vw;
  }
}
