@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif&family=Teko:wght@300&display=swap');
:root {
  --maincolor: #3da0e9;
  --subcolor: #fff;
  --textcolor: #000;
  --container: 1350px;
}

/* ======== ↓ common ↓ ======== */
#contents {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  letter-spacing: 0;
  line-height: 2;
  font-size: 16px;
  font-family: "Noto Serif", serif;
  color: #fff;
  overflow: hidden;
}

@media screen and (min-width: 801px) and (max-width: 1370px) {
  #contents {
    font-size: max(1.32vw,16px);
  }
}

@media screen and (max-width: 800px) {
  #contents {
    font-size: max(2.2vw,16px);
  }
}

#contents * {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#contents a {
  opacity: 1;
  color: #fff;
  background-color: transparent;
  text-decoration: none !important;
  -webkit-transition: all 0.15s ease;
  transition: all 0.15s ease;
}

#contents a.hover {
  color: var(--maincolor);
  background-color: transparent;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

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

#contents img.alignCenter {
  margin-left: auto;
  margin-right: auto;
}

#contents .cover {
  width: 100%;
  max-width: none;
  height: auto;
}

#contents .sectionWrapper {
  position: relative;
  width: 100%;
  height: 100%;
}

#contents .widthWrapper {
  position: relative;
  width: 100%;
  max-width: var(--container);
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (max-width: 1370px) {
  #contents .widthWrapper {
    padding-left: 2%;
    padding-right: 2%;
  }
}

@media screen and (max-width: 800px) {
  #contents .widthWrapper {
    padding-left: 4%;
    padding-right: 4%;
  }
}

#contents .insideWrapper {
  position: relative;
  width: 92%;
  max-width: inherit;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#contents .flexBlock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  list-style: none;
}

#contents .flexBetween {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

#contents .flexCenter {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

#contents .flexAlignCenter {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#contents .flexSplit > * {
  width: 50%;
}

#contents .flexList2 > * {
  width: 48.8%;
}

#contents .flexList2 > *:nth-child(even) {
  margin-left: 2.4%;
}

@media screen and (max-width: 800px) {
  #contents .flexSplit > *,
  #contents .flexList2 > * {
    width: 100%;
  }
  #contents .flexList2 > *:nth-child(even) {
    margin-left: 0;
  }
}

#contents .fontEn {
  font-family: 'Teko', sans-serif;
  font-weight: 300 !important;
}

#contents .fontBold {
  font-family: '黎ミン B', 'Reimin Bold', serif;
}

#contents .fontLight {
  font-family: '黎ミン L', 'Reimin Light', serif;
}

#contents .fontOrbitron {
  font-family: "Orbitron", sans-serif;
}

#contents .alignCenter {
  text-align: center;
}

#contents .alignRight {
  text-align: right;
}

#contents .alignLeft {
  text-align: left;
}

#contents .lineHeight100 {
  line-height: 1;
}

#contents .lineHeight150 {
  line-height: 1.5;
}

#contents .lineHeight200 {
  line-height: 2;
}

@media screen and (max-width: 800px) {
  #contents .bgtxt {
    display: inline;
    background: rgba(0, 0, 0, 0.5);
    padding: 0 0.4em;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
  }
}

#contents .text36 {
  font-size: 36px;
}

#contents .text24 {
  font-size: 24px;
}

#contents .text18 {
  font-size: 18px;
}

#contents .text0 {
  font-size: 0;
}

@media screen and (min-width: 801px) and (max-width: 1499px) {
  #contents .text36 {
    font-size: 2.4vw;
  }
  #contents .text24 {
    font-size: 1.6vw;
  }
  #contents .text18 {
    font-size: 1.2vw;
  }
}

@media screen and (max-width: 800px) {
  #contents .lineHeight150 {
    line-height: 2;
  }
  #contents .text36 {
    font-size: 4.5vw;
  }
  #contents .text24 {
    font-size: 3.6vw;
  }
  #contents .text18 {
    font-size: 3vw;
  }
}

#contents .marginTopHarf {
  margin-top: 0.5em !important;
}

#contents .marginTop1 {
  margin-top: 1em !important;
}

#contents .marginTop2 {
  margin-top: 2em !important;
}

#contents .marginTop3 {
  margin-top: 3em !important;
}

#contents .marginTop4 {
  margin-top: 4em !important;
}

#contents .marginTopAuto {
  margin-top: auto !important;
}

#contents .marginRightHarf {
  margin-right: 0.5em !important;
}

#contents .paddingVerticalHalf {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

#contents .paddingVertical1 {
  padding-top: 1em;
  padding-bottom: 1em;
}

#contents .paddingVertical2 {
  padding-top: 2em;
  padding-bottom: 2em;
}

#contents .paddingVertical3 {
  padding-top: 3em;
  padding-bottom: 3em;
}

#contents .paddingVertical4 {
  padding-top: 4em;
  padding-bottom: 4em;
}

#contents .paddingHorizontalHalf {
  padding-left: 0.5em;
  padding-right: 0.5em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#contents .paddingHorizontal1 {
  padding-left: 1em;
  padding-right: 1em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#contents .paddingHorizontal1half {
  padding-left: 1.5em;
  padding-right: 1.5em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#contents .paddingHorizontal2 {
  padding-left: 2em;
  padding-right: 2em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#contents .u-note {
  padding-left: 1em;
  text-indent: -1em;
  display: inline-block;
}

#contents .u-marker {
  padding: 0 0.2em;
  margin: 0 0.2em;
  background: var(--maincolor);
  color: #fff;
}

#contents .blockLink a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

#contents [data-ruby] {
  position: relative;
  display: inline-block;
  line-height: 1;
}

#contents [data-ruby]:before {
  content: attr(data-ruby);
  position: absolute;
  top: -1.2em;
  left: 50%;
  font-size: max(0.3em,8px);
  font-family: "新ゴ R", "Shin Go Regular", sans-serif;
  line-height: 1;
  text-align: center;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  white-space: nowrap;
}

@media screen and (min-width: 801px) {
  #contents .dispNarrow {
    display: none !important;
  }
  #contents a[href^="tel:"] {
    pointer-events: none;
  }
}

@media screen and (max-width: 800px) {
  #contents .dispWide {
    display: none !important;
  }
}

/* ======== ↑ End common ↑ ======== */
/* ======== ↓ main ↓ ======== */
#contents {
  /* parts */
  /* section */
}

#contents .pallaraxWrapper {
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
}

#contents .pallarax {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 105vh;
  background: #0d1218 url(../images/_images240507/bg01.jpg) repeat-y center/100% auto;
  z-index: -1;
}

@media screen and (max-width: 800px) {
  #contents .pallarax {
    background-size: auto 100vh;
  }
}

#contents .pallarax2 {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 105vh;
  background: url(../images/_images240507/bg02.jpg) no-repeat center/cover;
  z-index: -1;
}

#contents h2.heading {
  text-align: center;
  margin-bottom: 50px;
}

#contents h2.heading img {
  user-drag: none;
  -webkit-user-drag: none;
  -moz-user-select: none;
}

@media screen and (max-width: 800px) {
  #contents h2.heading {
    margin-bottom: 2em;
  }
}

#contents h3.heading {
  font-size: 30px;
  line-height: 1.3;
  letter-spacing: 0;
  color: #fff;
  background: #003e69;
  border-right: 1px solid #8995a2;
  border-bottom: 1px solid #8995a2;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.15em 0.65em;
}

#contents h3.heading.white {
  color: #123ea0;
  background: #fff;
  border-right: 1px solid #086cc9;
  border-bottom: 1px solid #086cc9;
}

#contents h3.heading.red {
  background: #6d042e;
}

@media screen and (min-width: 801px) and (max-width: 1370px) {
  #contents h3.heading {
    font-size: 2.2vw;
  }
}

@media screen and (max-width: 800px) {
  #contents h3.heading {
    font-size: 4.5vw;
  }
}

#contents h4.heading {
  font-size: 30px;
  line-height: 1.3;
  letter-spacing: 0;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #8995a2;
  position: relative;
}

#contents h4.heading:before {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  margin: auto;
  width: 310px;
  height: 3px;
  background: #0577c5;
}

#contents h4.heading2 {
  font-size: 24px;
  font-weight: 500;
  color: #6d042e;
}

#contents h4.heading2 > span {
  background: #fff;
  padding: 0 0.25em;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
}

@media screen and (min-width: 801px) and (max-width: 1370px) {
  #contents h4.heading {
    font-size: 2.2vw;
  }
  #contents h4.heading2 {
    font-size: 2.2vw;
  }
}

@media screen and (max-width: 800px) {
  #contents h4.heading {
    font-size: 4.5vw;
  }
  #contents h4.heading2 {
    font-size: 4.5vw;
  }
  #contents h4.heading:before {
    width: 155px;
  }
}

#contents h5.heading {
  font-size: 24px;
  line-height: 1.3;
}

@media screen and (min-width: 801px) and (max-width: 1370px) {
  #contents h5.heading {
    font-size: 1.8vw;
  }
}

@media screen and (max-width: 800px) {
  #contents h5.heading {
    font-size: 4vw;
  }
}

#contents .blockTitle {
  font-size: 74px;
  font-weight: bold;
  font-family: "Orbitron", sans-serif;
  line-height: 0.88;
  color: #a7b5c4;
  padding-top: 0.25em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  z-index: 2;
}

#contents .blockTitle:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  width: 192px;
  height: 5px;
  background: url(../images/_images240507/dec_line1.png) repeat-x left top/contain;
  -webkit-animation: lineLoop 10s linear 0s infinite normal forwards running;
          animation: lineLoop 10s linear 0s infinite normal forwards running;
  z-index: 1;
}

#contents .blockTitle.right {
  text-align: right;
  margin-left: auto;
}

#contents .blockTitle.right:before {
  left: auto;
  right: 0;
}

@media screen and (min-width: 801px) and (max-width: 1370px) {
  #contents .blockTitle {
    font-size: min(6vw,74px);
  }
}

@media screen and (max-width: 800px) {
  #contents .blockTitle {
    font-size: min(8vw,74px);
  }
}

#contents p.large {
  font-size: 20px;
  line-height: 1.75;
}

@media screen and (max-width: 1370px) {
  #contents p.large {
    font-size: 18px;
  }
}

#contents .c-btn a {
  font-size: 30px;
  font-weight: bold;
  font-family: "Noto Serif", serif;
  text-align: center;
  letter-spacing: -0.05em;
  display: block;
  width: 100%;
  max-width: 400px;
  background: #c09411;
  color: #fff;
  padding: 0.25em 1.5em;
  margin: 0 auto;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

#contents .c-btn a:after {
  content: '';
  position: absolute;
  top: 0;
  right: 13px;
  bottom: 0;
  margin: auto;
  width: 12px;
  height: 24px;
  background: url(../images/_images240507/btn_arrow.svg) no-repeat center/contain;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

#contents .c-btn a:hover:after {
  right: 8px;
}

@media screen and (min-width: 801px) and (max-width: 1370px) {
  #contents .c-btn a {
    font-size: 2.5vw;
  }
}

@media screen and (max-width: 800px) {
  #contents .c-btn a {
    font-size: min(6vw,30px);
  }
}

#contents .c-frame {
  background: url(../images/_images240507/dec_corner.png) no-repeat left top, url(../images/_images240507/dec_corner.png) no-repeat right top, url(../images/_images240507/dec_corner.png) no-repeat left bottom, url(../images/_images240507/dec_corner.png) no-repeat right bottom;
  padding: 4px;
  margin: 0 auto;
  max-width: 1208px;
}

#contents .c-frame > * {
  border: 1px solid #8995a2;
  background: radial-gradient(#03264a, #11171e);
}

#contents .c-blocklink a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

#contents .contentsFooter {
  padding-bottom: 40px;
}

#contents .contentsFooter .btn {
  max-width: 49.2vw;
  width: 738px;
  margin: 0 auto 60px;
}

#contents .contentsFooter .btn > a {
  display: block;
  color: #fff;
  background: #101721;
  border: 2px solid #8995a2;
  font-size: 22px;
  text-align: center;
  line-height: 1.3;
  padding: 0.75em 1em;
  position: relative;
}

#contents .contentsFooter .btn > a:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  border: 15px solid transparent;
  border-top-color: #8995a2;
  border-left-color: #8995a2;
}

#contents .contentsFooter .btn > a.hover .arrow, #contents .contentsFooter .btn > a:hover .arrow {
  right: 2.5%;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

#contents .contentsFooter .btn > a .arrow {
  position: absolute;
  top: 0;
  right: 4.5%;
  bottom: 0;
  margin: auto;
  width: 0.4em;
  height: 1.1em;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

#contents .contentsFooter .btn > a .arrow:before, #contents .contentsFooter .btn > a .arrow:after {
  content: '';
  position: absolute;
  right: 0;
  margin: auto;
  width: 100%;
  height: 50%;
  background: #8995a2;
}

#contents .contentsFooter .btn > a .arrow:before {
  top: 0;
  -webkit-transform: skewX(45deg);
          transform: skewX(45deg);
}

#contents .contentsFooter .btn > a .arrow:after {
  bottom: 0;
  -webkit-transform: skewX(-45deg);
          transform: skewX(-45deg);
}

#contents .contentsFooter .snsBlock {
  position: relative;
  margin-bottom: 2.5em;
}

#contents .contentsFooter .snsBlock .snsBtn {
  display: block;
  height: 1em;
  margin: 0 0.2em 0 0;
}

#contents .contentsFooter .copyright {
  text-align: center;
}

#contents .contentsFooter .notes {
  text-align: center;
  line-height: 1.5;
  margin-top: 1em;
}

@media screen and (max-width: 800px) {
  #contents .contentsFooter .btn {
    max-width: 100%;
  }
  #contents .contentsFooter .btn > a {
    font-size: 3.5vw;
  }
}

#contents #goToTop {
  position: fixed;
  right: 24px;
  bottom: 30px;
  width: 4vw;
  max-width: 60px;
  height: 4vw;
  max-height: 60px;
  z-index: 300;
}

#contents #goToTop > a {
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../images/_images240507/gototop.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}

@media screen and (min-width: 801px) and (max-width: 1499px) {
  #contents #goToTop {
    right: 1.6vw;
    bottom: 2vw;
  }
}

@media screen and (max-width: 800px) {
  #contents #goToTop {
    right: 4vw;
    bottom: 5vw;
    width: 10vw;
    max-width: inherit;
    height: 10vw;
    max-height: inherit;
  }
}

#contents .kv {
  position: relative;
  width: 100%;
  padding-top: 54%;
  background: url(../images/_images240507/kv_bg.jpg) no-repeat center/cover;
  overflow: hidden;
}

#contents .kv_img > * {
  position: absolute;
  margin: auto;
}

#contents .kv_img img {
  width: 100%;
  max-width: auto;
}

#contents .kv .scroll {
  position: absolute;
  bottom: 0;
  right: 1%;
  height: 6em;
  z-index: 9;
  font-size: 1.07vw;
  font-family: "Orbitron", sans-serif;
  white-space: nowrap;
}

#contents .kv .scroll a {
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
  padding: 0 0 0.5em 0.2em;
  border-left: 1px solid #fff;
  display: block;
  width: 100%;
  height: 100%;
  z-index: 10;
  position: relative;
}

#contents .kv .scroll a:after {
  content: '';
  position: absolute;
  top: 0;
  left: -1px;
  width: 1px;
  height: 0;
  background: var(--maincolor);
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

#contents .kv .scroll a:hover {
  color: var(--maincolor);
  letter-spacing: 0.15em;
}

#contents .kv .scroll a:hover:after {
  height: 100%;
}

#contents .kv .catch {
  top: 0;
  left: 0;
  width: 69.4%;
  z-index: 3;
}

#contents .kv .rx78 {
  top: 0.5%;
  right: 0;
  width: 100%;
  z-index: 4;
}

#contents .kv .img1 {
  top: 0;
  left: -1.1%;
  width: 32.3%;
  z-index: 2;
}

#contents .kv .img2 {
  top: 0;
  left: 20.7%;
  width: 32.3%;
  z-index: 2;
}

#contents .kv .img3 {
  top: 0;
  left: 42.3%;
  width: 32.3%;
  z-index: 2;
}

#contents .kv .logo {
  bottom: 1.8%;
  left: 0.8%;
  width: 13.6%;
  z-index: 5;
}

#contents .kv .detail {
  bottom: 2.8%;
  left: 15.25%;
  width: 58%;
  z-index: 5;
}

#contents .kv.js-scroll .catch {
  opacity: 0;
  -webkit-transition: 1.2s ease 0.3s;
  transition: 1.2s ease 0.3s;
  -webkit-transform: translateX(-1%);
          transform: translateX(-1%);
}

#contents .kv.js-scroll .img1, #contents .kv.js-scroll .img2, #contents .kv.js-scroll .img3 {
  opacity: 0;
  -webkit-transition: 0.2s linear 0.8s;
  transition: 0.2s linear 0.8s;
  -webkit-transform: translateX(-10%);
          transform: translateX(-10%);
  -webkit-filter: brightness(1000%);
          filter: brightness(1000%);
}

#contents .kv.js-scroll .img2 {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

#contents .kv.js-scroll .img3 {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

#contents .kv.js-scroll .rx78 {
  opacity: 0;
  -webkit-transition: 1.8s cubic-bezier(0.35, 0.71, 0.5, 1) 1.2s;
  transition: 1.8s cubic-bezier(0.35, 0.71, 0.5, 1) 1.2s;
  -webkit-transform: translateY(3%);
          transform: translateY(3%);
  -webkit-filter: brightness(5%);
          filter: brightness(5%);
}

#contents .kv.js-scroll .logo, #contents .kv.js-scroll .detail {
  opacity: 0;
  -webkit-transition: 0.8s ease 3s;
  transition: 0.8s ease 3s;
  -webkit-transform: translateY(5%);
          transform: translateY(5%);
}

#contents .kv.is-scroll .catch, #contents .kv.is-scroll .img1, #contents .kv.is-scroll .img2, #contents .kv.is-scroll .img3, #contents .kv.is-scroll .rx78, #contents .kv.is-scroll .logo, #contents .kv.is-scroll .detail {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
  -webkit-filter: none;
          filter: none;
}

@media screen and (max-width: 800px) {
  #contents .kv {
    padding-top: 195.6%;
    background-image: url(../images/_images240507/kv_bg_sp.jpg);
  }
  #contents .kv .scroll {
    right: 3%;
    font-size: 4vw;
    line-height: 1.2;
    letter-spacing: -0.01em;
    height: 6.8em;
  }
  #contents .kv .catch {
    width: 100%;
  }
  #contents .kv .rx78 {
    top: 15%;
    right: -17.5%;
    width: 107%;
  }
  #contents .kv .img1 {
    top: 3.8%;
    left: 0;
    width: 69.6%;
  }
  #contents .kv .img2 {
    top: 22.6%;
    left: 0;
    width: 69.6%;
  }
  #contents .kv .img3 {
    top: 41.3%;
    left: 0;
    width: 69.6%;
  }
  #contents .kv .logo {
    left: 3.2%;
    bottom: 14.7%;
    width: 23.3%;
  }
  #contents .kv .detail {
    left: 4%;
    bottom: 2.1%;
    width: 81.8%;
  }
}

#contents .pointHeading {
  min-height: 310px;
  background: -webkit-gradient(linear, left top, right top, from(#022354), to(rgba(2, 35, 84, 0)));
  background: linear-gradient(90deg, #022354, rgba(2, 35, 84, 0));
  border-top: 2px solid #8995a2;
  border-bottom: 2px solid #8995a2;
  padding: 70px 5% 2%;
  overflow: hidden;
  position: relative;
}

#contents .pointHeading:before, #contents .pointHeading:after {
  content: '';
  position: absolute;
  margin: auto;
  z-index: 1;
}

#contents .pointHeading:before {
  top: 0;
  left: 0.5%;
  bottom: 0;
  width: 577px;
  height: 339px;
  max-height: 111%;
  background: url(../images/_images240507/pointheading_dec1.png) no-repeat left center/contain;
}

#contents .pointHeading:after {
  top: 10px;
  right: 5%;
  width: 192px;
  height: 5px;
  background: url(../images/_images240507/dec_line1.png) repeat-x left top/contain;
  -webkit-animation: lineLoop 10s linear 0s infinite normal forwards running;
          animation: lineLoop 10s linear 0s infinite normal forwards running;
}

#contents .pointHeading > * {
  position: relative;
  z-index: 2;
}

#contents .pointHeading h2 {
  font-size: 50px;
  font-family: "Orbitron", sans-serif;
  line-height: 1;
  margin-bottom: 0.2em;
  padding-bottom: 0.35em;
  position: relative;
}

#contents .pointHeading h2:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 100px;
  height: 2px;
  background: #fff;
}

#contents .pointHeading h2 .point {
  font-size: 30px;
  margin-right: 0.25em;
  display: inline-block;
  vertical-align: middle;
}

#contents .pointHeading h2 .point:after {
  content: ' /';
  font-weight: normal;
}

#contents .pointHeading .title {
  font-size: 40px;
  line-height: 1.3;
}

#contents .pointHeading .sub {
  font-size: 20px;
  line-height: 1.5;
  margin-top: 1em;
}

#contents .pointHeading--red {
  background: -webkit-gradient(linear, left top, right top, from(#5c0c2c), to(rgba(92, 12, 44, 0)));
  background: linear-gradient(90deg, #5c0c2c, rgba(92, 12, 44, 0));
}

#contents .pointHeading--red:before {
  background: url(../images/_images240507/pointheading_dec2.png) no-repeat left center/contain;
}

#contents .pointHeading.js-scroll:before {
  opacity: 0;
  -webkit-transition: 1s ease 0.3s;
  transition: 1s ease 0.3s;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  -webkit-transform-origin: left 20% center;
          transform-origin: left 20% center;
}

#contents .pointHeading.js-scroll > * {
  opacity: 0;
  -webkit-transition: 1s ease 0.9s;
  transition: 1s ease 0.9s;
  -webkit-transform: translateX(20px);
          transform: translateX(20px);
}

#contents .pointHeading.is-scroll:before {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}

#contents .pointHeading.is-scroll > * {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}

@media screen and (min-width: 801px) and (max-width: 1499px) {
  #contents .pointHeading {
    min-height: auto;
    padding-top: 4.5%;
  }
  #contents .pointHeading h2 {
    font-size: 3.5vw;
  }
  #contents .pointHeading h2 .point {
    font-size: 2.4vw;
  }
  #contents .pointHeading .title {
    font-size: 2.6vw;
  }
  #contents .pointHeading .sub {
    font-size: 1.4vw;
  }
}

@media screen and (max-width: 800px) {
  #contents .pointHeading {
    min-height: auto;
    padding: 7% 5% 4%;
  }
  #contents .pointHeading h2 {
    font-size: 6vw;
  }
  #contents .pointHeading h2 .point {
    font-size: 5vw;
    display: block;
  }
  #contents .pointHeading .title {
    font-size: 4vw;
  }
  #contents .pointHeading .sub {
    font-size: max(2vw,12px);
  }
}

#contents .sideTxt {
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  position: absolute;
  top: 330px;
  right: -0.05em;
  font-size: 60px;
  font-weight: bold;
  font-family: "Orbitron", sans-serif;
  line-height: 0.85;
  letter-spacing: 0.09em;
  color: #576873;
  white-space: nowrap;
  opacity: 0.9;
  z-index: -1;
}

@media screen and (min-width: 801px) and (max-width: 1370px) {
  #contents .sideTxt {
    font-size: 5vw;
  }
}

@media screen and (max-width: 800px) {
  #contents .sideTxt {
    font-size: 10vw;
  }
}

#contents .imgFrame {
  border: 1px solid #8995a2;
  overflow: hidden;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

#contents .imgFrame--group {
  display: table;
  border-collapse: collapse;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

#contents .imgFrame--group > * {
  display: table-cell;
  border: 1px solid #8995a2;
  width: 50%;
}

#contents .imgFrame--group.vartical > * {
  display: block;
  width: 100%;
}

#contents .imgFrame--group.vartical > *:not(:first-child) {
  border-top: 0;
}

#contents .objCover {
  position: relative;
  padding-top: 56%;
  width: 100%;
  overflow: hidden;
}

#contents .objCover > video {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

#contents .captionOn {
  position: absolute;
  top: 0.25em;
  left: 0.75em;
}

#contents .captionOn.captionR {
  left: auto;
  right: 0.75em;
}

#contents .captionOn.captionB {
  top: auto;
  bottom: 0.25em;
}

#contents .captionOn.captionC {
  left: 0;
  right: 0;
  margin: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

#contents .captionOn.captionOrbitron {
  font-size: 24px;
  font-weight: bold;
  font-family: "Orbitron", sans-serif;
  line-height: 1.6;
}

@media screen and (min-width: 801px) and (max-width: 1370px) {
  #contents .captionOn {
    font-size: max(1.32vw,12px);
  }
  #contents .captionOn.captionOrbitron {
    font-size: 1.8vw;
  }
}

@media screen and (max-width: 800px) {
  #contents .captionOn.captionOrbitron {
    font-size: 4vw;
  }
}

#contents .imgGuide {
  padding-left: calc(17px + 0.25em);
  position: relative;
}

#contents .imgGuide:before {
  content: '';
  position: absolute;
  top: 0.45em;
  left: 0;
  width: 1.1em;
  height: 0.9em;
  background: url(../images/_images240507/icon_imgarrow.svg) no-repeat top left/contain;
}

#contents .imgGuide--left:before {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

#contents .imgGuide--bottom:before {
  top: auto;
  bottom: 0.55em;
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

@media screen and (min-width: 801px) and (max-width: 1370px) {
  #contents .imgGuide {
    padding-left: 1.25em;
  }
  #contents .imgGuide:before {
    width: 1.1em;
    height: 1em;
  }
}

@media screen and (max-width: 800px) {
  #contents .imgGuide--spUp:before {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}

@media screen and (min-width: 801px) {
  #contents [data-zoom] {
    position: relative;
    cursor: pointer;
  }
  #contents [data-zoom]:after {
    content: '';
    position: absolute;
    top: -1%;
    right: -1%;
    width: 100px;
    height: 100px;
    background: url(../images/_images240507/icon_zoom.svg) no-repeat center/contain;
  }
}

@media screen and (min-width: 801px) and (max-width: 1370px) {
  #contents [data-zoom]:after {
    width: 7vw;
    height: 7vw;
  }
}

#contents .p-newslist {
  margin: 80px 0 110px;
}

#contents .p-newslist_wrap {
  padding: 0.9em 1.7em;
  border: 1px solid #8995a2;
  background: rgba(44, 15, 31, 0.85);
}

#contents .p-newslist_head {
  font-size: 24px;
  font-weight: bold;
  font-family: 'Orbitron', sans-serif;
  line-height: 1.6;
  color: #e0005a;
}

#contents .p-newslist_list li {
  margin-bottom: 0.25em;
}

#contents .p-newslist_list li.new a {
  position: relative;
}

#contents .p-newslist_list li.new a:after {
  content: 'NEW!';
  font-weight: bold;
  font-family: 'Orbitron', sans-serif;
  color: #ffc600;
  margin-left: 0.5em;
}

#contents .p-newslist_list a {
  position: relative;
}

#contents .p-newslist_list a:hover {
  opacity: 0.7;
}

#contents .p-newslist_list a:hover .title {
  border-bottom-color: transparent;
}

#contents .p-newslist_list a .title {
  padding-left: 6em;
  border-bottom: 1px solid currentColor;
}

#contents .p-newslist_list a .date {
  position: absolute;
  top: -0.2em;
  left: 0;
}

@media screen and (min-width: 801px) {
  #contents .p-newslist_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  #contents .p-newslist_head {
    padding-right: 1em;
    border-right: 1px solid #8995a2;
  }
  #contents .p-newslist_list {
    padding-left: 2em;
  }
}

@media screen and (max-width: 1370px) {
  #contents .p-newslist {
    margin: 7% 0 9%;
  }
}

@media screen and (max-width: 800px) {
  #contents .p-newslist_head {
    margin-bottom: 0.5em;
    border-bottom: 1px solid #8995a2;
  }
  #contents .p-newslist_list li {
    font-size: 14px;
  }
}

#contents .sec01 {
  margin: 110px 0 260px;
}

#contents .sec01_movie {
  cursor: pointer;
}

#contents .sec01_movie:before, #contents .sec01_movie:after {
  content: '';
  position: absolute;
  margin: auto;
  width: 192px;
  height: 5px;
  -webkit-animation: lineLoop 10s linear 0s infinite normal forwards running;
          animation: lineLoop 10s linear 0s infinite normal forwards running;
}

#contents .sec01_movie:before {
  top: -12px;
  right: 0;
  background: url(../images/_images240507/dec_line1.png) repeat-x left top/contain;
}

#contents .sec01_movie:after {
  bottom: -12px;
  left: 0;
  background: url(../images/_images240507/dec_line2.png) repeat-x left top/contain;
}

#contents .sec01_movie .playWrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

#contents .sec01_movie .playWrapper.play {
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
  opacity: 0;
  pointer-events: none;
}

#contents .sec01_movie .playWrapper.play + iframe {
  -webkit-filter: brightness(100%);
          filter: brightness(100%);
}

#contents .sec01_movie .playicon {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 143px;
  height: 141px;
  z-index: 2;
}

#contents .sec01_movie .playicon:after, #contents .sec01_movie .playicon:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  -webkit-filter: drop-shadow(0 0 20px #000);
          filter: drop-shadow(0 0 20px #000);
}

#contents .sec01_movie .playicon:before {
  width: 100%;
  height: 100%;
  background: url(../images/_images240507/icon_play2.svg) no-repeat center/contain;
  -webkit-animation: play2 2s ease 0s infinite normal forwards running;
          animation: play2 2s ease 0s infinite normal forwards running;
}

#contents .sec01_movie .playicon:after {
  left: 16%;
  width: 51.7%;
  height: 52.5%;
  background: url(../images/_images240507/icon_play1.svg) no-repeat center/contain;
}

#contents .sec01_movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
  -webkit-filter: brightness(30%);
          filter: brightness(30%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

#contents .sec01_movie img {
  position: relative;
  -webkit-transition: 1s;
  transition: 1s;
  z-index: 1;
}

#contents .sec01_border {
  border: 1px solid #8995a2;
  position: relative;
  overflow: hidden;
  padding-top: 56%;
}

@media screen and (max-width: 1370px) {
  #contents .sec01 {
    margin: 9% 0 19%;
  }
}

@media screen and (max-width: 800px) {
  #contents .sec01_movie .playicon {
    width: 71.5px;
    height: 70.5px;
  }
}

#contents .sec02-1 {
  margin: 260px 0 565px;
  position: relative;
}

#contents .sec02-1:before {
  content: '';
  position: absolute;
  top: -85px;
  left: 0;
  right: 0;
  margin: auto;
  width: 456px;
  max-width: 31%;
  height: 345px;
  background: url(../images/_images240507/2.0.png) no-repeat center top/contain;
  z-index: -1;
}

#contents .sec02-1 h2 {
  font-size: 54px;
  text-align: center;
  line-height: 1.3;
  margin-bottom: 1.7em;
}

#contents .sec02-1 h3 {
  font-size: 30px;
  line-height: 1.3;
  margin-bottom: 1.2em;
}

#contents .sec02-1 h4 {
  font-size: 30px;
  line-height: 1.3;
  margin: 1.3em 0;
}

#contents .sec02-1 .modelnum {
  margin-top: 16%;
}

#contents .sec02-1_logo {
  margin-bottom: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#contents .sec02-1_logo > *:not(:last-child) {
  margin-right: 40px;
}

#contents .sec02-1_con {
  position: relative;
  z-index: 2;
}

#contents .sec02-1_con p {
  font-size: 20px;
  line-height: 1.5;
}

#contents .sec02-1_con p + p {
  margin-top: 1.1em;
}

#contents .sec02-1_con.js-scroll > * {
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  -webkit-transform: translateX(20px);
          transform: translateX(20px);
}

#contents .sec02-1_con.js-scroll > *:nth-child(1) {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

#contents .sec02-1_con.js-scroll > *:nth-child(2) {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

#contents .sec02-1_con.js-scroll > *:nth-child(3) {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}

#contents .sec02-1_con.js-scroll > *:nth-child(4) {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

#contents .sec02-1_con.js-scroll > *:nth-child(5) {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

#contents .sec02-1_con.js-scroll > *:nth-child(6) {
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

#contents .sec02-1_con.js-scroll > *:nth-child(7) {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}

#contents .sec02-1_con.js-scroll > *:nth-child(8) {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

#contents .sec02-1_con.is-scroll > * {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}

@media screen and (min-width: 801px) {
  #contents .sec02-1_con {
    max-width: 55%;
  }
  #contents .sec02-1_img {
    position: absolute;
    top: -48px;
    right: -127px;
    z-index: 1;
    width: 83%;
    max-width: none;
  }
}

@media screen and (min-width: 801px) and (max-width: 1370px) {
  #contents .sec02-1 h3 {
    font-size: 2.5vw;
  }
  #contents .sec02-1 h4 {
    font-size: 2.5vw;
  }
  #contents .sec02-1_con p {
    font-size: 1.7vw;
  }
}

@media screen and (max-width: 1370px) {
  #contents .sec02-1 {
    margin: 19% 0 22%;
  }
}

@media screen and (max-width: 800px) {
  #contents .sec02-1 {
    margin-bottom: 10%;
  }
  #contents .sec02-1:before {
    top: 0;
    left: 10%;
    right: auto;
  }
  #contents .sec02-1 h3 {
    font-size: 6vw;
  }
  #contents .sec02-1 h4 {
    font-size: 5.8vw;
  }
  #contents .sec02-1 .modelnum {
    margin-top: 10%;
  }
  #contents .sec02-1_logo {
    margin-bottom: 6%;
  }
  #contents .sec02-1_img {
    margin-bottom: 5%;
  }
  #contents .sec02-1_img img {
    margin-left: -17%;
    width: 120%;
    max-width: none;
  }
  #contents .sec02-1_con p {
    font-size: max(4.6vw,16px);
  }
}

#contents .sec02-2 {
  height: 249px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}

#contents .sec02-2:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  background: url(../images/_images240507/sec02-2_bg2.png) no-repeat center/contain;
  z-index: -1;
}

#contents .sec02-2 h2 {
  font-size: 45px;
  text-align: center;
  letter-spacing: -0.025em;
  white-space: nowrap;
}

#contents .sec02-2.js-scroll h2 {
  opacity: 0;
  -webkit-filter: blur(10px) drop-shadow(0 0 10px #fff);
          filter: blur(10px) drop-shadow(0 0 10px #fff);
  -webkit-transition: 2s cubic-bezier(0.25, 1, 0.25, 1) 0.3s;
  transition: 2s cubic-bezier(0.25, 1, 0.25, 1) 0.3s;
  letter-spacing: -0.25em;
}

#contents .sec02-2.is-scroll h2 {
  opacity: 1;
  -webkit-filter: none;
          filter: none;
  letter-spacing: -0.025em;
}

@media screen and (min-width: 801px) and (max-width: 1370px) {
  #contents .sec02-2 h2 {
    font-size: 4vw;
  }
}

@media screen and (max-width: 1370px) {
  #contents .sec02-2 {
    height: 18.4vw;
  }
}

@media screen and (max-width: 800px) {
  #contents .sec02-2 h2 {
    font-size: 4vw;
  }
}

#contents .sec03 {
  margin: 100px 0 330px;
}

#contents .sec03 h2 {
  font-size: 40px;
  text-align: center;
  line-height: 1.3;
  margin-bottom: 1em;
}

#contents .sec03 h3 {
  font-size: 45px;
  font-family: "Orbitron", sans-serif;
  line-height: 1;
  margin-bottom: 0.2em;
  padding-bottom: 0.35em;
  position: relative;
}

#contents .sec03 h3:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 100px;
  height: 2px;
  background: #fff;
}

#contents .sec03 h3 .point {
  font-size: 30px;
  display: block;
  margin-bottom: 0.25em;
}

#contents .sec03 h3 .point:after {
  content: ' /';
  font-weight: normal;
}

#contents .sec03_con {
  margin: 193px 0 0 auto;
  position: relative;
}

#contents .sec03_con:before {
  content: '';
  position: absolute;
  top: -142px;
  left: -50%;
  right: -50%;
  margin: auto;
  width: 482px;
  max-width: 100%;
  height: 192px;
  background: url(../images/_images240507/NEW.png) no-repeat center/contain;
  z-index: -1;
}

#contents .sec03_con.js-scroll:before {
  opacity: 0;
  -webkit-transition: 1s ease 0.3s;
  transition: 1s ease 0.3s;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
}

#contents .sec03_con.js-scroll h2 {
  opacity: 0;
  -webkit-transition: 1s ease 0.3s;
  transition: 1s ease 0.3s;
  letter-spacing: -0.25em;
}

#contents .sec03_con.js-scroll .sec03_frame {
  opacity: 0;
  -webkit-transition: 0.5s cubic-bezier(0.25, 1, 0.25, 1);
  transition: 0.5s cubic-bezier(0.25, 1, 0.25, 1);
  -webkit-transform: scaleY(0);
          transform: scaleY(0);
}

#contents .sec03_con.js-scroll .sec03_frame:nth-of-type(1) {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

#contents .sec03_con.js-scroll .sec03_frame:nth-of-type(2) {
  -webkit-transition-delay: 1.3s;
          transition-delay: 1.3s;
}

#contents .sec03_con.js-scroll .sec03_frame:nth-of-type(3) {
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s;
}

#contents .sec03_con.is-scroll:before {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}

#contents .sec03_con.is-scroll h2 {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
  letter-spacing: inherit;
}

#contents .sec03_con.is-scroll .sec03_frame {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}

#contents .sec03_img img {
  position: absolute;
  top: -127px;
  left: -67px;
  margin: auto;
  max-width: 60%;
}

#contents .sec03_img:before {
  content: '';
  position: absolute;
  top: -17.3%;
  right: 78.3%;
  margin: auto;
  width: 530px;
  max-width: 40%;
  height: 1179px;
  background: url(../images/_images240507/sec03_bg01.png) no-repeat top right/contain;
  z-index: -1;
}

#contents .sec03_frame {
  -webkit-clip-path: polygon(35px 0, 100% 0, 100% 100%, 0 100%, 0 35px);
          clip-path: polygon(35px 0, 100% 0, 100% 100%, 0 100%, 0 35px);
  background: rgba(2, 35, 84, 0.7);
  border: 1px solid rgba(137, 149, 162, 0.7);
  padding: 20px 15px 20px 45px;
  position: relative;
}

#contents .sec03_frame p {
  font-size: 20px;
  line-height: 1.5;
}

#contents .sec03_frame:before {
  content: '';
  position: absolute;
  top: 16px;
  left: -8px;
  margin: auto;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  width: 49.5px;
  height: 1px;
  background: rgba(137, 149, 162, 0.7);
}

#contents .sec03_frame:after {
  content: '';
  position: absolute;
  top: 8px;
  right: 5px;
  margin: auto;
  width: 192px;
  height: 5px;
  background: url(../images/_images240507/dec_line1.png) repeat-x top left/contain;
  -webkit-animation: lineLoop 10s linear 0s infinite normal forwards running;
          animation: lineLoop 10s linear 0s infinite normal forwards running;
}

#contents .sec03_frame:not(:last-child) {
  margin-bottom: 2.2em;
}

#contents .sec03_frame--red {
  background: rgba(84, 2, 42, 0.7);
}

#contents .sec03_frame .c-blocklink a {
  opacity: 0;
  background: rgba(85, 232, 255, 0.7);
  mix-blend-mode: overlay;
}

#contents .sec03_frame .c-blocklink a:hover {
  opacity: 1;
}

@media screen and (min-width: 801px) {
  #contents .sec03_con {
    width: 600px;
    max-width: 45%;
    z-index: 1;
  }
}

@media screen and (min-width: 801px) and (max-width: 1370px) {
  #contents .sec03 h2 {
    font-size: 3.4vw;
  }
  #contents .sec03 h3 {
    font-size: 3vw;
  }
  #contents .sec03 h3 .point {
    font-size: 2vw;
  }
  #contents .sec03_frame p {
    font-size: 1.7vw;
  }
}

@media screen and (max-width: 1370px) {
  #contents .sec03 {
    margin: 7% 0 24%;
  }
}

@media screen and (max-width: 800px) {
  #contents .sec03 {
    margin-bottom: 14%;
  }
  #contents .sec03 h2 {
    font-size: 6.5vw;
  }
  #contents .sec03 h3 {
    font-size: 6vw;
  }
  #contents .sec03 h3 .point {
    font-size: 4vw;
  }
  #contents .sec03_img {
    padding-top: 100%;
  }
  #contents .sec03_img img {
    top: 0;
    left: 15%;
    max-width: 75%;
  }
  #contents .sec03_img:before {
    top: -2%;
    right: 67%;
    max-width: 50%;
  }
  #contents .sec03_con:before {
    max-width: 80%;
  }
  #contents .sec03_frame p {
    font-size: 3.5vw;
  }
}

#contents .sec04 .pointHeading {
  margin-bottom: 80px;
}

@media screen and (max-width: 1370px) {
  #contents .sec04 .pointHeading {
    margin-bottom: 6%;
  }
}

#contents .sec04-1 {
  margin-bottom: 70px;
}

#contents .sec04-1 h3 {
  margin-bottom: 1.5em;
}

#contents .sec04-1_block1 {
  margin-bottom: 60px;
}

#contents .sec04-1_block1Img {
  margin-bottom: 50px;
}

#contents .sec04-1_block1Img figure {
  position: relative;
}

#contents .sec04-1_block1Img figure figcaption {
  position: absolute;
  font-size: 24px;
  font-weight: bold;
  font-family: "Orbitron", sans-serif;
}

#contents .sec04-1_block1Img figure.front figcaption {
  top: 2.7%;
  left: 16.5%;
}

#contents .sec04-1_block1Img figure.front:before {
  content: '';
  position: absolute;
  top: -16%;
  left: -9%;
  background: url(../images/_images240507/dec_circle1.png) no-repeat left top/contain;
  width: 739px;
  max-width: 115%;
  height: 1006px;
  z-index: -1;
  -webkit-animation: flash 2s ease-in-out 0s infinite alternate forwards running;
          animation: flash 2s ease-in-out 0s infinite alternate forwards running;
}

#contents .sec04-1_block1Img figure.rear figcaption {
  top: 1%;
  right: 10%;
}

#contents .sec04-1_block2 {
  margin-bottom: 67px;
}

#contents .sec04-1_block2 h4 {
  margin-bottom: 1em;
}

#contents .sec04-1_block2 figure {
  margin-bottom: 1em;
}

#contents .sec04-1_block2 figure + p {
  line-height: 2;
}

#contents .sec04-1_block3 h4 {
  margin-bottom: 0.5em;
}

#contents .sec04-1_block3 h4 + p {
  margin-bottom: 2.7em;
}

#contents .sec04-1_block3 h5 {
  margin-bottom: 0.5em;
}

#contents .sec04-1_block3 .flexBlock:not(:last-child) {
  margin-bottom: 50px;
}

#contents .sec04-1_block3 figure + * {
  margin-top: 0.75em;
}

#contents .sec04-1_block3Flex1 .flexItem--img {
  position: absolute;
  top: -240px;
  right: 6px;
  z-index: -1;
}

#contents .sec04-1_block3Flex1 .flexItem--img img {
  max-width: none;
  width: 123%;
}

@media screen and (min-width: 801px) {
  #contents .sec04-1_block1Img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #contents .sec04-1_block1Img figure {
    width: 48%;
  }
  #contents .sec04-1_block1Img figure:not(:nth-child(2n+1)) {
    margin-left: 2%;
  }
  #contents .sec04-1_block3Flex1 {
    position: relative;
  }
  #contents .sec04-1_block3Flex1 .flexItem:nth-child(1) {
    width: 50%;
  }
  #contents .sec04-1_block3Flex1 .flexItem:nth-child(2) {
    width: 48%;
    margin-left: 2%;
  }
}

@media screen and (min-width: 801px) and (max-width: 1370px) {
  #contents .sec04-1_block1Img figure figcaption {
    font-size: 2vw;
  }
  #contents .sec04-1_block3Flex1 .flexItem--img {
    top: -25%;
  }
}

@media screen and (max-width: 1370px) {
  #contents .sec04-1 {
    margin-bottom: 5%;
  }
}

@media screen and (max-width: 800px) {
  #contents .sec04-1_block1Img {
    margin-bottom: 5%;
  }
  #contents .sec04-1_block1Img figure img {
    max-width: 80%;
  }
  #contents .sec04-1_block1Img figure figcaption {
    font-size: 4vw;
  }
  #contents .sec04-1_block1Img .front:before {
    top: -29%;
    left: -12%;
  }
  #contents .sec04-1_block2 {
    margin-bottom: 10%;
  }
  #contents .sec04-1_block2 .flexItem:not(:last-child) {
    margin-bottom: 2em;
  }
  #contents .sec04-1_block3 {
    position: relative;
  }
  #contents .sec04-1_block3 .flexBlock:not(:last-child) {
    margin-bottom: 2em;
  }
  #contents .sec04-1_block3 .flexBlock:not(:last-child) .flexItem:first-child {
    margin-bottom: 1em;
    width: 100%;
  }
  #contents .sec04-1_block3Flex1 .flexItem--img {
    z-index: -1;
    width: 70%;
    top: -7%;
    right: -15%;
  }
}

#contents .sec04-2 {
  margin-bottom: 160px;
}

#contents .sec04-2 h3 {
  margin-bottom: 1.4em;
}

#contents .sec04-2 h3 + p {
  margin-bottom: 4.3em;
}

#contents .sec04-2_block1Txt .imgGuide p {
  margin-bottom: 1em;
}

@media screen and (min-width: 801px) {
  #contents .sec04-2_block1 {
    position: relative;
  }
  #contents .sec04-2_block1Img {
    position: absolute;
    top: -44%;
    left: -48px;
    max-width: 52%;
  }
  #contents .sec04-2_block1Txt {
    width: 50%;
    margin-left: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #contents .sec04-2_block1Txt--l {
    max-width: 55%;
  }
  #contents .sec04-2_block1Txt--r {
    width: 42.5%;
    margin-left: 2.5%;
  }
  #contents .sec04-2_block1Txt .imgGuide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #contents .sec04-2_block1Txt .imgGuide figure {
    margin-top: auto;
  }
}

@media screen and (max-width: 1370px) {
  #contents .sec04-2 {
    margin-bottom: 10%;
  }
}

@media screen and (min-width: 801px) and (max-width: 1370px) {
  #contents .sec04-2_block1Img {
    top: -20vw;
  }
}

@media screen and (max-width: 1000px) and (min-width: 801px) {
  #contents .sec04-2_block1Img {
    left: 20%;
    top: -24vw;
  }
  #contents .sec04-2_block1Txt {
    width: 100%;
    padding-top: 50%;
  }
}

@media screen and (max-width: 800px) {
  #contents .sec04-2 h3 + p {
    margin-bottom: 0.5em;
  }
  #contents .sec04-2_block1Img {
    margin-top: -25%;
  }
  #contents .sec04-2_block1Txt--l figure {
    margin-bottom: 1em;
    max-width: 66%;
  }
  #contents .sec04-2_block1Txt--r figure {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}

#contents .sec04-3 {
  margin-bottom: 80px;
}

#contents .sec04-3 h3 {
  margin-bottom: 1.4em;
}

#contents .sec04-3 h3 + p {
  margin-bottom: 2.2em;
}

#contents .sec04-3_img {
  margin-bottom: 1.8em;
}

#contents .sec04-3_img figure {
  position: relative;
  padding-top: 78%;
  width: 100%;
}

#contents .sec04-3_img figure video {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (max-width: 1370px) {
  #contents .sec04-3 {
    margin-bottom: 5%;
  }
}

@media screen and (max-width: 800px) {
  #contents .sec04-3_img .flexItem:not(:last-child) {
    margin-bottom: 2em;
  }
}

#contents .sec04-4 {
  margin-bottom: 160px;
}

#contents .sec04-4 h3 {
  margin-bottom: 1.4em;
}

#contents .sec04-4 h3 + p {
  margin-bottom: 2.2em;
}

#contents .sec04-4_img {
  margin-bottom: 1.5em;
}

@media screen and (max-width: 1370px) {
  #contents .sec04-4 {
    margin-bottom: 14%;
  }
}

@media screen and (max-width: 800px) {
  #contents .sec04-4_img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 1em;
  }
  #contents .sec04-4_img .flexItem {
    width: 49%;
  }
  #contents .sec04-4_img .flexItem:not(:last-child) {
    margin-right: 2%;
  }
}

#contents .sec05 .pointHeading {
  margin-bottom: 80px;
}

@media screen and (max-width: 1370px) {
  #contents .sec05 .pointHeading {
    margin-bottom: 6%;
  }
}

#contents .sec05-1 {
  margin-bottom: 75px;
}

#contents .sec05-1 h3 {
  margin-bottom: 1.5em;
}

#contents .sec05-1_block1 {
  margin-bottom: 70px;
}

#contents .sec05-1_block1Img {
  margin-bottom: 160px;
}

#contents .sec05-1_block1Img figure {
  position: relative;
}

#contents .sec05-1_block1Img figure figcaption {
  position: absolute;
  font-size: 24px;
  font-weight: bold;
  font-family: "Orbitron", sans-serif;
}

#contents .sec05-1_block1Img .front {
  position: relative;
}

#contents .sec05-1_block1Img .front figure {
  width: 100%;
  height: 100%;
}

#contents .sec05-1_block1Img .front figure:before {
  content: '';
  position: absolute;
  top: -19%;
  left: -18%;
  background: url(../images/_images240507/dec_circle2.png) no-repeat top left/contain;
  width: 909px;
  max-width: 128%;
  height: 1073px;
  z-index: -1;
  -webkit-animation: flash 2s ease-in-out 0s infinite alternate forwards running;
          animation: flash 2s ease-in-out 0s infinite alternate forwards running;
}

#contents .sec05-1_block1Img .front figcaption {
  top: 4%;
  left: 16.2%;
}

#contents .sec05-1_block1Img .rear figure {
  position: relative;
}

#contents .sec05-1_block1Img .rear figcaption {
  top: 4.5%;
  right: 13%;
}

#contents .sec05-1_block2 figure + * {
  margin-top: 1em;
}

#contents .sec05-1_block2Img {
  margin-bottom: 2em;
  line-height: 1.9;
}

@media screen and (min-width: 801px) {
  #contents .sec05-1_block1Img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-right: 2%;
  }
  #contents .sec05-1_block1Img .front {
    width: 54%;
  }
  #contents .sec05-1_block1Img .front a {
    position: absolute;
    top: -9px;
    left: -26%;
  }
  #contents .sec05-1_block1Img .front a img {
    width: 106%;
    max-width: none;
  }
  #contents .sec05-1_block1Img .rear {
    width: 40%;
    margin-left: 6%;
  }
  #contents .sec05-1_block1Img .rear figure {
    padding-top: 166.5%;
  }
  #contents .sec05-1_block1Img .rear figure img {
    position: absolute;
    top: 0.5%;
    left: -2%;
    margin: auto;
    max-width: none;
    width: 115.5%;
  }
}

@media screen and (min-width: 801px) and (max-width: 1370px) {
  #contents .sec05-1_block1Img figure figcaption {
    font-size: 1.8vw;
  }
}

@media screen and (max-width: 1370px) {
  #contents .sec05-1 {
    margin-bottom: 5.5%;
  }
  #contents .sec05-1_block1Img {
    margin-bottom: 12%;
  }
}

@media screen and (max-width: 800px) {
  #contents .sec05-1_block1 {
    margin-bottom: 10%;
  }
  #contents .sec05-1_block1Img {
    margin-bottom: 6%;
  }
  #contents .sec05-1_block1Img figure figcaption {
    font-size: 4vw;
  }
  #contents .sec05-1_block1Img .front figure img {
    margin-left: -6%;
  }
  #contents .sec05-1_block1Img .rear figure img {
    width: 75%;
    margin-left: 15%;
  }
  #contents .sec05-1_block2Img .flexItem:not(:last-child) {
    margin-bottom: 2em;
  }
}

#contents .sec05-2 {
  margin-bottom: 100px;
  position: relative;
}

#contents .sec05-2:before {
  content: '';
  position: absolute;
  top: 11.4%;
  right: -22.7%;
  width: 1274px;
  max-width: 100%;
  height: 1684px;
  background: url(../images/_images240507/sec05-2_bg01.png) no-repeat right top/contain;
  z-index: -1;
}

#contents .sec05-2 h3 {
  margin-bottom: 1.5em;
}

#contents .sec05-2 figure + * {
  margin-top: 1.5em;
}

@media screen and (min-width: 801px) {
  #contents .sec05-2_block1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
  }
  #contents .sec05-2_block1Visual {
    width: 56%;
  }
  #contents .sec05-2_block1Visual img {
    position: absolute;
    top: -11.5%;
    left: -9%;
    width: 87.7%;
    max-width: none;
  }
  #contents .sec05-2_block1Part {
    padding-top: 29.5%;
    width: 39.2%;
    margin-left: 4.8%;
  }
  #contents .sec05-2_block1Part p {
    margin-left: 1em;
  }
}

@media screen and (max-width: 1370px) {
  #contents .sec05-2 {
    margin-bottom: 7.5%;
  }
}

@media screen and (max-width: 800px) {
  #contents .sec05-2:before {
    top: 24%;
    right: -27%;
  }
  #contents .sec05-2_block1Visual {
    margin-bottom: 2em;
  }
  #contents .sec05-2_block1Visual img {
    width: 120%;
    max-width: none;
  }
}

#contents .sec05-3 {
  margin-bottom: 80px;
}

#contents .sec05-3 h3 {
  margin-bottom: 1.4em;
}

#contents .sec05-3 h3 + p {
  margin-bottom: 2.2em;
}

#contents .sec05-3_imgwrap1 {
  display: table;
  border-collapse: collapse;
  position: relative;
  margin: 0 auto;
}

#contents .sec05-3_imgwrap1 > * {
  display: table-cell;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

#contents .sec05-3_imgwrap2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

#contents .sec05-3_imgwrap2 figure {
  max-width: 48.8%;
}

#contents .sec05-3_imgwrap2 figure:not(:nth-child(2n+1)) {
  margin-left: 3.2%;
}

#contents .sec05-3_imgwrap2 + * {
  margin-top: 0.6em;
}

#contents .sec05-3_flex1 {
  margin-bottom: 50px;
}

@media screen and (min-width: 801px) {
  #contents .sec05-3_flex1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  #contents .sec05-3_flex1 .flexItem:nth-child(1) {
    width: 52%;
  }
  #contents .sec05-3_flex1 .flexItem:nth-child(2) {
    width: 44.8%;
    margin-left: 3.2%;
  }
  #contents .sec05-3_flex2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  #contents .sec05-3_flex2 .flexItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  #contents .sec05-3_flex2 .flexItem:nth-child(1) {
    width: 52%;
  }
  #contents .sec05-3_flex2 .flexItem:nth-child(2) {
    width: 47%;
    margin-left: 1%;
  }
}

@media screen and (max-width: 1370px) {
  #contents .sec05-3 {
    margin-bottom: 6%;
  }
}

@media screen and (max-width: 800px) {
  #contents .sec05-3_flex1 {
    margin-bottom: 2em;
  }
  #contents .sec05-3_flex1 .flexItem {
    margin: 0 auto;
  }
  #contents .sec05-3_flex1 .flexItem:not(:last-child) {
    margin-bottom: 2em;
  }
  #contents .sec05-3_flex2 .flexItem {
    width: 100%;
  }
  #contents .sec05-3_flex2 .flexItem:not(:last-child) {
    margin-bottom: 1em;
  }
}

#contents .sec05-4 {
  margin-bottom: 185px;
}

#contents .sec05-4 h3 {
  margin-bottom: 1.5em;
}

#contents .sec05-4 h3 + p {
  margin-bottom: 2em;
}

#contents .sec05-4_item1 figure {
  position: relative;
}

#contents .sec05-4_item1 figure figcaption {
  position: absolute;
  top: 4px;
  left: 1%;
  font-size: 24px;
  font-weight: bold;
  font-family: "Orbitron", sans-serif;
}

#contents .sec05-4_item1 figure:before {
  content: '';
  position: absolute;
  top: 5px;
  left: 17%;
  background: url(../images/_images240507/dec_circle3.png) no-repeat top left/contain;
  width: 407px;
  max-width: 78%;
  height: 408px;
  z-index: -1;
  -webkit-animation: flash 2s ease-in-out 0s infinite alternate forwards running;
          animation: flash 2s ease-in-out 0s infinite alternate forwards running;
}

#contents .sec05-4_item2 p {
  margin-top: 1em;
}

#contents .sec05-4_flex1 .imgwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

#contents .sec05-4_flex1 .imgwrap > * {
  max-width: 48%;
  margin: 0;
}

@media screen and (min-width: 801px) {
  #contents .sec05-4_item1 figure img {
    position: absolute;
    top: -24px;
    left: -5%;
    width: 107%;
    max-width: none;
  }
  #contents .sec05-4_item2 > .flexItem:nth-child(1) {
    width: 66%;
  }
  #contents .sec05-4_item2 > .flexItem:nth-child(2) {
    width: 32%;
    margin-left: 2%;
  }
  #contents .sec05-4_flex1 > .flexItem:nth-child(1) {
    width: 39%;
  }
  #contents .sec05-4_flex1 > .flexItem:nth-child(2) {
    width: 59%;
    margin-left: 2%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (max-width: 1370px) {
  #contents .sec05-4 {
    margin-bottom: 15%;
  }
  #contents .sec05-4_item1 figure figcaption {
    font-size: max(2vw,14px);
  }
}

@media screen and (max-width: 800px) {
  #contents .sec05-4 {
    margin-bottom: 8%;
  }
  #contents .sec05-4_item1 figure figcaption {
    font-size: 4vw;
  }
  #contents .sec05-4_item2 .flexItem:not(:last-child) {
    margin-bottom: 2em;
  }
  #contents .sec05-4_item2 .flexItem:nth-child(2) figure {
    margin-bottom: 1em;
    max-width: 48%;
  }
  #contents .sec05-4 .imgwrap {
    margin-bottom: 1em;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #contents .sec05-4 .imgwrap figure:not(:last-child) {
    margin-right: 2%;
  }
}

#contents .sec06 {
  margin-top: 80px;
}

#contents .sec06 .pointHeading {
  margin-bottom: 200px;
}

@media screen and (max-width: 1370px) {
  #contents .sec06 .pointHeading {
    margin-bottom: 15%;
  }
}

#contents .sec06-1 {
  margin-bottom: 100px;
}

#contents .sec06-1_img {
  position: relative;
}

#contents .sec06-1_img img {
  margin-left: -30%;
  width: 138%;
  max-width: none;
}

#contents .sec06-1_txt {
  line-height: 1.3;
  letter-spacing: 0.03em;
}

#contents .sec06-1_txt figure {
  margin-bottom: 18%;
}

#contents .sec06-1_txt .modelnum {
  font-size: 30px;
  line-height: 1.12;
  margin-bottom: 1em;
}

#contents .sec06-1_txt .rollout {
  font-size: 30px;
  font-weight: bold;
  font-family: "Orbitron", sans-serif;
  margin-bottom: 0.1em;
}

#contents .sec06-1_txt .price {
  font-size: 22px;
  margin-bottom: 0.6em;
}

#contents .sec06-1_txt .date {
  font-size: 22px;
  margin-bottom: 1.2em;
}

#contents .sec06-1_txt .notes {
  font-size: 13px;
  line-height: 1.5;
}

#contents .sec06-1_txt .notes > * {
  padding-left: 1em;
  text-indent: -1em;
}

@media screen and (min-width: 801px) {
  #contents .sec06-1 .c-frame > * {
    padding: 2% 4% 0;
  }
  #contents .sec06-1_img {
    width: 50%;
  }
  #contents .sec06-1_txt {
    width: 45%;
    margin-left: 5%;
    margin-bottom: 60px;
  }
}

@media screen and (min-width: 801px) and (max-width: 1370px) {
  #contents .sec06-1_txt .modelnum {
    font-size: 2.4vw;
  }
  #contents .sec06-1_txt .rollout {
    font-size: 2.4vw;
  }
  #contents .sec06-1_txt .price {
    font-size: 1.8vw;
  }
  #contents .sec06-1_txt .notes {
    font-size: 12px;
  }
}

@media screen and (max-width: 1370px) {
  #contents .sec06-1 {
    margin-bottom: 7.5%;
  }
}

@media screen and (max-width: 800px) {
  #contents .sec06-1_txt {
    padding: 5%;
  }
  #contents .sec06-1_txt figure {
    max-width: 50%;
    margin: 0 auto 10%;
  }
  #contents .sec06-1_txt .modelnum {
    font-size: 6vw;
  }
  #contents .sec06-1_txt .rollout {
    font-size: 6vw;
  }
  #contents .sec06-1_txt .price {
    font-size: 4vw;
  }
}

#contents .sec06-2 {
  margin-bottom: 100px;
}

#contents .sec06-2 h2 {
  font-size: 30px;
  font-weight: bold;
  font-family: "Orbitron", sans-serif;
  padding: 0.2em 1.2em;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

#contents .sec06-2 h2:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: -webkit-gradient(linear, left top, right top, color-stop(50%, #0484db), color-stop(50%, #8995a2));
  background: linear-gradient(90deg, #0484db 50%, #8995a2 50%);
}

@media screen and (max-width: 1370px) {
  #contents .sec06-2 {
    margin-bottom: 7.5%;
  }
}

@media screen and (min-width: 801px) and (max-width: 1370px) {
  #contents .sec06-2 h2 {
    font-size: 3vw;
  }
}

@media screen and (max-width: 800px) {
  #contents .sec06-2 h2 {
    font-size: 4.5vw;
  }
}

@media screen and (max-width: 800px) {
  #contents .sec06 {
    margin-top: 8%;
  }
}

#contents .sec07-1 {
  margin-top: 80px;
}

#contents .sec07-1 .img {
  margin-top: 2.2em;
  position: relative;
  z-index: 1;
}

#contents .sec07-1 .img img {
  margin: 0 auto;
}

#contents .sec07-1 .img:before {
  content: '';
  position: absolute;
  top: -16.7%;
  left: 0;
  right: 0;
  margin: auto;
  background: url(../images/_images240507/dec_circle4.png) no-repeat top left/contain;
  width: 981px;
  max-width: 100%;
  height: 1159px;
  z-index: -1;
  -webkit-animation: flash 2s ease-in-out 0s infinite alternate forwards running;
          animation: flash 2s ease-in-out 0s infinite alternate forwards running;
}

#contents .sec07-1 .txt {
  font-size: 20px;
  line-height: 1.7;
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 801px) {
  #contents .sec07-1 .txt {
    max-width: 878px;
    margin-top: -1em;
  }
}

@media screen and (max-width: 800px) {
  #contents .sec07-1 {
    margin-top: 8%;
  }
}

#contents .sec07-2 {
  margin-top: 135px;
}

#contents .sec07-2 h4 {
  margin-top: 1.7em;
}

#contents .sec07-2_block1 {
  margin-top: 75px;
}

#contents .sec07-2_block1 .objCover {
  padding-top: 60.7%;
}

#contents .sec07-2_block1 p {
  margin-top: 1em;
}

#contents .sec07-2_block2 {
  margin-top: 35px;
}

#contents .sec07-2_block2 .imgFrame--group {
  width: 100%;
}

#contents .sec07-2_block2 .imgFrame--group > * {
  padding-top: 41%;
  width: 50% !important;
}

#contents .sec07-2_block2 p {
  margin-top: 1em;
}

@media screen and (min-width: 801px) {
  #contents .sec07-2_block2 > *:nth-child(1) {
    width: 63%;
  }
  #contents .sec07-2_block2 > *:nth-child(2) {
    width: 34%;
    margin-left: 3%;
  }
}

@media screen and (max-width: 800px) {
  #contents .sec07-2 {
    margin-top: 13%;
  }
  #contents .sec07-2_block1 {
    margin-top: 8%;
  }
  #contents .sec07-2_block2 {
    margin-top: 2em;
  }
  #contents .sec07-2_block1 > *:not(:first-child), #contents .sec07-2_block2 > *:not(:first-child) {
    margin-top: 2em;
  }
}

#contents .sec07-3 {
  margin-top: 65px;
}

#contents .sec07-3 h4 {
  margin-top: 2em;
}

@media screen and (max-width: 800px) {
  #contents .sec07-3 {
    margin-top: 8%;
  }
  #contents .sec07-3 h3 {
    font-size: 4.2vw;
  }
}

#contents .p-headAction {
  position: relative;
}

#contents .p-headAction .blockTitle {
  margin-top: 0.5em;
}

#contents .p-headAction .img1 {
  position: absolute;
  top: -24%;
  right: -5.5%;
  width: 74%;
}

#contents .p-headAction .img1 img {
  width: 100%;
  max-width: none;
}

#contents .p-headAction .img1 figcaption {
  position: absolute;
  top: 18.7%;
  right: 10.5%;
  font-size: 20px;
  font-weight: bold;
  font-family: "Orbitron", sans-serif;
  color: #eaeef3;
}

#contents .p-headAction .img2 {
  margin-left: -3.3%;
  position: relative;
  z-index: 1;
}

#contents .p-headAction .block1 p {
  margin-bottom: 0.5em;
}

@media screen and (min-width: 801px) {
  #contents .p-headAction .img2 {
    margin-top: -3%;
  }
  #contents .p-headAction .block1 {
    margin-top: -5.5%;
    width: 532px;
    max-width: 58%;
  }
  #contents .p-headAction .img3 {
    position: absolute;
    right: 0%;
    bottom: 0%;
    width: 39.2%;
  }
  #contents .p-headAction .img3 img {
    width: 100%;
  }
}

@media screen and (max-width: 1370px) {
  #contents .p-headAction .img1 {
    top: -16%;
    width: 95%;
  }
  #contents .p-headAction .img2 {
    margin-top: 25%;
    width: 90%;
  }
}

@media screen and (max-width: 800px) {
  #contents .p-headAction {
    margin-top: 10%;
  }
  #contents .p-headAction .img1 {
    top: -6%;
    right: -16%;
    width: 120%;
  }
  #contents .p-headAction .img1 figcaption {
    right: 13%;
    font-size: min(2.5vw,20px);
  }
  #contents .p-headAction .img2 {
    margin-top: 40%;
  }
  #contents .p-headAction .img3 {
    margin-bottom: 2em;
  }
}

#contents .p-shoulderAction {
  margin-top: 100px;
  position: relative;
}

#contents .p-shoulderAction .img1 {
  position: absolute;
  top: -11%;
  left: -5.5%;
  width: 68.3%;
  z-index: 1;
}

#contents .p-shoulderAction .img1 img {
  width: 100%;
}

#contents .p-shoulderAction .img2 {
  margin: 12% 0 0 auto;
}

#contents .p-shoulderAction .block1 {
  margin-top: 50px;
  position: relative;
  z-index: 2;
}

#contents .p-shoulderAction .block1 p {
  margin-top: 1em;
}

@media screen and (max-width: 1370px) {
  #contents .p-shoulderAction .img2 {
    max-width: 45%;
  }
}

@media screen and (max-width: 800px) {
  #contents .p-shoulderAction {
    margin-top: 10%;
  }
  #contents .p-shoulderAction .img1 {
    top: -1%;
    left: -13%;
    width: 85%;
  }
  #contents .p-shoulderAction .img2 {
    margin-top: 30%;
  }
  #contents .p-shoulderAction .block1 > *:not(:first-child) {
    margin-top: 2em;
  }
}

#contents .p-chestAction {
  margin-top: 45px;
}

#contents .p-chestAction .img1 {
  position: absolute;
  top: -14.8%;
  right: -17.9%;
  width: 86%;
}

#contents .p-chestAction .img1 img {
  width: 100%;
  max-width: none;
}

#contents .p-chestAction .img2 {
  margin: 4% auto 0 0;
  max-width: 42%;
}

#contents .p-chestAction .block1 {
  margin-top: 3%;
}

#contents .p-chestAction .block1 p {
  margin-top: 0.6em;
}

@media screen and (min-width: 801px) {
  #contents .p-chestAction .block1 {
    width: 450px;
    max-width: 40%;
  }
}

@media screen and (max-width: 800px) {
  #contents .p-chestAction {
    margin-top: 10%;
  }
  #contents .p-chestAction .img1 {
    top: -8%;
    right: -21%;
    width: 102%;
  }
  #contents .p-chestAction .block1 {
    margin-top: 50%;
  }
}

#contents .p-armWristAction {
  margin-top: 105px;
  position: relative;
}

#contents .p-armWristAction .img1 {
  position: absolute;
  top: -8%;
  left: -20.2%;
  width: 87%;
}

#contents .p-armWristAction .img1 img {
  width: 100%;
}

#contents .p-armWristAction .img2 {
  margin: 4% 0 0 auto;
  max-width: 45%;
}

#contents .p-armWristAction .block1 {
  margin-top: 3%;
}

#contents .p-armWristAction .block1 p {
  margin-top: 1em;
}

@media screen and (min-width: 801px) {
  #contents .p-armWristAction .block1 {
    width: 450px;
    max-width: 45%;
    margin-left: auto;
  }
}

@media screen and (max-width: 800px) {
  #contents .p-armWristAction {
    margin-top: 10%;
  }
  #contents .p-armWristAction .img1 {
    top: 5%;
    left: -27%;
    width: 110%;
  }
  #contents .p-armWristAction .block1 {
    margin-top: 40%;
  }
}

#contents .p-backWaistAction {
  margin-top: 95px;
  position: relative;
}

#contents .p-backWaistAction .img1 {
  position: absolute;
  top: -23.3%;
  right: -13.7%;
  width: 72%;
}

#contents .p-backWaistAction .img1 img {
  width: 100%;
}

#contents .p-backWaistAction .img2 {
  margin: 7% auto 0 0;
  max-width: 40%;
}

#contents .p-backWaistAction .block1 {
  margin-top: 4%;
  position: relative;
  z-index: 1;
}

#contents .p-backWaistAction .block1 .objCover {
  padding-top: 48%;
}

#contents .p-backWaistAction .block1 p {
  margin-top: 1em;
}

@media screen and (max-width: 800px) {
  #contents .p-backWaistAction {
    margin-top: 10%;
  }
  #contents .p-backWaistAction .img1 {
    top: -7%;
    right: -36%;
    width: 110%;
  }
  #contents .p-backWaistAction .block1 {
    margin-top: 38%;
  }
  #contents .p-backWaistAction .block1 > *:not(:first-child) {
    margin-top: 2em;
  }
}

#contents .p-legAction {
  margin-top: 65px;
}

#contents .p-legAction .img1 {
  position: absolute;
  top: -5.5%;
  left: 2.8%;
  width: 57%;
}

#contents .p-legAction .img1 img {
  width: 100%;
}

#contents .p-legAction .img2 {
  margin: 4% 0 0 auto;
  max-width: 45%;
}

#contents .p-legAction .block1 {
  margin-top: 3%;
}

#contents .p-legAction .block1 p {
  margin-top: 0.5em;
}

#contents .p-legAction .block2 {
  margin-top: 3%;
}

#contents .p-legAction .block2 p {
  margin-top: 0.5em;
}

@media screen and (min-width: 801px) {
  #contents .p-legAction .block1 {
    width: 450px;
    max-width: 45%;
    margin-left: auto;
  }
}

@media screen and (max-width: 800px) {
  #contents .p-legAction {
    margin-top: 10%;
  }
  #contents .p-legAction .img1 {
    top: -18%;
    left: -11%;
    width: 100%;
  }
  #contents .p-legAction .block1 {
    margin-top: 55%;
  }
  #contents .p-legAction .block2 {
    margin-top: 2em;
  }
  #contents .p-legAction .block2 > *:not(:first-child) {
    margin-top: 2em;
  }
}

#contents .p-beamRifle {
  margin-top: 100px;
  position: relative;
}

#contents .p-beamRifle .img1 {
  position: absolute;
  top: 11.2%;
  left: 0;
  max-width: 45%;
}

#contents .p-beamRifle .block1 {
  margin-top: 42%;
  position: relative;
}

#contents .p-beamRifle .block1 img {
  position: absolute;
  left: -25.6%;
  bottom: 10%;
  width: 137%;
  max-width: none;
}

#contents .p-beamRifle .img2 {
  position: relative;
}

#contents .p-beamRifle .img2 figcaption {
  position: absolute;
  top: 18%;
  right: 28.6%;
  font-size: 20px;
  font-weight: bold;
  font-family: "Orbitron", sans-serif;
  color: #eaeef3;
}

#contents .p-beamRifle .block2 {
  margin-top: 2%;
}

#contents .p-beamRifle .block2 p {
  margin-top: 0.5em;
}

#contents .p-beamRifle .img3 {
  position: absolute;
  left: -5.6%;
  bottom: -5.8%;
  width: 66.2%;
}

#contents .p-beamRifle .img3 img {
  width: 100%;
}

#contents .p-beamRifle .img4 {
  margin: 10% 0 0 auto;
  max-width: 38%;
}

@media screen and (min-width: 801px) {
  #contents .p-beamRifle .block1 {
    width: 680px;
    max-width: 50%;
    margin: 42% 0 0 auto;
  }
  #contents .p-beamRifle .img2 {
    position: absolute;
    top: 29.8%;
    left: -5.6%;
    width: 69.1%;
  }
  #contents .p-beamRifle .img2 img {
    width: 100%;
  }
  #contents .p-beamRifle .block2 {
    width: 504px;
    max-width: 45%;
    margin: 2% 0 0 auto;
  }
}

@media screen and (max-width: 1370px) {
  #contents .p-beamRifle .block1 img {
    bottom: 75%;
  }
  #contents .p-beamRifle .img2 {
    top: 33%;
    left: -13%;
    width: 80%;
  }
  #contents .p-beamRifle .img2 figcaption {
    top: 13%;
    right: 21%;
  }
}

@media screen and (max-width: 800px) {
  #contents .p-beamRifle {
    margin-top: 10%;
  }
  #contents .p-beamRifle .img1 {
    top: 7%;
  }
  #contents .p-beamRifle .block1 {
    margin-top: 127%;
  }
  #contents .p-beamRifle .block1 img {
    left: -10%;
  }
  #contents .p-beamRifle .img2 {
    width: 150%;
    left: -25%;
  }
  #contents .p-beamRifle .img2 figcaption {
    font-size: min(4vw,20px);
  }
  #contents .p-beamRifle .block2 {
    margin-top: -27%;
  }
  #contents .p-beamRifle .img3 {
    width: 120%;
    top: 97%;
    auto: -20%;
  }
  #contents .p-beamRifle .img4 {
    margin-top: 2em;
    margin-bottom: 100%;
    max-width: 50%;
  }
}

#contents .p-hyperBazooka {
  margin-top: 105px;
}

#contents .p-hyperBazooka .img1 {
  position: absolute;
  top: -7%;
  left: -5.5%;
  width: 68%;
}

#contents .p-hyperBazooka .img1 img {
  width: 100%;
}

#contents .p-hyperBazooka .block1 {
  margin-top: 4%;
  position: relative;
  z-index: 1;
}

#contents .p-hyperBazooka .block1 p {
  margin-top: 0.5em;
}

#contents .p-hyperBazooka .block2 {
  margin-top: 4.5%;
}

#contents .p-hyperBazooka .block2 p {
  margin-top: 1em;
}

@media screen and (min-width: 801px) {
  #contents .p-hyperBazooka .block1 {
    margin: 4% 0 0 auto;
    width: 504px;
    max-width: 38%;
  }
}

@media screen and (max-width: 800px) {
  #contents .p-hyperBazooka {
    margin-top: 10%;
  }
  #contents .p-hyperBazooka .img1 {
    width: 100%;
    top: 0%;
  }
  #contents .p-hyperBazooka .block1 {
    margin-top: 110%;
  }
  #contents .p-hyperBazooka .block2 {
    margin-top: 2em;
  }
}

#contents .p-shield {
  margin-top: 65px;
}

#contents .p-shield .img1 {
  position: absolute;
  top: -20%;
  right: -5.5%;
  width: 120%;
}

#contents .p-shield .img1 img {
  width: 100%;
}

#contents .p-shield .block1 {
  margin-top: 23%;
}

#contents .p-shield .block1 p {
  margin-top: 0.5em;
}

#contents .p-shield .block2 {
  margin-top: 3.5%;
}

#contents .p-shield .block2 p {
  margin-top: 0.5em;
}

@media screen and (min-width: 801px) {
  #contents .p-shield .block1 {
    width: 450px;
    max-width: 40%;
  }
}

@media screen and (max-width: 800px) {
  #contents .p-shield {
    margin-top: 10%;
  }
  #contents .p-shield .img1 {
    top: -4%;
    left: -70%;
    width: 170%;
  }
  #contents .p-shield .block1 {
    margin-top: 90%;
  }
  #contents .p-shield .block2 {
    margin-top: 2em;
  }
  #contents .p-shield .block2 > *:not(:first-child) {
    margin-top: 2em;
  }
}

#contents .p-mountGimmick {
  margin-top: 105px;
  position: relative;
}

#contents .p-mountGimmick .img1 {
  position: absolute;
  top: -5%;
  left: 0%;
  width: 50%;
}

#contents .p-mountGimmick .img1 img {
  width: 100%;
}

#contents .p-mountGimmick .block1 {
  margin-top: 4%;
}

#contents .p-mountGimmick .block1 p {
  margin-top: 0.5em;
}

#contents .p-mountGimmick .block1 .imgFrame--group > * > figure:not(:first-child) {
  border-top: 1px solid #8995a2;
}

@media screen and (min-width: 801px) {
  #contents .p-mountGimmick .block1 {
    margin: 4% 0 0 auto;
    width: 650px;
  }
}

@media screen and (max-width: 1370px) {
  #contents .p-mountGimmick .img1 {
    top: -14%;
    width: min(70%,677px);
  }
  #contents .p-mountGimmick .block1 {
    margin-top: 50%;
  }
}

@media screen and (max-width: 800px) {
  #contents .p-mountGimmick {
    margin-top: 10%;
  }
  #contents .p-mountGimmick .img1 {
    top: 3%;
    width: 110%;
  }
  #contents .p-mountGimmick .block1 {
    margin-top: 130%;
  }
}

#contents .p-moreAction {
  margin-top: 65px;
  position: relative;
}

#contents .p-moreAction .block1 {
  position: relative;
  padding-top: 38%;
  z-index: 1;
}

#contents .p-moreAction .block1 img {
  position: absolute;
  top: -58%;
  left: -39.6%;
  width: 151%;
  max-width: none;
}

#contents .p-moreAction .img1 {
  position: absolute;
  top: 1.5%;
  left: 360px;
  z-index: 2;
}

#contents .p-moreAction .img2 {
  position: absolute;
  top: 9.8%;
  left: -4.3%;
  width: 68.3%;
}

#contents .p-moreAction .img2 img {
  width: 100%;
}

#contents .p-moreAction .img3 {
  margin: 3% 0 0 auto;
  max-width: 50%;
  position: relative;
  z-index: 2;
}

#contents .p-moreAction .block2 {
  margin-top: 3%;
}

#contents .p-moreAction .block2 p {
  margin-top: 0.5em;
}

@media screen and (min-width: 801px) {
  #contents .p-moreAction .block1 {
    margin: 0 0 0 auto;
    width: 650px;
    max-width: 60%;
  }
  #contents .p-moreAction .block2 {
    margin: 3% 0 0 auto;
    width: 450px;
    max-width: 50%;
  }
}

@media screen and (max-width: 1370px) {
  #contents .p-moreAction .img1 {
    left: 0;
    top: 10%;
    max-width: 38%;
  }
  #contents .p-moreAction .img2 {
    top: 30%;
    left: -16%;
  }
}

@media screen and (max-width: 800px) {
  #contents .p-moreAction .img1 {
    top: 8%;
    max-width: 45%;
  }
  #contents .p-moreAction .block1 {
    padding-top: 60%;
  }
  #contents .p-moreAction .block1 img {
    top: -30%;
    left: auto;
    right: -20%;
    width: min(120%,600px);
  }
  #contents .p-moreAction .img2 {
    top: 35%;
    left: -20%;
    width: 90%;
  }
  #contents .p-moreAction .img3 {
    margin-top: 15%;
    margin-bottom: 85%;
    max-width: 60%;
  }
}

#contents .galleryWrapper {
  margin: 50px 0 120px;
}

#contents .gallery_item img {
  width: 100%;
}

@media screen and (max-width: 1370px) {
  #contents .galleryWrapper {
    margin: 4% 0 6%;
  }
}

#contents .slick-slide {
  background: #000;
}

#contents .slick-slide > * {
  opacity: 0.2;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

#contents .slick-active > * {
  opacity: 1;
}

#contents .slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 15px;
  position: absolute;
  top: 0.25em;
  left: 0;
  right: 0;
  margin: auto;
}

#contents .slick-dots li {
  margin: 0.3vw;
  font-size: 0;
}

#contents .slick-dots button {
  width: 4.8vw;
  height: 4px;
  background: #8995a2;
  border: none;
  font-size: 0;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

#contents .slick-dots button:hover {
  background: #0484db;
}

#contents .slick-active button {
  background: #0484db;
}

@media screen and (max-width: 800px) {
  #contents .slick-dots li {
    margin: 0.5vw;
  }
  #contents .slick-dots li button {
    width: 5.5vw;
  }
}

.zoomPreview {
  position: fixed;
  top: calc(50vh - 12.5vw);
  left: 2vw;
  width: 25vw;
  height: 25vw;
  overflow: hidden;
  pointer-events: none;
  display: none;
}

.zoomPreview_inner {
  background: #000;
  border: 4px solid #edf1f6;
  -webkit-box-shadow: 0 0 4vw rgba(0, 0, 0, 0.7);
          box-shadow: 0 0 4vw rgba(0, 0, 0, 0.7);
  border-radius: 10px;
  width: 25vw !important;
  height: 25vw !important;
}

@media screen and (max-width: 800px) {
  .tracker, .zoomPreview, .cursorshade, .statusdiv {
    display: none !important;
  }
}

@-webkit-keyframes play2 {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  50%, 100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes play2 {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  50%, 100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@-webkit-keyframes lineLoop {
  0% {
    background-position: left top;
  }
  100% {
    background-position: left 192px top;
  }
}

@keyframes lineLoop {
  0% {
    background-position: left top;
  }
  100% {
    background-position: left 192px top;
  }
}

@-webkit-keyframes flash {
  0% {
    -webkit-filter: brightness(50%);
            filter: brightness(50%);
  }
  100% {
    -webkit-filter: brightness(100%);
            filter: brightness(100%);
  }
}

@keyframes flash {
  0% {
    -webkit-filter: brightness(50%);
            filter: brightness(50%);
  }
  100% {
    -webkit-filter: brightness(100%);
            filter: brightness(100%);
  }
}

/* Animation */
.js-scroll.fadeInUp {
  opacity: 0;
  -webkit-transition: 0.5s ease 0.3s;
  transition: 0.5s ease 0.3s;
  -webkit-transform-origin: center top;
          transform-origin: center top;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
}

.js-scroll.fadeInZoomIn {
  opacity: 0;
  -webkit-transition: 1.5s ease 0.3s;
  transition: 1.5s ease 0.3s;
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
}

.js-scroll.fadeInZoomOut {
  opacity: 0;
  -webkit-transition: 0.6s ease 0.3s;
  transition: 0.6s ease 0.3s;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.js-scroll.fadeInSlowUp {
  opacity: 0;
  -webkit-transition: 1.5s cubic-bezier(0.42, 0.73, 0.55, 0.99) 0.3s;
  transition: 1.5s cubic-bezier(0.42, 0.73, 0.55, 0.99) 0.3s;
  -webkit-transform: translateY(10%);
          transform: translateY(10%);
}

.js-scroll.fadeInLeft {
  opacity: 0;
  -webkit-transition: 1s cubic-bezier(0.25, 0, 0.25, 1) 0.3s;
  transition: 1s cubic-bezier(0.25, 0, 0.25, 1) 0.3s;
  -webkit-transform: translateX(-30px);
          transform: translateX(-30px);
}

.js-scroll.fadeInSlowLeft {
  opacity: 0;
  -webkit-transition: 1.5s cubic-bezier(0.42, 0.73, 0.55, 0.99) 0.3s;
  transition: 1.5s cubic-bezier(0.42, 0.73, 0.55, 0.99) 0.3s;
  -webkit-transform: translateX(-10%);
          transform: translateX(-10%);
}

.js-scroll.fadeInRight {
  opacity: 0;
  -webkit-transition: 1s cubic-bezier(0.25, 0, 0.25, 1) 0.3s;
  transition: 1s cubic-bezier(0.25, 0, 0.25, 1) 0.3s;
  -webkit-transform: translateX(30px);
          transform: translateX(30px);
}

.js-scroll.fadeInSlowRight {
  opacity: 0;
  -webkit-transition: 1.5s cubic-bezier(0.42, 0.73, 0.55, 0.99) 0.3s;
  transition: 1.5s cubic-bezier(0.42, 0.73, 0.55, 0.99) 0.3s;
  -webkit-transform: translateX(10%);
          transform: translateX(10%);
}

.js-scroll.fadeInFlip {
  opacity: 0;
  -webkit-transition: 1s ease 0.3s;
  transition: 1s ease 0.3s;
  -webkit-transform: rotateY(90deg);
          transform: rotateY(90deg);
}

.js-scroll.jetIn {
  opacity: 0;
  -webkit-transition: 1s cubic-bezier(0.25, 1, 0.25, 1) 0.3s;
  transition: 1s cubic-bezier(0.25, 1, 0.25, 1) 0.3s;
  -webkit-transform: translate(25%, -25%);
          transform: translate(25%, -25%);
}

.js-scroll.is-scroll {
  opacity: 1 !important;
  -webkit-transform: none !important;
          transform: none !important;
}

/* ======== ↑ End main ↑ ======== */
