@charset "utf-8";

/*
*********************************************************
campaign-contents
*********************************************************
*/
#campaign-contents {
  max-width: 100%;
  margin: 0 auto;
}

#campaign-contents .maximg {
  width: 100%;
  height: auto
}

#campaign-contents picture,
#campaign-contents picture img {
  width: 100%;
  height: auto;
  display: block;
}

.inner-xs-wrap2,
.inner-xs-wrap,
.inner-s-wrap,
.inner-wrap {
  width: calc(100% - 16px);
  overflow: visible;
}

@media (max-width: 768px) {

  .inner-xs-wrap2,
  .inner-xs-wrap,
  .inner-s-wrap,
  .inner-wrap {
    width: 100%;
  }
}

#campaign-contents summary {
  list-style: none;
}

#campaign-contents details>summary::-webkit-details-marker {
  display: none;
}

/* chrome 画像・グラフィック文字のぼやけ対策 */
@media (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
  #campaign-contents img {
    image-rendering: -webkit-optimize-contrast;
  }
}

/* safari 画像 デフォルト値 */
@media (-webkit-min-device-pixel-ratio: 0) {

  _::-webkit-full-page-media,
  _:future,
  :root #campaign-contents img {
    image-rendering: auto;
  }
}

/*
*********************************************************
#section-kv
*********************************************************
*/
#section-kv .kv-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1440/700;
}

#section-kv .kv-wrap .kv-h1 {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
}

#section-kv .kv-wrap .kv-note {
  position: absolute;
  width: 100%;
  bottom: 1vw;
  left: 50%;
  transform: translateX(-50%);
}

#section-kv .kv-wrap .kv-note p {
  color: #32140a;
  text-align: center;
  font-size: 0.7vw;
}

/* ---------------------------------------------  */
/* --------------------- SP --------------------  */
/* ---------------------------------------------  */
@media screen and (max-width:768px) {
  #section-kv .kv-wrap {
    aspect-ratio: 1536/1966;
  }

  #section-kv .kv-wrap .kv-note {
    bottom: 3.5vw;
  }

  #section-kv .kv-wrap .kv-note p {
    font-size: max(11px, 3vw);
    text-align: center;
    margin: var(--size8) auto 0;
  }
}

@media screen and (max-width:320px) {
  #section-kv .kv-wrap .kv-note p {
    font-size: 10px;
  }
}

/*
***************************************************************
#section-video（動画 Brightcove）
***************************************************************
*/
#section-video {
  padding: var(--size80) 0 var(--size64);
}

/* ---------------------------------------------  */
/* --------------------- SP --------------------  */
/* ---------------------------------------------  */
@media screen and (max-width:768px) {
  #section-video {
    padding: var(--size24) var(--size16);
  }
}

/*
***************************************************************
#section-navigation
***************************************************************
*/
#section-navigation {
  overflow: hidden;
  position: relative;
  margin: 0 auto;
  padding: 0 var(--size16);
}

#section-navigation .navigation-lead {
  color: #32140a;
  font-size: min(2vw, 24px);
  text-align: center;
  line-height: 1.6;
  padding-bottom: var(--size40);
}

#section-navigation #navigation>ul {
  display: flex;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  max-width: 584px;
  gap: 40px;
  list-style: none;
  margin: 0 auto;
}

#section-navigation #navigation>ul>li {
  flex: 1;
  min-width: 0;
}

#section-navigation #navigation>ul>li>a {
  display: grid;
  grid-template-rows: minmax(0, 1fr) 48px 8px 14px 16px;
  position: relative;
  align-items: center;
  justify-items: center;
  box-sizing: border-box;
  min-height: 106px;
  height: 100%;
  background-color: #2b6b35;
  border-radius: 6px;
  color: #fff;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: -0.03em;
  text-align: center;
  text-decoration: none;
  transition: opacity .3s;
  padding: 0 var(--size8);
}

#section-navigation #navigation>ul>li>a .navigation-label {
  grid-row: 2;
  align-self: center;
  width: 100%;
}

#section-navigation #navigation>ul>li>a::after {
  content: "";
  grid-row: 4;
  width: 14px;
  height: 14px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
}

#section-navigation #navigation>ul>li>a:hover {
  opacity: 0.8;
}

/* ---------------------------------------------  */
/* --------------------- SP --------------------  */
/* ---------------------------------------------  */
@media screen and (max-width:768px) {
  #section-navigation .navigation-lead {
    font-size: max(12px, 3.5vw);
    line-height: 1.8;
    padding-bottom: var(--size24);
  }

  #section-navigation #navigation>ul {
    flex-direction: column;
    max-width: none;
    gap: var(--size8);
  }

  #section-navigation #navigation>ul>li>a {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    min-height: auto;
    border-radius: var(--size8);
    font-size: max(16px, 4vw);
    text-align: left;
    padding: var(--size8) var(--size48) var(--size8) 18px;
  }

  #section-navigation #navigation>ul>li>a .navigation-label {
    align-self: stretch;
  }

  #section-navigation #navigation>ul>li>a::after {
    position: absolute;
    top: calc(50% - 3px);
    right: 20px;
    bottom: auto;
    left: auto;
    margin-top: 0;
    transform: translateY(-50%) rotate(45deg);
  }
}

@media (max-width: 320px) {
  #section-navigation .navigation-lead {
    font-size: 11px;
  }
}

/*
*********************************************************
#section-premium-lottery
*********************************************************
*/
#section-premium-lottery {
  overflow: hidden;
  position: relative;
  margin: var(--size64) auto;
  padding: 0;
}

#section-premium-lottery .premium-lottery-inner {
  position: relative;
  isolation: isolate;
  background-color: #f9f7ee;
  margin: 0 auto;
  padding: var(--size48) var(--size8) var(--size32);
}

#section-premium-lottery .text-wrap {}

#section-premium-lottery .text-wrap .text-ttl {
  max-width: 820px;
  margin: 0 auto;
}

#section-premium-lottery .text-wrap .text-lead {
  text-align: center;
  margin: 0 auto;
  color: #32140a;
  font-size: min(2vw, 20px);
  padding-top: var(--size16);
}

/* --------------------- prize-area --------------------  */
#section-premium-lottery .prize-area {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  grid-template-rows: minmax(265px, 1fr) minmax(145px, 0.55fr);
  gap: 0 var(--size8);
  border: 2px solid #e0beb7;
  border-radius: var(--size24);
  background: #fff;
  box-shadow: 0 5px 12px rgb(67 48 31 / 12%);
  max-width: 1000px;
  margin: var(--size24) auto 0;
  padding: var(--size32);
}

@media (min-width: 881px) and (max-width: 1200px) {
  #section-premium-lottery .prize-area {
    padding: var(--size32) clamp(var(--size16), calc(6.6667vw - 48px), var(--size32));
  }
}

@media (min-width: 881px) and (max-width: 960px) {
  #section-premium-lottery .prize-area {
    gap: 0;
  }
}

#section-premium-lottery .prize-wrap {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
  box-sizing: border-box;
}

#section-premium-lottery .special-prize {
  grid-column: 1;
  grid-row: 1 / 3;
  align-items: flex-start;
  padding: 0 10px 10px;
}

#section-premium-lottery .subaru-prize {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  grid-template-rows: auto auto auto;
  align-items: start;
  grid-column: 2;
  grid-row: 1;
  column-gap: 10px;
  row-gap: 0;
  padding-bottom: var(--size8);
  border-bottom: 2px dotted #423a34;
}

#section-premium-lottery .participation-prize {
  grid-column: 2;
  grid-row: 2;
  display: flex;
  align-items: center;
  gap: 2%;
}

/* --------------------- prize-badge --------------------  */
#section-premium-lottery .prize-badge {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: grid;
  place-items: center;
  width: 110px;
}

#section-premium-lottery .participation-prize .prize-badge {
  position: static;
  flex: 0 0 110px;
  width: 110px;
}

#section-premium-lottery .subaru-prize .prize-badge {
  position: static;
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  max-width: 110px;
  height: auto;
  aspect-ratio: 111.45 / 110;
}

@media (min-width: 881px) and (max-width: 960px) {
  #section-premium-lottery .subaru-prize {
    grid-template-columns: 11.4583333333vw minmax(0, 1fr);
  }
}

/* --------------------- prize-content --------------------  */
#section-premium-lottery .prize-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  min-width: 0;
}

/* 特賞 */
#section-premium-lottery .special-prize .prize-content {
  flex-direction: column;
  justify-content: flex-start;
  gap: var(--size8);
}

/* subaru賞 */
#section-premium-lottery .subaru-prize .prize-content {
  display: contents;
}

/* 参加賞 */
#section-premium-lottery .participation-prize .prize-content {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  gap: 4%;
  margin-top: var(--size16);
}

/* --------------------- prize-heading --------------------  */
#section-premium-lottery .prize-heading {
  min-width: 0;
}

/* 特賞 */
#section-premium-lottery .special-prize .prize-heading {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  min-height: 110px;
  padding-left: 110px;
  box-sizing: border-box;
  text-align: left;
}

/* subaru賞 */
#section-premium-lottery .subaru-prize .prize-heading {
  display: flex;
  flex-direction: column;
  justify-content: center;
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  min-height: 110px;
  text-align: left;
}

/* 参加賞 */
#section-premium-lottery .participation-prize .prize-heading {
  flex: 1 1 0;
}

/* --------------------- prize-title --------------------  */
#section-premium-lottery .prize-heading .prize-title {
  display: block;
  color: #d93813;
  font-size: min(2.6vw, 30px);
  font-weight: bold;
  line-height: 1.2;
  margin-top: var(--size8);
  white-space: nowrap;
}

#section-premium-lottery .participation-prize .prize-title {
  letter-spacing: -0.04em;
}

#section-premium-lottery .prize-heading .prize-title small {
  font-size: var(--size16);
}

/* --------------------- subaruオリジナル --------------------  */
#section-premium-lottery .prize-brand {
  display: inline-block;
  border-radius: 5px;
  background: #2d4c80;
  color: #fff;
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: -0.02em;
  white-space: nowrap;
  padding: 4px var(--size24);
}

#section-premium-lottery .special-prize .prize-brand,
#section-premium-lottery .subaru-prize .prize-brand {
  align-self: flex-start;
}

/* --------------------- prize-item --------------------  */
#section-premium-lottery .prize-item {
  display: grid;
  flex: 0 1 150px;
  place-items: center;
  min-width: 0;
}

#section-premium-lottery .prize-item-special {
  width: 100%;
  max-width: 395px;
  flex-basis: auto;
}

#section-premium-lottery .prize-item-subaru {
  grid-column: 1 / -1;
  grid-row: 2;
  justify-self: end;
  width: 100%;
  max-width: 465px;
  min-width: 0;
  min-height: 0;
  margin-top: -16px;
}

#section-premium-lottery .prize-item-participation {
  flex: 0 1 135px;
  width: 100%;
  max-width: 135px;
  min-width: 0;
}

@media (min-width: 881px) and (max-width: 960px) {
  #section-premium-lottery .prize-item-participation {
    flex-basis: 14.0625vw;
  }
}

/* --------------------- prize-note --------------------  */
#section-premium-lottery .prize-note {
  color: #32140a;
  font-size: 11px;
}

#section-premium-lottery .subaru-prize .prize-note {
  grid-column: 1 / -1;
  grid-row: 3;
  width: 100%;
  margin: 0;
  text-align: right;
}

/* --------------------- note --------------------  */
#section-premium-lottery .note {
  max-width: 1000px;
  margin: 0 auto;
}

#section-premium-lottery .note p {
  color: #32140a;
  font-size: 11px;
  text-align: justify;
  line-height: 1.6;
  letter-spacing: -0.01em;
  margin-top: var(--size24);
}

/* --------------------- decoration --------------------  */
#section-premium-lottery .decoration {
  overflow: hidden;
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
}

#section-premium-lottery .decoration>div {
  position: absolute;
}

#section-premium-lottery .decoration-tl {
  top: -2.6vw;
  left: -1.6vw;
  width: 18%;
}

#section-premium-lottery .decoration-tr {
  top: -1.5vw;
  right: -1.4vw;
  width: 18%;
}

#section-premium-lottery .decoration-bl {
  left: -16vw;
  bottom: 0;
  width: 30%;
}

#section-premium-lottery .decoration-br {
  right: -4.3vw;
  bottom: -2.5vw;
  width: 24%;
}

@media (min-width: 700px) and (max-width: 768px) {
  #section-premium-lottery .participation-prize .prize-item-participation {
    transform: translateX(-40px) !important;
  }
}

@media (max-width: 768px) {
  #section-premium-lottery .text-wrap .text-lead {
    font-size: max(13px, 3.8vw);
  }

  #section-premium-lottery .prize-note {
    font-size: max(11px, 2.8vw);
  }

  #section-premium-lottery .note p {
    font-size: max(11px, 2.8vw);
  }

  #section-premium-lottery .prize-heading .prize-title,
  #section-premium-lottery .special-prize .prize-title {
    font-size: max(18px, 5.6vw);
    letter-spacing: -0.02em;
    font-feature-settings: "palt";
  }

  #section-premium-lottery .participation-prize .prize-title {
    font-size: max(16px, 5.4vw);
  }

  #section-premium-lottery .prize-heading .prize-title small {
    font-size: max(14px, 3.4vw);
    letter-spacing: -0.02em;
  }

  #section-premium-lottery .prize-brand {
    padding: 3px 10px;
    font-size: max(11px, 2.6vw);
  }
}

@media (min-width: 769px) and (max-width: 880px) {
  #section-premium-lottery .text-wrap .text-lead {
    font-size: 13px;
  }

  #section-premium-lottery .prize-note {
    font-size: 11px;
  }

  #section-premium-lottery .note p {
    font-size: 11px;
  }

  #section-premium-lottery .prize-heading .prize-title,
  #section-premium-lottery .special-prize .prize-title,
  #section-premium-lottery .participation-prize .prize-title {
    font-size: 4vw;
    letter-spacing: -0.02em;
    font-feature-settings: "palt";
  }

  #section-premium-lottery .prize-heading .prize-title small {
    font-size: 14px;
    letter-spacing: -0.02em;
  }

  #section-premium-lottery .prize-brand {
    font-size: 16px;
  }

  #section-premium-lottery .participation-prize .prize-brand {
    font-size: 16px;
  }

  #section-premium-lottery .participation-prize .prize-item-participation {
    transform: translateX(-40%);
  }

  #section-premium-lottery .prize-badge {
    left: -4% !important;
    width: 20% !important;
  }
}

/* ---------------------------------------------  */
/* --------------------- SP --------------------  */
/* ----------- prize-areaのみ880px以下 ----------  */
/* ---------------------------------------------  */
@media (max-width: 880px) {
  #section-premium-lottery {
    margin: var(--size32) 0;
  }

  #section-premium-lottery .premium-lottery-inner {
    padding: var(--size32) var(--size16) var(--size64);
  }

  #section-premium-lottery .text-wrap .text-ttl {
    max-width: 95%;
    margin: 0 auto;
  }

  #section-premium-lottery .text-wrap .text-lead {
    padding-top: var(--size16);
  }

  /* --------------------- prize-title --------------------  */
  #section-premium-lottery .prize-heading .prize-title {
    margin-top: var(--size8);
  }

  /* --------------------- prize-area --------------------  */
  #section-premium-lottery .prize-area {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    gap: var(--size16);
    min-height: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    margin-top: 24px;
    padding: 0 var(--size16);
  }

  #section-premium-lottery .prize-wrap {
    grid-column: 1;
    border: 2px solid #dfc1b1;
    border-radius: 20px;
    background: #fff;
    box-shadow: 2px 2px 4px rgba(67, 48, 31, 0.2);
    padding: var(--size16);
  }

  /* --------------------- prize-area --------------------  */
  #section-premium-lottery .special-prize {
    grid-row: auto;
    align-items: center;
    min-height: auto;
  }

  #section-premium-lottery .subaru-prize {
    display: grid;
    grid-template-columns: 18% minmax(0, 1fr);
    grid-row: auto;
    min-height: 0;
    padding: var(--size16);
    border-bottom: 2px solid #dfc1b1;
  }

  #section-premium-lottery .participation-prize {
    display: grid;
    grid-template-columns: 18% minmax(0, 1fr);
    align-items: center;
    grid-row: auto;
    min-height: auto;
    padding: var(--size8) 12px;
  }

  /* --------------------- prize-content（賞品内容） --------------------  */
  #section-premium-lottery .prize-content {
    gap: 10px;
  }

  #section-premium-lottery .special-prize .prize-content {
    display: block;
    padding-top: 0;
  }

  #section-premium-lottery .subaru-prize .prize-content {}

  #section-premium-lottery .participation-prize .prize-content {
    display: flex;
    justify-content: flex-start;
    grid-column: 2;
    min-width: 0;
    margin-top: 0;
    gap: var(--size8);
  }

  #section-premium-lottery .participation-prize .prize-heading {
    flex: 0 1 66%;
    margin: 0;
  }

  /* --------------------- prize-badge（賞品バッジ） --------------------  */
  #section-premium-lottery .special-prize .prize-badge {
    position: absolute;
    top: -5.5vw;
    left: -7vw;
    width: 27%;
    flex: none;
    grid-area: auto;
  }

  #section-premium-lottery .subaru-prize .prize-badge {
    position: absolute;
    top: 1vw;
    left: -7%;
    width: 26%;
    max-width: 100%;
    flex: none;
    grid-area: auto;
  }

  #section-premium-lottery .participation-prize .prize-badge {
    position: absolute;
    top: 50%;
    left: -8%;
    width: 28%;
    max-width: 100%;
    flex: none;
    grid-area: auto;
    transform: translateY(-50%);
  }

  /* --------------------- prize-brand（青帯） --------------------  */
  #section-premium-lottery .prize-brand {
    padding: 3px 10px;
  }

  #section-premium-lottery .participation-prize .prize-brand {
    padding: 3px 4%;
  }

  /* --------------------- prize-heading（賞品名） --------------------  */
  #section-premium-lottery .special-prize .prize-heading {
    display: block;
    min-height: 0;
    padding-left: 0;
    text-align: center;
  }

  #section-premium-lottery .subaru-prize .prize-heading {
    display: block;
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    min-height: 0;
  }

  /* --------------------- prize-note（SUBARU賞内） --------------------  */
  #section-premium-lottery .subaru-prize .prize-note {
    grid-column: 1 / -1;
    grid-row: 3;
    width: 100%;
    margin: 0;
    text-align: left;
    line-height: 1.4;
    letter-spacing: -0.01em;
    padding-top: var(--size8);
  }

  /* --------------------- prize-item（賞品） --------------------  */
  #section-premium-lottery .special-prize .prize-item-special {
    max-width: 76%;
    margin: 10px auto 0;
  }

  #section-premium-lottery .subaru-prize .prize-item-subaru {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    max-width: 88%;
    min-width: 0;
    min-height: 0;
    margin: var(--size8) auto;
  }

  #section-premium-lottery .participation-prize .prize-item-participation {
    flex: 1 1 0;
    min-width: 0;
    min-height: 0;
    max-width: none;
    padding-right: 0;
  }

  #section-premium-lottery .participation-prize .prize-item-participation picture {
    width: 100%;
  }

  /* --------------------- note --------------------  */
  #section-premium-lottery .note {
    max-width: 100%;
  }

  #section-premium-lottery .note p {
    color: #000;
    text-shadow: 0 0 2px #fff, 0 0 3px #fff;
    margin-top: var(--size16);
  }

  /* --------------------- decoration --------------------  */
  #section-premium-lottery .decoration-tl {
    width: 30%;
    top: -3vw;
    left: -5vw;
  }

  #section-premium-lottery .decoration-tr {
    width: 35%;
    top: -4.5vw;
    right: -5vw;
  }

  #section-premium-lottery .decoration-bl,
  #section-premium-lottery .decoration-br {
    display: none;
  }

  #section-premium-lottery .decoration-b {
    left: -14vw;
    bottom: -6vw;
    width: calc(100% + 17vw);
  }

  /* --------------------- decoration 2（各賞品内/SP） --------------------  */
  #section-premium-lottery .prize-wrap::after {
    content: "";
    position: absolute;
    z-index: 1;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
  }

  #section-premium-lottery .special-prize::after {
    width: 17%;
    right: -6.5%;
    bottom: 3vw;
    aspect-ratio: 40 / 37;
    background-image: url("/campaign/autumnfair/images/premium-lottery-deco-special-sp.svg");
  }

  #section-premium-lottery .subaru-prize::after {
    width: 14%;
    right: -3%;
    bottom: -4%;
    aspect-ratio: 24 / 27.18;
    background-image: url("/campaign/autumnfair/images/premium-lottery-deco-subaru-sp.svg");
  }

  #section-premium-lottery .participation-prize::after {
    width: 14%;
    right: -4%;
    bottom: -7%;
    aspect-ratio: 30 / 26;
    background-image: url("/campaign/autumnfair/images/premium-lottery-deco-participation-sp.svg");
  }
}

@media (max-width: 768px) {
  #section-premium-lottery .participation-prize .prize-item-participation {
    transform: scale(0.8);
  }
}

@media (max-width: 480px) {
  #section-premium-lottery .participation-prize .prize-heading {
    flex-basis: 55%;
  }
}

@media (max-width: 360px) {
  #section-premium-lottery .prize-wrap {
    padding: var(--size8) var(--size16);
  }

  #section-premium-lottery .special-wrap {
    padding: var(--size8) var(--size16) var(--size16) !important;
  }

  #section-premium-lottery .subaru-prize {
    padding: var(--size8) var(--size16);
  }

  #section-premium-lottery .participation-prize {
    padding: var(--size8) 12px;
  }

  #section-premium-lottery .subaru-prize .prize-note br {
    display: none;
  }
}

/*
*********************************************************
#section-consultation-meeting
*********************************************************
*/
#section-consultation-meeting {
  overflow: hidden;
  position: relative;
  margin: var(--size64) auto;
  padding: 0;
}

#section-consultation-meeting .consultation-meeting-inner {
  position: relative;
  background-color: #faeeed;
  border-radius: var(--size24);
  margin: 0 auto;
  padding: var(--size32) var(--size48) var(--size24);
}

#section-consultation-meeting .text-wrap {
  width: 100%;
}

#section-consultation-meeting .text-ttl {
  width: min(100%, 600px);
  margin: 0 auto;
}

#section-consultation-meeting .text-lead {
  color: #32140a;
  font-size: min(2vw, 20px);
  line-height: 1.4;
  text-align: center;
  margin: var(--size24) auto 0;
}

#section-consultation-meeting .text-note {
  max-width: 1000px;
  color: #32140a;
  font-size: 11px;
  line-height: 1.6;
  letter-spacing: 0.01em;
  margin: var(--size32) auto 0;
}

@media (min-width: 769px) and (max-width: 900px) {
  #section-consultation-meeting .text-note br {
    display: none;
  }
}

/* ---------------------------------------------  */
/* --------------------- SP --------------------  */
/* ---------------------------------------------  */
@media (max-width: 768px) {
  #section-consultation-meeting {
    margin: var(--size40) auto;
  }

  #section-consultation-meeting .consultation-meeting-inner {
    border-radius: 0;
    padding: var(--size24) var(--size16);
  }

  #section-consultation-meeting .text-ttl {
    width: 100%;
  }

  #section-consultation-meeting .text-lead {
    font-size: max(13px, 3.6vw);
    line-height: 1.8;
    margin-top: var(--size16);
  }

  #section-consultation-meeting .text-note {
    max-width: 100%;
    margin-top: var(--size24);
    font-size: max(11px, 2.8vw);
    line-height: 1.5;
    text-align: justify;
  }
}

@media (max-width:320px) {
  #section-consultation-meeting .text-lead {
    font-size: 12px;
    letter-spacing: -0.02em;
  }
}

/*
*********************************************************
#section-campaign-information
*********************************************************
*/
#section-campaign-information {
  overflow: hidden;
  position: relative;
  margin: var(--size64) auto;
  padding: 0;
}

#section-campaign-information .campaign-information-inner {
  position: relative;
  padding: 0 var(--size8);
}

#section-campaign-information .text-ttl {
  color: #2b6b35;
  font-size: min(3.6vw, 40px);
  font-weight: bold;
  text-align: center;
  letter-spacing: -0.02em;
  line-height: 1.12;
  margin-top: var(--size8);
  white-space: nowrap;
}

/* --------------- slider --------------- */
#section-campaign-information .slider-outer {
  position: relative;
  max-width: 1130px;
  margin: var(--size24) auto 0;
}

#section-campaign-information .slider-inner {
  overflow: hidden;
  padding: var(--size32) var(--size32) 0;
}

#section-campaign-information .swiper {
  position: relative;
}

#section-campaign-information .swiper-slide {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

#section-campaign-information .swiper-slide img {
  width: 100%;
  transition: opacity 0.3s ease;
}

#section-campaign-information .swiper-slide a:hover {
  opacity: 0.8;
}

#section-campaign-information .swiper-pagination {
  position: relative;
  text-align: center;
  margin-top: var(--size24);
}

#section-campaign-information .swiper-pagination-bullet {
  background: rgba(0, 0, 0, 0.2);
  width: var(--size16);
  height: var(--size16);
  opacity: 1;
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 12px;
}

#section-campaign-information .swiper-pagination-bullet-active {
  background: #2b6b35;
}

#section-campaign-information .slider-outer .note {
  font-size: 11px;
  text-align: right;
  padding-top: var(--size8);
}

/* -------------------------------------- */
/* ----------------- PC ----------------- */
/* -------------------------------------- */
@media (min-width: 769px) {

  #section-campaign-information .slider-inner,
  #section-campaign-information .swiper {
    overflow: visible !important;
    padding: 0;
  }

  #section-campaign-information .swiper-wrapper {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    transform: none !important;
    width: 100% !important;
    contain: layout style;
    /* 重要 */
    border-bottom: 1px solid #fff;
    margin: 0 auto;
  }

  #section-campaign-information .swiper-slide {
    align-items: flex-start;
    justify-content: flex-start;
    height: 100%;
    flex-shrink: 0;
  }

  /* ナビゲーションボタンとページネーションを非表示 */
  #section-campaign-information .swiper-button-next,
  #section-campaign-information .swiper-button-prev,
  #section-campaign-information .swiper-pagination {
    display: none !important;
  }
}

/* -------------------------------------- */
/* ----------------- SP ----------------- */
/* -------------------------------------- */
@media (max-width: 768px) {
  #section-campaign-information {
    margin: var(--size32) auto;
    padding: 0;
  }

  #section-campaign-information .campaign-information-inner {
    position: relative;
    padding: 0;
  }

  #section-campaign-information .text-ttl {
    font-size: max(18px, 6vw);
    line-height: 1.3;
    letter-spacing: -0.04em;
    margin-top: 0;
  }

  #section-campaign-information .text-ttl span {
    position: relative;
    display: inline-block;
    padding: 0 calc(clamp(28.5px, 9vw, 42px) + 8px);
  }

  #section-campaign-information .text-ttl span::before,
  #section-campaign-information .text-ttl span::after {
    content: "";
    position: absolute;
    top: 50%;
    width: clamp(28.5px, 9vw, 42px);
    aspect-ratio: 66 / 46;
    background: url("/campaign/autumnfair/images/campaign-information-h2-deco-sp.svg") center / contain no-repeat;
    transform: translateY(-50%);
  }

  #section-campaign-information .text-ttl span::before {
    left: 0;
  }

  #section-campaign-information .text-ttl span::after {
    right: 0;
    transform: translateY(-50%) scaleX(-1);
  }

  #section-campaign-information .slider-outer {
    overflow: visible;
    width: 100%;
    max-width: inherit;
    background-color: #eeeeee;
    margin: var(--size8) 0 0;
    padding: 0 0 var(--size8);
  }

  #section-campaign-information .slider-inner {
    position: relative;
  }

  #section-campaign-information .mySwiper {
    overflow: hidden;
    position: relative;
    width: 100%;
    margin: 0 auto;
  }

  #section-campaign-information .swiper-wrapper {
    width: 100%;
    transform-style: preserve-3d;
    display: flex !important;
    grid-template-columns: none !important;
    max-width: inherit;
  }

  #section-campaign-information .swiper-slide+.swiper-slide {
    margin-left: 0;
  }

  #section-campaign-information .swiper-slide {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    border: none !important;
    border-radius: 0;
    box-shadow: none;
    padding: 0 3px;
    width: 100% !important;
    height: auto !important;
    flex-shrink: 0;
  }

  #section-campaign-information .swiper-button-prev,
  #section-campaign-information .swiper-button-next {
    border: none;
    border-radius: 0;
    box-shadow: none;
    width: var(--size40);
    height: var(--size40);
    position: absolute;
    top: 30%;
    z-index: 10;
    margin-top: 0;
    cursor: pointer;
  }

  #section-campaign-information .swiper-button-disabled {
    opacity: 0.35;
    cursor: default;
  }

  #section-campaign-information .swiper-button-prev::before,
  #section-campaign-information .swiper-button-prev::after {
    content: "";
    position: absolute;
    top: calc(50% - 2px);
    left: 3px;
    width: 18px;
    height: 2px;
    background-color: #666;
    transform-origin: 0% 50%;
  }

  #section-campaign-information .swiper-button-prev::before {
    transform: rotate(-45deg);
  }

  #section-campaign-information .swiper-button-prev::after {
    transform: rotate(45deg);
  }

  #section-campaign-information .swiper-button-next::before,
  #section-campaign-information .swiper-button-next::after {
    content: "";
    position: absolute;
    top: calc(50% - 2px);
    right: 3px;
    width: 18px;
    height: 2px;
    background-color: #666;
    transform-origin: 100% 50%;
    z-index: 10;
  }

  #section-campaign-information .swiper-button-next {
    top: calc(30% - 16px);
    width: 56px;
    height: 72px;
  }

  #section-campaign-information .swiper-button-next::before {
    transform: rotate(45deg);
  }

  #section-campaign-information .swiper-button-next::after {
    transform: rotate(-45deg);
  }

  #section-campaign-information .swiper-button-prev {
    left: var(--size8);
  }

  #section-campaign-information .swiper-button-next {
    right: var(--size8);
  }

  #section-campaign-information .slider-outer .note {
    font-size: max(11px, 2.8vw);
    padding: var(--size8) 0 0;
  }
}

/*
*********************************************************
#section-fanmeeting
*********************************************************
*/
#section-fanmeeting {
  overflow: hidden;
  position: relative;
  margin: var(--size64) auto;
  padding: 0;
}

#section-fanmeeting .fanmeeting-inner {
  position: relative;
  background-image: url("/campaign/autumnfair/images/fanmeeting-bg-pc.webp");
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
  margin: 0 auto;
  padding: var(--size48) clamp(var(--size8), 4vw, var(--size48));
}

#section-fanmeeting .detail-wrap {
  background-color: #fff;
  max-width: 1000px;
  margin: 0 auto;
  padding: var(--size40);
}

#section-fanmeeting .detail-ttl {
  margin: 0;
  color: #009fe8;
  font-size: min(3.6vw, 43px);
  font-weight: bold;
  line-height: 1.15;
  text-align: center;
  white-space: nowrap;
}

#section-fanmeeting .detail-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--size40);
  margin-top: var(--size24);
}

#section-fanmeeting .detail-logo {
  display: block;
  width: min(48.0769230769%, 450px);
  height: auto;
}

#section-fanmeeting .detail-ticket {
  flex: 1;
  color: #32140a;
  font-size: min(1.6vw, 21px);
  line-height: 1.6;
}

#section-fanmeeting .detail-info {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--size16) var(--size32);
  margin: var(--size32) 0 0;
}

#section-fanmeeting .detail-info-item {
  display: flex;
  align-items: center;
  gap: var(--size8);
  min-width: 0;
}

#section-fanmeeting .detail-info-item dt {
  flex: 0 0 auto;
  background-color: #4b83c3;
  color: #fff;
  font-size: min(1.3vw, 17px);
  line-height: 1.2;
  white-space: nowrap;
  padding: 3px var(--size16);
}

#section-fanmeeting .detail-info-item dd {
  color: #231815;
  font-size: min(1.3vw, 17px);
  line-height: 1.2;
  margin: 0;
}

#section-fanmeeting .btn-wrap {
  margin-top: var(--size32) !important;
}

#section-fanmeeting .btn {
  position: relative;
  width: min(100%, 390px);
  color: #fff;
  background-color: #19284d;
}

#section-fanmeeting .btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: var(--size40);
  width: 14px;
  height: 14px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translateY(-50%) rotate(-45deg);
}

/* -------------------------------------- */
/* ----------------- SP ----------------- */
/* -------------------------------------- */
@media (max-width: 768px) {
  #section-fanmeeting {
    margin: var(--size40) 0;
  }

  #section-fanmeeting .fanmeeting-inner {
    background-image: url("/campaign/autumnfair/images/fanmeeting-bg-sp.webp");
    margin: 0;
    padding: var(--size24) var(--size32);
  }

  #section-fanmeeting .detail-wrap {
    padding: var(--size24) var(--size16);
  }

  #section-fanmeeting .detail-ttl {
    font-size: max(18px, 5.8vw);
    line-height: 1.2;
  }

  #section-fanmeeting .detail-main {
    flex-direction: column;
    align-items: stretch;
    gap: var(--size16);
    margin-top: var(--size16);
  }

  #section-fanmeeting .detail-logo {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
  }

  #section-fanmeeting .detail-ticket {
    font-size: max(12px, 3.2vw);
    line-height: 1.5;
  }

  #section-fanmeeting .detail-info {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--size8);
    margin-top: var(--size16);
  }

  #section-fanmeeting .detail-info-item {
    align-items: flex-start;
    gap: var(--size8);
  }

  #section-fanmeeting .detail-info-item dt {
    width: 4em;
    box-sizing: content-box;
    font-size: max(12px, 3.1vw);
    text-align: center;
    padding: 3px var(--size8);
  }

  #section-fanmeeting .detail-info-item dd {
    font-size: max(12px, 3.1vw);
    padding-top: 3px;
  }

  #section-fanmeeting .btn-wrap {
    margin-top: var(--size24) !important;
  }

  #section-fanmeeting .btn {
    width: 100%;
  }
}

@media (max-width: 360px) {
  #section-fanmeeting .fanmeeting-inner {
    padding: var(--size24) var(--size16);
  }

  #section-fanmeeting .detail-ticket {
    font-size: 11px;
  }

  #section-fanmeeting .detail-info-item dt {
    font-size: 11px;
    padding: 3px var(--size8);
  }

  #section-fanmeeting .detail-info-item dd {
    font-size: 11px;
  }

  #section-fanmeeting .btn-wrap {
    padding: 0 var(--size8);
  }
}

/*
*********************************************************
#section-sugdas
*********************************************************
*/
#section-sugdas {
  overflow: hidden;
  position: relative;
  margin: var(--size64) auto;
}

#section-sugdas .sugdas-inner {
  position: relative;
  background-color: #79a6d8;
  margin: 0 auto;
}

#section-sugdas .detail-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: var(--size16);
  row-gap: var(--size8);
  padding: var(--size16) var(--size64) var(--size32);
}

#section-sugdas .detail-ttl {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  color: #32140a;
  font-size: min(2.4vw, 28px);
  text-align: center;
  line-height: 1.4;
}

#section-sugdas .detail-ttl span {
  font-size: min(2.8vw, 34px);
  font-weight: bold;
  white-space: nowrap;
}

#section-sugdas .detail-logo {
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
  display: block;
  width: 100%;
  max-width: 400px;
  height: auto;
}

#section-sugdas .detail-wrap>.btn-wrap {
  grid-column: 1 / -1;
  grid-row: 2;
  justify-self: center;
  width: min(100%, 390px);
  margin: 0;
}

#section-sugdas .btn {
  position: relative;
  width: min(100%, 390px);
  color: #fff;
  background-color: #32140a;
}

#section-sugdas .btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: var(--size40);
  width: 14px;
  height: 14px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translateY(-50%) rotate(-45deg);
}

/* -------------------------------------- */
/* ----------------- SP ----------------- */
/* -------------------------------------- */
@media (max-width: 768px) {
  #section-sugdas {
    margin: var(--size40) 0;
  }

  #section-sugdas .detail-wrap {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    gap: 0;
    padding: var(--size24) var(--size16) var(--size32);
  }

  #section-sugdas .detail-ttl {
    grid-column: 1;
    grid-row: 1;
    font-size: max(16px, 4.5vw);
    line-height: 1.5;
    text-align: center;
  }

  #section-sugdas .detail-ttl span {
    font-size: max(18px, 6vw);
  }

  #section-sugdas .detail-logo {
    grid-column: 1;
    grid-row: 2;
    width: min(100%, 400px);
    margin: 0 auto;
  }

  #section-sugdas .detail-wrap>.btn-wrap {
    grid-column: 1;
    grid-row: 3;
    padding: var(--size8) 0 0;
  }

  #section-sugdas .btn {
    width: calc(100% - 56px);
  }
}

/*
***********************************************************
SNS注意喚起
***********************************************************
*/
#section-notice {
  margin: 0 auto;
  padding: 0;
}

#section-notice .notice-area {
  margin: 0 auto;
}

#section-notice .notice-area .notice-txt {
  text-align: justify !important;
}

@media (max-width: 768px) {
  #section-notice {
    margin: 0 auto;
    padding: 0 var(--size16);
  }

  #section-notice .notice-area {
    max-width: inherit;
    padding: 0;
  }
}

/*
***************************************************************
btn-page-top
***************************************************************
*/
#campaign-contents .btn-page-top {
  position: fixed;
  right: var(--size48);
  bottom: 80px;
  z-index: 1000;
  width: var(--size48);
  height: var(--size48);
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

#campaign-contents .btn-page-top.show {
  opacity: 1;
  visibility: visible;
}

#campaign-contents .btn-page-top img {
  width: var(--size24);
  height: var(--size24);
}

@media (max-width: 768px) {
  #campaign-contents .btn-page-top {
    right: var(--size8);
  }
}

/*
**************************************************
  fixed-menu
**************************************************
*/
#fixedBottomBtn {
  position: fixed;
  bottom: -56px;
  left: 0;
  width: 100%;
  background: rgb(255, 255, 255, 0.9);
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, bottom 0.3s ease, visibility 0.3s ease;
  z-index: 10;
}

#fixedBottomBtn.show {
  bottom: 0px;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

#fixedBottomBtn .btn-wrap-container {
  display: flex;
  justify-content: center;
  gap: 20px;
  padding: var(--size8);
}

#fixedBottomBtn .btn-wrap-container .btn-wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 326px;
  margin-top: 0 !important;
}

#fixedBottomBtn .btn-wrap-container .btn-nml.fixed-btn {
  width: 100%;
  color: var(--white);
}

#fixedBottomBtn .btn-wrap-container .btn-wrap .btn-ttl {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 5px;
}

@media (max-width: 768px) {
  #fixedBottomBtn .btn-wrap-container {
    flex-wrap: nowrap;
    gap: var(--size8);
    padding: var(--size8) 0;
  }

  #fixedBottomBtn .btn-wrap-container .btn-wrap {
    max-width: 375px;
  }

  #fixedBottomBtn .btn-wrap-container .btn-nml.fixed-btn {
    font-size: 16px;
    min-height: var(--size24);
  }

  #fixedBottomBtn .btn-wrap-container .btn-wrap .btn-ttl {
    font-size: 10px;
    margin-bottom: 5px;
  }
}

@media (max-width: 353px) {
  #fixedBottomBtn .btn-wrap-container .btn-wrap .btn-ttl {
    font-size: 8px;
  }
}

/* --------------------- 共通 -------------------- */
#campaign-contents .btn-nml {
  color: var(--white);
}

#campaign-contents .btn-nml:hover {
  opacity: .7;
}

@media (max-width: 768px) {
  #campaign-contents .btn-nml:hover {
    color: #fff;
    opacity: 1;
  }
}

/*
***********************************************************
キャンペーン終了エリア
***********************************************************
*/
/*
  テキストを縦並び＆中央寄せ
  module.css のレイアウトをベースに、余白を最適化
*/
.notice-area-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

#section-notice .notice-area {
  padding-bottom: var(--size32);
}

.notice-area.alert .notice-area-inner {
  padding-top: 10px;
  padding-bottom: 10px;
  margin: 0 var(--size8);
}

@media screen and (max-width: 768px) {
  .notice-area.alert .notice-area-inner {
    margin: 0 var(--size16);
  }

  .notice-area.alert .notice-txt {
    font-size: 16px;
  }
}

/*
***********************************************************
シンプルフッターマージン調整
***********************************************************
*/
.footer.footer-simple {
  margin-top: 0;
}

/*
***********************************************************
PRINT
***********************************************************
*/
#campaign-contents img.pr-img {
  display: none !important;
}

@media print {
  @page {
    margin: 15mm 10mm;
    size: A4 portrait;
  }

  #fixedBottomBtn {
    display: none;
  }

  .swiper-pagination,
  .swiper-button-prev,
  .swiper-button-next {
    display: none !important;
  }

  *, *::before, *::after {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  body {
    font-size: 10pt;
    line-height: 1.6;
    width: 100% !important;
  }

  /* 非表示 */
  header, footer, nav, .global-nav, .breadcrumb,
  #fixedBottomBtn, .cta-following-wrap, .btn-page-top,
  .swiper-button-prev, .swiper-button-next, .swiper-pagination,
  .btn-wrap.testdrive,
  .closeTxt {
    display: none !important;
  }

  /* レイアウト */
  #campaign-contents {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  a[href]::after {
    content: none !important;
  }

  img {
    max-width: 100% !important;
    page-break-inside: avoid;
  }

  h1, h2, h3 {
    page-break-after: avoid;
  }

  section {
    page-break-inside: auto;
  }

  /* アコーディオン共通 */
  details {
    display: block !important;
  }

  details>.acc-contents,
  details>.js-acc-contents {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
  }
}



