@charset "utf-8";

body * {
  font-family: "Hiragino Kaku Gothic ProN", sans-serif;
  color: #3d3d3d;
}

body {
  background-color: #F7F5F3;
  padding-top: 30.5vw;
}

.pc {
  display: none !important;
}

.sp {
  display: block !important;
}

h1,
h2 {
  line-height: 1.32;
  font-weight: 700;
}

p,
li {
  line-height: 1.32;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

h1 {
  position: relative;
  font-size: 8.53vw;
  padding-left: 13.6vw;
}

h1::before {
  content: '';
  background-image: url(../images/ico-h1.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 12.8vw;
  height: 8.8vw;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
}

h2 {
  font-size: 7.47vw;
}

h3:not(.footer h3) {
  position: relative;
  display: inline;
  font-size: 4.8vw;
  line-height: 1.4;
}

h3:not(.footer h3)::after {
  content: '';
  background-position: center;
  background-size: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  background-image: url(../images/ico-blank.png);
  width: 6.4vw;
  height: 6.4vw;
  bottom: 0;
  right: -6.8vw;
}

p {
  font-size: 3.73vw;
  font-weight: 400;
}

.bold {
  font-weight: 600;
}


a:not(.footer a) {
  display: block;
  color: #CC0000;
  text-decoration: none;
}

a:hover {
  opacity: 0.8;
}


img {
  display: block;
  width: 100%;
}

.wrap {
  width: 91.47%;
  margin: auto;
}

ul.note li,
ol.note li {
  font-weight: 300;
}

ul.note li+li {
  margin-top: 1.06666vw;
}

/* ul.note */
ul.note li {
  color: #707070;
  font-size: 2.93vw;
}

/* .bubble */
.bubble_wrap {
  text-align: center;
  position: relative;
  padding-bottom: 2.13vw;
  margin-top: 6.7vw;
}

.bubble {
  display: inline-block;
  padding: 0 3.2vw 0 9.33vw;
  background-color: #FACB32;
  border-radius: 9999px;
}

.bubble_text {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 9.6vw;
  color: #3D3D3D;
  font-size: 4.27vw;
  font-weight: 600;
}

.bubble::after {
  content: '';
  background-image: url(../images/bubble.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 3.73333vw;
  height: 3.2vw;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;
}

.bubble_text::before {
  content: '';
  background-image: url(../images/ico-bubble.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 7.47vw;
  height: 7.47vw;
  position: absolute;
  left: -8.27vw;
  top: 0;
  bottom: 0;
  margin: auto 0;
}

/* .slash */
.slash_wrap {
  text-align: center;
}

.slash_wrap .slash {
  position: relative;
  display: inline-block;
}

.slash_wrap .slash::before,
.slash_wrap .slash::after {
  content: '';
  background-color: #E16766;
  width: 0.53vw;
  height: 10.48vw;
  border-radius: 9999px;
  position: absolute;
  bottom: 0;
}

.slash_wrap .slash::before {
  transform: rotate(-14deg);
  left: -0.75em;
}

.slash_wrap .slash::after {
  transform: rotate(14deg);
  right: -0.75em;
}

.slash_wrap .slash p {
  font-size: 3.73333vw;
}

/* .accordion */
.accordion {}

.accordion_title {
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 47.2vw;
  height: 11.73vw;
  border-radius: 9999px;
  position: relative;
  margin: 8.53vw auto 0;
  border: 0.2666666vw solid #E0DEDC;
  background-color: #ffffff;
}

.accordion_title * {
  text-align: center;
  font-size: 3.73vw;
  font-weight: 600;
}

.accordion_title::before,
.accordion_title::after {
  content: '';
  position: absolute;
  border-radius: 9999px;
  background-color: #2B2B2B;
  width: 2.66666vw;
  height: 0.53333vw;
  top: 0;
  bottom: 0;
  right: 2.93vw;
  margin: auto 0;
  transition: 0.25s;
}

.accordion_title.active::after {
  transform: none;
}

.accordion_title::after {
  transform: rotate(90deg);
}

.accordion-inner {
  display: none;
  margin-top: 10.67vw;
}

.accordion-inner.active {
  display: block;
}

/* campaign-list */
.campaign-list {
  margin-top: 8.53vw;
}

.campaign-list>li {
  border-radius: 3.2vw;
  overflow: hidden;
}

.campaign-list>li+li {
  margin-top: 6vw;
}

.campaign-list .box-data {
  background-color: #FFF;
  padding: 4.27vw;
}

.campaign-list .box-data ._flex {
  display: flex;
  gap: 1.07vw;
}

.campaign-list .box-data ._flex div {
  display: flex;
  align-items: center;
  border-radius: 999px;
  height: 4.8vw;
  padding: 0 2.13vw;
}

.campaign-list .box-data ._flex div p {
  font-size: 3.2vw;
}

.campaign-list .box-data .data-entry {
  background-color: #E06666;
}

.campaign-list .box-data .data-entry p {
  color: #FFF;
}

.campaign-list .box-data .data-entry p span {
  color: #FFF;
}

.campaign-list .box-data .data-new {
  background-color: #FACB32;
}

.campaign-list .box-data .data-title,
.campaign-list .box-data .data-text {
  margin-top: 2.67vw;
  line-height: 1.4;
}

.campaign-list .box-data .data-deta {
  border-top: solid 1px #D9D9D9;
  margin-top: 3vw;
  padding-top: 4.27vw;
}

.campaign-list .box-data .data-deta p {
  font-size: 3.2vw;
}


/* main */
.main {
  padding: 6.4vw 0 12.8vw;
}

.main-list {
  margin-top: 5vw;
}

.main-list li+li {
  margin-top: 6.4vw;
}

.main-list a {
  margin-top: 2.13vw;
}

/* campaign */
.campaign {
  background-color: #F0EEEC;
  padding: 12.8vw 0;
}

/* deal */
.deal {
  background-color: #F7F5F3;
  padding: 6.4vw 0 12.8vw;
}

.deal h2 {
  position: relative;
  font-size: 8.533333vw;
  margin-bottom: 6.4vw;
  padding-left: 11.466666vw;
  letter-spacing: -0.04em;

}

.deal h2::before {
  content: '';
  background-image: url(../images/ico_deal.png);
  background-size: 100%;
  background-repeat: no-repeat;
  width: 10.666666vw;
  height: 10.666666vw;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.deal a {
  margin-top: 2.13vw;
  border-radius:2.133333vw;
  overflow: hidden;
  display: block;
}

/* footer */
.footer,
.footer .notes,
.footer .copy {
  background-color: #707070;
}

.footer .copy p {
  color: #FFF;
}

@media screen and (min-width: 768px) {

  .pc {
    display: block !important;
  }

  .sp {
    display: none !important;
  }

  h1 {
    font-size: 32px;
    padding-left: 60px;
  }

  h1::before {
    width: 48px;
    height: 33px;
  }

  h2 {
    font-size: 28px;
  }

  h3:not(.footer h3) {
    font-size: 18px;
    line-height: 1.5;
  }

  h3:not(.footer h3)::after {
    width: 16px;
    height: 16px;
    right: -18px;
  }

  p {
    font-size: 14px;
  }

  .wrap {
    max-width: 1080px;
  }

  ul.note li+li {
    margin-top: 4px;
  }

  /* ul.note */
  ul.note li {
    font-size: 12px;
  }


  /* .bubble */
  .bubble_wrap {
    padding-bottom: 12px;
    margin-top: 24px;
  }

  .bubble {
    padding: 0 16px 0 46px;
  }

  .bubble_text {
    height: 48px;
    font-size: 24px;
  }

  .bubble::after {
    width: 32px;
    height: 32px;
    bottom: -5px;
  }

  .bubble_text::before {
    width: 36px;
    height: 36px;
    left: -40px;
  }

  /* .slash */
  .slash_wrap .slash::before,
  .slash_wrap .slash::after {
    width: 2px;
    height: 44px;
  }

  .slash_wrap .slash::before {
    left: -0.75em;
  }

  .slash_wrap .slash::after {
    right: -0.75em;
  }

  .slash_wrap .slash p {
    font-size: 18px;
  }

  /* .accordion */

  .accordion_title {
    width: 184px;
    height: 50px;
    margin: 24px auto 0;
    border: 1px solid #E0DEDC;
  }

  .accordion_title * {
    font-size: 14px;
  }

  .accordion_title::before,
  .accordion_title::after {
    width: 10px;
    height: 2px;
    right: 15px;
  }

  .accordion-inner {
    margin-top: 40px;
  }

  /* campaign-list */
  .campaign-list {
    margin-top: 24px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 24px;
  }

  .campaign-list>li {
    border-radius: 12px;
    max-width: 344px;
  }

  .campaign-list>li+li {
    margin-top: 0;
  }

  .campaign-list .box-data {
    position: relative;
    padding: 16px;
    height: 204px;
  }

  .campaign-list._old .box-data {
    height: 210px;
  }

  .campaign-list .box-data ._flex {
    gap: 4px;
  }

  .campaign-list .box-data ._flex div {
    height: 18px;
    padding: 0 8px;
  }

  .campaign-list .box-data ._flex div p {
    font-size: 12px;
  }

  .campaign-list .box-data .data-title,
  .campaign-list .box-data .data-text {
    margin-top: 8px;
    line-height: 1.5;
  }

  .campaign-list .box-data .data-deta {
    position: absolute;
    padding-top: 12px;
    left: 16px;
    bottom: 16px;
    width: 90.7%;
    max-width: 312px;
  }

  .campaign-list .box-data .data-deta p {
    font-size: 12px;
  }

  .pagemap+ul {
    margin-top: 8px;
  }

  /* main */
  .main {
    padding: 40px 0;
  }

  .main-list {
    margin-top: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
  }

  .main-list li {
    max-width: 528px;
    width: 47%;
  }

  .main-list.list-one li {
    width: 712px;
    max-width: none;
    margin: auto;
  }

  .main-list li+li {
    margin-top: 0;
  }

  .main-list a {
    margin-top: 7.48px;
  }

  /* campaign */
  .campaign {
    padding: 40px 0;
  }

  /* deal */
  .deal {
    padding: 40px 0;
  }

  .deal h2 {
    font-size: 32px;
    margin-bottom: 24px;
    padding-left: 43px;
  }

  .deal h2::before {
    width: 40px;
    height: 40px;
  }

  .deal a {
    margin: 8px auto 0;
    width: 528px;
    border-radius: 8px
  }
}

@media screen and (min-width: 768px) {
  .footer .notes_content {
    max-width: 700px;
    height: 320px;
    padding: 32px 24px;
  }
}



@media screen and (min-width: 768px) and (max-width: 1180px) {
  .list-wrap {
    width: 712px;
    margin: auto;
  }
}

@media screen and (min-width: 768PX) and (max-width: 1000px) {
  .slash_wrap .slash p:not(.main-list.list-one li .slash_wrap .slash p) {
    font-size: 1.8vw;
  }
}


/* パンくずリスト */
.breadcrumb {
  background: transparent;
  padding: 4.266666vw;
  width: 100%;
  background-color: #ffffff;
}

.breadcrumb ul {
  list-style: none;
  padding: 0;
}

.breadcrumb ul li {
  font-size: 3.733333vw;
  line-height: 1.48;
  color: #3D3D3D;
  display: inline;
}

.breadcrumb ul li a {
  display: inline-block;
  text-decoration: none;
  color: #CC0000;
}

.breadcrumb ul li:not(:last-of-type)::after {
  content: "›";
  margin: 0.6em;
}

/* パンくず下注意文言 */
.top_notice {
  width: 100%;
  max-width: 91.467vw;
  margin: 0 auto;
}

.top_notice ul {
  margin-top: 1.066666vw;
}

.top_notice li {
  font-size: 2.933333vw;
  line-height: 1.32;
  color: #707070;
}

.top_notice ul.footnote li {
  margin-left: 1.5em;
  position: relative;
}

.top_notice ul.footnote li::before {
  content: '※';
  font-size: inherit;
  position: absolute;
  left: -1.5em;
}

.top_notice ol.footnote {
  counter-reset: number 0;
}

.top_notice ol.footnote li {
  margin-left: 2.5em;
  position: relative;
}

.top_notice ol.footnote li::before {
  counter-increment: number 1;
  content: '※'counter(number);
  font-size: inherit;
  position: absolute;
  left: -2.5em;
}

@media screen and (min-width: 768px) {
  body {
    padding-top: 7.272727vw;
  }


  /* パンくずリスト */
  .breadcrumb {
    width: 100%;
    max-width: 96.547405vw;
    min-width: 700px;
    margin: 0 auto;
    padding: 8px 32px 8px;
    background-color: transparent;
  }

  .breadcrumb ul li {
    font-size: 11px;
  }

  .breadcrumb ul li a {
    text-decoration: none;
    color: #CC0000;
  }

  /* パンくず下注意文言 */
  .top_notice {
    width: 100%;
    max-width: 96.547405vw;
    min-width: 700px;
    margin: 0 auto 12px;
    padding: 0 32px;
  }

  .top_notice ul {
    margin-top: 4px;
  }

  .top_notice li {
    font-size: 11px;
  }
}

@media (768px <=width <=848px) {
  body {
    padding-top: 9.114583vw;
  }
}

@media (848px <=width <=1008px) {
  body {
    padding-top: 74.5714px;
  }

  .breadcrumb {
    max-width: 818.722px;
  }

  .top_notice {
    max-width: 818.722px;
  }
}

@media (1008px <=width <=1228px) {
  .breadcrumb {
    max-width: 81.093648vw;
  }

  .top_notice {
    max-width: 81.093648vw;
  }
}

@media screen and (min-width: 1228px) {
  body {
    padding-top: 90px;
  }

  .breadcrumb {
    max-width: 995.83px;
  }

  .top_notice {
    max-width: 995.83px;
  }
}