@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/roundedmplus1c.css);
body {
  margin: 0;
  padding: 0;
  background: linear-gradient(rgba(185, 132, 189, 0.3), rgba(240, 166, 202, 0.3)), url("../img/bg2.png");
  background-repeat: repeat;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Osaka", "Osaka－等幅", "Osaka-Mono", "MS UI Gothic", "ＭＳ Ｐゴシック", "MS PGothic", "ＭＳ ゴシック", "MS Gothic", sans-serif; }

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

@media only screen and (max-width: 767px) {
  .wrap {
    margin: 50px auto 40px;
    padding: 0;
    box-sizing: border-box; } }
@media only screen and (min-width: 768px) {
  .wrap {
    max-width: 1050px;
    margin: 120px auto 60px; } }

.hero {
  text-align: center; }
  @media only screen and (max-width: 767px) {
    .hero {
      margin: 0 auto 20px; }
      .hero img {
        width: 93%; } }
  @media only screen and (min-width: 768px) {
    .hero {
      margin: 0 0 30px; } }

.prod {
  position: relative;
  border-radius: 50%;
  filter: drop-shadow(10px 10px 15px rgba(114, 68, 156, 0.2)); }
  @media only screen and (max-width: 767px) {
    .prod {
      width: 330px;
      height: 330px; } }
  @media only screen and (min-width: 768px) {
    .prod {
      width: 540px;
      height: 540px;
      margin: 180px 0 0; } }

.clear {
  background-image: linear-gradient(#b984bd, #ffecec); }
  @media only screen and (max-width: 767px) {
    .clear {
      margin: 80px auto 50px; } }
  @media only screen and (min-width: 768px) {
    .clear {
      margin-right: auto; } }
  .clear .caption {
    font-family: 'Rounded Mplus 1c';
    position: absolute;
    z-index: 99;
    color: #767577;
    background: #F3C8DB;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 50%;
    font-weight: 800; }
    @media only screen and (max-width: 767px) {
      .clear .caption {
        top: -3%;
        right: -3%;
        width: 100px;
        height: 100px;
        font-size: 0.8rem; } }
    @media only screen and (min-width: 768px) {
      .clear .caption {
        top: -12%;
        right: -15%;
        width: 200px;
        height: 200px;
        font-size: 1.4rem; } }
    .clear .caption .inner {
      display: flex;
      flex-direction: column; }
    @media only screen and (max-width: 767px) {
      .clear .caption span {
        font-size: 0.45rem; } }
    @media only screen and (min-width: 768px) {
      .clear .caption span {
        font-size: 1.05rem; } }

.black {
  background: #666;
  text-align: right; }
  @media only screen and (max-width: 767px) {
    .black {
      margin: 0 auto 50px; } }
  @media only screen and (min-width: 768px) {
    .black {
      margin: 90px 0 0 auto; } }
  .black .caption {
    font-family: 'Rounded Mplus 1c';
    position: absolute;
    z-index: 99;
    color: #767577;
    background: #F3C8DB;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 50%;
    font-weight: 800; }
    @media only screen and (max-width: 767px) {
      .black .caption {
        top: -3%;
        left: -3%;
        width: 100px;
        height: 100px;
        font-size: 0.8rem; } }
    @media only screen and (min-width: 768px) {
      .black .caption {
        top: -15%;
        left: -12%;
        width: 200px;
        height: 200px;
        font-size: 1.4rem; } }

.prod_detail {
  filter: drop-shadow(0 0 15px rgba(114, 68, 156, 0.15));
  position: relative;
  color: #72449C;
  background: #F3C8DB;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media only screen and (max-width: 767px) {
    .prod_detail {
      width: 350px;
      height: 350px;
      margin: 0 auto; } }
  @media only screen and (min-width: 768px) {
    .prod_detail {
      width: 530px;
      height: 530px;
      margin: -120px 0 0; } }
  @media only screen and (max-width: 767px) {
    .prod_detail .inner {
      width: 250px; } }
  @media only screen and (min-width: 768px) {
    .prod_detail .inner {
      width: 400px; } }
  .prod_detail h3 {
    font-family: 'Rounded Mplus 1c';
    font-weight: 800;
    margin: 0 0 10px;
    padding: 0; }
    @media only screen and (max-width: 767px) {
      .prod_detail h3 {
        font-size: 1.1rem; } }
    @media only screen and (min-width: 768px) {
      .prod_detail h3 {
        font-size: 1.3rem; } }
  .prod_detail dl {
    display: flex;
    width: 100%;
    margin: 0 0 8px;
    padding: 0; }
    .prod_detail dl:last-child {
      margin: 0; }
    @media only screen and (max-width: 767px) {
      .prod_detail dl {
        font-size: 1.0rem; } }
    @media only screen and (min-width: 768px) {
      .prod_detail dl {
        font-size: 1.1rem; } }
    .prod_detail dl dt {
      margin: 0;
      padding: 0; }
      @media only screen and (max-width: 767px) {
        .prod_detail dl dt {
          width: 27%; } }
      @media only screen and (min-width: 768px) {
        .prod_detail dl dt {
          width: 17%; } }
    .prod_detail dl dd {
      margin: 0;
      padding: 0; }
      @media only screen and (max-width: 767px) {
        .prod_detail dl dd {
          width: 73%; } }
      @media only screen and (min-width: 768px) {
        .prod_detail dl dd {
          width: 83%; } }
      @media only screen and (max-width: 767px) {
        .prod_detail dl dd span {
          font-size: 0.8rem; } }
      @media only screen and (min-width: 768px) {
        .prod_detail dl dd span {
          font-size: 0.9rem; } }

.sale_info {
  filter: drop-shadow(0 0 15px rgba(114, 68, 156, 0.1));
  position: relative;
  color: #2b1c20;
  background: #E3D2E6;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media only screen and (max-width: 767px) {
    .sale_info {
      border-radius: 20px;
      margin: 50px 20px 0;
      padding: 40px 20px;
      box-sizing: border-box; } }
  @media only screen and (min-width: 768px) {
    .sale_info {
      border-radius: 50%;
      width: 780px;
      height: 780px;
      margin: 50px auto 0; } }
  .sale_info .inner {
    display: flex;
    flex-direction: column; }
    @media only screen and (min-width: 768px) {
      .sale_info .inner {
        width: 550px; } }
  .sale_info h2 {
    position: relative;
    font-family: 'Rounded Mplus 1c';
    margin: 0 0 10px;
    padding: 0; }
    @media only screen and (max-width: 767px) {
      .sale_info h2 {
        font-size: 1.2rem; } }
    @media only screen and (min-width: 768px) {
      .sale_info h2 {
        font-size: 1.4rem; } }
    .sale_info h2::after {
      position: absolute;
      bottom: 0;
      left: 0;
      z-index: -1;
      content: '';
      width: 60%;
      height: 10px;
      background-color: #ebd1e2; }
  .sale_info h6 {
    margin: 0 0 7px -10px;
    padding: 0; }
    @media only screen and (max-width: 767px) {
      .sale_info h6 {
        font-size: 1.0rem; } }
    @media only screen and (min-width: 768px) {
      .sale_info h6 {
        font-size: 1.0rem; } }
  .sale_info p {
    margin: 0 0 10px;
    padding: 0;
    line-height: 27px; }
    .sale_info p:last-child {
      margin: 0; }
    .sale_info p span {
      font-weight: bold; }
  .sale_info .date {
    margin-left: 10px; }
  @media only screen and (min-width: 768px) {
    .sale_info .uketsuke {
      font-size: 1.1rem;
      line-height: 32px; } }
  .sale_info ul {
    margin: 0 0 0 20px;
    padding: 0;
    line-height: 1.7rem; }

@media only screen and (max-width: 767px) {
  .block {
    color: #2b1c20;
    background: #e2d5e6;
    box-sizing: border-box;
    border-radius: 20px;
    margin: 50px 20px 70px;
    padding: 40px 20px; } }
@media only screen and (min-width: 768px) {
  .block {
    max-width: 950px;
    margin: 30px auto 150px; } }
.block h2 {
  position: relative;
  font-family: 'Rounded Mplus 1c';
  margin: 0 0 10px;
  padding: 0; }
  @media only screen and (max-width: 767px) {
    .block h2 {
      font-size: 1.2rem; } }
  @media only screen and (min-width: 768px) {
    .block h2 {
      font-size: 1.4rem; } }
  .block h2::after {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    content: '';
    width: 80%;
    height: 10px;
    background-color: #ebd1e2; }
.block ul {
  margin: 0 0 0 20px;
  padding: 0; }
  @media only screen and (max-width: 767px) {
    .block ul {
      line-height: 27px; } }
  @media only screen and (min-width: 768px) {
    .block ul {
      line-height: 27px; } }
  @media only screen and (min-width: 768px) {
    .block ul li {
      margin: 0 0 7px; }
      .block ul li:last-child {
        margin: 0; } }
@media only screen and (max-width: 767px) {
  .block .box {
    margin: 0 0 20px;
    padding: 0;
    line-height: 27px; }
    .block .box:last-child {
      margin: 0; } }
@media only screen and (min-width: 768px) {
  .block .box {
    filter: drop-shadow(0 0 15px rgba(114, 68, 156, 0.1));
    color: #2b1c20;
    background: #e2d5e6;
    width: 450px;
    height: 450px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center; } }
@media only screen and (min-width: 768px) {
  .block .box .inner {
    width: 300px;
    display: flex;
    flex-direction: column; } }
@media only screen and (min-width: 768px) {
  .block .box_right {
    filter: drop-shadow(0 0 15px rgba(114, 68, 156, 0.1));
    margin-top: -120px;
    margin-left: auto; } }
@media only screen and (min-width: 768px) {
  .block .box_bottom {
    filter: drop-shadow(0 0 15px rgba(114, 68, 156, 0.1));
    margin-top: -120px; } }

@media only screen and (max-width: 767px) {
  .application_link {
    text-align: center;
    margin: 0 auto 50px; } }
@media only screen and (min-width: 768px) {
  .application_link {
    margin: 0 0 180px; } }
.application_link .inner {
  display: flex; }
  @media only screen and (max-width: 767px) {
    .application_link .inner {
      flex-direction: column; } }
  @media only screen and (min-width: 768px) {
    .application_link .inner {
      justify-content: center; } }
  .application_link .inner img {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    filter: drop-shadow(0 0 15px rgba(114, 68, 156, 0.1)); }
    @media only screen and (max-width: 767px) {
      .application_link .inner img {
        width: 350px;
        height: auto;
        margin: 0 0 10px; } }
    @media only screen and (min-width: 768px) {
      .application_link .inner img {
        width: 430px;
        height: auto;
        margin: 0 3px; } }
    .application_link .inner img:hover {
      -webkit-transform: scale(1.1);
      transform: scale(1.1); }
.application_link a {
  text-align: center;
  cursor: pointer; }
.application_link h4 {
  font-family: 'Rounded Mplus 1c';
  text-align: center;
  padding: 0;
  margin: 0;
  color: #2b1c20; }
  @media only screen and (max-width: 767px) {
    .application_link h4 {
      font-size: 1.4rem; } }
  @media only screen and (min-width: 768px) {
    .application_link h4 {
      font-size: 2.3rem; } }
.application_link p {
  text-align: center;
  margin: 10px 0 40px;
  font-weight: bold;
  color: #2b1c20; }
  @media only screen and (max-width: 767px) {
    .application_link p {
      font-size: 0.95rem; } }
  @media only screen and (min-width: 768px) {
    .application_link p {
      font-size: 1.2rem; } }

.prod_v2 .inner {
  display: flex;
  justify-content: center; }
.prod_v2 .item {
  position: relative;
  filter: drop-shadow(0 0 15px rgba(114, 68, 156, 0.15));
  margin: 0 5px; }
  .prod_v2 .item img {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out; }
    @media only screen and (min-width: 768px) {
      .prod_v2 .item img {
        width: 200px;
        height: auto; }
        .prod_v2 .item img:hover {
          -webkit-transform: scale(1.1);
          transform: scale(1.1); } }
.prod_v2 .caption {
  font-family: 'Rounded Mplus 1c';
  position: absolute;
  z-index: 99;
  color: #767577;
  background: #F3C8DB;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  border-radius: 50%;
  font-weight: 800; }
  @media only screen and (max-width: 767px) {
    .prod_v2 .caption {
      top: -8%;
      right: -3%;
      width: 30px;
      height: 30px;
      font-size: 0.7rem; } }
  @media only screen and (min-width: 768px) {
    .prod_v2 .caption {
      top: 3%;
      right: -5%;
      width: 50px;
      height: 50px;
      font-size: 1.0rem; } }

@keyframes float_1 {
  0% {
    transform: translateY(0); }
  50% {
    transform: translateY(-8px); }
  100% {
    transform: translateY(0); } }
@keyframes float_2 {
  0% {
    transform: translateY(0); }
  50% {
    transform: translateY(12px); }
  100% {
    transform: translateY(0); } }
@keyframes float_3 {
  0% {
    transform: translateY(0); }
  50% {
    transform: translateY(-12px); }
  100% {
    transform: translateY(0); } }
@keyframes float_4 {
  0% {
    transform: translateY(0); }
  50% {
    transform: translateY(7px); }
  100% {
    transform: translateY(0); } }
.i1 {
  animation: float_1 4.5s linear infinite; }

.i2 {
  animation: float_2 4.5s linear infinite; }

.i3 {
  animation: float_3 4.5s linear infinite; }

.i4 {
  animation: float_4 4.5s linear infinite; }

.application_form {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 0 20px rgba(156, 175, 195, 0.4);
  border-radius: 25px;
  box-sizing: border-box; }
  @media only screen and (max-width: 767px) {
    .application_form {
      margin: 50px 20px 50px;
      padding: 25px; } }
  @media only screen and (min-width: 768px) {
    .application_form {
      width: calc(100% - 50px);
      margin: 90px auto 50px;
      padding: 45px 25px; } }
  .application_form h3 {
    text-align: center;
    padding: 0; }
    @media only screen and (max-width: 767px) {
      .application_form h3 {
        font-size: 1.2rem;
        margin: 10px 0 25px 10px; } }
    @media only screen and (min-width: 768px) {
      .application_form h3 {
        font-size: 1.8rem;
        margin: 10px 0 25px 30px; } }
  .application_form .attention {
    margin: 0 auto 15px;
    padding: 0 0 10px;
    border-bottom: #ccc solid 1px; }
    @media only screen and (max-width: 767px) {
      .application_form .attention {
        width: 95%; } }
    @media only screen and (min-width: 768px) {
      .application_form .attention {
        width: 90%; } }
    .application_form .attention h5 {
      font-size: 1.0rem;
      margin: 0 0 5px;
      padding: 0; }
    .application_form .attention p {
      margin: 0 0 15px;
      padding: 0;
      font-size: 0.95rem; }
    .application_form .attention ul {
      margin: 0 0 15px 20px;
      padding: 0; }
      .application_form .attention ul li {
        font-size: 0.95rem; }
  .application_form table {
    border-collapse: collapse;
    table-layout: auto; }
    @media only screen and (max-width: 767px) {
      .application_form table {
        width: 100%;
        margin: 0 0 10px; } }
    @media only screen and (min-width: 768px) {
      .application_form table {
        width: 90%;
        margin: 0 auto 10px; } }
    @media only screen and (min-width: 768px) {
      .application_form table tr {
        border-bottom: #e8e8e8 solid 1px; } }
    .application_form table th {
      box-sizing: border-box;
      font-weight: normal;
      text-align: left;
      font-weight: bold; }
      @media only screen and (max-width: 767px) {
        .application_form table th {
          display: block;
          width: 100%;
          text-align: left;
          font-size: 1.0rem;
          padding: 0; } }
      @media only screen and (min-width: 768px) {
        .application_form table th {
          width: 23%;
          padding: 25px 5px;
          font-size: 1.0rem; } }
      .application_form table th .hissu {
        position: relative;
        top: -1px;
        background: #ec4c4c;
        color: #fff;
        padding: 4px 7px;
        font-size: 10px;
        margin-left: 8px;
        border-radius: 4px; }
    .application_form table td {
      box-sizing: border-box; }
      @media only screen and (max-width: 767px) {
        .application_form table td {
          width: 100%;
          display: block;
          text-align: left;
          padding: 10px 0 35px; } }
      @media only screen and (min-width: 768px) {
        .application_form table td {
          width: 77%;
          padding: 25px 5px;
          box-sizing: border-box;
          font-size: 1.0rem; } }
      .application_form table td p {
        margin: 8px 0 0; }
  .application_form select {
    font-size: 1rem; }
  .application_form input[type=text], .application_form input[type=email] {
    -webkit-appearance: none;
    border: none;
    font-size: 0.95rem;
    padding: 11px 14px;
    border-radius: 2px;
    line-height: 1;
    margin: 0;
    background: #f1f1f1;
    width: 100%;
    box-sizing: border-box; }
  @media only screen and (max-width: 767px) {
    .application_form #postalcode {
      width: 100%; } }
  @media only screen and (min-width: 768px) {
    .application_form #postalcode {
      width: 30%; } }
  .application_form b {
    color: #ee0000;
    font-size: 0.9rem; }
  .application_form .address {
    width: 100%;
    display: flex;
    flex-direction: column; }
    .application_form .address .box {
      display: flex;
      margin: 0 0 15px; }
      .application_form .address .box:last-child {
        margin: 0; }
      @media only screen and (max-width: 767px) {
        .application_form .address .box {
          width: 100%;
          flex-direction: column; } }
      @media only screen and (min-width: 768px) {
        .application_form .address .box {
          width: 100%;
          justify-content: center;
          align-items: center; } }
      .application_form .address .box h4 {
        padding: 0;
        font-weight: normal; }
        @media only screen and (max-width: 767px) {
          .application_form .address .box h4 {
            width: 100%;
            font-size: 0.9rem;
            margin: 0 0 7px; } }
        @media only screen and (min-width: 768px) {
          .application_form .address .box h4 {
            width: 13%;
            font-size: 0.95rem;
            margin: 0; } }
      @media only screen and (max-width: 767px) {
        .application_form .address .box .input_area {
          width: 100%; } }
      @media only screen and (min-width: 768px) {
        .application_form .address .box .input_area {
          width: 87%; } }

.submit {
  display: flex; }
  @media only screen and (max-width: 767px) {
    .submit {
      flex-direction: column-reverse;
      margin: 0; } }
  @media only screen and (min-width: 768px) {
    .submit {
      flex-direction: row-reverse;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      align-content: center;
      margin: 40px auto 10px;
      max-width: 600px; } }
  .submit input[type=submit] {
    -webkit-appearance: none;
    font-size: 1.0rem;
    margin: auto;
    border-radius: 50px;
    cursor: pointer;
    background: #e2e2e2;
    border: none; }
    @media only screen and (max-width: 767px) {
      .submit input[type=submit] {
        width: 200px;
        height: 48px;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0 auto 10px; } }
    @media only screen and (min-width: 768px) {
      .submit input[type=submit] {
        width: 260px;
        height: 48px;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center; }
        .submit input[type=submit]:hover {
          opacity: 0.8; } }
    .submit input[type=submit]:first-child {
      background-color: #c0a1c7;
      color: #fff; }
      @media only screen and (max-width: 767px) {
        .submit input[type=submit]:first-child {
          width: 200px;
          height: 48px;
          text-align: center;
          display: flex;
          justify-content: center;
          align-items: center; } }
      @media only screen and (min-width: 768px) {
        .submit input[type=submit]:first-child {
          width: 260px;
          height: 48px;
          text-align: center;
          display: flex;
          justify-content: center;
          align-items: center; } }

.complete {
  height: calc(100vh - 40px);
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap; }
  @media only screen and (max-width: 767px) {
    .complete {
      width: 90%;
      margin: 0 auto; } }
  @media only screen and (min-width: 768px) {
    .complete {
      width: 100%; } }
  .complete p {
    width: 100%;
    margin: 0 0 20px 0; }
  .complete .back {
    text-align: center;
    width: 100%; }
    .complete .back a {
      display: inline-block;
      color: #fff;
      background-color: #c0a1c7;
      text-decoration: none;
      line-height: 1;
      font-size: 1.0rem;
      border-radius: 50px;
      height: 48px;
      line-height: 48px; }
      @media only screen and (max-width: 767px) {
        .complete .back a {
          width: 180px; } }
      @media only screen and (min-width: 768px) {
        .complete .back a {
          width: 220px; } }
      .complete .back a:hover {
        -ms-filter: brightness(1.2);
        -webkit-filter: brightness(1.2);
        filter: brightness(1.2); }
  .complete .fixed {
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%; }

@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;
  position: relative;
  z-index: 10; }
