@charset "UTF-8";
html {
  width: 100%;
  overflow-x: hidden;
}

body {
  width: 100%;
  overflow-x: hidden;
  font-family: "Yu Gothic", "YuGothic", "Hiragino Sans", "Meiryo", sans-serif;
  line-height: 1.8;
  color: #333;
}

a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.3s;
}

a:hover {
  opacity: 0.8;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
}

li {
  list-style: none;
}

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

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

*:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 2px;
}

html {
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  -moz-tab-size: 4;
  tab-size: 4;
  word-break: normal;
}

*, :after, :before {
  background-repeat: no-repeat;
  box-sizing: inherit;
}

:after, :before {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  margin: 0;
  padding: 0;
}

hr {
  color: inherit;
  height: 0;
  overflow: visible;
}

details, main {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

a {
  background-color: transparent;
}

a:active, a:hover {
  outline-width: 0;
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
}

pre {
  font-size: 1em;
}

b, strong {
  font-weight: bolder;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit;
  text-indent: 0;
}

iframe {
  border-style: none;
}

input {
  border-radius: 0;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

button, input, optgroup, select, textarea {
  font: inherit;
}

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

[role=button], [type=button], [type=reset], [type=submit], button {
  cursor: pointer;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button;
}

button, input, select, textarea {
  background-color: transparent;
  border-style: none;
}

a:focus, button:focus, input:focus, select:focus, textarea:focus {
  outline-width: 0;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}

[disabled] {
  cursor: default;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true] {
  cursor: default;
}

.l-container {
  margin-inline: auto;
  width: 89.33vw;
  max-width: 100%;
}
@media screen and (min-width: 768px) and (max-width: 1365.99px) {
  .l-container {
    width: 95vw;
  }
}
@media screen and (min-width: 1366px) {
  .l-container {
    width: 80.97vw;
    max-width: 69.125rem;
  }
}

.l-container--720 {
  margin-inline: auto;
  width: 89.33vw;
  max-width: 100%;
}
@media screen and (min-width: 768px) and (max-width: 1365.99px) {
  .l-container--720 {
    width: clamp(26.25rem, 52.71vw, 45rem);
  }
}
@media screen and (min-width: 1366px) {
  .l-container--720 {
    width: 52.71vw;
    max-width: 45rem;
  }
}

.l-container--narrowest {
  width: 89.33vw;
  max-width: 100%;
  margin: 0 auto 3.5rem;
}
@media screen and (min-width: 768px) and (max-width: 1365.99px) {
  .l-container--narrowest {
    width: 30vw;
  }
}
@media screen and (min-width: 1366px) {
  .l-container--narrowest {
    width: 27.67vw;
    max-width: 23.625rem;
  }
}

.swiper1 {
  margin: 0 0 3.5rem;
}

.swiper-pagination {
  position: relative;
  margin: 1rem 0 0 0;
}

.swiper-pagination-bullet {
  opacity: 0.25;
  width: 0.625rem;
  height: 0.625rem;
  transition: all 0.3s ease;
  background-color: #000;
  border-radius: 50%;
  margin: 0 0.625rem !important;
}

.swiper-pagination-bullet-active {
  opacity: 1;
}

.c-anime-openning {
  position: fixed;
  inset: 0;
  background-color: #FFF;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999;
  opacity: 1;
  transition: opacity 0.6s ease;
}

.c-anime-openning.is-hide {
  opacity: 0;
  pointer-events: none;
}

.c-anime-openning-img {
  width: 12.5rem;
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.c-anime-openning-img.is-show {
  opacity: 1;
  transform: scale(1);
}

body.is-loading {
  overflow: hidden;
}

.c-anime-icon-honey1-img {
  width: 7.3rem;
  height: 5.8rem;
  animation: butterfly-fly 9s ease-in-out infinite;
  transform-origin: center center;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .c-anime-icon-honey1-img {
    width: 12.5rem;
    height: 10rem;
  }
}

@keyframes butterfly-fly {
  0% {
    transform: translateX(0) rotate(0deg);
  }
  25% {
    transform: translateX(28px) rotate(3deg);
  }
  50% {
    transform: translateX(-24px) rotate(-2.5deg);
  }
  75% {
    transform: translateX(30px) rotate(3.5deg);
  }
  100% {
    transform: translateX(0) rotate(0deg);
  }
}
.c-anime-icon-honey2-img {
  transform-origin: center center;
  pointer-events: none;
  width: 7.3rem;
  height: 5.8rem;
  animation: butterfly-fly-reverse 9.5s ease-in-out infinite;
}
@media screen and (min-width: 768px) {
  .c-anime-icon-honey2-img {
    width: 12.5rem;
    height: 10rem;
  }
}

@keyframes butterfly-fly-reverse {
  0% {
    transform: translateX(0) rotate(0deg);
  }
  25% {
    transform: translateX(-28px) rotate(-3deg);
  }
  50% {
    transform: translateX(24px) rotate(2.5deg);
  }
  75% {
    transform: translateX(-30px) rotate(-3.5deg);
  }
  100% {
    transform: translateX(0) rotate(0deg);
  }
}
.header {
  position: relative;
  z-index: 0;
}

.header::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../images/header-bg-sp.png");
  background-repeat: repeat;
  background-size: cover;
  background-position: center;
  opacity: 1;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .header::after {
    background-image: url("../images/header-bg-pc.png");
  }
}

.header__logo {
  width: 12.2rem;
  height: 9.855rem;
  margin: 7.8rem auto 1.875rem;
  font-size: 0;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .header__logo {
    width: 18.75rem;
    height: 15.2rem;
    margin: 12.9rem auto 3.125rem;
  }
}

.header__logo-img {
  width: 12.2rem;
  height: 9.855rem;
}
@media screen and (min-width: 768px) {
  .header__logo-img {
    width: 18.75rem;
    height: 15.2rem;
  }
}

.header__sub-title-img {
  width: 12.2rem;
  height: 1.3rem;
  margin: 0 auto 1rem;
}
@media screen and (min-width: 768px) {
  .header__sub-title-img {
    width: 32.75rem;
    height: 3.44rem;
    margin: 0 auto 1rem;
  }
}

.header__since-img {
  width: 10.5rem;
  height: 1.5rem;
  margin: 0 auto 1.25rem;
}
@media screen and (min-width: 768px) {
  .header__since-img {
    margin: 0 auto 3.8rem;
  }
}

.header__icon-flower-img {
  aspect-ratio: 1920/280;
  transform: translateX(-25%);
  width: 120rem;
  max-width: none;
  height: 17.5rem;
}
@media screen and (min-width: 768px) {
  .header__icon-flower-img {
    transform: translateX(-23%);
    width: 240rem;
  }
}

.header__icon-flower-bg-img-box {
  width: 100%;
  height: 17.5rem;
  background-image: url("../images/icon-flower.png");
  background-position: center;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .header__icon-flower-bg-img-box {
    background-position: center;
  }
}
@media screen and (min-width: 1920.01px) {
  .header__icon-flower-bg-img-box {
    background-image: url("../images/icon-flower-wide.png");
  }
}

.header__icon-honey1-img {
  position: absolute;
  z-index: 10;
  top: 24%;
  left: 5rem;
}
@media screen and (min-width: 768px) {
  .header__icon-honey1-img {
    top: 37%;
    left: 20%;
  }
}

.header__icon-honey2-img {
  position: absolute;
  z-index: 10;
  top: 30%;
  right: 3.2rem;
}
@media screen and (min-width: 768px) {
  .header__icon-honey2-img {
    top: 55%;
    right: 20%;
  }
}

.product {
  background-color: #FFF;
  padding: 3rem 0 5rem;
}
@media screen and (min-width: 768px) {
  .product {
    padding: 7.5rem 0 5rem;
  }
}

.product__icon-honey1-img {
  width: 6.25rem;
  height: 5rem;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .product__icon-honey1-img {
    width: 12.5rem;
    height: 10rem;
  }
}

.product__outer {
  position: relative;
  padding: 3.75rem 0 6.25rem;
}
@media screen and (min-width: 768px) {
  .product__outer {
    padding: 2rem 0 18.2rem;
  }
}

.product__outer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 8.375rem;
  height: 6.25rem;
  background-image: url("../images/icon-leaf1.png");
  background-position: center;
  background-size: cover;
}
@media screen and (min-width: 768px) and (max-width: 1365.99px) {
  .product__outer::before {
    top: -4%;
    width: 24.25rem;
    height: 18.2rem;
  }
}
@media screen and (min-width: 1366px) {
  .product__outer::before {
    width: 24.25rem;
    height: 18.2rem;
  }
}

.product__outer::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 8.375rem;
  height: 6.25rem;
  background-image: url("../images/icon-leaf2.png");
  background-position: center;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .product__outer::after {
    width: 24.25rem;
    height: 18.2rem;
  }
}

.product__caption {
  margin: 0 auto 2.5rem;
  font-size: 0.8125rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .product__caption {
    margin: 0 auto 2.625rem;
  }
}

.product__container {
  display: flex;
  flex-direction: column;
  margin: 0 auto 2.5rem;
}
@media screen and (min-width: 768px) {
  .product__container {
    flex-direction: row;
    width: clamp(26.25rem, 52.71vw, 45rem);
  }
}

.product__img-box {
  flex-shrink: 0;
}

.product__img {
  width: 21rem;
  height: 14rem;
  margin: 0 auto;
}
@media screen and (min-width: 390px) and (max-width: 767.99px) {
  .product__img {
    width: 89.33vw;
    height: 59.47vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1365.99px) {
  .product__img {
    width: 26.35vw;
    height: 17.57vw;
  }
}
@media screen and (min-width: 1366px) {
  .product__img {
    width: 22.5rem;
    height: 15rem;
  }
}

.product__text-box {
  padding: 1.25rem 0 0 0;
}
@media screen and (min-width: 768px) and (max-width: 1365.99px) {
  .product__text-box {
    padding: 0 0 0 3.66vw;
  }
}
@media screen and (min-width: 1366px) {
  .product__text-box {
    padding: 0 0 0 3.125rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1365.99px) {
  .product__text-box--reverse {
    padding: 0 3.66vw 0 0;
  }
}
@media screen and (min-width: 1366px) {
  .product__text-box--reverse {
    padding: 0 3.125rem 0 0;
  }
}

.product__name {
  margin: 0 0 1rem;
  font-size: 1.0625rem;
  line-height: 1;
}

.product__comment {
  margin: 0 0 1rem;
  font-size: 0.8125rem;
}

.product__spec {
  display: block;
  font-size: 0.8125rem;
}

@media screen and (min-width: 768px) {
  .product__container--reverse {
    flex-direction: row-reverse;
  }
}

.product__caution {
  position: relative;
  margin: 0 0 0 0.75rem;
  font-size: 0.75rem;
}
@media screen and (min-width: 768px) {
  .product__caution {
    width: clamp(26.25rem, 52.71vw, 45rem);
  }
}

.product__caution::before {
  content: "※";
  position: absolute;
  top: 0;
  left: -0.75rem;
}

.commend {
  position: relative;
  padding: 6.875rem 0 3.44rem;
  background-color: #F1FBFF;
}
@media screen and (min-width: 390px) and (max-width: 767.99px) {
  .commend {
    padding: 29.33vw 0 3.44rem;
  }
}
@media screen and (min-width: 768px) {
  .commend {
    padding: 21.625rem 0 5rem;
  }
}
@media screen and (min-width: 1920.01px) {
  .commend {
    padding: 25.33vw 0 5rem;
  }
}

.commend::before {
  aspect-ratio: 375/214.84;
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  background-image: url("../images/icon-rainbow.png");
  background-position: center;
  background-size: cover;
}

.commend__icon-honey2-img {
  width: 6.25rem;
  height: 5rem;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .commend__icon-honey2-img {
    width: 12.5rem;
    height: 10rem;
  }
}

.commend__slide {
  width: 15.625rem;
}
@media screen and (min-width: 390px) and (max-width: 767.99px) {
  .commend__slide {
    width: 66.67vw;
  }
}

.commen__slide-box {
  display: flex;
  flex-direction: column;
  width: 15.625rem;
  margin: 0 auto;
}
@media screen and (min-width: 390px) and (max-width: 767.99px) {
  .commen__slide-box {
    width: 66.67vw;
  }
}

.commend__item-img {
  aspect-ratio: 1;
  width: 15.625rem;
  margin: 0 auto 1rem;
  border-radius: 50%;
}
@media screen and (min-width: 390px) and (max-width: 767.99px) {
  .commend__item-img {
    width: 66.67vw;
  }
}

.commend__sub-title {
  margin: 0 0 1rem;
  font-size: 1.0625rem;
}

.commend__comment {
  font-size: 0.8125rem;
}

.commend__container {
  display: flex;
  gap: clamp(0.1rem, 1vw, 3.375rem);
  width: 95%;
  max-width: 72.5rem;
  margin: 0 auto;
}
@media screen and (min-width: 1366px) {
  .commend__container {
    gap: 3.375rem;
  }
}

.commend__item1 {
  padding: 13.4rem 0 0 0;
}

.commend__item2 {
  padding: 8.56rem 0 0 0;
}

.commend__item3 {
  padding: 4.3rem 0 0 0;
}

.para {
  position: relative;
}

.para__bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../images/bg-img.jpg");
  z-index: -10;
  background-position: center top;
  background-size: cover;
}

.para__content-box {
  position: relative;
  z-index: 10;
  padding: 3.75rem 1.25rem 1.5rem 1.25rem;
}
@media screen and (min-width: 768px) {
  .para__content-box {
    padding: 24.35vw 1.25rem 1.5rem 1.25rem;
  }
}

.para__text {
  font-size: 0.875rem;
  line-height: 2.8;
  color: #FFF;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.65);
}

.para__bg-bottom {
  transform: translateY(4px);
}
@media screen and (min-width: 768px) {
  .para__bg-bottom {
    transform: translateY(8px);
  }
}

.process {
  background-color: #FFF;
  padding: 0 0 3.75rem;
}
@media screen and (min-width: 768px) {
  .process {
    padding: 0 0 7.5rem;
  }
}

.process__list {
  display: flex;
  flex-direction: column;
  gap: 3.75rem;
}
@media screen and (min-width: 768px) and (max-width: 1365.99px) {
  .process__list {
    margin-inline: auto;
    gap: 0;
    width: 90vw;
    max-width: 62.5rem;
  }
}
@media screen and (min-width: 1366px) {
  .process__list {
    margin-inline: auto;
    gap: 0;
    width: 73.21vw;
    max-width: 62.5rem;
  }
}

.process__item {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .process__item {
    flex-direction: row;
    gap: 0;
  }
}

@media screen and (min-width: 768px) {
  .process__item--reverse {
    flex-direction: row-reverse;
  }
}

.process__img-box {
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .process__img-box {
    width: 50%;
  }
}

.process__img {
  aspect-ratio: 355/199;
  width: 95%;
  margin: 0 5% 0 0;
}
@media screen and (min-width: 768px) {
  .process__img {
    aspect-ratio: 500/280;
    width: 100%;
    margin: 0;
  }
}

.process__img--reverse {
  margin: 0 0 0 5%;
}
@media screen and (min-width: 768px) {
  .process__img--reverse {
    margin: 0;
  }
}

.process__text-box {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  padding: 0 1rem 0 1.25rem;
}
@media screen and (min-width: 768px) {
  .process__text-box {
    padding: 1.25rem;
  }
}

.process__sub-title {
  font-size: 1.0625rem;
}

.process__comment {
  font-size: 0.8125rem;
  line-height: 2;
}

.contact {
  position: relative;
  background-color: #FFF;
}

.contact__icon-honey2-img {
  width: 6.25rem;
  height: 5rem;
  margin: 0 auto 1.25rem;
}
@media screen and (min-width: 768px) {
  .contact__icon-honey2-img {
    width: 12.5rem;
    height: 10rem;
  }
}

.contact__text {
  font-size: 0.8125rem;
  line-height: 2;
  margin: 0 0 2.5rem;
  white-space: nowrap;
  letter-spacing: -0.05em;
}

.contact__content {
  font-size: 0.875rem;
  line-height: 2;
}

.contact__end-img-box {
  background: linear-gradient(to bottom, #FFF 0%, #FFF 50%, #F1FBFF 50%, #F1FBFF 100%);
}

.contact__end-img {
  width: auto;
  max-width: none;
  height: auto;
}
@media screen and (min-width: 768px) {
  .contact__end-img {
    height: 7.3125rem;
  }
}

.footer {
  background-color: #F1FBFF;
  padding: 3.625rem 0 2.5rem;
}
@media screen and (min-width: 768px) {
  .footer {
    padding: 4.8125rem 0 5rem;
  }
}

.footer__container {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  width: 17.7rem;
  margin: 0 auto 4rem;
}
@media screen and (min-width: 768px) {
  .footer__container {
    flex-direction: row;
    gap: clamp(0.1rem, 4.76vw, 4rem);
    width: 37.75rem;
  }
}

.footer__button {
  margin-inline: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  position: relative;
  width: 16rem;
  height: 2.5rem;
  background-color: #333;
  border-radius: 60px;
  font-size: 0.8125rem;
  color: #FFF;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .footer__button {
    margin: 1rem 0 auto 0;
  }
}

.footer__button:hover {
  opacity: 0.8;
}

.footer__button::after {
  content: "\f1c5";
  position: absolute;
  left: 13.5rem;
  font-family: "bootstrap-icons";
}

.footer__logo {
  margin: 0 0 0.625rem;
  font-size: 1rem;
  line-height: 1;
}

.footer__address {
  font-size: 0.875rem;
  line-height: 2;
}

.footer__copy {
  display: block;
  font-size: 0.625rem;
  text-align: center;
}

.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
}

.u-title {
  font-size: 1.25rem;
  font-weight: 400;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .u-title {
    font-size: 1.5rem;
  }
}

.u-eng {
  display: block;
  margin: 0 auto 2.5rem;
  font-size: 0.6875rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .u-eng {
    font-size: 0.6875rem;
  }
}/*# sourceMappingURL=style.css.map */