@import 'https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&family=Noto+Serif+JP:wght@700;900&display=swap';
/* https://piccalil.li/blog/a-modern-css-reset/ */
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}
/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}
/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}
/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}
/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}
/* Make images easier to work with */
img,
picture {
  display: block;
  max-width: 100%;
}
/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}
/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 55px;
}
@media screen and (max-width: 767px) {
  html {
    scroll-padding-top: 14.6666666667vw;
  }
}
body {
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-optical-sizing: auto;
  color: #090909;
  background: linear-gradient(270deg, #b1e172 0%, #e4f2d2 39.9%, #e4f2d2 60%, #b1e172 100%);
}
* {
  padding: 0;
  margin: 0;
  font-size: 16px;
  line-height: 1;
}
ul li {
  list-style: none;
}
img {
  display: inline;
  height: auto;
}
.mainContents {
  width: 375px;
  padding-top: 55px;
  margin: 0 auto;
  container-type: inline-size;
  background: #a0d35e;
}
@media screen and (max-width: 767px) {
  .mainContents {
    width: 100%;
    padding-top: 14.6666666667vw;
    box-shadow: none;
  }
}
.onlyPc {
  display: block;
}
@media screen and (max-width: 767px) {
  .onlyPc {
    display: none;
  }
}
.onlySp {
  display: none;
}
@media screen and (max-width: 767px) {
  .onlySp {
    display: block;
  }
}
.pcHeader {
  position: fixed;
  inset-inline: 0;
  top: 0;
  z-index: 300;
  display: block;
  width: 375px;
  margin: 0 auto;
}
.pcHeader__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 55px;
  padding: 8px 12px;
  background-color: #fff;
}
.pcHeader__left {
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  inline-size: calc(50% - 187.5px);
  block-size: 100vh;
}
@media screen and (max-width: 767px) {
  .pcHeader__left {
    display: none;
  }
}
.pcHeader__leftBg {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.pcHeader__leftBgImg {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.pcHeader__leftContents {
  position: absolute;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 453px;
  padding: 2.578125vw 2.65625vw 1.25vw;
}
@media screen and (width >= 1280px) {
  .pcHeader__leftContents {
    padding: 33px 34px 16px;
  }
}
.pcHeader__nav {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.25vw;
  align-items: center;
  width: 100%;
  max-width: 27.1875vw;
  padding: 1.875vw;
  background-color: #fff;
  border-radius: 16px;
}
@media screen and (width >= 1280px) {
  .pcHeader__nav {
    gap: 16px;
    max-width: 348px;
    padding: 24px;
  }
}
.pcHeader__navLogo {
  width: 100%;
  max-width: 18.59375vw;
  margin-inline: auto;
}
@media screen and (width >= 1280px) {
  .pcHeader__navLogo {
    max-width: 238px;
  }
}
.pcHeader__right {
  position: fixed;
  top: 0;
  right: 0;
  display: block;
  inline-size: calc(50% - 187.5px);
  block-size: 100vh;
}
@media screen and (max-width: 767px) {
  .pcHeader {
    display: none;
  }
  .pcHeader__right {
    display: none;
  }
}
.pcHeader__rightBg {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.pcHeader__rightBgImg {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.spHeader {
  display: none;
}
@media screen and (max-width: 767px) {
  .spHeader {
    position: fixed;
    inset-inline: 0;
    top: 0;
    z-index: 300;
    display: block;
  }
  .spHeader__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 14.6666666667vw;
    container-type: inline-size;
    background-color: #fff;
  }
  .spHeader__logo {
    display: block;
    width: 69.6cqw;
    margin-left: 3.2cqw;
  }
  .spHeader__menuButton {
    position: relative;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: flex-end;
    width: 13.8666666667cqw;
    height: 13.8666666667cqw;
    padding: 0 3.2cqw 0 0;
    cursor: pointer;
    border: none;
    transition: transform 0.3s ease, background-color 0.3s ease;
  }
  .spHeader__menuButton:active {
    transform: scale(0.95);
  }
  .spHeader__hamburger {
    position: relative;
    display: block;
    width: 7.4666666667cqw;
    height: 0.5333333333cqw;
    background-color: #413e03;
    border-radius: 1px;
    transition: background-color 0.3s ease;
  }
  .spHeader__hamburger::before,
  .spHeader__hamburger::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 0.5333333333cqw;
    content: "";
    background-color: #413e03;
    border-radius: 1px;
    transition: transform 0.3s ease;
  }
  .spHeader__hamburger::before {
    transform: translateY(-2.1333333333cqw);
  }
  .spHeader__hamburger::after {
    transform: translateY(2.1333333333cqw);
  }
  .spHeader.is-open .spHeader__hamburger {
    background-color: transparent;
  }
  .spHeader.is-open .spHeader__hamburger::before {
    transform: translateY(0) rotate(45deg);
  }
  .spHeader.is-open .spHeader__hamburger::after {
    transform: translateY(0) rotate(-45deg);
  }
  .spHeaderMenu {
    position: fixed;
    inset: 0;
    z-index: 290;
    visibility: hidden;
    container-type: inline-size;
    opacity: 0;
    transition: visibility 0.3s, opacity 0.3s ease;
  }
  .spHeader.is-open .spHeaderMenu {
    visibility: visible;
    opacity: 1;
  }
  .spHeaderMenu__overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(62, 62, 62, 0.57);
  }
  .spHeaderMenu__panel {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-height: 100dvh;
    padding: 17.3333333333cqw 8.5333333333cqw 10.6666666667cqw;
    overflow-y: auto;
    background-color: #fff;
    border-radius: 0 0 16px 16px;
    transform: translateY(-100%);
    transition: transform 0.3s ease;
  }
  .spHeader.is-open .spHeaderMenu__panel {
    height: 100svh;
    transform: translateY(0);
  }
  .spHeaderMenu__closeButton {
    position: absolute;
    top: 3.2cqw;
    right: 3.2cqw;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 13.8666666667cqw;
    height: 13.8666666667cqw;
    padding: 0;
    cursor: pointer;
    background-color: #efefef;
    border: none;
    border-radius: 27px;
    transition: transform 0.3s ease;
  }
  .spHeaderMenu__closeButton:active {
    transform: scale(0.95);
  }
  .spHeaderMenu__closeIcon {
    position: relative;
    display: block;
    width: 5.8666666667cqw;
    height: 5.8666666667cqw;
  }
  .spHeaderMenu__closeIcon::before,
  .spHeaderMenu__closeIcon::after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 5.8666666667cqw;
    height: 0.5333333333cqw;
    content: "";
    background-color: #413e03;
    border-radius: 1px;
  }
  .spHeaderMenu__closeIcon::before {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .spHeaderMenu__closeIcon::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  html.isSpMenuOpen {
    overflow: hidden;
  }
}
.menu {
  width: 100%;
}
.menu__title {
  display: flex;
  justify-content: center;
}
.menu__titleImg {
  display: block;
  width: 74px;
  height: 24px;
}
.menu__list {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-top: 12px;
}
.menu__item {
  border-bottom: 3px dotted #00a73c;
}
.menu__item:first-child {
  border-top: 3px dotted #00a73c;
}
.menu__itemLink {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 12px 12px;
  text-decoration: none;
}
@media (hover: hover) {
  .menu__itemLink:hover {
    opacity: 0.5;
  }
}
.menu__itemLabel {
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
  font-weight: 900;
  color: #00a73c;
}
.menu__itemIcon {
  display: block;
  flex-shrink: 0;
  width: 19px;
  height: 19px;
  transform: rotate(90deg);
}
.footer {
  display: flow-root;
  width: 375px;
  margin: 0 auto;
  background-color: #fff;
}
.campaignPagetop {
  position: fixed;
  right: 26px;
  bottom: 22px;
  z-index: 999;
  visibility: hidden;
  width: 68px;
  height: 68px;
  background-image: url("../images/footer/pagetop.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  opacity: 0;
  transition: all 200ms;
}
.campaignPagetop--show {
  visibility: visible;
  opacity: 1;
}
@media (hover: hover) {
  .campaignPagetop:hover {
    background-image: url("../images/footer/pagetop-hover.svg");
  }
}
.common-footer {
  padding: 0;
  text-align: center;
}
.common-footer-link,
.common-footer-logo,
.common-footer-copy p {
  float: none;
}
.common-footer-logo {
  padding: 10px;
  margin: 0 10px;
  border-block-start: 1px dotted #ddd;
}
.common-footer .common-footer-info {
  inline-size: 100%;
  padding: 17px 0;
  margin-block-start: 0;
  background: #f4f4f4;
  border-block-start: 1px solid #e6e6e6;
  box-shadow: 3px 3px 3px #eee inset;
}
.common-footer-link {
  inline-size: 100%;
  max-inline-size: 320px;
  padding-block-start: 0 !important;
  margin: 0 auto;
  line-height: 1.6;
  text-align: start;
}
.common-footer-link li {
  float: none;
  display: inline-block;
  font-size: 12px;
}
.common-footer-link li a {
  color: #4c4c4c;
  text-decoration: none;
}
.common-footer-copy {
  padding: 8px 0;
  margin: 0;
  background: #eaeaea;
  border-block-start: 1px solid #e2e2e2;
}
.commonsocial {
  margin-block-start: 40px;
}
@media screen and (max-width: 767px) {
  .footer {
    width: 100%;
  }
  .campaignPagetop {
    right: 12px;
    bottom: 0;
    z-index: 99;
  }
}
.copyright {
  width: 375px;
  margin: 0 auto;
  container-type: inline-size;
  background-color: #fff;
}
.copyright__text {
  padding-top: 8.5333333333cqw;
  font-size: 3.2cqw;
  line-height: 1;
  text-align: center;
}
.copyright__credit {
  font-size: 3.2cqw;
  font-weight: 500;
  line-height: 1;
  color: #1c2850;
}
@media screen and (max-width: 767px) {
  .copyright {
    width: 100%;
  }
}
.cvBtn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 17.0666666667cqw;
  padding: 5.3333333333cqw 0;
  font-size: 5.8666666667cqw;
  font-weight: 600;
  color: #fff;
  text-align: center;
  letter-spacing: 0.02em;
  text-decoration: none;
  cursor: pointer;
  background-color: #ccc;
  border-radius: 40px;
}
@media (hover: hover) {
  .cvBtn:hover {
    background-color: #ddd;
  }
}
@media screen and (max-width: 767px) {
  .cvBtn {
    width: 100%;
    height: 17.0666666667cqw;
    font-size: 4.8cqw;
  }
}
.cvBtn::after {
  position: absolute;
  top: 50%;
  right: 6.4cqw;
  display: block;
  width: 5.3333333333cqw;
  height: 5.3333333333cqw;
  content: "";
  background-image: url("../images/cvBtn/arrow-cvBtn.png");
  background-repeat: no-repeat;
  background-size: 100% auto;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .cvBtn {
    height: 14.9333333333cqw;
    padding: 5.3333333333cqw 0;
    font-size: 5.8666666667cqw;
    border-radius: 10.6666666667cqw;
  }
  .cvBtn::after {
    right: 6.4cqw;
    width: 5.3333333333cqw;
    height: 5.3333333333cqw;
  }
}
.cvBtn--red,
.cvBtn--redOutline {
  height: 14.9333333333cqw;
  padding: 0;
  font-size: 5.3333333333cqw;
  font-weight: 700;
  letter-spacing: normal;
  border-radius: 999px;
  box-shadow: none;
}
.cvBtn--red {
  background-color: #ac1402;
}
@media (hover: hover) {
  .cvBtn--red:hover {
    background-color: #e46353;
  }
}
.cvBtn--redOutline {
  color: #ac1402;
  background-color: #fff;
  border: 2px solid #ac1402;
}
@media (hover: hover) {
  .cvBtn--redOutline:hover {
    background-color: #fde1e1;
  }
}
.cvBtn--red::after {
  right: 6.4cqw;
  width: 5.3333333333cqw;
  height: 5.3333333333cqw;
}
.cvBtn--blue {
  height: 17.0666666667cqw;
  padding: 0;
  font-size: 5.3333333333cqw;
  font-weight: 700;
  letter-spacing: normal;
  background-color: #1d66a5;
  border: 0;
  border-radius: 100px;
  box-shadow: 0 5px 5px 0 rgba(64, 87, 119, 0.25);
}
@media (hover: hover) {
  .cvBtn--blue:hover {
    background-color: #4f8fc6;
  }
}
.cvBtn--blue::after {
  right: 6.4cqw;
  width: 5.3333333333cqw;
  height: 5.3333333333cqw;
}
.cvBtn--redOutline::after {
  right: calc(7.2533333333cqw - 2px);
  width: 3.6346666667cqw;
  height: 3.6346666667cqw;
  background-image: url("../images/cvBtn/arrow-cvBtn-red.svg");
  background-size: 100% 100%;
  transform: translateY(calc(-50% - 2px)) rotate(-45deg);
}
.cvBtn--green,
.cvBtn--blueOutline {
  height: 14.9333333333cqw;
  padding: 0;
  font-size: 5.3333333333cqw;
  font-weight: 700;
  letter-spacing: normal;
  border-radius: 999px;
  box-shadow: 0 5px 2.5px rgba(65, 65, 65, 0.18);
}
.cvBtn--green {
  background-color: #1da569;
}
@media (hover: hover) {
  .cvBtn--green:hover {
    background-color: rgba(29, 165, 105, 0.7);
  }
}
.cvBtn--blueOutline {
  color: #1d66a5;
  background-color: #fff;
  border: 3px solid #1d66a5;
}
@media (hover: hover) {
  .cvBtn--blueOutline:hover {
    background-color: #fff;
    opacity: 0.7;
  }
}
.cvBtn--green::after,
.cvBtn--blueOutline::after {
  width: 3.6346666667cqw;
  height: 3.6346666667cqw;
  background-size: 100% 100%;
  transform: translateY(-50%) rotate(-135deg);
}
.cvBtn--green::after {
  right: 7.2506666667cqw;
  background-image: url("../images/cvBtn/arrow-cvBtn-white.svg");
}
.cvBtn--blueOutline::after {
  right: calc(7.2506666667cqw - 3px);
  background-image: url("../images/cvBtn/arrow-cvBtn-blue.svg");
}
.faqLink {
  display: flex;
  gap: 1.0666666667cqw;
  align-items: center;
  text-decoration: none;
}
@media (hover: hover) {
  .faqLink:hover {
    opacity: 0.8;
  }
}
.faqLink::after {
  flex-shrink: 0;
  width: 3.1306666667cqw;
  height: 3.1306666667cqw;
  content: "";
  background-repeat: no-repeat;
  background-size: 100% 100%;
  transform: rotate(-45deg);
}
.faqLink__text {
  font-size: 3.7333333333cqw;
  font-weight: 700;
  text-decoration: underline;
}
.faqLink--navy {
  color: #1b296d;
}
.faqLink--navy::after {
  background-image: url("../images/common/faq-arrow-navy.svg");
}
.faqLink--gray {
  color: #202020;
}
.faqLink--gray::after {
  background-image: url("../images/common/faq-arrow-gray.svg");
}
.noteWithMark {
  display: flex;
  align-items: flex-start;
}
.noteWithMark__mark {
  flex-shrink: 0;
  width: 3.2cqw;
  font-size: 3.2cqw;
  line-height: 1.6;
}
.noteWithMark__text {
  flex: 1 0 0;
  min-width: 0;
  font-size: 3.2cqw;
  line-height: 1.6;
}
.riskCategory {
  display: flex;
  flex-shrink: 0;
  gap: 0.2666666667cqw;
  align-items: center;
  justify-content: center;
  padding: 1.0666666667cqw;
  border: 1px solid #1c2850;
}
.riskCategory__text {
  font-size: 3.7333333333cqw;
  line-height: 1;
  color: #1c2850;
}
.riskCategory__num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.7333333333cqw;
  height: 3.7333333333cqw;
  font-size: 3.2cqw;
  line-height: 1;
  color: #1c2850;
  outline: 1px solid #1c2850;
  outline-offset: -1px;
}
.staticContent {
  font-size: 3.7333333333cqw;
  line-height: 1.5714285714;
  word-break: break-all;
  white-space: pre-line;
}
.staticContent__link {
  font-size: 3.7333333333cqw;
  line-height: 1.8333333333;
}
.mv__headItem {
  width: 100%;
  height: auto;
}
.anchorLink__list {
  display: flex;
}
.anchorLink__item {
  position: relative;
  width: 25%;
  height: 17.0666666667cqw;
}
.anchorLink__item:nth-child(odd) {
  background-color: #1b296d;
}
@media (hover: hover) {
  .anchorLink__item:nth-child(odd):hover {
    background-color: #384792;
  }
}
.anchorLink__item:nth-child(even) {
  background-color: #3457c8;
}
@media (hover: hover) {
  .anchorLink__item:nth-child(even):hover {
    background-color: #6e87d7;
  }
}
.anchorLink__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-decoration: none;
}
.anchorLink__link::before {
  position: absolute;
  top: 0.5333333333cqw;
  left: 50%;
  width: 23.9333333333cqw;
  height: 16cqw;
  content: "";
  background-image: url("../images/anchorLink/button-deco.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  transform: translateX(-50%);
}
.anchorLink__link::after {
  position: absolute;
  bottom: 1.0666666667cqw;
  left: 50%;
  width: 2.6666666667cqw;
  height: 2.6666666667cqw;
  content: "";
  background-image: url("../images/anchorLink/button-icon-arrow.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  transform: translateX(-50%);
}
.anchorLink__text {
  font-family: "Noto Serif JP", serif;
  font-size: 3.2cqw;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
  text-align: center;
}
.campaign__course {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12.8cqw;
  align-items: center;
  width: 100%;
  padding: calc(19.2cqw - 10px) calc(6.4cqw - 10px) 0;
  overflow: hidden;
  border: 10px solid;
}
.campaign__course::before, .campaign__course::after {
  position: absolute;
  pointer-events: none;
  content: "";
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.campaign__course::before {
  right: -10px;
  height: 10.6666666667cqw;
}
.campaign__course::after {
  left: -10px;
  width: 33.0666666667cqw;
  height: 17.3333333333cqw;
}
.campaign__course--bufferinPremium {
  background-color: #f4f6ff;
  border-color: #00358c;
}
.campaign__course--bufferinPremium::before {
  top: calc(51.7333333333cqw - 10px);
  width: 26.1333333333cqw;
  background-image: url("../images/campaign/cloud-right-bufferin-premium.svg");
}
.campaign__course--bufferinPremium::after {
  top: calc(8cqw - 10px);
  background-image: url("../images/campaign/cloud-left-bufferin-premium.svg");
}
.campaign__course--bufferin {
  padding-bottom: calc(19.2cqw - 10px);
  background-color: #f4f6ff;
  border-color: #005a94;
}
.campaign__course--bufferin::before {
  top: calc(44cqw - 10px);
  width: 26.1333333333cqw;
  background-image: url("../images/campaign/cloud-right-bufferin.svg");
}
.campaign__course--bufferin::after {
  top: calc(8cqw - 10px);
  background-image: url("../images/campaign/cloud-left-bufferin.svg");
}
.campaign__course--smileTheone {
  background-color: #fff;
  border-color: #231815;
}
.campaign__course--smileTheone::before {
  top: calc(51.7333333333cqw - 10px);
  width: 26.1333333333cqw;
  background-image: url("../images/campaign/cloud-right-smile-theone.svg");
}
.campaign__course--smileTheone::after {
  top: calc(8cqw - 10px);
  background-image: url("../images/campaign/cloud-left-smile-theone.svg");
}
.campaign__course--smileGold {
  padding-bottom: calc(8.5333333333cqw - 10px);
  background-color: #fff;
  border-color: #646055;
}
.campaign__course--smileGold::before {
  top: calc(42.6666666667cqw - 10px);
  width: 21.8666666667cqw;
  background-image: url("../images/campaign/cloud-right-smile-gold.svg");
}
.campaign__course--smileGold::after {
  top: calc(8cqw - 10px);
  width: 33.3333333333cqw;
  background-image: url("../images/campaign/cloud-left-smile-gold.svg");
}
.campaign__course--sukrat {
  background-color: #f3faff;
  border-color: #005f9e;
}
.campaign__course--sukrat::before {
  top: calc(31.2cqw - 10px);
  width: 23.4666666667cqw;
  background-image: url("../images/campaign/cloud-right-sukrat.svg");
}
.campaign__course--sukrat::after {
  top: calc(8cqw - 10px);
  background-image: url("../images/campaign/cloud-left-sukrat.svg");
}
.campaign__course--stoppa {
  padding-top: calc(14.9333333333cqw - 10px);
  background-color: #fffaef;
  border-color: #ff510a;
}
.campaign__course--stoppa::before {
  top: calc(29.0666666667cqw - 10px);
  width: 23.4666666667cqw;
  background-image: url("../images/campaign/cloud-right-stoppa.svg");
}
.campaign__course--stoppa::after {
  top: calc(5.8666666667cqw - 10px);
  background-image: url("../images/campaign/cloud-left-stoppa.svg");
}
.campaign__courseTitle {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.campaign__courseLogo {
  width: calc(100cqw * var(--campaign-course-logo-width) / 375);
  max-width: 100%;
}
.campaign__block {
  display: flex;
  flex-direction: column;
  gap: 8.5333333333cqw;
  align-items: center;
  width: 100%;
}
.campaign__heading {
  width: 100%;
}
.campaign__headingImg {
  display: block;
  width: 100%;
  aspect-ratio: 327/48;
}
.campaign__products {
  display: flex;
  flex-direction: column;
  gap: 4.2666666667cqw;
  align-items: center;
  width: 100%;
}
.campaign__productRow {
  display: grid;
  gap: 2.1333333333cqw 3.2cqw;
  width: 100%;
}
.campaign__productRow--cols1 {
  grid-template-columns: minmax(0, 1fr);
}
.campaign__productRow--cols2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.campaign__productImgCell {
  display: flex;
  align-items: center;
  justify-content: center;
  height: calc(100cqw * var(--campaign-product-box-height) / 375);
}
.campaign__course--sukrat .campaign__productImgCell {
  align-items: flex-end;
}
.campaign__productImg {
  flex-shrink: 0;
  width: calc(100cqw * var(--campaign-product-img-width) / 375);
  max-width: none;
}
.campaign__productDesc {
  display: flex;
  flex-direction: column;
  gap: 1.0666666667cqw;
  align-items: center;
}
.campaign__productName {
  font-size: 3.7333333333cqw;
  font-weight: 700;
  line-height: 1.2;
  color: #1c2850;
  text-align: center;
}
.campaign__productNamePlus {
  font-size: 2.408cqw;
  line-height: 0;
  vertical-align: 0.49em;
}
.campaign__productNote {
  font-size: 3.2cqw;
  line-height: 1.6;
  color: #1c2850;
  text-align: center;
}
.campaign__productSummary {
  display: flex;
  flex-direction: column;
  gap: 1.0666666667cqw;
  align-items: center;
}
.campaign__productEffect {
  font-size: 3.7333333333cqw;
  line-height: 1.6;
  color: #1c2850;
  text-align: center;
}
.campaign__goods {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.campaign__goodsNames {
  display: flex;
  flex-direction: column;
  gap: 1.0666666667cqw;
  align-items: center;
  width: 100%;
}
.campaign__goodsName, .campaign__goodsWinners {
  display: inline-flex;
  align-items: baseline;
  padding-bottom: 1.8666666667cqw;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  line-height: 1;
  color: #1c2850;
  background-image: linear-gradient(transparent 0 calc(100% - 3.2cqw), #f2dc8d calc(100% - 3.2cqw) 100%);
}
.campaign__goodsNamePrefix {
  font-size: 4.8cqw;
}
.campaign__goodsNameMain {
  font-size: 5.8666666667cqw;
}
.campaign__goodsNameMain--withAmount {
  font-size: 5.6cqw;
}
.campaign__goodsNameAmount {
  margin-left: 1.8666666667cqw;
  font-size: 6.4cqw;
}
.campaign__goodsNameUnit {
  font-size: 4.2666666667cqw;
}
.campaign__goodsWinnersCount {
  font-size: 7.4666666667cqw;
}
.campaign__goodsWinnersUnit {
  font-size: 4.2666666667cqw;
}
.campaign__goodsImages {
  display: flex;
  flex-direction: column;
  gap: 10.6666666667cqw;
  width: 100%;
  margin-top: 6.4cqw;
}
.campaign__goodsImageGroup {
  display: flex;
  flex-direction: column;
  gap: 5.3333333333cqw;
  align-items: center;
  width: 100%;
}
.campaign__goodsImageItem {
  display: flex;
  flex-direction: column;
  gap: 2.1333333333cqw;
  align-items: center;
  width: 100%;
}
.campaign__goodsLabel {
  position: relative;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 13.3333333333cqw;
  height: 13.3333333333cqw;
}
.campaign__goodsLabel::before, .campaign__goodsLabel::after {
  position: absolute;
  content: "";
  transform: rotate(45deg);
}
.campaign__goodsLabel::before {
  width: 8.3813333333cqw;
  height: 8.3813333333cqw;
  background-color: #f2dc8d;
}
.campaign__goodsLabel::after {
  width: 9.4293333333cqw;
  height: 9.4293333333cqw;
  border: 0.982px solid #f2dc8d;
}
.campaign__goodsLabelText {
  position: relative;
  font-family: "Noto Serif JP", serif;
  font-size: 5.3333333333cqw;
  font-weight: 700;
  line-height: 1.6;
  color: #1c2850;
}
.campaign__goodsImgWrap {
  display: flex;
  justify-content: center;
  width: 100%;
}
.campaign__goodsImg {
  width: calc(100cqw * var(--campaign-goods-img-width) / 375);
  max-width: 100%;
}
.campaign__goodsCaptions {
  width: 100%;
  margin-top: 2.1333333333cqw;
}
.campaign__course--stoppa .campaign__goodsCaptions {
  width: fit-content;
}
.campaign__goodsCaption {
  font-size: 3.2cqw;
  line-height: 1.6;
  color: #1c2850;
}
.campaign__comment {
  display: flex;
  flex-direction: column;
  gap: 2.1333333333cqw;
  align-self: flex-start;
  width: calc(100% + (6.4cqw - 10px) * 2);
  padding: 6.4cqw calc(6.4cqw - 10px);
  margin-left: calc(-1 * (6.4cqw - 10px));
  overflow: hidden;
}
.campaign__course--bufferinPremium .campaign__comment {
  background-color: #e5eaff;
}
.campaign__course--smileTheone .campaign__comment {
  background-color: #5a5a5a;
}
.campaign__course--sukrat .campaign__comment {
  background-color: #d0e9ff;
}
.campaign__course--stoppa .campaign__comment {
  background-color: #ffecc3;
}
.campaign__commentRow {
  display: flex;
  gap: 2.1333333333cqw;
  align-items: center;
}
.campaign__commentChara {
  flex-shrink: 0;
  width: 24cqw;
  height: 24cqw;
  border-radius: 99px;
}
.campaign__commentBalloon {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  min-width: 0;
  height: 21.3333333333cqw;
  background-color: #fff;
  border-radius: 8px;
}
.campaign__commentText {
  font-family: "Noto Serif JP", serif;
  font-size: 4.8cqw;
  font-weight: 900;
  line-height: 1.5;
  color: #1c2850;
  text-align: center;
}
.brand {
  padding: 0 4.2666666667cqw 14.9333333333cqw;
  background-color: #b1b8c4;
}
.brand__headingImg {
  display: block;
  width: 100%;
  aspect-ratio: 343/48;
}
.brand__list {
  display: flex;
  flex-direction: column;
  gap: 4.2666666667cqw;
  padding-inline: 0.5333333333cqw;
  margin-top: 6.4cqw;
}
.brand__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 17.0666666667cqw;
  background-color: #fff;
  border-radius: 32px;
  transition: opacity 0.5s;
}
@media (hover: hover) {
  .brand__link:hover {
    opacity: 0.8;
  }
}
.brand__link::after {
  position: absolute;
  top: 50%;
  right: 4.8cqw;
  width: 4.2666666667cqw;
  height: 4.2666666667cqw;
  content: "";
  background-image: url("../images/brand/icon-external.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  transform: translateY(-50%);
}
.brand__logo {
  width: auto;
  height: 8.5333333333cqw;
}
.campaignApply {
  padding: 14.9333333333cqw 4.2666666667cqw;
  background-color: #1d66a5;
}
.campaignApply__headImg {
  display: block;
  width: 100%;
  aspect-ratio: 343/48;
}
.campaignApply__caution {
  margin-top: 6.4cqw;
}
.campaignApply__cards {
  display: flex;
  flex-direction: column;
  width: calc(100% + 0.5333333333cqw);
  margin-top: 6.4cqw;
  margin-left: -0.2666666667cqw;
}
.applyCaution {
  height: 66.1333333333cqw;
  padding: 6.4cqw 3.2cqw 6.4cqw 5.3333333333cqw;
  background-color: #fff;
}
.applyCaution__inner {
  display: flex;
  flex-direction: column;
  gap: 2.1333333333cqw;
  height: 100%;
  padding-right: 5.3333333333cqw;
  overflow-y: auto;
}
.applyCaution__inner::-webkit-scrollbar {
  width: 3.2cqw;
}
.applyCaution__inner::-webkit-scrollbar-track {
  background-color: transparent;
}
.applyCaution__inner::-webkit-scrollbar-thumb {
  background-color: #d9d9d9;
  border-radius: 100px;
}
.applyCaution__head {
  font-size: 4.2666666667cqw;
  font-weight: 700;
  line-height: 1.6;
  color: #c30003;
  text-align: center;
}
.applyCaution__body {
  font-size: 3.7333333333cqw;
  line-height: 1.6;
  color: #202020;
  white-space: pre-line;
}
.applyStartNotice {
  padding: 8.5333333333cqw 4.2666666667cqw;
  background-color: #fff;
}
.applyStartNotice__text {
  font-size: 4.2666666667cqw;
  font-weight: 700;
  line-height: 1.6;
  color: #c30003;
  text-align: center;
  white-space: pre-line;
}
.applyLidea {
  display: flex;
  flex-direction: column;
  gap: 8.5333333333cqw;
  padding: 8.5333333333cqw 4.2666666667cqw;
  background-color: #fff;
}
.applyLidea__contents {
  display: flex;
  flex-direction: column;
  gap: 4.2666666667cqw;
  align-items: center;
}
.applyLidea__badgeImg {
  display: block;
  width: 68.5333333333cqw;
  height: 8cqw;
}
.applyLidea__leadImg {
  display: block;
  width: 60.8cqw;
  height: 18.1333333333cqw;
}
.applyLidea__actions {
  display: flex;
  flex-direction: column;
  gap: 8.5333333333cqw;
}
.applyLidea__action {
  display: flex;
  flex-direction: column;
  gap: 1.0666666667cqw;
}
.applyLidea__actionHead {
  font-size: 4.2666666667cqw;
  font-weight: 700;
  line-height: 1.6;
  color: #202020;
  text-align: center;
}
.applyGuest {
  display: flex;
  flex-direction: column;
  gap: 4.2666666667cqw;
  padding: 8.5333333333cqw 4.2666666667cqw;
  background-color: #dcefe9;
}
.applyGuest__head {
  font-size: 5.3333333333cqw;
  font-weight: 700;
  color: #202020;
  text-align: center;
}
.applyGuest__lead {
  font-size: 3.7333333333cqw;
  line-height: 1.6;
  color: #202020;
  text-align: center;
}
.applyGuest__input {
  height: 12.8cqw;
  padding: 3.4666666667cqw 0;
  font-size: 3.7333333333cqw;
  color: #202020;
  text-align: center;
  background-color: #fff;
  border: 1px solid #848484;
  border-radius: 4px;
}
.applyGuest__input::placeholder {
  font-size: 3.7333333333cqw;
  color: #b0b0b0;
}
.applyGuest__note {
  font-size: 3.2cqw;
  line-height: 1.6;
  color: #202020;
}
.applyBenefit {
  display: flex;
  flex-direction: column;
  gap: 5.3333333333cqw;
  padding: 8.5333333333cqw 4.2666666667cqw;
  background-color: #f4faf8;
}
.applyBenefit__ttlImg {
  display: block;
  width: 100%;
  aspect-ratio: 313/26;
}
.applyBenefit__points {
  display: flex;
  gap: 2.1333333333cqw;
}
.applyBenefit__pointImg {
  display: block;
  flex: 1 0 0;
  aspect-ratio: 152.5/137;
  border-radius: 6px;
}
.applyBenefit__btn {
  width: 51.7333333333cqw;
  margin-inline: auto;
}
@media (hover: hover) {
  .applyBenefit__btn:hover {
    opacity: 0.7;
  }
}
.applyBenefit__btnImg {
  display: block;
  width: 51.7333333333cqw;
  height: 10.6666666667cqw;
  border-radius: 20px;
}
.applyMethod {
  padding: 14.9333333333cqw 4.2666666667cqw 12.8cqw;
  background-color: #fff;
}
.applyMethod__headImg {
  display: block;
  width: 100%;
  aspect-ratio: 343/48;
}
.applyMethod__steps {
  margin-top: 8.5333333333cqw;
  list-style: none;
}
.applyMethod__step {
  height: 36.8cqw;
  padding-bottom: 5.3333333333cqw;
  background-image: repeating-linear-gradient(to right, #1da569 0 2px, transparent 2px 4px);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 2px;
}
.applyMethod__step:not(:first-child) {
  margin-top: 5.3333333333cqw;
}
.applyMethod__stepImg {
  display: block;
  width: auto;
  height: 31.4666666667cqw;
  margin-inline: auto;
}
.applyMethod__notes {
  padding-bottom: 6.4cqw;
  margin-top: 5.3333333333cqw;
  background-image: linear-gradient(#b0b0b0, #b0b0b0);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 1px;
}
.applyMethod__note, .applyMethod__uploadNote {
  position: relative;
  margin-left: 4.8cqw;
  font-size: 3.2cqw;
  line-height: 1.6;
  color: #202020;
  list-style: none;
}
.applyMethod__note::before, .applyMethod__uploadNote::before {
  position: absolute;
  top: 2.1333333333cqw;
  left: -2.9333333333cqw;
  width: 0.8cqw;
  height: 0.8cqw;
  content: "";
  background-color: #202020;
  border-radius: 50%;
}
.applyMethod__upload {
  margin-top: 6.4cqw;
}
.applyMethod__uploadHead {
  width: 79.2cqw;
  margin-inline: auto;
  font-size: 4.2666666667cqw;
  font-weight: 700;
  line-height: 1.6;
  color: #1da569;
  text-align: center;
}
.applyMethod__uploadNotes {
  margin-top: 2.1333333333cqw;
}
.applyMethod__faqLink {
  width: fit-content;
  margin-inline: auto;
  margin-top: 4.2666666667cqw;
}
.applicationNotes {
  display: flex;
  flex-direction: column;
  gap: 6.4cqw;
  padding: 0 4.2666666667cqw 14.9333333333cqw;
  background-color: #fff;
}
.applicationNotes__headImg {
  display: block;
  width: 100%;
  aspect-ratio: 343/48;
}
.applicationNotes__scrollBox {
  padding: 6.4cqw 3.2cqw 6.4cqw 5.3333333333cqw;
  background-color: #fff;
  border: 2px solid #b0b0b0;
}
.applicationNotes__scrollArea {
  height: 53.3333333333cqw;
  overflow-y: auto;
  scrollbar-gutter: stable;
}
.applicationNotes__scrollArea::-webkit-scrollbar {
  width: 3.2cqw;
}
.applicationNotes__scrollArea::-webkit-scrollbar-thumb {
  background-color: #d9d9d9;
  border-radius: 100px;
}
.applicationNotes__scrollHead {
  font-size: 4.2666666667cqw;
  font-weight: 700;
  line-height: 1.6;
  color: #c30003;
  text-align: center;
}
.applicationNotes__scrollBody {
  margin-top: 2.1333333333cqw;
  font-size: 3.7333333333cqw;
  line-height: 1.6;
  color: #202020;
  white-space: pre-line;
}
.applicationNotes__case {
  display: flex;
  flex-direction: column;
  gap: 4.2666666667cqw;
  align-items: center;
  padding: 6.4cqw 4.2666666667cqw;
}
.applicationNotes__case--ok {
  background-color: #f6faff;
}
.applicationNotes__case--ng {
  background-color: #fff2f2;
}
.applicationNotes__caseTitleArea {
  display: flex;
  gap: 3.2cqw;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.applicationNotes__caseIcon {
  display: block;
  flex-shrink: 0;
  width: 13.3333333333cqw;
  height: 13.3333333333cqw;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.applicationNotes__caseIcon--ok {
  background-image: url("../images/applicationNotes/icon-ok.svg");
}
.applicationNotes__caseIcon--ng {
  background-image: url("../images/applicationNotes/icon-ng.svg");
}
.applicationNotes__caseTitleTexts {
  display: flex;
  flex-direction: column;
  gap: 1.0666666667cqw;
  align-items: center;
}
.applicationNotes__caseTitle {
  display: flex;
  align-items: baseline;
  font-weight: 700;
  color: #1da569;
  white-space: nowrap;
}
.applicationNotes__caseTitleSmall {
  font-size: 4.2666666667cqw;
  line-height: 1.6;
}
.applicationNotes__caseTitleLarge {
  font-size: 5.3333333333cqw;
  line-height: 1.6;
  background: linear-gradient(transparent 68.75%, #fff600 68.75%);
}
.applicationNotes__caseSubTitle {
  font-size: 3.4666666667cqw;
  font-weight: 700;
  line-height: 1.6;
  color: #1da569;
  text-align: center;
}
.applicationNotes__pattern {
  display: flex;
  flex-direction: column;
  gap: 3.2cqw;
  align-items: center;
  width: 100%;
}
.applicationNotes__card {
  display: flex;
  flex-direction: column;
  gap: 4.2666666667cqw;
  align-items: center;
  width: 100%;
  padding: 4.2666666667cqw 2.1333333333cqw;
  background-color: #fff;
}
.applicationNotes__cardHeadings {
  display: flex;
  flex-direction: column;
  gap: 1.0666666667cqw;
  align-items: center;
}
.applicationNotes__cardHeading {
  padding-bottom: 1.0666666667cqw;
  font-size: 3.7333333333cqw;
  font-weight: 700;
  line-height: 1.6;
  color: #202020;
  text-align: center;
  border-bottom: 1px dashed #202020;
}
.applicationNotes__cardBody {
  display: flex;
  gap: 2.6666666667cqw;
  align-items: center;
  width: 100%;
}
.applicationNotes__cardText {
  flex: 1 0 0;
  min-width: 0;
  font-size: 2.9333333333cqw;
  line-height: 1.6;
  color: #202020;
}
.applicationNotes__receipt {
  position: relative;
  display: block;
  flex-shrink: 0;
  width: 12.2666666667cqw;
  height: 22.9333333333cqw;
  background-image: url("../images/applicationNotes/receipt-lines.svg"), url("../images/applicationNotes/receipt.svg");
  background-repeat: no-repeat;
  background-position: 2.4cqw 7.7333333333cqw, 0 0;
  background-size: 7.4666666667cqw 10.6666666667cqw, 12.2666666667cqw 22.9333333333cqw;
}
.applicationNotes__receiptLabel {
  position: absolute;
  top: 3.4666666667cqw;
  left: 2.4cqw;
  width: 6.9333333333cqw;
  font-size: 1.0666666667cqw;
  font-weight: 700;
  color: #555;
}
.applicationNotes__phone {
  display: block;
  flex-shrink: 0;
  width: 12.2666666667cqw;
  height: 23.4666666667cqw;
  background-repeat: no-repeat;
}
.applicationNotes__phone--ok {
  background-image: url("../images/applicationNotes/badge-ok.svg"), url("../images/applicationNotes/phone-screen.png");
  background-position: 0 0, 1.3333333333cqw 1.8666666667cqw;
  background-size: 5.6cqw 5.6cqw, 10.9333333333cqw 21.6cqw;
}
.applicationNotes__phone--ng {
  background-image: url("../images/applicationNotes/badge-ng.svg"), url("../images/applicationNotes/phone-screen.png");
  background-position: 0 0, 1.3333333333cqw 1.8666666667cqw;
  background-size: 5.0666666667cqw 5.0666666667cqw, 10.9333333333cqw 21.6cqw;
}
.applicationNotes__arrow {
  display: block;
  flex-shrink: 0;
  width: 13.0666666667cqw;
  aspect-ratio: 49.195/23.3658;
  background-image: url("../images/applicationNotes/arrow-down.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.applicationNotes__patternNotes {
  width: 100%;
}
.applicationNotes__patternNote {
  color: #f00;
}
.applicationNotes__plus {
  font-size: 0.645em;
  line-height: 0;
  vertical-align: 0.55em;
}
.applicationNotes__emphasis {
  font-size: inherit;
  font-weight: 700;
  line-height: inherit;
  color: #ea5532;
}
.faq {
  padding: 10.6666666667cqw 0 0;
  background-color: #f4faf8;
}
.faq__inner {
  padding: 0 4.2666666667cqw 10.6666666667cqw;
}
.faq__headImg {
  display: block;
  width: 100%;
  aspect-ratio: 343/48;
}
.faqCassettes {
  display: flex;
  flex-direction: column;
  gap: 2.1333333333cqw;
  margin-top: 6.4cqw;
}
.faqCassettes__item--hidden {
  display: none;
}
.faqCassettes__details {
  background-color: #fff;
}
.faqCassettes__question {
  display: flex;
  gap: 2.1333333333cqw;
  align-items: center;
  min-height: 21.3333333333cqw;
  padding: 4.2666666667cqw 2.1333333333cqw;
  cursor: pointer;
}
.faqCassettes__question::-webkit-details-marker {
  display: none;
}
.faqCassettes__badge {
  flex-shrink: 0;
  width: 8.5333333333cqw;
  height: 8.5333333333cqw;
}
.faqCassettes__questionText {
  flex: 1;
  min-width: 0;
  font-size: 4.2666666667cqw;
  font-weight: 700;
  line-height: 1.6;
  color: #202020;
  white-space: pre-line;
}
.faqCassettes__icon {
  position: relative;
  flex-shrink: 0;
  width: 6.4cqw;
  height: 6.4cqw;
}
.faqCassettes__icon::before, .faqCassettes__icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: "";
  background-color: #1d66a5;
  border-radius: 1.5px;
  transform: translate(-50%, -50%);
}
.faqCassettes__icon::before {
  width: 4.5333333333cqw;
  height: 0.8cqw;
}
.faqCassettes__icon::after {
  width: 0.8cqw;
  height: 4.5333333333cqw;
}
.faqCassettes__details[open] .faqCassettes__icon::after {
  opacity: 0;
}
.faqCassettes__answer {
  display: flex;
  gap: 2.1333333333cqw;
  align-items: center;
  padding: 4.2666666667cqw 2.1333333333cqw;
  border-top: 1px solid #f4faf8;
}
.faqCassettes__fragment {
  min-width: 0;
  font-size: 4.2666666667cqw;
  font-weight: 400;
  line-height: 1.6;
  color: #202020;
  white-space: pre-line;
}
.faqMore {
  margin-top: 6.4cqw;
}
.faqMore__label {
  font-size: 5.3333333333cqw;
}
.faqMore[data-faq-expanded=true]::after {
  transform: translateY(-50%) rotate(180deg);
}
.faqTerms {
  padding: 10.6666666667cqw 4.2666666667cqw;
  background-color: #1d66a5;
}
.faqTerms__inner {
  display: flex;
  flex-direction: column;
  gap: 6.4cqw;
}
.faqTerms__headImg {
  display: block;
  width: 100%;
  aspect-ratio: 343/48;
}
.onpackGift {
  padding: 10.6666666667cqw 4.2666666667cqw;
  background-color: #52d6aa;
}
.onpackGift__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.onpackGift__head {
  width: 100%;
}
.onpackGift__headImg {
  display: block;
  width: 100%;
  aspect-ratio: 343/66;
  margin-inline: auto;
}
.onpackGift__images {
  display: flex;
  gap: 4.344cqw;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 3.2cqw 2.1333333333cqw;
  margin-top: 6.4cqw;
  background-color: #fff;
}
.onpackGift__variations {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  gap: 2.1333333333cqw;
  width: 24cqw;
}
.onpackGift__variationBtn {
  display: block;
  width: 24cqw;
  aspect-ratio: 220/190.3;
  padding: 0;
  cursor: pointer;
  background: none;
  border: none;
  transition: opacity 0.2s;
}
.onpackGift__variationBtn[data-onpack-gift-selected=true] {
  opacity: 0.7;
}
@media (hover: hover) {
  .onpackGift__variationBtn:not([data-onpack-gift-selected=true]):hover {
    opacity: 0.85;
  }
}
.onpackGift__variationImg {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.onpackGift__mains {
  display: flex;
  flex: 0 0 58.856cqw;
  flex-direction: column;
  gap: 5.6cqw;
  align-items: center;
}
.onpackGift__main {
  display: flex;
  flex-direction: column;
  gap: 1.0666666667cqw;
  align-items: center;
  width: 100%;
}
.onpackGift__mainLabel {
  font-size: 3.2cqw;
  font-weight: 700;
  line-height: 1.6;
  color: #202020;
}
.onpackGift__mainFrame {
  position: relative;
  width: 58.6666666667cqw;
  aspect-ratio: 220/190.3;
}
.onpackGift__mainImg {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0;
  transition: opacity 0.2s;
}
.onpackGift__mainImg--current {
  opacity: 1;
}
.onpackGift__sizeInfo {
  width: 100%;
  margin-top: 2.1333333333cqw;
}
.onpackGift__size {
  font-size: 3.2cqw;
  line-height: 1.6;
  color: #202020;
}
.onpackGift__note {
  color: #202020;
}
.onpackGift__noteText {
  flex: 0 0 78.4cqw;
}
.openCampaign {
  padding: 10.6666666667cqw 0;
  background-color: #8aa1cb;
}
.openCampaign__inner {
  display: flex;
  flex-direction: column;
}
.openCampaign__titleImg {
  width: calc(100% - 8.5333333333cqw);
  height: auto;
  margin-inline: auto;
}
.openCampaign__headImg {
  display: block;
  width: 100%;
  height: auto;
}
.openCampaign__prizes {
  display: flex;
  flex-direction: column;
  gap: 6.4cqw;
  width: calc(100% - 8.5333333333cqw);
  margin-inline: auto;
  margin-top: 6.4cqw;
}
.openCampaign__howto {
  display: flex;
  flex-direction: column;
  gap: 6.4cqw;
  width: calc(100% - 8cqw);
  margin-inline: auto;
  margin-top: 12.8cqw;
}
.openCampaign__terms {
  display: flex;
  flex-direction: column;
  gap: 6.4cqw;
  width: calc(100% - 8cqw);
  margin-inline: auto;
  margin-top: 8.5333333333cqw;
}
.openCampaign__prizeList {
  display: flex;
  flex-direction: column;
  gap: 4.2666666667cqw;
}
.openCampaign__prizeHead {
  display: flex;
  flex-direction: column;
  gap: 2.1333333333cqw;
  align-items: center;
  padding: 2.6666666667cqw 0 3.2cqw;
  background-color: #1c2850;
}
.openCampaign__prizeRound {
  display: flex;
  align-items: baseline;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  color: #fff;
}
.openCampaign__prizeRoundLabel {
  font-size: 5.8666666667cqw;
  line-height: 1;
  letter-spacing: 0.1em;
}
.openCampaign__prizeRoundNum {
  font-size: 8.5333333333cqw;
  line-height: 1;
  letter-spacing: 0.1em;
}
.openCampaign__prizePeriod {
  display: flex;
  gap: 2.1333333333cqw;
  align-items: center;
}
.openCampaign__prizePeriodLabel {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 19.7333333333cqw;
  height: 10.1333333333cqw;
  font-family: "Noto Serif JP", serif;
  font-size: 3.7333333333cqw;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  border: 1px solid #fff;
}
.openCampaign__prizePeriodDate {
  display: flex;
  flex-direction: column;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
}
.openCampaign__prizePeriodLine {
  display: flex;
  gap: 1.0666666667cqw;
  align-items: baseline;
}
.openCampaign__prizePeriodGroup {
  display: flex;
  align-items: baseline;
}
.openCampaign__prizePeriodNum {
  font-size: 4.2666666667cqw;
  line-height: 1.4;
}
.openCampaign__prizePeriodUnit {
  font-size: 3.2cqw;
  line-height: 1.4;
}
.openCampaign__prizePeriodTilde {
  font-size: 3.7333333333cqw;
  line-height: 1.4;
}
.openCampaign__prizeBody {
  display: flex;
  flex-direction: column;
  gap: 3.2cqw;
  align-items: center;
  padding: 4.2666666667cqw 2.1333333333cqw;
  background-color: #fff;
}
.openCampaign__prizeName {
  text-align: center;
}
.openCampaign__prizeNameLine {
  display: block;
  font-family: "Noto Serif JP", serif;
  font-size: 6.4cqw;
  font-weight: 700;
  line-height: 1.2;
  color: #1c2850;
}
.openCampaign__prizeSize {
  font-size: 3.2cqw;
  line-height: 1.6;
  color: #1c2850;
  text-align: center;
}
.openCampaign__prizeImages {
  position: relative;
  width: 100%;
}
.openCampaign__prizeImageList {
  display: flex;
  justify-content: center;
}
.openCampaign__prizeImageList--round1 {
  gap: 1.3333333333cqw;
}
.openCampaign__prizeImageList--round2 {
  gap: 1.3333333333cqw;
}
.openCampaign__prizeImageList--round3 {
  flex-direction: column;
  gap: 2.6666666667cqw;
  align-items: center;
}
.openCampaign__prizeImageList--round4 {
  gap: 1.6cqw;
}
.openCampaign__prizeClosed {
  position: absolute;
  top: 50%;
  left: 50%;
  display: none;
  align-items: center;
  justify-content: center;
  height: 11.7333333333cqw;
  padding: 0 4cqw;
  font-family: "Noto Serif JP", serif;
  font-size: 5.6cqw;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  white-space: nowrap;
  background-color: #124a7b;
  transform: translate(-50%, -50%);
}
.openCampaign__prize--closed .openCampaign__prizeImageList {
  opacity: 0.3;
}
.openCampaign__prize--closed .openCampaign__prizeClosed {
  display: flex;
}
.openCampaign__prizeImage {
  width: calc(100cqw * var(--open-campaign-prize-img-width) / 375);
}
.openCampaign__prizeImage--offset {
  margin-top: 13.6cqw;
}
.openCampaign__prizeWinners {
  position: relative;
  display: flex;
  align-items: baseline;
  padding: 0 1.3333333333cqw;
}
.openCampaign__prizeWinners::before {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  height: 3.2cqw;
  content: "";
  background-color: #f8d165;
}
.openCampaign__prizeWinnersNum, .openCampaign__prizeWinnersUnit {
  position: relative;
  z-index: 1;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  line-height: 1;
  color: #1c2850;
}
.openCampaign__prizeWinnersNum {
  font-size: 6.4cqw;
}
.openCampaign__prizeWinnersUnit {
  font-size: 4.2666666667cqw;
}
.openCampaign__steps {
  display: flex;
  flex-direction: column;
  gap: 2.1333333333cqw;
  list-style: none;
}
.openCampaign__step {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.openCampaign__step:not(:last-child)::after {
  display: block;
  width: 6.4cqw;
  height: 4.2666666667cqw;
  margin-top: 2.1333333333cqw;
  content: "";
  background-image: url("../images/openCampaign/arrow-step.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.openCampaign__stepBadge {
  position: relative;
  z-index: 1;
  width: calc(100cqw * var(--open-campaign-step-badge-width) / 375);
}
.openCampaign__stepCard {
  display: flex;
  flex-direction: column;
  gap: 2.1333333333cqw;
  align-items: center;
  width: 100%;
  padding: 6.4cqw 4.2666666667cqw 4.2666666667cqw;
  margin-top: -4.5333333333cqw;
  background-color: #fff;
}
.openCampaign__stepLead {
  text-align: center;
}
.openCampaign__stepLeadLine {
  font-size: 4.8cqw;
  font-weight: 700;
  line-height: 1.6;
  color: #1c2850;
}
.openCampaign__stepBtn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 5.3333333333cqw 4.2666666667cqw;
  text-decoration: none;
  background-color: #fff100;
  border: 2px solid #002053;
  border-radius: 32px;
}
@media (hover: hover) {
  .openCampaign__stepBtn:hover {
    background-color: #fff98e;
  }
}
.openCampaign__stepBtn::after {
  position: absolute;
  top: 50%;
  right: 4.2666666667cqw;
  width: 4.8cqw;
  height: 4.8cqw;
  content: "";
  background-image: url("../images/openCampaign/icon-external.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  transform: translateY(-50%);
}
.openCampaign__stepBtnLabel {
  font-size: 5.3333333333cqw;
  font-weight: 700;
  line-height: 1;
  color: #002053;
}
.openCampaign__stepNotes {
  display: flex;
  flex-direction: column;
  gap: 1.0666666667cqw;
  width: calc(100% - 1.8666666667cqw);
}
.openCampaign__stepNote {
  color: #1c2850;
}
.openCampaign__termsBody {
  padding: 6.4cqw 2.6666666667cqw 6.4cqw 4.2666666667cqw;
  background-color: #fff;
}
.openCampaign__termsArea {
  height: 53.3333333333cqw;
  padding-right: 2.1333333333cqw;
  overflow-y: auto;
  scrollbar-gutter: stable;
}
.openCampaign__termsArea::-webkit-scrollbar {
  width: 1.6cqw;
}
.openCampaign__termsArea::-webkit-scrollbar-thumb {
  background-color: #d9d9d9;
  border-radius: 100px;
}
.openCampaign__termsText {
  font-size: 3.7333333333cqw;
  line-height: 1.6;
  color: #202020;
}
.campaignPeriod {
  position: relative;
  background-color: #fff;
  border: 4px solid #1b296d;
}
.campaignPeriod::before, .campaignPeriod::after, .campaignPeriod__inner::before, .campaignPeriod__inner::after {
  position: absolute;
  width: 13.3333333333cqw;
  height: 13.3333333333cqw;
  content: "";
  background-image: url("../images/campaignPeriod/corner-deco.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.campaignPeriod::before {
  top: calc(2.6666666667cqw - 4px);
  left: calc(2.6666666667cqw - 4px);
}
.campaignPeriod::after {
  top: calc(2.6666666667cqw - 4px);
  right: calc(2.6666666667cqw - 4px);
  transform: scaleX(-1);
}
.campaignPeriod__inner {
  display: flex;
  flex-direction: column;
  gap: 6.4cqw;
  align-items: center;
  padding: calc(10.6666666667cqw - 4px) calc(4.2666666667cqw - 4px);
}
.campaignPeriod__inner::before {
  bottom: calc(2.6666666667cqw - 4px);
  left: calc(2.6666666667cqw - 4px);
  transform: scaleY(-1);
}
.campaignPeriod__inner::after {
  right: calc(2.6666666667cqw - 4px);
  bottom: calc(2.6666666667cqw - 4px);
  transform: scale(-1);
}
.campaignPeriod__mainCopy {
  display: flex;
  flex-direction: column;
  gap: 1.0666666667cqw;
  align-items: center;
}
.campaignPeriod__logo {
  width: 66.6666666667cqw;
  height: auto;
}
.campaignPeriod__copyImg {
  width: 78.1333333333cqw;
  height: auto;
}
.campaignPeriod__schedule {
  display: flex;
  flex-direction: column;
  gap: 2.1333333333cqw;
  width: 100%;
}
.campaignPeriod__scheduleTitle {
  display: flex;
  gap: 1.0666666667cqw;
  align-items: center;
  font-family: "Noto Serif JP", serif;
  font-size: 3.7333333333cqw;
  font-weight: 900;
  color: #1b296d;
  letter-spacing: 0.03em;
}
.campaignPeriod__scheduleTitle::before, .campaignPeriod__scheduleTitle::after {
  flex: 1;
  content: "";
  border-top: 1px solid #1b296d;
}
.campaignPeriod__dates {
  display: flex;
  gap: 8.5333333333cqw;
  align-items: center;
  justify-content: center;
}
.campaignPeriod__date {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.0666666667cqw;
  align-items: flex-start;
}
.campaignPeriod__date + .campaignPeriod__date::before {
  position: absolute;
  top: 50%;
  left: -5.3333333333cqw;
  width: 2.1333333333cqw;
  height: 5.3333333333cqw;
  content: "";
  background-image: url("../images/campaignPeriod/date-arrow.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  transform: translateY(-50%);
}
.campaignPeriod__dateYear {
  font-family: "Noto Serif JP", serif;
  font-size: 4.2666666667cqw;
  font-weight: 700;
  color: #1b296d;
}
.campaignPeriod__dateRow {
  display: flex;
  gap: 0.8cqw;
  align-items: flex-end;
}
.campaignPeriod__dateValue {
  display: flex;
  align-items: baseline;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  color: #1b296d;
  white-space: nowrap;
}
.campaignPeriod__dateNum {
  font-size: 11.7333333333cqw;
}
.campaignPeriod__dateUnit {
  font-size: 5.3333333333cqw;
}
.campaignPeriod__dateWeekday {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 7.4666666667cqw;
  height: 7.4666666667cqw;
  font-family: "Noto Serif JP", serif;
  font-size: 5.3333333333cqw;
  font-weight: 700;
  color: #fff;
  background-color: #1b296d;
  border-radius: 99px;
}
.campaignPeriod__actions {
  display: flex;
  flex-direction: column;
  gap: 4.2666666667cqw;
  align-items: center;
  width: 100%;
}
.campaignPeriod__faqLink {
  height: 4.2666666667cqw;
}
.campaignPeriod__captions {
  width: 100%;
  padding-bottom: 5.3333333333cqw;
  padding-left: 4.8cqw;
}
.campaignPeriod__caption {
  font-size: 3.2cqw;
  line-height: 1.6;
  color: #1b296d;
  list-style: disc;
}
.campaignPeriod__plus {
  font-size: 2.1333333333cqw;
  line-height: 0;
  vertical-align: super;
}
.productIntroduction {
  padding: 14.9333333333cqw 0 12.8cqw;
  background-color: #b1b8c4;
}
.productIntroduction__head {
  width: calc(100% - 8.5333333333cqw);
  margin-inline: auto;
}
.productIntroduction__headImg {
  display: block;
  width: 100%;
  aspect-ratio: 343/48;
}
.productIntroduction__list {
  margin-top: 6.4cqw;
}
.productIntroduction__card {
  display: flex;
  flex-direction: column;
  gap: 6.4cqw;
  align-items: center;
  padding: calc(10.6666666667cqw - 10px) calc(4.2666666667cqw - 10px);
  background-color: #fff;
  border: 10px solid;
}
.productIntroduction__card--bufferin {
  border-color: #00358c;
}
.productIntroduction__card--smile {
  border-color: #231815;
}
.productIntroduction__card--sukrat {
  border-color: #005f9e;
}
.productIntroduction__card--stoppa {
  border-color: #ff510a;
}
.productIntroduction__logo {
  width: auto;
  height: 16cqw;
}
.productIntroduction__productImg {
  width: calc(100cqw * var(--product-introduction-product-img-width) / 375);
}
.productIntroduction__logoBlock {
  display: flex;
  flex-direction: column;
  gap: 4.2666666667cqw;
  align-items: center;
}
.productIntroduction__catch {
  text-align: center;
}
.productIntroduction__catchLine {
  font-size: 4cqw;
  font-weight: 700;
  line-height: 1.6;
  color: #1c2850;
}
.productIntroduction__productBlock {
  display: flex;
  flex-direction: column;
  gap: 4.2666666667cqw;
  align-items: center;
}
.productIntroduction__productBlock--narrowGap {
  gap: 2.1333333333cqw;
}
.productIntroduction__symptoms {
  display: flex;
  width: 87.2cqw;
}
.productIntroduction__symptom {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  height: 8.5333333333cqw;
  padding: 1.0666666667cqw;
  background: linear-gradient(-7.23deg, #ebbd3f 2.7786%, #eabb3a 20.587%, #efc650 32.293%, #f6d46b 66.726%, #ffe790 102.39%);
  border: 1px solid #1c2850;
}
.productIntroduction__symptom:not(:first-child) {
  margin-left: -0.2666666667cqw;
}
.productIntroduction__symptomText {
  font-size: 3.7333333333cqw;
  font-weight: 700;
  line-height: 1;
  color: #1c2850;
}
.productIntroduction__productDesc {
  display: flex;
  flex-direction: column;
  gap: 2.1333333333cqw;
  align-items: center;
}
.productIntroduction__productName {
  font-size: 3.7333333333cqw;
  font-weight: 700;
  line-height: 1.2;
  color: #1c2850;
  text-align: center;
}
.productIntroduction__productName--tallLine {
  line-height: 1.6;
}
.productIntroduction__productNamePlus {
  font-size: 2.408cqw;
  line-height: 0;
  vertical-align: 0.49em;
}
.productIntroduction__effect {
  font-size: 3.2cqw;
  line-height: 1;
  color: #1c2850;
}
.productIntroduction__caution {
  width: 100%;
  color: #1c2850;
}