@charset "UTF-8";
/* Scss Document */
/* CSS Document */
/*------------------------------mixin font------------------------------*/
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../font/NotoSansJP-Regular.woff2") format("woff2"), url("../font/NotoSansJP-Regular.woff") format("woff");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../font/NotoSansJP-Bold.woff2") format("woff2"), url("../font/NotoSansJP-Bold.woff") format("woff");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../font/NotoSansJP-Black.woff2") format("woff2"), url("../font/NotoSansJP-Black.woff") format("woff");
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../font/OpenSans-Bold.woff2") format("woff2"), url("../font/OpenSans-Bold.woff") format("woff");
}
@font-face {
  font-family: "Barlow Condensed";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../font/BarlowCondensed-Bold.woff2") format("woff2"), url("../font/BarlowCondensed-Bold.woff") format("woff");
}
@font-face {
  font-family: "Barlow Condensed";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../font/BarlowCondensed-Medium.woff2") format("woff2"), url("../font/BarlowCondensed-Medium.woff") format("woff");
}
/*------------------------------mixin bg------------------------------*/
/*------------------------------mixin flex------------------------------*/
html {
  scroll-behavior: smooth;
  font-size: 0.694444444vw;
  font-feature-settings: "palt";
}
@media only screen and (max-width: 768px) {
  html {
    font-size: 2.56vw;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #222;
  line-height: 1.6;
  counter-reset: benefit_number;
}

picture {
  display: block;
}

img, source {
  width: 100%;
  height: auto;
}

.wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  margin: 0 auto;
  width: 100%;
  overflow: hidden;
}

main {
  flex: 1;
  width: 100%;
  padding: 0 !important;
}

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

.sp-only {
  display: none;
}
@media only screen and (max-width: 768px) {
  .sp-only {
    display: block;
  }
}

.bold {
  font-weight: 700;
}

.open-sans {
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
}

.cormorant-garamond {
  font-family: "Cormorant Garamond", serif;
  font-weight: 700;
}

.blue {
  color: #0056CC;
}

.d-blue {
  color: #002F6F;
}

.orange {
  color: #FF9B14;
}

.yellow {
  color: #FFF717;
}

.box {
  display: none;
}

.pc_flex {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 768px) {
  .pc_flex {
    flex-direction: column;
  }
}

/*------------------------------mixin bg------------------------------*/
/*------------------------------mixin flex------------------------------*/
.font-en {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.number {
  line-height: 1;
}

.strong {
  font-weight: 600;
}

.section_title {
  font-size: 5rem;
  text-align: center;
  font-weight: bold;
  margin-bottom: 4rem;
  line-height: 1.3;
  color: #002F6F;
}
@media only screen and (max-width: 768px) {
  .section_title {
    font-size: 3.2rem;
    margin-bottom: 2.5rem;
  }
}
.section_title .small {
  font-size: 3.6rem;
}
@media only screen and (max-width: 768px) {
  .section_title .small {
    font-size: 2.6rem;
  }
}
.section_title .small .open-sans {
  font-size: 4rem;
}
@media only screen and (max-width: 768px) {
  .section_title .small .open-sans {
    font-size: 3rem;
  }
}
.section_title .sub {
  font-size: 3.2rem;
}
@media only screen and (max-width: 768px) {
  .section_title .sub {
    font-size: 2.4rem;
  }
}

/* 注釈 */
.note_wrap {
  padding-left: 1rem;
  text-align: justify;
  color: #888;
}
@media only screen and (min-width: 769px) {
  .note_wrap {
    padding-left: 1.5rem;
  }
}
.note_wrap .note {
  position: relative;
  font-size: 1rem;
  display: inline-block;
}
@media only screen and (min-width: 769px) {
  .note_wrap .note {
    font-size: 1.4rem;
  }
}
.note_wrap .note::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
  transform: translateX(-100%);
}

/* ボタン上テキスト */
.cv_wrap .copy {
  text-align: center;
}
.cv_wrap .copy .copy_inline {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: bold;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .cv_wrap .copy .copy_inline {
    font-size: 1.6rem;
  }
}
.cv_wrap .copy .copy_inline::before, .cv_wrap .copy .copy_inline::after {
  content: "";
  display: block;
  background: #222;
  width: 0.1rem;
  height: 2.2rem;
  position: absolute;
  left: -1.2rem;
  top: 50%;
  transform: translateY(-50%) rotate(-25deg);
}
.cv_wrap .copy .copy_inline::after {
  left: auto;
  right: -1.2rem;
  transform: translateY(-50%) scale(-1, 1) rotate(-25deg);
}

/* アコーディオン */
.accordion.detail {
  font-weight: 700;
  text-align: center;
  color: #fff;
  width: 100%;
  background: #222;
  border-radius: 0.2rem;
  cursor: pointer;
  position: relative;
}
.accordion.detail::after {
  content: "";
  width: 1.2em;
  height: 1.2em;
  background: url("../img/plus.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  right: 1.2em;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (max-width: 768px) {
  .accordion.detail::after {
    right: 1em;
  }
}
.accordion.detail.close::after {
  background: url("../img/minus.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

/*----*/
.present {
  position: relative;
  padding: 3rem 2rem;
  font-weight: 700;
  background: url(../img/campaign/side_right_black.webp) no-repeat top right/135%, url(../img/campaign/side_left_to_all.webp) no-repeat center/141%, linear-gradient(146deg, #FFF 0%, #C39000 100%);
}
@media only screen and (min-width: 769px) {
  .present {
    padding: 3rem 32rem 4rem;
    background: url(../img/campaign/side_right_black.webp) no-repeat bottom left/cover, url(../img/campaign/side_left_to_all.webp) no-repeat top left/cover, linear-gradient(146deg, #FFF 0%, #C39000 100%);
  }
}
.present .top_balloon {
  text-align: center;
  margin-bottom: 1.5rem;
}
@media only screen and (min-width: 769px) {
  .present .top_balloon {
    margin-bottom: 1rem;
  }
}
.present .top_balloon_wrap {
  position: relative;
  display: inline-block;
  color: #fff;
  border-radius: 0.5rem;
  border-top: 1px solid #FFF;
  background: linear-gradient(0deg, #000 0%, #666 100%);
  font-size: 2rem;
  padding: 0.35em 1em 0.5em 1em;
  line-height: 1.2;
}
.present .top_balloon_wrap .strong {
  font-size: 2.4rem;
}
.present .top_balloon_wrap::after {
  position: absolute;
  content: "";
  background: #000;
  width: 2.6rem;
  height: 2rem;
  clip-path: polygon(40% 0, 100% 0, 0 100%);
  top: 100%;
  left: 64%;
}
@media only screen and (min-width: 769px) {
  .present .top_balloon_wrap::after {
    left: 72%;
  }
}
.present .star {
  position: absolute;
  top: 25.7rem;
  right: 0;
  transform: rotate(10deg);
  background: url(../img/campaign/strong_star.svg) no-repeat center/contain;
  width: 11rem;
  height: 11rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (min-width: 769px) {
  .present .star {
    top: 23rem;
    right: 32.2rem;
    width: 16.5rem;
    height: 16.5rem;
  }
}
.present .star_wrap {
  text-align: center;
  line-height: 1.2;
  font-size: 1rem;
}
@media only screen and (min-width: 769px) {
  .present .star_wrap {
    font-size: 1.4rem;
  }
}
.present .star_wrap .middle {
  font-size: 1.2rem;
}
@media only screen and (min-width: 769px) {
  .present .star_wrap .middle {
    font-size: 1.8rem;
  }
}
.present .star_wrap .open-sans {
  font-size: 2rem;
}
@media only screen and (min-width: 769px) {
  .present .star_wrap .open-sans {
    font-size: 3rem;
  }
}
.present .mobile_battery {
  text-align: center;
  margin-top: 0.5rem;
}
@media only screen and (min-width: 769px) {
  .present .mobile_battery {
    margin-top: 1.5rem;
  }
}
.present .mobile_battery img {
  width: 28rem;
}
@media only screen and (min-width: 769px) {
  .present .mobile_battery img {
    width: 50rem;
  }
}
.present .information {
  text-align: center;
  margin-top: 1rem;
}
@media only screen and (min-width: 769px) {
  .present .information {
    margin-top: 1.5rem;
  }
}
.present .information_wrap {
  display: inline-block;
  background: #fff;
  border: solid 1px #000;
  font-size: 1.4rem;
  border-radius: 10rem;
  padding: 0.25em 1em;
}
@media only screen and (min-width: 769px) {
  .present .information_wrap {
    font-size: 2rem;
  }
}
.present .information_wrap .gold {
  color: #C39000;
  font-size: 2rem;
}
@media only screen and (min-width: 769px) {
  .present .information_wrap .gold {
    font-size: 3rem;
  }
}
.present .information_wrap .middle {
  font-size: 1.6rem;
}
@media only screen and (min-width: 769px) {
  .present .information_wrap .middle {
    font-size: 2.4rem;
  }
}
.present .bottom_note {
  font-size: 1rem;
  font-weight: 400;
  margin-top: 1em;
  text-align: center;
  color: #fff;
  text-shadow: 0 0 3px rgba(51, 51, 51, 0.7490196078);
}
@media only screen and (min-width: 769px) {
  .present .bottom_note {
    font-size: 1.2rem;
  }
}/*# sourceMappingURL=campaign.css.map */