@charset "UTF-8";
/* =============================================================== */
/* reset */
/* =============================================================== */
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }

/* =============================================================== */
/* reset */
/* =============================================================== */
/* =============================================================== */
/* foundation */
/* =============================================================== */
html {
  font-size: 62.5%; }

body {
  margin: 0 auto;
  font-family: "Noto Sans Japanese", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-font-smoothing: antialiased;
  font-variant-ligatures: no-common-ligatures;
  overflow-x: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-color: #000; }
  @media print, screen and (min-width: 768px) and (max-width: 1283px) {
    body {
      min-width: 1284px;
      overflow-x: scroll; } }
  @media print, screen and (max-width: 767px) {
    body {
      -webkit-text-size-adjust: 100%;
      -webkit-overflow-scrolling: touch; } }

@media print, screen and (max-width: 767px) {
  img {
    width: 100%;
    height: auto; } }

::-moz-selection {
  background: rgba(0, 150, 151, 0.7);
  color: #fff; }

::selection {
  background: rgba(0, 150, 151, 0.7);
  color: #fff; }

* {
  box-sizing: border-box;
  zoom: 1; }

a {
  color: #000;
  text-decoration: none; }

.pc_b {
  display: block !important; }
  @media print, screen and (max-width: 767px) {
    .pc_b {
      display: none !important; } }

.pc_i {
  display: inline !important; }
  @media print, screen and (max-width: 767px) {
    .pc_i {
      display: none !important; } }

.pc_ib {
  display: inline-block !important; }
  @media print, screen and (max-width: 767px) {
    .pc_ib {
      display: none !important; } }

.sp_b {
  display: none !important; }
  @media print, screen and (max-width: 767px) {
    .sp_b {
      display: block !important; } }

.sp_i {
  display: none !important; }
  @media print, screen and (max-width: 767px) {
    .sp_i {
      display: inline !important; } }

.sp_ib {
  display: none !important; }
  @media print, screen and (max-width: 767px) {
    .sp_ib {
      display: inline-block !important; } }

.break {
  word-break: break-all; }

/* =============================================================== */
/* st */
/* =============================================================== */
/* =============================================================== */
/* .st-Container */
/* =============================================================== */
.st-Container {
  box-sizing: border-box;
  overflow: hidden;
  z-index: 1; }

/* =============================================================== */
/* .st-Footer */
/* =============================================================== */
.st-Footer {
  background-size: auto auto;
  background-color: rgba(0, 150, 151, 0.2);
  background-image: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(255, 255, 255, 0.03) 2px, rgba(255, 255, 255, 0.03) 4px); }
  @media print, screen and (min-width: 768px) {
    .st-Footer_Inner {
      padding: 50px 0; } }
  @media print, screen and (max-width: 767px) {
    .st-Footer_Inner {
      padding: 8.46354vw 0; } }
  .st-Footer_Inner ul {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    margin: 0 auto; }
    @media print, screen and (min-width: 768px) {
      .st-Footer_Inner ul {
        margin: 0 60px 0 0; } }
    @media print, screen and (max-width: 767px) {
      .st-Footer_Inner ul {
        margin: 0 2.60417vw 0 0; } }
    @media print, screen and (min-width: 768px) {
      .st-Footer_Inner ul li {
        margin: 0 60px 0 0; } }
    @media print, screen and (max-width: 767px) {
      .st-Footer_Inner ul li:nth-of-type(1) {
        margin: 0 6.51042vw 0 0; }
        .st-Footer_Inner ul li:nth-of-type(1) img {
          width: 39.58333vw;
          height: auto; }
      .st-Footer_Inner ul li:nth-of-type(2) {
        margin: 0 1.95312vw 0 0; }
        .st-Footer_Inner ul li:nth-of-type(2) img {
          width: 33.07292vw;
          height: auto; } }
    .st-Footer_Inner ul li a {
      opacity: 1;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
      transition: .3s; }
      .st-Footer_Inner ul li a:hover {
        opacity: 0.8;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; }
  .st-Footer_Inner .copy {
    color: #fff;
    text-align: center;
    line-height: 2;
    letter-spacing: 0.2em; }
    @media print, screen and (min-width: 768px) {
      .st-Footer_Inner .copy {
        padding: 40px 0 0;
        font-size: 1.2rem; } }
    @media print, screen and (max-width: 767px) {
      .st-Footer_Inner .copy {
        padding: 7.8125vw 0 0;
        font-size: 2.08333vw; } }

/* =============================================================== */
/* sw */
/* =============================================================== */
.anim {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  transition: 1s; }

.fadeIn {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }

/* =============================================================== */
/* ブレイクポイント 768px _foundation.scssも統一 */
/* =============================================================== */
/* =============================================================== */
/* ブレイクポイント 1024px _foundation.scssも統一 */
/* =============================================================== */
p {
  font-size: 20px; }

#particles {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100vh;
  margin: 0 auto;
  z-index: -1; }

.idx-Pagetop {
  position: relative;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  transition: .3s;
  z-index: 999; }
  .idx-Pagetop.visible {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
    .idx-Pagetop.visible .idx-Pagetop_Inner {
      -ms-transform: scale(1);
          transform: scale(1); }
  .idx-Pagetop_Inner {
    position: fixed;
    border-radius: 50%;
    text-align: center;
    cursor: pointer;
    transition: .3s;
    z-index: 1;
    -ms-transform: scale(0.7);
        transform: scale(0.7); }
    @media print, screen and (min-width: 768px) {
      .idx-Pagetop_Inner {
        width: 64px;
        height: 64px;
        bottom: 60px;
        right: 60px;
        border: 2px solid #04dddf; } }
    @media print, screen and (max-width: 767px) {
      .idx-Pagetop_Inner {
        width: 11.19792vw;
        height: 11.19792vw;
        bottom: 7.8125vw;
        right: 2.60417vw;
        border: 0.26042vw solid #04dddf; } }
    @media print, screen and (min-width: 768px) {
      .idx-Pagetop_Inner:hover {
        background-color: #04dddf; }
        .idx-Pagetop_Inner:hover a {
          background-image: url(../images/common/icon_pagetop_black.png);
          transform: rotateY(180deg); } }
    .idx-Pagetop_Inner a {
      display: block;
      width: 100%;
      height: 100%;
      border-radius: 50%;
      background-image: url(../images/common/icon_pagetop.png);
      background-repeat: no-repeat;
      background-position: center center;
      transition: .6s; }
      @media print, screen and (min-width: 768px) {
        .idx-Pagetop_Inner a {
          padding: 25px 20px; } }
      @media print, screen and (max-width: 767px) {
        .idx-Pagetop_Inner a {
          padding: 4.29688vw 3.77604vw;
          background-size: 3.25521vw; } }

.idx-Mainvisual {
  position: relative;
  width: 100%;
  background: #000;
  overflow: hidden; }
  @media print, screen and (min-width: 768px) {
    .idx-Mainvisual {
      height: 770px; } }
  @media print, screen and (max-width: 767px) {
    .idx-Mainvisual {
      height: 174.47917vw; } }
  .idx-Mainvisual_Background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    background-repeat: no-repeat;
    background-position: left,right;
    z-index: 2; }
    @media print, screen and (min-width: 768px) {
      .idx-Mainvisual_Background {
        width: 1691px;
        height: 770px;
        background-image: url(../images/pc/img_mainvisual_circle.png), url(../images/pc/img_mainvisual_booth.png); } }
    @media print, screen and (max-width: 767px) {
      .idx-Mainvisual_Background {
        top: 23.04688vw;
        width: 100%;
        height: 99.34896vw;
        background-image: url(../images/sp/img_mainvisual_booth.png);
        background-size: contain; } }
    @media print, screen and (min-width: 768px) and (max-width: 1690px) {
      .idx-Mainvisual_Background {
        left: 50%;
        right: auto;
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); } }
  .idx-Mainvisual_Contents {
    position: relative;
    margin: 0 auto;
    z-index: 3; }
    @media print, screen and (min-width: 768px) {
      .idx-Mainvisual_Contents {
        width: 1200px;
        padding: 30px 0 0; } }
    @media print, screen and (max-width: 767px) {
      .idx-Mainvisual_Contents {
        width: 100%;
        padding: 2.99479vw 0 0; } }
  @media print, screen and (max-width: 767px) {
    .idx-Mainvisual_Logo {
      width: 92.1875vw;
      margin: 0 auto; }
      .idx-Mainvisual_Logo img {
        width: 100%; } }
  @media print, screen and (max-width: 767px) {
    .idx-Mainvisual_Date {
      width: 89.58333vw;
      margin: 97.65625vw auto 0; } }
  .idx-Mainvisual_Date dl {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: center;
        align-items: center; }
    @media print, screen and (min-width: 768px) {
      .idx-Mainvisual_Date dl {
        width: 500px;
        margin: 50px 0 30px; } }
    @media print, screen and (max-width: 767px) {
      .idx-Mainvisual_Date dl {
        width: 100%;
        margin: 6.51042vw 0 3.90625vw; } }
  .idx-Mainvisual_Date dt,
  .idx-Mainvisual_Date dd {
    color: #05fdff; }
  .idx-Mainvisual_Date dt {
    text-align: center; }
    @media print, screen and (min-width: 768px) {
      .idx-Mainvisual_Date dt {
        width: 160px;
        height: 40px;
        margin: 10px 28px 10px 0;
        font-size: 1.6rem;
        line-height: 3.8rem;
        border: 1px solid #05fdff; } }
    @media print, screen and (max-width: 767px) {
      .idx-Mainvisual_Date dt {
        width: 28.64583vw;
        height: 6.51042vw;
        margin: 1.30208vw 5.20833vw 1.30208vw 0;
        font-size: 2.86458vw;
        line-height: 6.25vw;
        letter-spacing: 0.1em;
        border: 0.13021vw solid #05fdff; } }
  .idx-Mainvisual_Date dd p {
    font-family: din-condensed, sans-serif;
    font-feature-settings: "palt"; }
    .idx-Mainvisual_Date dd p span {
      display: inline-block; }
    @media print, screen and (min-width: 768px) {
      .idx-Mainvisual_Date dd p {
        font-size: 3.2rem;
        letter-spacing: 0.1em; }
        .idx-Mainvisual_Date dd p span {
          font-size: 2.6rem; } }
    @media print, screen and (max-width: 767px) {
      .idx-Mainvisual_Date dd p {
        font-size: 5.20833vw;
        letter-spacing: 0.08em; }
        .idx-Mainvisual_Date dd p span {
          font-size: 5.20833vw; } }
  @media print, screen and (max-width: 767px) {
    .idx-Mainvisual_Description {
      width: 89.58333vw;
      margin: 0 auto 0; } }
  .idx-Mainvisual_Description p {
    color: #fff;
    line-height: 2.2;
    letter-spacing: 0.09em; }
    @media print, screen and (min-width: 768px) {
      .idx-Mainvisual_Description p {
        font-size: 1.8rem; } }
    @media print, screen and (max-width: 767px) {
      .idx-Mainvisual_Description p {
        font-size: 3.38542vw;
        line-height: 1.7;
        letter-spacing: 0.15em; } }

.idx-Anchor {
  width: 100%;
  background: #04dddf; }
  @media print, screen and (min-width: 768px) {
    .idx-Anchor {
      height: 120px; } }
  @media print, screen and (max-width: 767px) {
    .idx-Anchor {
      height: 39.71354vw; } }
  .idx-Anchor_Inner {
    height: 100%;
    margin: 0 auto; }
    @media print, screen and (min-width: 768px) {
      .idx-Anchor_Inner {
        width: 1200px; } }
    @media print, screen and (max-width: 767px) {
      .idx-Anchor_Inner {
        width: 100%; } }
    .idx-Anchor_Inner ul {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-align: center;
          align-items: center;
      height: 100%; }
      @media print, screen and (min-width: 768px) {
        .idx-Anchor_Inner ul {
          -ms-flex-pack: center;
              justify-content: center; } }
      @media print, screen and (max-width: 767px) {
        .idx-Anchor_Inner ul {
          -ms-flex-pack: start;
              justify-content: flex-start; } }
      .idx-Anchor_Inner ul li {
        border-left: 1px solid rgba(0, 0, 0, 0.3); }
        @media print, screen and (min-width: 768px) {
          .idx-Anchor_Inner ul li {
            width: 300px;
            height: 80px; } }
        @media print, screen and (max-width: 767px) {
          .idx-Anchor_Inner ul li {
            position: relative;
            width: 50%;
            height: 50%;
            border: none; }
            .idx-Anchor_Inner ul li:before, .idx-Anchor_Inner ul li:after {
              position: absolute;
              content: "";
              background: #000;
              opacity: 0.3;
              -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; }
            .idx-Anchor_Inner ul li:nth-of-type(1):before {
              top: 2.08333vw;
              right: 0;
              width: 1px;
              height: 14.58333vw; }
            .idx-Anchor_Inner ul li:nth-of-type(1):after {
              bottom: 0;
              left: 5.20833vw;
              width: 41.01562vw;
              height: 1px; }
            .idx-Anchor_Inner ul li:nth-of-type(2):after {
              bottom: 0;
              right: 5.20833vw;
              width: 41.01562vw;
              height: 1px; }
            .idx-Anchor_Inner ul li:nth-of-type(3):before {
              bottom: 2.08333vw;
              right: 0;
              width: 1px;
              height: 14.58333vw; } }
        @media print, screen and (min-width: 768px) {
          .idx-Anchor_Inner ul li:last-of-type {
            border-right: 1px solid rgba(0, 0, 0, 0.3); } }
        @media print, screen and (max-width: 767px) {
          .idx-Anchor_Inner ul li:last-of-type {
            border: none; } }
        .idx-Anchor_Inner ul li a {
          position: relative;
          display: block;
          width: 100%;
          height: 100%;
          font-weight: bold;
          line-height: 1.5;
          text-align: center;
          transition: .3s; }
          @media print, screen and (min-width: 768px) {
            .idx-Anchor_Inner ul li a {
              font-size: 1.8rem; } }
          @media print, screen and (max-width: 767px) {
            .idx-Anchor_Inner ul li a {
              padding: 3.38542vw 0 0;
              font-size: 3.38542vw;
              letter-spacing: 0.05em; } }
          .idx-Anchor_Inner ul li a:after {
            content: "";
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            margin: 0 auto;
            background-image: url(../images/common/icon_arrow.png);
            background-repeat: no-repeat;
            background-size: contain;
            transition: .3s; }
            @media print, screen and (min-width: 768px) {
              .idx-Anchor_Inner ul li a:after {
                width: 22px;
                height: 10px; } }
            @media print, screen and (max-width: 767px) {
              .idx-Anchor_Inner ul li a:after {
                bottom: 2.86458vw;
                width: 3.38542vw;
                height: 1.5625vw; } }
          @media print, screen and (min-width: 768px) {
            .idx-Anchor_Inner ul li a:hover {
              opacity: 0.6;
              -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; }
              .idx-Anchor_Inner ul li a:hover:after {
                bottom: -5px;
                transform: rotateY(180deg); } }

.idx-Contents {
  position: relative; }
  @media print, screen and (min-width: 768px) {
    .idx-Contents {
      padding: 100px 0; } }
  @media print, screen and (max-width: 767px) {
    .idx-Contents {
      padding: 10.41667vw 0 11.71875vw; } }
  @media print, screen and (min-width: 768px) {
    .idx-Contents#SYNAPTIC .idx-Contents_Inner:before {
      top: 55px; } }
  @media print, screen and (max-width: 767px) {
    .idx-Contents#SYNAPTIC .idx-Contents_Inner:before {
      top: 2.86458vw; } }
  @media print, screen and (max-width: 767px) {
    .idx-Contents#SYNAPTIC .idx-Contents_Inner h2 img {
      width: 74.47917vw;
      height: 10.28646vw; } }
  .idx-Contents#HEROINES {
    background: rgba(0, 150, 151, 0.1); }
    @media print, screen and (min-width: 768px) {
      .idx-Contents#HEROINES .idx-Contents_Inner:before {
        top: 75px; } }
    @media print, screen and (max-width: 767px) {
      .idx-Contents#HEROINES .idx-Contents_Inner:before {
        top: 9.76562vw; } }
    @media print, screen and (max-width: 767px) {
      .idx-Contents#HEROINES .idx-Contents_Inner h2 img {
        width: 35.9375vw;
        height: 21.74479vw; } }
  @media print, screen and (min-width: 768px) {
    .idx-Contents#MAP {
      padding: 100px 0 140px; } }
  @media print, screen and (max-width: 767px) {
    .idx-Contents#MAP {
      padding: 7.8125vw 0 11.71875vw; } }
  @media print, screen and (min-width: 768px) {
    .idx-Contents#MAP .idx-Contents_Inner:before {
      top: 60px; } }
  @media print, screen and (max-width: 767px) {
    .idx-Contents#MAP .idx-Contents_Inner:before {
      top: 9.11458vw; } }
  @media print, screen and (max-width: 767px) {
    .idx-Contents#MAP .idx-Contents_Inner h2 img {
      width: 46.35417vw;
      height: 25.39062vw; } }
  .idx-Contents_Inner {
    position: relative;
    margin: 0 auto; }
    @media print, screen and (min-width: 768px) {
      .idx-Contents_Inner {
        max-width: 1200px;
        padding: 0 0 82px; } }
    @media print, screen and (max-width: 767px) {
      .idx-Contents_Inner {
        padding: 0 0 13.28125vw; } }
    .idx-Contents_Inner:before, .idx-Contents_Inner:after {
      content: "";
      position: absolute;
      left: 50%;
      margin: 0 auto;
      text-align: center;
      background-size: contain;
      background-repeat: no-repeat;
      -ms-transform: translateX(-50%);
          transform: translateX(-50%); }
      @media print, screen and (min-width: 768px) {
        .idx-Contents_Inner:before, .idx-Contents_Inner:after {
          width: 1286px;
          height: 42px;
          background-image: url(../images/pc/img_deco_box.png); } }
      @media print, screen and (max-width: 767px) {
        .idx-Contents_Inner:before, .idx-Contents_Inner:after {
          width: 94.79167vw;
          height: 5.72917vw;
          background-image: url(../images/sp/img_deco_box.png); } }
    .idx-Contents_Inner:after {
      bottom: 0;
      transform: rotateX(180deg) translateX(-50%); }
    .idx-Contents_Inner h2 {
      text-align: center; }
      @media print, screen and (min-width: 768px) {
        .idx-Contents_Inner h2 {
          margin: 0 auto 70px; } }
      @media print, screen and (max-width: 767px) {
        .idx-Contents_Inner h2 {
          margin: 0 auto 10.41667vw; } }
  .idx-Contents_Image {
    position: relative; }
    @media print, screen and (min-width: 768px) {
      .idx-Contents_Image {
        margin: 0 0 80px; } }
    @media print, screen and (max-width: 767px) {
      .idx-Contents_Image {
        margin: 0 0 5.85938vw; } }
    .idx-Contents_Image span {
      margin: 0 auto;
      color: #000;
      background: rgba(4, 221, 223, 0.94);
      font-weight: bold;
      letter-spacing: 0.1em;
      text-align: center; }
      @media print, screen and (min-width: 768px) {
        .idx-Contents_Image span {
          position: absolute;
          left: 0;
          right: 0;
          bottom: -40px;
          width: 960px;
          font-size: 3.6rem;
          line-height: 80px; } }
      @media print, screen and (max-width: 767px) {
        .idx-Contents_Image span {
          display: block;
          position: relative;
          padding: 4.55729vw 5.20833vw;
          bottom: 0;
          width: 100%;
          font-size: 5.72917vw;
          line-height: 1.5; } }
    @media print, screen and (min-width: 768px) {
      .idx-Contents_Image.heroines {
        margin: 0 0 100px; } }
    @media print, screen and (min-width: 768px) {
      .idx-Contents_Image.kaf {
        margin: 70px 0 190px; }
        .idx-Contents_Image.kaf span {
          bottom: -148px;
          padding: 22px 0;
          line-height: 1.35; } }
    @media print, screen and (min-width: 768px) {
      .idx-Contents_Image.map {
        margin: 70px 0 115px; }
        .idx-Contents_Image.map span {
          bottom: 0;
          -ms-transform: translateY(50%);
              transform: translateY(50%);
          padding: 22px 0;
          line-height: 1.35; } }
  .idx-Contents_Description {
    margin: 0 auto; }
    @media print, screen and (min-width: 768px) {
      .idx-Contents_Description {
        width: 960px; } }
    @media print, screen and (max-width: 767px) {
      .idx-Contents_Description {
        width: 89.58333vw; } }
    @media print, screen and (max-width: 767px) {
      .idx-Contents_Description.heroines {
        margin: 0 auto 11.71875vw; } }
    .idx-Contents_Description p {
      color: #ffffff; }
      @media print, screen and (min-width: 768px) {
        .idx-Contents_Description p {
          margin: 0 0 35px;
          font-size: 1.6rem;
          line-height: 2;
          letter-spacing: 0.2em; } }
      @media print, screen and (max-width: 767px) {
        .idx-Contents_Description p {
          width: 89.58333vw;
          margin: 0 0 5.85938vw;
          font-size: 3.125vw;
          line-height: 1.9;
          letter-spacing: 0.1em; } }

.idx-Button {
  background: transparent;
  transition: .3s; }
  @media print, screen and (min-width: 768px) {
    .idx-Button {
      width: 460px;
      height: 80px;
      margin: 50px auto 0;
      border: 2px solid #04d0d2; } }
  @media print, screen and (max-width: 767px) {
    .idx-Button {
      width: 84.375vw;
      height: 15.625vw;
      margin: 7.8125vw auto 0;
      border: 0.26042vw solid #04d0d2; } }
  .idx-Button a {
    position: relative;
    display: block;
    color: #04d0d2;
    font-weight: 700;
    text-align: center;
    transition: .3s; }
    @media print, screen and (min-width: 768px) {
      .idx-Button a {
        font-size: 1.6rem;
        line-height: 76px;
        letter-spacing: 0.2em; } }
    @media print, screen and (max-width: 767px) {
      .idx-Button a {
        font-size: 3.125vw;
        line-height: 15.10417vw;
        letter-spacing: 0.15em; } }
    .idx-Button a:before {
      content: "";
      position: absolute;
      top: 50%;
      background-image: url(../images/common/icon_arrow_right.png);
      background-size: contain;
      background-repeat: no-repeat;
      transform: rotateX(0deg);
      transition: .6s; }
      @media print, screen and (min-width: 768px) {
        .idx-Button a:before {
          right: 20px;
          width: 8px;
          height: 14px;
          margin: -7px 0 0;
          line-height: 76px; } }
      @media print, screen and (max-width: 767px) {
        .idx-Button a:before {
          right: 2.60417vw;
          width: 1.5625vw;
          height: 2.86458vw;
          margin: -1.43229vw 0 0; } }
  @media print, screen and (min-width: 768px) {
    .idx-Button:hover {
      background: #04d0d2; }
      .idx-Button:hover a {
        color: #000; }
        .idx-Button:hover a:before {
          background-image: url(../images/common/icon_arrow_right_black.png);
          transform: rotateX(180deg); } }
