@media only screen and (min-width: 751px), print {
  #mainImageWrap {
    position: relative;
    height: 535px;
    background: #4d4d4d;
    overflow: hidden; }
    #mainImageWrap .kv video {
      position: absolute;
      width: 100%;
      top: 50%;
      left: 0;
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%); }
    #mainImageWrap .mainImageCopy {
      position: absolute;
      width: 100%;
      bottom: 50%;
      z-index: 2;
      text-align: center;
      -moz-transform: translateY(50%);
      -ms-transform: translateY(50%);
      -webkit-transform: translateY(50%);
      transform: translateY(50%); } }
@media only screen and (min-width: 1px) and (max-width: 750px) {
  #mainImageWrap {
    position: relative;
    height: 750px;
    background: url(../../img/bg_mainimage_sp.png) no-repeat;
    background-size: cover; }
    #mainImageWrap .mainImageCopy {
      position: absolute;
      top: 75px;
      left: 0; } }

#mainContent {
  position: relative;
  padding-top: 45px; }
  @media only screen and (min-width: 1px) and (max-width: 750px) {
    #mainContent {
      padding-to: 84px; } }
  #mainContent:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 45px;
    top: 0;
    left: 0;
    background: #000; }
    @media only screen and (min-width: 1px) and (max-width: 750px) {
      #mainContent:before {
        height: 84px; } }
  @media only screen and (min-width: 751px), print {
    #mainContent .topCopy {
      color: #f6c93f;
      font-weight: bold;
      text-align: center;
      line-height: 45px;
      background: #000; }
    #mainContent .contentTitle {
      position: relative;
      text-align: center;
      font-size: 28px; }
      #mainContent .contentTitle:before, #mainContent .contentTitle:after {
        content: "";
        position: absolute;
        height: 1px;
        background: #000;
        top: 50%; }
      #mainContent .contentTitle:before {
        left: 0; }
      #mainContent .contentTitle:after {
        right: 0; }
      #mainContent .contentTitle.white {
        color: #fff; }
        #mainContent .contentTitle.white:before, #mainContent .contentTitle.white:after {
          background: #fff; } }
  @media only screen and (min-width: 1px) and (max-width: 750px) {
    #mainContent .topCopy {
      padding: 23px 0;
      color: #f6c93f;
      font-size: 24px;
      font-weight: bold;
      text-align: center;
      line-height: 38px;
      background: #000; } }

@media only screen and (min-width: 751px), print {
  #news {
    width: 940px;
    margin: 50px auto 0; }
    #news .contentTitle:before, #news .contentTitle:after {
      width: 367px; }
    #news .newsList {
      margin-top: 20px;
      border-top: 1px solid #000;
      border-bottom: 1px solid #000; }
      #news .newsList li {
        display: table;
        width: 100%; }
        #news .newsList li.new .date {
          position: relative; }
          #news .newsList li.new .date:before {
            content: "NEW";
            position: absolute;
            color: #f00;
            font-size: 14px;
            font-weight: bold;
            right: 20px; }
        #news .newsList li .date, #news .newsList li .title {
          display: table-cell;
          padding: 11px 0 10px; }
        #news .newsList li .date {
          width: 208px; }
        #news .newsList li:nth-child(n+2) {
          border-top: 1px dotted #000; }
    #news .linkBlock {
      margin-top: 15px;
      text-align: right; }
      #news .linkBlock a {
        padding-left: 22px;
        font-size: 14px;
        background: url(../img/arw_box_blue.png) no-repeat left center; } }
@media only screen and (min-width: 1px) and (max-width: 750px) {
  #news {
    padding: 50px 55px 0; }
    #news .contentTitle {
      font-size: 40px; }
    #news .newsList {
      margin-top: 40px;
      border-top: 2px solid #000;
      border-bottom: 2px solid #000; }
      #news .newsList li {
        padding: 22px 0;
        padding-left: 16px; }
        #news .newsList li:nth-child(n+2) {
          border-top: 2px dotted #000; }
        #news .newsList li.new .date {
          position: relative; }
          #news .newsList li.new .date:after {
            content: "NEW";
            margin-left: 0.5em;
            color: #f00;
            font-weight: bold; }
    #news .linkBlock {
      margin-top: 15px;
      text-align: right; }
      #news .linkBlock a {
        padding-left: 30px;
        background: url(../img/arw_box_blue_sp.png) no-repeat left center; } }

@media only screen and (min-width: 751px), print {
  .content01 .contentInner {
    padding-bottom: 60px; }
  .content01 .contentList {
    display: flex;
    margin-top: 70px;
    flex-wrap: wrap;
    justify-content: space-between; }
    .content01 .contentList li {
      position: relative;
      width: 580px; }
      .content01 .contentList li:nth-child(n+3) {
        margin-top: 38px; }
      .content01 .contentList li .coverLink {
        position: relative;
        display: block;
        color: #1a1a1a; }
        .content01 .contentList li .coverLink:before {
          content: "";
          position: absolute;
          width: 100%;
          height: 100%;
          top: 0;
          left: 0;
          z-index: 2;
          -webkit-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -ms-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -o-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -ms-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
        .content01 .contentList li .coverLink:hover {
          text-decoration: none; }
          .content01 .contentList li .coverLink:hover:before {
            -moz-box-shadow: 0 0 0 5px #0078dc inset;
            -webkit-box-shadow: 0 0 0 5px #0078dc inset;
            box-shadow: 0 0 0 5px #0078dc inset; }
          .content01 .contentList li .coverLink:hover .imgWrap img {
            -moz-transform: scale(1.1, 1.1);
            -ms-transform: scale(1.1, 1.1);
            -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1); }
      .content01 .contentList li .imgWrap {
        width: 100%;
        height: 260px;
        overflow: hidden; }
        .content01 .contentList li .imgWrap img {
          -webkit-transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -ms-transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -o-transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -ms-transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
      .content01 .contentList li .detailWrap {
        position: relative;
        height: 190px;
        padding-top: 20px;
        border: 1px solid #ccc;
        border-top: none;
        text-align: center; }
        .content01 .contentList li .detailWrap .arw {
          position: absolute;
          width: 40px;
          height: 40px;
          right: 0;
          bottom: 0;
          background: url(../../img/arw_content01.png) no-repeat right top; }
        .content01 .contentList li .detailWrap h2 {
          font-size: 28px;
          font-weight: bold; }
          .content01 .contentList li .detailWrap h2 .en {
            display: block;
            color: #998675;
            font-size: 12px;
            font-weight: normal; }
        .content01 .contentList li .detailWrap p {
          margin-top: 15px; }
  .content01 .bannerList {
    display: flex;
    margin-top: 57px;
    justify-content: center; }
    .content01 .bannerList li:nth-child(n+2) {
      margin-left: 40px; }
    .content01 .bannerList a {
      position: relative; }
      .content01 .bannerList a:before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        opacity: 0;
        -webkit-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -ms-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -o-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -ms-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
      .content01 .bannerList a:hover:before {
        opacity: 1; }
      .content01 .bannerList a.banner01:before {
        background: url(../../img/bnr_content01_01_on.png) no-repeat; }
      .content01 .bannerList a.banner02:before {
        background: url(../../img/bnr_content01_02_on.png) no-repeat; } }
@media only screen and (min-width: 1px) and (max-width: 750px) {
  .content01 .contentInner {
    padding-bottom: 128px; }
  .content01 .contentList {
    margin-top: 90px; }
    .content01 .contentList li:nth-child(n+2) {
      margin-top: 40px; }
    .content01 .contentList li .coverLink {
      display: block;
      color: #1a1a1a; }
    .content01 .contentList li .detailWrap {
      position: relative;
      min-height: 250px;
      padding: 25px 0 40px;
      border: 2px solid #ccc;
      border-top: none;
      text-align: center; }
      .content01 .contentList li .detailWrap .arw {
        position: absolute;
        width: 44px;
        height: 44px;
        right: 0;
        bottom: 0;
        background: url(../../img/arw_content01_sp.png) no-repeat; }
      .content01 .contentList li .detailWrap h2 {
        font-size: 36px;
        font-weight: bold;
        line-height: 38px; }
        .content01 .contentList li .detailWrap h2 .en {
          display: block;
          color: #998675;
          font-size: 16px;
          font-weight: normal;
          line-height: 18px; }
      .content01 .contentList li .detailWrap p {
        margin-top: 15px;
        font-size: 24px;
        line-height: 34px; }
  .content01 .bannerList {
    margin-top: 108px; }
    .content01 .bannerList li:nth-child(n+2) {
      margin-top: 60px; } }

@media only screen and (min-width: 751px), print {
  .content02 {
    background: url(../../img/bg_content02.jpg) no-repeat;
    background-size: cover; }
    .content02 .contentInner {
      padding: 70px 0; }
    .content02 .bannerList {
      display: flex;
      flex-wrap: wrap;
      justify-content: center; }
      .content02 .bannerList li {
        margin-left: 25px;
        margin-bottom: 25px; }
        .content02 .bannerList li:nth-child(2n+1) {
          margin-left: 0; } }
@media only screen and (min-width: 1px) and (max-width: 750px) {
  .content02 {
    background: url(../../img/bg_content02_sp.jpg) no-repeat;
    background-size: cover; }
    .content02 .contentInner {
      padding: 95px 0 105px; }
    .content02 .bannerList {
      text-align: center; }
      .content02 .bannerList li:nth-child(n+2) {
        margin-top: 40px; } }

@media only screen and (min-width: 751px), print {
  .content03 .contentInner {
    padding: 60px 0 65px; }
  .content03 .contentTitle:before, .content03 .contentTitle:after {
    width: 435px; }
  .content03 .sliderWrap .control .btn {
    top: 123px;
    -webkit-transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -ms-transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -o-transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -ms-transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
    .content03 .sliderWrap .control .btn:hover {
      opacity: 0.6; }
    .content03 .sliderWrap .control .btn.prev {
      background: url(../../img/btn_pamphlet_prev.png) no-repeat; }
      .content03 .sliderWrap .control .btn.prev:before {
        background: url(../../img/btn_pamphlet_prev_on.png) no-repeat right top; }
    .content03 .sliderWrap .control .btn.next {
      background: url(../../img/btn_pamphlet_next.png) no-repeat; }
      .content03 .sliderWrap .control .btn.next:before {
        background: url(../../img/btn_pamphlet_next_on.png) no-repeat; }
  .content03 .sliderWrap .slider {
    text-align: center; }
    .content03 .sliderWrap .slider a {
      color: #1a1a1a; }
      .content03 .sliderWrap .slider a:hover .imgWrap:before {
        -moz-box-shadow: 0 0 0 5px #0078dc inset;
        -webkit-box-shadow: 0 0 0 5px #0078dc inset;
        box-shadow: 0 0 0 5px #0078dc inset; }
      .content03 .sliderWrap .slider a:hover .imgWrap img {
        opacity: 0.7; }
    .content03 .sliderWrap .slider .imgWrap {
      display: inline-block;
      position: relative; }
      .content03 .sliderWrap .slider .imgWrap:before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        z-index: 2;
        -webkit-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -ms-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -o-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -ms-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
      .content03 .sliderWrap .slider .imgWrap img {
        -webkit-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -ms-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -o-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        -ms-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
        transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
    .content03 .sliderWrap .slider .detailWrap {
      margin-top: 10px;
      word-break: break-word;
      white-space: normal; }
  .content03 .btnWrap {
    margin-top: 30px; } }
@media only screen and (min-width: 1px) and (max-width: 750px) {
  .content03 .contentInner {
    padding: 105px 0 110px;
    text-align: center; }
  .content03 .contentTitle {
    font-size: 48px; }
  .content03 .sliderWrap .control .btn {
    top: 188px; }
    .content03 .sliderWrap .control .btn.prev {
      background: url(../../img/btn_pamphlet_prev_sp.png) no-repeat; }
    .content03 .sliderWrap .control .btn.next {
      background: url(../../img/btn_pamphlet_next_sp.png) no-repeat; }
  .content03 .sliderWrap .slider a {
    color: #1a1a1a; }
  .content03 .sliderWrap .slider .imgWrap img {
    width: 360px; }
  .content03 .sliderWrap .slider .detailWrap {
    margin-top: 40px;
    padding: 0 20px;
    word-break: break-word;
    white-space: normal; }
  .content03 .btnWrap {
    margin-top: 75px; } }

@media only screen and (min-width: 751px), print {
  .content04 {
    background: url(../../img/bg_content04.jpg) no-repeat;
    background-size: cover; }
    .content04 .contentInner {
      padding: 60px 0 65px; }
    .content04 .contentTitle:before, .content04 .contentTitle:after {
      width: 485px; }
    .content04 .sliderWrap .control .btn {
      top: 60px; }
      .content04 .sliderWrap .control .btn.prev {
        background: url(../../img/btn_movie_prev.png) no-repeat; }
        .content04 .sliderWrap .control .btn.prev:before {
          background: url(../../img/btn_movie_prev_on.png) no-repeat right top; }
      .content04 .sliderWrap .control .btn.next {
        background: url(../../img/btn_movie_next.png) no-repeat; }
        .content04 .sliderWrap .control .btn.next:before {
          background: url(../../img/btn_movie_next_on.png) no-repeat; }
    .content04 .sliderWrap .slider {
      text-align: center; }
      .content04 .sliderWrap .slider .movieModalTrigger {
        cursor: pointer; }
        .content04 .sliderWrap .slider .movieModalTrigger:hover {
          text-decoration: none; }
          .content04 .sliderWrap .slider .movieModalTrigger:hover .imgWrap:after {
            -moz-box-shadow: 0 0 0 5px #0078dc inset;
            -webkit-box-shadow: 0 0 0 5px #0078dc inset;
            box-shadow: 0 0 0 5px #0078dc inset; }
          .content04 .sliderWrap .slider .movieModalTrigger:hover .imgWrap img {
            opacity: 0.7; }
      .content04 .sliderWrap .slider .imgWrap {
        position: relative;
        width: 282px;
        height: 190px;
        margin: auto;
        overflow: hidden;
        background: #1a1a1a; }
        .content04 .sliderWrap .slider .imgWrap img {
          position: absolute;
          width: 100%;
          top: 50%;
          left: 50%;
          -moz-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
          -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
        .content04 .sliderWrap .slider .imgWrap:before {
          content: "";
          position: absolute;
          width: 41px;
          height: 41px;
          top: 50%;
          left: 50%;
          background: url(../../img/icon_play_white.png) no-repeat;
          z-index: 2;
          -moz-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
          -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
        .content04 .sliderWrap .slider .imgWrap:after {
          content: "";
          position: absolute;
          width: 100%;
          height: 100%;
          top: 0;
          left: 0;
          z-index: 2;
          -moz-box-shadow: 0 0 0 1px #fff inset;
          -webkit-box-shadow: 0 0 0 1px #fff inset;
          box-shadow: 0 0 0 1px #fff inset;
          -webkit-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -ms-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -o-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -ms-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
      .content04 .sliderWrap .slider .detailWrap {
        margin-top: 10px;
        color: #fff;
        word-break: break-word;
        white-space: normal; }
    .content04 .btnWrap {
      margin-top: 30px; } }
@media only screen and (min-width: 1px) and (max-width: 750px) {
  .content04 {
    background: url(../../img/bg_content04_sp.jpg) no-repeat;
    background-size: cover; }
    .content04 .contentInner {
      padding: 105px 0 110px;
      text-align: center; }
    .content04 .contentTitle {
      color: #fff;
      font-size: 56px; }
    .content04 .sliderWrap .control .btn {
      top: 130px; }
      .content04 .sliderWrap .control .btn.prev {
        background: url(../../img/btn_movie_prev_sp.png) no-repeat; }
      .content04 .sliderWrap .control .btn.next {
        background: url(../../img/btn_movie_next_sp.png) no-repeat; }
    .content04 .sliderWrap .slider .imgWrap {
      position: relative;
      width: 566px;
      height: 380px;
      margin: auto;
      border: 2px solid #fff;
      background: #1a1a1a; }
      .content04 .sliderWrap .slider .imgWrap:before {
        content: "";
        position: absolute;
        width: 82px;
        height: 80px;
        top: 50%;
        left: 50%;
        background: url(../../img/icon_play_white_sp.png) no-repeat;
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }
    .content04 .sliderWrap .slider .detailWrap {
      margin-top: 40px;
      padding: 0 20px;
      color: #fff;
      word-break: break-word;
      white-space: normal; }
    .content04 .btnWrap {
      margin-top: 75px; } }

@media only screen and (min-width: 751px), print {
  .sliderWrap {
    width: 1095px;
    margin: 45px auto 0; }
    .sliderWrap .control {
      position: relative; }
      .sliderWrap .control .btn {
        position: absolute;
        width: 60px;
        height: 60px; }
        .sliderWrap .control .btn:before {
          content: "";
          position: absolute;
          width: 0;
          height: 100%;
          top: 0;
          height: 100%;
          -webkit-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -ms-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -o-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          -ms-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
          transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
        .sliderWrap .control .btn.prev {
          left: 0; }
          .sliderWrap .control .btn.prev:before {
            right: 0; }
        .sliderWrap .control .btn.next {
          right: 0; }
          .sliderWrap .control .btn.next:before {
            left: 0; }
        .sliderWrap .control .btn.disabled {
          opacity: 0.5; }
        .sliderWrap .control .btn:not(.disabled) {
          cursor: pointer; }
          .sliderWrap .control .btn:not(.disabled):hover:before {
            width: 100%; }
    .sliderWrap .slider {
      width: 900px;
      margin: auto;
      font-size: 0;
      white-space: nowrap;
      overflow: hidden; }
      .sliderWrap .slider li {
        display: inline-block;
        width: 300px;
        color: #1a1a1a;
        font-size: 16px;
        text-align: center; }
        .sliderWrap .slider li img {
          width: 223px; } }
@media only screen and (min-width: 1px) and (max-width: 750px) {
  .sliderWrap {
    margin-top: 105px; }
    .sliderWrap .control {
      position: relative;
      z-index: 2; }
      .sliderWrap .control .btn {
        position: absolute;
        width: 120px;
        height: 120px; }
        .sliderWrap .control .btn.prev {
          left: 0; }
        .sliderWrap .control .btn.next {
          right: 0; }
        .sliderWrap .control .btn.disabled {
          opacity: 0.5; }
    .sliderWrap .slider {
      width: 100%;
      margin: auto;
      font-size: 0;
      white-space: nowrap;
      overflow: hidden; }
      .sliderWrap .slider li {
        display: inline-block;
        width: 100%;
        color: #1a1a1a;
        font-size: 32px;
        text-align: center; } }
