@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@500&family=Yusei+Magic&display=swap');
/* 
font-family: 'M PLUS Rounded 1c', sans-serif;
font-family: 'Yusei Magic', sans-serif;
*/

html {
  font-size: 62.5%;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'M PLUS Rounded 1c', sans-serif;
}
li,
a {
  text-decoration: none;
  list-style: none;
}

/* 丸いボタン */
.btn-circle {
  width: 80px;
  height: 55px;
  background-color: #ffffff;
  border-radius: 50px;

  display: flex;
  flex-direction: row;
}

.btn-circle i {
  font-size: 30px;
  color: #0092dd;
}

.flavor-btn,
.about-btn {
  width: 140px;
  height: 55px;

  background-color: #ffffff;
  border-radius: 50px;

  margin: 4% auto;
}

.flavor-btn a,
.about-btn a {
  margin: auto;
  color: #0092dd;
  font-size: 16px;
}

.flavor-btn i,
.about-btn i {
  font-size: 16px;
}

/* font awesome  */
i {
  display: block;
  margin: auto;
  padding: 0;

  font-size: 26px;
}

.nav-fixed i.fa-apple-whole::before,
.nav-fixed i.fa-hand-point-up::before {
  font-size: 28px;
}

/* for pc display none------------------ */
.mobile-none {
  display: none;
}

/* nav-fixed */
.nav-fixed-ul {
  width: 100%;
  max-width: 414px;
  height: 70px;

  position: fixed;
  bottom: 0;
  z-index: 1000;

  display: flex;
  flex-direction: row;
  justify-content: space-around;
}

.nav-fixed-ul li {
  width: 100%;

  background-color: #ffffff;

  display: flex;

  box-shadow: 0px -5px 10px rgba(0, 0, 0, 0.2);
}

.nav-fixed-ul li:nth-child(1) {
  border-radius: 50% 0 0 0;
}

.nav-fixed-ul li:nth-child(4) {
  border-radius: 0 50% 0 0;
  background-color: #ed1b24;
}

.nav-fixed-ul li a {
  width: 100%;
  height: 100%;

  margin: auto;
  padding: 10px 0 8px;

  font-size: 10px;
  font-weight: bold;
  color: #ed1b24;

  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.nav-white i {
  color: #ffffff;
}

.nav-white span {
  color: #ffffff;
}

/* container */
.container {
  width: 100%;
  background-color: #0092dd;
  margin-top: 30px;
}

/* home */
.home-container {
  width: 100%;
  height: 600px;

  border-bottom-left-radius: 50% 10%;
  border-bottom-right-radius: 50% 10%;

  background-image: url(../images/home-top-new.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;

  display: flex;
  position: relative;
}

.home-content {
  width: 85%;
  height: 600px;

  margin: 0 auto;

  display: flex;

  position: relative;
}

.main-logo {
  width: 50px;

  position: fixed;
  top: 40px;
  left: 25px;
  z-index: 900;
}

.main-logo img {
  width: 100%;
  filter: drop-shadow(1px 3px 10px rgba(0, 0, 0, 0.4));
}

.btn-instagram {
  width: 38px;
  height: 38px;

  position: fixed;
  top: 105px;
  left: 33px;
  z-index: 800;

  box-shadow: 1px 3px 10px rgba(0, 0, 0, 0.4);

  animation: moveDown 1s ease-in-out forwards;
}

@keyframes moveDown {
  to {
    top: 135px;
  }
}

.btn-instagram i {
  font-size: 26px;
}

.text-logo {
  width: 95%;
  margin: auto;
  margin-top: 270px;

  transform: translate(0, -90%);
}

.text-logo img {
  width: 100%;
  filter: drop-shadow(1px 3px 10px rgba(0, 0, 0, 0.5));
}

/* description */
.description-container {
  width: 100%;
  height: 800px;

  background-color: #0092dd;

  display: flex;
  position: relative;
  overflow: hidden;
}

.description-content {
  width: 85%;
  height: 510px;

  margin: auto;
  margin-top: 31%;

  display: flex;
  flex-direction: column;
  align-items: center;
}

.description-content p {
  width: 100%;

  width: max-content;

  font-size: 16px;
  font-weight: bold;
  letter-spacing: 4px;
  line-height: 18px;
  color: #ffffff;

  writing-mode: vertical-rl;
  letter-spacing: 4px;
  line-height: 45px;

  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  white-space: nowrap;
  overflow-wrap: normal;
}

.description-img {
  width: 118px;
  margin: auto;

  position: absolute;
  bottom: 95px;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 100;
}

.description-img img {
  width: 100%;
  margin: auto;
}

.desc-circle1 {
  width: 64%;
  height: 26%;

  background-color: #ffffff;

  position: absolute;
  bottom: 70px;
  left: 50%;
  transform: translate(-50%, -50%);

  border-radius: 61% 51% 61% 44% / 62% 60% 52% 44%;
  animation-delay: 0.2s;
}

.desc-circle2 {
  width: 66%;
  height: 28%;

  background-color: #ffffff;

  position: absolute;
  bottom: 90px;
  left: 5%;
  transform: translate(-50%, -50%);

  border-radius: 61% 51% 61% 44% / 62% 60% 52% 44%;
  animation-delay: 0;
}

.desc-circle3 {
  width: 41%;
  height: 17%;

  background-color: #ffffff;

  position: absolute;
  bottom: 75px;
  right: -25%;
  transform: translate(-50%, -50%);

  border-radius: 61% 51% 61% 44% / 62% 60% 52% 44%;
  animation-delay: 0.4s;
}

.desc-circle4 {
  width: 30%;
  height: 13%;

  background-color: #ffffff;

  position: absolute;
  bottom: -30px;
  right: 3%;
  transform: translate(-50%, -50%);

  border-radius: 66% 46% 43% 52% / 64% 57% 54% 45%;
  animation-delay: 0.4s;
}

/* content-header ---------------------------------*/
.content-header {
  margin: auto;
  align-items: center;

  color: #ffffff;

  display: flex;
  flex-direction: row;

  position: absolute;
  top: 40px;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 100;

  filter: drop-shadow(1px 3px 10px rgba(0, 0, 0, 0.5));

  text-wrap: nowrap;
}

.content-header i {
  font-size: 36px;
  margin-right: 7px;
}

.content-header h2 {
  font-size: 14px;
  line-height: 8px;
  margin-left: 4px;
  text-transform: uppercase;
}

.content-header h3 {
  font-size: 24px;
}

/* ----------------------------------------------- */

/* fshop */
.fshop-container {
  width: 100%;
  height: 530px;

  background-color: #0092dd;

  display: flex;
}

.fshop-content {
  width: 95%;
  max-width: 352px;
  height: 510px;
  margin: auto;
  padding: 8% 0 4%;

  background-color: #ed1b24;
  border: 7px solid #ffffff;
  border-radius: 40px;

  display: flex;
  flex-direction: column;

  position: relative;
}

.fshop-content-kashiwa {
  padding-top: 4%;
}

.fshop-img {
  width: 85%;
  height: 180px;

  margin: 4% auto;

  border-radius: 100px;
  overflow: hidden;
}

.fshop-img img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.fshop-text {
  width: 86%;
  margin: 0 auto;
  font-size: 14px;
  color: #ffffff;
}

.fshop-text h4 {
  font-size: 18px;
  text-align: center;
}

.fshop-text p:first-of-type {
  text-align: center;
  margin: 4px 0 12px;
}

.fshop-text p:first-of-type.pad-even {
  margin-bottom: 6px;
}

.fshop-text .text-sml {
  display: inline-block;
  font-size: 12px;
  line-height: 1.4;
}

/* ラストオーダー */
.fshop-text .text-abs {
  display: block;
  position: absolute;

  top: -8px;
  right: 12%;
  font-size: 8px;
}

.fshop-text .text-rel {
  position: relative;
}

.fshop-map {
  margin: 0 auto;
  border-radius: 40px;
}

.fshop-btn {
  margin: auto;
}

.fshop-btn a {
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;

  width: 210px;
  color: #0092dd;
  font-size: 16px;
}

.fshop-btn--long a {
  width: 220px;
}

.fshop-btn img {
  width: 28px;
  height: auto;
}

/* shop */
.shop-container {
  width: 100%;
  height: 530px;

  background-color: #0092dd;

  display: flex;
}

.shop-content {
  width: 95%;
  max-width: 352px;
  height: 510px;
  margin: auto;
  padding: 8% 0 4%;

  background-color: #0092dd;
  border: 7px solid #ffffff;
  border-radius: 40px;

  display: flex;
  flex-direction: column;

  position: relative;
}

.shop-img {
  width: 85%;
  height: 180px;

  margin: 4% auto;

  border-radius: 100px;
  overflow: hidden;
}

.shop-img img {
  width: 100%;
}

.shop-text {
  width: 86%;
  margin: auto;
  font-size: 16px;
  color: #ffffff;
}

.shop-text--center {
  text-align: center;
}

.shop-text h4 {
  margin-top: 15px;
  text-align: center;
}

.shop-btn {
  margin: auto;
  display: flex;
  gap: 16px;
}

.shop-btn img {
  width: 30px;
  height: 30px;
  margin: auto;
}

/* flavor */
.flavor-container {
  width: 100%;
  height: 530px;

  background-color: #0092dd;

  display: flex;
  overflow: hidden;
}

.flavor-content {
  width: 95%;
  max-width: 352px;
  height: 510px;
  margin: auto;
  padding: 4% 0 1%;

  background-color: #0092dd;
  border: 7px solid #ffffff;
  border-radius: 40px;

  align-items: center;
  position: relative;

  display: flex;
  flex-direction: column;
  justify-content: center;

  overflow: hidden;
}

/* slider */

.flavor-txt,
.flavor-txt2 {
  color: #ffffff;
  font-size: 15px;
  line-height: 20px;
}

.flavor-txt {
  margin-top: 56px;
}

/* slider slick */
#flavorSlider {
  width: 100%;
  margin-top: 4%;
}

.slider {
  margin: 0 auto;
}

.slider li {
  width: 70vw;
  max-width: 250px;

  border-radius: 80px;
  overflow: hidden;
}

.slider img {
  width: 107%;
  height: 260px;

  object-fit: cover;
  object-position: -10px -5px;
}

.slider .slick-slide {
  transform: scale(0.8);
  transition: all 0.5s;
  opacity: 0.5;
}

.slider .slick-slide.slick-center {
  transform: scale(1);
  opacity: 1;
}

/*矢印の設定*/
.slick-prev,
.slick-next {
  position: absolute;
  z-index: 1000;
  top: 46%;
  cursor: pointer;
  outline: none;
  border-top: 4px solid #ffffff;
  border-right: 4px solid #ffffff;
  height: 12px;
  width: 12px;
}

.slick-prev {
  left: 6%;
  transform: rotate(-135deg);
}

.slick-next {
  right: 6%;
  transform: rotate(45deg);
}

/*ドットナビゲーションの設定*/
.slick-dots {
  display: none;
}
.slick-dots button {
  display: none;
}

.slider-item1 {
  border: 7px solid #8e400f;
}
.slider-item2 {
  border: 7px solid #a0941c;
}
.slider-item3 {
  border: 7px solid #ed1b24;
}
.slider-item4 {
  border: 7px solid #a9531b;
}
.slider-item5 {
  border: 7px solid #9a723e;
}

.flavor-btn {
  margin-top: 20px;
  display: flex;

  background-color: #ffffff;
  border-radius: 50px;
}

.flavor-btn a {
  margin: auto;
  color: #0092dd;
  font-size: 16px;
}

/* news */
.news-container {
  width: 100%;

  padding: 30px 0;

  background-color: #0092dd;

  display: flex;
  align-items: center;

  overflow: hidden;
}

#marqueeContainer {
  width: 100%;

  overflow: hidden;
  white-space: nowrap;
  position: relative;

  margin: auto;
}

#marqueeText1 {
  display: inline-block;
  white-space: nowrap;
  animation: marqueeAnimationLeft 30s linear infinite;
  color: #ffffff;
  font-size: 40px;
}

#marqueeText1:after {
  content: 'PARIPARINGO PARIPARINGO ';
}

#marqueeText2 {
  display: inline-block;
  white-space: nowrap;
  animation: marqueeAnimationRight 30s linear infinite;
  color: #ffffff;
  font-size: 40px;
}

#marqueeText2::after {
  content: 'PARIPARINGO PARIPARINGO ';
}

@keyframes marqueeAnimationLeft {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

@keyframes marqueeAnimationRight {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0);
  }
}

.news-content {
  width: 100%;
  height: 200px;
  margin: auto;
  padding: 10% 0;

  display: flex;
  flex-direction: column;
}

.news-text {
  margin: auto;
  color: #ffffff;

  display: flex;
}

.news-text h4 {
  margin: auto;
  margin-top: 15px;
  font-size: 16px;
  text-align: center;
}

.news-btn {
  margin: auto;
}

/* point */
.point-container {
  width: 100%;
  height: 530px;

  background-color: #0092dd;

  display: flex;
}

.point-content {
  width: 95%;
  max-width: 352px;
  height: 510px;
  margin: auto;
  padding: 8% 0 4%;

  background-color: #ed1b24;
  border: 7px solid #ffffff;
  border-radius: 40px;

  display: flex;
  flex-direction: column;

  position: relative;
}

.point-img {
  width: 85%;
  height: 195px;

  margin: auto;

  border-radius: 100px;
  overflow: hidden;
}

.point-img img {
  width: 100%;
  height: 195px;
  object-fit: cover;
}

.point-text {
  width: 86%;
  margin: 0 auto;
  font-size: 16px;
  color: #ffffff;
}

.point-text p {
  margin-top: 8px;
}

.point-text h4 {
  margin-top: 8px;
  text-align: center;
}

.point-text h4:nth-child(1) {
  margin-top: 0;
  font-size: 20px;
}

.point-btn {
  margin: auto;
}

.point-btn img {
  width: 30px;
  height: 30px;
  margin: auto;
}

/* about */
.about-container {
  width: 100%;
  height: 530px;

  background-color: #0092dd;

  display: flex;
}

.about-content {
  width: 95%;
  max-width: 352px;
  height: 510px;
  margin: auto;
  padding: 8% 0 4%;

  background-color: #0092dd;
  border: 7px solid #ffffff;
  border-radius: 40px;

  display: flex;
  flex-direction: column;

  position: relative;
}

.about-img {
  width: 85%;
  height: 200px;

  margin: 4% auto;

  border-radius: 100px;
  overflow: hidden;
}

.about-img img {
  width: 100%;
  object-fit: cover;
}

.about-text {
  width: 86%;
  margin: auto;
  font-size: 16px;
  color: #ffffff;
}

.about-text h4 {
  font-size: 20px;
  text-align: center;
}

.about-text p {
  margin-top: 8px;
}

/* footer */
footer {
  width: 100%;
  height: 700px;
  background-color: #0092dd;

  position: relative;
}

.footer-content {
  width: 85%;
  height: 550px;
  margin: auto;

  padding-top: 10%;

  display: flex;
  flex-direction: column;
  justify-content: center;
}

.footer-nav {
  width: 100%;
  margin: auto;
}

.footer-nav p {
  margin-top: 20px;
  text-align: center;
  align-items: center;
  font-size: 16px;
  color: #ffffff;
}

.footer-title {
  width: 80%;
  margin: auto;

  display: flex;
  flex-direction: row;
  justify-content: center;
}

.footer-title img {
  width: 100%;
}

.contact-btn {
  width: 220px;
  height: 60px;
  margin: auto;
  align-items: center;
  text-align: center;

  display: flex;
  flex-direction: row;

  background-color: #ffffff;
  border-radius: 50px;
}

.contact-btn a {
  margin: auto;
  font-size: 16px;

  color: #ed1b24;

  display: flex;
}

.contact-btn i {
  margin: auto;
  margin-left: 4px;
  font-size: 16px;
}

.footer-btn {
  width: 50px;
  height: 50px;

  position: absolute;
  right: 10%;
  bottom: 15%;
}

.footer-btn a {
  margin: auto;
}

.footer-btn i {
  color: #ed1b24;
}

/* mobile view ------------------------ */
@media (min-width: 414px) {
  .body-container {
    width: 414px;
    margin: auto;
  }

  body {
    background-color: #0092dd;
  }

  .content-header {
    top: 45px;
  }

  .fshop-text h4 {
    font-size: 20px;
  }

  /* ラストオーダー */
  .fshop-text .text-abs {
    top: -8px;
    right: 21px;
    font-size: 9px;
  }

  .fshop-img,
  .shop-img {
    height: 200px;
  }

  .fshop-text,
  .shop-text,
  .point-text,
  .about-text {
    width: 82%;
  }

  .fshop-container,
  .shop-container,
  .flavor-container,
  .point-container,
  .about-container {
    height: 560px;
  }

  .fshop-content,
  .shop-content,
  .flavor-content,
  .point-content,
  .about-content {
    width: 85%;
    height: 530px;
  }

  .fshop-text .text-abs {
    right: 7%;
  }

  .flavor-txt {
    margin-top: 18%;
  }

  .fshop-text .text-sml {
    font-size: 13px;
  }

  .slider li {
    width: 60vw;
  }
}

/* tablet view ----------------------- */
@media (min-width: 768px) {
  /* nav fixed */
  .nav-fixed-ul {
    display: none;
  }

  .nav-pc {
    display: flex;
    width: 150px;

    background-color: transparent;

    position: fixed;
    top: 130px;
    left: 3%;
  }

  .nav-pc a {
    text-shadow: 1px 3px 2px #0092dd;
  }

  /* SNS */
  .main-logo {
    width: 60px;
  }

  .btn-instagram {
    display: none;
  }

  .sns-pc {
    width: 200px;

    display: flex;
    flex-direction: column;

    position: fixed;
    top: 80px;
    right: -11%;
  }

  .sns-pc a {
    width: 60px;
    height: 60px;
    margin-bottom: 10px;

    background-color: #ffffff;
    border-radius: 50px;
    box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.3);
  }

  .sns-pc img {
    height: 50%;
    margin: auto;
  }

  /* design for pc */
  .body-container {
    position: relative;
  }

  .design-pc {
    display: flex;
  }

  .design-pc .circle1 {
    width: 20%;

    position: absolute;
    top: 38%;
    left: -45%;
    z-index: -1000;
  }

  .design-pc .circle2 {
    width: 55%;

    position: absolute;
    top: 40%;
    left: -100%;
    z-index: -1000;
  }

  .design-pc .candy1 {
    width: 30%;

    position: absolute;
    top: 65%;
    left: 120%;
    z-index: -1000;
  }

  .design-pc .candy2 {
    width: 60%;

    position: absolute;
    top: 80%;
    left: -100%;
    z-index: -1000;
  }

  /* footer */
  footer {
    height: 400px;
  }

  .footer-content {
    height: 250px;

    padding-top: 10%;
  }

  .footer-nav {
    display: none;
  }
}

/* pc view ------------------- */
@media (min-width: 950px) {
  /* nav */
  .nav-pc {
    display: flex;
    width: 150px;

    background-color: transparent;

    position: fixed;
    top: 130px;
    left: 7%;
  }

  /* sns */
  .sns-pc {
    flex-direction: row;

    position: fixed;
    top: 80px;
    right: 3%;
  }

  .sns-pc a {
    margin-left: 10px;
  }
}
