.wrap_1024 {
  width: min(1024px,90%);
  margin-left: auto;
  margin-right: auto;
}
.pegatop_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 1100px) {
  .pegatop_wrap {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.pegatop_wrap > .inner {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  color: #666666;
}
@media screen and (min-width: 1100px) {
  .pegatop_wrap > .inner {
    -ms-flex-preferred-size: 580px;
        flex-basis: 580px;
  }
}
.pegatop_wrap > .inner:first-child {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
}
@media screen and (min-width: 1100px) {
  .pegatop_wrap > .inner:first-child {
    -ms-flex-preferred-size: calc((100% - 580px));
        flex-basis: calc((100% - 580px));
  }
}
.pegatop_wrap > .inner .custom_align {
  text-align: center;
}
@media screen and (min-width: 1100px) {
  .pegatop_wrap > .inner .custom_align {
    text-align: right;
  }
}
.pegatop_wrap > .inner img {
  max-width: 100%;
}
.charm_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px;
  background-image: url(../img/charm_bg.svg);
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: 100%;
  padding-bottom: 85vw;
}
@media screen and (min-width: 750px) {
  .charm_wrap {
    gap: 125px 0px;
    -webkit-box-pack: space-center;
        -ms-flex-pack: space-center;
            justify-content: space-center;
    background-image: url(../img/charm_bg.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: auto;
    padding-bottom: inherit;
  }
}
@media screen and (min-width: 1015px) {
  .charm_wrap {
    gap: 125px;
  }
}
.charm_wrap > .inner {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  text-align: center;
}
@media screen and (min-width: 750px) {
  .charm_wrap > .inner {
    -ms-flex-preferred-size: 300px;
        flex-basis: 300px;
  }
  .charm_wrap > .inner:nth-child(even) {
    margin-left: auto;
  }
}
.charm_wrap > .inner img {
  max-width: 100%;
}
.product_wrap {
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0;
}
.product_wrap .thumb {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
}
@media screen and (min-width: 750px) {
  .product_wrap .thumb {
    -ms-flex-preferred-size: 43.6%;
        flex-basis: 43.6%;
  }
}
.product_wrap .thumb img {
  max-width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.product_wrap .info {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  padding-left: 5%;
  padding-right: 5%;
}
@media screen and (min-width: 750px) {
  .product_wrap .info {
    -ms-flex-preferred-size: 56.4%;
        flex-basis: 56.4%;
    padding-left: 40px;
    padding-right: 40px;
  }
}
.product_wrap .info img {
  max-width: 100%;
}
.contents_wrap {
  background-color: #ffffff;
  border-radius: 40px;
  padding: 38px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px;
}
@media screen and (min-width: 750px) {
  .contents_wrap {
    gap: 4%;
    padding: 5vw;
  }
}
@media screen and (min-width: 1100px) {
  .contents_wrap {
    gap: 80px;
    padding: 64px;
  }
}
.contents_wrap > .thumb {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
}
.contents_wrap > .thumb img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
}
@media screen and (min-width: 750px) {
  .contents_wrap > .thumb {
    -ms-flex-preferred-size: 33%;
        flex-basis: 33%;
  }
  .contents_wrap > .thumb img {
    width: 100%;
    aspect-ratio: 1;
  }
}
@media screen and (min-width: 1100px) {
  .contents_wrap > .thumb {
    -ms-flex-preferred-size: 300px;
        flex-basis: 300px;
  }
  .contents_wrap > .thumb img {
    width: 300px;
    height: 300px;
    aspect-ratio: 1;
  }
}
.contents_wrap > .contents {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
}
@media screen and (min-width: 750px) {
  .contents_wrap > .contents {
    -ms-flex-preferred-size: 63%;
        flex-basis: 63%;
  }
}
@media screen and (min-width: 1100px) {
  .contents_wrap > .contents {
    -ms-flex-preferred-size: calc((100% - 300px - 80px));
        flex-basis: calc((100% - 300px - 80px));
  }
}
.contents_wrap + .contents_wrap {
  margin-top: 40px;
}
@media screen and (min-width: 750px) {
  .contents_wrap + .contents_wrap {
    margin-top: 60px;
  }
}
.normal_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.normal_wrap > .inner {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
}
.normal_wrap > .inner h2 {
  margin-top: 30px;
  margin-bottom: 30px;
  text-align: center;
}
@media screen and (min-width: 1100px) {
  .normal_wrap > .inner {
    -ms-flex-preferred-size: 250px;
        flex-basis: 250px;
  }
  .normal_wrap > .inner h2 {
    margin-top: 0;
    margin-bottom: 0;
    text-align: left;
  }
}
.normal_wrap > .inner:nth-child(even) {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
}
@media screen and (min-width: 1100px) {
  .normal_wrap > .inner:nth-child(even) {
    -ms-flex-preferred-size: calc((100% - 250px));
        flex-basis: calc((100% - 250px));
  }
}
.profile_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.profile_wrap > .inner {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
}
.profile_wrap > .inner h2 {
  margin-top: 30px;
  margin-bottom: 30px;
  text-align: center;
}
@media screen and (min-width: 1100px) {
  .profile_wrap > .inner {
    -ms-flex-preferred-size: 250px;
        flex-basis: 250px;
  }
  .profile_wrap > .inner h2 {
    margin-top: 0;
    margin-bottom: 0;
    text-align: left;
  }
}
.profile_wrap > .inner:nth-child(even) {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
}
@media screen and (min-width: 1100px) {
  .profile_wrap > .inner:nth-child(even) {
    -ms-flex-preferred-size: calc((100% - 250px));
        flex-basis: calc((100% - 250px));
  }
}
.white_wrap {
  background-color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 20px;
  padding: 38px;
}
@media screen and (min-width: 750px) {
  .white_wrap {
    border-radius: 40px;
    padding: 60px;
  }
}
.bg_white {
  -o-border-image: linear-gradient(#ffffff, #ffffff) 0//0 100vw 0 100vw;
     border-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#ffffff)) fill 0//0 100vw 0 100vw;
     border-image: linear-gradient(#ffffff, #ffffff) fill 0//0 100vw 0 100vw;
}
.bg_white hr {
  background-color: #cccccc;
  height: 1px;
}
.bg_black {
  -o-border-image: linear-gradient(#000000, #000000) 0//0 100vw 0 100vw;
     border-image: -webkit-gradient(linear, left top, left bottom, from(#000000), to(#000000)) fill 0//0 100vw 0 100vw;
     border-image: linear-gradient(#000000, #000000) fill 0//0 100vw 0 100vw;
  color: #c7c7c7;
}
.bg_black hr {
  background-color: #cccccc;
  height: 1px;
}
.bg_recluit {
  background-image: url(../img/common/bg_recruit.webp);
  background-repeat: no-repeat;
  background-size: cover;
}
.bg_recluit > .wrap_1024 {
  width: 85%;
}
@media screen and (min-width: 750px) {
  .bg_recluit > .wrap_1024 {
    width: min(1024px,95%);
  }
}
.news_wrap {
  border-bottom: 2px dotted #cccccc;
}
@media screen and (min-width: 750px) {
  .ricruit_wrap {
    display: -ms-grid;
    display: grid;
    gap: 0 4%;
    -ms-grid-rows: auto 0 auto;
    grid-template-rows: auto auto;
    -ms-grid-columns: 254px 4% 1fr;
    grid-template-columns: 254px 1fr;
        grid-template-areas: "thumb bubble" "thumb contents";
  }
  .ricruit_wrap .speech_bubble {
    grid-area: bubble;
  }
  .ricruit_wrap .thumb {
    grid-area: thumb;
  }
  .ricruit_wrap .contents {
    grid-area: contents;
  }
}
@media screen and (min-width: 1100px) {
  .ricruit_wrap {
    display: -ms-grid;
    display: grid;
    gap: 0 64px;
    -ms-grid-rows: auto 0 auto;
    grid-template-rows: auto auto;
    -ms-grid-columns: 254px 64px 1fr;
    grid-template-columns: 254px 1fr;
        grid-template-areas: "thumb bubble" "thumb contents";
  }
  .ricruit_wrap .speech_bubble {
    grid-area: bubble;
  }
  .ricruit_wrap .thumb {
    grid-area: thumb;
  }
  .ricruit_wrap .contents {
    grid-area: contents;
  }
  .ricruit_wrap .speech_bubble {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .ricruit_wrap .thumb {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .ricruit_wrap .contents {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
}
@media screen and (min-width: 750px) {
  .ricruit_wrap .speech_bubble {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .ricruit_wrap .thumb {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .ricruit_wrap .contents {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  .ricruit_wrap .speech_bubble {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .ricruit_wrap .thumb {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .ricruit_wrap .contents {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
}
@media screen and (min-width: 1100px) {
  .ricruit_wrap .speech_bubble {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .ricruit_wrap .thumb {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .ricruit_wrap .contents {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
}
.ricruit_wrap + .ricruit_wrap {
  margin-top: 60px;
}
.footer_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  gap: 15px;
}
@media screen and (min-width: 750px) {
  .footer_wrap {
    gap: 30px;
  }
}
.footer_wrap > .logo {
  width: 59px;
}
.footer_wrap > .info {
  width: calc(100% - 59px - 30px);
}
.top_visual {
  position: relative;
  width: 100%;
}
.top_visual .slide_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  z-index: 0;
}
.top_visual .slide_wrap > .inner {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
}
.top_visual .slide_wrap:after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  right: 0;
  background-image: url(../img/home/mask_sp.webp);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: bottom -1px center;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 750px) {
  .top_visual .slide_wrap:after {
    background-image: url(../img/home/mask_pc.svg);
  }
}
.top_visual .wave_wrap {
  top: 0;
  position: absolute;
  z-index: 2;
  height: auto;
  width: 100%;
}
.top_visual .wave_wrap .wave01 {
  position: absolute;
  z-index: 3;
  top: 0;
  width: 100%;
  animation: floating-y 4s ease-in-out infinite alternate-reverse;
  -webkit-animation-delay: 300ms;
          animation-delay: 300ms;
}
.top_visual .wave_wrap .wave01 img {
  width: 100%;
}
.top_visual .wave_wrap .wave02 {
  position: absolute;
  z-index: 2;
  top: 0;
  animation: floating-y2 4s ease-in-out infinite alternate-reverse;
  -webkit-animation-delay: 2000ms;
          animation-delay: 2000ms;
}
.top_visual .wave_wrap .wave02 img {
  width: 100%;
}
.top_visual .wave_wrap .wave03 {
  position: absolute;
  z-index: 1;
  top: 0;
  animation: floating-y3 4s ease-in-out infinite alternate-reverse;
}
.top_visual .wave_wrap .wave03 img {
  width: 100%;
}
.top_visual .wave_wrap .wave04 {
  position: absolute;
  z-index: 0;
  top: 0;
  animation: floating-y3 4s ease-in-out infinite alternate-reverse;
}
.top_visual .wave_wrap .wave04 img {
  width: 100%;
}
.top_visual .wave_wrap .toplink {
  position: absolute;
  z-index: 4;
  top: 108vw;
  right: -5%;
}
.top_visual .wave_wrap .toplink img {
  width: 50vw;
}
@media screen and (min-width: 750px) {
  .top_visual .wave_wrap .toplink {
    top: 39vw;
    right: 3%;
  }
  .top_visual .wave_wrap .toplink img {
    width: 250px;
  }
}
@-webkit-keyframes floating-y3 {
  0% {
    -webkit-transform: translateY(-1%);
    transform: translateY(-1%);
  }
  100% {
    -webkit-transform: translateY(1%);
    transform: translateY(1%);
  }
}
@keyframes floating-y3 {
  0% {
    -webkit-transform: translateY(-1%);
    transform: translateY(-1%);
  }
  100% {
    -webkit-transform: translateY(1%);
    transform: translateY(1%);
  }
}
@-webkit-keyframes floating-y2 {
  0% {
    -webkit-transform: translateY(1%);
    transform: translateY(1%);
  }
  100% {
    -webkit-transform: translateY(-1%);
    transform: translateY(-1%);
  }
}
@keyframes floating-y2 {
  0% {
    -webkit-transform: translateY(1%);
    transform: translateY(1%);
  }
  100% {
    -webkit-transform: translateY(-1%);
    transform: translateY(-1%);
  }
}
@-webkit-keyframes floating-y {
  0% {
    -webkit-transform: translateY(-0.8%);
    transform: translateY(-0.8%);
  }
  100% {
    -webkit-transform: translateY(0.8%);
    transform: translateY(0.8%);
  }
}
@keyframes floating-y {
  0% {
    -webkit-transform: translateY(-0.8%);
    transform: translateY(-0.8%);
  }
  100% {
    -webkit-transform: translateY(0.8%);
    transform: translateY(0.8%);
  }
}
