@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Figtree:wght@300..900&family=Noto+Sans+JP:wght@100..900&display=swap");
/*** The new CSS reset - version 1.11.3 (last updated 25.8.2024) ***/
.cpplus2026 {
  /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
}
.cpplus2026 html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}
.cpplus2026 body {
  margin: 0;
}
.cpplus2026 main {
  display: block;
}
.cpplus2026 h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
.cpplus2026 hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}
.cpplus2026 pre {
  font-family: monospace, monospace;
  font-size: 1em;
}
.cpplus2026 a {
  background-color: transparent;
}
.cpplus2026 abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
.cpplus2026 b, .cpplus2026 strong {
  font-weight: bolder;
}
.cpplus2026 code, .cpplus2026 kbd, .cpplus2026 samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
.cpplus2026 small {
  font-size: 80%;
}
.cpplus2026 sub, .cpplus2026 sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
.cpplus2026 sub {
  bottom: -0.25em;
}
.cpplus2026 sup {
  top: -0.5em;
}
.cpplus2026 img {
  border-style: none;
}
.cpplus2026 button, .cpplus2026 input, .cpplus2026 optgroup, .cpplus2026 select, .cpplus2026 textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}
.cpplus2026 button, .cpplus2026 input {
  overflow: visible;
}
.cpplus2026 button, .cpplus2026 select {
  text-transform: none;
}
.cpplus2026 [type=button], .cpplus2026 [type=reset], .cpplus2026 [type=submit], .cpplus2026 button {
  -webkit-appearance: button;
}
.cpplus2026 [type=button]::-moz-focus-inner, .cpplus2026 [type=reset]::-moz-focus-inner, .cpplus2026 [type=submit]::-moz-focus-inner, .cpplus2026 button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
.cpplus2026 [type=button]:-moz-focusring, .cpplus2026 [type=reset]:-moz-focusring, .cpplus2026 [type=submit]:-moz-focusring, .cpplus2026 button:-moz-focusring {
  outline: 1px dotted ButtonText;
}
.cpplus2026 fieldset {
  padding: 0.35em 0.75em 0.625em;
}
.cpplus2026 legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}
.cpplus2026 progress {
  vertical-align: baseline;
}
.cpplus2026 textarea {
  overflow: auto;
}
.cpplus2026 [type=checkbox], .cpplus2026 [type=radio] {
  box-sizing: border-box;
  padding: 0;
}
.cpplus2026 [type=number]::-webkit-inner-spin-button, .cpplus2026 [type=number]::-webkit-outer-spin-button {
  height: auto;
}
.cpplus2026 [type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
.cpplus2026 [type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}
.cpplus2026 ::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
.cpplus2026 details {
  display: block;
}
.cpplus2026 summary {
  display: list-item;
}
.cpplus2026 template {
  display: none;
}
.cpplus2026 [hidden] {
  display: none;
}

.site-footer {
  margin-top: 0;
}

.cpplus2026 {
  font-family: YakuHanJPs, "Noto Sans JP", sans-serif;
  font-size: min(1vw, 16px);
  font-weight: 500;
  overflow-x: hidden;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 {
    font-size: 4.103vw;
  }
}
.cpplus2026 a {
  color: #000;
  text-decoration: none;
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 a {
    transition: all ease 0.4s;
  }
  .cpplus2026 a:hover {
    transition: all ease 0.4s;
    opacity: 0.75;
  }
}
.cpplus2026 button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  color: #000;
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 button {
    transition: all ease 0.4s;
  }
  .cpplus2026 button:hover {
    transition: all ease 0.4s;
    opacity: 0.75;
  }
}
.cpplus2026 img {
  max-width: 100%;
}
.cpplus2026 .forPC {
  display: block;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .forPC {
    display: none;
  }
}
.cpplus2026 .forSP {
  display: none;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .forSP {
    display: block;
  }
}
.cpplus2026 .fig {
  font-family: "Figtree", sans-serif;
}
.cpplus2026 .fw700 {
  font-weight: 700;
}
.cpplus2026 i.blank {
  width: min(1vw, 16px);
  height: min(1vw, 16px);
  background: url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-blank.svg") no-repeat center center/contain;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 i.blank {
    width: 4.103vw;
    height: 4.103vw;
  }
}
.cpplus2026 i.blank.black {
  background: url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-blank-black.svg") no-repeat center center/contain;
}
.cpplus2026 i.info {
  width: min(1vw, 16px);
  height: min(1vw, 16px);
  background: url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-info.svg") no-repeat center center/contain;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 i.info {
    width: 4.103vw;
    height: 4.103vw;
  }
}
.cpplus2026 i.arrow {
  width: min(1.5vw, 24px);
  height: min(1.5vw, 24px);
  background: url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-arrow-down.svg") no-repeat center center/contain;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 i.arrow {
    width: 4.103vw;
    height: 4.103vw;
  }
}
.cpplus2026 i.arrow.red {
  width: min(1.75vw, 28px);
  height: min(1.75vw, 28px);
  background: url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-arrow-red.svg") no-repeat center center/contain;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 i.arrow.red {
    width: 4.103vw;
    height: 4.103vw;
  }
}
.cpplus2026 .temp--btn {
  width: min(18.75vw, 300px);
  height: min(2.5vw, 40px);
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  background-color: #222;
  color: #fff;
  font-weight: 700;
  padding-left: min(1.5vw, 24px);
  padding-right: min(0.75vw, 12px);
  border-radius: min(1.25vw, 20px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .temp--btn {
    width: 76.923vw;
    height: 12.308vw;
    padding-left: 5.128vw;
    padding-right: 4.103vw;
    border-radius: 6.154vw;
  }
}
.cpplus2026 .temp--btn.red {
  background-color: #C00;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .temp--btn.campaning--btn {
    font-size: 3.59vw;
  }
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .anim:hover {
    opacity: 1;
  }
  .cpplus2026 .anim--big {
    transition-duration: 0.1s;
  }
  .cpplus2026 .anim--big:hover {
    transform: scale(1.025);
  }
  .cpplus2026 .anim--big2 {
    transition-duration: 0.1s;
  }
  .cpplus2026 .anim--big2:hover {
    transform: scale(1.03);
  }
  .cpplus2026 .anim--fil {
    transition-duration: 0.1s;
  }
  .cpplus2026 .anim--fil:hover {
    filter: brightness(0.6);
  }
  .cpplus2026 .anim--opa {
    transition-duration: 0.3s;
  }
  .cpplus2026 .anim--opa:hover {
    opacity: 0.6;
  }
}
.cpplus2026 .inner {
  max-width: min(80vw, 1280px);
  width: 100%;
  margin: 0 auto;
  padding: 0 min(1.25vw, 20px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .inner {
    padding: 0 5.128vw;
    max-width: none;
  }
}
.cpplus2026 .hamburger {
  position: fixed;
  top: 1.795vw;
  right: 1.795vw;
  width: 11.282vw;
  z-index: 20;
  opacity: 0;
  visibility: hidden;
  transition: all ease 0.4s;
}
.cpplus2026 .hamburger.is-view {
  transition: all ease 0.4s;
  opacity: 1;
  visibility: visible;
}
.cpplus2026 .hamburger__icon {
  border: 2px solid #000;
  border-radius: 1.282vw;
  width: 100%;
  height: 11.282vw;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  gap: 2.051vw;
  align-items: center;
  justify-content: center;
}
.cpplus2026 .hamburger__icon span {
  width: 5.641vw;
  height: 2px;
  background-color: #000;
}
.cpplus2026 .hamburger__txt {
  font-size: 3.59vw;
  font-weight: 700;
}

.cpplus2026 .mainvisual {
  height: min(43.75vw, 700px);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  /* --- Pattern B: 中 → [小] → [中] → [大] --- */
  /* 右上のカメラの動き */
  /* --- Pattern C: 中 → [大] → [小] → [中] --- */
  /* 元のコードの動き */
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .mainvisual {
    gap: min(1vw, 16px);
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual {
    height: auto;
    display: block;
    background-size: 100% auto;
  }
}
.cpplus2026 .mainvisual video, .cpplus2026 .mainvisual .videofunc, .cpplus2026 .mainvisual .fallback-image {
  width: min(187.5vw, 3000px);
  height: auto;
  position: absolute;
  left: 50%;
  z-index: -1;
  transition: all ease 0.4s;
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .mainvisual video, .cpplus2026 .mainvisual .videofunc, .cpplus2026 .mainvisual .fallback-image {
    top: 50%;
    transform: translate(-50%, -50%);
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual video, .cpplus2026 .mainvisual .videofunc, .cpplus2026 .mainvisual .fallback-image {
    width: 100%;
    top: -15.385vw;
    left: 0;
  }
}
.cpplus2026 .mainvisual .fallback-image {
  opacity: 0;
  visibility: hidden;
  background: url(/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/mainvisual-fallback.png) no-repeat center top;
  background-size: auto 100%;
  height: 100%;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual .fallback-image {
    background: url(/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/mainvisual-fallback-sp.png) no-repeat center top/cover;
    height: 117.436vw;
  }
}
.cpplus2026 .mainvisual.is-fallback video {
  display: none;
}
.cpplus2026 .mainvisual.is-fallback .fallback-image {
  transition: all ease 0.4s;
  opacity: 1;
  visibility: visible;
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px); /* 40px下に配置 */
  }
  100% {
    opacity: 1;
    transform: translateY(0); /* 元の位置に戻る */
  }
}
@keyframes floatAnim_A {
  0% {
    translate: 0 0;
  }
  50% {
    translate: 0 -15px;
  }
  100% {
    translate: 0 0;
  }
}
@keyframes floatAnim_B {
  0% {
    translate: 0 0;
  }
  50% {
    translate: 0 15px;
  }
  100% {
    translate: 0 0;
  }
}
@keyframes floatAnim_C {
  0% {
    translate: 0 0;
  }
  20% {
    translate: 0 0;
  } /* 20%までは動かない */
  60% {
    translate: 0 -15px;
  } /* 遅れてピークへ */
  100% {
    translate: 0 0;
  }
}
@keyframes scaleAnim_A {
  0% {
    scale: 1;
  }
  5% {
    scale: 0.8;
  } /* シュッと小 */
  33% {
    scale: 0.8;
  }
  38% {
    scale: 1.2;
  } /* シュッと大 */
  66% {
    scale: 1.2;
  }
  71% {
    scale: 1;
  } /* シュッと中に戻る */
  100% {
    scale: 1;
  }
}
@keyframes scaleAnim_B {
  0% {
    scale: 1;
  }
  5% {
    scale: 0.8;
  } /* シュッと小 */
  33% {
    scale: 0.8;
  }
  38% {
    scale: 1;
  } /* シュッと中 */
  66% {
    scale: 1;
  }
  71% {
    scale: 1.2;
  } /* シュッと大 */
  100% {
    scale: 1.2;
  } /* ※次のループ0%(scale:1)でパッと戻る */
}
@keyframes scaleAnim_C {
  0% {
    scale: 1;
  }
  5% {
    scale: 1.2;
  } /* シュッと大 */
  33% {
    scale: 1.2;
  } /* (いただいたコードの1.12を1.2に統一して安定させています) */
  38% {
    scale: 0.8;
  } /* シュッと小 */
  66% {
    scale: 0.8;
  }
  71% {
    scale: 1;
  } /* シュッと中に戻る */
  100% {
    scale: 1;
  }
}
.cpplus2026 .mainvisual__left .ttl .is-active, .cpplus2026 .mainvisual__right .ttl .is-active {
  animation: fadeInUp 0.6s ease-out forwards;
}
.cpplus2026 .mainvisual__left .ttl span, .cpplus2026 .mainvisual__right .ttl span {
  opacity: 0;
}
.cpplus2026 .mainvisual__left .ttl--01.is-active, .cpplus2026 .mainvisual__right .ttl--01.is-active {
  animation-delay: 0.2s !important;
}
.cpplus2026 .mainvisual__left .ttl--02.is-active, .cpplus2026 .mainvisual__right .ttl--02.is-active {
  animation-delay: 0.4s !important;
}
.cpplus2026 .mainvisual__left .ttl--03.is-active, .cpplus2026 .mainvisual__right .ttl--03.is-active {
  animation-delay: 0.6s !important;
}
.cpplus2026 .mainvisual__left .guide, .cpplus2026 .mainvisual__left .youtube__btn, .cpplus2026 .mainvisual__right .guide, .cpplus2026 .mainvisual__right .youtube__btn {
  opacity: 0;
  visibility: hidden;
}
.cpplus2026 .mainvisual__left .guide.is-active, .cpplus2026 .mainvisual__left .youtube__btn.is-active, .cpplus2026 .mainvisual__right .guide.is-active, .cpplus2026 .mainvisual__right .youtube__btn.is-active {
  animation: fadeInUp 0.6s linear forwards;
}
.cpplus2026 .mainvisual__left .guide.is-active, .cpplus2026 .mainvisual__right .guide.is-active {
  animation-delay: 0.2s !important;
  visibility: visible;
}
.cpplus2026 .mainvisual__left .youtube__btn.is-active, .cpplus2026 .mainvisual__right .youtube__btn.is-active {
  animation-delay: 0.45s !important;
  visibility: visible;
}
.cpplus2026 .mainvisual__left .camera.is-active, .cpplus2026 .mainvisual__right .camera.is-active {
  transform: scale(1);
  opacity: 1;
}
.cpplus2026 .mainvisual__left .camera.is-floating, .cpplus2026 .mainvisual__right .camera.is-floating {
  /* アニメーション適用：名前 時間 イージング 無限ループ */
}
.cpplus2026 .mainvisual__left .camera.is-floating .ele, .cpplus2026 .mainvisual__right .camera.is-floating .ele {
  animation-timing-function: ease-in-out, linear;
  animation-iteration-count: infinite, infinite;
}
.cpplus2026 .mainvisual__left .camera.is-floating .left--top, .cpplus2026 .mainvisual__right .camera.is-floating .left--top {
  animation-name: floatAnim_A, scaleAnim_A;
  animation-duration: 7s, 6s; /* サイズ変化は6s */
}
.cpplus2026 .mainvisual__left .camera.is-floating .left--bottom, .cpplus2026 .mainvisual__right .camera.is-floating .left--bottom {
  animation-name: floatAnim_B, scaleAnim_C;
  animation-duration: 6.5s, 6s; /* サイズ変化は6s */
}
.cpplus2026 .mainvisual__left .camera.is-floating .right--top, .cpplus2026 .mainvisual__right .camera.is-floating .right--top {
  animation-name: floatAnim_C, scaleAnim_B;
  animation-duration: 8s, 6s; /* サイズ変化は6s */
}
.cpplus2026 .mainvisual__left .camera.is-floating .right--bottom, .cpplus2026 .mainvisual__right .camera.is-floating .right--bottom {
  animation-name: floatAnim_A, scaleAnim_A;
  animation-duration: 7s, 6s; /* サイズ変化は6s */
}
.cpplus2026 .mainvisual__left {
  position: relative;
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .mainvisual__left {
    width: min(63.75vw, 1020px);
    height: 100%;
    display: grid;
    place-content: center;
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__left {
    padding-top: 27.692vw;
    padding-bottom: 25.641vw;
  }
}
.cpplus2026 .mainvisual__left .camera {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: all ease 0.6s;
  transform: scale(1.05);
  transform-origin: center center;
}
.cpplus2026 .mainvisual__left .ele {
  position: absolute;
  width: min(18.75vw, 300px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__left .ele {
    width: 30.769vw;
  }
}
.cpplus2026 .mainvisual__left .ele.left--top {
  top: min(2.5vw, 40px);
  left: min(2.5vw, 40px);
  width: min(13.75vw, 220px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__left .ele.left--top {
    top: 7.692vw;
    left: 4.103vw;
    width: 21.026vw;
  }
}
.cpplus2026 .mainvisual__left .ele.left--bottom {
  bottom: min(1.25vw, 20px);
  left: min(1.875vw, 30px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__left .ele.left--bottom {
    bottom: 10.256vw;
    left: 2.051vw;
    width: 28.205vw;
  }
}
.cpplus2026 .mainvisual__left .ele.right--top {
  right: min(1.875vw, 30px);
  top: min(3.75vw, 60px);
  width: min(15vw, 240px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__left .ele.right--top {
    top: 5.128vw;
    right: 0;
    width: 28.205vw;
  }
}
.cpplus2026 .mainvisual__left .ele.right--bottom {
  right: min(8.75vw, 140px);
  bottom: min(2.25vw, 36px);
  width: min(13.75vw, 220px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__left .ele.right--bottom {
    right: 8.718vw;
    bottom: 10.769vw;
    width: 22.564vw;
  }
}
.cpplus2026 .mainvisual__left .ttl {
  width: 100%;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .mainvisual__left .ttl {
    width: min(37.5vw, 600px);
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__left .ttl {
    margin: 0;
    width: 77.436vw;
    margin: 0 auto;
  }
}
.cpplus2026 .mainvisual__left .ttl span {
  display: inline-block;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__left .ttl span {
    display: block;
    margin: 0 auto;
    line-height: 0;
  }
}
.cpplus2026 .mainvisual__left .ttl--01 {
  padding-bottom: min(2vw, 32px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__left .ttl--01 {
    padding-bottom: 3.59vw;
  }
}
.cpplus2026 .mainvisual__left .ttl--02 {
  padding-bottom: min(2.313vw, 37px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__left .ttl--02 {
    width: 54.615vw;
    padding-bottom: 4.103vw;
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__left .ttl--03 {
    width: 27.949vw;
  }
}
.cpplus2026 .mainvisual__left.--update .ele {
  width: min(18.75vw, 300px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__left.--update .ele {
    width: 30.769vw;
  }
}
.cpplus2026 .mainvisual__left.--update .ele.left--top {
  background: none;
  top: min(2.5vw, 40px);
  left: min(2.5vw, 40px);
  width: min(13.75vw, 220px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__left.--update .ele.left--top {
    top: 7.692vw;
    left: 4.103vw;
    width: 21.026vw;
  }
}
.cpplus2026 .mainvisual__left.--update .ele.left--bottom {
  background: none;
  bottom: min(1.25vw, 20px);
  left: min(1.875vw, 30px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__left.--update .ele.left--bottom {
    bottom: 10.256vw;
    left: 2.051vw;
    width: 28.205vw;
  }
}
.cpplus2026 .mainvisual__left.--update .ele.right--top {
  background: none;
  right: min(1.875vw, 30px);
  top: min(3.75vw, 60px);
  width: min(15vw, 240px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__left.--update .ele.right--top {
    top: 5.128vw;
    right: 0;
    width: 28.205vw;
  }
}
.cpplus2026 .mainvisual__left.--update .ele.right--bottom {
  background: none;
  right: min(8.75vw, 140px);
  bottom: min(2.25vw, 36px);
  width: min(13.75vw, 220px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__left.--update .ele.right--bottom {
    right: 8.718vw;
    bottom: 10.769vw;
    width: 22.564vw;
  }
}
.cpplus2026 .mainvisual__left.--update .ele.center {
  top: min(1.25vw, 20px);
  left: min(25vw, 400px);
  width: min(13.75vw, 220px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__left.--update .ele.center {
    top: 7.692vw;
    left: 4.103vw;
    width: 21.026vw;
  }
}
.cpplus2026 .mainvisual__right {
  font-weight: 700;
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .mainvisual__right {
    width: min(30vw, 480px);
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right {
    padding: 0 3.59vw;
  }
}
.cpplus2026 .mainvisual__right .guide {
  background: linear-gradient(39deg, #00C8FF 0.69%, #3F96FF 23.37%, #6975FF 41.12%, #7A69FF 50%, #A744FF 63.81%, #D61FFF 79.59%, #F408FF 92.41%, #F0F 99.31%);
  border-radius: min(1.25vw, 20px);
  padding: min(0.188vw, 3px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .guide {
    padding: 1.026vw;
    border-radius: 5.128vw;
  }
}
.cpplus2026 .mainvisual__right .guide__inner {
  background-color: #fff;
  border-radius: min(1.125vw, 18px);
  padding: min(2.875vw, 46px) min(1.875vw, 30px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .guide__inner {
    border-radius: 4.615vw;
    padding: 5.897vw 3.077vw 5.128vw;
  }
}
.cpplus2026 .mainvisual__right .guide__inner .date {
  margin-bottom: min(1.875vw, 30px);
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .mainvisual__right .guide__inner .date {
    padding: 0 min(2.5vw, 40px);
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .guide__inner .date {
    margin-bottom: 3.59vw;
  }
}
.cpplus2026 .mainvisual__right .guide__inner .venue {
  font-size: min(1vw, 16px);
  margin-bottom: min(1.875vw, 30px);
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .mainvisual__right .guide__inner .venue {
    padding-left: min(4.125vw, 66px);
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .guide__inner .venue {
    font-size: 3.59vw;
    margin-bottom: 3.846vw;
    padding-left: 13.333vw;
  }
}
.cpplus2026 .mainvisual__right .guide__inner .venue dl {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.cpplus2026 .mainvisual__right .guide__inner .venue dl dt span {
  border: 1px solid #000;
  width: min(10.125vw, 162px);
  height: min(1.75vw, 28px);
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .guide__inner .venue dl dt span {
    width: 35.897vw;
    height: 6.667vw;
  }
}
.cpplus2026 .mainvisual__right .guide__inner .venue dl dt:first-of-type {
  margin-bottom: min(0.5vw, 8px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .guide__inner .venue dl dt:first-of-type {
    margin-bottom: 2.051vw;
  }
}
.cpplus2026 .mainvisual__right .guide__inner .venue dl dd {
  margin-left: min(0.75vw, 12px);
}
.cpplus2026 .mainvisual__right .guide__inner .venue dl dd:first-of-type {
  margin-bottom: min(0.5vw, 8px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .guide__inner .venue dl dd:first-of-type {
    margin-bottom: 2.051vw;
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .guide__inner .venue dl dd {
    margin-left: 2.051vw;
  }
}
.cpplus2026 .mainvisual__right .guide__inner .nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.cpplus2026 .mainvisual__right .guide__inner .nav ul li {
  margin-bottom: min(0.875vw, 14px);
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .mainvisual__right .guide__inner .nav ul li {
    width: calc(50% - min(0.313vw, 5px));
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .guide__inner .nav ul li {
    margin-bottom: 2.564vw;
  }
}
.cpplus2026 .mainvisual__right .guide__inner .nav ul li:nth-child(3), .cpplus2026 .mainvisual__right .guide__inner .nav ul li:last-child {
  margin-bottom: 0;
}
.cpplus2026 .mainvisual__right .guide__inner .nav ul li a {
  display: flex;
  width: 100%;
  height: min(3vw, 48px);
  align-items: center;
  justify-content: space-between;
  position: relative;
  border: 1px solid #000;
  border-radius: min(1.5vw, 24px);
  padding-left: min(1.125vw, 18px);
  padding-right: min(0.625vw, 10px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .guide__inner .nav ul li a {
    height: 10.256vw;
    width: 41.026vw;
    border-radius: 6.154vw;
    padding-left: 2.564vw;
    padding-right: 2.308vw;
    font-size: 3.59vw;
  }
}
.cpplus2026 .mainvisual__right .guide__inner .nav ul li a span {
  display: flex;
  align-items: center;
}
.cpplus2026 .mainvisual__right .guide__inner .nav ul li a span .ico {
  line-height: 0;
  display: block;
  margin-right: min(0.625vw, 10px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .guide__inner .nav ul li a span .ico {
    width: 5.128vw;
  }
}
.cpplus2026 .mainvisual__right .guide__inner .nav ul li a .arrow {
  width: min(1.75vw, 28px);
  height: min(1.75vw, 28px);
  background: url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-arrow-down.svg") no-repeat center center/contain;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .guide__inner .nav ul li a .arrow {
    width: 5.641vw;
    height: 5.641vw;
  }
}
.cpplus2026 .mainvisual__right .guide__inner .nav__list--about .ico {
  width: min(1.813vw, 29px);
}
.cpplus2026 .mainvisual__right .guide__inner .nav__list--schedule .ico {
  width: min(2vw, 32px);
}
.cpplus2026 .mainvisual__right .guide__inner .nav__list--map .ico {
  width: min(1.938vw, 31px);
}
.cpplus2026 .mainvisual__right .guide__inner .nav__list--campaign .ico {
  width: min(1.813vw, 29px);
}
.cpplus2026 .mainvisual__right .guide.--update .guide__inner {
  padding-top: min(1.25vw, 20px);
  padding-bottom: min(1.25vw, 20px);
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .mainvisual__right .guide.--update .guide__inner .date {
    margin-bottom: min(0.5vw, 8px);
  }
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .mainvisual__right .guide.--update .guide__inner .venue {
    padding-left: 0;
    margin-bottom: min(0.75vw, 12px);
  }
  .cpplus2026 .mainvisual__right .guide.--update .guide__inner .venue dl {
    flex-wrap: wrap;
  }
  .cpplus2026 .mainvisual__right .guide.--update .guide__inner .venue dl dt:nth-of-type(2) {
    margin-left: min(0.625vw, 10px);
  }
  .cpplus2026 .mainvisual__right .guide.--update .guide__inner .venue dl dt span {
    width: min(6.125vw, 98px);
    height: min(2.313vw, 37px);
    font-size: min(0.813vw, 13px);
    line-height: 1.1;
  }
  .cpplus2026 .mainvisual__right .guide.--update .guide__inner .venue dl dd {
    margin-left: min(0.375vw, 6px);
    font-size: min(0.875vw, 14px);
  }
}
.cpplus2026 .mainvisual__right .youtube__btn {
  text-align: right;
  padding-top: min(1.25vw, 20px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .youtube__btn {
    padding-top: 5.128vw;
    text-align: center;
  }
}
.cpplus2026 .mainvisual__right .youtube__btn a.teaser {
  width: min(18.75vw, 300px);
  height: min(3.875vw, 62px);
  background-color: #222;
  border-radius: min(0.5vw, 8px);
  display: inline-flex;
  align-items: center;
  color: #fff;
  justify-content: space-between;
  padding: 0 min(0.625vw, 10px);
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .youtube__btn a.teaser {
    width: 84.615vw;
    height: 14.872vw;
    padding: 0 3.077vw;
    border-radius: 1.538vw;
  }
}
.cpplus2026 .mainvisual__right .youtube__btn a.teaser .main {
  display: flex;
  align-items: center;
}
.cpplus2026 .mainvisual__right .youtube__btn a.teaser .main img {
  width: min(3.563vw, 57px);
  margin-right: min(0.375vw, 6px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .youtube__btn a.teaser .main img {
    width: 14.615vw;
    margin-right: 3.846vw;
  }
}
.cpplus2026 .mainvisual__right .youtube__btn a.teaser .main .contents .desc {
  display: block;
  width: 100%;
  text-align: center;
  position: relative;
  font-weight: 500;
  display: flex;
  justify-content: center;
  line-height: 1;
  gap: 0.5em;
  margin-bottom: 0.2em;
  font-size: min(0.875vw, 14px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .youtube__btn a.teaser .main .contents .desc {
    font-size: 3.59vw;
  }
}
.cpplus2026 .mainvisual__right .youtube__btn a.teaser .main .contents .desc:before, .cpplus2026 .mainvisual__right .youtube__btn a.teaser .main .contents .desc:after {
  content: "";
  display: block;
  width: 1px;
  height: 1em;
  transform: rotate(-12deg);
  background-color: #fff;
}
.cpplus2026 .mainvisual__right .youtube__btn a.teaser .main .contents .desc:after {
  transform: rotate(12deg);
}
.cpplus2026 .mainvisual__right .youtube__btn a.teaser .main .contents .txt {
  display: inline-flex;
  align-items: center;
}
.cpplus2026 .mainvisual__right .youtube__btn.--update {
  background-color: #222;
  border-radius: min(0.75vw, 12px);
  padding: min(0.813vw, 13px) min(0.938vw, 15px);
  margin: min(1.125vw, 18px) auto;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .youtube__btn.--update {
    border-radius: 3.077vw;
    padding: 3.846vw;
    margin: 4.103vw auto;
  }
}
.cpplus2026 .mainvisual__right .youtube__btn.--update .youtube__btn--inner {
  display: flex;
  align-items: flex-end;
  font-weight: 700;
  text-align: left;
  gap: min(1.125vw, 18px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .youtube__btn.--update .youtube__btn--inner {
    display: block;
  }
}
.cpplus2026 .mainvisual__right .youtube__btn.--update .youtube__btn--inner .left {
  width: calc(100% - min(8.563vw, 137px));
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .youtube__btn.--update .youtube__btn--inner .left {
    width: 100%;
    margin-bottom: 3.59vw;
  }
}
.cpplus2026 .mainvisual__right .youtube__btn.--update .youtube__btn--inner .left .live {
  display: flex;
  align-items: center;
  color: #fff;
  margin-bottom: min(0.75vw, 12px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .youtube__btn.--update .youtube__btn--inner .left .live {
    margin-bottom: 2.564vw;
    margin-bottom: 3.59vw;
  }
}
.cpplus2026 .mainvisual__right .youtube__btn.--update .youtube__btn--inner .left .live img {
  width: min(3.438vw, 55px);
  margin-right: min(0.438vw, 7px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .youtube__btn.--update .youtube__btn--inner .left .live img {
    width: 14.103vw;
  }
}
.cpplus2026 .mainvisual__right .youtube__btn.--update .youtube__btn--inner .left .live--contents a {
  display: flex;
  align-items: center;
  width: 100%;
  height: auto;
  padding: 0;
  gap: min(0.875vw, 14px);
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .youtube__btn.--update .youtube__btn--inner .left .live--contents a {
    gap: 3.59vw;
  }
}
.cpplus2026 .mainvisual__right .youtube__btn.--update .youtube__btn--inner .left .live--contents a img {
  width: min(8.75vw, 140px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .youtube__btn.--update .youtube__btn--inner .left .live--contents a img {
    width: 37.949vw;
  }
}
.cpplus2026 .mainvisual__right .youtube__btn.--update .youtube__btn--inner .left .live--contents a .info span {
  display: block;
}
.cpplus2026 .mainvisual__right .youtube__btn.--update .youtube__btn--inner .left .live--contents a .info .day {
  font-size: min(1.375vw, 22px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .youtube__btn.--update .youtube__btn--inner .left .live--contents a .info .day {
    font-size: 5.641vw;
  }
}
.cpplus2026 .mainvisual__right .youtube__btn.--update .youtube__btn--inner .left .live--contents a .info .date {
  padding-bottom: 0.3em;
  border-bottom: 1px solid #fff;
}
.cpplus2026 .mainvisual__right .youtube__btn.--update .youtube__btn--inner .left .live--contents a .info .date i {
  display: inline-block;
  margin-left: min(0.563vw, 9px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .youtube__btn.--update .youtube__btn--inner .left .live--contents a .info .date i {
    margin-left: 2.308vw;
  }
}
.cpplus2026 .mainvisual__right .youtube__btn.--update .youtube__btn--inner .right {
  width: min(8.563vw, 137px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .youtube__btn.--update .youtube__btn--inner .right {
    width: 100%;
  }
}
.cpplus2026 .mainvisual__right .youtube__btn.--update .youtube__btn--inner .right a {
  background-color: #fff;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(0.438vw, 7px);
  height: min(5.188vw, 83px);
  font-size: min(0.875vw, 14px);
  border-radius: min(0.75vw, 12px);
  color: #222;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .youtube__btn.--update .youtube__btn--inner .right a {
    height: 10.256vw;
    justify-content: space-between;
    border-radius: 6.41vw;
    font-size: 3.59vw;
    padding: 0 2.051vw 0 4.615vw;
  }
}
.cpplus2026 .mainvisual__right .recommend {
  background: linear-gradient(209deg, #FF3329 12.37%, #FF8D15 33.25%, #FFC307 70.18%, #E0E425 89.95%);
  border-radius: min(2.125vw, 34px);
  padding: min(0.313vw, 5px);
  height: min(4vw, 64px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .recommend {
    border-radius: 8.718vw;
    height: 16.41vw;
    padding: 1.282vw;
  }
}
.cpplus2026 .mainvisual__right .recommend button {
  background-color: #fff;
  text-align: center;
  position: relative;
  height: 100%;
  width: 100%;
  border-radius: min(2vw, 32px);
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .recommend button {
    border-radius: 8.205vw;
  }
}
.cpplus2026 .mainvisual__right .recommend button .question {
  background: url(/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-question.svg) no-repeat center center/contain;
  width: min(1.813vw, 29px);
  height: min(1.813vw, 29px);
  display: inline-block;
  margin-right: min(0.75vw, 12px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .recommend button .question {
    width: 7.436vw;
    height: 7.436vw;
    margin-right: 1.282vw;
  }
}
.cpplus2026 .mainvisual__right .recommend button .arrow {
  position: absolute;
  right: min(1.563vw, 25px);
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .mainvisual__right .recommend button .arrow {
    right: 3.59vw;
    width: 7.179vw;
    height: 7.179vw;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.cpplus2026 .about {
  padding-top: min(5.625vw, 90px);
  margin-bottom: min(10vw, 160px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .about {
    padding-top: 15.385vw;
    margin-bottom: 17.949vw;
  }
}
.cpplus2026 .about__block {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .about__block {
    flex-direction: column;
    position: relative;
  }
}
.cpplus2026 .about__block--left {
  width: min(35.75vw, 572px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .about__block--left {
    width: 100%;
    order: 2;
    margin-bottom: 8.205vw;
  }
}
.cpplus2026 .about__block--left .imgSwitch .preview {
  display: none; /* デフォルトは非表示 */
  /* フェードインアニメーション（お好みで） */
  animation: fadeIn 0.5s ease;
  overflow: hidden;
  border-radius: min(1.5vw, 24px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .about__block--left .imgSwitch .preview {
    border-radius: 5.128vw;
  }
}
.cpplus2026 .about__block--left .imgSwitch .preview.is-active {
  display: block;
}
.cpplus2026 .about__block--left .imgSwitch--btn {
  display: flex;
  gap: min(0.75vw, 12px);
  margin-top: min(1vw, 16px);
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .about__block--left .imgSwitch--btn {
    gap: 3.077vw;
    margin-top: 3.077vw;
  }
}
.cpplus2026 .about__block--left .imgSwitch--btn .thumb {
  opacity: 0.5; /* 非アクティブ時は少し薄くする */
  transition: opacity 0.3s;
  overflow: hidden;
  border-radius: min(1vw, 16px);
}
.cpplus2026 .about__block--left .imgSwitch--btn .thumb:hover {
  opacity: 0.8;
}
.cpplus2026 .about__block--left .imgSwitch--btn .thumb.is-active {
  opacity: 1;
  pointer-events: none; /* 選択中はクリック無効化 */
}
.cpplus2026 .about__block--left .caution {
  text-align: center;
  padding-top: 1.5em;
  display: block;
  font-size: min(0.875vw, 14px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .about__block--left .caution {
    font-size: 2.821vw;
    padding-top: 0.9em;
  }
}
.cpplus2026 .about__block--right {
  width: calc(100% - min(35.75vw, 572px));
  padding-left: min(5.5vw, 88px);
  position: relative;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .about__block--right {
    width: 100%;
    padding-left: 0;
    display: contents;
  }
}
.cpplus2026 .about__block--right .ttl {
  font-size: min(2.75vw, 44px);
  font-weight: 700;
  margin-bottom: min(1.875vw, 30px);
  display: flex;
  align-items: center;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .about__block--right .ttl {
    order: 1;
    font-size: 7.692vw;
    margin-bottom: 4.103vw;
  }
}
.cpplus2026 .about__block--right .ttl i {
  width: min(3.25vw, 52px);
  margin-right: min(0.5vw, 8px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .about__block--right .ttl i {
    width: 8.205vw;
    margin-right: 2.564vw;
    line-height: 1;
  }
}
.cpplus2026 .about__block--right .ttl span {
  font-size: min(1.75vw, 28px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .about__block--right .ttl span {
    font-size: 4.615vw;
  }
}
.cpplus2026 .about__block--right .info {
  width: min(12.5vw, 200px);
  margin-bottom: min(1.875vw, 30px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .about__block--right .info {
    order: 3;
    width: 36.923vw;
    margin-bottom: 4.103vw;
  }
}
.cpplus2026 .about__block--right .txt {
  line-height: 1.9;
  font-weight: 700;
  font-size: min(1.125vw, 18px);
  margin-bottom: min(3.125vw, 50px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .about__block--right .txt {
    order: 3;
    font-size: 4.103vw;
    margin-bottom: 6.41vw;
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .about__block--right .btn {
    order: 3;
    width: 100%;
  }
}
.cpplus2026 .about__block--right .btn a {
  width: min(24.375vw, 390px);
  height: min(3.75vw, 60px);
  font-size: min(1vw, 16px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  background-color: #C00;
  border-radius: min(1.875vw, 30px);
  padding-left: min(1.688vw, 27px);
  padding-right: min(0.75vw, 12px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .about__block--right .btn a {
    font-size: 4.103vw;
    width: 100%;
    height: 15.385vw;
    padding-left: 7.692vw;
    padding-right: 5.641vw;
    border-radius: 15.897vw;
  }
}
.cpplus2026 .about__block--right .btn a i {
  width: min(1vw, 16px);
  height: min(1vw, 16px);
  background: url(/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-blank.svg) no-repeat center center/contain;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .about__block--right .btn a i {
    width: 4.103vw;
    height: 4.103vw;
  }
}

.cpplus2026 .news-scheduleBG {
  position: relative;
}
.cpplus2026 .news-scheduleBG:before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  top: max(-29.313vw, -469px);
  left: 50%;
  width: min(187.5vw, 3000px);
  height: auto;
  background: url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/news-bg.svg?v2") no-repeat center top;
  background-size: 100% auto;
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .news-scheduleBG:before {
    transform: translateX(-50%);
    aspect-ratio: 3000/1774;
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .news-scheduleBG:before {
    background: url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/news-bg-sp.png?v1") no-repeat center top/100% auto;
    width: 100%;
    height: 87.692vw;
    left: 0;
    top: 23.077vw;
  }
}
.cpplus2026 .news__block {
  background: linear-gradient(39deg, #00C8FF 0.69%, #3F96FF 23.37%, #6975FF 41.12%, #7A69FF 50%, #A744FF 63.81%, #D61FFF 79.59%, #F408FF 92.41%, #F0F 99.31%);
  padding: min(0.375vw, 6px);
  border-radius: min(1.25vw, 20px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .news__block {
    border-radius: 3.846vw;
    padding: 1.026vw;
  }
}
.cpplus2026 .news__block--inner {
  background-color: #fff;
  border-radius: min(1.125vw, 18px);
  padding: min(4.063vw, 65px) min(12.5vw, 200px) 0;
  height: min(20vw, 320px);
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .news__block--inner {
    border-radius: 3.333vw;
    height: 61.538vw;
    padding: 8.974vw 3.846vw 20.513vw;
  }
}
.cpplus2026 .news__block--inner h2 {
  font-size: min(2.75vw, 44px);
  text-align: center;
  line-height: 1.5;
  margin-bottom: min(3.438vw, 55px);
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .news__block--inner h2 {
    font-size: 7.179vw;
    margin-bottom: 7.692vw;
  }
}
.cpplus2026 .news__block--inner .list {
  overflow: auto;
  height: min(15vw, 240px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .news__block--inner .list {
    height: 58.974vw;
  }
}
.cpplus2026 .news__block--inner ul {
  border-bottom: 1px solid #222;
}
.cpplus2026 .news__block--inner ul li {
  font-size: min(1vw, 16px);
  padding: min(1.125vw, 18px) 0;
  border-top: 1px solid #222;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .news__block--inner ul li {
    font-size: 4.103vw;
    padding: 3.846vw 0;
  }
}
.cpplus2026 .news__block--inner ul li .date {
  margin-right: min(1vw, 16px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .news__block--inner ul li .date {
    font-size: 3.59vw;
    display: block;
  }
}
.cpplus2026 .schedule {
  padding-top: min(6.25vw, 100px);
  padding-bottom: min(6.25vw, 100px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .schedule {
    padding-top: 20.513vw;
    padding-bottom: 15.385vw;
  }
}
.cpplus2026 .schedule--ttl {
  font-size: min(2.75vw, 44px);
  font-weight: 700;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: min(3.75vw, 60px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .schedule--ttl {
    font-size: 7.179vw;
    margin-bottom: 7.692vw;
  }
}
.cpplus2026 .schedule--ttl i {
  width: min(3.313vw, 53px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .schedule--ttl i {
    width: 8.462vw;
    line-height: 0;
  }
}
.cpplus2026 .schedule__info {
  width: min(60vw, 960px);
  height: min(13.625vw, 218px);
  margin: 0 auto min(4.375vw, 70px);
  background: url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/schedule-info-flame-top.svg") no-repeat center top/contain, url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/schedule-info-flame-bottom.svg") no-repeat center bottom/contain;
  display: grid;
  place-content: center;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .schedule__info {
    background: url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/schedule-info-flame-top-sp.svg") no-repeat center top/contain, url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/schedule-info-flame-bottom-sp.svg") no-repeat center bottom/contain;
    width: 100%;
    height: 57.692vw;
    margin-bottom: 9.744vw;
  }
}
.cpplus2026 .schedule__info--sub {
  font-size: min(1.625vw, 26px);
  font-weight: 700;
  text-align: center;
  line-height: 2.1;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .schedule__info--sub {
    font-size: 4.103vw;
  }
}
.cpplus2026 .schedule__info--sub .marker {
  font-size: min(2.25vw, 36px);
  position: relative;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .schedule__info--sub .marker {
    font-size: 6.154vw;
  }
}
.cpplus2026 .schedule__info--sub .marker:before {
  content: "";
  display: block;
  width: 100%;
  height: 0.4em;
  opacity: 0.6;
  background: var(--Linear, linear-gradient(90deg, #35D0FE 0%, #EC7BFF 48.94%, #FC924D 92.55%));
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.cpplus2026 .schedule__info--caution {
  text-align: center;
  font-size: min(0.875vw, 14px);
  padding-top: min(1.563vw, 25px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .schedule__info--caution {
    font-size: 3.59vw;
    padding-top: 3.077vw;
  }
}
.cpplus2026 .schedule__overview, .cpplus2026 .schedule__figure {
  max-width: min(72.5vw, 1160px);
  width: 100%;
  margin: 0 auto;
}
.cpplus2026 .schedule__overview {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .schedule__overview {
    display: block;
    max-width: 84.615vw;
    margin-bottom: 10.256vw;
  }
}
.cpplus2026 .schedule__overview--list {
  width: min(21.5vw, 344px);
  margin-bottom: min(3.125vw, 50px);
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .schedule__overview--list {
    width: 100%;
  }
}
.cpplus2026 .schedule__overview--list dt {
  position: relative;
  display: flex;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .schedule__overview--list dt {
    display: block;
  }
}
.cpplus2026 .schedule__overview--list dt:before {
  content: "";
  display: block;
  position: absolute;
  bottom: min(0.438vw, 7px);
  right: min(-0.625vw, -10px);
  width: min(6.375vw, 102px);
  height: min(5.625vw, 90px);
  background: url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-presentation.svg") no-repeat center/contain;
  opacity: 0.3;
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .schedule__overview--list dt:before {
    width: 21.795vw;
    height: 19.231vw;
    bottom: auto;
    top: -2.564vw;
    right: -2.564vw;
  }
}
.cpplus2026 .schedule__overview--list dt .num {
  font-size: min(6.25vw, 100px);
  line-height: 1;
  margin-right: min(0.813vw, 13px);
  margin-top: -0.2em;
  background: linear-gradient(180deg, #00C8FF 0%, #0385E8 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .schedule__overview--list dt .num {
    font-size: 18.462vw;
    margin-right: 3.077vw;
    position: absolute;
    top: 0;
    left: 0;
    margin-top: -2.308vw;
  }
}
.cpplus2026 .schedule__overview--list dt h4 {
  font-size: min(1.875vw, 30px);
  line-height: 1.13;
  margin-bottom: min(0.625vw, 10px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .schedule__overview--list dt h4 {
    font-size: 6.41vw;
    padding-left: 13.333vw;
  }
}
.cpplus2026 .schedule__overview--list dt p {
  font-size: min(1.375vw, 22px);
  line-height: 1.45;
  padding-bottom: min(0.75vw, 12px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .schedule__overview--list dt p {
    font-size: 4.103vw;
    white-space: nowrap;
    padding-left: 13.333vw;
  }
}
.cpplus2026 .schedule__overview--list dd {
  border-top: min(0.625vw, 10px) solid #00C8FF;
  padding-top: min(1.5vw, 24px);
  line-height: 1.56;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .schedule__overview--list dd {
    border-top: none;
    border-bottom: 1.282vw solid #00C8FF;
    font-size: 3.59vw;
    padding-left: 13.333vw;
    padding-top: 1.538vw;
    padding-bottom: 3.077vw;
    margin-bottom: 7.692vw;
  }
}
.cpplus2026 .schedule__overview--list dd span {
  font-size: min(0.875vw, 14px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .schedule__overview--list dd span {
    font-size: 2.821vw;
  }
}
.cpplus2026 .schedule__overview--list.--02 dt:before {
  background: url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-demonstration.svg") no-repeat center/contain;
}
.cpplus2026 .schedule__overview--list.--02 dt .num {
  background: linear-gradient(180deg, #FF84FF 0%, #FF4BBD 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
.cpplus2026 .schedule__overview--list.--02 dd {
  border-top: min(0.625vw, 10px) solid #FF67FF;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .schedule__overview--list.--02 dd {
    border-top: none;
    border-bottom: 1.282vw solid #FF67FF;
  }
}
.cpplus2026 .schedule__overview--list.--03 dt:before {
  background: url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-workshop.svg") no-repeat center/contain;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .schedule__overview--list.--03 dt:before {
    top: -3.59vw;
  }
}
.cpplus2026 .schedule__overview--list.--03 dt .num {
  background: linear-gradient(180deg, #FF9D5C 0%, #FB4C07 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
.cpplus2026 .schedule__overview--list.--03 dd {
  border-top: min(0.625vw, 10px) solid #FF7D27;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .schedule__overview--list.--03 dd {
    border-top: none;
    border-bottom: 1.282vw solid #FF7D27;
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .schedule__overview--list.--03 dd:last-of-type {
    margin-bottom: 0;
  }
}
.cpplus2026 .schedule__figure {
  overflow: hidden;
  border-radius: min(1.875vw, 30px);
  margin-bottom: min(6.25vw, 100px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .schedule__figure {
    width: 100vw;
    margin-left: -5.128vw;
    border-radius: 0;
    max-width: none;
    margin-bottom: 13.846vw;
  }
}
.cpplus2026 .schedule__figure .caution {
  text-align: center;
  padding-top: 1.5em;
  display: block;
  font-size: min(0.875vw, 14px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .schedule__figure .caution {
    font-size: 2.821vw;
    padding-top: 0.9em;
  }
}
.cpplus2026 .stage {
  margin-bottom: min(6.25vw, 100px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage {
    margin-bottom: 15.385vw;
  }
}
.cpplus2026 .stage--ttl {
  font-size: min(3.438vw, 55px);
  text-align: center;
  font-weight: 700;
  margin-bottom: min(1.25vw, 20px);
  width: min(58.125vw, 930px);
  border-bottom: min(0.625vw, 10px) solid #00C8FF;
  margin: 0 auto;
  padding-bottom: min(1vw, 16px);
  position: relative;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--ttl {
    width: 100%;
    font-size: 8.718vw;
    line-height: 1.1;
    border-bottom: 1.282vw solid #00C8FF;
    text-align: left;
    padding-bottom: 3.846vw;
  }
}
.cpplus2026 .stage--ttl:before {
  content: "";
  position: absolute;
  top: min(0.875vw, 14px);
  left: 0;
  width: min(6.375vw, 102px);
  height: min(5.625vw, 90px);
  background: url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-presentation.svg") no-repeat center/contain;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--ttl:before {
    width: 17.949vw;
    height: 15.897vw;
    top: auto;
    left: auto;
    bottom: 1.538vw;
    right: 0;
  }
}
.cpplus2026 .stage--ttl span {
  display: block;
  font-size: min(1.625vw, 26px);
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--ttl span {
    font-size: 4.103vw;
    line-height: 1.56;
    padding-top: 2.051vw;
  }
}
.cpplus2026 .stage--sub {
  line-height: 1.9;
  text-align: center;
  font-size: min(1.125vw, 18px);
  margin: 0 auto;
  padding-top: min(1.125vw, 18px);
  margin-bottom: min(3.125vw, 50px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--sub {
    font-size: 4.103vw;
    line-height: 1.5;
    padding-top: 5.128vw;
    margin-bottom: 6.41vw;
    text-align: left;
  }
}
.cpplus2026 .stage--sub span {
  display: block;
  padding-top: min(0.625vw, 10px);
  font-size: min(0.875vw, 14px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--sub span {
    font-size: 3.59vw;
    padding-top: 2.564vw;
  }
}
.cpplus2026 .stage--contents {
  filter: drop-shadow(0 5px 15px rgba(0, 0, 0, 0.15));
}
.cpplus2026 .stage--contents .stage--contents--tab ul {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.cpplus2026 .stage--contents .stage--contents--tab ul li button {
  width: min(18.75vw, 300px);
  height: min(4.375vw, 70px);
  font-size: min(2.75vw, 44px);
  border-radius: min(0.625vw, 10px) min(0.625vw, 10px) 0 0;
  background: linear-gradient(180deg, #2FD2FF 0%, #07B1FC 100%);
  padding-left: min(1.563vw, 25px);
  font-weight: 700;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .stage--contents--tab ul li button {
    width: 21.282vw;
    height: 13.077vw;
    font-size: 6.154vw;
    border-radius: 1.538vw 1.538vw 0 0;
    padding-left: 3.077vw;
  }
}
.cpplus2026 .stage--contents .stage--contents--tab ul li button span {
  font-size: min(1.25vw, 20px);
  margin-left: min(0.75vw, 12px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .stage--contents--tab ul li button span {
    display: block;
    margin-left: 0;
    font-size: 3.59vw;
  }
}
.cpplus2026 .stage--contents .stage--contents--tab ul li:not(.is-active) {
  transition-duration: 0.4s;
}
.cpplus2026 .stage--contents .stage--contents--tab ul li:not(.is-active):hover {
  opacity: 0.5;
}
.cpplus2026 .stage--contents .stage--contents--tab ul li.is-active button {
  background: #FFF !important;
}
.cpplus2026 .stage--contents .program {
  border-radius: 0 0 min(0.625vw, 10px) min(0.625vw, 10px);
  padding: min(2.75vw, 44px) min(1.25vw, 20px);
  background: #FFF;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .program {
    padding: 4.615vw 5.128vw;
    border-radius: 0 0 2.564vw 2.564vw;
  }
}
.cpplus2026 .stage--contents .program--list {
  display: none;
}
.cpplus2026 .stage--contents .program--list.is-active {
  display: block;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .program--list.is-expanded ul li:nth-child(n+2) {
    display: block;
  }
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .stage--contents .program--list.is-expanded ul li:nth-child(n+4) {
    display: block;
  }
}
.cpplus2026 .stage--contents .program--list ul {
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
}
.cpplus2026 .stage--contents .program--list ul li {
  max-width: min(25vw, 400px);
  width: 100%;
  padding: 0 min(1.563vw, 25px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .program--list ul li {
    max-width: none;
    border-bottom: 0.769vw solid #00C8FF;
    padding: 0 0 3.846vw;
    margin-bottom: 5.128vw;
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .program--list ul li:nth-child(n+2) {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .stage--contents .program--list ul li:nth-child(n+4) {
    display: none;
  }
}
.cpplus2026 .stage--contents .program--list ul li .hush {
  margin-bottom: min(0.5vw, 8px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .program--list ul li .hush {
    margin-bottom: 2.051vw;
  }
}
.cpplus2026 .stage--contents .program--list ul li .hush span {
  border-radius: min(0.313vw, 5px);
  background: #EEE;
  font-size: min(0.75vw, 12px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.2em 0.5em;
  margin-right: 0.4em;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .program--list ul li .hush span {
    font-size: 3.077vw;
  }
}
.cpplus2026 .stage--contents .program--list ul li .hush span:empty {
  opacity: 0;
}
.cpplus2026 .stage--contents .program--list ul li .date {
  font-size: min(1.5vw, 24px);
  margin-bottom: min(0.313vw, 5px);
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .program--list ul li .date {
    font-size: 6.154vw;
    margin-bottom: 1.282vw;
  }
}
.cpplus2026 .stage--contents .program--list ul li .ttl {
  color: #0076D1;
  font-weight: 700;
  margin-bottom: min(2.25vw, 36px);
  display: none;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .program--list ul li .ttl {
    margin-bottom: 2.564vw;
  }
}
.cpplus2026 .stage--contents .program--list ul li .profile-list-container.count-2, .cpplus2026 .stage--contents .program--list ul li .profile-list-container.count-3, .cpplus2026 .stage--contents .program--list ul li .profile-list-container.count-4 {
  display: flex;
  gap: min(0.625vw, 10px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .program--list ul li .profile-list-container.count-2, .cpplus2026 .stage--contents .program--list ul li .profile-list-container.count-3, .cpplus2026 .stage--contents .program--list ul li .profile-list-container.count-4 {
    gap: 4.615vw;
  }
}
.cpplus2026 .stage--contents .program--list ul li .profile-list-container.count-2 .profile__imgs, .cpplus2026 .stage--contents .program--list ul li .profile-list-container.count-3 .profile__imgs, .cpplus2026 .stage--contents .program--list ul li .profile-list-container.count-4 .profile__imgs {
  display: block;
}
.cpplus2026 .stage--contents .program--list ul li .profile-list-container.count-2 .profile__imgs .icon, .cpplus2026 .stage--contents .program--list ul li .profile-list-container.count-3 .profile__imgs .icon, .cpplus2026 .stage--contents .program--list ul li .profile-list-container.count-4 .profile__imgs .icon {
  margin-bottom: min(0.5vw, 8px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .program--list ul li .profile-list-container.count-2 .profile__imgs .icon, .cpplus2026 .stage--contents .program--list ul li .profile-list-container.count-3 .profile__imgs .icon, .cpplus2026 .stage--contents .program--list ul li .profile-list-container.count-4 .profile__imgs .icon {
    margin-bottom: 2.564vw;
  }
}
.cpplus2026 .stage--contents .program--list ul li .profile-list-container.count-2 .profile__imgs .photo, .cpplus2026 .stage--contents .program--list ul li .profile-list-container.count-3 .profile__imgs .photo, .cpplus2026 .stage--contents .program--list ul li .profile-list-container.count-4 .profile__imgs .photo {
  width: 100%;
}
.cpplus2026 .stage--contents .program--list ul li .profile-list-container.count-3 .profile__item {
  width: 33%;
}
.cpplus2026 .stage--contents .program--list ul li .profile-list-container.count-4 {
  flex-wrap: wrap;
}
.cpplus2026 .stage--contents .program--list ul li .profile-list-container.count-4 .profile__item {
  width: calc(50% - min(0.625vw, 10px));
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .program--list ul li .profile-list-container.count-4 .profile__item {
    width: calc(50% - 4.615vw);
  }
}
.cpplus2026 .stage--contents .program--list ul li .profile-list-container.count-4 .profile__item:nth-child(3), .cpplus2026 .stage--contents .program--list ul li .profile-list-container.count-4 .profile__item:last-child {
  padding-top: min(0.625vw, 10px);
}
.cpplus2026 .stage--contents .program--list ul li .profile__item {
  display: flex;
  flex-direction: column;
}
.cpplus2026 .stage--contents .program--list ul li .profile__item.no-photo {
  width: calc(50% - min(0.625vw, 10px));
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .program--list ul li .profile__item.no-photo {
    width: calc(50% - 4.615vw);
  }
}
.cpplus2026 .stage--contents .program--list ul li .profile__rank, .cpplus2026 .stage--contents .program--list ul li .profile__name {
  font-size: min(0.875vw, 14px);
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .program--list ul li .profile__rank, .cpplus2026 .stage--contents .program--list ul li .profile__name {
    font-size: 3.59vw;
  }
}
.cpplus2026 .stage--contents .program--list ul li .profile__rank {
  color: #767676;
  flex-grow: 1;
}
.cpplus2026 .stage--contents .program--list ul li .profile__name {
  margin-bottom: min(0.5vw, 8px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .program--list ul li .profile__name {
    margin-bottom: 2.051vw;
  }
}
.cpplus2026 .stage--contents .program--list ul li .profile__imgs {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
}
.cpplus2026 .stage--contents .program--list ul li .profile__imgs .icon {
  width: min(3.125vw, 50px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .program--list ul li .profile__imgs .icon {
    width: 15.385vw;
  }
}
.cpplus2026 .stage--contents .program--list ul li .profile__imgs .photo {
  width: min(16.875vw, 270px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .program--list ul li .profile__imgs .photo {
    width: 61.538vw;
  }
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .stage--contents .program--list ul li:nth-child(1), .cpplus2026 .stage--contents .program--list ul li:nth-child(2), .cpplus2026 .stage--contents .program--list ul li:nth-child(4), .cpplus2026 .stage--contents .program--list ul li:nth-child(5), .cpplus2026 .stage--contents .program--list ul li:nth-child(7), .cpplus2026 .stage--contents .program--list ul li:nth-child(8) {
    border-right: 1px solid #00C8FF;
  }
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .stage--contents .program--list ul li:nth-child(n+4) {
    padding-top: min(1.563vw, 25px);
    margin-top: min(3.125vw, 50px);
    position: relative;
  }
  .cpplus2026 .stage--contents .program--list ul li:nth-child(n+4):before {
    content: "";
    display: block;
    position: absolute;
    top: max(-1.563vw, -25px);
    left: 0;
    background-color: #00C8FF;
    height: 1px;
    width: 300%;
  }
}
.cpplus2026 .stage--contents .program--list ul li .program-shared-image img {
  width: min(16.875vw, 270px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .program--list ul li .program-shared-image img {
    width: 61.538vw;
  }
}
.cpplus2026 .stage--contents .program--list ul li .program-popup-btn {
  padding-top: min(1.25vw, 20px);
  text-align: right;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .program--list ul li .program-popup-btn {
    padding-top: 2.564vw;
  }
}
.cpplus2026 .stage--contents .program--list ul li .program-popup-btn button {
  width: min(8.25vw, 132px);
  height: min(2vw, 32px);
  border-radius: min(1vw, 16px);
  border: 1px solid #222;
  padding: 0 min(0.625vw, 10px);
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .program--list ul li .program-popup-btn button {
    width: 30.769vw;
    height: 8.205vw;
    border-radius: 4.103vw;
    padding: 0 2.564vw;
  }
}
.cpplus2026 .stage--contents .program--list ul li .program-popup-btn button .info {
  display: inline-block;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .program--list ul li .program-popup-btn button .info {
    width: 4.103vw;
    height: 4.103vw;
  }
}
.cpplus2026 .stage--contents .program--list .more {
  padding-top: min(2.5vw, 40px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .program--list .more {
    padding-top: 5.128vw;
    padding-top: 0;
  }
}
.cpplus2026 .stage--contents .program--list .more button {
  width: min(18.75vw, 300px);
  height: min(2vw, 32px);
  border-radius: min(1vw, 16px);
  border: 1px solid #000;
  background: #00C8FF;
  font-size: min(0.875vw, 14px);
  font-weight: 700;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 min(0.938vw, 15px);
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .program--list .more button {
    width: 100%;
    height: 10.256vw;
    font-size: 4.103vw;
    border-radius: 6.154vw;
    padding: 0 3.077vw;
  }
}
.cpplus2026 .stage--contents .program--list .more button i {
  width: min(1vw, 16px);
  height: min(1vw, 16px);
  background: url(/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-plus.svg) no-repeat center/contain;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--contents .program--list .more button i {
    width: 4.103vw;
    height: 4.103vw;
  }
}
.cpplus2026 .stage--contents .program--list .more button.is-active i {
  background: url(/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-minus.svg) no-repeat center/contain;
}
.cpplus2026 .stage--contents.--update .program--list ul li {
  padding: min(1.563vw, 25px);
  margin: 0;
  margin-left: -1px;
  margin-bottom: -1px;
  position: relative;
  border: none;
}
.cpplus2026 .stage--contents.--update .program--list ul li:before {
  content: "";
  display: block;
  position: absolute;
  top: min(1.563vw, 25px);
  left: 0;
  background-color: #00C8FF;
  height: calc(100% - min(3.125vw, 50px));
  width: 1px;
}
.cpplus2026 .stage--contents.--update .program--list ul li:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: min(1.563vw, 25px);
  background-color: #00C8FF;
  height: 1px;
  width: calc(100% - min(3.125vw, 50px));
}
.cpplus2026 .stage--contents.--update .program--list ul li:nth-child(n+4) {
  margin-top: 0;
}
.cpplus2026 .stage--contents.--update .program--list ul li:nth-child(n+4):before {
  display: none;
}
.cpplus2026 .stage--contents.--update .program--list ul li.is-hit {
  display: block;
}
.cpplus2026 .stage--contents.--update.--demonstration .program--list ul li {
  border: none;
}
.cpplus2026 .stage--contents.--update.--demonstration .program--list ul li:before {
  background-color: #FF67FF;
}
.cpplus2026 .stage--contents.--update.--demonstration .program--list ul li:after {
  background-color: #FF67FF;
}
.cpplus2026 .stage--contents.--update.--workshop .program--list ul li {
  border: none;
}
.cpplus2026 .stage--contents.--update.--workshop .program--list ul li:before {
  background-color: #FF7D27;
}
.cpplus2026 .stage--contents.--update.--workshop .program--list ul li:after {
  background-color: #FF7D27;
}
.cpplus2026 .stage.--demonstration .stage--ttl {
  border-bottom: min(0.625vw, 10px) solid #FF67FF;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage.--demonstration .stage--ttl {
    border-bottom: 1.282vw solid #FF67FF;
  }
}
.cpplus2026 .stage.--demonstration .stage--ttl:before {
  background: url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-demonstration.svg") no-repeat center/contain;
}
.cpplus2026 .stage.--demonstration .stage--contents .stage--contents--tab ul li button {
  background: linear-gradient(180deg, #F8F 0%, #FF6BD5 100%);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage.--demonstration .stage--contents .program--list ul li {
    border-bottom: 0.769vw solid #FF67FF;
  }
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .stage.--demonstration .stage--contents .program--list ul li:nth-child(1), .cpplus2026 .stage.--demonstration .stage--contents .program--list ul li:nth-child(2), .cpplus2026 .stage.--demonstration .stage--contents .program--list ul li:nth-child(4), .cpplus2026 .stage.--demonstration .stage--contents .program--list ul li:nth-child(5), .cpplus2026 .stage.--demonstration .stage--contents .program--list ul li:nth-child(7), .cpplus2026 .stage.--demonstration .stage--contents .program--list ul li:nth-child(8) {
    border-right: 1px solid #FF67FF;
  }
}
.cpplus2026 .stage.--demonstration .stage--contents .program--list ul li:nth-child(n+4):before {
  background-color: #FF67FF;
}
.cpplus2026 .stage.--demonstration .stage--contents .program--list ul li .ttl {
  color: #FF67FF;
}
.cpplus2026 .stage.--demonstration .stage--contents .program--list .more button {
  background: #FF67FF;
}
.cpplus2026 .stage.--workshop {
  margin-bottom: 0;
}
.cpplus2026 .stage.--workshop .stage--ttl {
  border-bottom: min(0.625vw, 10px) solid #FF7D27;
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .stage.--workshop .stage--ttl {
    width: min(66.375vw, 1062px);
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage.--workshop .stage--ttl {
    border-bottom: 1.282vw solid #FF7D27;
  }
}
.cpplus2026 .stage.--workshop .stage--ttl:before {
  background: url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-workshop.svg") no-repeat center/contain;
}
.cpplus2026 .stage.--workshop .stage--contents .stage--contents--tab ul li button {
  background: linear-gradient(180deg, #FF954E 0%, #FF7113 100%);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage.--workshop .stage--contents .program--list ul li {
    border-bottom: 0.769vw solid #FF7D27;
  }
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .stage.--workshop .stage--contents .program--list ul li:nth-child(1), .cpplus2026 .stage.--workshop .stage--contents .program--list ul li:nth-child(2), .cpplus2026 .stage.--workshop .stage--contents .program--list ul li:nth-child(4), .cpplus2026 .stage.--workshop .stage--contents .program--list ul li:nth-child(5), .cpplus2026 .stage.--workshop .stage--contents .program--list ul li:nth-child(7), .cpplus2026 .stage.--workshop .stage--contents .program--list ul li:nth-child(8) {
    border-right: 1px solid #FF7D27;
  }
}
.cpplus2026 .stage.--workshop .stage--contents .program--list ul li:nth-child(n+4):before {
  background-color: #FF7D27;
}
.cpplus2026 .stage.--workshop .stage--contents .program--list ul li .ttl {
  color: #FF7D27;
}
.cpplus2026 .stage.--workshop .stage--contents .program--list .more button {
  background: #FF7D27;
}

.c-popup--profile {
  overflow: hidden;
}
.c-popup--profile .c-popup__outer {
  overflow-y: auto;
  height: 100%;
  max-height: 90vh;
  padding: min(3.125vw, 50px) 0;
}
@media only screen and (max-width: 767px) {
  .c-popup--profile .c-popup__outer {
    padding: 5.128vw 0 12.821vw;
  }
}
.c-popup--profile .c-popup__outer .c-popup__inner {
  padding: 0 min(7.5vw, 120px);
}
@media only screen and (max-width: 767px) {
  .c-popup--profile .c-popup__outer .c-popup__inner {
    padding: 0 5.128vw;
  }
}
.c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__tags {
  margin-bottom: min(1.875vw, 30px);
}
.c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__tags .c-popup__tag {
  font-size: min(0.875vw, 14px);
  border-radius: min(0.313vw, 5px);
  background: #EEE;
  padding: 0.1em 0.6em;
}
@media only screen and (max-width: 767px) {
  .c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__tags .c-popup__tag {
    border-radius: 1.282vw;
  }
}
@media only screen and (max-width: 767px) {
  .c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__tags .c-popup__tag {
    font-size: 3.077vw;
  }
}
.c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__datetime {
  font-weight: 700;
  margin-bottom: min(1.875vw, 30px);
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__datetime {
    margin-bottom: 5.128vw;
  }
}
.c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__datetime .c-popup__date {
  background-color: #00C8FF;
  font-size: min(1.5vw, 24px);
  border-radius: min(1.25vw, 20px);
  padding: 0.2em 0.5em;
  margin-right: min(0.875vw, 14px);
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__datetime .c-popup__date {
    font-size: 4.615vw;
    border-radius: 5.128vw;
    margin-right: 2.564vw;
  }
}
.c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__datetime .c-popup__time {
  font-size: min(2.125vw, 34px);
}
@media only screen and (max-width: 767px) {
  .c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__datetime .c-popup__time {
    font-size: 6.154vw;
  }
}
.c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__title {
  font-size: min(1.625vw, 26px);
  color: #0076D1;
  font-weight: 700;
  margin-bottom: min(1.875vw, 30px);
}
@media only screen and (max-width: 767px) {
  .c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__title {
    font-size: 4.103vw;
    margin-bottom: 4.615vw;
  }
}
.c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__desc {
  padding-top: 0;
  line-height: 2;
  padding-bottom: min(1.875vw, 30px);
  margin-bottom: min(1.875vw, 30px);
  border-bottom: 1px solid #D7D7D7;
}
@media only screen and (max-width: 767px) {
  .c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__desc {
    font-size: 3.59vw;
    line-height: 1.78;
    padding-bottom: 8.974vw;
    margin-bottom: 6.41vw;
  }
}
.c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__desc:before {
  display: none;
}
.c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__desc p {
  padding-top: 0;
}
.c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__profile:nth-of-type(n+2) {
  padding-top: min(1.875vw, 30px);
  margin-top: min(2.5vw, 40px);
  border-top: 1px solid #D7D7D7;
}
@media only screen and (max-width: 767px) {
  .c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__profile:nth-of-type(n+2) {
    padding-top: 5.641vw;
    margin-top: 5.641vw;
  }
}
.c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__profile .c-popup__profile-img {
  display: flex;
  align-items: center;
  margin-bottom: min(1.25vw, 20px);
}
@media only screen and (max-width: 767px) {
  .c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__profile .c-popup__profile-img {
    margin-bottom: 4.615vw;
  }
}
.c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__profile .c-popup__profile-img img {
  width: min(5vw, 80px);
}
@media only screen and (max-width: 767px) {
  .c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__profile .c-popup__profile-img img {
    width: 15.385vw;
  }
}
.c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__profile .c-popup__profile-img .c-popup__profile-meta {
  font-weight: 700;
  padding-left: min(1.25vw, 20px);
}
@media only screen and (max-width: 767px) {
  .c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__profile .c-popup__profile-img .c-popup__profile-meta {
    padding-left: 3.077vw;
  }
}
.c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__profile .c-popup__profile-img .c-popup__profile-meta .c-popup__profile-rank {
  color: #767676;
}
@media only screen and (max-width: 767px) {
  .c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__profile .c-popup__profile-img .c-popup__profile-meta .c-popup__profile-rank {
    font-size: 3.59vw;
  }
}
.c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__profile .c-popup__profile-img .c-popup__profile-meta .c-popup__profile-name {
  font-size: min(1.375vw, 22px);
}
@media only screen and (max-width: 767px) {
  .c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__profile .c-popup__profile-img .c-popup__profile-meta .c-popup__profile-name {
    font-size: 4.103vw;
  }
}
.c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__profile-info {
  display: flex;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__profile-info {
    display: block;
  }
}
.c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__profile-info .c-popup__profile-intro {
  width: calc(100% - min(23.75vw, 380px));
  padding-left: min(2.375vw, 38px);
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  .c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__profile-info .c-popup__profile-intro {
    width: 100%;
    padding-left: 0;
  }
}
.c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__profile-info img {
  width: min(23.75vw, 380px);
}
@media only screen and (max-width: 767px) {
  .c-popup--profile .c-popup__outer .c-popup__inner .c-popup__content .c-popup__profile-info img {
    width: 100%;
    margin-bottom: 2.564vw;
  }
}

.filter-area {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: min(5vw, 80px);
}
.filter-area select {
  width: min(53.125vw, 850px);
  height: min(4vw, 64px);
  border-radius: min(2vw, 32px);
  border: 2px solid #222;
  font-size: min(1.125vw, 18px);
  padding: 0 0 0 min(4.375vw, 70px);
  background: url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-search.svg") no-repeat center left min(0.75vw, 12px)/min(2.75vw, 44px) auto, url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-arrow-down-small.svg") no-repeat center right min(1.625vw, 26px)/min(1.125vw, 18px) auto;
  cursor: pointer;
}
.filter-area select option {
  padding-left: 0;
}
.filter-area button {
  margin-left: min(1.25vw, 20px);
  width: min(8.125vw, 130px);
  height: min(3.125vw, 50px);
  background-color: #CFCFCF;
  color: #fff;
  font-size: min(1.125vw, 18px);
  border-radius: min(1.563vw, 25px);
  text-align: center;
}

.cpplus2026 .stage--map {
  background: #F0F0F0;
  padding-top: min(4.688vw, 75px);
  padding-bottom: min(6.25vw, 100px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--map {
    padding-top: 10.256vw;
    padding-bottom: 15.385vw;
  }
}
.cpplus2026 .stage--map--ttl {
  font-size: min(2.75vw, 44px);
  font-weight: 700;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: min(3.75vw, 60px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--map--ttl {
    font-size: 7.179vw;
    margin-bottom: 7.692vw;
    line-height: 1.5;
  }
}
.cpplus2026 .stage--map--ttl i {
  width: min(3.313vw, 53px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--map--ttl i {
    width: 7.179vw;
    line-height: 0;
    padding-bottom: 1.795vw;
  }
}
.cpplus2026 .stage--map--main {
  margin-bottom: min(2.188vw, 35px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--map--main {
    overflow: auto;
    margin-right: -5.128vw;
    margin-bottom: 5.128vw;
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--map--main img {
    width: 152.821vw;
    max-width: none;
    padding-right: 5.128vw;
    padding-bottom: 3.846vw;
  }
}
.cpplus2026 .stage--map--btns {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--map--btns {
    display: block;
  }
}
.cpplus2026 .stage--map--btns .list {
  max-width: min(25vw, 400px);
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--map--btns .list {
    max-width: none;
    margin-bottom: 5.128vw;
  }
}
.cpplus2026 .stage--map--btns .list--ttl {
  font-size: min(1.375vw, 22px);
  font-weight: 700;
  margin-bottom: min(0.313vw, 5px);
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--map--btns .list--ttl {
    font-size: 4.615vw;
    margin-bottom: 1.282vw;
  }
}
.cpplus2026 .stage--map--btns .list--desc {
  margin-bottom: min(1.25vw, 20px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--map--btns .list--desc {
    margin-bottom: 3.077vw;
    line-height: 1.5;
  }
}
.cpplus2026 .stage--map--btns .list ul li {
  margin-bottom: min(0.75vw, 12px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--map--btns .list ul li {
    margin-bottom: 2.564vw;
  }
}
.cpplus2026 .stage--map--btns .list ul li:last-child {
  margin-bottom: 0;
}
.cpplus2026 .stage--map--btns .list ul li button {
  overflow: hidden;
  border-radius: min(0.75vw, 12px);
  height: min(3vw, 48px);
  width: 100%;
  background-color: #fff;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  padding-left: min(1.625vw, 26px);
  transition-duration: 0.4s;
}
.cpplus2026 .stage--map--btns .list ul li button:hover {
  opacity: 0.5;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--map--btns .list ul li button {
    height: 10.256vw;
    font-size: 3.59vw;
    border-radius: 3.077vw;
    padding-left: 6.41vw;
  }
}
.cpplus2026 .stage--map--btns .list ul li button:before {
  content: "";
  display: block;
  background-color: #83E49B;
  width: min(1.125vw, 18px);
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--map--btns .list ul li button:before {
    width: 3.077vw;
  }
}
.cpplus2026 .stage--map--btns .list ul li button span {
  font-size: min(1.5vw, 24px);
  border-right: 1px solid #222;
  padding-right: min(0.75vw, 12px);
  margin-right: min(0.75vw, 12px);
  width: 1.4em;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--map--btns .list ul li button span {
    font-size: 5.128vw;
    line-height: 1.2;
    padding-right: 2.564vw;
    margin-right: 2.051vw;
  }
}
.cpplus2026 .stage--map--btns .list ul li button i {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: min(0.75vw, 12px);
  width: min(1.313vw, 21px);
  height: min(1.313vw, 21px);
  background: url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-mushimegane.svg") no-repeat center top/contain;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--map--btns .list ul li button i {
    width: 5.385vw;
    height: 5.385vw;
    right: 3.59vw;
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--map--btns .list.--02 {
    margin-bottom: 0;
  }
}
.cpplus2026 .stage--map--btns .list.--02 ul li button:before {
  background-color: #7A69FF;
}
.cpplus2026 .stage--map--btns .list.--03 ul li button:before {
  background: var(--Linear, linear-gradient(180deg, #97F9B0 0%, #64D9C0 35%, #4BB6F4 64%, var(--MAP_Explore-Zone, #7A69FF) 100%));
}
.cpplus2026 .stage--map--link {
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .stage--map--link {
    padding-top: min(2.5vw, 40px);
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .stage--map--link {
    text-align: left;
    font-size: 3.59vw;
    padding-top: 6.41vw;
  }
}
.cpplus2026 .stage--map--link a {
  border-bottom: 1px solid #222;
  transition: all ease 0.4s;
}
.cpplus2026 .stage--map--link a:hover {
  transition: all ease 0.4s;
  border-bottom: 1px solid transparent;
}
.cpplus2026 dialog::backdrop {
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(2px);
}
.cpplus2026 .c-popup {
  padding: 0;
  border: none;
  border-radius: min(0.75vw, 12px);
  width: 90%;
  max-width: min(72.5vw, 1160px);
  background: #fff;
  color: #333;
  max-height: 90vh;
  overflow-y: auto;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .c-popup {
    max-width: none;
    border-radius: 2.564vw;
  }
}
.cpplus2026 .c-popup__inner {
  padding: min(3.375vw, 54px) min(11.25vw, 180px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .c-popup__inner {
    padding: 15.385vw 5.128vw 11.538vw;
  }
}
.cpplus2026 .c-popup__map {
  margin-bottom: min(2.188vw, 35px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .c-popup__map {
    margin-bottom: 9.231vw;
  }
}
.cpplus2026 .c-popup__title {
  font-weight: 700;
  font-size: min(1.125vw, 18px);
  margin-bottom: min(0.938vw, 15px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .c-popup__title {
    font-size: 4.103vw;
    display: flex;
    align-items: center;
    margin-bottom: 3.59vw;
  }
}
.cpplus2026 .c-popup__title span {
  font-size: min(1.5vw, 24px);
  border-right: 1px solid #222;
  padding-right: min(0.75vw, 12px);
  margin-right: min(0.75vw, 12px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .c-popup__title span {
    font-size: 6.41vw;
    padding-right: 3.59vw;
    margin-right: 3.59vw;
    line-height: 1;
  }
}
.cpplus2026 .c-popup__desc {
  position: relative;
}
.cpplus2026 .c-popup__desc:before {
  content: "";
  display: block;
  height: min(0.5vw, 8px);
  width: 100%;
  background-color: #83E49B;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .c-popup__desc:before {
    height: 1.282vw;
  }
}
.cpplus2026 .c-popup__desc.explorer:before {
  background-color: #7A69FF;
}
.cpplus2026 .c-popup__desc.session-explorer:before {
  background: linear-gradient(270deg, #97F9B0 1%, #64D9C0 35.65%, #4BB6F4 64.36%, #7A69FF 100%);
}
.cpplus2026 .c-popup__desc p {
  padding-top: min(0.75vw, 12px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .c-popup__desc p {
    padding-top: 3.846vw;
  }
}
.cpplus2026 .c-popup__close {
  position: absolute;
  top: min(1.5vw, 24px);
  right: min(1.5vw, 24px);
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 5px;
  color: #333;
  z-index: 10;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .c-popup__close {
    width: 5.641vw;
    padding: 0;
    top: 3.846vw;
    right: 3.846vw;
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .c-popup__close svg {
    width: 5.641vw;
  }
}

.cpplus2026 .campaign {
  position: relative;
  overflow: hidden;
}
.cpplus2026 .campaign__bg {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  position: relative;
  padding-top: min(5%, 80px);
  padding-bottom: min(7.5%, 120px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__bg {
    padding-top: 10.256vw;
    padding-bottom: 16.667vw;
  }
}
.cpplus2026 .campaign__bg:before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .campaign__bg:before {
    /* ▼ 画像指定 */
    width: min(187.5vw, 3000px);
    height: 100%;
    background: url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/campaign-bg.svg?v1") no-repeat left top;
    /* ▼ サイズ指定：コンテンツ幅(1600px)に対する比率 */
    /* 背景幅 3691px ÷ コンテンツ幅 1600px ≒ 230.6875% */
    /* ▼ 位置指定 */
    /* 仮の値（調整してください） */
    /* ▼ 縦位置指定 */
    /* コンテンツ上端からの距離を%で指定 */
    /* 例：上に530px突き出ているなら: -530 / 1600 = -33.125% */
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background-size: auto 100%;
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__bg:before {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/campaign_bg01-sp.png?v1") no-repeat left top, url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/campaign_bg02-sp.png?v1") no-repeat left top 514.872vw, url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/campaign_bg03-sp.png?v1") no-repeat left bottom 461.538vw, url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/campaign_bg04-sp.png?v1") no-repeat left bottom;
    background-size: 100% auto, 100% auto, 100% auto, 100% auto;
  }
}
.cpplus2026 .campaign--ttl {
  font-size: min(2.75vw, 44px);
  font-weight: 700;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: min(3.75vw, 60px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign--ttl {
    font-size: 7.179vw;
    margin-bottom: 7.692vw;
    line-height: 1.5;
  }
}
.cpplus2026 .campaign--ttl i {
  width: min(3.313vw, 53px);
  line-height: 0;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign--ttl i {
    width: 7.179vw;
    line-height: 0;
    padding-bottom: 1.795vw;
  }
}
.cpplus2026 .campaign__block {
  border: 3px solid #222;
  border-radius: min(0.625vw, 10px);
  background-color: #fff;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block {
    border-radius: 2.564vw;
    border: 0.513vw solid #222;
  }
}
.cpplus2026 .campaign__block.--01 {
  margin-bottom: min(3.75vw, 60px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block.--01 {
    margin-bottom: 10.256vw;
  }
}
.cpplus2026 .campaign__block h3 {
  color: #fff;
  font-size: min(2vw, 32px);
  font-weight: 700;
  text-align: center;
  background-color: #222;
  height: min(4.875vw, 78px);
  display: grid;
  place-content: center;
  margin-bottom: min(2.5vw, 40px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block h3 {
    border-radius: 2.051vw 2.051vw 0 0;
    font-size: 4.615vw;
    height: 14.872vw;
    margin-bottom: 7.692vw;
  }
}
.cpplus2026 .campaign__block .forSP .ttl {
  text-align: center;
  font-size: 3.59vw;
  margin-bottom: 4.103vw;
}
.cpplus2026 .campaign__block--contents {
  display: flex;
  justify-content: center;
  gap: min(2.5vw, 40px);
  margin: 0 auto min(1.875vw, 30px);
  position: relative;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block--contents {
    width: 76.923vw;
    margin-bottom: 5.128vw;
    gap: 5.128vw;
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block--contents {
    width: 82.564vw;
  }
}
.cpplus2026 .campaign__block--contents figure {
  width: min(21.25vw, 340px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block--contents figure {
    width: 100%;
    display: block;
  }
}
.cpplus2026 .campaign__block--contents figure p {
  font-size: min(1.125vw, 18px);
  text-align: center;
  line-height: 2;
  margin-bottom: min(0.938vw, 15px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block--contents figure p {
    font-size: 3.59vw;
  }
}
.cpplus2026 .campaign__block--contents figure img {
  filter: blur(4px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block--contents figure img {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block--contents figure figcaption {
    font-size: 3.59vw;
    text-align: center;
  }
}
.cpplus2026 .campaign__block .comingsoon {
  position: absolute;
  top: calc(50% + 0.8em);
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: min(1.875vw, 30px);
  border-radius: min(0.625vw, 10px);
  border: min(0.188vw, 3px) solid #222;
  background: #FFF;
  width: min(20.375vw, 326px);
  height: min(3.75vw, 60px);
  display: grid;
  place-content: center;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block .comingsoon {
    font-size: 5.641vw;
    width: 66.154vw;
    height: 13.333vw;
    border-radius: 2.051vw;
    border-width: 0.769vw;
    top: 50%;
  }
}
.cpplus2026 .campaign__block .comingsoon--sub {
  text-align: center;
  line-height: 1.6;
  font-size: min(1.625vw, 26px);
  color: #C00;
  margin-bottom: min(2.5vw, 40px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block .comingsoon--sub {
    font-size: 4.103vw;
    margin-bottom: 7.692vw;
  }
}
.cpplus2026 .campaign__block--caution {
  text-align: center;
  font-size: min(0.875vw, 14px);
  margin-bottom: min(1.5vw, 24px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block--caution {
    font-size: 3.59vw;
    margin-bottom: 5.128vw;
  }
}
.cpplus2026 .campaign__block--btn {
  text-align: center;
  margin-bottom: min(2.5vw, 40px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block--btn {
    margin-bottom: 7.692vw;
  }
}
.cpplus2026 .campaign__block--graybox {
  background-color: #F7F7F7;
  border-radius: min(1.25vw, 20px);
  width: min(72.5vw, 1160px);
  margin: 0 auto min(2.5vw, 40px);
  padding: min(1.5vw, 24px) min(5.938vw, 95px) min(2.5vw, 40px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block--graybox {
    width: 83.59vw;
    padding: 6.154vw 2.051vw 5.128vw;
    margin-bottom: 3.846vw;
  }
}
.cpplus2026 .campaign__block--graybox h5 {
  text-align: center;
  margin-bottom: min(1.25vw, 20px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block--graybox h5 {
    margin-bottom: 6.41vw;
  }
}
.cpplus2026 .campaign__block--graybox h5 span {
  font-size: min(1.125vw, 18px);
  line-height: 2;
  border-bottom: 2px solid #222;
  padding-bottom: 0.4em;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block--graybox h5 span {
    font-size: 4.615vw;
    border-width: 0.513vw;
    display: inline-block;
  }
}
.cpplus2026 .campaign__block--graybox .desc {
  line-height: 1.5;
  text-align: center;
  margin-bottom: min(1.25vw, 20px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block--graybox .desc {
    font-size: 3.59vw;
    margin-bottom: 6.154vw;
  }
}
.cpplus2026 .campaign__block--graybox .canon-id {
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: min(1.688vw, 27px) 0;
  margin-bottom: min(1vw, 16px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block--graybox .canon-id {
    display: block;
    padding: 3.846vw 0;
    margin-bottom: 5.128vw;
  }
}
.cpplus2026 .campaign__block--graybox .canon-id .logo {
  width: min(10vw, 160px);
  margin-right: min(3.625vw, 58px);
  position: relative;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block--graybox .canon-id .logo {
    width: 40.256vw;
    margin: 0 auto;
    padding-bottom: 4.872vw;
  }
}
.cpplus2026 .campaign__block--graybox .canon-id .logo:after {
  content: "";
  display: block;
  width: min(1vw, 16px);
  height: min(1vw, 16px);
  position: absolute;
  background: url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-arrow-black-small.svg") no-repeat center/contain;
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .campaign__block--graybox .canon-id .logo:after {
    top: 50%;
    right: min(-2.188vw, -35px);
    transform: translateY(-50%);
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block--graybox .canon-id .logo:after {
    width: 3.59vw;
    height: 3.59vw;
    bottom: -0.513vw;
    left: calc(50% - 1.795vw);
    transform: rotate(90deg) translateX(-50%);
    transform-origin: center;
  }
}
.cpplus2026 .campaign__block--graybox .canon-id .service {
  width: min(39.375vw, 630px);
  border: 2px solid #C00;
  border-radius: min(0.625vw, 10px);
  padding: min(1.063vw, 17px) min(1.875vw, 30px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block--graybox .canon-id .service {
    width: 71.795vw;
    margin: 0 auto;
    padding: 4.103vw 1.538vw;
    border-width: 0.513vw;
    border-radius: 2.564vw;
  }
}
.cpplus2026 .campaign__block--graybox .canon-id .service p {
  color: #C00;
  line-height: 1.5;
  margin-bottom: min(0.938vw, 15px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block--graybox .canon-id .service p {
    font-size: 3.59vw;
    text-align: center;
    margin-bottom: 4.103vw;
  }
}
.cpplus2026 .campaign__block--graybox .canon-id .service--logo {
  width: 100%;
}
.cpplus2026 .campaign__block .btn {
  text-align: center;
}
.cpplus2026 .campaign__block.--02 .campaign__block--contents .comingsoon {
  top: 50%;
}
.cpplus2026 .campaign__block.--02 .campaign__block--desc {
  text-align: center;
  font-size: min(0.875vw, 14px);
  line-height: 1.5;
  margin-bottom: min(2.5vw, 40px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block.--02 .campaign__block--desc {
    font-size: 3.59vw;
    text-align: left;
    width: 76.923vw;
    margin: 0 auto 7.692vw;
  }
}
.cpplus2026 .campaign__block.--02 .campaign__block--graybox {
  padding-left: min(3.125vw, 50px);
  padding-right: min(3.125vw, 50px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block.--02 .campaign__block--graybox {
    padding-left: 3.59vw;
    padding-right: 3.59vw;
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block.--02 .campaign__block--graybox h5 {
    line-height: 1.2;
    margin-bottom: 6.41vw;
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block.--02 .campaign__block--graybox .desc {
    text-align: left;
  }
}
.cpplus2026 .campaign__block.--02 .campaign__block--graybox .photo-circle__list {
  display: flex;
  justify-content: space-between;
  margin-bottom: min(1.25vw, 20px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block.--02 .campaign__block--graybox .photo-circle__list {
    display: block;
  }
}
.cpplus2026 .campaign__block.--02 .campaign__block--graybox .photo-circle__list .list {
  width: min(21.25vw, 340px);
  background-color: #fff;
  padding: min(1.25vw, 20px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block.--02 .campaign__block--graybox .photo-circle__list .list {
    width: 100%;
    display: flex;
    align-items: flex-start;
    padding: 4.04vw;
    margin-bottom: 4.103vw;
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block.--02 .campaign__block--graybox .photo-circle__list .list:last-of-type {
    margin-bottom: 5.128vw;
  }
}
.cpplus2026 .campaign__block.--02 .campaign__block--graybox .photo-circle__list .list__img {
  color: #C00;
  font-size: min(1.375vw, 22px);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: min(0.938vw, 15px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block.--02 .campaign__block--graybox .photo-circle__list .list__img span {
    display: none;
  }
}
.cpplus2026 .campaign__block.--02 .campaign__block--graybox .photo-circle__list .list__img img {
  width: min(5.5vw, 88px);
  margin-left: min(0.5vw, 8px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block.--02 .campaign__block--graybox .photo-circle__list .list__img img {
    width: 21.538vw;
    margin-left: 0;
  }
}
.cpplus2026 .campaign__block.--02 .campaign__block--graybox .photo-circle__list .list__desc {
  font-size: min(0.875vw, 14px);
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block.--02 .campaign__block--graybox .photo-circle__list .list__desc {
    font-size: 3.59vw;
    width: calc(100% - 21.538vw);
    padding-left: 3.846vw;
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block.--02 .campaign__block--graybox .photo-circle__list .list__desc span {
    font-weight: 700;
    color: #C00;
    font-size: 4.103vw;
    line-height: 1.5;
    margin-bottom: 1.282vw;
  }
}
.cpplus2026 .campaign__block.--02 .campaign__block--graybox .photo-circle .btn .temp--btn {
  height: min(3.75vw, 60px);
  border-radius: min(1.875vw, 30px);
  text-align: left;
  line-height: 1.3;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign__block.--02 .campaign__block--graybox .photo-circle .btn .temp--btn {
    height: 15.385vw;
    border-radius: 7.692vw;
  }
}
.cpplus2026 .campaign--sns__ttl {
  width: min(53vw, 848px);
  margin: 0 auto min(1.875vw, 30px);
  padding-top: min(5vw, 80px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign--sns__ttl {
    width: 100%;
    padding-top: 12.821vw;
    margin-bottom: 8.974vw;
  }
}
.cpplus2026 .campaign .campaign__block--sns {
  position: relative;
  margin-bottom: min(3.75vw, 60px);
  border: 3px solid #C00;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns {
    border: 0.513vw solid #C00;
    margin-bottom: 12.821vw;
  }
}
.cpplus2026 .campaign .campaign__block--sns .icon {
  width: min(7.5vw, 120px);
  height: min(7.5vw, 120px);
  border: min(0.25vw, 4px) solid #C00;
  border-radius: 100%;
  display: grid;
  place-content: center;
  background-color: #fff;
  position: absolute;
  top: min(0.813vw, 13px);
  left: min(2.5vw, 40px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns .icon {
    width: 16.923vw;
    height: 16.923vw;
    left: 2.051vw;
    top: -5.128vw;
  }
}
.cpplus2026 .campaign .campaign__block--sns .icon img {
  width: min(3.375vw, 54px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns .icon img {
    width: 7.692vw;
  }
}
.cpplus2026 .campaign .campaign__block--sns h3 {
  background-color: #C00;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns h3 {
    height: 20vw;
    border-radius: 2.051vw 2.051vw 0 0;
  }
}
.cpplus2026 .campaign .campaign__block--sns .campaign__block--contents figure {
  display: flex;
  width: min(47.188vw, 755px);
  gap: min(1.25vw, 20px);
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns .campaign__block--contents figure {
    display: block;
    width: 79.487vw;
    margin: 0 auto;
  }
}
.cpplus2026 .campaign .campaign__block--sns .campaign__block--contents figure img {
  width: min(17.375vw, 278px);
  filter: blur(0);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns .campaign__block--contents figure img {
    display: block;
    width: 47.949vw;
    margin: 0 auto 2.564vw;
  }
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .campaign .campaign__block--sns .campaign__block--contents figure figcaption {
    width: calc(100% - min(17.375vw, 278px));
  }
}
.cpplus2026 .campaign .campaign__block--sns .campaign__block--contents figure figcaption .ttl {
  margin-bottom: min(0.75vw, 12px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns .campaign__block--contents figure figcaption .ttl {
    font-size: 3.59vw;
    margin-bottom: 2.564vw;
  }
}
.cpplus2026 .campaign .campaign__block--sns .campaign__block--contents figure figcaption .txt {
  font-size: min(0.875vw, 14px);
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns .campaign__block--contents figure figcaption .txt {
    font-size: 3.59vw;
  }
}
.cpplus2026 .campaign .campaign__block--sns .campaign__block--contents .sub {
  font-size: min(1.625vw, 26px);
  color: #C00;
  line-height: 1.6;
  padding: min(0.438vw, 7px) min(0.625vw, 10px);
  border-top: 2px solid #C00;
  border-bottom: 2px solid #C00;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns .campaign__block--contents .sub {
    font-size: 4.615vw;
    padding: 2.564vw 0;
    border-width: 0.513vw;
  }
}
.cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox {
  padding-left: 0;
  padding-right: 0;
}
.cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox h5 {
  font-size: min(1.625vw, 26px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox h5 {
    font-size: 4.615vw;
  }
}
.cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow {
  width: min(66.25vw, 1060px);
  place-content: center;
  background-color: #fff;
  padding: min(0.75vw, 12px) 0 min(1.938vw, 31px);
  margin: 0 auto;
  display: grid;
  place-content: center;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow {
    width: 79.487vw;
    padding: 3.846vw 2.051vw;
  }
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow ul {
    display: flex;
    gap: min(1.625vw, 26px);
  }
}
.cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow ul li {
  max-width: min(19.375vw, 310px);
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow ul li {
    display: grid;
    grid-template-columns: 7.692vw calc(100% - 7.692vw);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    max-width: none;
    padding-bottom: 2.051vw;
    margin-bottom: 2.564vw;
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow ul li:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
  }
}
.cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow--num {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: min(0.313vw, 5px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow--num {
    width: 7.692vw;
    flex-direction: column;
    align-items: center;
    grid-area: 1/1/3/2;
  }
}
.cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow--num:after {
  content: "";
  display: block;
  background-color: #CECECE;
  height: 2px;
  width: calc(100% - min(2.875vw, 46px));
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow--num:after {
    width: 2px;
    height: calc(100% - 9.744vw);
    position: absolute;
    top: 9.744vw;
  }
}
.cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow--ttl {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: min(1.25vw, 20px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow--ttl {
    width: calc(100% - 3.846vw);
    padding-left: 2.051vw;
    margin-bottom: 0.769vw;
    grid-area: 1/2/2/3;
  }
}
.cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow--ttl span {
  line-height: 1.66;
  color: #C00;
  font-size: min(1.125vw, 18px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow--ttl span {
    font-size: 4.103vw;
  }
}
.cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow--ttl.--01 img {
  width: min(3.688vw, 59px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow--ttl.--01 img {
    width: 15.128vw;
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow--ttl.--02 {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow--ttl.--02 span {
    display: block;
  }
}
.cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow--ttl.--02 img {
  width: min(9.125vw, 146px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow--ttl.--02 img {
    width: 44.615vw;
    padding: 2.564vw 0;
  }
}
.cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow--ttl.--03 {
  position: relative;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow--ttl.--03 {
    margin-bottom: -3.077vw;
  }
}
.cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow--ttl.--03 img {
  width: min(3.5vw, 56px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow--ttl.--03 img {
    width: 11.795vw;
  }
}
.cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow--desc {
  font-size: min(0.875vw, 14px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .flow--desc {
    width: calc(100% - 7.692vw);
    padding-left: 2.051vw;
    font-size: 3.59vw;
    grid-area: 2/2/3/3;
  }
}
.cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .btn {
  padding-top: min(1.563vw, 25px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .btn {
    padding-top: 5.128vw;
  }
}
.cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .btn .temp--btn {
  width: min(21.25vw, 340px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns .campaign__block--graybox .btn .temp--btn {
    width: 76.923vw;
  }
}
.cpplus2026 .campaign .campaign__block--sns.ex {
  margin-bottom: 0;
}
.cpplus2026 .campaign .campaign__block--sns.ex .icon img {
  width: min(3.063vw, 49px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns.ex .icon img {
    width: 6.923vw;
  }
}
.cpplus2026 .campaign .campaign__block--sns.ex .campaign__block--contents {
  display: block;
}
.cpplus2026 .campaign .campaign__block--sns.ex .campaign__block--contents .sub {
  width: min(23.75vw, 380px);
  margin: 0 auto min(1.563vw, 25px);
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns.ex .campaign__block--contents .sub {
    width: 61.538vw;
    margin-bottom: 5.128vw;
  }
}
.cpplus2026 .campaign .campaign__block--sns.ex .campaign__block--contents .desc {
  text-align: center;
  line-height: 1.56;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns.ex .campaign__block--contents .desc {
    text-align: left;
  }
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .campaign .campaign__block--sns.ex .x__list {
    margin-bottom: min(3.75vw, 60px);
  }
}
.cpplus2026 .campaign .campaign__block--sns.ex .x__list ul {
  display: flex;
  justify-content: center;
  gap: min(1.875vw, 30px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns.ex .x__list ul {
    display: block;
  }
}
.cpplus2026 .campaign .campaign__block--sns.ex .x__list--item {
  display: flex;
  flex-direction: column;
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .campaign .campaign__block--sns.ex .x__list--item {
    width: min(15.063vw, 241px);
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns.ex .x__list--item {
    display: block;
    padding: 5.128vw 0;
    width: 79.487vw;
    margin: 0 auto;
    border-top: 1px solid #000;
  }
}
.cpplus2026 .campaign .campaign__block--sns.ex .x__list--item figure {
  flex-grow: 1;
}
.cpplus2026 .campaign .campaign__block--sns.ex .x__list--item figure img {
  margin-bottom: min(0.625vw, 10px);
  border-radius: min(0.5vw, 8px);
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns.ex .x__list--item figure img {
    display: block;
    width: 61.795vw;
    margin: 0 auto 3.077vw;
    border-radius: 2.051vw;
  }
}
.cpplus2026 .campaign .campaign__block--sns.ex .x__list--item figure figcaption h5 {
  text-align: center;
  line-height: 2;
  font-size: min(1.125vw, 18px);
  margin-bottom: min(0.625vw, 10px);
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns.ex .x__list--item figure figcaption h5 {
    font-size: 4.103vw;
    margin-bottom: 2.564vw;
  }
}
.cpplus2026 .campaign .campaign__block--sns.ex .x__list--item figure figcaption p {
  font-size: min(0.875vw, 14px);
  line-height: 1.5;
  margin-bottom: min(1.25vw, 20px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .campaign .campaign__block--sns.ex .x__list--item figure figcaption p {
    font-size: 3.59vw;
    margin-bottom: 3.846vw;
  }
}
.cpplus2026 .campaign .campaign__block--sns.ex .x__list--item .btn a {
  width: 100%;
}

.cpplus2026 .product {
  background-color: #F7F7F7;
  padding-top: min(6.25vw, 100px);
  padding-bottom: min(10vw, 160px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .product {
    padding-top: 14.103vw;
    padding-bottom: 17.949vw;
  }
}
.cpplus2026 .product--ttl {
  font-size: min(2.75vw, 44px);
  text-align: center;
  margin-bottom: min(3.75vw, 60px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .product--ttl {
    font-size: 7.179vw;
    margin-bottom: 8.974vw;
  }
}
.cpplus2026 .product__lists {
  display: flex;
  justify-content: space-between;
  max-width: min(77.5vw, 1240px);
  width: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .product__lists {
    flex-wrap: wrap;
    max-width: none;
    gap: 3.59vw;
  }
}
.cpplus2026 .product__lists .list a {
  background-color: #fff;
  width: min(14.25vw, 228px);
  height: min(10.625vw, 170px);
  display: flex;
  flex-direction: column;
  padding: min(0.938vw, 15px) min(1.25vw, 20px);
  border-radius: min(0.625vw, 10px);
  box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.25);
  position: relative;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .product__lists .list a {
    width: 43.077vw;
    height: auto;
    border-radius: 3.077vw;
    padding: 2.564vw 3.077vw;
  }
}
.cpplus2026 .product__lists .list a .cat {
  color: #767676;
  font-size: min(0.875vw, 14px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .product__lists .list a .cat {
    font-size: 3.59vw;
  }
}
.cpplus2026 .product__lists .list a .name {
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .product__lists .list a .name {
    font-size: 3.59vw;
  }
}
.cpplus2026 .product__lists .list a img {
  width: min(5vw, 80px);
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .product__lists .list a img {
    width: 20.513vw;
  }
}
.cpplus2026 .product__lists .list a i {
  position: absolute;
  bottom: min(0.938vw, 15px);
  right: min(0.938vw, 15px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .product__lists .list a i {
    bottom: 2.051vw;
    right: 2.051vw;
  }
}

.cpplus2026 .sns {
  padding-top: min(6.25vw, 100px);
  padding-bottom: min(10vw, 160px);
  background-color: #F0F0F0;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .sns {
    padding-top: 14.103vw;
    padding-bottom: 17.949vw;
  }
}
.cpplus2026 .sns--ttl {
  font-size: min(2.75vw, 44px);
  text-align: center;
  margin-bottom: min(3.75vw, 60px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .sns--ttl {
    font-size: 7.179vw;
    line-height: 1.5;
    margin-bottom: 8.974vw;
  }
}
.cpplus2026 .sns__lists {
  max-width: min(77.5vw, 1240px);
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: min(1.25vw, 20px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .sns__lists {
    display: block;
    max-width: none;
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .sns__lists .list {
    margin-bottom: 3.59vw;
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .sns__lists .list:last-child {
    margin-bottom: 0;
  }
}
.cpplus2026 .sns__lists .list a {
  width: min(25vw, 400px);
  border-radius: min(0.625vw, 10px);
  background: #FFF;
  box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.25);
  display: flex;
  align-items: center;
  padding: min(1.563vw, 25px) min(1.25vw, 20px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .sns__lists .list a {
    width: 100%;
    padding: 3.59vw;
    border-radius: 3.077vw;
  }
}
.cpplus2026 .sns__lists .list img {
  width: min(4.25vw, 68px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .sns__lists .list img {
    width: 12.308vw;
  }
}
.cpplus2026 .sns__lists .list .content {
  padding-left: min(1.125vw, 18px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .sns__lists .list .content {
    padding-left: 4.103vw;
  }
}
.cpplus2026 .sns__lists .list .content h3 {
  font-size: min(0.875vw, 14px);
  color: #C00;
  line-height: 1.5;
  margin-bottom: min(0.438vw, 7px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .sns__lists .list .content h3 {
    font-size: 3.59vw;
    line-height: 1.5;
    margin-bottom: 1.538vw;
  }
}
.cpplus2026 .sns__lists .list .content h4 {
  line-height: 1.56;
}
.cpplus2026 .share {
  overflow: hidden;
}
.cpplus2026 .share__bg {
  height: min(23.25vw, 372px);
  display: grid;
  place-content: center;
  position: relative;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .share__bg {
    height: 78.462vw;
    max-width: none;
    background: url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/share-bg-sp.png?v1") no-repeat center center/cover;
  }
}
.cpplus2026 .share__bg:before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  background: url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/share-bg.svg?v1") no-repeat left top;
  background-size: auto 100%;
  width: min(187.5vw, 3000px);
  height: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .share__bg:before {
    display: none;
  }
}
.cpplus2026 .share__contents {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(3.375vw, 54px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .share__contents {
    display: block;
  }
}
.cpplus2026 .share--icon {
  display: flex;
  align-items: center;
  gap: min(1.5vw, 24px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .share--icon {
    gap: 4.103vw;
    justify-content: center;
    padding-top: 4.103vw;
  }
}
.cpplus2026 .share--icon a {
  display: inline-block;
  width: min(4vw, 64px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .share--icon a {
    width: 14.359vw;
  }
}

.cpplus2026 .overlay {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 10;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .overlay.is-open {
    visibility: visible;
    opacity: 1;
  }
}
.cpplus2026 .sticky__menu {
  position: fixed;
  left: 0;
  bottom: min(-6.75vw, -108px);
  width: 100%;
  background-color: #fff;
  height: min(6.75vw, 108px);
  display: flex;
  align-items: center;
  z-index: 111;
  transition: all ease 0.6s;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .sticky__menu {
    bottom: auto;
    top: 0;
    transform: translateY(-105.385vw);
    height: 105.385vw;
    border-radius: 0 0 2.564vw 2.564vw;
    display: block;
    padding-top: 5.897vw;
    background: #fff url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/sticky-menu-bg-sp.png?v1") no-repeat center/cover;
  }
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .sticky__menu.is-view {
    bottom: 0;
    transition: all ease 0.6s;
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .sticky__menu.is-open {
    transform: translateX(0); /* 画面内に入ってくる */
  }
}
.cpplus2026 .sticky__menu .inner {
  position: relative;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .sticky__menu .inner {
    padding: 0 12.821vw;
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .sticky__menu .logo {
    width: 50.769vw;
    margin: 0 auto 10.769vw;
  }
}
.cpplus2026 .sticky__menu ul {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: min(1vw, 16px);
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .sticky__menu ul {
    display: block;
  }
}
.cpplus2026 .sticky__menu ul li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: min(1.375vw, 22px);
  padding-right: min(0.625vw, 10px);
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .sticky__menu ul li a {
    border: 1px solid #000;
    border-radius: min(1.5vw, 24px);
    width: min(18.625vw, 298px);
    height: min(3vw, 48px);
  }
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .sticky__menu ul li a {
    width: 100%;
    height: auto;
    padding: 2.564vw 0.769vw;
    border-bottom: 0.513vw solid #000;
  }
}
.cpplus2026 .sticky__menu ul li a span {
  display: flex;
  align-items: center;
}
.cpplus2026 .sticky__menu ul li a .ico {
  width: min(1.875vw, 30px);
  margin-right: min(0.875vw, 14px);
  display: block;
  line-height: 0;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .sticky__menu ul li a .ico {
    width: 7.692vw;
    margin-right: 3.077vw;
  }
}
.cpplus2026 .sticky__menu ul li a .arrow {
  width: min(1.75vw, 28px);
  height: min(1.75vw, 28px);
  background: url("/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-arrow-down.svg") no-repeat center center/contain;
}
@media only screen and (max-width: 767px) {
  .cpplus2026 .sticky__menu ul li a .arrow {
    width: 7.179vw;
    height: 7.179vw;
  }
}
.cpplus2026 .sticky__menu--close {
  position: absolute;
  top: 0vw;
  right: 4.615vw;
  width: 5.641vw;
  height: 5.641vw;
}
.cpplus2026 .sticky__menu--close span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform-origin: center;
  transform: translate(-50%, -50%) rotate(45deg);
  display: block;
  width: 7.949vw;
  height: 2px;
  background-color: #000;
}
.cpplus2026 .sticky__menu--close span:last-of-type {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.cpplus2026 .sticky__menu.--update {
  bottom: min(-12.5vw, -200px);
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .sticky__menu.--update.is-view {
    bottom: 0;
    transition: all ease 0.6s;
  }
}
.cpplus2026 .sticky__menu.--update ul {
  justify-content: center;
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .sticky__menu.--update ul {
    margin-left: max(-7.5vw, -120px);
  }
}
@media print, screen and (min-width: 768px) {
  .cpplus2026 .sticky__menu.--update ul li a {
    width: min(16.75vw, 268px);
  }
}
.cpplus2026 .sticky__menu.--update .sticky__recommend {
  position: absolute;
  top: max(-5.625vw, -90px);
  right: max(-4.375vw, -70px);
}
.cpplus2026 .sticky__menu.--update .sticky__recommend--inner {
  background: linear-gradient(209deg, #FF3329 12.37%, #FF8D15 33.25%, #FFC307 70.18%, #E0E425 89.95%);
  padding: min(0.313vw, 5px);
  width: min(9.563vw, 153px);
  height: min(9.563vw, 153px);
  border-radius: 50%;
}
.cpplus2026 .sticky__menu.--update .sticky__recommend--inner button {
  width: 100%;
  height: 100%;
  background-color: #fff;
  display: grid;
  place-content: center;
  position: relative;
  border-radius: 50%;
}
.cpplus2026 .sticky__menu.--update .sticky__recommend--inner button .question {
  background: url(/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-question.svg) no-repeat center center/contain;
  width: min(1.813vw, 29px);
  height: min(1.813vw, 29px);
  display: block;
  margin: 0 auto min(0.313vw, 5px);
}
.cpplus2026 .sticky__menu.--update .sticky__recommend--inner button span {
  line-height: 1.56;
}
.cpplus2026 .sticky__menu.--update .sticky__recommend--inner button .arrow {
  position: absolute;
  bottom: 0;
  right: max(0.625vw, 10px);
}

.c-popup--recommend .c-popup__inner {
  padding: min(2.813vw, 45px) min(3.125vw, 50px);
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner {
    padding: 12.821vw 3.846vw;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-header h2 {
  font-size: min(2.75vw, 44px);
  text-align: center;
  margin-bottom: min(2.5vw, 40px);
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-header h2 {
    font-size: 6.154vw;
    margin-bottom: 5.128vw;
    line-height: 1.68;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-header h2 .question {
  background: url(/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-question.svg) no-repeat center center/contain;
  width: min(4.375vw, 70px);
  height: min(4.375vw, 70px);
  display: block;
  margin: 0 auto min(0.625vw, 10px);
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-header h2 .question {
    width: 8.974vw;
    height: 8.974vw;
    margin-bottom: 1.282vw;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-grid {
  border-radius: min(1.25vw, 20px);
  background: #F7F7F7;
  box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.25);
  padding: min(2.188vw, 35px);
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-grid {
    border-radius: 3.846vw;
    padding: 3.846vw 5.128vw;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-grid .c-recommend-subtitle {
  font-size: min(2.25vw, 36px);
  text-align: center;
  margin-bottom: min(1.563vw, 25px);
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-grid .c-recommend-subtitle {
    font-size: 4.103vw;
    line-height: 1.56;
    margin-bottom: 3.846vw;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-grid ul {
  display: flex;
  justify-content: space-between;
  gap: min(1.5vw, 24px);
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-grid ul {
    display: block;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-grid ul li {
  max-width: min(14.375vw, 230px);
  width: 50%;
  height: min(6.25vw, 100px);
  padding: min(0.25vw, 4px);
  background: linear-gradient(209deg, #FF3329 12.37%, #FF8D15 33.25%, #FFC307 70.18%, #E0E425 89.95%);
  border-radius: min(1.875vw, 30px);
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-grid ul li {
    height: 12.821vw;
    border-radius: 3.846vw;
    padding: 1.026vw;
    width: 100%;
    max-width: none;
    margin-bottom: 2.051vw;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-grid ul li button {
  border-radius: min(1.75vw, 28px);
  width: 100%;
  height: 100%;
  display: grid;
  place-content: center;
  line-height: 1.5;
  font-weight: 700;
  background: #fff url(/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-arrow-red-down.svg) no-repeat center right min(0.625vw, 10px)/contain;
  background-size: min(1.75vw, 28px) auto;
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-grid ul li button {
    border-radius: 3.333vw;
    font-size: 3.59vw;
    background-position: center right 2.051vw;
    background-size: 5.641vw auto;
    text-align: left;
    padding-left: 4.615vw;
    display: block;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-grid ul li button.is-active {
  background-color: #FFFCAD;
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco {
  margin-top: min(2.75vw, 44px);
  border-radius: min(1.875vw, 30px);
  background: linear-gradient(209deg, #FF3329 12.37%, #FF8D15 33.25%, #FFC307 70.18%, #E0E425 89.95%);
  padding: min(0.25vw, 4px);
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco {
    margin-top: 5.897vw;
    border-radius: 3.846vw;
    padding: 1.026vw;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__title {
  font-size: min(1.125vw, 18px);
  text-align: center;
  background-color: #FFFCAD;
  border-radius: min(1.75vw, 28px) min(1.75vw, 28px) 0 0;
  padding: min(1.5vw, 24px) 0;
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__title {
    font-size: 3.59vw;
    padding: 2.564vw 0 3.59vw;
    border-radius: 3.333vw 3.333vw 0 0;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__title span {
  font-size: min(1.625vw, 26px);
  display: block;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__title span {
    font-size: 4.615vw;
    line-height: 2;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents {
  background-color: #fff;
  border-radius: 0 0 min(1.75vw, 28px) min(1.75vw, 28px);
  padding: 0 min(3vw, 48px) min(1.875vw, 30px);
  position: relative;
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents {
    border-radius: 0 0 3.333vw 3.333vw;
    padding: 0 6.41vw 6.41vw;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper {
  border-top: min(0.188vw, 3px) solid #FF3629;
  padding-top: min(1.875vw, 30px);
  padding-bottom: min(1.875vw, 30px);
  margin-bottom: min(1.25vw, 20px);
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper {
    border-width: 0.769vw;
    padding-top: 5.128vw;
    padding-bottom: 12.308vw;
    margin-bottom: 0;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper .swiper-slide {
  display: flex;
  flex-direction: column;
  border-left: 1px solid #CECECE;
  padding: 0 min(1.25vw, 20px);
  height: auto;
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper .swiper-slide {
    padding: 0;
    border: none;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper .swiper-slide:first-of-type {
  border: none;
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper .swiper-slide .event-time {
  display: flex;
  align-items: center;
  margin-bottom: min(0.625vw, 10px);
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper .swiper-slide .event-time {
    margin-bottom: 2.564vw;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper .swiper-slide .event-time .day {
  padding: min(0.625vw, 10px);
  border-radius: min(1.25vw, 20px);
  background-color: #00C8FF;
  margin-right: min(0.625vw, 10px);
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper .swiper-slide .event-time .day {
    border-radius: 5.128vw;
    padding: 2.051vw;
    margin-right: 2.564vw;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper .swiper-slide .event-title {
  margin-bottom: min(0.625vw, 10px);
  color: #0076D1;
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper .swiper-slide .event-title {
    margin-bottom: 3.077vw;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper .swiper-slide .event-img {
  margin-bottom: min(0.625vw, 10px);
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper .swiper-slide .event-img {
    margin-bottom: 3.077vw;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper .swiper-slide .event-desc {
  font-size: min(0.875vw, 14px);
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper .swiper-slide .event-desc {
    font-size: 3.59vw;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper .swiper-pagination {
  bottom: 0;
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper .swiper-pagination {
    bottom: 5.128vw;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper .swiper-pagination-bullet {
  height: min(0.5vw, 8px);
  width: min(0.5vw, 8px);
  margin: 0 min(0.25vw, 4px);
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper .swiper-pagination-bullet {
    height: 2.051vw;
    width: 2.051vw;
    margin: 0 1.026vw;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper-button-next, .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper-button-prev {
  width: min(0.875vw, 14px);
  height: min(2.5vw, 40px);
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper-button-next, .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper-button-prev {
    width: 2.051vw;
    height: 6.154vw;
    top: 37%;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper-button-next {
  background: url(/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-slide-arrow-right.svg) no-repeat center center/contain;
  right: min(1.25vw, 20px);
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper-button-next {
    right: 2.564vw;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper-button-prev {
  background: url(/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-slide-arrow-left.svg) no-repeat center center/contain;
  left: min(1.25vw, 20px);
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .swiper-button-prev {
    left: 2.564vw;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .btn {
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .btn {
    padding-top: 5.128vw;
    border-top: 1px solid #CECECE;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .btn a {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  border: 1px solid #000;
  border-radius: min(1.25vw, 20px);
  padding-left: min(1.125vw, 18px);
  padding-right: min(0.5vw, 8px);
  font-size: min(0.875vw, 14px);
  width: min(17.875vw, 286px);
  height: min(2.5vw, 40px);
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .btn a {
    font-size: 3.59vw;
    width: 100%;
    height: 10.256vw;
    border-radius: 6.154vw;
    padding-left: 4.615vw;
    padding-right: 2.308vw;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .btn a .ico-schedule {
  background: url(/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-schedule.svg) no-repeat center center/contain;
  display: block;
  width: min(1.75vw, 28px);
  height: min(1.5vw, 24px);
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .btn a .ico-schedule {
    width: 6.154vw;
    height: 5.128vw;
  }
}
.c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .btn a .arrow {
  background: url(/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-arrow-down.svg) no-repeat center center/contain;
  width: min(1.5vw, 24px);
  height: min(1.5vw, 24px);
}
@media only screen and (max-width: 767px) {
  .c-popup--recommend .c-popup__inner .c-popup__content .c-recommend-aco__contents .btn a .arrow {
    width: 5.641vw;
    height: 5.641vw;
  }
}

.cpplus2026 .sticky__nav {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  transform: translateY(51.282vw);
  transition: transform ease 0.6s;
}
.cpplus2026 .sticky__nav.is-view {
  transform: translateY(0);
  transition: transform ease 0.6s;
}
.cpplus2026 .sticky__nav--inner {
  display: flex;
}
.cpplus2026 .sticky__nav--inner .--left, .cpplus2026 .sticky__nav--inner .--right {
  width: 50%;
}
.cpplus2026 .sticky__nav--inner .--left a, .cpplus2026 .sticky__nav--inner .--right a {
  font-size: 3.59vw;
}
.cpplus2026 .sticky__nav--inner .--left a {
  background-color: #222;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #fff;
  gap: 1.538vw;
  padding: 0 1.026vw 0 1.538vw;
}
.cpplus2026 .sticky__nav--inner .--left a img {
  width: 14.103vw;
}
.cpplus2026 .sticky__nav--inner .--left a .blank {
  width: 4.103vw;
  height: 4.103vw;
  display: inline-block;
  margin-top: 5.128vw;
}
.cpplus2026 .sticky__nav--inner .--right {
  background: var(--_2, linear-gradient(209deg, #FF3329 12.37%, #FF8D15 33.25%, #FFC307 70.18%, #E0E425 89.95%));
  display: grid;
  place-content: center;
  padding: 1.282vw 0;
}
.cpplus2026 .sticky__nav--inner .--right a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.051vw;
  background-color: #fff;
  border-radius: 5.641vw;
  width: 47.949vw;
  height: 11.282vw;
}
.cpplus2026 .sticky__nav--inner .--right a .question {
  background: url(/-/media/Project/Canon/CanonJP/Personal/event/exhibition/cpplus2026/images/icon-question.svg) no-repeat center center/contain;
  width: 6.41vw;
  height: 6.41vw;
}
.cpplus2026 .sticky__nav--inner .--right a .arrow {
  width: 5.641vw;
  height: 5.641vw;
}