body {
  margin: 0;
  padding: 0;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  background: #c88ef9;
  color: #27231E;
  background-image: url("../img/bg.png?200418");
  position: relative; }
  body::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: '';
    display: block;
    background: url("../img/bg_wrap.png?200503") repeat-y center 280px;
    background-size: 3200px 5813px;
    z-index: 0; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

.inner {
  position: relative;
  z-index: 99;
  background-color: rgba(255, 255, 255, 0.4);
  border-radius: 15px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  box-sizing: border-box; }
  @media only screen and (max-width: 767px) {
    .inner {
      margin: 0 15px;
      padding: 40px 25px; } }
  @media only screen and (min-width: 768px) {
    .inner {
      max-width: 950px;
      margin: 0 auto;
      padding: 80px 60px; } }

.hero {
  text-align: center;
  margin: 0;
  position: relative;
  width: 100%; }
  @media only screen and (max-width: 767px) {
    .hero {
      padding: 45px 0 30px; } }
  @media only screen and (min-width: 768px) {
    .hero {
      padding: 200px 0 40px; } }
  .hero h1 {
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 50; }
    .hero h1 img {
      height: auto;
      filter: drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.3)); }
      @media only screen and (max-width: 767px) {
        .hero h1 img {
          width: 320px; } }
      @media only screen and (min-width: 768px) {
        .hero h1 img {
          width: 900px; } }

.hero_top {
  position: absolute;
  top: 0;
  width: 100%;
  left: 0; }
  .hero_top img {
    width: 100%; }

.intro {
  position: relative;
  z-index: 99; }
  .intro p {
    text-align: center;
    font-weight: 500;
    padding: 0; }
    @media only screen and (max-width: 767px) {
      .intro p {
        font-size: 1.0rem;
        line-height: 2.5rem;
        margin: 30px 20px 20px; } }
    @media only screen and (min-width: 768px) {
      .intro p {
        font-size: 1.2rem;
        line-height: 2.9rem;
        margin: 50px 0 30px; } }
  .intro .attention {
    padding: 0; }
    @media only screen and (max-width: 767px) {
      .intro .attention {
        font-size: 0.95rem;
        line-height: 1.85rem;
        margin: 0 0 20px; } }
    @media only screen and (min-width: 768px) {
      .intro .attention {
        font-size: 1.0rem;
        line-height: 1.9rem;
        margin: 0 0 100px; } }

@media only screen and (max-width: 767px) {
  .block {
    margin-bottom: 50px; } }
@media only screen and (min-width: 768px) {
  .block {
    margin-bottom: 80px; } }
.block h2 {
  padding: 0;
  margin: 0 0 10px; }
  @media only screen and (max-width: 767px) {
    .block h2 {
      font-size: 1.05rem; } }
  @media only screen and (min-width: 768px) {
    .block h2 {
      font-size: 1.1rem; } }
.block .image {
  display: flex;
  margin: 20px 0 0; }
  @media only screen and (max-width: 767px) {
    .block .image {
      flex-direction: column; } }
  @media only screen and (min-width: 768px) {
    .block .image {
      justify-content: space-between; } }
  @media only screen and (max-width: 767px) {
    .block .image .item {
      width: 100%;
      margin: 0 0 20px; }
      .block .image .item:last-child {
        margin: 0 0 5px; } }
  @media only screen and (min-width: 768px) {
    .block .image .item {
      width: 49%; } }
.block a {
  word-break: break-all;
  text-decoration: none;
  color: #5426b3; }
  .block a:hover {
    text-decoration: underline; }
.block p {
  margin: 0 0 30px;
  padding: 0; }
  @media only screen and (max-width: 767px) {
    .block p {
      line-height: 1.8rem; } }
  @media only screen and (min-width: 768px) {
    .block p {
      line-height: 2.0rem; } }
  .block p:last-child {
    margin: 0; }

.about table {
  width: 100%; }
  .about table tbody tr {
    display: flex;
    width: 100%; }
    @media only screen and (max-width: 767px) {
      .about table tbody tr {
        flex-direction: column;
        margin-bottom: 20px; } }
    @media only screen and (min-width: 768px) {
      .about table tbody tr {
        margin-bottom: 28px; } }
  .about table tbody .margin {
    margin-bottom: 0; }
  .about table tbody th {
    border: #27231E solid 3px;
    letter-spacing: 0.05em; }
    @media only screen and (max-width: 767px) {
      .about table tbody th {
        width: 100%;
        height: 35px;
        line-height: 35px;
        font-size: 0.9rem;
        margin-bottom: 10px; } }
    @media only screen and (min-width: 768px) {
      .about table tbody th {
        width: 20%;
        height: 40px;
        line-height: 40px;
        font-size: 1.0rem; } }
  .about table tbody td {
    letter-spacing: 0.05em; }
    @media only screen and (max-width: 767px) {
      .about table tbody td {
        width: 100%;
        font-size: 1.0rem;
        text-align: center; } }
    @media only screen and (min-width: 768px) {
      .about table tbody td {
        width: 80%;
        padding-left: 40px;
        line-height: 25px;
        font-size: 1.1rem; } }
    @media only screen and (min-width: 768px) {
      .about table tbody td span {
        font-size: 0.9rem; } }

.form {
  box-sizing: border-box; }
  @media only screen and (max-width: 767px) {
    .form {
      margin: 50px auto 0; } }
  @media only screen and (min-width: 768px) {
    .form {
      margin: 60px auto 0;
      padding: 40px 40px;
      border: #e3c7ff solid 1px;
      background-color: rgba(255, 255, 255, 0.3); } }
  .form h4 {
    text-align: center;
    padding: 0; }
    @media only screen and (max-width: 767px) {
      .form h4 {
        font-size: 1.1rem;
        margin: 0 0 10px; } }
    @media only screen and (min-width: 768px) {
      .form h4 {
        font-size: 1.2rem;
        margin: 0 0 10px; } }
  .form .date {
    margin: 0;
    padding: 0;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      .form .date {
        font-size: 0.95rem;
        margin: 0 0 25px; } }
    @media only screen and (min-width: 768px) {
      .form .date {
        font-size: 1.0rem;
        margin: 0 0 30px; } }
  .form table {
    margin: 0 auto; }
    @media only screen and (max-width: 767px) {
      .form table {
        width: 100%; } }
    @media only screen and (min-width: 768px) {
      .form table {
        width: 80%; } }
    .form table tr {
      display: flex;
      flex-direction: column;
      width: 100%;
      margin: 0 0 20px; }
      .form table tr th {
        text-align: left; }
        @media only screen and (max-width: 767px) {
          .form table tr th {
            font-size: 0.9rem;
            margin: 0 0 5px; } }
        @media only screen and (min-width: 768px) {
          .form table tr th {
            margin: 0 0 10px; } }
  .form input[type=text] {
    -webkit-appearance: none;
    border: none;
    font-size: 0.95rem;
    padding: 11px 14px;
    border-radius: 5px;
    line-height: 1;
    border: #ccc solid 1px;
    box-sizing: border-box;
    width: 100%; }
    .form input[type=text]:focus {
      outline: 0; }
  .form textarea {
    -webkit-appearance: none;
    border: none;
    font-size: 0.95rem;
    padding: 11px 14px;
    border-radius: 5px;
    line-height: 1.4;
    width: 100%;
    border: #ccc solid 1px;
    box-sizing: border-box;
    height: 100px; }
    .form textarea:focus {
      outline: 0; }
  .form .submit {
    margin: 15px 0 0; }
    .form .submit input[type=submit] {
      -webkit-appearance: none;
      font-size: 1.0rem;
      margin: auto;
      border: none;
      border-radius: 50px;
      cursor: pointer;
      color: #fff;
      box-sizing: border-box;
      background: #7d59b9; }
      @media only screen and (max-width: 767px) {
        .form .submit input[type=submit] {
          width: 200px;
          height: 45px;
          text-align: center;
          display: flex;
          justify-content: center;
          align-items: center;
          margin: 0 auto 10px;
          font-size: 0.85rem; } }
      @media only screen and (min-width: 768px) {
        .form .submit input[type=submit] {
          width: 220px;
          height: 48px;
          text-align: center;
          display: flex;
          justify-content: center;
          align-items: center;
          font-size: 1.0rem; } }
      .form .submit input[type=submit]:hover {
        -ms-filter: brightness(1.2);
        -webkit-filter: brightness(1.2);
        filter: brightness(1.2); }

.complete {
  height: calc(100vh);
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: column; }
  .complete .inner {
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      .complete .inner {
        width: 300px;
        padding: 40px 20px; } }
    @media only screen and (min-width: 768px) {
      .complete .inner {
        width: 950px;
        padding: 80px 60px; } }
  .complete .back {
    margin: 35px auto 0; }
    .complete .back a {
      margin: auto;
      border: none;
      cursor: pointer;
      background: #7d59b9;
      color: #fff;
      box-sizing: border-box;
      text-decoration: none;
      border-radius: 50px; }
      @media only screen and (max-width: 767px) {
        .complete .back a {
          width: 200px;
          height: 45px;
          text-align: center;
          display: flex;
          justify-content: center;
          align-items: center;
          margin: 0 auto 10px;
          font-size: 0.85rem; } }
      @media only screen and (min-width: 768px) {
        .complete .back a {
          width: 220px;
          height: 48px;
          text-align: center;
          display: flex;
          justify-content: center;
          align-items: center;
          font-size: 1.0rem; }
          .complete .back a:hover {
            -ms-filter: brightness(1.2);
            -webkit-filter: brightness(1.2);
            filter: brightness(1.2); } }

@media only screen and (max-width: 767px) {
  .goods_index {
    margin-bottom: 150px; } }
@media only screen and (min-width: 768px) {
  .goods_index {
    margin-bottom: 200px; } }
.goods_index p {
  margin: 0;
  padding: 0; }
  @media only screen and (max-width: 767px) {
    .goods_index p {
      text-align: left; } }
  @media only screen and (min-width: 768px) {
    .goods_index p {
      text-align: center; } }
.goods_index .order_link {
  margin: 35px auto 0; }
  .goods_index .order_link a {
    margin: auto;
    border: none;
    cursor: pointer;
    background: #7d59b9;
    color: #fff;
    box-sizing: border-box;
    text-decoration: none;
    border-radius: 50px; }
    @media only screen and (max-width: 767px) {
      .goods_index .order_link a {
        width: 200px;
        height: 45px;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0 auto 10px;
        font-size: 0.85rem; } }
    @media only screen and (min-width: 768px) {
      .goods_index .order_link a {
        width: 300px;
        height: 48px;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 1.0rem; }
        .goods_index .order_link a:hover {
          -ms-filter: brightness(1.2);
          -webkit-filter: brightness(1.2);
          filter: brightness(1.2); } }

.goods {
  position: relative;
  z-index: 99; }
  @media only screen and (max-width: 767px) {
    .goods {
      padding: 50px 0 0; } }
  @media only screen and (min-width: 768px) {
    .goods {
      padding: 90px 0 0; } }
  .goods h1 {
    text-align: center; }
    @media only screen and (max-width: 767px) {
      .goods h1 {
        font-size: 1.65rem; } }
    @media only screen and (min-width: 768px) {
      .goods h1 {
        font-size: 2.0rem;
        margin: 0 0 40px; } }
  .goods h2 {
    margin: 0 0 10px;
    padding: 0; }
    @media only screen and (max-width: 767px) {
      .goods h2 {
        font-size: 1.05rem; } }
    @media only screen and (min-width: 768px) {
      .goods h2 {
        font-size: 1.1rem; } }
  .goods h3 {
    margin: 0 0 5px;
    padding: 0;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      .goods h3 {
        font-size: 1.2rem; } }
    @media only screen and (min-width: 768px) {
      .goods h3 {
        font-size: 1.1rem; } }
  @media only screen and (max-width: 767px) {
    .goods .inner {
      margin-bottom: 50px; }
      .goods .inner:last-child {
        margin-bottom: 150px; } }
  @media only screen and (min-width: 768px) {
    .goods .inner {
      margin-bottom: 50px; }
      .goods .inner:last-child {
        margin-bottom: 30px; } }
  .goods .box {
    margin: 0 0 25px; }
    .goods .box:last-child {
      margin: 0; }
    .goods .box .date {
      margin-left: -10px; }
    .goods .box ul {
      padding: 0; }
      @media only screen and (max-width: 767px) {
        .goods .box ul {
          margin: 0 0 0 18px;
          line-height: 1.8rem; } }
      @media only screen and (min-width: 768px) {
        .goods .box ul {
          margin: 0 0 0 25px;
          line-height: 1.8rem; } }
  .goods .item_badge {
    background-color: rgba(255, 255, 255, 0.4);
    border-radius: 15px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      .goods .item_badge {
        margin: 0 15px 40px;
        padding: 40px 25px; } }
    @media only screen and (min-width: 768px) {
      .goods .item_badge {
        max-width: 950px;
        margin: 0 auto 40px;
        padding: 80px 60px; } }
    .goods .item_badge .item_container_badge {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      @media only screen and (max-width: 767px) {
        .goods .item_badge .item_container_badge {
          margin: 0 0 20px; } }
      @media only screen and (min-width: 768px) {
        .goods .item_badge .item_container_badge {
          margin: 0 0 45px; } }
      @media only screen and (max-width: 767px) {
        .goods .item_badge .item_container_badge .item {
          width: 49%;
          margin: 0 0 10px; } }
      @media only screen and (min-width: 768px) {
        .goods .item_badge .item_container_badge .item {
          width: 24%; } }
    .goods .item_badge .goods_info {
      margin: 30px 0 0; }
      .goods .item_badge .goods_info .price {
        font-weight: 600;
        text-align: right;
        margin: 0;
        padding: 0;
        color: #42235d; }
        @media only screen and (max-width: 767px) {
          .goods .item_badge .goods_info .price {
            font-size: 1.4rem; } }
        @media only screen and (min-width: 768px) {
          .goods .item_badge .goods_info .price {
            font-size: 1.45rem;
            line-height: 1.45rem; } }
        .goods .item_badge .goods_info .price .kaku {
          font-size: 1.0rem;
          margin: 0 3px 0 0;
          letter-spacing: 0.1em; }
        .goods .item_badge .goods_info .price .tax {
          font-size: 1.0rem;
          margin: 0 0 0 3px;
          letter-spacing: 0.1em; }
  .goods .item_container_ackey {
    display: flex;
    flex-wrap: wrap; }
    @media only screen and (max-width: 767px) {
      .goods .item_container_ackey {
        margin: 0 15px 150px;
        flex-direction: column; } }
    @media only screen and (min-width: 768px) {
      .goods .item_container_ackey {
        max-width: 950px;
        margin: 0 auto;
        justify-content: space-between;
        margin: 0 auto 200px; } }
    .goods .item_container_ackey .item {
      background-color: rgba(255, 255, 255, 0.4);
      border-radius: 15px;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
      box-sizing: border-box; }
      @media only screen and (max-width: 767px) {
        .goods .item_container_ackey .item {
          width: 100%;
          margin: 0 0 40px;
          padding: 40px 25px; } }
      @media only screen and (min-width: 768px) {
        .goods .item_container_ackey .item {
          width: 48%;
          padding: 80px 60px; } }
      @media only screen and (max-width: 767px) {
        .goods .item_container_ackey .item .image {
          padding: 10px 45px 20px; } }
      @media only screen and (min-width: 768px) {
        .goods .item_container_ackey .item .image {
          padding: 10px 45px 45px; } }
      .goods .item_container_ackey .item .goods_info {
        display: flex;
        justify-content: space-between;
        margin: 30px 0 0; }
        .goods .item_container_ackey .item .goods_info .size {
          margin: 0;
          padding: 0; }
          @media only screen and (max-width: 767px) {
            .goods .item_container_ackey .item .goods_info .size {
              font-size: 0.95rem; } }
          @media only screen and (min-width: 768px) {
            .goods .item_container_ackey .item .goods_info .size {
              font-size: 0.95rem; } }
        .goods .item_container_ackey .item .goods_info .price {
          font-weight: 600;
          color: #42235d;
          margin: 0;
          padding: 0; }
          @media only screen and (max-width: 767px) {
            .goods .item_container_ackey .item .goods_info .price {
              font-size: 1.4rem; } }
          @media only screen and (min-width: 768px) {
            .goods .item_container_ackey .item .goods_info .price {
              font-size: 1.45rem;
              line-height: 1.45rem; } }
          .goods .item_container_ackey .item .goods_info .price span {
            font-size: 1.0rem;
            margin: 0 0 0 3px;
            letter-spacing: 0.1em; }
  .goods .order_link {
    background: #ad75da;
    width: 270px;
    height: 50px;
    line-height: 50px;
    border-radius: 50px;
    text-align: center;
    margin: 0 auto;
    position: relative;
    box-sizing: border-box;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    margin: 30px auto 0; }
    @media only screen and (max-width: 767px) {
      .goods .order_link {
        padding-left: 23px; } }
    @media only screen and (min-width: 768px) {
      .goods .order_link {
        padding-left: 17px;
        cursor: pointer; }
        .goods .order_link:hover {
          opacity: 0.8; } }
    .goods .order_link::before {
      position: absolute;
      font-family: "Font Awesome 5 Free";
      content: "\f07a";
      font-size: 1.1rem;
      font-weight: 900;
      color: #fff;
      top: 0; }
      @media only screen and (max-width: 767px) {
        .goods .order_link::before {
          left: 28%; } }
      @media only screen and (min-width: 768px) {
        .goods .order_link::before {
          left: 28%; } }
    .goods .order_link a {
      color: #fff;
      text-decoration: none;
      font-size: 0.9rem;
      letter-spacing: 0.07em; }
      .goods .order_link a::after {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1;
        pointer-events: auto;
        content: "";
        background-color: transparent; }

.otoiawase {
  background: #27231E;
  color: #fff;
  position: relative; }
  @media only screen and (max-width: 767px) {
    .otoiawase {
      padding: 30px 0 60px; } }
  @media only screen and (min-width: 768px) {
    .otoiawase {
      padding: 60px 0;
      margin: 120px 0 0; } }
  @media only screen and (max-width: 767px) {
    .otoiawase .otoiawase_inner {
      margin: 0 15px;
      box-sizing: border-box; } }
  @media only screen and (min-width: 768px) {
    .otoiawase .otoiawase_inner {
      max-width: 950px;
      margin: 0 auto; } }
  .otoiawase .otoiawase_inner a {
    word-break: break-all;
    text-decoration: none;
    color: #a07dbd; }
    .otoiawase .otoiawase_inner a:hover {
      text-decoration: underline; }
  .otoiawase .uma_01 {
    position: absolute;
    animation: moveY 1.0s infinite alternate linear, moveX 25s infinite alternate linear; }
    @media only screen and (max-width: 767px) {
      .otoiawase .uma_01 {
        top: -13%;
        right: 27%; }
      @keyframes moveY {
        0% {
          top: -11%; }
        50% {
          top: -12%; }
        100% {
          top: -11%; } }
      @keyframes moveX {
        0% {
          right: 27%; }
        50% {
          right: 40%; }
        100% {
          right: 27%; } }
        .otoiawase .uma_01 img {
          width: 60px;
          height: auto; } }
    @media only screen and (min-width: 768px) {
      .otoiawase .uma_01 {
        top: -16%;
        right: 13%; }
      @keyframes moveY {
        0% {
          top: -13%; }
        50% {
          top: -15%; }
        100% {
          top: -13%; } }
      @keyframes moveX {
        0% {
          right: 13%; }
        50% {
          right: 28%; }
        100% {
          right: 13%; } } }
  .otoiawase .uma_02 {
    position: absolute;
    top: -18%;
    left: 5%;
    animation: moveY_02 8s infinite alternate linear; }
    @media only screen and (max-width: 767px) {
      .otoiawase .uma_02 img {
        width: 60px;
        height: auto; } }
@keyframes moveY_02 {
  0% {
    top: -18%; }
  20% {
    top: -8%; }
  50% {
    top: -18%; }
  70% {
    top: -8%; }
  100% {
    top: -18%; } }
  .otoiawase .uma_03 {
    position: absolute;
    top: -14%;
    animation: moveY_03 2s infinite alternate linear; }
    @media only screen and (max-width: 767px) {
      .otoiawase .uma_03 {
        right: 5%; } }
    @media only screen and (min-width: 768px) {
      .otoiawase .uma_03 {
        right: 5%; } }
@keyframes moveY_03 {
  0% {
    top: -15%; }
  15% {
    top: -14%; }
  25% {
    top: -16%; }
  50% {
    top: -17%; }
  75% {
    top: -16%; }
  85% {
    top: -14%; }
  100% {
    top: -15%; } }
.uma_04 {
  position: absolute;
  animation: moveY_04 1.2s infinite alternate linear; }
  @media only screen and (max-width: 767px) {
    .uma_04 {
      display: none; } }
  @media only screen and (min-width: 768px) {
    .uma_04 {
      top: -16%;
      left: 33%; }
    @keyframes moveY_04 {
      0% {
        top: -14%; }
      50% {
        top: -15%; }
      100% {
        top: -14%; } } }

.uma_05 {
  position: absolute;
  animation: moveY_05 0.9s infinite alternate linear; }
  @media only screen and (max-width: 767px) {
    .uma_05 {
      display: none; } }
  @media only screen and (min-width: 768px) {
    .uma_05 {
      top: -19%;
      left: 25%; }
    @keyframes moveY_05 {
      0% {
        top: -17%; }
      50% {
        top: -18%; }
      100% {
        top: -17%; } } }

.uma_06 {
  position: absolute;
  animation: horizontal 5s ease infinite;
  transform-origin: 50% 50%; }
@keyframes horizontal {
  0% {
    transform: translate(0, 0); }
  16.66667% {
    transform: translate(5px, 0); }
  33.33333% {
    transform: translate(0, 0); }
  50% {
    transform: translate(5px, 0); }
  66.66667% {
    transform: translate(0, 0); }
  83.33333% {
    transform: translate(5px, 0); }
  100% {
    transform: translate(0, 0); } }
  @media only screen and (max-width: 767px) {
    .uma_06 {
      top: -12%;
      left: 22%; }
      .uma_06 img {
        width: 70px;
        height: auto; } }
  @media only screen and (min-width: 768px) {
    .uma_06 {
      top: -16%;
      left: 14%; } }

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

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

.global_head {
  position: relative;
  z-index: 99;
  margin: 0;
  padding: 0; }

footer {
  position: relative;
  z-index: 99; }
