@import url(https://fonts.googleapis.com/earlyaccess/sawarabimincho.css);
body {
  margin: 0;
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI","Noto Sans Japanese","Hiragino Sans", Meiryo, sans-serif;
  color: #fff;
  background: url(http://www.webcreatorbox.com/sample/images/yokojima.png);
  background-color: #18223e; }

.movie {
  position: relative;
  overflow: hidden; }
  @media only screen and (max-width: 767px) {
    .movie {
      height: 500px; } }
  @media only screen and (min-width: 768px) {
    .movie {
      height: calc(100vh - 40px); } }
  .movie .sns {
    display: flex;
    flex-direction: column;
    position: absolute;
    margin: auto;
    z-index: 99; }
    @media only screen and (max-width: 767px) {
      .movie .sns {
        top: 15px;
        right: 10px; } }
    @media only screen and (min-width: 768px) {
      .movie .sns {
        top: 50%;
        right: -15px;
        transform: translateY(-50%); } }
    @media only screen and (max-width: 767px) {
      .movie .sns__text {
        display: none; } }
    @media only screen and (min-width: 768px) {
      .movie .sns__text {
        margin: 0 0 45px 0;
        padding: 0;
        transform: rotate(90deg);
        letter-spacing: 0.3em;
        position: relative;
        right: 15px; }
        .movie .sns__text::after {
          content: "";
          display: inline-block;
          width: 2px;
          height: 25px;
          background: #fff;
          transform: rotate(90deg);
          margin-left: 18px;
          position: relative;
          bottom: -6px; } }
    .movie .sns__item {
      margin-bottom: 15px; }
  .movie h1 {
    position: absolute;
    z-index: 3;
    text-align: center;
    margin: auto; }
    @media only screen and (max-width: 767px) {
      .movie h1 {
        top: 50%;
        left: 0;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        padding: 0 15px; } }
    @media only screen and (min-width: 768px) {
      .movie h1 {
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); } }
    .movie h1 img {
      width: 100%;
      height: auto;
      filter: drop-shadow(4px 4px 1px rgba(0, 0, 0, 0.5)); }
  .movie__ttl {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 99; }
    .movie__ttl img {
      width: 100%; }
  .movie .scroll {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 99; }
    @media only screen and (max-width: 767px) {
      .movie .scroll {
        bottom: 28px; } }
    @media only screen and (min-width: 768px) {
      .movie .scroll {
        bottom: 48px; } }
    .movie .scroll a {
      color: #fff;
      text-decoration: none;
      position: relative; }
      .movie .scroll a span {
        position: absolute;
        top: -50px;
        left: 50%;
        width: 24px;
        height: 24px;
        margin-left: -12px;
        border-left: 1px solid #fff;
        border-bottom: 1px solid #fff;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        -webkit-animation: sdb 2s infinite;
        animation: sdb 2s infinite;
        box-sizing: border-box; }
@-webkit-keyframes sdb {
  0% {
    -webkit-transform: rotate(-45deg) translate(0, 0); }
  20% {
    -webkit-transform: rotate(-45deg) translate(-10px, 10px); }
  40% {
    -webkit-transform: rotate(-45deg) translate(0, 0); } }
@keyframes sdb {
  0% {
    transform: rotate(-45deg) translate(0, 0); }
  20% {
    transform: rotate(-45deg) translate(-10px, 10px); }
  40% {
    transform: rotate(-45deg) translate(0, 0); } }
  .movie__layer {
    width: 100%;
    height: 100%;
    background: url(http://www.webcreatorbox.com/sample/images/yokojima.png);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2; }
  .movie video {
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }

.intro {
  background-image: url("../img/intro-bg.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center; }
  @media only screen and (max-width: 767px) {
    .intro {
      height: 500px; } }
  @media only screen and (min-width: 768px) {
    .intro {
      height: 800px; } }
  @media only screen and (max-width: 767px) {
    .intro__content {
      margin: 0 10px; } }
  @media only screen and (min-width: 768px) {
    .intro__content {
      max-width: 1000px;
      margin: 0 auto; } }
  .intro p {
    color: #fff;
    margin: 0;
    padding: 0;
    text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.4);
    font-weight: 600; }
    @media only screen and (max-width: 767px) {
      .intro p {
        font-size: 1.05rem;
        line-height: 2.3rem; } }
    @media only screen and (min-width: 768px) {
      .intro p {
        font-size: 1.5rem;
        line-height: 3.5rem;
        align-self: center; } }

.prod {
  background-image: url("../img/prod.png");
  background-repeat: no-repeat;
  position: relative;
  z-index: 15; }
  @media only screen and (max-width: 767px) {
    .prod {
      margin: 40px 0 0;
      padding: 50px 0;
      background-size: contain;
      height: 300px;
      background-position: top center; } }
  @media only screen and (min-width: 768px) {
    .prod {
      margin: 70px auto;
      max-width: 1050px;
      background-position: top left;
      height: 900px; } }
  .prod__content {
    margin: 0 auto; }
    @media only screen and (max-width: 767px) {
      .prod__content {
        padding: 0 10px; } }
    @media only screen and (min-width: 768px) {
      .prod__content {
        max-width: 1000px;
        width: calc(100% - 40px); } }
  @media only screen and (max-width: 767px) {
    .prod__info {
      margin: 380px 0 0; } }
  @media only screen and (min-width: 768px) {
    .prod__info {
      margin: 0 0 0 auto;
      max-width: 460px;
      padding: 130px 0 0; } }
  .prod__info-name {
    text-align: left;
    font-weight: 600;
    line-height: 100%;
    letter-spacing: 0.05em; }
    @media only screen and (max-width: 767px) {
      .prod__info-name {
        font-size: 1.7rem;
        margin: 0 0 10px; } }
    @media only screen and (min-width: 768px) {
      .prod__info-name {
        font-size: 3.2rem;
        margin: 0 0 5px; } }
  .prod__info-name_sub {
    text-align: left;
    font-weight: 600; }
    @media only screen and (max-width: 767px) {
      .prod__info-name_sub {
        font-size: 1.3rem;
        margin: 0 0 13px; } }
    @media only screen and (min-width: 768px) {
      .prod__info-name_sub {
        font-size: 1.9rem;
        margin: 0 0 15px; } }
  .prod__info-detail {
    text-align: left; }
    @media only screen and (max-width: 767px) {
      .prod__info-detail {
        font-size: 1.05rem;
        line-height: 1.6rem;
        margin: 0 0 20px; } }
    @media only screen and (min-width: 768px) {
      .prod__info-detail {
        font-size: 1.1rem;
        line-height: 1.8rem;
        margin: 0 0 30px; } }
  .prod .thum__content {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
  .prod .thum__item {
    position: relative;
    overflow: hidden; }
    @media only screen and (max-width: 767px) {
      .prod .thum__item {
        width: 110px;
        height: 110px;
        margin: 0 0 15px; } }
    @media only screen and (min-width: 768px) {
      .prod .thum__item {
        width: 145px;
        height: 145px;
        margin: 0 0 15px; } }
    .prod .thum__item img {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }

.video {
  text-align: center; }
  @media only screen and (max-width: 767px) {
    .video {
      margin: 510px 0 0; } }
  @media only screen and (min-width: 768px) {
    .video {
      margin: 100px 0 0; } }
  .video__bg {
    background: #000;
    transform: skewY(-9deg);
    position: relative;
    z-index: 10; }
    .video__bg::after {
      content: "";
      display: inline-block;
      width: 100%;
      transform: skewY(20deg);
      position: absolute;
      z-index: -1;
      left: 0;
      background: url(http://www.webcreatorbox.com/sample/images/yokojima.png);
      background-repeat: repeat;
      background-color: #4A587D; }
      @media only screen and (max-width: 767px) {
        .video__bg::after {
          top: 40px;
          height: 350px; } }
      @media only screen and (min-width: 768px) {
        .video__bg::after {
          top: 70px;
          height: 550px; } }
  .video__content {
    transform: skewY(9deg);
    position: relative;
    z-index: 15; }
    @media only screen and (max-width: 767px) {
      .video__content {
        padding: 30px 10px 0; } }
    @media only screen and (min-width: 768px) {
      .video__content {
        padding: 30px 0 0; } }
  .video h2 {
    margin: 0 0 35px;
    letter-spacing: 0.05em;
    line-height: 100%; }
    @media only screen and (max-width: 767px) {
      .video h2 {
        font-size: 2.0rem; } }
    @media only screen and (min-width: 768px) {
      .video h2 {
        font-size: 3.1rem; } }
  .video video {
    max-width: 100%;
    height: auto;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.5); }

.sale {
  position: relative;
  z-index: 15; }
  @media only screen and (max-width: 767px) {
    .sale {
      padding: 50px 15px 30px; } }
  @media only screen and (min-width: 768px) {
    .sale {
      margin: 90px 0 0;
      padding: 70px 0; } }
  .sale h2 {
    text-align: center;
    margin: 0 0 35px;
    letter-spacing: 0.05em;
    line-height: 100%; }
    @media only screen and (max-width: 767px) {
      .sale h2 {
        font-size: 2.0rem; } }
    @media only screen and (min-width: 768px) {
      .sale h2 {
        font-size: 3.1rem; } }
  .sale__content {
    margin: 0 auto;
    background: #000;
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      .sale__content {
        padding: 20px 10px; } }
    @media only screen and (min-width: 768px) {
      .sale__content {
        max-width: 1000px;
        width: calc(100% - 40px);
        padding: 50px 50px; } }
  @media only screen and (max-width: 767px) {
    .sale h3 {
      margin: 0 0 20px;
      font-size: 1.4rem; } }
  @media only screen and (min-width: 768px) {
    .sale h3 {
      margin: 0 0 30px;
      font-size: 1.7rem; } }
  .sale__item {
    margin: 0 0 30px; }
    .sale__item:last-child {
      margin: 0; }
    @media only screen and (min-width: 768px) {
      .sale__item .sale_date {
        font-size: 1.1rem; } }
    .sale__item .sale_date .sale_ttl {
      margin: 0 0 0 -10px; }
    .sale__item p {
      margin: 0 0 20px;
      padding: 0; }
      @media only screen and (max-width: 767px) {
        .sale__item p {
          font-size: 0.95rem;
          line-height: 1.7rem; } }
      @media only screen and (min-width: 768px) {
        .sale__item p {
          font-size: 1.0rem;
          line-height: 1.8rem; } }
    .sale__item a {
      color: #fd9595;
      text-decoration: none;
      word-break: break-all; }
      .sale__item a:hover {
        text-decoration: underline; }
    .sale__item ol {
      margin: 0 0 0 20px;
      padding: 0; }
      .sale__item ol li {
        margin: 0 0 5px; }
        @media only screen and (max-width: 767px) {
          .sale__item ol li {
            font-size: 0.95rem; } }
        @media only screen and (min-width: 768px) {
          .sale__item ol li {
            font-size: 1.0rem; } }
        .sale__item ol li:last-child {
          margin: 0; }
    .sale__item .list {
      font-weight: 700;
      margin: 0 0 15px;
      list-style: none;
      padding: 0; }
    .sale__item ul {
      margin: 0 0 0 20px;
      padding: 0; }
      .sale__item ul li {
        margin: 0 0 5px; }
        @media only screen and (max-width: 767px) {
          .sale__item ul li {
            font-size: 0.95rem; } }
        @media only screen and (min-width: 768px) {
          .sale__item ul li {
            font-size: 1.0rem; } }
        .sale__item ul li:last-child {
          margin: 0; }

.cco_link {
  text-align: center; }
  @media only screen and (max-width: 767px) {
    .cco_link {
      margin: 0 0 40px; } }
  @media only screen and (min-width: 768px) {
    .cco_link {
      margin: 0 0 70px; } }
  .cco_link:hover {
    opacity: 0.8; }

@media only screen and (min-width: 768px) {
  .sponly {
    display: none; } }

@media only screen and (max-width: 767px) {
  .pconly {
    display: none; } }

.global_head {
  margin: 0;
  padding: 0; }
