@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
#index {
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.75; }
  #index .indexHeader {
    padding-top: 70px; }
  #index .swiper-container {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    background-color: #f7f7f7;
    padding-bottom: 30px; }
  #index .swiper-slide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    width: 70%;
    overflow: hidden; }
    #index .swiper-slide img {
      width: 100%;
      max-width: none;
      transition: all 0.3s; }
    #index .swiper-slide a:hover img {
      transform: scale(1.2); }
  #index .swiper-pagination-bullet {
    width: 60px;
    height: 5px;
    position: relative;
    border-radius: 0;
    border: none;
    margin: 0 5px;
    opacity: 1;
    background-color: rgba(0, 0, 0, 0.3);
    transition: background-color 0.3s; }
    #index .swiper-pagination-bullet::after {
      content: '';
      width: 0;
      height: 5px;
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 200;
      background-color: rgba(0, 0, 0, 0.9); }
    #index .swiper-pagination-bullet:hover {
      background-color: rgba(0, 0, 0, 0.9); }
    #index .swiper-pagination-bullet-active::after {
      width: 100%;
      transition: all 3.5s linear; }
  #index .swiper-pagination {
    width: 100%;
    bottom: 0;
    line-height: 0; }
  #index .swiper-button {
    transition: opacity 0.3s; }
    #index .swiper-button:hover {
      opacity: 0.5; }
  #index .swiper-button-next {
    right: 20px;
    display: block;
    border-radius: 50%;
    width: 5.6vw;
    height: 5.6vw;
    max-width: 80px;
    max-height: 80px;
    background: url(/common/img/asset/ic_arw_right.svg) #000 no-repeat center center;
    background-size: 0.9vw auto;
    margin-top: calc(-1.5vw - 30px); }
  #index .swiper-button-prev {
    left: 20px;
    display: block;
    border-radius: 50%;
    width: 5.6vw;
    height: 5.6vw;
    max-width: 80px;
    max-height: 80px;
    background: url(/common/img/asset/ic_arw_left.svg) #000 no-repeat center center;
    background-size: 0.9vw auto;
    margin-top: calc(-1.5vw - 30px); }
  #index .indexContentsA01 {
    padding: 136px 20px 85px;
    background: #f7f7f7; }
  #index .indexContentsA02 {
    width: 100%;
    max-width: 1218px;
    margin: 0 auto;
    display: table;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-around; }
  #index .indexContentsA03 {
    width: 50%;
    opacity: 0;
    position: relative;
    bottom: -30px;
    padding: 0 0 0 6%;
    box-sizing: border-box; }
    #index .indexContentsA03 .interviewHeader {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex; }
      #index .indexContentsA03 .interviewHeader h2 span:nth-child(1) {
        font-size: 2.22vw;
        display: block;
        font-family: 'Roboto', sans-serif;
        font-weight: 500;
        line-height: 1; }
      #index .indexContentsA03 .interviewHeader h2 span:nth-child(2) {
        font-size: 0.97vw;
        display: block; }
      #index .indexContentsA03 .interviewHeader h2 + p {
        font-size: 0.97vw;
        padding-left: 3.28%;
        white-space: nowrap;
        line-height: 2; }
    #index .indexContentsA03 .interviewBody {
      margin-top: 2.08vw;
      display: table; }
      #index .indexContentsA03 .interviewBody .interviewImg {
        width: 55%;
        display: table-cell;
        vertical-align: top;
        overflow: hidden; }
        #index .indexContentsA03 .interviewBody .interviewImg img {
          width: 100%;
          transition: all 0.3s; }
        #index .indexContentsA03 .interviewBody .interviewImg a:hover img {
          transform: scale(1.2); }
      #index .indexContentsA03 .interviewBody .interviewBodyInr {
        width: 45%;
        display: table-cell;
        padding: 0 6% 0 3%;
        vertical-align: top; }
        #index .indexContentsA03 .interviewBody .interviewBodyInr .interviewTxDate {
          color: #8E8E8E;
          font-size: 0.83vw; }
        #index .indexContentsA03 .interviewBody .interviewBodyInr .interviewTxName {
          font-size: 1.38vw;
          font-weight: bold; }
        #index .indexContentsA03 .interviewBody .interviewBodyInr .interviewTxJob {
          font-size: 0.83vw; }
        #index .indexContentsA03 .interviewBody .interviewBodyInr .interviewTxComment {
          font-size: 0.97vw; }
    #index .indexContentsA03 .interviewBtn {
      opacity: 0;
      position: relative;
      bottom: -30px; }
      #index .indexContentsA03 .interviewBtn a {
        margin: 30px auto 0;
        width: 17vw;
        line-height: 4.2vw;
        display: block;
        font-size: 0.97vw;
        font-family: 'Roboto', sans-serif;
        font-weight: 500;
        text-decoration: none;
        color: #000;
        transition: background 0.3s;
        text-align: center;
        position: relative; }
        #index .indexContentsA03 .interviewBtn a svg {
          top: 0;
          left: 0;
          position: absolute;
          width: 17vw;
          height: 4.2vw; }
        #index .indexContentsA03 .interviewBtn a path {
          fill: none;
          stroke: #000;
          stroke-width: 2px;
          /*stroke-dasharray: 544 546*/
          /*stroke-dashoffset: 545*/
          /*animation: interviewBtn 666ms ease-in-out 0ms forwards*/
          /*@keyframes interviewBtn*/
          /*100%*/
          /*stroke-dashoffset: 0*/ }
      #index .indexContentsA03 .interviewBtn a:hover {
        background: #000;
        color: #FFF; }
  #index .indexContentsA04 {
    border-right: 1px solid #707070;
    box-sizing: border-box;
    width: 50%;
    padding: 0 6% 0 0;
    opacity: 0;
    position: relative;
    bottom: -30px;
    vertical-align: top; }
    #index .indexContentsA04 .styleHeader {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex; }
      #index .indexContentsA04 .styleHeader h2 span:nth-child(1) {
        font-size: 2.22vw;
        display: block;
        font-family: 'Roboto', sans-serif;
        font-weight: 500;
        line-height: 1; }
      #index .indexContentsA04 .styleHeader h2 span:nth-child(2) {
        font-size: 0.97vw;
        display: block; }
      #index .indexContentsA04 .styleHeader h2 + p {
        font-size: 0.97vw;
        padding-left: 3.28%;
        white-space: nowrap;
        line-height: 2; }
    #index .indexContentsA04 .styleBody {
      margin-top: 2.08vw; }
      #index .indexContentsA04 .styleBody ul {
        display: table; }
        #index .indexContentsA04 .styleBody ul li {
          width: 30%;
          display: table-cell;
          text-align: center; }
          #index .indexContentsA04 .styleBody ul li .styleImg {
            overflow: hidden; }
          #index .indexContentsA04 .styleBody ul li img {
            width: 100%;
            transition: all 0.3s; }
          #index .indexContentsA04 .styleBody ul li a {
            text-decoration: none;
            color: #000; }
          #index .indexContentsA04 .styleBody ul li a:hover img {
            transform: scale(1.2); }
        #index .indexContentsA04 .styleBody ul li:nth-child(1) {
          width: 35%;
          padding-right: 5%; }
        #index .indexContentsA04 .styleBody ul li:nth-child(2) {
          width: 35%;
          padding-right: 5%; }
      #index .indexContentsA04 .styleBody .styleBodyInr h3 {
        font-size: 1.25vw;
        font-family: 'Roboto', sans-serif;
        font-weight: 500;
        display: inline-block;
        margin-top: 8px; }
        #index .indexContentsA04 .styleBody .styleBodyInr h3:after {
          content: "";
          display: block;
          border-bottom: 2px solid #000;
          width: 0;
          transition: all 0.3s; }
      #index .indexContentsA04 .styleBody .styleBodyInr h3.lineOn:after {
        width: 100%; }
      #index .indexContentsA04 .styleBody .styleBodyInr h3 + p {
        margin-top: 8px;
        font-size: 0.83vw;
        line-height: 1.4; }
  #index .indexContentsB01 {
    padding: 80px 20px 90px; }
  #index .indexContentsB02 {
    width: 100%;
    max-width: 1218px;
    margin: 0 auto;
    text-align: center; }
    #index .indexContentsB02 h2 {
      text-align: center; }
      #index .indexContentsB02 h2 span:nth-child(1) {
        font-size: 2.22vw;
        display: block;
        font-family: 'Roboto', sans-serif;
        font-weight: 500;
        line-height: 1; }
      #index .indexContentsB02 h2 span:nth-child(2) {
        font-size: 0.97vw;
        display: block; }
    #index .indexContentsB02 h2 + p {
      font-size: 0.97vw;
      display: inline-block;
      margin: 30px auto 0;
      text-align: left; }
    #index .indexContentsB02 ul {
      margin-top: 40px;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-wrap: wrap;
      text-align: left; }
      #index .indexContentsB02 ul li {
        list-style: none;
        width: 17.9%;
        margin-right: 2.6%;
        font-size: 0.83vw;
        opacity: 0;
        position: relative;
        bottom: -30px; }
        #index .indexContentsB02 ul li img {
          width: 100%; }
        #index .indexContentsB02 ul li + :nth-child(5n) {
          margin-right: 0; }
        #index .indexContentsB02 ul li + :nth-child(n+6) {
          margin-top: 40px; }
        #index .indexContentsB02 ul li .spBr {
          display: none; }
        #index .indexContentsB02 ul li .snapThumbs {
          overflow: hidden; }
          #index .indexContentsB02 ul li .snapThumbs img {
            transition: all 0.3s; }
        #index .indexContentsB02 ul li .snapThumbs + p {
          margin-top: 1.38vw; }
        #index .indexContentsB02 ul li a {
          text-decoration: none;
          color: #000; }
        #index .indexContentsB02 ul li a:hover .snapThumbs img {
          transform: scale(1.2); }
  #index .snapBtn {
    opacity: 0;
    position: relative;
    bottom: -30px;
    margin: 2.77vw auto 0;
    text-align: center; }
    #index .snapBtn a {
      width: 22vw;
      line-height: 5.2vw;
      margin: 0 auto;
      display: block;
      font-size: 1.11vw;
      font-family: 'Roboto', sans-serif;
      font-weight: 500;
      text-decoration: none;
      color: #000;
      transition: background 0.3s;
      text-align: center;
      position: relative; }
      #index .snapBtn a svg {
        top: 0;
        left: 0;
        position: absolute;
        width: 22vw;
        height: 5.2vw;
        min-height: 1%; }
      #index .snapBtn a path {
        fill: none;
        stroke: #000;
        stroke-width: 2px;
        /*stroke-dasharray: 678 680*/
        /*stroke-dashoffset: 679*/
        /*animation: snapBtn 666ms ease-in-out 0ms forwards*/
        /*min-height: 1%*/
        /*@keyframes snapBtn*/
        /*100%*/
        /*stroke-dashoffset: 0*/ }
    #index .snapBtn a:hover {
      background: #000;
      color: #FFF; }
  #index .indexContentsC01 {
    padding: 100px 20px 115px;
    background: #f7f7f7; }
  #index .indexContentsC02 {
    width: 100%;
    max-width: 1218px;
    margin: 0 auto;
    text-align: center; }
    #index .indexContentsC02 h2 {
      text-align: center; }
      #index .indexContentsC02 h2 span:nth-child(1) {
        font-size: 2.22vw;
        display: block;
        font-family: 'Roboto', sans-serif;
        font-weight: 500;
        line-height: 1; }
      #index .indexContentsC02 h2 span:nth-child(2) {
        font-size: 0.97vw;
        display: block; }
    #index .indexContentsC02 h2 + p {
      font-size: 0.97vw;
      display: inline-block;
      margin: 30px auto 0;
      text-align: left; }
  #index .indexContentsC03 {
    margin-top: 2.77vw;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row-reverse; }
    #index .indexContentsC03 div {
      align-self: flex-end; }
      #index .indexContentsC03 div img {
        width: 100%; }
      #index .indexContentsC03 div video {
        width: 100%; }
  #index .indexContentsC04 {
    width: 57.47%;
    opacity: 0;
    position: relative;
    bottom: -30px; }
    #index .indexContentsC04 img {
      width: auto; }
    #index .indexContentsC04 video {
      width: 100%; }
  #index .indexContentsC05 {
    width: 42.53%;
    padding-left: 5.74%;
    padding-right: 4.1%;
    opacity: 0;
    position: relative;
    bottom: -30px; }
    #index .indexContentsC05 h3 {
      text-align: right; }
      #index .indexContentsC05 h3 img {
        width: 25.2vw;
        min-height: 1%; }
    #index .indexContentsC05 .txRead {
      text-align: right;
      margin-top: 2.77vw;
      font-size: 1.25vw; }
    #index .indexContentsC05 .txRead + p {
      margin-top: 2.77vw;
      font-size: 0.97vw;
      text-align: left; }
  #index .indexContentsC03.indexContentsC03-fesWatchUl {
    margin-top: 54px; }
    #index .indexContentsC03.indexContentsC03-fesWatchUl div {
      align-self: center; }
    #index .indexContentsC03.indexContentsC03-fesWatchUl .indexContentsC05 {
      font-size: 0.875rem;
      text-align: left; }
      #index .indexContentsC03.indexContentsC03-fesWatchUl .indexContentsC05 h3 {
        font-size: 36px;
        text-align: left; }
      #index .indexContentsC03.indexContentsC03-fesWatchUl .indexContentsC05 p {
        margin-top: 26px; }
  #index .productBtn {
    margin-top: 2.77vw;
    opacity: 0;
    position: relative;
    bottom: -30px; }
    #index .productBtn a {
      margin: 0 auto;
      width: 22vw;
      line-height: 5.2vw;
      margin: 0 auto;
      display: block;
      font-size: 1.11vw;
      font-family: 'Roboto', sans-serif;
      font-weight: 500;
      text-decoration: none;
      color: #000;
      transition: background 0.3s;
      text-align: center;
      position: relative; }
      #index .productBtn a svg {
        top: 0;
        left: 0;
        position: absolute;
        width: 22vw;
        height: 5.2vw; }
      #index .productBtn a path {
        fill: none;
        stroke: #000;
        stroke-width: 2px;
        /*stroke-dasharray: 678 680*/
        /*stroke-dashoffset: 679*/
        /*animation: productBtn 666ms ease-in-out 0ms forwards*/
        /*@keyframes productBtn*/
        /*100%*/
        /*stroke-dashoffset: 0*/ }
    #index .productBtn a:hover {
      background: #000;
      color: #FFF; }

.modal-overlay {
  z-index: 9980;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 120%;
  background-color: rgba(201, 201, 201, 0.95); }

.modal-container {
  position: fixed;
  z-index: 9990;
  width: 100%;
  height: 100vh;
  overflow-y: hidden; }

.modal-content {
  width: 80%;
  margin: 0;
  padding: 0;
  background: #C9C9C9;
  position: fixed;
  display: none;
  opacity: 0; }

.modal-inner {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  overflow: hidden; }

.modal-close {
  width: 52px;
  height: 52px;
  position: absolute;
  top: 10%;
  right: 20px;
  cursor: pointer;
  opacity: 1;
  transition: opacity 0.3s; }
  .modal-close:hover {
    opacity: 0.3; }
  .modal-close .closeBtn {
    display: block;
    width: 52px;
    height: 2px;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    background: #000;
    position: relative;
    top: 24px; }
    .modal-close .closeBtn::after {
      content: '';
      width: 52px;
      height: 2px;
      -ms-transform: rotate(-90deg);
      -webkit-transform: rotate(-90deg);
      transform: rotate(-90deg);
      background: #000;
      position: absolute;
      top: 0;
      left: 0; }

.player-btn {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 20; }
  .player-btn img {
    width: 100%; }

#yt_player {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%; }

#promotion {
  background: #f7f7f7;
  padding: 100px 0 0;
  display: flex;
  flex-direction: column;
  align-items: center; }
  #promotion h2 {
    margin: 0 0 20px;
    text-align: center; }
    #promotion h2 img {
      width: auto;
      height: auto;
      max-width: 100%; }
    #promotion h2 span {
      display: block; }
  #promotion .only-sp {
    display: none; }
  #promotion .only-pc {
    display: block; }
  #promotion .cover {
    position: relative; }
  #promotion .hide {
    visibility: hidden; }
  #promotion a {
    background: url("../common/img/index/promotion_181207/thumb.jpg") center center no-repeat;
    background-size: cover; }
  #promotion a img {
    display: none; }
  #promotion iframe {
    display: block; }

@media screen and (min-width: 1218px) {
  #index .indexContentsA03 .interviewHeader h2 span:nth-child(1) {
    font-size: 2rem; }
  #index .indexContentsA03 .interviewHeader h2 span:nth-child(2) {
    font-size: 0.875rem; }
  #index .indexContentsA03 .interviewHeader h2 + p {
    font-size: 0.875rem; }
  #index .indexContentsA03 .interviewBody {
    margin-top: 30px; }
    #index .indexContentsA03 .interviewBody .interviewBodyInr .interviewTxDate {
      font-size: 0.750rem; }
    #index .indexContentsA03 .interviewBody .interviewBodyInr .interviewTxName {
      font-size: 1.250rem; }
    #index .indexContentsA03 .interviewBody .interviewBodyInr .interviewTxJob {
      font-size: 0.750rem; }
    #index .indexContentsA03 .interviewBody .interviewBodyInr .interviewTxComment {
      font-size: 0.875rem; }
  #index .indexContentsA03 .interviewBtn a {
    font-size: 0.875rem;
    width: 220px;
    line-height: 52px; }
    #index .indexContentsA03 .interviewBtn a svg {
      width: 220px;
      height: 52px; }
  #index .indexContentsA04 .styleHeader {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex; }
    #index .indexContentsA04 .styleHeader h2 span:nth-child(1) {
      font-size: 2rem; }
    #index .indexContentsA04 .styleHeader h2 span:nth-child(2) {
      font-size: 0.875rem; }
    #index .indexContentsA04 .styleHeader h2 + p {
      font-size: 0.875rem; }
  #index .indexContentsA04 .styleBody {
    margin-top: 30px; }
    #index .indexContentsA04 .styleBody ul {
      width: 534px; }
      #index .indexContentsA04 .styleBody ul li {
        width: 160px; }
      #index .indexContentsA04 .styleBody ul li:nth-child(1) {
        width: 160px;
        padding-right: 27px; }
      #index .indexContentsA04 .styleBody ul li:nth-child(2) {
        width: 160px;
        padding-right: 27px; }
    #index .indexContentsA04 .styleBody .styleBodyInr h3 {
      font-size: 1.25vw; }
    #index .indexContentsA04 .styleBody .styleBodyInr h3 + p {
      font-size: 0.750rem; }
  #index .indexContentsB02 h2 span:nth-child(1) {
    font-size: 2rem; }
  #index .indexContentsB02 h2 span:nth-child(2) {
    font-size: 0.875rem; }
  #index .indexContentsB02 h2 + p {
    font-size: 0.875rem; }
  #index .indexContentsB02 ul li {
    font-size: 0.75rem; }
  #index .snapBtn {
    margin: 40px auto 0; }
    #index .snapBtn a {
      font-size: 1rem;
      width: 275px;
      line-height: 64px; }
      #index .snapBtn a svg {
        width: 275px;
        height: 64px; }
  #index .indexContentsC02 h2 span:nth-child(1) {
    font-size: 2rem; }
  #index .indexContentsC02 h2 span:nth-child(2) {
    font-size: 0.875rem; }
  #index .indexContentsC02 h2 + p {
    font-size: 0.875rem; }
  #index .indexContentsC03 {
    margin-top: 40px; }
  #index .indexContentsC05 h3 img {
    width: 307px; }
  #index .indexContentsC05 .txRead {
    margin-top: 30px;
    font-size: 1.125rem; }
  #index .indexContentsC05 .txRead + p {
    margin-top: 30px;
    font-size: 0.875rem; }
  #index .productBtn {
    margin: 40px 0 0 auto; }
    #index .productBtn a {
      font-size: 1rem;
      width: 275px;
      line-height: 64px; }
      #index .productBtn a svg {
        width: 275px;
        height: 64px; } }

@media screen and (max-width: 640px) {
  #index .swiper-container {
    padding-bottom: 3vw; }
  #index .swiper-slide {
    width: 100%; }
  #index .swiper-pagination-bullet {
    width: 8vw;
    height: 3px;
    margin: 0 3px; }
    #index .swiper-pagination-bullet::after {
      height: 5px; }
  #index .swiper-button {
    display: none; }
  #index .indexHeader {
    padding-top: 55px; }
  #index .indexContentsA01 {
    padding: 13.33333vw 10.66vw 18.66vw; }
  #index .indexContentsA02 {
    width: 100%;
    flex-direction: column-reverse; }
  #index .indexContentsA03 {
    display: block;
    width: auto;
    border-right: none;
    opacity: 0;
    position: relative;
    bottom: -30px;
    margin-top: 16vw;
    padding: 13.33vw 0 0;
    border-top: 1px solid #707070; }
    #index .indexContentsA03 .interviewHeader {
      display: block;
      text-align: center; }
      #index .indexContentsA03 .interviewHeader h2 span:nth-child(1) {
        font-size: 6.66vw;
        display: block;
        font-family: 'Roboto', sans-serif;
        font-weight: 500;
        line-height: 1; }
      #index .indexContentsA03 .interviewHeader h2 span:nth-child(2) {
        font-size: 3.46vw;
        display: block;
        font-weight: bold; }
      #index .indexContentsA03 .interviewHeader h2 + p {
        font-size: 3.46vw;
        padding-left: 0;
        line-height: 1.75;
        margin-top: 5.33vw; }
    #index .indexContentsA03 .interviewBody {
      margin-top: 8vw;
      display: block; }
      #index .indexContentsA03 .interviewBody .interviewImg {
        width: auto;
        display: block; }
        #index .indexContentsA03 .interviewBody .interviewImg img {
          width: 100%; }
      #index .indexContentsA03 .interviewBody .interviewBodyInr {
        width: auto;
        display: block;
        padding: 0; }
        #index .indexContentsA03 .interviewBody .interviewBodyInr .interviewTxDate {
          margin-top: 5.33vw;
          font-size: 3.2vw; }
        #index .indexContentsA03 .interviewBody .interviewBodyInr .interviewTxName {
          margin-top: 5.33vw;
          font-size: 5.33vw;
          font-weight: bold;
          display: inline-block; }
        #index .indexContentsA03 .interviewBody .interviewBodyInr .interviewTxJob {
          font-size: 3.2vw;
          display: inline-block; }
        #index .indexContentsA03 .interviewBody .interviewBodyInr .interviewTxComment {
          margin-top: 5.33vw;
          font-size: 3.46vw; }
    #index .indexContentsA03 .interviewBtn a {
      margin: 5.33vw auto 0;
      width: 100%;
      line-height: 18.5vw;
      display: block;
      font-size: 3.73vw;
      font-family: 'Roboto', sans-serif;
      font-weight: 500;
      text-decoration: none;
      color: #000;
      transition: background 0.3s;
      text-align: center;
      position: relative; }
      #index .indexContentsA03 .interviewBtn a svg {
        top: 0;
        left: 0;
        position: absolute;
        width: 100%;
        height: auto; }
      #index .indexContentsA03 .interviewBtn a path {
        fill: none;
        stroke: #000;
        stroke-width: 1px; }
  #index .indexContentsA04 {
    border: none;
    display: block;
    width: auto;
    padding: 0; }
    #index .indexContentsA04 .styleHeader {
      display: block;
      text-align: center; }
      #index .indexContentsA04 .styleHeader h2 span:nth-child(1) {
        font-size: 6.66vw;
        display: block;
        font-family: 'Roboto', sans-serif;
        font-weight: 500;
        line-height: 1; }
      #index .indexContentsA04 .styleHeader h2 span:nth-child(2) {
        font-size: 3.46vw;
        display: block;
        font-weight: bold; }
      #index .indexContentsA04 .styleHeader h2 + p {
        font-size: 3.46vw;
        padding-left: 0;
        line-height: 1.75;
        margin-top: 5.33vw; }
    #index .indexContentsA04 .styleBody {
      margin-top: 8vw; }
      #index .indexContentsA04 .styleBody ul {
        display: block; }
        #index .indexContentsA04 .styleBody ul li {
          width: 100%;
          display: table;
          text-align: left;
          margin-top: 5.33vw; }
          #index .indexContentsA04 .styleBody ul li .styleImg {
            float: left;
            width: 27.73vw; }
        #index .indexContentsA04 .styleBody ul li:nth-child(1) {
          width: 100%;
          padding-right: 0; }
        #index .indexContentsA04 .styleBody ul li:nth-child(2) {
          width: 100%;
          padding-right: 0; }
      #index .indexContentsA04 .styleBody .styleBodyInr {
        float: right;
        width: 45.33vw; }
        #index .indexContentsA04 .styleBody .styleBodyInr h3 {
          font-size: 4.8vw;
          display: inline-block;
          margin-top: 0; }
          #index .indexContentsA04 .styleBody .styleBodyInr h3:after {
            content: "";
            display: block;
            border-bottom: 2px solid #000;
            width: 0;
            transition: all 0.3s; }
        #index .indexContentsA04 .styleBody .styleBodyInr h3.lineOn:after {
          width: 100%; }
        #index .indexContentsA04 .styleBody .styleBodyInr h3 + p {
          margin-top: 3.2vw;
          font-size: 3.46vw;
          line-height: 1.8; }
  #index .indexContentsB01 {
    padding: 18.66vw 10.66vw 18.66vw; }
  #index .indexContentsB02 {
    width: 100%;
    margin: 0 auto; }
    #index .indexContentsB02 h2 {
      text-align: center; }
      #index .indexContentsB02 h2 span:nth-child(1) {
        font-size: 6.66vw;
        display: block;
        font-family: 'Roboto', sans-serif;
        font-weight: 500; }
      #index .indexContentsB02 h2 span:nth-child(2) {
        font-size: 3.46vw;
        display: block; }
    #index .indexContentsB02 h2 + p {
      font-size: 3.46vw;
      width: auto;
      margin: 5.33vw auto 0;
      text-align: center; }
    #index .indexContentsB02 ul {
      margin-top: 10.66vw;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-wrap: wrap; }
      #index .indexContentsB02 ul li {
        list-style: none;
        width: 50%;
        margin-right: 0;
        font-size: 0.83vw;
        padding-right: 1.33vw;
        box-sizing: border-box; }
        #index .indexContentsB02 ul li img {
          width: 100%; }
        #index .indexContentsB02 ul li + :nth-child(n+5) {
          margin-right: 0;
          display: none; }
        #index .indexContentsB02 ul li + :nth-child(even) {
          padding-right: 0;
          padding-left: 1.33vw; }
        #index .indexContentsB02 ul li + :nth-child(n+3) {
          margin-top: 5.33vw; }
        #index .indexContentsB02 ul li .spBr {
          display: none; }
        #index .indexContentsB02 ul li .snapThumbs {
          overflow: hidden; }
          #index .indexContentsB02 ul li .snapThumbs img {
            transition: all 0.3s; }
        #index .indexContentsB02 ul li .snapThumbs + p {
          margin-top: 2.66667vw; }
        #index .indexContentsB02 ul li p {
          font-size: 2.66667vw; }
  #index .snapBtn {
    margin: 2.77vw auto 0;
    text-align: center; }
    #index .snapBtn a {
      width: 100%;
      line-height: 18.5vw;
      display: block;
      font-size: 3.73vw;
      font-family: 'Roboto', sans-serif;
      font-weight: 500;
      text-decoration: none;
      color: #000;
      transition: background 0.3s;
      text-align: center;
      position: relative; }
      #index .snapBtn a svg {
        top: 0;
        left: 0;
        position: absolute;
        width: 100%;
        height: auto; }
      #index .snapBtn a path {
        fill: none;
        stroke: #000;
        stroke-width: 1px; }
  #index .indexContentsC01 {
    padding: 18.66vw 10.66vw 18.66vw;
    background: #f7f7f7; }
  #index .indexContentsC02 {
    width: 100%;
    max-width: 1218px;
    margin: 0 auto;
    display: table; }
    #index .indexContentsC02 h2 {
      text-align: center; }
      #index .indexContentsC02 h2 span:nth-child(1) {
        font-size: 6.66vw;
        display: block;
        font-family: 'Roboto', sans-serif;
        font-weight: 500; }
      #index .indexContentsC02 h2 span:nth-child(2) {
        font-size: 3.46vw;
        display: block; }
    #index .indexContentsC02 h2 + p {
      font-size: 3.46vw;
      width: auto;
      margin: 5.33vw auto 0; }
  #index .indexContentsC03 {
    margin-top: 10.66vw;
    display: block; }
  #index .indexContentsC04 {
    width: auto;
    opacity: 0;
    position: relative;
    bottom: -30px; }
  #index .indexContentsC05 {
    width: auto;
    padding-left: 0;
    padding-right: 0;
    opacity: 0;
    position: relative;
    bottom: -30px; }
    #index .indexContentsC05 h3 {
      margin-top: 10.66vw;
      text-align: left; }
      #index .indexContentsC05 h3 img {
        width: 66.66vw; }
    #index .indexContentsC05 .txRead {
      text-align: left;
      margin-top: 4vw;
      font-size: 4.8vw; }
    #index .indexContentsC05 .txRead + p {
      margin-top: 4vw;
      font-size: 3.46vw; }
  #index .indexContentsC03.indexContentsC03-fesWatchUl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column-reverse;
    margin-top: 10.66vw; }
    #index .indexContentsC03.indexContentsC03-fesWatchUl .indexContentsC05 {
      margin-top: 7vw;
      padding: 0;
      width: 100%; }
      #index .indexContentsC03.indexContentsC03-fesWatchUl .indexContentsC05 h3 {
        font-size: 24px;
        margin-top: 0;
        text-align: left; }
      #index .indexContentsC03.indexContentsC03-fesWatchUl .indexContentsC05 p {
        margin-top: 4vw; }
  #index .productBtn {
    margin-top: 4vw; }
    #index .productBtn a {
      width: 100%;
      line-height: 18.5vw;
      display: block;
      font-size: 3.73vw;
      font-family: 'Roboto', sans-serif;
      font-weight: 500;
      text-decoration: none;
      color: #000;
      transition: background 0.3s;
      text-align: center;
      position: relative; }
      #index .productBtn a svg {
        top: 0;
        left: 0;
        position: absolute;
        width: 100%;
        height: auto; }
      #index .productBtn a path {
        fill: none;
        stroke: #000;
        stroke-width: 1px; }
    #index .productBtn a:hover {
      background: #000;
      color: #FFF; }
  #index #promotion {
    padding: 13.33333vw 0 0; }
    #index #promotion .only-pc {
      display: none; }
    #index #promotion .only-sp {
      display: block; }
    #index #promotion h2 {
      font-size: 4.375vw;
      margin: 0 0 10px;
      padding: 0 10.66vw; }
      #index #promotion h2 span {
        margin: .5em 0 0;
        text-indent: 1em; }
    #index #promotion iframe {
      min-height: 100%;
      height: auto;
      width: 100%; }
    #index #promotion .cover {
      margin: 0 2.77vw; }
    #index #promotion .hide img {
      height: auto;
      width: 100%; } }
