:root {
  --aipc-width: 1200px;
  --aipc-padding: 30px;
  --aipc-paddingx2: 60px;
  --aipc-black: #000;
  --aipc-darkgray: #1a1a1a;
  --aipc-white: #fff;
  --aipc-yellow: #fcee21;
  --aipc-blue: #1B1464;
  --aipc-lightblue: #eaf4ff;
  --aipc-bg: #f4f4f4;
  --aipc-green: #70c13f;
  --aipc-red: #d51121; }
  @media screen and (max-width: 768px) {
    :root {
      --aipc-padding: 10px;
      --aipc-paddingx2: 15px; } }

/*--

  LP

====================================================== --*/
#index {
  max-width: none !important;
  width: auto !important; }

html {
  scroll-behavior: smooth; }

#aipc .aipc__point__label {
  -ms-flex-align: center;
      align-items: center;
  background: var(--aipc-blue);
  color: var(--aipc-white);
  display: inline flex;
  font-size: 30px;
  font-weight: 700;
  height: 45px;
  -ms-flex-pack: center;
      justify-content: center;
  margin: 0px 0px 13px;
  padding: 0px 20px;
  position: relative; }
  @media screen and (max-width: 768px) {
    #aipc .aipc__point__label {
      font-size: 20px;
      height: 30px;
      padding: 0px 12px; } }
  #aipc .aipc__point__label::after {
    border-color: var(--aipc-blue) transparent transparent transparent;
    border-style: solid;
    border-width: 15px 15px 0 0;
    content: "";
    height: 0;
    margin: 0px 0px 0px 60px;
    position: absolute;
    width: 0;
    inset: 100% auto auto 50%; }
    @media screen and (max-width: 768px) {
      #aipc .aipc__point__label::after {
        border-width: 10px 10px 0 0;
        margin: 0px 0px 0px 50px; } }

#aipc .aipc__point__title {
  background: none !important;
  border: none !important;
  color: var(--aipc-blue);
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  margin: 0px 0px 17px !important;
  padding: 0px 0px 0px !important;
  text-align: center !important; }
  @media screen and (max-width: 768px) {
    #aipc .aipc__point__title {
      font-size: 15px !important; } }
  #aipc .aipc__point__title strong {
    color: inherit;
    font-size: 1.5em !important;
    font-weight: 700 !important; }
    @media screen and (max-width: 768px) {
      #aipc .aipc__point__title strong {
        font-size: 1.333em !important; } }
    #aipc .aipc__point__title strong span {
      font-size: 1.25em !important; }

#aipc .aipc__point__btn {
  border: 1px solid var(--aipc-blue);
  border-radius: 30px;
  margin: 25px auto 0px;
  overflow: hidden;
  width: 340px; }
  @media screen and (max-width: 768px) {
    #aipc .aipc__point__btn {
      border-radius: 20px;
      margin: 17px auto 0px;
      width: 100%; } }
  @media screen and (max-width: 768px) {
    #aipc .aipc__point__btn[data-status="open"] button {
      background: var(--aipc-white);
      color: var(--aipc-blue); }
      #aipc .aipc__point__btn[data-status="open"] button::after {
        rotate: 225deg; } }
  @media screen and (min-width: 769px) {
    #aipc .aipc__point__btn dl {
      display: none !important; } }
  @media screen and (max-width: 768px) {
    #aipc .aipc__point__btn dl {
      display: none;
      padding: 10px 0px 1px; } }
  #aipc .aipc__point__btn dl iframe {
    display: block;
    height: auto;
    width: 100%;
    aspect-ratio: 560 / 315; }
  #aipc .aipc__point__btn dl dt {
    color: var(--aipc-blue);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0px 0px 10px; }
    #aipc .aipc__point__btn dl dt strong {
      font-size: 40px;
      font-weight: 400; }
      #aipc .aipc__point__btn dl dt strong span {
        font-size: 0.5em; }
  #aipc .aipc__point__btn dl dd {
    margin: 0px 0px 20px;
    padding: 0px 20px; }
  #aipc .aipc__point__btn button {
    background: var(--aipc-bg);
    border: none;
    border-radius: 30px;
    box-sizing: border-box;
    color: var(--aipc-black);
    cursor: pointer;
    font-size: 15px;
    font-weight: 700;
    gap: 10px;
    height: 58px;
    padding: 0px;
    width: 100%;
    display: block flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    -moz-appearance: none;
         appearance: none;
    -webkit-appearance: none;
    transition: all 250ms ease;
    transition: all 250ms ease; }
    @media screen and (max-width: 768px) {
      #aipc .aipc__point__btn button {
        font-size: 12px;
        height: 38px; } }
    #aipc .aipc__point__btn button:hover {
      opacity: 0.7;
      text-decoration: none; }
    #aipc .aipc__point__btn button::after {
      background: url(../../images/2503/icon_plus.svg) no-repeat center;
      content: "";
      height: 15px;
      width: 15px; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__point__btn button::after {
          background-size: contain;
          height: 10px;
          margin: auto;
          position: absolute;
          width: 10px;
          transition: all 250ms ease;
          inset: 0px 15px 0px auto; } }

#aipc .aipc__point__list {
  gap: var(--aipc-padding);
  display: block flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: strech;
      align-items: strech; }
  @media screen and (max-width: 768px) {
    #aipc .aipc__point__list {
      display: block;
      margin: 0px 20px; } }
  #aipc .aipc__point__list li {
    background: var(--aipc-white);
    border-radius: 20px;
    box-shadow: 0px 5px 5px rgb(0 0 0 / 0.05);
    display: block flex;
    -ms-flex-direction: column;
        flex-direction: column;
    width: 380px; }
    @media screen and (max-width: 768px) {
      #aipc .aipc__point__list li {
        margin: 0px 0px var(--aipc-padding);
        width: 100%; } }
  #aipc .aipc__point__list--01 p::before {
    background: url(../../images/2503/point_01.svg) no-repeat center;
    background-size: contain; }
  #aipc .aipc__point__list--02 p::before {
    background: url(../../images/2503/point_02.svg) no-repeat center;
    background-size: contain; }
  #aipc .aipc__point__list--03 p::before {
    background: url(../../images/2503/point_03.svg) no-repeat center;
    background-size: contain; }
  #aipc .aipc__point__list p {
    border: none !important;
    border-radius: 20px;
    box-shadow: 0px 5px 5px  rgb(0 0 0 / 0.05);
    color: var(--aipc-blue);
    font-size: 30px !important;
    font-weight: 700 !important;
    line-height: 1.19 !important;
    margin: 0px 0px 0px !important;
    padding: 15px 0px  !important;
    text-align: center !important; }
    @media screen and (max-width: 768px) {
      #aipc .aipc__point__list p {
        font-size: 20px !important;
        height: 60px;
        padding: 0px 20px 0px 60px !important;
        position: relative;
        display: block flex;
        -ms-flex-pack: justify;
            justify-content: space-between;
        -ms-flex-align: center;
            align-items: center; } }
    #aipc .aipc__point__list p::before {
      content: "";
      display: inline-block;
      height: 60px;
      margin: 0px 10px 0px 0px;
      vertical-align: -20px;
      width: 60px; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__point__list p::before {
          height: 40px;
          margin: auto;
          position: absolute;
          vertical-align: 0px;
          width: 40px;
          inset: 0px auto 0px 10px; } }
    #aipc .aipc__point__list p strong {
      display: block;
      font-size: 0.5em !important;
      margin-top: -12px; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__point__list p strong {
          font-size: 12px !important;
          margin: 0px; } }
    #aipc .aipc__point__list p em {
      font-size: 4em !important;
      vertical-align: -5px;
      margin-left: 5px;
      font-weight: 400 !important; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__point__list p em {
          font-weight: 700 !important;
          font-size: 50px !important;
          vertical-align: -2px; } }
    #aipc .aipc__point__list p span {
      font-size: 2em !important;
      vertical-align: -5px; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__point__list p span {
          font-size: 25px !important;
          vertical-align: -2px; } }

#aipc .aipc__point__caption {
  text-align: left;
  font-size: 12px;
  max-width: var(--aipc-width);
  margin: 10px auto 0px; }
  @media screen and (max-width: 768px) {
    #aipc .aipc__point__caption {
      font-size: 10px;
      margin: 10px 20px 0px; } }

#aipc .aipc__point[data-status="show"] .aipc__point__label {
  opacity: 1;
  transition: transform 750ms ease 0ms, opacity 750ms ease 0ms;
  transform: translateY(0px); }

#aipc .aipc__point[data-status="show"] .aipc__point__title {
  opacity: 1;
  transition: transform 750ms ease 200ms, opacity 750ms ease 200ms;
  transform: translateY(0px); }

#aipc .aipc__point[data-status="show"] .aipc__point__caption, #aipc .aipc__point[data-status="show"] .aipc__point__list {
  opacity: 1;
  transition: transform 750ms ease 400ms, opacity 750ms ease 400ms;
  transform: translateY(0px); }

#aipc .aipc__point__label, #aipc .aipc__point__title, #aipc .aipc__point__caption, #aipc .aipc__point__list {
  opacity: 0;
  transform: translateY(15px); }

#aipc .aipc__scene {
  overflow: hidden;
  padding: var(--aipc-paddingx2) 0px 0px; }
  @media screen and (max-width: 768px) {
    #aipc .aipc__scene {
      padding: 0px var(--aipc-padding) 0px; } }
  #aipc .aipc__scene__mv {
    margin: 0px auto 20px;
    max-width: var(--aipc-width);
    opacity: 0;
    transform: translateY(15px); }
    @media screen and (max-width: 768px) {
      #aipc .aipc__scene__mv {
        margin-bottom: 10px;
        margin-inline: calc(var(--aipc-padding) * -1); } }
    #aipc .aipc__scene__mv[data-status="show"] {
      opacity: 1;
      transition: transform 750ms ease 0s, opacity 750ms ease 0s;
      transform: translateY(0px); }
    #aipc .aipc__scene__mv img {
      width: 100%; }
  #aipc .aipc__scene__bg {
    padding: 60px 30px 60px;
    max-width: 1200px;
    box-sizing: border-box;
    margin: -20px auto 20px;
    background: url(../../images/2503/mv_bg.webp) no-repeat center bottom;
    background-size: cover; }
    @media screen and (max-width: 768px) {
      #aipc .aipc__scene__bg {
        margin: -10px calc(var(--aipc-padding) * -1) 10px;
        padding: 40px 0px 30px; } }
  #aipc .aipc__scene__title {
    gap: 10px;
    margin: 0px 0px 25px;
    opacity: 0;
    transform: translateY(15px);
    display: block flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 768px) {
      #aipc .aipc__scene__title {
        margin: 0px 0px 15px; } }
    #aipc .aipc__scene__title[data-status="show"] {
      opacity: 1;
      transition: transform 750ms ease 0s, opacity 750ms ease 0s;
      transform: translateY(0px); }
    #aipc .aipc__scene__title::after, #aipc .aipc__scene__title::before {
      -ms-flex-item-align: end;
          align-self: flex-end;
      background: url(../../images/2503/scene_title.svg) no-repeat center;
      content: "";
      height: 53px;
      width: 38px; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__scene__title::after, #aipc .aipc__scene__title::before {
          background-size: contain;
          height: 35px;
          margin-top: -5px;
          width: 25px; } }
    #aipc .aipc__scene__title::after {
      scale: -1 1; }
    #aipc .aipc__scene__title h2 {
      background: none !important;
      border: none !important;
      color: var(--aipc-blue);
      font-size: 20px !important;
      font-weight: 700 !important;
      line-height: 1.2 !important;
      margin: 0px  !important;
      padding: 0px  !important;
      text-align: center !important; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__scene__title h2 {
          font-size: 15px !important; } }
      #aipc .aipc__scene__title h2 em {
        font-size: 1.75em !important; }
        @media screen and (max-width: 768px) {
          #aipc .aipc__scene__title h2 em {
            font-size: 1.666em !important; } }
      #aipc .aipc__scene__title h2 span {
        font-size: 1.5em !important; }
        @media screen and (max-width: 768px) {
          #aipc .aipc__scene__title h2 span {
            font-size: 1.333em !important; } }
  #aipc .aipc__scene__body {
    background: var(--aipc-white);
    border: 1px solid var(--aipc-blue);
    border-radius: 5px;
    box-sizing: border-box;
    margin: 0px auto 60px;
    max-width: 1020px;
    opacity: 0;
    transform: translateY(15px); }
    @media screen and (max-width: 768px) {
      #aipc .aipc__scene__body {
        margin: 0px auto 40px; } }
    #aipc .aipc__scene__body[data-status="show"] {
      opacity: 1;
      transition: transform 750ms ease 0s, opacity 750ms ease 0s;
      transform: translateY(0px); }
    #aipc .aipc__scene__body nav {
      display: block flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__scene__body nav {
          margin: 0px 10px; } }
    #aipc .aipc__scene__body h3 {
      background: url(../../images/2503/scene_bg.webp) no-repeat center !important;
      background-size: cover !important;
      border: none !important;
      border-bottom: 1px solid var(--aipc-blue) !important;
      border-radius: 4px 4px 0px 0px !important;
      color: var(--aipc-blue);
      font-size: 30px !important;
      font-weight: 700 !important;
      height: 88px;
      line-height: 1.2 !important;
      margin: 0px  !important;
      padding: 0px  !important;
      position: relative;
      text-align: center !important;
      display: block flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__scene__body h3 {
          box-sizing: border-box;
          display: block;
          font-size: 20px !important;
          height: 79px;
          padding: 11px 0px 0px  !important; } }
      #aipc .aipc__scene__body h3::before, #aipc .aipc__scene__body h3::after {
        background: url(../../images/2503/scene_title02.svg) no-repeat left top;
        content: "";
        height: 34px;
        position: absolute;
        width: 34px; }
      #aipc .aipc__scene__body h3::before {
        inset: 10px auto auto 10px; }
      #aipc .aipc__scene__body h3::after {
        inset: auto 10px 10px auto;
        scale: -1; }
      #aipc .aipc__scene__body h3 span {
        margin-bottom: 6px; }
      #aipc .aipc__scene__body h3 em {
        font-size: 1.266em; }
  #aipc .aipc__scene__detail {
    padding: 55px 0px 60px; }
    @media screen and (max-width: 768px) {
      #aipc .aipc__scene__detail {
        padding: 35px 10px 40px; } }
    #aipc .aipc__scene__detail .aipc__scene__slider__title,
    #aipc .aipc__scene__detail .aipc__scene__more__title {
      -ms-flex-align: center;
          align-items: center;
      border: none !important;
      display: inline flex;
      font-size: 20px !important;
      font-weight: 700 !important;
      -ms-flex-pack: center;
          justify-content: center;
      line-height: 1.5  !important;
      margin: 0px 0px -15px !important;
      padding: 8px 20px !important;
      position: relative;
      text-align: center !important;
      z-index: 2; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__scene__detail .aipc__scene__slider__title,
        #aipc .aipc__scene__detail .aipc__scene__more__title {
          font-size: 15px !important;
          line-height: 1.333  !important;
          margin: 0px 0px -10px !important;
          padding: 5px 12px !important; } }
      #aipc .aipc__scene__detail .aipc__scene__slider__title::after,
      #aipc .aipc__scene__detail .aipc__scene__more__title::after {
        border-style: solid;
        border-width: 15px 15px 0 0;
        content: "";
        height: 0;
        margin: 0px 0px 0px 60px;
        position: absolute;
        width: 0;
        inset: 100% auto auto 50%; }
        @media screen and (max-width: 768px) {
          #aipc .aipc__scene__detail .aipc__scene__slider__title::after,
          #aipc .aipc__scene__detail .aipc__scene__more__title::after {
            border-width: 10px 10px 0 0;
            margin: 0px 0px 0px 40px; } }
    #aipc .aipc__scene__detail .aipc__scene__slider__title {
      background: var(--aipc-blue) !important;
      color: var(--aipc-white); }
      #aipc .aipc__scene__detail .aipc__scene__slider__title::after {
        border-color: var(--aipc-blue) transparent transparent transparent; }
    #aipc .aipc__scene__detail .aipc__scene__more__title {
      background: var(--aipc-yellow) !important;
      color: var(--aipc-darkgray);
      padding-inline: 50px !important; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__scene__detail .aipc__scene__more__title {
          padding-inline: 10px !important; } }
      #aipc .aipc__scene__detail .aipc__scene__more__title::after {
        border-color: var(--aipc-yellow) transparent transparent transparent; }
  #aipc .aipc__scene__comment {
    height: 155px;
    margin: 0px auto;
    position: relative;
    width: 500px;
    opacity: 0;
    transform: translateY(15px); }
    #aipc .aipc__scene__comment[data-status="show"] {
      opacity: 1;
      transition: transform 750ms ease 0s, opacity 750ms ease 0s;
      transform: translateY(0px); }
    @media screen and (max-width: 768px) {
      #aipc .aipc__scene__comment {
        height: 112px;
        width: auto; } }
    #aipc .aipc__scene__comment p {
      background: url(../../images/2503/scene_comment.svg) no-repeat center;
      font-size: 20px;
      font-weight: 700;
      height: 127px;
      line-height: 1.75em;
      margin: 0px 30px 0px auto;
      text-align: center;
      width: 368px;
      display: block flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__scene__comment p {
          background: url(../../images/2503/scene_comment_sp.svg) no-repeat center;
          background-size: contain;
          font-size: 15px;
          height: 85px;
          line-height: 1.666em;
          margin: 0px 0px 0px auto;
          width: 244px; } }
    #aipc .aipc__scene__comment img {
      position: absolute;
      top: 20px; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__scene__comment img {
          top: 3px; } }
    #aipc .aipc__scene__comment--04 img, #aipc .aipc__scene__comment--02 img, #aipc .aipc__scene__comment--01 img {
      left: -10px;
      width: 100px; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__scene__comment--04 img, #aipc .aipc__scene__comment--02 img, #aipc .aipc__scene__comment--01 img {
          left: 0px;
          width: 78px; } }
    #aipc .aipc__scene__comment--03 img {
      right: -20px;
      width: 119px; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__scene__comment--03 img {
          right: 0px;
          width: 78px; } }
    #aipc .aipc__scene__comment--03 p {
      margin: 0px auto 0px 20px; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__scene__comment--03 p {
          margin-left: 0px; } }
  #aipc .aipc__scene__slider {
    margin: 0px 0px 30px;
    position: relative;
    z-index: 2;
    opacity: 0;
    transform: translateY(15px); }
    #aipc .aipc__scene__slider[data-status="show"] {
      opacity: 1;
      transition: transform 750ms ease 0s, opacity 750ms ease 0s;
      transform: translateY(0px); }
    @media screen and (max-width: 768px) {
      #aipc .aipc__scene__slider {
        margin: 0px 0px 20px; } }
    #aipc .aipc__scene__slider ul {
      gap: var(--aipc-padding);
      margin: 0px auto 10px;
      position: relative;
      transition: transform 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
      width: 500px;
      display: block flex;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__scene__slider ul {
          gap: 5px;
          width: 100%; } }
      #aipc .aipc__scene__slider ul li {
        box-sizing: border-box;
        -ms-flex-negative: 0;
            flex-shrink: 0;
        width: 500px; }
        @media screen and (max-width: 768px) {
          #aipc .aipc__scene__slider ul li {
            max-width: 500px;
            width: calc(100vw - 40px); } }
      #aipc .aipc__scene__slider ul img {
        border: 1px solid var(--aipc-blue);
        border-radius: 20px;
        box-sizing: border-box;
        width: 100%; }
    #aipc .aipc__scene__slider p {
      font-size: 15px;
      line-height: 1.1em;
      margin: 0px 0px 13px; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__scene__slider p {
          font-size: 10px;
          margin: 0px 0px 10px; } }
      #aipc .aipc__scene__slider p a {
        color: var(--aipc-blue);
        text-decoration: underline; }
        @media screen and (min-width: 769px) {
          #aipc .aipc__scene__slider p a:hover {
            text-decoration: none; } }
    #aipc .aipc__scene__slider ol {
      counter-reset: num;
      gap: 15px;
      padding: 0px;
      display: block flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__scene__slider ol {
          gap: 10px; } }
      #aipc .aipc__scene__slider ol li {
        background: var(--aipc-bg);
        border: 1px solid var(--aipc-blue);
        border-radius: 100%;
        box-sizing: border-box;
        color: var(--aipc-blue);
        counter-increment: num;
        cursor: pointer;
        font-size: 15px;
        height: 30px;
        list-style: none;
        width: 30px;
        display: block flex;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center; }
        @media screen and (max-width: 768px) {
          #aipc .aipc__scene__slider ol li {
            font-size: 12px;
            height: 20px;
            width: 20px; } }
        @media screen and (min-width: 769px) {
          #aipc .aipc__scene__slider ol li {
            transition: all 250ms ease; }
            #aipc .aipc__scene__slider ol li:hover {
              background: var(--aipc-blue);
              color: var(--aipc-white); } }
        #aipc .aipc__scene__slider ol li::before {
          content: counter(num); }
        #aipc .aipc__scene__slider ol li[data-current="true"] {
          background: var(--aipc-blue);
          color: var(--aipc-white);
          pointer-events: none; }
  #aipc .aipc__scene__more {
    opacity: 0;
    transform: translateY(15px); }
    #aipc .aipc__scene__more[data-status="show"] {
      opacity: 1;
      transition: transform 750ms ease 0s, opacity 750ms ease 0s;
      transform: translateY(0px); }
    #aipc .aipc__scene__more h4 {
      background: inherit !important;
      border: none !important;
      color: inherit;
      font-size: inherit !important;
      font-size: inherit !important;
      font-weight: inherit !important;
      line-height: inherit  !important;
      margin: 0px !important;
      padding: 0px !important;
      text-align: center !important; }
    #aipc .aipc__scene__more__label {
      color: var(--aipc-blue);
      font-size: 20px;
      font-weight: 700;
      gap: 10px;
      margin: 0px 0px 6px;
      display: block flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__scene__more__label {
          font-size: 15px;
          gap: 5px;
          margin: 0px 0px 2px; } }
      #aipc .aipc__scene__more__label::after, #aipc .aipc__scene__more__label::before {
        background: url(../../images/2503/scene_title.svg) no-repeat center;
        content: "";
        height: 23px;
        width: 17px; }
        @media screen and (max-width: 768px) {
          #aipc .aipc__scene__more__label::after, #aipc .aipc__scene__more__label::before {
            height: 15px;
            width: 10px; } }
      #aipc .aipc__scene__more__label::after {
        scale: -1 1; }
    #aipc .aipc__scene__more__copy {
      margin: 25px 0px 5px;
      font-size: 15px;
      line-height: 1.666em; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__scene__more__copy {
          margin: 18px 0px 10px; } }
      @media screen and (max-width: 768px) {
        #aipc .aipc__scene__more__copy {
          font-size: 12px;
          line-height: 1.5em; } }
      #aipc .aipc__scene__more__copy em {
        display: block;
        font-size: 1.333em;
        font-weight: 700;
        line-height: 1.8em;
        margin: 3px 0px 0px; }
        @media screen and (max-width: 768px) {
          #aipc .aipc__scene__more__copy em {
            font-size: 1.25em; } }
    #aipc .aipc__scene__more figure {
      margin: 0px auto; }
      #aipc .aipc__scene__more figure figcaption {
        color: var(--aipc-black);
        font-size: 15px;
        margin-top: 20px;
        text-align: center; }
        @media screen and (max-width: 768px) {
          #aipc .aipc__scene__more figure figcaption {
            font-size: 10px; } }
    #aipc .aipc__scene__more--01 figure img {
      width: 143px; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__scene__more--01 figure img {
          width: 165px; } }
    #aipc .aipc__scene__more--02 figure {
      width: 281px; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__scene__more--02 figure {
          width: 285px; } }
    #aipc .aipc__scene__more--03 figure {
      width: 290px; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__scene__more--03 figure {
          width: 285px; } }
  #aipc .aipc__scene__promote {
    background: url(../../images/2503/mv_bg.webp) no-repeat center;
    background-size: cover;
    padding: 60px 0px;
    border-radius: 0px 0px 5px 5px; }
    @media screen and (max-width: 768px) {
      #aipc .aipc__scene__promote {
        padding: 40px 10px; } }
    #aipc .aipc__scene__promote[data-status="show"] h4 {
      opacity: 1;
      transition: transform 750ms ease 0ms, opacity 750ms ease 0ms;
      transform: translateY(0px); }
    #aipc .aipc__scene__promote[data-status="show"] .aipc__scene__pc {
      opacity: 1;
      transition: transform 750ms ease 200ms, opacity 750ms ease 200ms;
      transform: translateY(0px); }
    #aipc .aipc__scene__promote[data-status="show"] nav {
      margin-top:30px;
      opacity: 1;
      transition: transform 750ms ease 400ms, opacity 750ms ease 400ms;
      transform: translateY(0px); }
    #aipc .aipc__scene__promote h4 {
      background: none !important;
      border: none !important;
      color: var(--aipc-blue);
      font-size: 30px !important;
      font-weight: 700 !important;
      line-height: 1.5  !important;
      margin: 0px 0px 47px !important;
      padding: 0px !important;
      text-align: center !important; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__scene__promote h4 {
          font-size: 21px !important;
          margin: 0px 0px 15px !important; } }
      #aipc .aipc__scene__promote h4 span {
        -ms-flex-align: center;
            align-items: center;
        background: var(--aipc-blue);
        color: var(--aipc-white);
        display: inline flex;
        height: 45px;
        -ms-flex-pack: center;
            justify-content: center;
        line-height: 1;
        margin: 0px 0px 6px;
        padding: 0px 20px;
        position: relative; }
        @media screen and (max-width: 768px) {
          #aipc .aipc__scene__promote h4 span {
            height: 30px;
            padding: 0px 10px; } }
        #aipc .aipc__scene__promote h4 span::after {
          border-color: var(--aipc-blue) transparent transparent transparent;
          border-style: solid;
          border-width: 15px 15px 0 0;
          content: "";
          height: 0;
          margin: 0px 0px 0px 60px;
          position: absolute;
          width: 0;
          inset: 100% auto auto 50%; }
          @media screen and (max-width: 768px) {
            #aipc .aipc__scene__promote h4 span::after {
              border-width: 10px 10px 0 0;
              margin: 0px 0px 0px 50px; } }
      #aipc .aipc__scene__promote h4 strong {
        color: var(--aipc-blue);
        font-size: 1.166em;
        margin: 0px 5px 0px 0px; }
        @media screen and (max-width: 768px) {
          #aipc .aipc__scene__promote h4 strong {
            font-size: 1.25em; } }
    #aipc .aipc__scene__promote h4,
    #aipc .aipc__scene__promote .aipc__scene__pc,
    #aipc .aipc__scene__promote nav {
      opacity: 0;
      transform: translateY(15px); }
  #aipc .aipc__scene__pc {
    gap: var(--aipc-padding);
    margin: 0px 0px 60px;
    display: block flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (max-width: 768px) {
      #aipc .aipc__scene__pc {
        display: block;
        margin: 0px 0px 20px; } }
    #aipc .aipc__scene__pc li {
      background: var(--aipc-white);
      border-radius: 20px;
      width: 465px; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__scene__pc li {
          margin: 0px 0px 10px;
          width: 100%; } }
      #aipc .aipc__scene__pc li a {
        display: -ms-grid;
        display: grid;
        gap: 0px 15px;
        padding: 25px 15px;
        text-align: left;
        transition: all 250ms ease;
        -ms-grid-columns: 150px auto;
            grid-template-columns: 150px auto; }
        #aipc .aipc__scene__pc li a:hover {
          opacity: 0.7;
          text-decoration: none; }
        @media screen and (max-width: 768px) {
          #aipc .aipc__scene__pc li a {
            gap: 0px 10px;
            padding: 15px 20px;
            -ms-grid-columns: 120px auto;
                grid-template-columns: 120px auto; } }
        #aipc .aipc__scene__pc li a figure {
          margin: 5px 0px;
          grid-row: 1 / 6; }
        #aipc .aipc__scene__pc li a h5 {
          background: none !important;
          border: none !important;
          color: var(--aipc-blue);
          font-size: 20px !important;
          font-weight: 700 !important;
          line-height: 1.5  !important;
          margin: 0px 0px 2px !important;
          padding: 0px !important;
          text-align: left !important;
          /* autoprefixer: off */
          display: -webkit-box;
          -webkit-line-clamp: 2;
          -webkit-box-orient: vertical;
          overflow: hidden; }
          @media screen and (max-width: 768px) {
            #aipc .aipc__scene__pc li a h5 {
              font-size: 15px;
              line-height: 1.333  !important; } }
        #aipc .aipc__scene__pc li a p {
          font-size: 15px;
          line-height: 1.666em; }
          @media screen and (max-width: 768px) {
            #aipc .aipc__scene__pc li a p {
              font-size: 12px;
              line-height: 1.5em; } }
          #aipc .aipc__scene__pc li a p strong {
            color: var(--aipc-red);
            font-size: 1.333em;
            font-weight: 700; }
            @media screen and (max-width: 768px) {
              #aipc .aipc__scene__pc li a p strong {
                font-size: 1.25em; } }
          #aipc .aipc__scene__pc li a p em {
            color: var(--aipc-red); }
  #aipc .aipc__scene__brand {
    background: url(../../images/2503/bg_dot02.png) repeat center;
    background-size: 25px auto;
    border-radius: 0px 0px 5px 5px;
    margin: 1px 0px 0px;
    padding: 58px 0px 60px; }
    @media screen and (max-width: 768px) {
      #aipc .aipc__scene__brand {
        padding: 15px 10px 40px; } }
    #aipc .aipc__scene__brand[data-status="show"] h4 {
      opacity: 1;
      transition: transform 750ms ease 0ms, opacity 750ms ease 0ms;
      transform: translateY(0px); }
    #aipc .aipc__scene__brand[data-status="show"] .aipc__scene__pc {
      opacity: 1;
      transition: transform 750ms ease 200ms, opacity 750ms ease 200ms;
      transform: translateY(0px); }
    #aipc .aipc__scene__brand[data-status="show"] nav {
      margin-top:30px;
      opacity: 1;
      transition: transform 750ms ease 400ms, opacity 750ms ease 400ms;
      transform: translateY(0px); }
    #aipc .aipc__scene__brand h4 {
      background: none !important;
      border: none !important;
      color: var(--aipc-yellow);
      font-size: 30px !important;
      font-weight: 700 !important;
      line-height: 1.5  !important;
      margin: -8px 0px 23px !important;
      padding: 0px !important;
      text-align: center !important; }
      @media screen and (max-width: 768px) {
        #aipc .aipc__scene__brand h4 {
          font-size: 20px !important;
          margin: 0px 0px 10px !important; } }
    #aipc .aipc__scene__brand h4,
    #aipc .aipc__scene__brand .aipc__scene__pc,
    #aipc .aipc__scene__brand nav {
      opacity: 0;
      transform: translateY(15px); }

@keyframes fadein {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeout {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

#aipc {
  background: var(--aipc-bg); }
  #aipc * {
    letter-spacing: 0.04em; }
    @media screen and (max-width: 374px) {
      #aipc * {
        letter-spacing: 0px; } }
  @media screen and (max-width: 768px) {
    #aipc .c-pc {
      display: none; } }
  @media screen and (min-width: 769px) {
    #aipc .c-sp {
      display: none; } }
  #aipc p,
  #aipc dl,
  #aipc a {
    color: var(--aipc-black); }
  #aipc em {
    font-style: normal; }

#aipc .aipc--reg {
  font-style: normal;
  vertical-align: super;
  font-size: 75%; }

#aipc .aipc__mv {
  padding: var(--aipc-paddingx2) 0px;
  background: url(../../images/2503/mv_bg.webp) no-repeat center;
  background-size: cover; }
  @media screen and (max-width: 768px) {
    #aipc .aipc__mv {
      padding: 0px 0px 30px; } }

#aipc .aipc__title {
  margin-bottom: var(--aipc-padding); }
  @media screen and (max-width: 768px) {
    #aipc .aipc__title {
      margin-bottom: 40px; } }
  #aipc .aipc__title img {
    max-width: var(--aipc-width);
    width: 100%; }

#aipc .aipc__btn {
  background: var(--aipc-green);
  border-radius: 30px;
  color: var(--aipc-white);
  font-size: 21px;
  font-weight: 700;
  height: 60px;
  position: relative;
  width: 500px;
  display: block flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center; }
  @media screen and (max-width: 768px) {
    #aipc .aipc__btn {
      font-size: 15px;
      gap: 10px;
      height: 40px;
      width: 100%; } }
  @media screen and (min-width: 769px) {
    #aipc .aipc__btn {
      transition: all 250ms ease; }
      #aipc .aipc__btn:hover {
        background: #8dcd65;
        text-decoration: none; } }
  #aipc .aipc__btn::after {
    background: url(../../images/2503/arrow.svg) no-repeat center;
    content: "";
    height: 12px;
    margin: auto;
    position: absolute;
    width: 6px;
    inset: 0px 20px 0px auto; }
    @media screen and (max-width: 768px) {
      #aipc .aipc__btn::after {
        background-size: contain;
        height: 8px;
        margin: 0px;
        position: static;
        width: 4px; } }

#aipc .aipc__sticky {
  position: relative; }

#aipc .aipc__stickybn {
  background: url(../../images/2503/stickybn_bg.webp) no-repeat center;
  background-size: cover;
  bottom: 0px;
  height: 90px;
  position: sticky;
  width: 100%;
  z-index: 100;
  display: block flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center; }
  @media screen and (max-width: 768px) {
    #aipc .aipc__stickybn {
      box-sizing: border-box;
      height: 80px;
      padding: 0px 20px; } }

#aipc .aipc__caution {
  margin: 0px auto 60px;
  max-width: 1020px; }
  @media screen and (max-width: 768px) {
    #aipc .aipc__caution {
      margin: 0px var(--aipc-padding) 60px; } }
  #aipc .aipc__caution__text {
    margin: 0px 0px 1lh; }
  #aipc .aipc__caution .caution {
    background-position: 0px 5px;
    padding: 5px 0px 0px 35px;
    width: auto; }
.item_list{
width:100%;
background-color:white;
border-radius: 20px;
}