@charset "UTF-8";
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, button {
  list-style-type: none;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
}

body {
  scroll-behavior: smooth;
  color: #000;
  -webkit-text-size-adjust: none;
}

img, input[type=image] {
  -webkit-backface-visibility: hidden;
}

img {
  vertical-align: bottom;
}

*, *:before, *:after {
  box-sizing: border-box;
}

a {
  text-decoration: none;
}

button {
  background: unset;
}

main {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 1240px) {
  #contents {
    min-width: 1240px;
    max-width: 1240px;
    margin: 0 auto !important;
    overflow: hidden;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 767px) {
  #contents {
    min-width: 100%;
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
    box-sizing: border-box;
  }
}
#contents .ttl {
  max-width: 1240px;
  width: auto;
  margin: 15px auto 32px;
}
#contents .ttl h1 {
  font-size: 150%;
  line-height: 1.1em;
  letter-spacing: 0.025em;
  padding-bottom: 10px;
  padding: 0 15px !important;
}

.sp_only {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp_only {
    display: block;
  }
}

.pc_only {
  display: block;
}
@media screen and (max-width: 767px) {
  .pc_only {
    display: none;
  }
}

.inview {
  opacity: 0;
  -webkit-transform: translate(0px, 1.5rem);
  transform: translate(0px, 1.5rem);
  -webkit-transition: background-color 0.3s linear, opacity 0.5s linear 0s, -webkit-transform 1.5s ease 0s;
  transition: background-color 0.3s linear, opacity 0.5s linear 0s, -webkit-transform 1.5s ease 0s;
  transition: background-color 0.3s linear, transform 1.5s ease 0s, opacity 0.5s linear 0s;
  transition: background-color 0.3s linear, transform 1.5s ease 0s, opacity 0.5s linear 0s, -webkit-transform 1.5s ease 0s;
}

.inview.view {
  opacity: 1;
  -webkit-transform: translate(0px, 0px);
  transform: translate(0px, 0px);
  will-change: transform;
}

#contents {
  /* ----------------------------------------------------------------
  mainVisual
  ----------------------------------------------------------------- */
  /* ----------------------------------------------------------------
  detailContents
  ----------------------------------------------------------------- */
  /* ----------------------------------------------------------------
  movieContents
  ----------------------------------------------------------------- */
  /* ----------------------------------------------------------------
  campaignContents
  ----------------------------------------------------------------- */
  /* ----------------------------------------------------------------
  sns
  ----------------------------------------------------------------- */
  /* ----------------------------------------------------------------
  printContents
  ----------------------------------------------------------------- */
  /* ----------------------------------------------------------------
  termContents
  ----------------------------------------------------------------- */
}
#contents html, #contents body, #contents div, #contents span, #contents object, #contents iframe, #contents h1, #contents h2, #contents h3, #contents h4, #contents h5, #contents h6, #contents p, #contents blockquote, #contents pre, #contents abbr, #contents address, #contents cite, #contents code, #contents del, #contents dfn, #contents em, #contents img, #contents ins, #contents kbd, #contents q, #contents samp, #contents small, #contents strong, #contents var, #contents b, #contents i, #contents dl, #contents dt, #contents dd, #contents ol, #contents ul, #contents li, #contents fieldset, #contents form, #contents label, #contents legend, #contents table, #contents caption, #contents tbody, #contents tfoot, #contents thead, #contents tr, #contents th, #contents td, #contents article, #contents aside, #contents canvas, #contents details, #contents figcaption, #contents figure, #contents footer, #contents header, #contents hgroup, #contents menu, #contents nav, #contents section, #contents summary, #contents time, #contents mark, #contents audio, #contents video, #contents button {
  list-style-type: none;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
}
#contents body {
  scroll-behavior: smooth;
  color: #000;
  -webkit-text-size-adjust: none;
}
#contents img, #contents input[type=image] {
  -webkit-backface-visibility: hidden;
}
#contents img {
  vertical-align: bottom;
}
#contents *, #contents *:before, #contents *:after {
  box-sizing: border-box;
}
#contents a {
  text-decoration: none;
}
#contents button {
  background: unset;
}
#contents main {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1240px) {
  #contents #contents {
    min-width: 1240px;
    max-width: 1240px;
    margin: 0 auto !important;
    overflow: hidden;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 767px) {
  #contents #contents {
    min-width: 100%;
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
    box-sizing: border-box;
  }
}
#contents #contents .ttl {
  max-width: 1240px;
  width: auto;
  margin: 15px auto 32px;
}
#contents #contents .ttl h1 {
  font-size: 150%;
  line-height: 1.1em;
  letter-spacing: 0.025em;
  padding-bottom: 10px;
  padding: 0 15px !important;
}
#contents .sp_only {
  display: none;
}
@media screen and (max-width: 767px) {
  #contents .sp_only {
    display: block;
  }
}
#contents .pc_only {
  display: block;
}
@media screen and (max-width: 767px) {
  #contents .pc_only {
    display: none;
  }
}
#contents .inview {
  opacity: 0;
  -webkit-transform: translate(0px, 1.5rem);
  transform: translate(0px, 1.5rem);
  -webkit-transition: background-color 0.3s linear, opacity 0.5s linear 0s, -webkit-transform 1.5s ease 0s;
  transition: background-color 0.3s linear, opacity 0.5s linear 0s, -webkit-transform 1.5s ease 0s;
  transition: background-color 0.3s linear, transform 1.5s ease 0s, opacity 0.5s linear 0s;
  transition: background-color 0.3s linear, transform 1.5s ease 0s, opacity 0.5s linear 0s, -webkit-transform 1.5s ease 0s;
}
#contents .inview.view {
  opacity: 1;
  -webkit-transform: translate(0px, 0px);
  transform: translate(0px, 0px);
  will-change: transform;
}
#contents .mainVisual picture {
  width: 1222px;
  margin: -515px auto 0;
  display: block;
  position: relative;
  padding-right: 120px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  #contents .mainVisual picture {
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
}
#contents .mainVisualBg {
  background-color: #d2ecfa;
  height: 499px;
  position: relative;
}
#contents .mainVisualBg::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: radial-gradient(#b0e4f9 20%, transparent 20%), radial-gradient(#b0e4f9 20%, transparent 20%);
  background-size: 14px 14px;
  background-position: 0 0, 6px 6px;
  width: 100%;
  height: 100%;
}
#contents .detailContents {
  width: 1240px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #contents .detailContents {
    width: 100%;
  }
}
#contents .detailContentsTxt {
  font-size: 1.44rem;
  font-weight: 700;
  color: #595757;
  text-align: center;
  position: relative;
  line-height: 1.7391304348;
}
@media screen and (max-width: 767px) {
  #contents .detailContentsTxt {
    font-size: 4.2666666667vw;
  }
}
#contents .detailContents a:hover {
  opacity: 0.8;
}
#contents .detailContentsBnr {
  width: 100%;
  margin: 20px auto 25px;
  display: block;
}
@media screen and (max-width: 767px) {
  #contents .detailContentsBnr {
    margin-top: 0;
  }
}
#contents .detailContents .nengaContentsBnr {
  width: 100%;
  margin: 50px auto 0;
  display: block;
}
@media screen and (max-width: 767px) {
  #contents .detailContents .nengaContentsBnr {
    margin-top: 8vw;
  }
}
#contents .movieContents {
  position: relative;
  padding-bottom: 27px;
}
@media screen and (max-width: 767px) {
  #contents .movieContents {
    padding-bottom: 3.2vw;
  }
}
#contents .movieContentsBg {
  background-image: url("/ec/event/kbpk2025/images/oshikatsu_bg_02.png");
  background-repeat: no-repeat;
  background-size: cover;
  height: 440px;
  width: 100%;
  position: absolute;
  bottom: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  #contents .movieContentsBg {
    background-image: url("/ec/event/kbpk2025/images/sp/oshikatsu_bg_02.png");
    height: 52.8vw;
  }
}
#contents .movieContents h2 {
  width: 682px;
  margin: 0 auto 25px;
}
@media screen and (max-width: 767px) {
  #contents .movieContents h2 {
    width: 76vw;
    margin-bottom: 5.2vw;
  }
}
#contents .movieContents .slider {
  width: 748px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #contents .movieContents .slider {
    width: 100%;
  }
}
#contents .movieContents .sliderWrapper {
  overflow: hidden;
}
#contents .movieContents .slider__content {
  display: flex;
  flex-direction: column;
  width: 684px;
  height: 480px;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  #contents .movieContents .slider__content {
    width: 69.4666666667vw;
    height: 54.9333333333vw;
  }
}
@media screen and (max-width: 767px) {
  #contents .movieContents .slider__content picture {
    width: 69.4666666667vw;
  }
}
#contents .movieContents .slider__content iframe {
  width: 682px;
  height: 384px;
}
@media screen and (max-width: 767px) {
  #contents .movieContents .slider__content iframe {
    width: 69.3333333333vw;
    height: 38.9333333333vw;
  }
}
#contents .movieContents .slider__content .slider__text {
  font-size: 19px;
  background: #fff;
  padding: 22px 40px 11px 19px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  #contents .movieContents .slider__content .slider__text {
    width: 69.3333333333vw;
    font-size: 2.5333333333vw;
    padding: 2.9333333333vw 3.4666666667vw 1.4666666667vw 2.5333333333vw;
  }
}
#contents .movieContents .slick-list {
  overflow: visible !important;
}
#contents .movieContents .slick-slide {
  transition: transform 0.5s ease, opacity 0.5s ease;
  opacity: 0.5;
  transform: scale(0.8) rotateY(20deg) translateY(90px);
}
#contents .movieContents .slick-center {
  transform: scale(1) rotateY(0deg);
  opacity: 1;
  z-index: 2;
}
#contents .movieContents .slick-prev,
#contents .movieContents .slick-next {
  position: absolute;
  z-index: 10;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background: url("/ec/event/kbpk2025/images/arrow.svg") no-repeat center/contain;
  border: none;
  cursor: pointer;
  padding: 0;
  transition: 250ms ease-in-out;
  pointer-events: auto;
}
#contents .movieContents .slick-prev:focus-visible,
#contents .movieContents .slick-next:focus-visible {
  outline: 2px solid #000;
  outline-offset: 4px;
}
@media screen and (max-width: 767px) {
  #contents .movieContents .slick-prev,
  #contents .movieContents .slick-next {
    display: block;
    top: 35%;
    transform: translateY(-35%);
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
}
#contents .movieContents .slick-prev.slick-disabled,
#contents .movieContents .slick-next.slick-disabled {
  opacity: 0.7;
  pointer-events: none;
}
#contents .movieContents .slick-prev::before,
#contents .movieContents .slick-next::before {
  content: none !important;
}
@media screen and (min-width: 769px) {
  #contents .movieContents .slick-prev:hover,
  #contents .movieContents .slick-next:hover {
    opacity: 0.7;
    scale: 0.9;
  }
}
#contents .movieContents .slick-prev {
  left: -30px;
  transform: translateY(-50%) rotate(180deg);
}
@media screen and (max-width: 767px) {
  #contents .movieContents .slick-prev {
    left: 5.3333333333vw;
  }
}
#contents .movieContents .slick-next {
  right: -30px;
}
@media screen and (max-width: 767px) {
  #contents .movieContents .slick-next {
    right: 5.3333333333vw;
  }
}
#contents .campaignContents {
  width: 1240px;
  margin: 0 auto;
  padding: 100px 0 90px;
}
@media screen and (max-width: 767px) {
  #contents .campaignContents {
    width: 100%;
    padding: 9.6vw 0 3.2vw;
  }
}
#contents .campaignContentsBg {
  width: 100%;
  background-color: #68d5fc;
  margin: 0 auto;
  position: relative;
  border-radius: 25px;
  z-index: 0;
  padding-bottom: 67px;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsBg {
    width: 92vw;
    padding: 0;
  }
}
#contents .campaignContentsBg::after {
  content: "";
  background-image: repeating-linear-gradient(145deg, #45CBFF, #45CBFF 12px, transparent 12px, transparent 24px);
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 25px;
}
#contents .campaignContentsInner {
  position: relative;
  top: 0;
  left: 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsInner {
    top: -7.0666666667vw;
  }
}
#contents .campaignContentsInner h2 {
  width: 735px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsInner h2 {
    width: 100vw;
    margin-left: -4vw;
  }
}
#contents .campaignContentsInner .jsLimit {
  display: none;
}
#contents .campaignContentsTxt {
  font-size: 1.4rem;
  margin: -66px auto 0;
  color: #fff;
  text-align: center;
  text-shadow: -2px -2px 0 #1e9ee6, -1px -2px 0 #1e9ee6, 0px -2px 0 #1e9ee6, 1px -2px 0 #1e9ee6, 2px -2px 0 #1e9ee6, -2px -1px 0 #1e9ee6, -1px -1px 0 #1e9ee6, 0px -1px 0 #1e9ee6, 1px -1px 0 #1e9ee6, 2px -1px 0 #1e9ee6, -2px 0px 0 #1e9ee6, -1px 0px 0 #1e9ee6, 1px 0px 0 #1e9ee6, 2px 0px 0 #1e9ee6, -2px 1px 0 #1e9ee6, -1px 1px 0 #1e9ee6, 0px 1px 0 #1e9ee6, 1px 1px 0 #1e9ee6, 2px 1px 0 #1e9ee6, -2px 2px 0 #1e9ee6, -1px 2px 0 #1e9ee6, 0px 2px 0 #1e9ee6, 1px 2px 0 #1e9ee6, 2px 2px 0 #1e9ee6;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsTxt {
    font-size: 4.2666666667vw;
    margin-top: -6.8vw;
  }
}
#contents .campaignContentsDetail {
  display: flex;
  justify-content: center;
  margin: 10px auto 0;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsDetail {
    flex-direction: column;
    margin-top: 5.6vw;
  }
}
#contents .campaignContentsDetail > p {
  flex-basis: 382px;
  position: relative;
  font-size: 1.25rem;
  font-weight: 500;
  padding-top: 35px;
  padding-left: 18px;
  color: #4d4d4d;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsDetail > p {
    width: 84vw;
    height: 27.0666666667vw;
    font-size: 4.2666666667vw;
    flex-basis: auto;
    margin: 0 auto;
    text-align: center;
    padding: 2.4vw 0 0 0;
    line-height: 1.3125;
  }
}
#contents .campaignContentsDetail > p::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: url("/ec/event/kbpk2025/images/oshikatsu_present_02.svg");
  background-repeat: no-repeat;
  filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.3));
  width: 382px;
  height: 192px;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsDetail > p::after {
    background-image: url("/ec/event/kbpk2025/images/sp/oshikatsu_present_02.svg");
    width: 84vw;
    height: 29.7333333333vw;
    filter: drop-shadow(1.3333333333vw 1.3333333333vw 1.3333333333vw rgba(0, 0, 0, 0.3));
    font-size: 4.2666666667vw;
  }
}
#contents .campaignContentsDetail > picture {
  flex-basis: 386px;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsDetail > picture {
    flex-basis: 100%;
    margin-top: 2.6666666667vw;
  }
}
#contents .campaignContentsDetail > dl {
  flex-basis: 318px;
  margin-top: 63px;
  margin-left: 21px;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsDetail > dl {
    flex-basis: 100%;
    margin: 0 4vw;
  }
}
#contents .campaignContentsDetail > dl dt {
  font-size: 1.3rem;
  font-weight: bold;
  padding-bottom: 0.15rem;
  text-align: center;
  border-bottom: 2px dotted #fff;
  color: #fff;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsDetail > dl dt {
    font-size: 4.2666666667vw;
  }
}
#contents .campaignContentsDetail > dl dd {
  padding-top: 12px;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsDetail > dl dd {
    padding: 0;
  }
}
#contents .campaignContentsBox {
  width: 1105px;
  margin: 33px auto 0;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsBox {
    width: 84vw;
    margin-top: 4.6666666667vw;
  }
}
#contents .campaignContentsTxtBox {
  flex: 1;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsTxtBox {
    width: 78.6666666667vw;
    margin: 0 auto;
    border-top: dotted 2px #595757;
  }
}
#contents .campaignContentsTxtBox > picture {
  width: 164px;
  display: block;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsTxtBox > picture {
    width: 20.8vw;
    margin-left: -1.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsTxtBox > picture:first-child {
    margin-top: 1.3333333333vw;
  }
}
#contents .campaignContentsTxtBox > div {
  display: flex;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsTxtBox > div {
    flex-wrap: wrap;
  }
}
#contents .campaignContentsTxtBox > div > p {
  display: flex;
  align-items: center;
  white-space: nowrap;
  font-size: 1.3rem;
  color: #595757;
  margin: 16px 0;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsTxtBox > div > p {
    font-size: 4.2666666667vw;
    margin: 0 0 2.1333333333vw 0;
    align-items: normal;
  }
}
#contents .campaignContentsTxtBox > div > p > picture {
  width: 90px;
  margin: 0 12px;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsTxtBox > div > p > picture {
    width: 11.7333333333vw;
    margin: 0 1.6vw 0 0;
  }
}
#contents .campaignContentsTxtBox > div > p > span {
  line-height: 1.5238095238;
}
#contents .campaignContentsTxtBox > div > p > span > a {
  color: #005AB4;
}
#contents .campaignContentsTxtBox > div > p > span > a:hover {
  text-decoration: underline;
}
#contents .campaignContentsTxtBox > div > p > span img {
  width: auto;
  height: auto;
  vertical-align: baseline;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsTxtBox > div > p > span {
    padding: 0 !important;
    line-height: 1.4545454545;
  }
}
#contents .campaignContentsTxtBox > div > p:first-child > span:last-child {
  padding-left: 12px;
}
#contents .campaignContentsTxtBox > div > p:last-child > span:last-child {
  padding-left: 46px;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsTxtBox > div > p:last-child > span:last-child {
    align-self: flex-end;
  }
}
#contents .campaignContentsTxtBox > p {
  font-size: 1.3rem;
  display: block;
  color: #595757;
  margin: 0 0 16px 12px;
  line-height: 1.8095238095;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsTxtBox > p {
    font-size: 4.2666666667vw;
    margin: 0 0 4vw 0;
    padding: 0;
    line-height: 1.5454545455;
  }
}
#contents .campaignContentsTxtBox > p span {
  color: #c8448e;
}
#contents .campaignContentsTxtBox > dl {
  display: flex;
  align-items: center;
  color: #595757;
  font-size: 1.3rem;
  margin-left: 12px;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsTxtBox > dl {
    flex-wrap: wrap;
    margin: 0;
  }
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsTxtBox > dl dt,
  #contents .campaignContentsTxtBox > dl dd {
    font-size: 4.2666666667vw;
  }
}
#contents .campaignContentsTxtBox > dl:nth-child(5) dt {
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsTxtBox > dl:nth-child(5) dt {
    background-color: #d8e4ea;
    margin: 0 0 2.8vw 0;
  }
}
#contents .campaignContentsTxtBox > dl:nth-child(5) dd {
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsTxtBox > dl:nth-child(5) dd {
    margin: 0 0 5.4666666667vw 0;
  }
}
#contents .campaignContentsTxtBox > dl:nth-child(6), #contents .campaignContentsTxtBox > dl:nth-child(7) {
  display: none;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsTxtBox > dl:nth-child(6), #contents .campaignContentsTxtBox > dl:nth-child(7) {
    display: flex;
  }
}
#contents .campaignContentsTxtBox > dl:nth-child(6) dt, #contents .campaignContentsTxtBox > dl:nth-child(7) dt {
  border-bottom: dotted 2px #595757;
}
#contents .campaignContentsTxtBox > dl:nth-child(6) dd, #contents .campaignContentsTxtBox > dl:nth-child(7) dd {
  padding-top: 1rem;
  padding-bottom: 4vw;
  letter-spacing: 0.025em;
  line-height: 1.25;
}
#contents .campaignContentsTxtBox > dl dt {
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  text-orientation: mixed;
  border-right: solid 1px #595757;
  padding-right: 0.25em;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsTxtBox > dl dt {
    width: 100%;
    text-align: center;
    writing-mode: horizontal-tb;
    -webkit-writing-mode: horizontal-tb;
    text-orientation: mixed;
    border: none;
  }
}
#contents .campaignContentsTxtBox > dl dd {
  padding-left: 0.25em;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsTxtBox > dl dd {
    padding: 0;
  }
}
#contents .campaignContentsTxtBox > dl dd ul li {
  padding-left: 1em;
  position: relative;
  line-height: 1.8095238095;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsTxtBox > dl dd ul li {
    font-size: 4.2666666667vw;
    line-height: 1.5;
  }
}
#contents .campaignContentsTxtBox > dl dd ul li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
#contents .campaignContentsTxtBox > a {
  display: none;
  color: #595757;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsTxtBox > a {
    display: block;
    background-color: #d6eaff;
    padding: 1.3333333333vw 0;
    font-size: 4.2666666667vw;
    text-align: center;
    border-radius: 50px;
    margin-bottom: 4vw;
    letter-spacing: 0.45em;
    position: relative;
    font-weight: 700;
  }
  #contents .campaignContentsTxtBox > a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 23.3333333333vw;
    transform: translateY(-50%);
    background-image: url("/common/img/ico_img_04.svg");
    background-size: cover;
    width: 2.6666666667vw;
    height: 2.6666666667vw;
  }
}
#contents .campaignContentsTxtBox > a:hover {
  opacity: 0.8;
}
#contents .campaignContentsItem {
  background-color: #fff;
  border-radius: 25px;
  position: relative;
  width: 100%;
}
#contents .campaignContentsItem:first-child {
  margin-bottom: 19px;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsItem:first-child > div > picture:first-child {
    margin: 0;
  }
}
#contents .campaignContentsItem:first-child > div .campaignContentsTxtBox {
  margin-top: -16px;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsItem:first-child > div .campaignContentsTxtBox {
    margin-top: 0;
  }
}
#contents .campaignContentsItem:last-child {
  padding-bottom: 20px;
}
#contents .campaignContentsItem:last-child > div > picture:first-child {
  width: 561px;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsItem:last-child > div > picture:first-child {
    width: 84vw;
  }
}
#contents .campaignContentsItem:last-child > div .campaignContentsTxtBox > p > picture:last-child {
  width: 328px;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsItem:last-child > div .campaignContentsTxtBox > p > picture:last-child {
    width: 55.2vw;
  }
}
#contents .campaignContentsItem > div {
  display: flex;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsItem > div {
    flex-direction: column;
  }
}
#contents .campaignContentsItem > div > picture {
  display: block;
}
#contents .campaignContentsItem > div > picture:first-child {
  width: 77px;
}
@media screen and (max-width: 767px) {
  #contents .campaignContentsItem > div > picture:first-child {
    width: 84vw;
  }
}
#contents .campaignContentsItem > dl {
  display: flex;
  align-items: center;
  font-size: 1.3rem;
  color: #595757;
  margin: 0 20px;
  padding: 16px 0;
}
#contents .campaignContentsItem > dl dt {
  flex: none;
  font-weight: 400;
  line-height: 3;
  border-right: solid 1px #595757;
  padding-right: 0.75rem;
}
#contents .campaignContentsItem > dl dd {
  flex: 1;
  padding-left: 0.75rem;
}
#contents .campaignContentsItem > dl:nth-child(2) {
  border-top: dotted 2px #595757;
  padding-left: 0.5em;
}
#contents .campaignContentsItem > dl:nth-child(2) dd {
  font-size: 1.1rem;
}
#contents .campaignContentsItem > dl:nth-child(2) dt {
  padding-right: 1.35rem;
}
#contents .campaignContentsItem > a {
  display: block;
  background-color: #d6eaff;
  color: #595757;
  margin: 0 20px;
  padding: 16px 0;
  font-size: 1.3rem;
  font-weight: 700;
  text-align: center;
  border-radius: 50px;
  letter-spacing: 0.45em;
  position: relative;
}
#contents .campaignContentsItem > a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 433px;
  transform: translateY(-50%);
  background-image: url("/common/img/ico_img_04.svg");
  background-size: cover;
  width: 20px;
  height: 20px;
}
#contents .campaignContentsItem > a:hover {
  opacity: 0.8;
}
#contents .sns {
  width: 1240px;
  margin: 100px auto;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #contents .sns {
    max-width: 91%;
    margin: 0 auto;
    margin: 50px auto;
  }
}
#contents .sns h3 {
  font-size: 172%;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #contents .sns h3 {
    max-width: 200px;
    margin: 0 auto;
  }
}
#contents .sns ul {
  display: flex;
  align-items: center;
  max-width: 370px;
  margin: 45px auto;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #contents .sns ul {
    min-width: 320px;
    max-width: 370px;
    margin: 10px auto 25px auto;
  }
}
#contents .sns ul li {
  float: left;
  width: 25%;
  text-align: center;
}
#contents .sns ul li img {
  width: auto;
  height: revert-layer;
}
#contents .sns .snsLink {
  display: block;
  width: 348px;
  overflow: hidden;
  margin: 0 auto;
  padding-right: 20px;
  font-size: 143%;
  background: url(/common/images/ico_pop_04.png) no-repeat 100% 50%;
}
@media screen and (max-width: 767px) {
  #contents .sns .snsLink {
    display: block;
    width: 200px;
    overflow: hidden;
    margin: 0 auto;
    padding-right: 20px;
    font-size: 143%;
    text-align: center;
    background: url(/common/images/ico_pop_04.png) no-repeat 100% 100% 50%;
  }
}
#contents .sns .snsLink:hover {
  text-decoration: underline;
}
#contents .printContents {
  position: relative;
  z-index: 2;
}
#contents .printContents h2 {
  width: 928px;
  margin: 0 auto 38px;
}
@media screen and (max-width: 767px) {
  #contents .printContents h2 {
    width: 67.8666666667vw;
    margin-bottom: 6.6666666667vw;
  }
}
#contents .printContents > div {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 38px;
}
@media screen and (max-width: 767px) {
  #contents .printContents > div {
    align-items: normal;
    flex-wrap: wrap;
    gap: 2.6666666667vw;
  }
}
#contents .printContents > div:nth-child(2) {
  margin-bottom: 46px;
}
@media screen and (max-width: 767px) {
  #contents .printContents > div:nth-child(2) {
    width: 76.8vw;
    margin: 0 auto;
    flex-direction: column;
  }
}
#contents .printContents > div:nth-child(2) > p {
  font-size: 1.3rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  #contents .printContents > div:nth-child(2) > p {
    font-size: 4.2666666667vw;
  }
}
#contents .printContents > div:nth-child(2) > p:first-child span {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 51px;
  height: 68px;
  margin-left: 14px;
}
@media screen and (max-width: 767px) {
  #contents .printContents > div:nth-child(2) > p:first-child span {
    width: 8.2666666667vw;
    height: 10.9333333333vw;
    margin-left: 1.4666666667vw;
  }
}
#contents .printContents > div:nth-child(2) > p:first-child span::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: url("/ec/event/kbpk2025/images/oshikatsu_print_02.svg");
  background-repeat: no-repeat;
  width: 51px;
  height: 68px;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  #contents .printContents > div:nth-child(2) > p:first-child span::after {
    width: 8.2666666667vw;
    height: 10.9333333333vw;
  }
}
@media screen and (max-width: 767px) {
  #contents .printContents > div:nth-child(2) > p:last-child {
    margin: 0 0 9.4666666667vw 0;
  }
}
@media screen and (max-width: 767px) {
  #contents .printContents > div:nth-child(2) > p:last-child span {
    padding-left: 5em;
  }
}
#contents .printContents > div:nth-child(3) {
  flex-wrap: wrap;
  justify-content: normal;
  width: 1240px;
  gap: 30px;
  margin: 0 auto 77px;
}
@media screen and (max-width: 767px) {
  #contents .printContents > div:nth-child(3) {
    width: 92vw;
    margin-bottom: 10.6666666667vw;
  }
}
#contents .printContents > div:nth-child(3) > div {
  background-color: #fff;
  width: calc((100% - 60px) / 3);
  padding: 0 20px 20px;
}
@media screen and (max-width: 767px) {
  #contents .printContents > div:nth-child(3) > div {
    width: 100%;
    padding: 0;
  }
}
#contents .printContents > div:nth-child(3) > div picture {
  display: block;
}
#contents .printContents > div:nth-child(3) > div a {
  display: flex;
  justify-content: right;
  padding: 16px 30px 16px 0;
  border-radius: 5px;
  background: #ed8f26;
  color: #fff;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  #contents .printContents > div:nth-child(3) > div a {
    padding: 1.3333333333vw 6.1333333333vw 1.3333333333vw 0;
    font-size: 4.2666666667vw;
    margin: 0 2.6666666667vw 2.6666666667vw;
  }
}
#contents .printContents > div:nth-child(3) > div a:hover {
  opacity: 0.8;
}
#contents .printContents > div:nth-child(3) > div a span:first-child {
  padding-right: 64px;
  border-right: 1px solid #fff;
}
@media screen and (max-width: 767px) {
  #contents .printContents > div:nth-child(3) > div a span:first-child {
    padding-right: 10.2666666667vw;
  }
}
#contents .printContents > div:nth-child(3) > div a span:last-child {
  padding-left: 16px;
}
@media screen and (max-width: 767px) {
  #contents .printContents > div:nth-child(3) > div a span:last-child {
    padding-left: 4.2666666667vw;
  }
}
@media screen and (max-width: 767px) {
  #contents .printContents > div:nth-child(3) > div > div {
    display: flex;
    flex: 1;
  }
}
#contents .printContents > div:nth-child(3) > div:first-child picture:first-child {
  width: 393px;
  margin-left: -20px;
}
@media screen and (max-width: 767px) {
  #contents .printContents > div:nth-child(3) > div:first-child picture:first-child {
    width: 100%;
    margin: -6.6666666667vw 0 0 0;
  }
}
@media screen and (max-width: 767px) {
  #contents .printContents > div:nth-child(3) > div:first-child picture:last-child {
    width: 100%;
  }
}
#contents .printContents > div:nth-child(3) > div:first-child a {
  margin-top: 99px;
}
@media screen and (max-width: 767px) {
  #contents .printContents > div:nth-child(3) > div:first-child a {
    margin-top: 0;
  }
}
#contents .printContents > div:nth-child(3) > div:nth-child(n+2) picture:first-child {
  width: 452px;
  margin-left: -50px;
}
@media screen and (max-width: 767px) {
  #contents .printContents > div:nth-child(3) > div:nth-child(n+2) picture:first-child {
    width: 50.1333333333vw;
    margin-left: -4vw;
  }
}
@media screen and (max-width: 767px) {
  #contents .printContents > div:nth-child(3) > div:nth-child(n+2) picture:last-child {
    width: 46vw;
  }
}
#contents .printContents > div:nth-child(3) > div:nth-child(n+2) a {
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  #contents .printContents > div:nth-child(3) > div:nth-child(n+2) a {
    margin-top: 0;
  }
}
#contents .printContents > div:nth-child(5) {
  width: 656px;
  margin: 0 auto;
  display: block;
}
@media screen and (max-width: 767px) {
  #contents .printContents > div:nth-child(5) {
    width: 87.4666666667vw;
  }
}
#contents .printContents > div:nth-child(5) > a:hover {
  opacity: 0.8;
}
#contents .printContents > div:last-child {
  display: block;
}
#contents .printContents h3 {
  font-size: 1.65rem;
  text-align: center;
  line-height: 1.7692307692;
  color: #1b274e;
  white-space: nowrap;
}
#contents .printContents h3:nth-child(4) {
  margin-bottom: 36px;
}
@media screen and (max-width: 767px) {
  #contents .printContents h3:nth-child(4) {
    margin-bottom: 4vw;
  }
}
@media screen and (max-width: 767px) {
  #contents .printContents h3 {
    font-size: 3.6vw;
    line-height: 1.6666666667;
  }
}
#contents .termContents {
  width: 1240px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #contents .termContents {
    width: 92vw;
  }
}
#contents .termContents h2 {
  border: solid 1px #e5e5e5;
  border-top: solid 4px #4094e9;
  color: #333333;
  font-size: 20px;
  font-weight: bold;
  padding: 12px 0 10px 14px;
  margin: 30px auto 20px;
}
@media screen and (max-width: 767px) {
  #contents .termContents h2 {
    font-size: 4.2666666667vw;
  }
}
#contents .termContents h3,
#contents .termContents p,
#contents .termContents ul,
#contents .termContents ol {
  margin-bottom: 1rem;
}
#contents .termContents h3,
#contents .termContents p,
#contents .termContents li {
  line-height: 1.5;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  #contents .termContents h3,
  #contents .termContents p,
  #contents .termContents li {
    font-size: 4.2666666667vw;
  }
}

@media screen and (max-width: 767px) {
  #contents.kbpk2025 {
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  #contents {
    overflow: hidden;
  }
}
#contents .onlyPC {
  display: block;
}
@media screen and (max-width: 767px) {
  #contents .onlyPC {
    display: none;
  }
}
#contents .onlySP {
  display: none;
}
@media screen and (max-width: 767px) {
  #contents .onlySP {
    display: block;
  }
}
#contents .inner {
  width: 1240px;
  margin: 0 auto;
  padding: 0;
}
@media screen and (max-width: 767px) {
  #contents .inner {
    width: 100%;
  }
}
#contents img {
  width: 100%;
  height: auto;
}
#contents .dot {
  background-color: #fff;
  background-image: radial-gradient(#b0e4f9 20%, transparent 20%), radial-gradient(#b0e4f9 20%, transparent 20%);
  background-size: 14px 14px;
  background-position: 0 0, 6px 6px;
}
#contents .topics {
  box-sizing: border-box;
  background-color: #d2ecfa;
  padding: 24px 0 84px;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  #contents .topics {
    padding: 5.8666666667vw 4vw 9.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  #contents .topics .inner {
    display: contents;
  }
}
#contents .topics a {
  display: block;
}
#contents .topics .topicsTtl {
  width: 942px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #contents .topics .topicsTtl {
    width: 100%;
  }
}
#contents .topics .topicsDetail {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 22px;
  margin-top: 33px;
}
@media screen and (max-width: 767px) {
  #contents .topics .topicsDetail {
    flex-direction: column;
    gap: 3.2vw;
    margin-top: 4.4vw;
  }
}
#contents .topics .topicsDetail p {
  width: 508px;
}
@media screen and (max-width: 767px) {
  #contents .topics .topicsDetail p {
    width: 60.4vw;
  }
}
#contents .topics .topicsDetail p picture:first-child {
  width: 100%;
  display: block;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  #contents .topics .topicsDetail p picture:first-child {
    margin: 0 auto 3.0666666667vw;
  }
}
#contents .topics .topicsDetail p picture:last-child {
  width: 435px;
  display: block;
}
@media screen and (max-width: 767px) {
  #contents .topics .topicsDetail p picture:last-child {
    width: 54.4vw;
    margin: 0 auto;
  }
}
#contents .topics .topicsDetail table {
  width: 412px;
}
@media screen and (max-width: 767px) {
  #contents .topics .topicsDetail table {
    width: 82.2666666667vw;
  }
}
#contents .topics .topicsDetail table th, #contents .topics .topicsDetail table td {
  text-align: center;
  vertical-align: middle;
  padding: 5px 0;
  color: #595858;
}
@media screen and (max-width: 767px) {
  #contents .topics .topicsDetail table th, #contents .topics .topicsDetail table td {
    font-size: 2.9333333333vw;
  }
}
#contents .topics .topicsDetail table tr:first-child {
  background-color: #fffbce;
}
#contents .topics .topicsDetail table tr:nth-child(n+2) {
  background-color: #fff;
}
#contents .topics .topicsDetail table tr:not(:first-child):not(:last-child) {
  border-bottom: 1px solid #000;
}
#contents .topics .topicsDetail table tr th:first-child, #contents .topics .topicsDetail table tr td:first-child {
  border-right: 1px dotted #000;
}
#contents .topics .topicsNote {
  width: 800px;
  margin: 16px auto 0 136px;
}
#contents .topics .topicsNote li {
  display: block;
  padding-left: 3em;
  position: relative;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  #contents .topics .topicsNote li {
    font-size: 2.9333333333vw;
  }
}
#contents .topics .topicsNote li::before {
  content: "（注）";
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  #contents .topics .topicsNote {
    width: 100%;
    font-size: 2.9333333333vw;
    margin: 2.9333333333vw auto 1.7333333333vw;
  }
}
#contents .topics .contents {
  background-color: #fff;
  padding: 20px 16px;
  border-radius: 20px;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents {
    padding: 1.3333333333vw 2.6666666667vw 2.6666666667vw;
    border-radius: 2.6666666667vw;
  }
}
#contents .topics .contentsTtl {
  width: 100%;
}
#contents .topics .contents01 {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック体", "Yu Gothic", YuGothic, Helvetica, Arial, sans-serif;
  margin-top: 44px;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents01 {
    margin-top: 2.6666666667vw;
  }
}
#contents .topics .contents01 .contentsTxt {
  margin-top: 15px;
  width: 831px;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents01 .contentsTxt {
    margin-top: 3.2vw;
    width: 100%;
  }
}
#contents .topics .contents01 .contentsBox {
  display: flex;
  align-items: center;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents01 .contentsBox {
    flex-direction: column;
  }
}
#contents .topics .contents01 .productImg {
  width: 100%;
}
#contents .topics .contents01 .productImg img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents01 .productImg {
    width: 100%;
    margin-left: 2.6666666667vw;
    margin-top: -26.6666666667vw;
    z-index: 1;
  }
}
#contents .topics .contents01 .link {
  display: inline-block;
}
#contents .topics .contents01 .link:hover {
  text-decoration: underline;
}
#contents .topics .contents01 .contentsTable {
  position: relative;
  width: 100%;
  border-collapse: collapse;
  margin-top: 16px;
  font-size: 1.12rem;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents01 .contentsTable {
    margin-top: 2.6666666667vw;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    font-size: 2.9333333333vw;
  }
}
@media screen and (max-width: 767px) {
  #contents .topics .contents01 .contentsTable:nth-child(5) {
    margin-top: 4.8vw;
  }
}
@media screen and (max-width: 767px) {
  #contents .topics .contents01 .contentsTable tr:nth-child(n+2) th {
    writing-mode: vertical-rl;
    height: fit-content;
  }
}
@media screen and (max-width: 767px) {
  #contents .topics .contents01 .contentsTable tr:nth-child(-n+2) th,
  #contents .topics .contents01 .contentsTable tr:nth-child(-n+2) td {
    border-bottom: 0.2666666667vw;
    border-bottom-style: dotted;
  }
}
@media screen and (max-width: 767px) {
  #contents .topics .contents01 .contentsTable tr:nth-child(-n+2) th {
    border-bottom-color: #fff;
  }
}
@media screen and (max-width: 767px) {
  #contents .topics .contents01 .contentsTable tr:nth-child(-n+2) td {
    border-bottom-color: #000;
    padding-left: 3.8666666667vw;
  }
}
@media screen and (max-width: 767px) {
  #contents .topics .contents01 .contentsTable tr:last-child td {
    padding-left: 1.7333333333vw;
  }
}
#contents .topics .contents01 .contentsTable th,
#contents .topics .contents01 .contentsTable td {
  padding: 8px;
  height: 100%;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents01 .contentsTable th,
  #contents .topics .contents01 .contentsTable td {
    vertical-align: middle;
    height: auto;
  }
}
#contents .topics .contents01 .contentsTable th {
  border-right: 1px dotted #fff;
  background-color: #c69c6d;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents01 .contentsTable th {
    width: 5%;
    line-height: 1;
    border-right: none;
  }
}
#contents .topics .contents01 .contentsTable th:last-child {
  border-right: none;
}
#contents .topics .contents01 .contentsTable td {
  border-right: 1px dotted #000;
  border-bottom: 1px solid #000;
  text-align: left;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents01 .contentsTable td {
    padding-top: 2.1333333333vw;
    padding-bottom: 2.1333333333vw;
  }
}
#contents .topics .contents01 .contentsTable td:last-child {
  border-right: none;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents01 .contentsTable td:last-child {
    border: none;
  }
}
@media screen and (max-width: 767px) {
  #contents .topics .contents01 .contentsTable ul li {
    padding-left: 1em;
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  #contents .topics .contents01 .contentsTable ul li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
  }
}
#contents .topics .contents01 .contentsTable .plan {
  width: 370px;
}
#contents .topics .contents01 .contentsTable .price {
  width: 228px;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents01 .contentsTable .col .plan {
    width: 4.2666666667vw;
    height: 11.3333333333vw;
  }
  #contents .topics .contents01 .contentsTable .col .price {
    width: 4.2666666667vw;
    height: 18.6666666667vw;
  }
  #contents .topics .contents01 .contentsTable .col .service {
    width: 4.2666666667vw;
  }
  #contents .topics .contents01 .contentsTable .col .plan img,
  #contents .topics .contents01 .contentsTable .col .price img,
  #contents .topics .contents01 .contentsTable .col .service img {
    width: 2.8vw;
  }
  #contents .topics .contents01 .contentsTable .col td {
    width: 100%;
  }
}
#contents .topics .contents01 .contentsTable .mark {
  position: relative;
}
#contents .topics .contents01 .contentsTable .mark .mark__limited {
  position: absolute;
  top: 4px;
  left: 270px;
  width: 88px;
  height: 88px;
  display: block;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents01 .contentsTable .mark .mark__limited {
    width: 19.2vw;
    height: 19.2vw;
    top: -3.8666666667vw;
    left: 59.3333333333vw;
  }
}
#contents .topics .contents01 .contentsTable .tableCenter {
  text-align: center;
}
#contents .topics .contents01 .contentsTable .tableCell {
  vertical-align: middle;
  display: table-cell;
}
#contents .topics .contents01 .contentsTable .mt1rem {
  margin-top: 1rem;
}
#contents .topics .contents01 .tableCaution {
  font-size: 1rem;
  margin-top: 12px;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents01 .tableCaution {
    font-size: 2.9333333333vw;
    margin-top: 1.6vw;
    margin-bottom: 1.3333333333vw;
  }
}
#contents .topics .contents01 .photoForm {
  display: block;
  width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents01 .photoForm {
    width: 100%;
  }
}
#contents .topics .contents02,
#contents .topics .contents03,
#contents .topics .contents04 {
  width: 400px;
  height: 843px;
}
#contents .topics .contents02 .contentsTxt,
#contents .topics .contents03 .contentsTxt,
#contents .topics .contents04 .contentsTxt {
  width: 360px;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents02 .contentsTxt,
  #contents .topics .contents03 .contentsTxt,
  #contents .topics .contents04 .contentsTxt {
    width: 100%;
    margin-top: 3.2vw;
  }
}
#contents .topics .contents02 .productTxt,
#contents .topics .contents03 .productTxt,
#contents .topics .contents04 .productTxt {
  width: 100%;
  position: relative;
  z-index: -2;
}
#contents .topics .contents02 .productLink,
#contents .topics .contents03 .productLink,
#contents .topics .contents04 .productLink {
  width: 342px;
  margin: 0 auto;
  display: block;
  margin-top: -10px;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents02 .productLink,
  #contents .topics .contents03 .productLink,
  #contents .topics .contents04 .productLink {
    position: absolute;
    bottom: 2.6666666667vw;
    right: 50%;
    transform: translateX(50%);
    width: 81.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  #contents .topics .contents02,
  #contents .topics .contents03,
  #contents .topics .contents04 {
    width: 100%;
    height: auto;
  }
  #contents .topics .contents02 .productLink,
  #contents .topics .contents03 .productLink,
  #contents .topics .contents04 .productLink {
    bottom: 16px;
    right: 50%;
    transform: translateX(50%);
    width: 80vw;
  }
}
#contents .topics .contents__wrap {
  display: flex;
  justify-content: space-between;
}
#contents .topics .contents__wrap:nth-child(3) .contents .contentsTtl {
  width: 400px;
  margin-left: -16px;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents__wrap:nth-child(3) .contents .contentsTtl {
    width: 92vw;
    margin-top: -1.3333333333vw;
    margin-left: -2.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  #contents .topics .contents__wrap:nth-child(3) .contents .contentsTxt {
    margin-top: 0;
  }
}
#contents .topics .contents__wrap:nth-child(3) .contents .productImg {
  width: 400px;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents__wrap:nth-child(3) .contents .productImg {
    width: 92vw;
  }
}
@media screen and (max-width: 767px) {
  #contents .topics .contents__wrap:nth-child(3) .contents:first-child {
    padding-bottom: 0;
  }
}
#contents .topics .contents__wrap:nth-child(3) .contents:first-child .productImg {
  margin-top: -11px;
  margin-left: -16px;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents__wrap:nth-child(3) .contents:first-child .productImg {
    margin-left: -2.6666666667vw;
  }
}
#contents .topics .contents__wrap:nth-child(3) .contents:nth-child(2) .productImg {
  width: 417px;
  margin-left: -33px;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents__wrap:nth-child(3) .contents:nth-child(2) .productImg {
    width: 92vw;
    margin-top: 0.9333333333vw;
    margin-left: -2.6666666667vw;
    z-index: 2;
  }
}
#contents .topics .contents__wrap:nth-child(3) .contents:nth-child(2) .productTxt {
  margin-top: -74px;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents__wrap:nth-child(3) .contents:nth-child(2) .productTxt {
    margin-top: 0;
  }
}
#contents .topics .contents__wrap:nth-child(3) .contents:last-child .productImg {
  margin-top: -8px;
}
#contents .topics .contents__wrap:nth-child(3) .contents:last-child .productTxt {
  margin-top: -79px;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents__wrap:nth-child(3) .contents:last-child .productTxt {
    margin-top: -12.5333333333vw;
  }
}
#contents .topics .contents__wrap .contents {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents__wrap .productLink {
    bottom: 2.6666666667vw;
  }
  #contents .topics .contents__wrap .contents {
    margin-top: 4vw;
  }
}
#contents .topics .contents__wrap .contentsTtl {
  margin-top: -40px;
  margin-left: -20px;
}
#contents .topics .contents02 .contentsTtl {
  width: 340px;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents02 .contentsTtl {
    width: 100%;
    margin: 0;
  }
}
#contents .topics .contents02 .productImg {
  width: 384px;
  margin-top: 12px;
}
#contents .topics .contents02 .productImg img {
  width: 100%;
  margin: 0;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents02 .productImg {
    width: 84.8vw;
    margin-left: 8.5333333333vw;
    margin-top: 1.3333333333vw;
  }
}
#contents .topics .contents02 .productTxt {
  margin-top: -28px;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents02 .productTxt {
    width: 100%;
    margin: 0;
    margin-top: -7.4666666667vw;
  }
}
#contents .topics .contents03 .contentsTtl {
  width: 336px;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents03 .contentsTtl {
    width: 100%;
    margin: 0;
  }
}
#contents .topics .contents03 .productImg {
  width: 427px;
  margin-top: -8px;
  margin-left: -43px;
  position: relative;
  z-index: 0;
}
#contents .topics .contents03 .productImg img {
  width: 100%;
  position: static;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents03 .productImg {
    width: 95.7333333333vw;
    margin-top: -1.6vw;
    margin-left: -6.5333333333vw;
  }
}
#contents .topics .contents03 .productTxt {
  margin-top: -40px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents03 .productTxtWrap {
    position: relative;
    margin-top: -10.4vw;
  }
  #contents .topics .contents03 .productTxt {
    width: 100%;
    margin: 0;
    margin-top: -7.4666666667vw;
    position: relative;
    z-index: 1;
  }
  #contents .topics .contents03 .productTxtBack {
    width: 100%;
    height: 38.4vw;
    display: block;
    border: 0.4vw solid #d49c6b;
    border-radius: 1.3333333333vw;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
}
#contents .topics .contents04 .contentsTtl {
  width: 380px;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents04 .contentsTtl {
    width: 100%;
    margin: 0;
  }
}
#contents .topics .contents04 .productTxt {
  margin-top: -70px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents04 .productTxt {
    margin-top: -18.6666666667vw;
    position: relative;
    z-index: -1;
  }
}
@media screen and (max-width: 767px) {
  #contents .topics .contents04 .productTxt {
    width: 100%;
    margin: 0;
    margin-top: -19.4666666667vw;
  }
}
#contents .topics .contents04 .productImg {
  width: 400px;
  position: relative;
  z-index: 0;
  margin-top: 3px;
  left: -16px;
}
#contents .topics .contents04 .productImg img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents04 .productImg {
    width: 92vw;
    left: -2.6666666667vw;
  }
}
#contents .topics .contents05 {
  margin-top: 40px;
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents05 {
    padding-bottom: 0;
  }
}
#contents .topics .contents05 .contentsBox {
  height: 253px;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents05 .contentsBox {
    display: block;
    height: auto;
  }
}
#contents .topics .contents05 .productImg {
  display: block;
  width: 661px;
  margin-top: -222px;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents05 .productImg {
    width: 92vw;
    margin: -3.7333333333vw auto 0 -1.6vw;
  }
}
#contents .topics .contents05 .contentsTtl {
  width: 540px;
  margin-top: -40px;
  margin-left: -20px;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents05 .contentsTtl {
    margin: 0;
    width: 100%;
  }
}
#contents .topics .contents05 .contentsTxt {
  width: 528px;
  margin-top: 22px;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents05 .contentsTxt {
    width: 100%;
    margin-top: 3.2vw;
  }
}
#contents .topics .contents05 .productsImg {
  width: 660px;
  margin-top: -40px;
}
#contents .topics .contents05 .productsImg img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  #contents .topics .contents05 .productsImg {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  #contents .topics .contents__wrap {
    display: flex;
    flex-direction: column;
  }
}
#contents .topics .productNote {
  font-size: 1rem;
  margin-top: 19px;
}
@media screen and (max-width: 767px) {
  #contents .topics .productNote {
    margin-top: 2.9333333333vw;
    font-size: 2.9333333333vw;
  }
}
#contents .topics .productNote li {
  display: block;
  padding-left: 3em;
  position: relative;
}
#contents .topics .productNote li::before {
  content: "（注）";
  position: absolute;
  top: 0;
  left: 0;
}
#contents .applicationTitle {
  width: 317px;
  margin: 0 auto;
  padding: 56px 0 24px;
}
@media screen and (max-width: 767px) {
  #contents .applicationTitle {
    width: 41.4666666667vw;
    padding: 11.3333333333vw 0 7.2vw;
  }
}
#contents .applicationInner {
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  gap: 43px;
  justify-content: center;
}
#contents .applicationInnerLink {
  width: 366px;
}
@media screen and (max-width: 767px) {
  #contents .applicationInner {
    flex-direction: column;
    gap: 4.4vw;
  }
  #contents .applicationInnerLink {
    width: 48.8vw;
  }
}
#contents .applicationImg {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
}
@media screen and (max-width: 767px) {
  #contents .applicationImg {
    gap: 1.3333333333vw;
  }
}
#contents .applicationImg p {
  font-size: 1rem;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック体", "Yu Gothic", YuGothic, Helvetica, Arial, sans-serif;
}
@media screen and (max-width: 767px) {
  #contents .applicationImg p {
    font-size: 2.9333333333vw;
  }
}
#contents .applicationImg img {
  transition: 250ms;
}
@media screen and (min-width: 769px) {
  #contents .applicationImg img:hover {
    opacity: 0.8;
  }
}

#contents.kbpk2025 .sns a.snsLink {
  width: 368px;
}

@media screen and (max-width: 767px) {
  #contents.kbpk2025 .sns a.snsLink {
    width: 220px;
  }
}
#contents.kbpk2025 .mt20 {
  margin-top: 20px !important;
}

#header.header_broad #gNav.products li.gnav01 a {
  background: url(/common/images/head/head_nav_global_broad01.gif) no-repeat left top !important;
}

#header.header_broad #gNav.products li.gnav01 a:hover {
  background: url(/common/images/head/head_nav_global_broad01_on.gif) no-repeat left top !important;
}