@charset "UTF-8";
.header .band {
  background-color: #5dbae5;
  color: #fff; }

@media (min-width: 768px) {
  .container {
    width: 1030px;
    max-width: 1030px; } }
@media (max-width: 767.98px) {
  .container {
    width: 100%; }

  .anchor_link {
    padding-bottom: 100px;
    margin-top: -100px; } }
@media (min-width: 768px) {
  .awa_container {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%; }
    .awa_container > .left, .awa_container > .right {
      width: 208px;
      position: absolute;
      top: 0;
      height: 100%;
      display: flex;
      align-items: center;
      flex-direction: column;
      justify-content: center; }
    .awa_container > .left {
      right: calc(50% + 500px); }
    .awa_container > .right {
      left: calc(50% + 500px);
      transform: scale(-1, 1); }

  .awa00 {
    width: 74px;
    height: 227px;
    position: relative; }
    .awa00 > span {
      position: absolute;
      border: 2px solid white;
      border-radius: 50%; }
      .awa00 > span:nth-child(1), .awa00 > span:nth-child(2), .awa00 > span:nth-child(5) {
        background-color: white; }
      .awa00 > span:nth-child(1) {
        left: 27px;
        top: 0;
        width: 10px;
        height: 10px; }
      .awa00 > span:nth-child(2) {
        right: 0px;
        top: 39px;
        width: 13px;
        height: 13px; }
      .awa00 > span:nth-child(3) {
        right: 5px;
        top: 85px;
        width: 21px;
        height: 21px; }
      .awa00 > span:nth-child(4) {
        left: 2px;
        top: 143px;
        width: 27px;
        height: 27px; }
      .awa00 > span:nth-child(5) {
        left: 0px;
        top: 190px;
        width: 13px;
        height: 13px; }
      .awa00 > span:nth-child(6) {
        left: 20px;
        bottom: 0px;
        width: 12px;
        height: 12px; }
    .awa00.sky > span {
      border-color: #dcf0ff; }
      .awa00.sky > span:nth-child(1), .awa00.sky > span:nth-child(2), .awa00.sky > span:nth-child(5) {
        background-color: #dcf0ff; }
    .awa00.blue > span {
      border-color: #5cb9e4; }
      .awa00.blue > span:nth-child(1), .awa00.blue > span:nth-child(2), .awa00.blue > span:nth-child(5) {
        background-color: #5cb9e4; } }
@media (max-width: 767.98px) {
  .awa_container {
    display: none; } }
.awa01 {
  position: absolute;
  width: 24px;
  height: 64px; }
  .awa01 > span {
    position: absolute;
    border: 2px solid white;
    border-radius: 50%; }
    .awa01 > span:nth-child(1) {
      right: 0;
      top: 0;
      background-color: white;
      width: 9px;
      height: 9px; }
    .awa01 > span:nth-child(2) {
      left: 0;
      top: 19px;
      background-color: white;
      width: 9px;
      height: 9px; }
    .awa01 > span:nth-child(3) {
      left: 1px;
      bottom: 0;
      width: 21px;
      height: 21px; }

.awa02 {
  position: absolute;
  width: 64px;
  height: 82px; }
  .awa02 > span {
    position: absolute;
    border: 2px solid white;
    border-radius: 50%; }
    .awa02 > span:nth-child(1) {
      right: 12px;
      top: 0;
      width: 16px;
      height: 16px; }
    .awa02 > span:nth-child(2) {
      right: 0;
      top: 25px;
      background-color: white;
      width: 9px;
      height: 9px; }
    .awa02 > span:nth-child(3) {
      left: 0px;
      bottom: 0;
      width: 42px;
      height: 42px; }

.awa03 {
  position: absolute;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: white; }

@keyframes yuraawa {
  0% {
    opacity: 0;
    transform: translateY(10px) translateX(0px); }
  20% {
    opacity: 1;
    transform: translateY(5px) translateX(-3px); }
  40% {
    opacity: 1;
    transform: translateY(0px) translateX(0px); }
  60% {
    opacity: 1;
    transform: translateY(-5px) translateX(3px); }
  80% {
    opacity: 0;
    transform: translateY(-10px) translateX(0px); }
  100% {
    opacity: 0;
    transform: translateY(10px) translateX(0px); } }
.awa00 > span, .awa01 > span, .awa02 > span {
  animation: yuraawa 3s linear both infinite; }
  .awa00 > span:nth-last-child(2), .awa01 > span:nth-last-child(2), .awa02 > span:nth-last-child(2) {
    animation-delay: .3s; }
  .awa00 > span:nth-last-child(3), .awa01 > span:nth-last-child(3), .awa02 > span:nth-last-child(3) {
    animation-delay: .6s; }
  .awa00 > span:nth-last-child(4), .awa01 > span:nth-last-child(4), .awa02 > span:nth-last-child(4) {
    animation-delay: .9s; }
  .awa00 > span:nth-last-child(5), .awa01 > span:nth-last-child(5), .awa02 > span:nth-last-child(5) {
    animation-delay: 1.2s; }
  .awa00 > span:nth-last-child(6), .awa01 > span:nth-last-child(6), .awa02 > span:nth-last-child(6) {
    animation-delay: 1.5s; }

.awa03 {
  animation: yuraawa 3s linear both infinite;
  animation-delay: .1s; }

.sengan_main {
  background-repeat: repeat-x;
  background-size: auto 100%;
  background-position: center top;
  position: relative; }
  .sengan_main > h1 {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2; }
    .sengan_main > h1 > span {
      clip-path: inset(0 100% 0 0);
      /* 初期状態で右側を隠す */
      animation: sengan_main_slide-in 1s .3s forwards; }
@keyframes sengan_main_slide-in {
  0% {
    clip-path: inset(0 100% 0 0);
    /* 右側を全て隠す */ }
  100% {
    clip-path: inset(0);
    /* マスクを解除して全て表示 */ } }
    .sengan_main > h1 > img {
      display: block; }
  .sengan_main > .deco01 {
    position: absolute; }
    .sengan_main > .deco01 > picture {
      mix-blend-mode: multiply;
      display: block; }
    .sengan_main > .deco01 > div {
      position: relative; }
      .sengan_main > .deco01 > div > img {
        display: block;
        position: absolute; }
  .sengan_main > .deco02 {
    background-color: white;
    position: absolute;
    text-align: center;
    z-index: 3; }
    .sengan_main > .deco02 > figure {
      position: absolute;
      transition: transform .8s .8s ease-out, opacity .8s .8s;
      transform: translateX(20px);
      opacity: 0; }
      .sengan_main > .deco02 > figure.inview-once {
        opacity: 1;
        transform: translateX(0); }
      .sengan_main > .deco02 > figure > img {
        position: relative; }
      .sengan_main > .deco02 > figure > figcaption {
        position: absolute;
        background: url(../images/main/bar.svg) no-repeat left center/auto 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: white; }
    .sengan_main > .deco02 > .fair > dl > dt {
      background: url(../images/main/fair/ttl.svg) no-repeat center;
      background-size: contain;
      color: transparent;
      position: relative; }
    .sengan_main > .deco02 > .fair > dl > dd {
      background-color: #fdf1f4;
      color: #004ea2; }
      .sengan_main > .deco02 > .fair > dl > dd > strong {
        color: #f76e86; }
    .sengan_main > .deco02 > .fair > .present > img {
      display: block;
      clip-path: inset(0 100% 0 0);
      /* 初期状態で右側を隠す */
      animation: sengan_main_slide-in 1s 1.5s forwards; }
@keyframes sengan_main_slide-in {
  0% {
    clip-path: inset(0 100% 0 0);
    /* 右側を全て隠す */ }
  100% {
    clip-path: inset(0);
    /* マスクを解除して全て表示 */ } }
    .sengan_main > .deco02 > .fair > .present > div {
      background: #004EA2;
      background: linear-gradient(0deg, #004ea2 0%, #5dbae5 100%);
      border-radius: 50%;
      margin: 0 auto; }
      .sengan_main > .deco02 > .fair > .present > div > div {
        aspect-ratio: 1/1;
        width: 100%;
        height: 100%;
        overflow: hidden;
        border-radius: 50%; }
        .sengan_main > .deco02 > .fair > .present > div > div > img {
          display: block;
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center; }
    .sengan_main > .deco02 > .fair > .info > a {
      border: #004ea2 solid 1px;
      background-color: white;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      overflow: hidden;
      transition: background-color 0.3s ease; }
      .sengan_main > .deco02 > .fair > .info > a span {
        position: static; }
      .sengan_main > .deco02 > .fair > .info > a::before {
        content: '';
        position: absolute;
        top: -50%;
        left: -50%;
        width: 200%;
        height: 200%;
        background: linear-gradient(45deg, rgba(255, 255, 255, 0.5), rgba(255, 240, 188, 0.85));
        opacity: 0;
        transition: opacity 0.3s ease;
        animation: fair_info_btn_shine 4s infinite; }
@keyframes fair_info_btn_shine {
  0% {
    transform: translateX(-100%); }
  10% {
    transform: translateX(100%);
    opacity: 1; }
  11% {
    opacity: 0; }
  12% {
    transform: translateX(-100%);
    opacity: 0; }
  22% {
    transform: translateX(100%);
    opacity: 1; }
  23% {
    opacity: 0; }
  100% {
    transform: translateX(-100%); } }
    .sengan_main > .deco02 > .fair > .info > p {
      color: #808080; }
  @media (min-width: 768px) {
    .sengan_main {
      background-image: url(../images/main/pc/back.avif); }
      .sengan_main > h1 {
        padding: 100px 0 180px;
        display: flex;
        flex-direction: column; }
        .sengan_main > h1 > img {
          width: 310px;
          margin: -60px -19px 0 0; }
      .sengan_main > .deco01 {
        width: 290px;
        right: calc(50% + 160px);
        top: 97px; }
        .sengan_main > .deco01 > picture:first-child {
          margin-bottom: 26px; }
        .sengan_main > .deco01 > div {
          height: 34px;
          background-color: #004ea2;
          border-radius: 17px;
          margin-top: 81px; }
          .sengan_main > .deco01 > div > img {
            width: 186px;
            bottom: 17px;
            left: 54px; }
      .sengan_main > .deco02 {
        width: 755px;
        left: calc(50% - 377.5px);
        top: 555px;
        height: 245px;
        border-radius: 45px; }
        .sengan_main > .deco02 > figure {
          width: 242px;
          bottom: calc(100% + 37px);
          right: -80px; }
          .sengan_main > .deco02 > figure > img {
            z-index: 2; }
          .sengan_main > .deco02 > figure > figcaption {
            width: 222px;
            height: 55px;
            font-size: 15px;
            right: 60px;
            bottom: 40px;
            padding-right: 50px; }
        .sengan_main > .deco02 > .fair {
          padding-top: 35px;
          position: relative; }
          .sengan_main > .deco02 > .fair::before {
            content: "";
            position: absolute;
            content: "";
            background: url(../images/main/fair/fukidashi.svg) no-repeat center top;
            background-size: contain;
            width: 100px;
            height: 48px;
            top: -30px;
            right: 78px; }
          .sengan_main > .deco02 > .fair > dl > dt {
            font-size: 22px;
            height: 54px;
            width: calc(100% - 190px);
            margin: 0 0 -31px; }
          .sengan_main > .deco02 > .fair > dl > dd {
            font-weight: bold;
            font-size: 15px;
            padding: 45px 190px 30px 0; }
            .sengan_main > .deco02 > .fair > dl > dd > strong > span {
              font-size: 13px; }
          .sengan_main > .deco02 > .fair > .present {
            width: 186px;
            position: absolute;
            right: 30px;
            top: 50%;
            transform: translateY(-50%); }
            .sengan_main > .deco02 > .fair > .present > img {
              margin: 0 auto -36px; }
            .sengan_main > .deco02 > .fair > .present > div {
              width: 175px;
              height: 175px;
              padding: 2px; }
          .sengan_main > .deco02 > .fair > .info {
            padding-right: 180px;
            padding-left: 15px; }
            .sengan_main > .deco02 > .fair > .info > a {
              width: 170px;
              height: 25px;
              border-radius: 13px;
              margin: -12.5px auto 10px;
              font-size: 13px; }
            .sengan_main > .deco02 > .fair > .info > p {
              font-size: 11.5px; } }
  @media (max-width: 767.98px) {
    .sengan_main {
      background-image: url(../images/main/sp/back.avif); }
      .sengan_main > h1 {
        padding: 22.5px 0 364px;
        width: 238px;
        margin: 0 auto;
        display: flex;
        flex-direction: column; }
        .sengan_main > h1 > img {
          width: 228px;
          margin: -50px -13px 0 0; }
      .sengan_main > .deco01 {
        width: 206px;
        right: calc(50% + 8px);
        top: 215px; }
        .sengan_main > .deco01 > picture:first-child {
          margin-bottom: 10px; }
        .sengan_main > .deco01 > div {
          height: 21px;
          background-color: #004ea2;
          border-radius: 11px;
          margin-top: 45px; }
          .sengan_main > .deco01 > div > img {
            width: 116px;
            bottom: 10px;
            right: 24px; }
      .sengan_main > .deco02 {
        width: 100%;
        left: 0;
        top: 484px;
        border-radius: 90px 0 0 90px; }
        .sengan_main > .deco02::before {
          content: "";
          position: absolute;
          right: 0;
          bottom: 100%;
          width: 90px;
          height: 90px;
          display: block;
          background: url(../images/main/fair/deco.svg) no-repeat center/cover; }
        .sengan_main > .deco02 > figure {
          width: 171px;
          top: -233px;
          left: calc(50% + 4px); }
          .sengan_main > .deco02 > figure > img {
            transform: rotate(-0.61deg); }
          .sengan_main > .deco02 > figure > figcaption {
            z-index: 2;
            max-width: 176px;
            width: calc(50vw - 4px - 32px);
            height: 44px;
            font-size: 13px;
            left: 32px;
            bottom: 55px;
            justify-content: flex-start;
            padding-left: 31px; }
        .sengan_main > .deco02 > .fair {
          padding: 42px 0 55px;
          position: relative; }
          .sengan_main > .deco02 > .fair > .present {
            width: 147px;
            margin: 0 auto; }
            .sengan_main > .deco02 > .fair > .present > img {
              margin: 0 auto -25px; }
            .sengan_main > .deco02 > .fair > .present > div {
              width: 125px;
              height: 125px;
              padding: 2px; }
          .sengan_main > .deco02 > .fair > dl > dt {
            font-size: 22px;
            height: 52px;
            margin: -30px 0 -31px; }
          .sengan_main > .deco02 > .fair > dl > dd {
            font-weight: bold;
            font-size: 15px;
            padding: 45px 0 30px 0; }
            .sengan_main > .deco02 > .fair > dl > dd > strong > span {
              font-size: 13px; }
          .sengan_main > .deco02 > .fair > .info > a {
            width: 170px;
            height: 25px;
            border-radius: 13px;
            margin: -12.5px auto 10px;
            font-size: 13px; }
          .sengan_main > .deco02 > .fair > .info > p {
            font-size: 12px; }
        .sengan_main > .deco02::after {
          content: "";
          position: absolute;
          right: 0;
          top: 100%;
          width: 90px;
          height: 90px;
          display: block;
          background: url(../images/main/fair/deco.svg) no-repeat center/cover;
          transform: rotate(-90deg); }
      .sengan_main .awa_container {
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: calc(100vw * 345 / 390); }
        .sengan_main .awa_container > .left, .sengan_main .awa_container > .right {
          width: 16vw;
          position: absolute;
          top: 0;
          height: 100%;
          display: flex;
          align-items: center;
          flex-direction: column;
          justify-content: flex-end; }
        .sengan_main .awa_container > .left {
          left: 5%; }
        .sengan_main .awa_container > .right {
          right: 10%;
          transform: scale(0.5) translate3d(-20px, -60px, 0px); }
      .sengan_main .awa00 {
        width: 100%;
        height: calc(100vw * 200 / 390);
        position: relative; }
        .sengan_main .awa00 > span {
          position: absolute;
          border: 2px solid white;
          border-radius: 50%; }
          .sengan_main .awa00 > span:nth-child(1), .sengan_main .awa00 > span:nth-child(2), .sengan_main .awa00 > span:nth-child(5) {
            background-color: white; }
          .sengan_main .awa00 > span:nth-child(1) {
            left: 27px;
            top: 0;
            width: 10px;
            height: 10px; }
          .sengan_main .awa00 > span:nth-child(2) {
            right: 0px;
            top: 17.18%;
            width: 13px;
            height: 13px; }
          .sengan_main .awa00 > span:nth-child(3) {
            right: 5px;
            top: 37.44%;
            width: 21px;
            height: 21px; }
          .sengan_main .awa00 > span:nth-child(4) {
            left: 2px;
            top: 62.99%;
            width: 27px;
            height: 27px; }
          .sengan_main .awa00 > span:nth-child(5) {
            left: 0px;
            top: 83.7%;
            width: 13px;
            height: 13px; }
          .sengan_main .awa00 > span:nth-child(6) {
            left: 20px;
            bottom: 0px;
            width: 12px;
            height: 12px; } }

.sengan_nayami {
  background: url(../images/q/back.png) repeat center;
  text-align: center;
  position: relative;
  overflow: hidden; }
  .sengan_nayami > p {
    letter-spacing: .04em;
    color: #004ea2; }
  .sengan_nayami > img {
    position: absolute;
    transition: transform .8s ease-in-out;
    transform: rotate(10.96deg) translateY(250px); }
    .sengan_nayami > img.inview {
      transform: rotate(10.96deg) translateY(0); }
  .sengan_nayami > .deco {
    position: absolute;
    left: -1px;
    bottom: -1px;
    width: calc(100% + 2px);
    display: block; }
  @media (min-width: 768px) {
    .sengan_nayami {
      display: flex;
      justify-content: center;
      align-items: center;
      background-size: 82px 76px;
      padding: 175px 0 260px; }
      .sengan_nayami > h2 {
        width: 350px; }
        .sengan_nayami > h2 picture {
          display: inline-block;
          opacity: 0;
          transform: scale(0.8);
          transform-origin: 0% 100%;
          transition: transform .8s ease-in-out, opacity .8s; }
        .sengan_nayami > h2.inview picture,
        .sengan_nayami > h2.inview img[src*="sp_00.svg"],
        .sengan_nayami > h2.inview img[src*="sp_01.svg"] {
          opacity: 1;
          transform: scale(1); }
      .sengan_nayami > p {
        font-size: 15px;
        margin-left: 30px; }
      .sengan_nayami > img {
        width: 287px;
        left: 392px;
        bottom: -100px; }
      .sengan_nayami > .deco {
        background: url(../images/q/deco/pc.svg) no-repeat center bottom/100% auto;
        height: 250px; } }
  @media (max-width: 767.98px) {
    .sengan_nayami {
      background-size: 41px 38px;
      padding: 309px 0 220px;
      margin: 0 -15px; }
      .sengan_nayami > h2 {
        max-width: 350px;
        width: calc(100% - 25px);
        margin: 0 auto 5px;
        position: relative; }
        .sengan_nayami > h2 picture {
          display: inline-block;
          opacity: 0;
          transform: scale(0.8);
          transform-origin: 100% 100%;
          transition: transform .8s ease-in-out, opacity .8s; }
        .sengan_nayami > h2 img[src*="sp_00.svg"],
        .sengan_nayami > h2 img[src*="sp_01.svg"] {
          width: 300px;
          position: absolute;
          top: 0;
          left: calc(50% - 150px);
          opacity: 0;
          transform: scale(0.8);
          transform-origin: 100% 100%;
          transition: transform .8s ease-in-out, opacity .8s; }
        .sengan_nayami > h2 img[src*="sp_00.svg"] {
          transition-delay: .4s; }
        .sengan_nayami > h2 img[src*="sp_01.svg"] {
          transition-delay: .2s; }
        .sengan_nayami > h2.inview picture,
        .sengan_nayami > h2.inview img[src*="sp_00.svg"],
        .sengan_nayami > h2.inview img[src*="sp_01.svg"] {
          opacity: 1;
          transform: scale(1); }
      .sengan_nayami > p {
        font-size: 15px;
        margin-left: 30px; }
      .sengan_nayami > img {
        width: 206px;
        left: calc(50% - 76px);
        bottom: -65px; }
      .sengan_nayami > .deco {
        background: url(../images/q/deco/sp.svg) no-repeat center bottom/auto 101%;
        height: 56px; }
        .sengan_nayami > .deco::before, .sengan_nayami > .deco::after {
          content: "";
          background: url(../images/main/fair/deco.svg) no-repeat center;
          width: 50px;
          height: 50px;
          position: absolute;
          bottom: 100%; }
        .sengan_nayami > .deco::before {
          left: 0;
          transform: rotate(90deg); }
        .sengan_nayami > .deco::after {
          right: 0; }
        .sengan_nayami > .deco > div {
          height: 3px;
          position: absolute;
          left: 0;
          bottom: -1px;
          width: 100%;
          background-color: white;
          z-index: 4; } }

.nayami_sentaku {
  text-align: center; }
  .nayami_sentaku > h3 {
    position: relative;
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.1em; }
  .nayami_sentaku .tsukuru_btn {
    border: none;
    outline: none;
    transition: filter .6s; }
    .nayami_sentaku .tsukuru_btn[disabled] {
      opacity: 0.66;
      filter: grayscale(100%);
      cursor: not-allowed; }
  .nayami_sentaku .checkbox_container {
    display: flex;
    flex-wrap: wrap;
    /* デフォルトのチェックボックスを非表示 */
    /* ラベルの基本スタイル */
    /* チェックされた時のラベルスタイル */ }
    .nayami_sentaku .checkbox_container input[type="checkbox"] {
      display: none; }
    .nayami_sentaku .checkbox_container label {
      cursor: pointer;
      transition: all 0.3s ease;
      display: flex;
      align-items: center;
      justify-content: center;
      background: #AEE1F6;
      background: linear-gradient(0deg, #aee1f6 0%, #ebf6ff 100%);
      color: #004ea2;
      box-shadow: 0 4px 4px rgba(0, 78, 162, 0.5); }
    .nayami_sentaku .checkbox_container input[type="checkbox"]:checked + label {
      color: white;
      background: #5DBAE5;
      background: linear-gradient(90deg, #5dbae5 0%, #3f6fcf 100%);
      box-shadow: none; }
  @media (min-width: 768px) {
    .nayami_sentaku {
      padding-bottom: 30px; }
      .nayami_sentaku > h3 {
        width: fit-content;
        margin: 20px auto 30px;
        font-size: 23px;
        padding: 0 10px 0 20px; }
        .nayami_sentaku > h3 .en {
          font-size: 40px; }
        .nayami_sentaku > h3::before {
          content: '';
          background-color: #f9d3dd;
          height: 8px;
          border-radius: 20px;
          position: absolute;
          bottom: 5px;
          left: 0;
          z-index: -1;
          transition: width .8s ease-out;
          width: 0%; }
        .nayami_sentaku > h3.inview::before {
          width: 100%; }
      .nayami_sentaku > .text {
        font-size: 15px; }
      .nayami_sentaku .img_02 {
        width: 194px;
        margin: 50px auto 20px; }
      .nayami_sentaku .tsukuru_btn {
        width: 375px; }
      .nayami_sentaku .checkbox_container {
        width: 800px;
        margin: 40px auto 0;
        justify-content: center; }
        .nayami_sentaku .checkbox_container label {
          margin: 12px;
          width: 150px;
          height: 34px;
          border-radius: 17px;
          font-size: 16px; }
        .nayami_sentaku .checkbox_container label:hover {
          color: white;
          background: #5DBAE5;
          background: linear-gradient(90deg, #5dbae5 0%, #3f6fcf 100%); } }
  @media (max-width: 767.98px) {
    .nayami_sentaku {
      padding-bottom: 30px; }
      .nayami_sentaku > h3 {
        margin: 20px auto 25px;
        font-size: 23px;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px; }
        .nayami_sentaku > h3 .en {
          font-size: 40px; }
        .nayami_sentaku > h3 > span {
          position: relative;
          width: fit-content;
          padding: 0 5px; }
          .nayami_sentaku > h3 > span::before {
            content: '';
            background-color: #f9d3dd;
            width: 100%;
            height: 8px;
            border-radius: 20px;
            position: absolute;
            bottom: 5px;
            left: 0;
            z-index: -1;
            transition: width .8s ease-out;
            width: 0%; }
          .nayami_sentaku > h3 > span:nth-child(1)::before {
            transition-delay: .2s; }
          .nayami_sentaku > h3 > span:nth-child(2)::before {
            transition-delay: .6s; }
        .nayami_sentaku > h3.inview > span::before {
          width: 100%; }
      .nayami_sentaku > .text {
        font-size: 15px; }
      .nayami_sentaku .img_02 {
        width: 192px;
        margin: 20px auto 10px; }
      .nayami_sentaku .tsukuru_btn {
        width: 100%; }
      .nayami_sentaku .checkbox_container {
        width: 100%;
        margin: 12px auto 0;
        justify-content: flex-start; }
        .nayami_sentaku .checkbox_container label {
          margin: 12.5px;
          width: calc(50% - 25px);
          height: 34px;
          border-radius: 17px;
          font-size: 16px; } }

@media (min-width: 768px) {
  .nayami_outer {
    position: relative; }
    .nayami_outer > .container {
      position: relative;
      z-index: 2; }
    .nayami_outer > .awa_container > div {
      justify-content: flex-end;
      padding-bottom: 180px; }
      .nayami_outer > .awa_container > div > img {
        width: 90px;
        transform: scale(-1, 1);
        margin-top: 50px; } }
@keyframes hand_pc {
  0% {
    transform: translateX(-286px); }
  60% {
    transform: translateX(0px); }
  80% {
    transform: translateX(0px); }
  100% {
    transform: translateX(-286px); } }
.cocktail_container {
  background: url(../images/cocktail/back.png) repeat center;
  text-align: center;
  position: relative;
  overflow: hidden; }
  .cocktail_container > .container {
    position: relative;
    z-index: 2; }
    .cocktail_container > .container > .sentaku_text {
      display: flex;
      justify-content: center;
      align-items: center; }
      .cocktail_container > .container > .sentaku_text > strong {
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        background: #5DBAE5;
        background: linear-gradient(90deg, #5dbae5 0%, #3f6fcf 100%); }
    .cocktail_container > .container > .pittari {
      color: white; }
      .cocktail_container > .container > .pittari > span {
        color: #f5b5c7; }
    .cocktail_container > .container > .cocktail_detail > .img {
      position: relative; }
      .cocktail_container > .container > .cocktail_detail > .img > .cocktail_circle {
        border: solid white 1px;
        overflow: hidden;
        border-radius: 50%;
        position: relative;
        margin: 0 auto; }
        .cocktail_container > .container > .cocktail_detail > .img > .cocktail_circle::before {
          content: "";
          display: block;
          background-color: #5cb9e4;
          padding: 0 0 30%;
          position: absolute;
          left: 0;
          bottom: 0;
          width: 100%;
          z-index: 1; }
        .cocktail_container > .container > .cocktail_detail > .img > .cocktail_circle > img {
          position: relative;
          z-index: 2;
          right: 100%;
          transition: 1.2s;
          transition-timing-function: linear; }
        .cocktail_container > .container > .cocktail_detail > .img > .cocktail_circle::after {
          content: "";
          position: absolute;
          z-index: 3;
          display: block;
          position: absolute;
          width: 50%;
          left: 0;
          bottom: 25%;
          padding: 0 0 33%;
          background: url(../images/cocktail/hand.avif) no-repeat left center;
          background-size: contain; }
        .cocktail_container > .container > .cocktail_detail > .img > .cocktail_circle.inview > img {
          right: 0; }
        .cocktail_container > .container > .cocktail_detail > .img > .cocktail_circle.inview::after {
          animation-duration: 2s;
          animation-timing-function: linear;
          animation-fill-mode: both; }
      .cocktail_container > .container > .cocktail_detail > .img > p {
        position: relative;
        z-index: 2; }
        .cocktail_container > .container > .cocktail_detail > .img > p > strong {
          background-color: white;
          color: #004ea2;
          letter-spacing: .06em;
          padding-left: .06em;
          display: flex;
          justify-content: center;
          align-items: center;
          clip-path: polygon(0 0, 100% 0, 95% 50%, 100% 100%, 0 100%, 5% 50%);
          width: 100%;
          height: 100%;
          position: absolute;
          z-index: 2; }
        .cocktail_container > .container > .cocktail_detail > .img > p::before {
          content: "";
          position: absolute;
          width: 100%;
          height: 100%;
          display: block;
          background-color: #004ea2;
          filter: blur(4px);
          opacity: .8;
          transform: translateY(4px); }
      .cocktail_container > .container > .cocktail_detail > .img > .awa01 {
        right: calc(50% + 126px);
        top: -22px; }
      .cocktail_container > .container > .cocktail_detail > .img > .awa02 {
        left: calc(50% + 98px);
        top: 7px; }
      .cocktail_container > .container > .cocktail_detail > .img > .awa03 {
        left: calc(50% + 155px);
        top: 206px; }
    .cocktail_container > .container > .cocktail_detail > .text {
      color: white;
      line-height: 1.833em; }
      .cocktail_container > .container > .cocktail_detail > .text > strong {
        background: #F5B5C7;
        background: linear-gradient(0deg, rgba(245, 181, 199, 0) 15%, #f5b5c7 15%, #f5b5c7 85%, rgba(245, 181, 199, 0) 85%);
        color: #004ea2;
        display: inline-block;
        padding: 0 2px; }
      .cocktail_container > .container > .cocktail_detail > .text > span {
        color: #f5b5c7; }
  .cocktail_container > .bunny {
    position: absolute; }
  .cocktail_container > .awa01 {
    right: calc(50% + 126px);
    bottom: 126px; }
  .cocktail_container > .awa02 {
    left: calc(50% + 98px);
    bottom: 96px; }
  .cocktail_container > .awa03 {
    left: calc(50% + 131px);
    bottom: 52px; }
  @media (min-width: 768px) {
    .cocktail_container {
      background-size: 82px 76px;
      padding: 64px 0 240px; }
      .cocktail_container > .container > .sentaku_text > strong {
        width: 150px;
        height: 34px;
        border-radius: 17px;
        font-size: 16px; }
      .cocktail_container > .container > .sentaku_text > img {
        width: 15px;
        margin: 0 5px; }
      .cocktail_container > .container > .pittari {
        font-size: 25px;
        margin: 38px auto 50px; }
      .cocktail_container > .container > .cocktail_detail {
        display: flex;
        justify-content: center;
        align-items: center; }
        .cocktail_container > .container > .cocktail_detail > .img {
          width: 420px; }
          .cocktail_container > .container > .cocktail_detail > .img > .cocktail_circle {
            width: 286px;
            height: 286px; }
            .cocktail_container > .container > .cocktail_detail > .img > .cocktail_circle::after {
              transform: translateX(-286px); }
            .cocktail_container > .container > .cocktail_detail > .img > .cocktail_circle.inview::after {
              animation-name: hand_pc; }
          .cocktail_container > .container > .cocktail_detail > .img > p {
            width: 300px;
            height: 60px;
            font-size: 23px;
            margin: -15px auto 0; }
        .cocktail_container > .container > .cocktail_detail > .text {
          width: 420px;
          font-size: 15px;
          letter-spacing: .04em;
          padding-left: .04em; }
      .cocktail_container > .bunny {
        width: 158px;
        left: calc(50% - 79px);
        bottom: -157px; }
      .cocktail_container > .awa_container > div > img {
        width: 146px;
        transform: scale(-1, 1);
        margin-top: 50px; } }
  @media (max-width: 767.98px) {
    .cocktail_container {
      background-size: 41px 38px;
      padding-bottom: 220px; }
      .cocktail_container > .sp_deco {
        background-color: white;
        width: calc(100% - 90px);
        height: 90px;
        position: relative;
        margin-bottom: 65px; }
        .cocktail_container > .sp_deco::before, .cocktail_container > .sp_deco::after {
          content: "";
          display: block;
          position: absolute;
          background-repeat: no-repeat;
          background-position: center;
          background-size: cover;
          width: 90px;
          height: 90px; }
        .cocktail_container > .sp_deco::before {
          left: 100%;
          top: 0;
          background-image: url(../images/cocktail/deco.svg); }
        .cocktail_container > .sp_deco::after {
          top: 100%;
          left: 0;
          background-image: url(../images/main/fair/deco.svg);
          transform: rotate(180deg); }
      .cocktail_container > .container {
        padding: 0; }
        .cocktail_container > .container > .sentaku_text > strong {
          width: 150px;
          height: 34px;
          border-radius: 17px;
          font-size: 16px; }
        .cocktail_container > .container > .sentaku_text > img {
          width: 15px;
          margin: 0 5px; }
        .cocktail_container > .container > .pittari {
          font-size: 25px;
          margin: 30px auto 25px; }
        .cocktail_container > .container > .cocktail_detail > .img {
          margin: 0 0 25px; }
          .cocktail_container > .container > .cocktail_detail > .img > .cocktail_circle {
            width: 286px;
            height: 286px; }
            .cocktail_container > .container > .cocktail_detail > .img > .cocktail_circle::after {
              transform: translateX(-286px); }
            .cocktail_container > .container > .cocktail_detail > .img > .cocktail_circle.inview::after {
              animation-name: hand_pc; }
          .cocktail_container > .container > .cocktail_detail > .img > p {
            width: 300px;
            height: 60px;
            font-size: 23px;
            margin: -15px auto 0; }
        .cocktail_container > .container > .cocktail_detail > .text {
          font-size: 15px; }
      .cocktail_container > .bunny {
        width: 156px;
        left: calc(50% - 78px);
        bottom: -157px; } }

.item_container {
  overflow: hidden;
  background-color: #dcf0ff; }
  .item_container > .lead {
    transition: transform .5s .5s ease-in-out;
    transform: translateY(-100%); }
    .item_container > .lead > p {
      display: flex;
      color: #004ea2;
      font-weight: bold;
      margin: 0; }
      .item_container > .lead > p > strong {
        background-color: white;
        display: inline-flex;
        justify-content: center;
        align-items: center; }
    .item_container > .lead.inview {
      transform: translateY(0); }
  .item_container > .container > .otameshi {
    color: #004ea2;
    font-weight: bold;
    font-size: 30px;
    text-align: center; }
    .item_container > .container > .otameshi > span {
      display: block;
      font-size: 18px;
      color: #f76e86; }
      .item_container > .container > .otameshi > span > span {
        display: inline-flex;
        align-items: center;
        position: relative;
        height: 2.1em; }
        .item_container > .container > .otameshi > span > span::before, .item_container > .container > .otameshi > span > span::after {
          height: 100%;
          content: "";
          display: block;
          width: 2px;
          background-color: #f76e86; }
        .item_container > .container > .otameshi > span > span::before {
          margin-right: .8em;
          transform: rotate(-30deg); }
        .item_container > .container > .otameshi > span > span::after {
          margin-left: .8em;
          transform: rotate(30deg); }
  .item_container > .container > .item_detail > .img {
    position: relative; }
    .item_container > .container > .item_detail > .img > picture {
      position: absolute;
      z-index: 1; }
    .item_container > .container > .item_detail > .img > .gentei {
      position: absolute;
      display: block;
      z-index: 3; }
    .item_container > .container > .item_detail > .img > .photo {
      width: 100%;
      height: 100%;
      display: block;
      align-items: center;
      justify-content: center;
      position: relative;
      z-index: 2; }
  .item_container > .container > .item_detail > .text {
    color: #004ea2;
    display: flex;
    flex-direction: column;
    align-items: center; }
    .item_container > .container > .item_detail > .text > .name {
      text-align: center; }
    .item_container > .container > .item_detail > .text > .info {
      font-weight: normal; }
    .item_container > .container > .item_detail > .text > .price > small {
      font-weight: bold; }
    .item_container > .container > .item_detail > .text > .kome {
      font-weight: normal;
      background-color: white;
      padding: .25em 1em; }
  .item_container > .container > .item_info {
    font-weight: normal;
    line-height: 1.9em;
    color: #666666; }
    .item_container > .container > .item_info > strong {
      color: #f76e86;
      font-weight: normal; }
    .item_container > .container > .item_info .sup_st {
      font-size: 11px;
      vertical-align: baseline; }
  .item_container > .container > .kounyu_btn {
    background: url(../images/item/btn/back.png) repeat center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    position: relative;
    box-shadow: 0 4px 4px rgba(0, 78, 162, 0.5);
    height: 70px;
    font-size: 20px;
    border-radius: 35px;
    margin: 0 auto; }
    .item_container > .container > .kounyu_btn::after {
      content: "";
      display: block;
      background: url(../images/item/btn/arrow.svg) no-repeat center;
      background-size: contain;
      width: 20px;
      height: 20px;
      position: absolute;
      right: 25px;
      top: calc(50% - 10px); }
  .item_container > .container > .btn_bottom_text {
    text-align: center;
    font-weight: bold;
    color: #004ea2;
    margin: .75em auto 0; }
  @media (min-width: 768px) {
    .item_container {
      padding-bottom: 182.5px;
      position: relative; }
      .item_container > .lead {
        width: 1000px;
        margin: 0 auto;
        background: url(../images/item/deco/pc.svg) no-repeat center top/1000px auto;
        height: 182px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding-bottom: 72px;
        position: relative;
        z-index: 2; }
        .item_container > .lead > p {
          font-size: 15px; }
          .item_container > .lead > p > span {
            padding-top: 2px; }
          .item_container > .lead > p > strong {
            width: 340px;
            font-size: 17px;
            height: 24px;
            margin: 0 10px;
            padding-top: 1px; }
      .item_container > .container {
        position: relative;
        z-index: 2; }
        .item_container > .container > .otameshi {
          margin: 20px 0 50px; }
        .item_container > .container > .item_detail {
          display: flex;
          align-items: center;
          justify-content: center; }
          .item_container > .container > .item_detail > .img {
            width: 352px;
            height: 344px; }
            .item_container > .container > .item_detail > .img > picture {
              width: 70px;
              height: 378px;
              right: calc(100% - 10px);
              top: 50%;
              transform: translateY(-50%); }
            .item_container > .container > .item_detail > .img > .gentei {
              width: 57px;
              height: 57px;
              right: 14px;
              top: 61px; }
          .item_container > .container > .item_detail > .text {
            width: 350px; }
            .item_container > .container > .item_detail > .text > .name {
              font-size: 20px; }
            .item_container > .container > .item_detail > .text > .info {
              font-size: 13px; }
              .item_container > .container > .item_detail > .text > .info span {
                border: 1px solid #004ea2;
                padding: 1px 18px 2px;
                font-size: 12px;
                text-align: center;
                margin: 0 10px 0 0; }
            .item_container > .container > .item_detail > .text > .price {
              margin: 20px 0 10px; }
              .item_container > .container > .item_detail > .text > .price > strong {
                font-size: 26px; }
              .item_container > .container > .item_detail > .text > .price > small {
                font-size: 12px; }
            .item_container > .container > .item_detail > .text > .kome {
              font-size: 12px; }
        .item_container > .container > .item_info {
          text-align: center;
          margin: 40px 0; }
          .item_container > .container > .item_info .item_small_box {
            line-height: 1.4;
            display: block; }
          .item_container > .container > .item_info small {
            font-size: 13px;
            display: inline-block;
            line-height: 1.4; }
        .item_container > .container > .kounyu_btn {
          background-size: 41px 32px;
          width: 350px; }
        .item_container > .container > .btn_bottom_text {
          font-size: 15px; }
      .item_container > .awa_container > div > .awa00 {
        margin: 75px 0; } }
  @media (max-width: 767.98px) {
    .item_container {
      padding-bottom: 80px; }
      .item_container > .lead {
        margin: 0 auto;
        background-color: #f5b5c7; }
        .item_container > .lead > p {
          font-size: 15px;
          flex-direction: column;
          align-items: center;
          padding: 15px 0; }
          .item_container > .lead > p > span {
            padding-top: 2px; }
          .item_container > .lead > p > strong {
            width: 340px;
            font-size: 17px;
            height: 24px;
            margin: 0 10px;
            padding-top: 1px; }
        .item_container > .lead > .sp_deco {
          display: flex;
          justify-content: space-between; }
          .item_container > .lead > .sp_deco > div {
            width: calc(50% - 55px);
            height: 55px;
            position: relative;
            background-color: #dcf0ff; }
            .item_container > .lead > .sp_deco > div::before, .item_container > .lead > .sp_deco > div::after {
              content: "";
              position: absolute;
              width: 55px;
              height: 55px;
              display: block;
              background-size: cover;
              background-repeat: no-repeat;
              background-position: center; }
            .item_container > .lead > .sp_deco > div::before {
              bottom: 100%;
              background: url(../images/item/deco/02.svg); }
            .item_container > .lead > .sp_deco > div::after {
              bottom: 0;
              background: url(../images/item/deco/01.svg); }
            .item_container > .lead > .sp_deco > div:nth-child(1)::before {
              left: 0;
              transform: rotate(90deg); }
            .item_container > .lead > .sp_deco > div:nth-child(1)::after {
              left: 100%;
              transform: rotate(-90deg); }
            .item_container > .lead > .sp_deco > div:nth-child(2)::before {
              right: 0; }
            .item_container > .lead > .sp_deco > div:nth-child(2)::after {
              right: 100%;
              transform: rotate(180deg); }
      .item_container > .container > .item_detail {
        margin: 50px -15px 25px; }
        .item_container > .container > .item_detail > .img {
          height: 344px;
          width: 100%;
          max-width: 400px;
          margin: 0 auto; }
          .item_container > .container > .item_detail > .img > picture {
            width: 100%;
            height: 69px;
            left: 0;
            bottom: calc(100% - 40px);
            text-align: center;
            overflow: hidden;
            transition: transform .3s .2s ease-in-out;
            transform: translateX(-100%); }
            .item_container > .container > .item_detail > .img > picture > img {
              width: auto;
              height: 100%; }
            .item_container > .container > .item_detail > .img > picture.inview {
              transform: translateX(0); }
          .item_container > .container > .item_detail > .img > .gentei {
            width: 57px;
            height: 57px;
            right: 14px;
            top: 61px; }
          .item_container > .container > .item_detail > .img > .photo {
            width: 350px;
            margin: 0 auto; }
        .item_container > .container > .item_detail > .text {
          margin: 25px 0; }
          .item_container > .container > .item_detail > .text > .name {
            font-size: 20px; }
          .item_container > .container > .item_detail > .text > .info {
            font-size: 13px; }
            .item_container > .container > .item_detail > .text > .info span {
              border: 1px solid #004ea2;
              padding: 1px 18px 2px;
              font-size: 12px;
              text-align: center;
              margin: 0 10px 0 0; }
          .item_container > .container > .item_detail > .text > .price {
            margin: 20px 0 0; }
            .item_container > .container > .item_detail > .text > .price > strong {
              font-size: 26px; }
            .item_container > .container > .item_detail > .text > .price > small {
              font-size: 12px; }
          .item_container > .container > .item_detail > .text > .kome {
            font-size: 12px;
            margin: 10px 0 0 0; }
      .item_container > .container > .item_info {
        padding: 0 10px;
        margin: 20px 0 30px;
        font-size: 15px; }
        .item_container > .container > .item_info .item_small_box {
          line-height: 1.0;
          display: block;
          margin: 11px 0 0 0; }
          .item_container > .container > .item_info .item_small_box small {
            padding-left: 2em;
            text-indent: -2em; }
        .item_container > .container > .item_info .one_sm {
          margin: 10px 0 0 0; }
        .item_container > .container > .item_info small {
          font-size: 13px;
          display: block;
          padding-left: 1em;
          text-indent: -1em;
          line-height: 1.2; }
      .item_container > .container > .kounyu_btn {
        background-size: 20.5px 16px;
        width: 100%; }
      .item_container > .container > .btn_bottom_text {
        font-size: 15px; } }

.item_bottom_fair_container {
  position: relative; }
  .item_bottom_fair_container > .warukeru {
    position: absolute; }
  @media (min-width: 768px) {
    .item_bottom_fair_container {
      margin: -122.5px 0; }
      .item_bottom_fair_container > .warukeru {
        width: 80px;
        left: calc(50% + 440px);
        top: 60px;
        animation: warukeru_slideIn 9s ease-in-out infinite;
        z-index: 2; }
    @keyframes warukeru_slideInOut {
      0% {
        transform: translateX(0); }
      20% {
        transform: translateX(-200px); }
      40% {
        transform: translateX(0); }
      100% {
        transform: translateX(0); } }
    @keyframes warukeru_slideIn {
      0% {
        transform: translateX(0) scale(1, 1); }
      10% {
        transform: translateX(0) scale(1, 1); }
      40% {
        transform: translateX(-1000px); }
      50% {
        transform: translateX(-1000px) scale(-1, 1); }
      60% {
        transform: translateX(-1000px) scale(-1, 1); }
      90% {
        transform: translateX(0) scale(-1, 1); }
      100% {
        transform: translateX(0) scale(1, 1); } } }
  @media (max-width: 767.98px) {
    .item_bottom_fair_container .warukeru {
      width: 100%;
      padding: 0 20px;
      height: 110px;
      right: 0;
      top: 70px;
      z-index: 0;
      position: absolute; }
      .item_bottom_fair_container .warukeru > img {
        width: 65px;
        position: absolute;
        left: calc(50% + 100px);
        top: -13px;
        animation: warukeru_slideIn 9s ease-in-out infinite; }
    @keyframes warukeru_slideInOut {
      0% {
        transform: translateX(0); }
      20% {
        transform: translateX(150px); }
      40% {
        transform: translateX(0); }
      100% {
        transform: translateX(0); } }
    @keyframes warukeru_slideIn {
      0% {
        transform: translateX(0) scale(1, 1); }
      10% {
        transform: translateX(0) scale(1, 1); }
      40% {
        transform: translateX(-275px); }
      50% {
        transform: translateX(-275px) scale(-1, 1); }
      60% {
        transform: translateX(-275px) scale(-1, 1); }
      90% {
        transform: translateX(0) scale(-1, 1); }
      100% {
        transform: translateX(0) scale(1, 1); } } }

.item_bottom_fair {
  position: relative;
  text-align: center;
  z-index: 3; }
  .item_bottom_fair > .fair > dl > dt {
    background: url(../images/main/fair/ttl.svg) no-repeat center;
    background-size: contain;
    color: transparent;
    position: relative; }
  .item_bottom_fair > .fair > dl > dd {
    background-color: #fdf1f4;
    color: #004ea2; }
    .item_bottom_fair > .fair > dl > dd > strong {
      color: #f76e86; }
  .item_bottom_fair > .fair > .present > img {
    display: block; }
  .item_bottom_fair > .fair > .present > div {
    background: #004EA2;
    background: linear-gradient(0deg, #004ea2 0%, #5dbae5 100%);
    border-radius: 50%;
    margin: 0 auto; }
    .item_bottom_fair > .fair > .present > div > div {
      aspect-ratio: 1/1;
      width: 100%;
      height: 100%;
      overflow: hidden;
      border-radius: 50%; }
      .item_bottom_fair > .fair > .present > div > div > img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center; }
  .item_bottom_fair > .fair > .info > a {
    border: #004ea2 solid 1px;
    background-color: white;
    display: flex;
    align-items: center;
    justify-content: center; }
  .item_bottom_fair > .fair > .info > p {
    color: #808080; }
  @media (min-width: 768px) {
    .item_bottom_fair {
      width: 755px;
      height: 245px;
      border-radius: 45px;
      margin: 0 auto;
      background-color: white; }
      .item_bottom_fair > .fair {
        padding-top: 35px;
        position: relative; }
        .item_bottom_fair > .fair::before {
          content: "";
          position: absolute;
          content: "";
          background: url(../images/main/fair/fukidashi.svg) no-repeat center top;
          background-size: contain;
          width: 100px;
          height: 48px;
          top: -30px;
          right: 78px; }
        .item_bottom_fair > .fair > dl > dt {
          font-size: 22px;
          height: 54px;
          width: calc(100% - 190px);
          margin: 0 0 -31px; }
        .item_bottom_fair > .fair > dl > dd {
          font-weight: bold;
          font-size: 15px;
          padding: 45px 190px 30px 0; }
          .item_bottom_fair > .fair > dl > dd > strong > span {
            font-size: 13px; }
        .item_bottom_fair > .fair > .present {
          width: 186px;
          position: absolute;
          right: 30px;
          top: 50%;
          transform: translateY(-50%); }
          .item_bottom_fair > .fair > .present > img {
            margin: 0 auto -36px; }
          .item_bottom_fair > .fair > .present > div {
            width: 175px;
            height: 175px;
            padding: 2px; }
        .item_bottom_fair > .fair > .info {
          padding-right: 180px;
          padding-left: 15px; }
          .item_bottom_fair > .fair > .info > a {
            width: 170px;
            height: 25px;
            border-radius: 13px;
            margin: -12.5px auto 10px;
            font-size: 13px; }
          .item_bottom_fair > .fair > .info > p {
            font-size: 11.5px; } }
  @media (max-width: 767.98px) {
    .item_bottom_fair {
      width: 100%;
      border-radius: 90px 0 0 90px; }
      .item_bottom_fair::before {
        content: "";
        position: absolute;
        right: 0;
        bottom: 100%;
        width: 90px;
        height: 90px;
        display: block;
        background: url(../images/main/fair/deco.svg) no-repeat center/cover; }
      .item_bottom_fair > .fair {
        padding: 42px 0 0 0;
        position: relative; }
        .item_bottom_fair > .fair > .present {
          width: 147px;
          margin: 0 auto;
          position: relative;
          z-index: 5; }
          .item_bottom_fair > .fair > .present > img {
            margin: 0 auto -25px; }
          .item_bottom_fair > .fair > .present > div {
            width: 125px;
            height: 125px;
            padding: 2px; }
        .item_bottom_fair > .fair > dl > dt {
          font-size: 22px;
          height: 52px;
          margin: -30px 0 -31px;
          z-index: 10;
          position: relative; }
        .item_bottom_fair > .fair > dl > dd {
          font-weight: bold;
          font-size: 15px;
          padding: 45px 0 30px 0; }
          .item_bottom_fair > .fair > dl > dd > strong > span {
            font-size: 13px; }
        .item_bottom_fair > .fair > .info {
          padding-bottom: 55px;
          background-color: #fff;
          border-radius: 0 0 0 90px; }
          .item_bottom_fair > .fair > .info > a {
            width: 170px;
            height: 25px;
            border-radius: 13px;
            margin: -12.5px auto 10px;
            font-size: 13px; }
          .item_bottom_fair > .fair > .info > p {
            font-size: 12px; }
      .item_bottom_fair::after {
        content: "";
        position: absolute;
        right: 0;
        top: 100%;
        width: 90px;
        height: 90px;
        display: block;
        background: url(../images/main/fair/deco.svg) no-repeat center/cover;
        transform: rotate(-90deg); } }

.different_container {
  background: url(../images/different/back.png) repeat center;
  text-align: center;
  position: relative; }
  .different_container > a {
    display: block;
    margin: 0 auto; }
  @media (min-width: 768px) {
    .different_container {
      background-size: 82px 76px;
      padding: 172.5px 0 80px; }
      .different_container > a {
        width: 356px; } }
  @media (max-width: 767.98px) {
    .different_container {
      background-size: 41px 38px;
      padding: 150px 15px 60px;
      margin-top: -100px; } }

.etc_container {
  background: url(../images/etc/back.png) repeat left top;
  background-size: 43px 30px;
  position: relative;
  animation: nami 2s ease-in-out infinite alternate; }
  .etc_container > .container > .etc_div {
    display: flex;
    align-items: center; }
  .etc_container::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: calc(100% - .5px);
    width: 100%;
    height: 20px;
    background: url(../images/etc/back.png) repeat left bottom;
    background-size: 43px 30px;
    mask-image: url("../images/etc/mask.svg");
    -webkit-mask-image: url("../images/etc/mask.svg");
    mask-mode: alpha;
    mask-repeat: repeat-x;
    mask-size: 1000px auto; }
@keyframes nami {
  0% {
    background-position: calc(50% - 10px) 0;
    /* 左に移動 */ }
  50% {
    background-position: calc(50% + 10px) 0;
    /* 右に移動 */ }
  75% {
    background-position: calc(50% - 0px) 0;
    /* 元に戻る */ }
  100% {
    background-position: calc(50% - 0px) 0;
    /* 元に戻る */ } }
  @media (min-width: 768px) {
    .etc_container {
      padding: 30px 0 40px; }
      .etc_container > .container > .etc_div {
        justify-content: center;
        justify-content: center; }
        .etc_container > .container > .etc_div > p {
          width: 270px;
          margin: 0 50px 0 0; }
        .etc_container > .container > .etc_div > a {
          width: 436px; } }
  @media (max-width: 767.98px) {
    .etc_container {
      padding: 30px 0; }
      .etc_container > .container > .etc_div {
        flex-direction: column; }
        .etc_container > .container > .etc_div > p {
          width: 250px;
          margin: 0 auto 15px; }
        .etc_container > .container > .etc_div > a {
          width: 300px; } }

.inview-fade-up {
  transition: transform .8s ease-in-out, opacity .8s;
  transform: translateY(10px);
  opacity: 0; }
  .inview-fade-up.inview {
    transform: translateY(0);
    opacity: 1; }
