@charset "UTF-8";
/*
 * 参考
 * https://github.com/Andy-set-studio/modern-css-reset/blob/master/src/reset.css
*/
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd,
ul {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Set core root defaults */
/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  height: inherit;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
button {
  padding: 0;
  border: none;
  outline: none;
  font: inherit;
  color: inherit;
  background: none;
}

.contact input[type=submit],
.contact input[type=button] {
  border-radius: 0px;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
.contact input[type=submit]::-webkit-search-decoration,
.contact input[type=button]::-webkit-search-decoration {
  display: none;
}

/*****************************************
 * 数値から単位を取り除く
 * 参考
 * https://css-tricks.com/snippets/sass/
******************************************/
/*****************************************
 * px→remの計算
 * 参考
 * https://webdou.net/sass-rem/
 * Sassではmath.div関数の使用が推奨のため、スラッシュ(/)演算子から変更
******************************************/
/*****************************************
 * vwの計算
 * 参考
 * https://webdou.net/sass-vw/
 * Sassではmath.div関数の使用が推奨のため、スラッシュ(/)演算子から変更
******************************************/
html {
  font-size: 16px;
}
@media (max-width: 1280px) and (min-width: 768px) {
  html {
    font-size: 1.25vw;
  }
}
@media (min-width: 376px) and (max-width: 767px) {
  html {
    font-size: 16px;
  }
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  html a[href*="tel:"] {
    pointer-events: none;
    cursor: text;
    text-decoration: none;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  color: #040000;
  line-height: 1.5;
  background-color: #ffffff;
}

body.no-scroll {
  overflow: hidden;
}

h2,
h3 {
  font-weight: 500;
}

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

a:hover {
  opacity: 0.7;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  a:hover {
    opacity: 1;
  }
}

.complete-layout {
  padding-top: 3rem;
  padding-bottom: 18.125rem;
}
@media screen and (max-width: 767px) {
  .complete-layout {
    margin-top: 1.25rem;
    padding-bottom: 5.625rem;
  }
}

.confirm-layout {
  padding-top: 3rem;
  padding-bottom: 18.125rem;
}
@media screen and (max-width: 767px) {
  .confirm-layout {
    padding-top: 1.25rem;
    padding-bottom: 5.625rem;
  }
}

.contact-layout {
  padding-top: 3rem;
  padding-bottom: 18.125rem;
}
@media screen and (max-width: 767px) {
  .contact-layout {
    padding-top: 1.25rem;
    padding-bottom: 5.625rem;
  }
}

.header-layout {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
}

.inner {
  max-width: 1360px;
  width: 100%;
  padding: 0 40px;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .inner {
    padding: 0 20px;
    max-width: 600px;
  }
}

.site-map-layout {
  margin-top: 6.25rem;
  padding-bottom: 30rem;
}
@media screen and (max-width: 767px) {
  .site-map-layout {
    margin-top: 1.25rem;
    padding-bottom: 5.625rem;
  }
}

.sub-business-layout {
  padding-top: 12.375rem;
  padding-bottom: 13.125rem;
}
@media screen and (max-width: 767px) {
  .sub-business-layout {
    padding-top: 7.5rem;
    padding-bottom: 5.625rem;
  }
}

.sub-company-layout {
  padding-top: 3rem;
  padding-bottom: 18.25rem;
}
@media screen and (max-width: 767px) {
  .sub-company-layout {
    padding-top: 7.5rem;
    padding-bottom: 5rem;
  }
}

.sub-mv-layout {
  margin-top: 7.5rem;
  padding-bottom: 18.125rem;
}
@media screen and (max-width: 767px) {
  .sub-mv-layout {
    margin-top: 7.5rem;
    padding-bottom: 5rem;
  }
}

.top-business-layout {
  padding-top: 8.75rem;
  padding-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .top-business-layout {
    padding-top: 4.375rem;
  }
}

.top-mv-layout {
  margin-top: 8.75rem;
}
@media screen and (max-width: 767px) {
  .top-mv-layout {
    margin-top: 3.75rem;
  }
}

.common-description {
  line-height: 1.1964285714;
  color: #685e59;
  text-align: center;
  font-size: clamp(1.875rem, 2.708vw + 1.333rem, 3.5rem);
}

.common-title {
  z-index: 1;
}

.common-title__english {
  color: #dbd7d5;
  line-height: 1.2;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(2.375rem, 1.25vw + 2.125rem, 3.125rem);
}
.common-title__english::first-letter {
  text-transform: capitalize;
}

.common-title__japanese {
  color: #040000;
  font-size: clamp(1.0625rem, 0.417vw + 0.979rem, 1.3125rem);
  line-height: 1.1904761905;
}

.business-event__achievements {
  margin-top: 2.1875rem;
}

.achievements {
  padding: 2rem 2.125rem 2.375rem;
  border: 1px solid #E03B57;
  background-color: rgba(255, 255, 255, 0.7);
}

.achievements__list {
  display: flex;
}
@media screen and (max-width: 767px) {
  .achievements__list {
    flex-direction: column;
  }
}

.achievements__item {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .achievements__item {
    align-items: flex-start;
  }
}
.achievements__item:first-of-type {
  flex: 1;
}
.achievements__item:nth-of-type(2) {
  width: 52.5383707202%;
}
@media screen and (max-width: 767px) {
  .achievements__item:nth-of-type(2) {
    margin-top: 1.25rem;
    width: 100%;
  }
}

.achievements__title {
  font-size: 1.3125rem;
  line-height: 1.1904761905;
}
@media screen and (max-width: 767px) {
  .achievements__title {
    text-align: center;
  }
}

.achievements__details {
  margin-top: 0.8125rem;
}

.achievements__detail {
  font-size: max(10px, 0.75rem);
  line-height: 1.6666666667;
}

.achievements__note {
  margin-top: 1.525rem;
  font-size: max(10px, 0.75rem);
  line-height: 1.6666666667;
}

.achievements__flow {
  margin-top: 4.5rem;
}

.achievements-flow {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.achievements-flow__title {
  font-size: 1.3125rem;
  line-height: 1.1904761905;
}

.achievements-flow__img {
  margin-top: 2.375rem;
  max-width: 512px;
  width: 100%;
}
.achievements-flow__img img {
  width: 100%;
  aspect-ratio: 514/800;
  -o-object-fit: cover;
     object-fit: cover;
}

.achievements-flow__text {
  margin-top: 3.25rem;
  font-size: 1.3125rem;
  line-height: 1.1904761905;
}
@media screen and (max-width: 767px) {
  .achievements-flow__text {
    font-size: clamp(0.75rem, 2.461vw + 0.133rem, 1.3125rem);
  }
}

.recruit-flow__img {
  margin-top: 2.375rem;
  max-width: 512px;
  width: 100%;
}
.recruit-flow__img img {
  width: 100%;
  aspect-ratio: 514/686;
  -o-object-fit: cover;
     object-fit: cover;
}

.all-wrap {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.main {
  flex: 1;
}

.sub-business__funeral {
  margin-top: 12.3125rem;
}
@media screen and (max-width: 767px) {
  .sub-business__funeral {
    margin-top: 3.75rem;
  }
}

.business-funeral__card {
  margin-top: 1.5625rem;
}
.business-funeral__card.business-funeral__card--mt65 {
  margin-top: 4.0625rem;
}

.funeral-card {
  max-width: 765px;
  padding: 2.125rem 1.4375rem 1.4375rem 2.125rem;
  background-color: #dbd7d5;
  border: 1px solid #685e59;
  border-radius: 1.75rem;
  box-shadow: 19px 19px rgba(121, 107, 175, 0.35);
}
@media screen and (max-width: 767px) {
  .funeral-card {
    padding: 1.0625rem 0.6875rem 0.6875rem 1.0625rem;
    border-radius: 0.875rem;
    box-shadow: 9px 9px rgba(121, 107, 175, 0.35);
  }
}
.funeral-card:nth-child(even) {
  box-shadow: -19px 19px rgba(121, 107, 175, 0.35);
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .funeral-card:nth-child(even) {
    box-shadow: -9px 9px rgba(121, 107, 175, 0.35);
  }
}

.funeral-card__inner {
  background-color: #ffffff;
  border-radius: 0.875rem;
  padding: 2.25rem 1.875rem;
}
@media screen and (max-width: 767px) {
  .funeral-card__inner {
    border-radius: 0.4375rem;
    padding: 1.25rem;
  }
}

.funeral-card__container {
  display: flex;
  gap: 1.9375rem;
  align-items: center;
}
.funeral-card__container.funeral-card__container--reverse {
  flex-direction: row-reverse;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .funeral-card__container.funeral-card__container--reverse {
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .funeral-card__container {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    max-width: 360px;
    margin-inline: auto;
  }
}

.funeral-card__image-wrapper {
  max-width: 360px;
  width: 100%;
}
.funeral-card__image-wrapper img {
  width: 100%;
  aspect-ratio: 360/220;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .funeral-card__image-wrapper {
    margin-top: 0.625rem;
    order: 2;
  }
}

@media screen and (max-width: 767px) {
  .funeral-card__content {
    display: contents;
  }
}

@media screen and (max-width: 767px) {
  .funeral-card__title {
    order: 1;
    font-size: 1.3125rem;
  }
}

.funeral-card__text {
  padding-left: 0.875rem;
  margin-top: 1.5rem;
  font-size: max(10px, 0.75rem);
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .funeral-card__text {
    order: 3;
  }
}

.funeral-card__text2 {
  margin-top: 1.5rem;
  font-size: max(10px, 0.75rem);
  line-height: 2.0833333333;
}
@media screen and (max-width: 767px) {
  .funeral-card__text2 {
    order: 3;
  }
}

.funeral-card__circle {
  position: relative;
}
.funeral-card__circle::before {
  content: "";
  position: absolute;
  width: 0.6875rem;
  height: auto;
  aspect-ratio: 1;
  border: 1px solid #040000;
  border-radius: 50%;
  left: -0.875rem;
  top: 52%;
  transform: translateY(-50%);
}

.sub-business__recruit {
  margin-top: 10.4375rem;
}
@media screen and (max-width: 767px) {
  .sub-business__recruit {
    margin-top: 3.75rem;
  }
}

.business-recruit__flow {
  margin-top: 5.8125rem;
}

.business-recruit-flow {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.business-recruit-flow__img {
  margin-top: 2.375rem;
  max-width: 512px;
  width: 100%;
}
.business-recruit-flow__img img {
  width: 100%;
  aspect-ratio: 514/686;
  -o-object-fit: cover;
     object-fit: cover;
}

.business-recruit__card {
  margin-top: 1.8125rem;
}
.business-recruit__card.business-recruit__card--mt77 {
  margin-top: 4.8125rem;
}

.recruit-card {
  max-width: 765px;
  padding: 2.125rem 1.4375rem 1.4375rem 2.125rem;
  background-color: #dbd7d5;
  border: 1px solid #685e59;
  border-radius: 1.75rem;
  box-shadow: 19px 19px rgba(0, 153, 217, 0.35);
}
@media screen and (max-width: 767px) {
  .recruit-card {
    padding: 1.0625rem 0.6875rem 0.6875rem 1.0625rem;
    border-radius: 0.875rem;
    box-shadow: 9px 9px rgba(0, 153, 217, 0.35);
  }
}
.recruit-card:nth-child(even) {
  box-shadow: -19px 19px rgba(0, 153, 217, 0.35);
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .recruit-card:nth-child(even) {
    box-shadow: -9px 9px rgba(0, 153, 217, 0.35);
  }
}

.recruit-card__inner {
  background-color: #ffffff;
  border-radius: 0.875rem;
  padding: 2.25rem 1.875rem;
}
@media screen and (max-width: 767px) {
  .recruit-card__inner {
    border-radius: 0.4375rem;
    padding: 1.25rem;
  }
}

.recruit-card__container {
  display: flex;
  gap: 1.9375rem;
  align-items: flex-start;
}
.recruit-card__container.recruit-card__container--reverse {
  flex-direction: row-reverse;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .recruit-card__container.recruit-card__container--reverse {
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .recruit-card__container {
    flex-direction: column;
    gap: 0;
    max-width: 360px;
    margin-inline: auto;
  }
}

.recruit-card__image-wrapper {
  max-width: 360px;
  width: 100%;
}
.recruit-card__image-wrapper img {
  width: 100%;
  aspect-ratio: 360/220;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .recruit-card__image-wrapper {
    margin-top: 0.625rem;
    order: 2;
  }
}

@media screen and (max-width: 767px) {
  .recruit-card__content {
    display: contents;
  }
}

@media screen and (max-width: 767px) {
  .recruit-card__title {
    order: 1;
    font-size: 1.3125rem;
  }
}

.recruit-card__text {
  margin-top: 1.5rem;
  font-size: max(10px, 0.75rem);
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .recruit-card__text {
    order: 3;
  }
}

.recruit-card__text2 {
  margin-top: 1.5rem;
  font-size: max(10px, 0.75rem);
  line-height: 2.0833333333;
}
@media screen and (max-width: 767px) {
  .recruit-card__text2 {
    order: 3;
  }
}

.sub-business__service {
  margin-top: 6.75rem;
}
@media screen and (max-width: 767px) {
  .sub-business__service {
    margin-top: 3.75rem;
  }
}

.card-list {
  width: 48.7203125%;
  max-width: 38.97625rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .card-list {
    width: 100%;
  }
}

.card-list__items .card-list__item {
  padding-block: 0;
}

.card-list__item {
  font-size: 1.4rem;
  line-height: 1;
  color: #ffffff;
  text-align: center;
  padding-block: 0.625rem;
}
.card-list__item:not(:first-of-type) {
  margin-top: 0.875rem;
}
.card-list__item.card-list__item--red {
  background-color: #e9546b;
}
.card-list__item.card-list__item--yellow {
  background-color: #f6d851;
}
.card-list__item.card-list__item--purple {
  background-color: #796baf;
}
.card-list__item.card-list__item--blue {
  background-color: #0099d9;
}

.card-list__item a {
  display: block;
  padding-block: 0.625rem;
}

.card {
  max-width: 765px;
  padding: 2.125rem 1.4375rem 1.4375rem 2.125rem;
  background-color: #dbd7d5;
  border: 1px solid #685e59;
  border-radius: 1.75rem;
}
@media screen and (max-width: 767px) {
  .card {
    padding: 1.0625rem 0.6875rem 0.6875rem 1.0625rem;
    border-radius: 0.875rem;
  }
}
.card.card--red {
  box-shadow: -19px 19px rgba(233, 84, 107, 0.35);
}
@media screen and (max-width: 767px) {
  .card.card--red {
    box-shadow: -9px 9px rgba(233, 84, 107, 0.35);
  }
}
.card.card--yellow {
  box-shadow: 19px 19px rgba(246, 216, 81, 0.35);
}
@media screen and (max-width: 767px) {
  .card.card--yellow {
    box-shadow: 9px 9px rgba(246, 216, 81, 0.35);
  }
}
.card.card--purple {
  box-shadow: -19px 19px rgba(121, 107, 175, 0.35);
}
@media screen and (max-width: 767px) {
  .card.card--purple {
    box-shadow: -9px 9px rgba(121, 107, 175, 0.35);
  }
}
.card.card--blue {
  box-shadow: 19px 19px rgba(0, 153, 217, 0.35);
}
@media screen and (max-width: 767px) {
  .card.card--blue {
    box-shadow: 9px 9px rgba(0, 153, 217, 0.35);
  }
}
.card:nth-of-type(even) {
  margin-left: auto;
}
.card:not(:first-of-type) {
  margin-top: 7rem;
}
@media screen and (max-width: 767px) {
  .card:not(:first-of-type) {
    margin-top: 3.75rem;
  }
}

.card__inner {
  background-color: #ffffff;
  border-radius: 0.875rem;
  padding-right: 1.5625rem;
  padding-bottom: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .card__inner {
    border-radius: 0.4375rem;
    padding: 1.25rem;
  }
}
.card__inner.card__inner--padding-none {
  padding-right: 0;
}
@media screen and (max-width: 767px) {
  .card__inner.card__inner--padding-none {
    padding: 1.25rem;
  }
}

.card__header {
  display: flex;
  gap: 2.375rem;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .card__header {
    flex-direction: column;
    align-items: start;
    gap: 0.625rem;
  }
}

.card__container {
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .card__container {
    flex-direction: column;
  }
}

.card__container-text {
  margin-left: 1.75rem;
  margin-right: -1.25rem;
  padding-bottom: 1.4375rem;
  flex: 1;
}
@media screen and (max-width: 767px) {
  .card__container-text {
    margin-left: 0;
    margin-right: 0;
    padding-bottom: 1.4375rem;
  }
}
.card__container-text .common-title__japanese:not(:first-of-type) {
  margin-top: 1.625rem;
}
.card__container-text .card__text--large:not(:first-of-type) {
  margin-top: 1.0625rem;
}

.card__number {
  line-height: 1;
  z-index: 1;
  font-size: clamp(3rem, 6.458vw + 1.708rem, 6.875rem);
}

.card__content {
  display: flex;
  align-items: center;
  margin-top: -1.25rem;
}
@media screen and (max-width: 767px) {
  .card__content {
    flex-direction: column;
  }
}
.card__content.card__content--second {
  flex-direction: row-reverse;
  padding-left: 4rem;
  margin-right: -1.25rem;
}
@media screen and (max-width: 767px) {
  .card__content.card__content--second {
    flex-direction: column;
    padding-left: 0;
    margin-right: 0;
  }
}
.card__content.card__content--third {
  flex-direction: row-reverse;
  padding-left: 4rem;
}
@media screen and (max-width: 767px) {
  .card__content.card__content--third {
    flex-direction: column;
    padding-left: 0;
  }
}
.card__content.card__content--forth {
  flex-direction: row-reverse;
  padding-left: 4rem;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .card__content.card__content--forth {
    flex-direction: column;
    padding-left: 0;
  }
}

.card__image-wrapper {
  max-width: 340px;
  width: 100%;
  position: relative;
}
.card__image-wrapper img {
  width: 100%;
  aspect-ratio: 340/230;
  -o-object-fit: cover;
     object-fit: cover;
}
.card__image-wrapper.card__image-wrapper--img3 {
  max-width: 415px;
}
.card__image-wrapper.card__image-wrapper--img3 img {
  aspect-ratio: 415/238;
}
.card__image-wrapper.card__image-wrapper--img4 {
  max-width: 168px;
  margin-left: 1.25rem;
}
.card__image-wrapper.card__image-wrapper--img4 img {
  aspect-ratio: 168/238;
  -o-object-position: left 50%;
     object-position: left 50%;
}
@media screen and (max-width: 767px) {
  .card__image-wrapper.card__image-wrapper--img4 {
    margin-inline: auto;
    max-width: 415px;
  }
  .card__image-wrapper.card__image-wrapper--img4 img {
    aspect-ratio: 415/238;
  }
}
.card__image-wrapper .blur-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  mask-image: radial-gradient(circle, transparent 20%, black 90%);
  -webkit-mask-image: radial-gradient(circle, transparent 20%, black 90%);
}

.card__text-wrap {
  margin-top: 1rem;
}

.card__text {
  width: 54.0845070423%;
  font-size: max(10px, 0.75rem);
  line-height: 1.8333333333;
  color: #040000;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .card__text {
    margin-top: 1.25rem;
    width: 100%;
  }
}
.card__text.card__text--left {
  margin-left: -1.25rem;
}
@media screen and (max-width: 767px) {
  .card__text.card__text--left {
    margin-left: 0;
  }
}
.card__text.card__text--right {
  margin-right: -1.875rem;
}
@media screen and (max-width: 767px) {
  .card__text.card__text--right {
    margin-right: 0;
  }
}
.card__text.card__text--large {
  width: 100%;
}

.card__button {
  margin-top: 1rem;
}

.complete {
  overflow-x: clip;
  overflow-y: visible;
  position: relative;
}

.complete-bg {
  position: absolute;
  content: "";
  z-index: -1;
}

.complete-bg1 {
  top: 8%;
  right: 8%;
  width: min(16.015625vw, 205px);
  height: min(11.640625vw, 149px);
  background: url(../images/top/mv-fish-right.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .complete-bg1 {
    right: calc(50% - 750px);
  }
}
@media screen and (max-width: 767px) {
  .complete-bg1 {
    top: 3%;
    right: 3%;
  }
}

.complete-bg2 {
  top: 37%;
  left: 6%;
  width: min(25.78125vw, 330px);
  height: min(22.5vw, 288px);
  background: url(../images/top/penguin.png) no-repeat center center/cover;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .complete-bg2 {
    top: 88%;
  }
}
@media screen and (min-width: 1281px) {
  .complete-bg2 {
    left: calc(50% - 700px);
  }
}

.complete-bg3 {
  bottom: -5%;
  left: 50%;
  transform: translateX(-50%);
  width: 124.4140625vw;
  height: 29.8046875vw;
  background: url(../images/common/bottom-img.png) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .complete-bg3 {
    bottom: -1%;
  }
}

.complete-bg4 {
  bottom: -1rem;
  right: 35%;
  width: min(6.2890625vw, 80.5px);
  height: min(6.5234375vw, 83.5px);
  background: url(../images/top/shellfish2.png) no-repeat center center/cover;
  z-index: 1;
}

.complete-bg5 {
  bottom: 0;
  right: 42%;
  width: min(6.640625vw, 85px);
  height: min(5.46875vw, 70px);
  background: url(../images/top/shellfish6.png) no-repeat center center/cover;
  z-index: 1;
}

.complete__inner {
  max-width: 42.5rem;
}
@media screen and (max-width: 767px) {
  .complete__inner {
    max-width: 37.5rem;
  }
}

.complete__text {
  margin-top: 1.25rem;
  color: #040000;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.4444444444;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .complete__text {
    margin-top: 0.625rem;
    font-size: 1rem;
    line-height: 1.4285714286;
  }
}

.complete__subtext {
  margin-top: 2.5rem;
  color: #040000;
  font-size: 1rem;
  line-height: 2.375;
}
@media screen and (max-width: 767px) {
  .complete__subtext {
    margin-top: 1.875rem;
    font-size: 0.875rem;
    line-height: 2.2857142857;
  }
}

.complete__btn-wrap {
  margin-top: 2.5rem;
  display: flex;
  justify-content: center;
}

.complete__btn {
  color: #ffffff;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.4444444444;
  padding: 1.25rem;
  background-color: #666464;
  width: 28.75rem;
  border-radius: 0.25rem;
  text-transform: uppercase;
  transition: 0.3s;
  border: none;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .complete__btn {
    font-size: 0.875rem;
    line-height: 1.4285714286;
    padding: 0.71875rem;
    width: 12rem;
  }
}

.confirm {
  overflow-x: clip;
  overflow-y: visible;
  position: relative;
}

.confirm-bg {
  position: absolute;
  content: "";
  z-index: -1;
}

.confirm-bg1 {
  top: 8%;
  right: 8%;
  width: min(16.015625vw, 205px);
  height: min(11.640625vw, 149px);
  background: url(../images/top/mv-fish-right.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .confirm-bg1 {
    right: calc(50% - 750px);
  }
}

.confirm-bg2 {
  top: 57%;
  left: 6%;
  width: min(25.78125vw, 330px);
  height: min(22.5vw, 288px);
  background: url(../images/top/penguin.png) no-repeat center center/cover;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .confirm-bg2 {
    top: 88%;
  }
}
@media screen and (min-width: 1281px) {
  .confirm-bg2 {
    left: calc(50% - 700px);
  }
}

.confirm-bg3 {
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 124.4140625vw;
  height: 29.8046875vw;
  background: url(../images/common/bottom-img.png) no-repeat center center/cover;
}

.confirm-bg4 {
  bottom: -1rem;
  right: 35%;
  width: min(6.2890625vw, 80.5px);
  height: min(6.5234375vw, 83.5px);
  background: url(../images/top/shellfish2.png) no-repeat center center/cover;
  z-index: 1;
}

.confirm-bg5 {
  bottom: 0;
  right: 42%;
  width: min(6.640625vw, 85px);
  height: min(5.46875vw, 70px);
  background: url(../images/top/shellfish6.png) no-repeat center center/cover;
  z-index: 1;
}

.confirm__inner {
  max-width: 63.75rem;
}
@media screen and (max-width: 767px) {
  .confirm__inner {
    max-width: 37.5rem;
  }
}

.confirm__text-wrap {
  text-align: center;
}

.confirm__text {
  color: #040000;
  font-size: 1.1875rem;
  line-height: 1.4375;
}
@media screen and (max-width: 767px) {
  .confirm__text {
    font-size: 1rem;
    line-height: 1.4285714286;
  }
}

.confirm__items {
  margin-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .confirm__items {
    margin-top: 2.5rem;
  }
}

.confirm__item {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .confirm__item {
    display: block;
  }
}
.confirm__item:not(:first-of-type) {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .confirm__item:not(:first-of-type) {
    margin-top: 1.875rem;
  }
}

.confirm__term {
  width: 28.2352941176%;
  color: #040000;
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.4666666667;
}
@media screen and (max-width: 767px) {
  .confirm__term {
    width: 100%;
    font-size: 1rem;
  }
}
.confirm__term span {
  font-weight: 400;
  font-size: 0.75rem;
  padding: 0.03125rem 0.25rem;
  color: #ffffff;
  background-color: #FF0001;
  margin-left: 0.1875rem;
}

.confirm__description {
  flex: 1;
  color: #000;
  color: #040000;
  font-size: 1.125rem;
  line-height: 1.4285714286;
}
@media screen and (max-width: 767px) {
  .confirm__description {
    margin-top: 0.625rem;
    width: 100%;
    font-size: 0.875rem;
  }
}
.confirm__description.confirm__description--lh {
  line-height: 2.2857142857;
}

.confirm__button-wrap {
  margin-top: 3.75rem;
  display: flex;
  justify-content: center;
  gap: 5rem;
}
@media screen and (max-width: 767px) {
  .confirm__button-wrap {
    gap: 1.4375rem;
  }
}

.confirm__button {
  width: 17.5rem;
  padding: 1.1875rem;
  color: #ffffff;
  background-color: #666464;
  border-radius: 0.25rem;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.4444444444;
  text-align: center;
  border: none;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .confirm__button {
    width: 9.4375rem;
    padding: 0.59375rem;
    font-size: 0.875rem;
    line-height: 1.4285714286;
  }
}
.confirm__button:hover {
  opacity: 0.7;
  cursor: pointer;
}

.contact {
  overflow-x: clip;
  overflow-y: visible;
  position: relative;
}

.contact-bg {
  position: absolute;
  content: "";
  z-index: -1;
}

.contact-bg1 {
  top: 4%;
  right: -4%;
  width: min(48.515625vw, 621px);
  height: min(64.4921875vw, 825.5px);
  background: url(../images/top/top-business-img-right.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .contact-bg1 {
    right: calc(50% - 850px);
  }
}

.contact-bg2 {
  top: 24%;
  left: 0%;
  width: min(44.921875vw, 575px);
  height: min(74.0234375vw, 947.5px);
  background: url(../images/top/top-business-img-left.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .contact-bg2 {
    left: calc(50% - 900px);
  }
}

.contact-bg3 {
  top: 20%;
  left: -1%;
  width: min(102.421875vw, 101%);
  height: min(33.515625vw, 429px);
  background: url(../images/top/top-business-img-shadow.png) no-repeat center center/cover;
}

.contact-bg4 {
  top: 8%;
  right: 8%;
  width: min(16.015625vw, 205px);
  height: min(11.640625vw, 149px);
  background: url(../images/top/mv-fish-right.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .contact-bg4 {
    right: calc(50% - 750px);
  }
}

.contact-bg5 {
  top: 0%;
  right: 13%;
  width: clamp(52px, 8.125vw, 104px);
  height: clamp(58.25px, 9.1015625vw, 116.5px);
  background: url(../images/top/starfish.png) no-repeat center center/cover;
  z-index: 1;
}
@media screen and (min-width: 1281px) {
  .contact-bg5 {
    right: calc(50% - 480px);
  }
}

.contact-bg6 {
  top: 37%;
  right: 0%;
  width: min(18.1640625vw, 232.5px);
  height: min(27.9296875vw, 357.5px);
  background: url(../images/top/Whale.png) no-repeat center center/cover;
  z-index: 1;
}
@media screen and (min-width: 1281px) {
  .contact-bg6 {
    right: calc(50% - 700px);
  }
}

.contact-bg7 {
  top: 67%;
  left: 1%;
  width: min(25.78125vw, 330px);
  height: min(22.5vw, 288px);
  background: url(../images/top/penguin.png) no-repeat center center/cover;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .contact-bg7 {
    top: 88%;
    left: 0%;
  }
}
@media screen and (min-width: 1281px) {
  .contact-bg7 {
    left: calc(50% - 700px);
  }
}

.contact-bg8 {
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 124.4140625vw;
  height: 24.6484375vw;
  background: url(../images/common/bottom-img.png) no-repeat center center/cover;
}

.contact-bg9 {
  bottom: -1rem;
  right: 35%;
  width: min(6.2890625vw, 80.5px);
  height: min(6.5234375vw, 83.5px);
  background: url(../images/top/shellfish2.png) no-repeat center center/cover;
  z-index: 1;
}

.contact-bg10 {
  bottom: 0;
  right: 42%;
  width: min(6.640625vw, 85px);
  height: min(5.46875vw, 70px);
  background: url(../images/top/shellfish6.png) no-repeat center center/cover;
  z-index: 1;
}

.footer {
  background-color: #ffffff;
  padding-top: 1.25rem;
  padding-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
  .footer {
    padding-bottom: 1.875rem;
  }
}

.footer__inner {
  padding-inline: 7.8125rem;
}
@media screen and (max-width: 767px) {
  .footer__inner {
    padding-inline: 1.25rem;
    max-width: 37.5rem;
  }
}

.footer__logo {
  margin-inline: auto;
  max-width: 77px;
  width: 100%;
}
.footer__logo a {
  display: block;
}
.footer__logo img {
  width: 100%;
  aspect-ratio: 77/54;
  -o-object-fit: contain;
     object-fit: contain;
}

.footer__nav {
  margin-top: 1.5rem;
  max-width: 62.5rem;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.9375rem;
}

.footer__nav-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.footer__nav-item {
  position: relative;
}
.footer__nav-item:not(:first-of-type)::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 1px;
  height: 60%;
  background-color: #685e59;
}
.footer__nav-item:last-of-type {
  border: none;
}
.footer__nav-item a {
  padding: 0.625rem 0.5rem;
  display: block;
  font-size: max(11px, 0.75rem);
  line-height: 1;
  color: #685e59;
}
.footer__nav-item a:hover {
  opacity: 1;
}
.footer__nav-item a:hover span::after {
  transform: scale(1, 1);
}
.footer__nav-item a span {
  position: relative;
}
.footer__nav-item a span::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #5a5757;
  bottom: -2px;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform 0.3s;
}

.footer-content__info {
  margin-top: 1.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer-content__tel {
  font-size: 0.8125rem;
  line-height: 1.1538461538;
  color: #040000;
}

.footer-content__time {
  font-size: 0.8125rem;
  line-height: 1.1538461538;
  color: #040000;
}

.footer-content__contact-link {
  font-size: 0.9375rem;
  line-height: 1;
  padding: 0.59375rem 1.5rem;
  border: 1px solid #040000;
  margin-left: 1.0625rem;
}
@media screen and (max-width: 399px) {
  .footer-content__contact-link {
    font-size: 0.75rem;
  }
}

.footer-content__sns-link {
  margin-left: 0.5rem;
}

.fa-instagram {
  display: block;
}

.fa-instagram::before {
  font-size: 28px;
  color: #040000;
}

.footer__copyright-wrap {
  margin-top: 1.5rem;
  text-align: center;
}

.footer__copyright {
  color: #685e59;
  font-size: max(10px, 0.75rem);
  line-height: 1.1666666667;
}

.header__content {
  margin-top: 0.375rem;
}

.header-content {
  display: flex;
  justify-content: flex-end;
}

.header__logo {
  max-width: 4.8125rem;
}
.header__logo a {
  display: block;
}
.header__logo img {
  width: 100%;
  aspect-ratio: 77/55;
  -o-object-fit: contain;
     object-fit: contain;
}

.header-content__info {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .header-content__info {
    display: none;
  }
}

.header-content__tel {
  font-size: 0.8125rem;
  line-height: 1.1538461538;
  color: #040000;
}

.header-content__time {
  font-size: 0.8125rem;
  line-height: 1.1538461538;
  color: #040000;
}

.header-content__contact-link {
  font-size: 0.9375rem;
  line-height: 1;
  padding: 0.59375rem 1.5rem;
  border: 1px solid #040000;
  margin-left: 1.0625rem;
}

.header-content__sns-link {
  margin-left: 0.5rem;
}
.header-content__sns-link .fa-instagram {
  display: block;
}
.header-content__sns-link .fa-instagram::before {
  font-size: 32px;
  color: #040000;
}

.drawer {
  width: 100%;
  height: 100vh;
  overflow-y: scroll;
  transition: 0.6s;
  z-index: 999;
  padding: 0.625rem 1.25rem 9.375rem;
  margin-inline: auto;
}

.drawer__logo {
  max-width: 4.8125rem;
}
.drawer__logo a {
  display: block;
}
.drawer__logo img {
  width: 100%;
  aspect-ratio: 77/55;
  -o-object-fit: contain;
     object-fit: contain;
}
.drawer__logo.is-open {
  animation-name: fadeInAnime;
  animation-duration: 0.8s;
  animation-delay: 0.3s;
  animation-fill-mode: forwards;
}

.drawer-nav {
  margin-top: 4.375rem;
  opacity: 0;
}
.drawer-nav.is-open {
  animation-name: fadeInAnime;
  animation-duration: 0.8s;
  animation-delay: 0.3s;
  animation-fill-mode: forwards;
}

.drawer-nav__item a {
  padding: 0.71875rem 0.625rem;
  display: block;
  font-size: 0.875rem;
  line-height: 1.1428571429;
  text-transform: uppercase;
  border-bottom: 0.0625rem solid #011950;
  color: #040000;
}
.drawer-nav__item a:hover {
  opacity: 0.7;
}
.drawer-nav__item:first-child a {
  border-top: 0.0625rem solid #011950;
}
.drawer-nav__item.drawer-nav__item--japanese a {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.3;
}

@keyframes fadeInAnime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.drawer-nav__sns {
  margin-top: 2.5rem;
}

.drawer-sns__items {
  display: flex;
}

.drawer-sns__item a {
  padding: 0.625rem;
  display: block;
}
.drawer-sns__item a:hover {
  opacity: 0.7;
}
.drawer-sns__item:first-of-type a {
  padding-left: 0;
}

.drawer-content__info {
  margin-top: 1.875rem;
  display: flex;
  align-items: center;
  justify-content: space-around;
}
.drawer-content__info.is-open {
  animation-name: fadeInAnime;
  animation-duration: 0.8s;
  animation-delay: 0.3s;
  animation-fill-mode: forwards;
}

.drawer-content__tel {
  font-size: 0.9375rem;
  line-height: 1.1538461538;
  color: #040000;
}

.drawer-content__time {
  font-size: 0.8125rem;
  line-height: 1.1538461538;
  color: #040000;
}

.drawer-content__sns-link {
  margin-left: 0.5rem;
}

.drawer__bg {
  position: fixed;
  z-index: -1;
  width: 6.25rem;
  height: 6.25rem;
  border-radius: 50%;
  background-color: #ffffff;
  transform: scale(0);
  right: -3.125rem;
  bottom: -3.125rem;
  transition: all 0.8s;
}
.drawer__bg.is-open {
  transform: scale(35);
}

.hamburger {
  padding: 0 1.875rem;
  position: relative;
  cursor: pointer;
  width: 5.3125rem;
  z-index: 999;
}
.hamburger span {
  position: absolute;
  display: block;
  width: 1.75rem;
  height: 0.09375rem;
  background-color: #242424;
  transform: translateY(-50%);
  transition: 0.3s;
}
.hamburger span:nth-of-type(1) {
  top: 32%;
}
.hamburger span:nth-of-type(2) {
  top: 50%;
}
.hamburger span:nth-of-type(3) {
  top: 68%;
}
.hamburger.is-open {
  margin-top: 1.25rem;
}
.hamburger.is-open span:nth-of-type(1), .hamburger.is-open span:nth-of-type(3) {
  top: 50%;
  background-color: #040000;
  width: 1.8895rem;
}
.hamburger.is-open span:nth-of-type(1) {
  transform: rotate(47deg);
}
.hamburger.is-open span:nth-of-type(2) {
  opacity: 0;
}
.hamburger.is-open span:nth-of-type(3) {
  transform: rotate(-47deg);
}

.header-nav {
  height: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .header-nav {
    justify-content: space-between;
  }
}

.header-nav__list {
  height: inherit;
  display: flex;
  justify-content: center;
}

.header-nav__item {
  height: inherit;
}
.header-nav__item a {
  padding-inline: 1rem;
  display: flex;
  align-items: center;
  height: inherit;
  font-size: 0.875rem;
  font-size: max(10px, 0.875rem);
  line-height: 1;
  color: #5a5757;
  border-right: 1px solid #5a5757;
}
.header-nav__item a:hover {
  opacity: 1;
}
.header-nav__item a:hover span::after {
  transform: scale(1, 1);
}
@media screen and (max-width: 767px) {
  .header-nav__item a {
    display: none;
  }
}
.header-nav__item span {
  position: relative;
}
.header-nav__item span::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1.5px;
  background: #5a5757;
  bottom: -6px;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform 0.3s;
}
.header-nav__item:first-of-type a {
  border-left: 1px solid #5a5757;
}

.header-top {
  padding-block: 0.28125rem;
  background-color: #0EA5AB;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}
.header-top.is-open {
  display: none;
}

.header-top__inner {
  max-width: 930px;
}

.header-top__description {
  color: #ffffff;
  font-size: 0.875rem;
  line-height: 1.2;
}
@media screen and (max-width: 400px) {
  .header-top__description {
    font-size: 0.75rem;
  }
}

.header {
  height: clamp(6.25rem, 7.616vw + 2.594rem, 16.875rem);
  background: url(../images/common/header-img.png);
  background-repeat: no-repeat;
  background-position: 50% 130%;
  background-size: 105% auto;
  transition: background-color 1s ease;
}
@media screen and (max-width: 767px) {
  .header {
    height: clamp(7rem, 7.616vw + 2.594rem, 16.875rem);
    background-position: 50% clamp(-90px, -17.857vw + 46.964px, -20px);
  }
}
.header.change-color {
  background-color: rgba(255, 255, 255, 0.95);
}

.header__inner {
  height: inherit;
  max-width: 1100px;
  padding-inline: 1.875rem;
}

.header__nav {
  margin-top: 0.5rem;
}

.header__hamburger {
  height: inherit;
  display: none;
}
@media screen and (max-width: 767px) {
  .header__hamburger {
    display: block;
  }
}

.header__drawer {
  position: absolute;
  z-index: 900;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  opacity: 0;
  visibility: hidden;
}
.header__drawer.is-open {
  opacity: 1;
  visibility: visible;
}

.privacy-policy {
  max-width: 45.625rem;
  margin-inline: auto;
  margin-top: 0.625rem;
  height: 170px;
  padding: 1.875rem 1.5rem;
  border: 1px solid #e2e2e2;
  border-radius: 0.3125rem;
  overflow-y: scroll;
  line-height: 1.5;
  margin-bottom: 1rem;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .privacy-policy {
    padding: 1.875rem 0.75rem;
  }
}
.privacy-policy ol,
.privacy-policy ul {
  margin-top: 1.25rem;
}
.privacy-policy li {
  margin-left: 1.25rem;
}
.privacy-policy li:not(:first-of-type) {
  margin-top: 0.625rem;
}

.privacy-policy__box {
  margin-top: 2rem;
}

.privacy-policy__head {
  font-size: 1.375rem;
  font-weight: 500;
}

.privacy-policy__detail {
  margin-top: 1.5rem;
}

.wpcf7-form-control-wrap {
  display: block;
  text-align: center;
}

.business-service__content {
  margin-top: 4.25rem;
}

.services__title {
  font-size: 1.3125rem;
  line-height: 1.1904761905;
  text-align: center;
}

.services__grid {
  margin-top: 1.625rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-template-areas: "item1 item2" "item3 item4";
}
@media screen and (max-width: 767px) {
  .services__grid {
    max-width: 400px;
    margin-inline: auto;
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: repeat(1, 1fr);
    grid-template-areas: "item1" "item2" "item3" "item4";
  }
}

.item1 {
  background-color: #f6d851;
}

.item2 {
  background-color: #f4da98;
}

.item3 {
  background-color: #f4da98;
}
@media screen and (max-width: 767px) {
  .item3 {
    background-color: #f6d851;
  }
}

.item4 {
  background-color: #f6d851;
}
@media screen and (max-width: 767px) {
  .item4 {
    background-color: #f4da98;
  }
}

.services__item {
  display: flex;
  align-items: center;
  padding: 1.25rem;
}

.services__img {
  width: 100%;
}
.services__img img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.services__img.img1 {
  max-width: 134.5px;
}
.services__img.img1 img {
  aspect-ratio: 134.5/102.5;
}
.services__img.img2 {
  max-width: 120px;
}
.services__img.img2 img {
  aspect-ratio: 120/128.5;
}
.services__img.img3 {
  max-width: 130px;
}
.services__img.img3 img {
  aspect-ratio: 130/102.5;
}
.services__img.img4 {
  max-width: 124px;
}
.services__img.img4 img {
  aspect-ratio: 124/98;
}
@media screen and (max-width: 500px) {
  .services__img.img1, .services__img.img2, .services__img.img3, .services__img.img4 {
    max-width: 100px;
  }
}

.services__content {
  width: 58.4905660377%;
  margin-left: 1.625rem;
}

.services__name {
  font-size: max(12px, 0.9375rem);
}

.services__description {
  margin-top: 0.3125rem;
  font-size: max(10px, 0.75rem);
  line-height: 1.6666666667;
}

.services__description-word {
  display: inline-block;
}

.site-map {
  overflow-x: clip;
  overflow-y: visible;
  position: relative;
}

.site-map-bg {
  position: absolute;
  content: "";
  z-index: -1;
}

.site-map-bg1 {
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 124.53125vw;
  height: 22.578125vw;
  background: url(../images/common/bottom-img.png) no-repeat center center/cover;
}

.site-map-bg2 {
  bottom: -16px;
  right: 35%;
  width: min(6.2890625vw, 80.5px);
  height: min(6.5234375vw, 83.5px);
  background: url(../images/top/shellfish2.png) no-repeat center center/cover;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .site-map-bg2 {
    top: 98%;
  }
}

.site-map-bg3 {
  bottom: 0;
  right: 42%;
  width: min(6.640625vw, 85px);
  height: min(5.46875vw, 70px);
  background: url(../images/top/shellfish6.png) no-repeat center center/cover;
  z-index: 1;
}

.site-map__inner {
  max-width: 56.25rem;
  padding-inline: 1.25rem;
}

.site-map__title {
  line-height: 1.1964285714;
  color: #685e59;
  text-align: center;
  font-size: clamp(1.875rem, 2.708vw + 1.333rem, 3.5rem);
  text-align: center;
}

.site-map__content {
  margin-top: 2rem;
  padding-top: 2rem;
  display: flex;
  justify-content: space-between;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .site-map__content {
    flex-direction: column;
    align-items: center;
  }
}

.site-map__category {
  width: 33.3333333333%;
}
@media screen and (max-width: 767px) {
  .site-map__category {
    width: 100%;
  }
  .site-map__category:not(:first-of-type) {
    padding-top: 1.25rem;
    border-top: 1px solid #000;
  }
}

.site-map__category-title {
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .site-map__category-title {
    font-size: 1.375rem;
  }
}

.site-map__list {
  margin-top: 1.5rem;
}

.site-map__item a {
  padding-left: 1rem;
  position: relative;
  font-size: 1rem;
  line-height: 2;
}
.site-map__item a::before {
  content: "";
  position: absolute;
  width: 0.4375rem;
  height: 0.4375rem;
  border-right: 1px solid #040000;
  border-bottom: 1px solid #040000;
  top: 50%;
  left: 0;
  transform: rotate(-45deg) translateY(-50%);
}

.sub-business {
  overflow-x: clip;
  overflow-y: visible;
  position: relative;
}

.sub-business__bg {
  position: absolute;
  content: "";
  z-index: -1;
}

.sub-business__bg1 {
  top: 1%;
  right: -5%;
  width: min(48.515625vw, 621px);
  height: min(64.4921875vw, 825.5px);
  background: url(../images/top/top-business-img-right.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-business__bg1 {
    right: calc(50% - 700px);
  }
}

.sub-business__bg2 {
  top: 4%;
  left: 0%;
  width: min(44.921875vw, 575px);
  height: min(74.0234375vw, 947.5px);
  background: url(../images/top/top-business-img-left.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) and (min-width: 1281px) {
  .sub-business__bg2 {
    left: calc(50% - 700px);
  }
}

.sub-business__bg3 {
  top: 15%;
  right: 2%;
  width: min(34.296875vw, 439px);
  height: min(80.3125vw, 1028px);
  background: url(../images/top/top-business-img-right-bottom.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-business__bg3 {
    right: calc(50% - 700px);
  }
}

.sub-business__bg4 {
  top: 18%;
  left: -6%;
  width: min(60.2734375vw, 771.5px);
  height: min(69.296875vw, 887px);
  background: url(../images/top/top-business-img-left-bottom.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-business__bg4 {
    left: calc(50% - 700px);
  }
}

.sub-business__bg5 {
  top: 5%;
  left: -1%;
  width: min(102.421875vw, 101%);
  height: min(33.515625vw, 429px);
  background: url(../images/top/top-business-img-shadow.png) no-repeat center center/cover;
}

.sub-business__bg6 {
  top: 17%;
  left: -1%;
  width: min(102.421875vw, 1311px);
  height: min(40vw, 512px);
  background: url(../images/top/top-business-img-shadow2.png) no-repeat center center/cover;
}

.sub-business__bg7 {
  top: 17%;
  left: 54%;
  width: min(11.796875vw, 151px);
  height: min(9.140625vw, 117px);
  background: url(../images/top/top-business-img-fish.png) no-repeat center center/cover;
}

.sub-business__bg8 {
  top: 18%;
  right: 4%;
  width: min(11.015625vw, 141px);
  height: min(7.265625vw, 93px);
  background: url(../images/top/top-business-img-anemone.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-business__bg8 {
    right: calc(50% - 700px);
  }
}

.sub-business__bg9 {
  top: 29%;
  left: 5%;
  width: min(10.46875vw, 134px);
  height: min(16.25vw, 208px);
  background: url(../images/top/top-business-img-octopus.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-business__bg9 {
    left: calc(50% - 575px);
  }
}

.sub-business__bg10 {
  top: 26%;
  left: 3%;
  width: min(9.8046875vw, 125.5px);
  height: min(12.96875vw, 166px);
  background: url(../images/top/top-business-img-jellyfish.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-business__bg10 {
    left: calc(50% - 575px);
  }
}

.sub-business__bg11 {
  top: 28%;
  right: 5%;
  width: min(6.2109375vw, 79.5px);
  height: min(8.5546875vw, 109.5px);
  background: url(../images/top/top-business-img-jellyfish2.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-business__bg11 {
    right: calc(50% - 630px);
  }
}

.sub-business__bg12 {
  top: 32%;
  right: -5%;
  width: min(48.515625vw, 621px);
  height: min(64.4921875vw, 825.5px);
  background: url(../images/top/top-business-img-right.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-business__bg12 {
    right: calc(50% - 700px);
  }
}

.sub-business__bg13 {
  top: 37%;
  left: 0%;
  width: min(44.921875vw, 575px);
  height: min(74.0234375vw, 947.5px);
  background: url(../images/top/top-business-img-left.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) and (min-width: 1281px) {
  .sub-business__bg13 {
    left: calc(50% - 700px);
  }
}

.sub-business__bg14 {
  top: 47%;
  right: 2%;
  width: min(34.296875vw, 439px);
  height: min(80.3125vw, 1028px);
  background: url(../images/top/top-business-img-right-bottom.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-business__bg14 {
    right: calc(50% - 700px);
  }
}

.sub-business__bg15 {
  top: 50%;
  left: -6%;
  width: min(60.2734375vw, 771.5px);
  height: min(69.296875vw, 887px);
  background: url(../images/top/top-business-img-left-bottom.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-business__bg15 {
    left: calc(50% - 670px);
  }
}

.sub-business__bg16 {
  top: 36%;
  left: -1%;
  width: min(102.421875vw, 101%);
  height: min(33.515625vw, 429px);
  background: url(../images/top/top-business-img-shadow.png) no-repeat center center/cover;
}

.sub-business__bg17 {
  top: 49%;
  left: -1%;
  width: min(102.421875vw, 101%);
  height: min(40vw, 512px);
  background: url(../images/top/top-business-img-shadow2.png) no-repeat center center/cover;
}

.sub-business__bg18 {
  top: 49%;
  left: 54%;
  width: min(11.796875vw, 151px);
  height: min(9.140625vw, 117px);
  background: url(../images/top/top-business-img-fish.png) no-repeat center center/cover;
}

.sub-business__bg19 {
  top: 56%;
  right: 4%;
  width: min(11.015625vw, 141px);
  height: min(7.265625vw, 93px);
  background: url(../images/top/top-business-img-anemone.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-business__bg19 {
    right: calc(50% - 550px);
  }
}

.sub-business__bg20 {
  top: 61%;
  left: 9%;
  width: min(10.46875vw, 134px);
  height: min(16.25vw, 208px);
  background: url(../images/top/top-business-img-octopus.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-business__bg20 {
    left: calc(50% - 550px);
  }
}

.sub-business__bg21 {
  top: 57%;
  left: 3%;
  width: min(9.8046875vw, 125.5px);
  height: min(12.96875vw, 166px);
  background: url(../images/top/top-business-img-jellyfish.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-business__bg21 {
    left: calc(50% - 600px);
  }
}

.sub-business__bg22 {
  top: 60%;
  right: 5%;
  width: min(6.2109375vw, 79.5px);
  height: min(8.5546875vw, 109.5px);
  background: url(../images/top/top-business-img-jellyfish2.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-business__bg22 {
    right: calc(50% - 580px);
  }
}

.sub-business__bg23 {
  top: 64%;
  right: -5%;
  width: min(48.515625vw, 621px);
  height: min(64.4921875vw, 825.5px);
  background: url(../images/top/top-business-img-right.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-business__bg23 {
    right: calc(50% - 700px);
  }
}

.sub-business__bg24 {
  top: 68%;
  left: 0%;
  width: min(44.921875vw, 575px);
  height: min(74.0234375vw, 947.5px);
  background: url(../images/top/top-business-img-left.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-business__bg24 {
    left: calc(50% - 700px);
  }
}

.sub-business__bg25 {
  top: 79%;
  right: 2%;
  width: min(34.296875vw, 439px);
  height: min(80.3125vw, 1028px);
  background: url(../images/top/top-business-img-right-bottom.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-business__bg25 {
    right: calc(50% - 700px);
  }
}

.sub-business__bg26 {
  top: 81%;
  left: -6%;
  width: min(60.2734375vw, 771.5px);
  height: min(69.296875vw, 887px);
  background: url(../images/top/top-business-img-left-bottom.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-business__bg26 {
    left: calc(50% - 700px);
  }
}

.sub-business__bg27 {
  top: 68%;
  left: -1%;
  width: min(102.421875vw, 101%);
  height: min(33.515625vw, 429px);
  background: url(../images/top/top-business-img-shadow.png) no-repeat center center/cover;
}

.sub-business__bg28 {
  top: 81%;
  left: -1%;
  width: min(102.421875vw, 101%);
  height: min(40vw, 512px);
  background: url(../images/top/top-business-img-shadow2.png) no-repeat center center/cover;
}

.sub-business__bg29 {
  top: 81%;
  left: 54%;
  width: min(11.796875vw, 151px);
  height: min(9.140625vw, 117px);
  background: url(../images/top/top-business-img-fish.png) no-repeat center center/cover;
}

.sub-business__bg30 {
  top: 82%;
  right: 4%;
  width: min(11.015625vw, 141px);
  height: min(7.265625vw, 93px);
  background: url(../images/top/top-business-img-anemone.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-business__bg30 {
    right: calc(50% - 600px);
  }
}

.sub-business__bg31 {
  top: 93%;
  left: 9%;
  width: min(10.46875vw, 134px);
  height: min(16.25vw, 208px);
  background: url(../images/top/top-business-img-octopus.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-business__bg31 {
    left: calc(50% - 550px);
  }
}
@media screen and (max-width: 767px) {
  .sub-business__bg31 {
    top: 91%;
    left: 6%;
  }
}

.sub-business__bg32 {
  top: 89%;
  left: 3%;
  width: min(9.8046875vw, 125.5px);
  height: min(12.96875vw, 166px);
  background: url(../images/top/top-business-img-jellyfish.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-business__bg32 {
    left: calc(50% - 650px);
  }
}

.sub-business__bg33 {
  top: 92%;
  right: 5%;
  width: min(6.2109375vw, 79.5px);
  height: min(8.5546875vw, 109.5px);
  background: url(../images/top/top-business-img-jellyfish2.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-business__bg33 {
    right: calc(50% - 700px);
  }
}

.sub-business__bg34 {
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 124.4140625vw;
  height: 24.6484375vw;
  background: url(../images/common/bottom-img.png) no-repeat center center/cover;
}

.sub-business__bg35 {
  bottom: -1rem;
  right: 35%;
  width: min(6.2890625vw, 80.5px);
  height: min(6.5234375vw, 83.5px);
  background: url(../images/top/shellfish2.png) no-repeat center center/cover;
  z-index: 1;
}

.sub-business__bg36 {
  top: 2%;
  right: 7%;
  width: min(16.015625vw, 205px);
  height: min(11.640625vw, 149px);
  background: url(../images/top/mv-fish-right.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-business__bg36 {
    right: calc(50% - 700px);
  }
}

.sub-business__bg37 {
  top: 19%;
  left: 8%;
  width: min(12.734375vw, 163px);
  height: min(28.359375vw, 363px);
  background: url(../images/top/shellfish3.png) no-repeat center center/cover;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .sub-business__bg37 {
    display: none;
  }
}
@media screen and (min-width: 1281px) {
  .sub-business__bg37 {
    left: calc(50% - 550px);
  }
}

.sub-business__bg38 {
  top: 26%;
  right: 14%;
  width: min(12.1484375vw, 155.5px);
  height: min(13.0859375vw, 167.5px);
  background: url(../images/business/fish.png) no-repeat center center/cover;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .sub-business__bg38 {
    top: 99%;
  }
}
@media screen and (min-width: 1281px) {
  .sub-business__bg38 {
    right: calc(50% - 500px);
  }
}

.sub-business__bg39 {
  top: 35%;
  left: 3%;
  width: min(12.6171875vw, 161.5px);
  height: min(11.0546875vw, 141.5px);
  background: url(../images/business/shellfish4.png) no-repeat center center/cover;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .sub-business__bg39 {
    top: 99%;
  }
}
@media screen and (min-width: 1281px) {
  .sub-business__bg39 {
    left: calc(50% - 700px);
  }
}

.sub-business__bg40 {
  top: 43.5%;
  right: 7%;
  width: min(11.328125vw, 145px);
  height: min(17.109375vw, 219px);
  background: url(../images/business/sea-otter.png) no-repeat center center/cover;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .sub-business__bg40 {
    top: 98%;
    right: 3%;
  }
}
@media screen and (min-width: 1281px) {
  .sub-business__bg40 {
    right: calc(50% - 600px);
  }
}

.sub-business__bg41 {
  top: 51%;
  left: 3%;
  width: min(25.78125vw, 330px);
  height: min(22.5vw, 288px);
  background: url(../images/top/penguin.png) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .sub-business__bg41 {
    top: 24%;
    left: 2%;
  }
}
@media screen and (min-width: 1281px) {
  .sub-business__bg41 {
    left: calc(50% - 620px);
  }
}

.sub-business__bg42 {
  top: 73%;
  right: 6%;
  width: min(25.78125vw, 330px);
  height: min(22.5vw, 288px);
  background: url(../images/top/penguin.png) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .sub-business__bg42 {
    top: 24%;
    left: 2%;
  }
}
@media screen and (min-width: 1281px) {
  .sub-business__bg42 {
    right: calc(50% - 680px);
  }
}

.sub-business__bg43 {
  top: 88%;
  right: 8%;
  width: min(18.1640625vw, 232.5px);
  height: min(27.9296875vw, 357.5px);
  background: url(../images/top/Whale.png) no-repeat center center/cover;
  z-index: 1;
}
@media screen and (max-width: 999px) {
  .sub-business__bg43 {
    top: 90%;
    right: 2%;
  }
}
@media screen and (min-width: 1281px) {
  .sub-business__bg43 {
    right: calc(50% - 550px);
  }
}

.sub-business__bg44 {
  top: 88%;
  right: 14%;
  width: min(8.9453125vw, 114.5px);
  height: min(13.3984375vw, 171.5px);
  background: url(../images/business/shellfish5.png) no-repeat center center/cover;
  z-index: 1;
}
@media screen and (min-width: 1281px) {
  .sub-business__bg44 {
    right: calc(50% - 700px);
  }
}
@media screen and (max-width: 767px) {
  .sub-business__bg44 {
    right: 4%;
  }
}

.sub-business__bg45 {
  bottom: 0;
  right: 42%;
  width: min(6.640625vw, 85px);
  height: min(5.46875vw, 70px);
  background: url(../images/top/shellfish6.png) no-repeat center center/cover;
  z-index: 1;
}

.business-event__inner,
.business-service__inner,
.business-funeral__inner,
.business-recruit__inner {
  max-width: 850px;
  margin-inline: auto;
}

@media screen and (max-width: 767px) {
  .business-event__title,
  .business-service__title,
  .business-funeral__title,
  .business-recruit__title {
    margin-inline: calc(50% - 50vw);
    width: 100vw;
  }
}

.business-event__items,
.business-service__items,
.business-funeral__items,
.business-recruit__items {
  margin-top: 3.25rem;
  display: flex;
  justify-content: space-between;
  gap: 1.625rem;
}
@media screen and (max-width: 767px) {
  .business-event__items,
  .business-service__items,
  .business-funeral__items,
  .business-recruit__items {
    margin-top: 1.625rem;
    gap: 0;
    flex-direction: column;
    align-items: center;
  }
}

.business-service__items,
.business-funeral__items,
.business-recruit__items {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .business-service__items,
  .business-funeral__items,
  .business-recruit__items {
    flex-direction: column;
  }
}

.business-event__img,
.business-service__img,
.business-funeral__img,
.business-recruit__img {
  max-width: 390px;
  width: 100%;
  mask-image: radial-gradient(circle, rgb(0, 0, 0) 5%, rgba(0, 0, 0, 0) 90%);
  -webkit-mask-image: radial-gradient(circle, rgb(0, 0, 0) 5%, rgba(0, 0, 0, 0) 90%);
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}
.business-event__img img,
.business-service__img img,
.business-funeral__img img,
.business-recruit__img img {
  width: 100%;
  aspect-ratio: 390/260;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .business-event__img,
  .business-service__img,
  .business-funeral__img,
  .business-recruit__img {
    margin-top: 0.75rem;
    order: 3;
  }
}

.business-event__item,
.business-service__item,
.business-funeral__item,
.business-recruit__item {
  width: 50.1176470588%;
}
@media screen and (max-width: 767px) {
  .business-event__item,
  .business-service__item,
  .business-funeral__item,
  .business-recruit__item {
    display: contents;
  }
}

@media screen and (max-width: 767px) {
  .business-event__subtitle {
    order: 1;
  }
}

@media screen and (max-width: 767px) {
  .business-event__japanese-title {
    order: 2;
  }
}

.business-event__text,
.business-service__text,
.business-funeral__text,
.business-recruit__text {
  margin-top: 1.125rem;
  font-size: max(10px, 0.75rem);
}
@media screen and (max-width: 767px) {
  .business-event__text,
  .business-service__text,
  .business-funeral__text,
  .business-recruit__text {
    order: 4;
  }
}

@media screen and (max-width: 767px) {
  .sub-company-card__info {
    margin-top: 2rem;
  }
}

.sub-company-card-info__item {
  display: flex;
}
.sub-company-card-info__item:not(:first-of-type) {
  margin-top: 0.75rem;
}
@media screen and (max-width: 767px) {
  .sub-company-card-info__item {
    flex-direction: column;
  }
  .sub-company-card-info__item:not(:first-of-type) {
    margin-top: 0.75rem;
  }
}

.sub-company-card-info__title {
  width: 31.25%;
  font-size: max(10px, 0.75rem);
  line-height: 1.5;
  color: #040000;
}
@media screen and (max-width: 767px) {
  .sub-company-card-info__title {
    width: 100%;
    font-size: max(12px, 0.875rem);
  }
}

.sub-company-card-info__text {
  flex: 1;
  margin-left: 0.625rem;
  font-size: max(10px, 0.75rem);
  line-height: 1.5;
  color: #040000;
}
@media screen and (max-width: 767px) {
  .sub-company-card-info__text {
    margin-top: 0.3125rem;
    margin-left: 0;
  }
}

.company-card--reverse {
  position: relative;
}

.sub-company-bg18 {
  position: absolute;
  content: "";
  z-index: 1;
  bottom: -6%;
  left: -2%;
  width: min(29.453125vw, 377px);
  width: clamp(70px, 6.484375vw, 83px);
  height: min(30.390625vw, 389px);
  height: clamp(80px, 7.8125vw, 100px);
  background: url(../images/top/shellfish1.png) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .sub-company-bg18 {
    bottom: -7%;
    left: -5%;
  }
}

.company-card-history {
  position: relative;
}

.sub-company-bg19 {
  position: absolute;
  content: "";
  z-index: 1;
  top: 0;
  right: -28%;
  width: min(29.453125vw, 377px);
  width: clamp(120px, 29.453125vw, 377px);
  height: min(30.390625vw, 389px);
  height: clamp(123px, 30.390625vw, 389px);
  background: url(../images/top/mermaid.png) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .sub-company-bg19 {
    right: -13%;
  }
}

.sub-company-card__history {
  margin-top: 1.125rem;
}
@media screen and (max-width: 767px) {
  .sub-company-card__history {
    margin-top: 2rem;
  }
}

.sub-company-card-history__item {
  display: flex;
}
@media screen and (max-width: 767px) {
  .sub-company-card-history__item {
    flex-direction: column;
  }
  .sub-company-card-history__item:not(:first-of-type) {
    margin-top: 0.75rem;
  }
}

.sub-company-card-history__year {
  width: 7.7683615819%;
  font-size: max(10px, 0.75rem);
  line-height: 1.8333333333;
  color: #040000;
}
@media screen and (max-width: 767px) {
  .sub-company-card-history__year {
    width: 100%;
    font-size: max(12px, 0.875rem);
  }
}

.sub-company-card-history__text {
  flex: 1;
  margin-left: 1.125rem;
  font-size: max(10px, 0.75rem);
  line-height: 1.8333333333;
  color: #040000;
}
@media screen and (max-width: 767px) {
  .sub-company-card-history__text {
    margin-top: 0.3125rem;
    margin-left: 0;
  }
}

.sub-company {
  overflow-x: clip; /* 横方向は非表示 */
  overflow-y: visible; /* 縦方向はそのまま表示 */
  position: relative;
}

.sub-company-bg {
  position: absolute;
  content: "";
  z-index: -1;
}

.sub-company-bg1 {
  top: 1%;
  right: 3%;
  width: min(48.515625vw, 621px);
  height: min(64.4921875vw, 825.5px);
  background: url(../images/top/top-business-img-right.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-company-bg1 {
    right: calc(50% - 350px);
    transform: translateX(50%);
  }
}

.sub-company-bg2 {
  top: 14%;
  left: -5%;
  width: min(44.921875vw, 575px);
  height: min(74.0234375vw, 947.5px);
  background: url(../images/top/top-business-img-left.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-company-bg2 {
    left: calc(50% - 350px);
    transform: translateX(-50%);
  }
}

.sub-company-bg3 {
  top: 12%;
  left: -1%;
  width: min(102.421875vw, 101%);
  height: min(33.515625vw, 429px);
  background: url(../images/top/top-business-img-shadow.png) no-repeat center center/cover;
}

.sub-company-bg4 {
  top: 3%;
  right: 15%;
  width: min(16.015625vw, 205px);
  height: min(11.640625vw, 149px);
  background: url(../images/top/mv-fish-right.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-company-bg4 {
    right: calc(50% - 550px);
  }
}

.sub-company-bg5 {
  top: -2%;
  right: 7%;
  width: clamp(52px, 8.125vw, 104px);
  height: clamp(58.25px, 9.1015625vw, 116.5px);
  background: url(../images/top/starfish.png) no-repeat center center/cover;
  z-index: 1;
}

.sub-company-bg6 {
  top: 14%;
  right: 9%;
  width: min(18.1640625vw, 232.5px);
  height: min(27.9296875vw, 357.5px);
  background: url(../images/top/Whale.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-company-bg6 {
    right: calc(50% - 800px);
  }
}
@media screen and (max-width: 767px) {
  .sub-company-bg6 {
    top: 26%;
    right: 1%;
    z-index: 1;
  }
}

.sub-company-bg7 {
  top: 26%;
  left: 8%;
  width: min(25.78125vw, 330px);
  height: min(22.5vw, 288px);
  background: url(../images/top/penguin.png) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .sub-company-bg7 {
    top: 24%;
    left: 2%;
  }
}
@media screen and (min-width: 1281px) {
  .sub-company-bg7 {
    left: calc(50% - 750px);
  }
}

.sub-company-bg8 {
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 124.4140625vw;
  height: 29.8046875vw;
  background: url(../images/common/bottom-img.png) no-repeat center center/cover;
}

.sub-company-bg9 {
  bottom: -1rem;
  right: 35%;
  width: min(6.2890625vw, 80.5px);
  height: min(6.5234375vw, 83.5px);
  background: url(../images/top/shellfish2.png) no-repeat center center/cover;
  z-index: 1;
}

.sub-company-bg10 {
  top: 45%;
  right: 2%;
  width: min(34.296875vw, 439px);
  height: min(80.3125vw, 1028px);
  background: url(../images/top/top-business-img-right-bottom.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-company-bg10 {
    right: calc(50% - 800px);
  }
}

.sub-company-bg11 {
  top: 51%;
  left: -6%;
  width: min(60.2734375vw, 771.5px);
  height: min(69.296875vw, 887px);
  background: url(../images/top/top-business-img-left-bottom.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-company-bg11 {
    left: calc(50% - 750px);
  }
}

.sub-company-bg12 {
  top: 51%;
  left: -1%;
  width: min(102.421875vw, 101%);
  height: min(40vw, 512px);
  background: url(../images/top/top-business-img-shadow2.png) no-repeat center center/cover;
}

.sub-company-bg13 {
  top: 47%;
  left: 54%;
  width: min(11.796875vw, 151px);
  height: min(9.140625vw, 117px);
  background: url(../images/top/top-business-img-fish.png) no-repeat center center/cover;
}

.sub-company-bg14 {
  top: 50%;
  right: 2%;
  width: min(11.015625vw, 141px);
  height: min(7.265625vw, 93px);
  background: url(../images/top/top-business-img-anemone.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-company-bg14 {
    right: calc(50% - 700px);
  }
}

.sub-company-bg15 {
  top: 86%;
  left: 20%;
  width: min(10.46875vw, 134px);
  height: min(16.25vw, 208px);
  background: url(../images/top/top-business-img-octopus.png) no-repeat center center/cover;
}

.sub-company-bg16 {
  top: 73%;
  left: 3%;
  width: min(9.8046875vw, 125.5px);
  height: min(12.96875vw, 166px);
  background: url(../images/top/top-business-img-jellyfish.png) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .sub-company-bg16 {
    top: 76%;
  }
}
@media screen and (min-width: 1281px) {
  .sub-company-bg16 {
    left: calc(50% - 750px);
  }
}

.sub-company-bg17 {
  top: 82%;
  right: 5%;
  width: min(6.2109375vw, 79.5px);
  height: min(8.5546875vw, 109.5px);
  background: url(../images/top/top-business-img-jellyfish2.png) no-repeat center center/cover;
}

.sub-company-bg20 {
  bottom: 0;
  right: 42%;
  width: min(6.640625vw, 85px);
  height: min(5.46875vw, 70px);
  background: url(../images/top/shellfish6.png) no-repeat center center/cover;
  z-index: 1;
}

/*===========================================
company-card
===========================================*/
.company-card {
  max-width: 765px;
  padding: 2.125rem 1.4375rem 1.4375rem 2.125rem;
  background-color: #dbd7d5;
  border: 1px solid #685e59;
  border-radius: 1.75rem;
}
@media screen and (max-width: 767px) {
  .company-card {
    padding: 1.0625rem 0.6875rem 0.6875rem 1.0625rem;
    border-radius: 0.875rem;
  }
}
.company-card.company-card-history {
  margin-inline: auto;
}
@media screen and (max-width: 1000px) {
  .company-card.company-card-history {
    max-width: 600px;
  }
}
.company-card.card--red {
  box-shadow: -19px 19px rgba(233, 84, 107, 0.35);
}
@media screen and (max-width: 767px) {
  .company-card.card--red {
    box-shadow: -9px 9px rgba(233, 84, 107, 0.35);
  }
}
.company-card.card--yellow {
  box-shadow: 19px 19px rgba(246, 216, 81, 0.35);
  position: relative;
}
@media screen and (max-width: 767px) {
  .company-card.card--yellow {
    box-shadow: 9px 9px rgba(246, 216, 81, 0.35);
  }
}
.company-card.card--purple {
  box-shadow: -19px 19px rgba(121, 107, 175, 0.35);
}
@media screen and (max-width: 767px) {
  .company-card.card--purple {
    box-shadow: -9px 9px rgba(121, 107, 175, 0.35);
  }
}
.company-card.card--blue {
  box-shadow: 19px 19px rgba(0, 153, 217, 0.35);
}
@media screen and (max-width: 767px) {
  .company-card.card--blue {
    box-shadow: 9px 9px rgba(0, 153, 217, 0.35);
  }
}
.company-card:nth-of-type(even) {
  margin-left: auto;
}
.company-card:not(:first-of-type) {
  margin-top: 10.375rem;
}
@media screen and (max-width: 767px) {
  .company-card:not(:first-of-type) {
    margin-top: 3.75rem;
  }
}

.company-card__inner {
  background-color: #ffffff;
  border-radius: 0.875rem;
  padding: 1.125rem 1.875rem 3.3125rem;
}
@media screen and (max-width: 767px) {
  .company-card__inner {
    border-radius: 0.4375rem;
    padding: 1.25rem;
  }
}

.company-card__header {
  display: flex;
  gap: 2.375rem;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .company-card__header {
    flex-direction: column;
    align-items: start;
    gap: 0.625rem;
  }
}

.company-card__content {
  display: flex;
  align-items: flex-start;
  margin-top: 1.25rem;
  gap: 1.53125rem;
}
@media screen and (max-width: 767px) {
  .company-card__content {
    flex-direction: column;
    gap: 0;
  }
}
.company-card__content.company-card__content--reverse {
  flex-direction: row-reverse;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .company-card__content.company-card__content--reverse {
    flex-direction: column;
  }
}

.company-card__image-wrapper {
  max-width: 313px;
  width: 100%;
  position: relative;
}
.company-card__image-wrapper img {
  width: 100%;
  aspect-ratio: 313/295;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .company-card__image-wrapper {
    max-width: 100%;
  }
}

.company-card__image-wrapper2 {
  max-width: 300px;
  width: 100%;
  position: relative;
  margin-top: -4.375rem;
}
.company-card__image-wrapper2 img {
  width: 100%;
  aspect-ratio: 317/255;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .company-card__image-wrapper2 {
    max-width: 100%;
    margin-top: 0;
  }
}
.company-card__image-wrapper2::after {
  content: "";
  position: absolute;
  background: url(../images/company/company2.jpg) no-repeat center center/cover;
  width: 11rem;
  height: 11rem;
  border-radius: 50%;
  top: calc(100% + 20px);
  right: -5px;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .company-card__image-wrapper2::after {
    width: clamp(100px, 22.371vw + 28.412px, 200px);
    height: clamp(100px, 22.371vw + 28.412px, 200px);
  }
}

.company-card__text-wrap {
  width: 59.0849673203%;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .company-card__text-wrap {
    margin-top: 1.25rem;
    width: 100%;
  }
}

.company-card__text {
  font-size: max(10px, 0.75rem);
  line-height: 1.2;
  color: #040000;
}
.company-card__text.company-card__text--president {
  margin-top: 1.5rem;
  text-align: right;
}
.company-card__text.company-card__text--president:nth-of-type(3) {
  margin-top: 0.25rem;
}

.sub-company__content {
  padding-top: 2.5rem;
  padding-bottom: 18.3125rem;
}

.sub-company__map-list {
  margin-top: 6.75rem;
  display: flex;
  justify-content: center;
  gap: 3.125rem;
}
@media screen and (max-width: 767px) {
  .sub-company__map-list {
    flex-direction: column;
    margin-top: 3.75rem;
  }
}

.sub-company__map-item {
  width: max(300px, 24.875rem);
}
@media screen and (max-width: 767px) {
  .sub-company__map-item {
    width: 100%;
  }
}

.sub-company__map {
  width: 100%;
}
.sub-company__map iframe {
  width: 100%;
  aspect-ratio: 398/264;
  -o-object-fit: cover;
     object-fit: cover;
}

.sub-company__map-text {
  margin-top: 0.75rem;
  font-size: max(10px, 0.75rem);
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .sub-company__map-text {
    font-size: max(12px, 0.875rem);
  }
}

.sub-contact {
  max-width: 63.75rem;
  margin-inline: auto;
  padding: 1.4375rem 0.875rem 2.125rem 2.65625rem;
  background-color: #dbd7d5;
  border: 1px solid #685e59;
  border-radius: 1.75rem;
  box-shadow: 19px 19px rgba(246, 216, 81, 0.35);
}
@media screen and (max-width: 767px) {
  .sub-contact {
    padding: 1.0625rem 0.6875rem 0.6875rem 1.0625rem;
    border-radius: 0.875rem;
    box-shadow: 9px 9px rgba(246, 216, 81, 0.35);
  }
}

.sub-contact__inner {
  background-color: #ffffff;
  border-radius: 0.875rem;
  padding: 4rem 4.6875rem 0.875rem 1.25rem;
}
@media screen and (max-width: 767px) {
  .sub-contact__inner {
    border-radius: 0.4375rem;
    padding: 1.25rem;
  }
}

.sub-contact__row {
  max-width: 45rem;
  margin-inline: auto;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .sub-contact__row {
    margin-top: 1.875rem;
  }
}

.sub-contact__head span {
  color: #040000;
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.1578947368;
  display: inline-block;
}
.sub-contact__head span:nth-of-type(2) {
  font-weight: 400;
  font-size: 0.75rem;
  padding: 0.03125rem 0.25rem;
  color: #ffffff;
  background-color: #ff0001;
  margin-left: 0.1875rem;
}
.sub-contact__head.sub-contact__head--policy {
  margin-top: 2.5rem;
  text-align: center;
}
.sub-contact__head.sub-contact__head--policy span {
  font-size: 1.15625rem;
}

.sub-contact__data {
  width: 100%;
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .sub-contact__data {
    margin-top: 0.53125rem;
  }
}

input[type=text],
input[type=email],
input[type=tel] {
  width: 100%;
  padding: 0.4375rem 0.9375rem;
  background: #ffffff;
  border: none;
  outline: none;
  border-bottom: 1px solid #040000;
  border-radius: 0;
  transition: 0.3s;
  font-size: 1rem;
  line-height: 1.4285714286;
}
input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=tel]::-moz-placeholder {
  color: #a9a9a9;
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder {
  color: #a9a9a9;
}

.select-wrap {
  position: relative;
}
.select-wrap::after {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  right: 0.9375rem;
  width: 0.75rem;
  height: 0.375rem;
  background: url(../images/material-arrow-icon.svg) no-repeat center center/cover;
  pointer-events: none;
}
.select-wrap select {
  width: 100%;
  padding: 0.875rem 0.9375rem;
  background: #ffffff;
  border: 1px solid #e2e2e2;
  border-radius: 0.3125rem;
  color: #040000;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4285714286;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.select-wrap select:hover {
  cursor: pointer;
}

textarea {
  width: 100%;
  height: 160px;
  resize: none;
  padding: 0.625rem;
  transition: 0.3s;
  font-size: 0.875rem;
  line-height: 1.4285714286;
}

.sub-contact__checkbox {
  margin-top: 2.0625rem;
}
@media screen and (max-width: 767px) {
  .sub-contact__checkbox {
    margin-top: 1.375rem;
  }
}

.contact-checkbox label input[type=checkbox] {
  display: none;
}
.contact-checkbox label span {
  display: inline-block;
  padding-left: 1.625rem;
  position: relative;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: 500;
}
.contact-checkbox label span::before {
  position: absolute;
  content: "";
  width: 1.0625rem;
  height: 1.0625rem;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  background: #ffffff;
  border: 1px solid #e2e2e2;
  transition: 0.3s;
}
.contact-checkbox label span::after {
  position: absolute;
  content: "";
  top: 40%;
  transform: translateY(-50%) rotate(45deg);
  left: 0.375rem;
  width: 0.375rem;
  height: 0.9375rem;
  border-right: 2px solid #040000;
  border-bottom: 2px solid #040000;
  opacity: 0;
}
.contact-checkbox label input[type=checkbox]:checked + span::after {
  opacity: 1;
}
.contact-checkbox label:hover {
  cursor: pointer;
}

.sub-contact__btn-wrap {
  text-align: center;
  margin-top: 2.5625rem;
  margin-inline: auto;
  border-radius: 0.25rem;
  max-width: 27.875rem;
  width: 100%;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .sub-contact__btn-wrap {
    max-width: 12rem;
    margin-top: 2.5rem;
  }
}

.sub-contact__btn {
  color: #ffffff;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.4444444444;
  padding: 1.25rem;
  width: inherit;
  display: block;
  background-color: #666464;
  border-radius: 0.25rem;
  transition: 0.3s;
  border: none;
}
.sub-contact__btn:hover {
  opacity: 0.7;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .sub-contact__btn {
    font-size: 0.875rem;
    line-height: 1.4285714286;
    padding: 0.71875rem;
  }
  .sub-contact__btn:hover {
    opacity: 1;
  }
}

div.wpcf7 .wpcf7-spinner {
  display: none !important;
}

.wpcf7 form .wpcf7-response-output {
  background-color: #ffffff;
}

.sub-mv {
  padding-top: 5rem;
  padding-bottom: 3.75rem;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 1281px) {
  .sub-mv {
    padding-top: clamp(3.125rem, 16.87vw - 10.382rem, 21.25rem);
  }
}
@media screen and (max-width: 767px) {
  .sub-mv {
    padding-top: 3rem;
  }
}

.sub-mv__inner {
  min-height: 210px;
}
.sub-mv__inner.site-map__inner {
  min-height: 60px;
}

.sub-mv__business-overview {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .sub-mv__business-overview {
    margin-top: 1.5rem;
  }
}

.sub-mv__business-overview-title {
  font-size: 1.375rem;
  line-height: 1.1818181818;
  letter-spacing: 0.05em;
  color: #231815;
  text-align: center;
  font-size: clamp(0.875rem, 0.833vw + 0.708rem, 1.375rem);
}

.sub-mv__business-overview-description {
  margin-top: 1.875rem;
  font-size: 0.75rem;
  line-height: 1.2;
  color: #231815;
  text-align: center;
}

.sub-mv-img1,
.sub-mv-img2,
.sub-mv-img3 {
  position: absolute;
  content: "";
}

.sub-mv-img1 {
  bottom: 0;
  left: 60%;
  transform: translateX(-50%);
  width: 125.7421875vw;
  height: 21.640625vw;
  background: url(../images/sub/sub-mv-bottom.png) no-repeat center center/cover;
  z-index: -1;
}

.sub-mv-img2 {
  background: url(../images/top/mv-fish-left.png) no-repeat center center/cover;
  width: min(14.140625vw, 181px);
  height: min(10.3125vw, 132px);
  top: 15%;
  left: 7%;
}
@media screen and (min-width: 1281px) {
  .sub-mv-img2 {
    left: calc(50% - 700px);
  }
}

.sub-mv-img3 {
  top: 1%;
  right: 2%;
  width: min(20.2734375vw, 259.5px);
  height: min(11.9140625vw, 152.5px);
  background: url(../images/sub/sub-whale.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .sub-mv-img3 {
    right: calc(50% - 700px);
  }
}

.top-business-overview {
  padding-top: 17rem;
  padding-bottom: 0.875rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: url(../images/top/mv-img-bottom.png);
  background-repeat: no-repeat;
  background-position: 40% 100%;
  background-size: 134% auto;
  position: relative;
}
@media screen and (min-width: 1281px) {
  .top-business-overview {
    background-size: 134% 100%;
  }
}
@media screen and (max-width: 767px) {
  .top-business-overview {
    padding-top: 5.625rem;
    background-size: 134% 80%;
  }
}
.top-business-overview::after {
  content: "";
  position: absolute;
  background: url(../images/top/flower.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: min(15.3125vw, 196px);
  height: min(10vw, 128px);
  top: 52%;
  left: 4%;
}

.top-business-overview__inner {
  z-index: 1;
}

.top-business-overview__title {
  font-size: 1.375rem;
  line-height: 1.1818181818;
  letter-spacing: 0.05em;
  color: #231815;
  text-align: center;
  font-size: clamp(0.875rem, 0.833vw + 0.708rem, 1.375rem);
}
@media screen and (max-width: 767px) {
  .top-business-overview__title {
    background-color: rgba(253, 253, 253, 0.7);
  }
}

.top-business-overview__description {
  margin-top: 0.75rem;
  font-size: 0.75rem;
  line-height: 1.2;
  color: #231815;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top-business-overview__description {
    background-color: rgba(253, 253, 253, 0.7);
  }
}

.top-business {
  overflow-x: clip;
  overflow-y: visible;
  position: relative;
}

.top-business__bg {
  position: absolute;
  content: "";
  z-index: -1;
}

.top-business__bg1 {
  top: 1%;
  right: -5%;
  width: min(48.515625vw, 621px);
  height: min(64.4921875vw, 825.5px);
  background: url(../images/top/top-business-img-right.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .top-business__bg1 {
    right: calc(50% - 750px);
  }
}

.top-business__bg2 {
  top: 16%;
  left: 0%;
  width: min(44.921875vw, 575px);
  height: min(74.0234375vw, 947.5px);
  background: url(../images/top/top-business-img-left.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .top-business__bg2 {
    left: calc(50% - 750px);
  }
}

.top-business__bg3 {
  top: 45%;
  right: 2%;
  width: min(34.296875vw, 439px);
  height: min(80.3125vw, 1028px);
  background: url(../images/top/top-business-img-right-bottom.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .top-business__bg3 {
    right: calc(50% - 820px);
  }
}

.top-business__bg4 {
  top: 51%;
  left: -6%;
  width: min(60.2734375vw, 771.5px);
  height: min(69.296875vw, 887px);
  background: url(../images/top/top-business-img-left-bottom.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .top-business__bg4 {
    left: calc(50% - 850px);
  }
}

.top-business__bg5 {
  top: 15%;
  left: -1%;
  width: min(102.421875vw, 101%);
  height: min(33.515625vw, 429px);
  background: url(../images/top/top-business-img-shadow.png) no-repeat center center/cover;
}

.top-business__bg6 {
  top: 51%;
  left: -1%;
  width: min(102.421875vw, 101%);
  height: min(40vw, 512px);
  background: url(../images/top/top-business-img-shadow2.png) no-repeat center center/cover;
}

.top-business__bg7 {
  top: 50%;
  left: 54%;
  width: min(11.796875vw, 151px);
  height: min(9.140625vw, 117px);
  background: url(../images/top/top-business-img-fish.png) no-repeat center center/cover;
}

.top-business__bg8 {
  top: 52%;
  right: 4%;
  width: min(11.015625vw, 141px);
  height: min(7.265625vw, 93px);
  background: url(../images/top/top-business-img-anemone.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .top-business__bg8 {
    right: calc(50% - 700px);
  }
}

.top-business__bg9 {
  top: 85%;
  left: 18%;
  width: min(10.46875vw, 134px);
  height: min(16.25vw, 208px);
  background: url(../images/top/top-business-img-octopus.png) no-repeat center center/cover;
}

.top-business__bg10 {
  top: 73%;
  left: 3%;
  width: min(9.8046875vw, 125.5px);
  height: min(12.96875vw, 166px);
  background: url(../images/top/top-business-img-jellyfish.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .top-business__bg10 {
    left: calc(50% - 800px);
  }
}

.top-business__bg11 {
  top: 82%;
  right: 5%;
  width: min(6.2109375vw, 79.5px);
  height: min(8.5546875vw, 109.5px);
  background: url(../images/top/top-business-img-jellyfish2.png) no-repeat center center/cover;
}

.top-business__bg12 {
  top: 32%;
  left: 5%;
  width: min(25.78125vw, 330px);
  height: min(22.5vw, 288px);
  background: url(../images/top/penguin.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .top-business__bg12 {
    left: calc(50% - 850px);
  }
}

.top-business__bg13 {
  top: 49%;
  right: 6%;
  width: min(29.453125vw, 377px);
  height: min(30.390625vw, 389px);
  background: url(../images/top/mermaid.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .top-business__bg13 {
    right: calc(50% - 700px);
  }
}

.top-business__bg14 {
  top: 64%;
  left: 18%;
  width: min(18.1640625vw, 232.5px);
  height: min(27.9296875vw, 357.5px);
  background: url(../images/top/Whale.png) no-repeat center center/cover;
}
@media screen and (min-width: 1281px) {
  .top-business__bg14 {
    left: calc(50% - 420px);
  }
}

.top-business__bg15 {
  top: 82%;
  right: 5%;
  width: min(6.2109375vw, 79.5px);
  height: min(8.5546875vw, 109.5px);
  background: url(../images/top/top-business-img-jellyfish2.png) no-repeat center center/cover;
}

.top-business__bg16 {
  top: 19%;
  left: 1%;
  width: clamp(41.5px, 6.484375vw, 83px);
  height: clamp(45px, 7.8125vw, 100px);
  background: url(../images/top/shellfish1.png) no-repeat center center/cover;
  z-index: 1;
}
@media screen and (min-width: 1281px) {
  .top-business__bg16 {
    left: calc(50% - 700px);
  }
}

.top-business__bg17 {
  bottom: -1rem;
  right: 35%;
  width: min(6.2890625vw, 80.5px);
  height: min(6.5234375vw, 83.5px);
  background: url(../images/top/shellfish2.png) no-repeat center center/cover;
  z-index: 1;
}

.top-business__bg18 {
  top: 87%;
  right: 2%;
  width: clamp(52px, 8.125vw, 104px);
  height: clamp(58.25px, 9.1015625vw, 116.5px);
  background: url(../images/top/starfish.png) no-repeat center center/cover;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .top-business__bg18 {
    right: 0%;
  }
}

.top-business__bg19 {
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 124.53125vw;
  height: 22.578125vw;
  background: url(../images/common/bottom-img.png) no-repeat center center/cover;
}

.top-business__bg20 {
  bottom: 0;
  right: 42%;
  width: min(6.640625vw, 85px);
  height: min(5.46875vw, 70px);
  background: url(../images/top/shellfish6.png) no-repeat center center/cover;
  z-index: 1;
}

.top-business__button {
  margin-top: 3.875rem;
}

.top-business-button {
  text-align: center;
}
.top-business-button a {
  display: inline-block;
  font-size: 1.375rem;
  line-height: 1;
  width: clamp(15.625rem, 23.125vw + 11rem, 29.5rem);
  background-color: #ffffff;
  padding: 0.375rem 1.25rem;
  border: 1px solid #040000;
  color: #685e59;
}
.top-business-button.card__button a {
  font-size: 1rem;
  padding: 0.375rem 0.875rem;
  width: clamp(12.5rem, 12.5vw + 10rem, 20rem);
}

.top-contact {
  overflow: hidden;
  background-color: #685e59;
}

@media screen and (max-width: 767px) {
  .top-contact__inner {
    max-width: 600px;
    margin-inline: auto;
  }
}

.top-contact__container {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .top-contact__container {
    flex-direction: column;
    width: 100%;
    padding: 5rem 1.25rem;
    align-items: center;
  }
}

.top-contact__map {
  width: 50%;
}
.top-contact__map iframe {
  width: 100%;
  height: 100%;
  vertical-align: bottom;
}
@media screen and (max-width: 767px) {
  .top-contact__map {
    width: 100%;
    height: 200px;
  }
}

.top-contact__details {
  flex: 1;
  padding: 1rem 2.4375rem 1.5rem 1.5rem;
}
@media screen and (max-width: 767px) {
  .top-contact__details {
    padding: 0;
    width: 100%;
  }
}

.top-contact__info-wrap {
  border-bottom: 1px solid #ffffff;
}

.top-contact__info-item {
  display: flex;
  padding-block: 1.125rem;
}
@media screen and (max-width: 767px) {
  .top-contact__info-item {
    flex-direction: column;
  }
}

.top-contact__info-title {
  width: max(130px, 10.3125rem);
  font-size: max(10px, 0.75rem);
  line-height: 1.7;
  color: #ffffff;
  padding-left: 0.53125rem;
}
@media screen and (max-width: 767px) {
  .top-contact__info-title {
    font-size: max(12px, 0.875rem);
  }
}

.top-contact__info-text {
  flex: 1;
  font-size: max(10px, 0.75rem);
  line-height: 1.7;
  color: #ffffff;
  padding-left: 1.25rem;
}
@media screen and (max-width: 767px) {
  .top-contact__info-text {
    padding-left: 0.53125rem;
    margin-top: 0.3125rem;
  }
}

.top-contact__cta {
  margin-top: 1.0625rem;
}

.top-contact__cta-text {
  font-size: max(10px, 0.75rem);
  line-height: 1.7;
  color: #ffffff;
  padding-left: 0.53125rem;
}

.top-contact__cta-button {
  margin-top: 1rem;
  margin-left: 3.75rem;
}
@media screen and (max-width: 767px) {
  .top-contact__cta-button {
    margin-left: 0;
    text-align: center;
  }
}
.top-contact__cta-button a {
  display: inline-block;
  text-align: center;
  font-size: max(10px, 0.75rem);
  line-height: 1;
  width: 10.6875rem;
  padding: 0.625rem 1.25rem;
  color: #685e59;
  background-color: #ffffff;
}

.top-contact__cta-info {
  margin-top: 1rem;
  font-size: max(10px, 0.75rem);
  line-height: 1.7;
  color: #ffffff;
  padding-left: 0.53125rem;
}
@media screen and (max-width: 767px) {
  .top-contact__cta-info {
    text-align: center;
  }
}

.top-mv {
  padding-top: 9.375rem;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-mv {
    padding-top: 5rem;
  }
}
.top-mv::before {
  content: "";
  position: absolute;
  background: url(../images/top/mv-img-right.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: min(17.421875vw, 223px);
  height: min(21.015625vw, 269px);
  top: -18%;
  right: -7%;
}
@media screen and (max-width: 767px) {
  .top-mv::before {
    top: 0;
  }
}
@media screen and (min-width: 1281px) {
  .top-mv::before {
    right: calc(50% - 700px);
  }
}
.top-mv::after {
  content: "";
  position: absolute;
  background: url(../images/top/mv-img-left.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: min(38.046875vw, 487px);
  height: min(27.421875vw, 351px);
  top: 5%;
  left: -11%;
}
@media screen and (max-width: 767px) {
  .top-mv::after {
    left: -20%;
  }
}
@media screen and (min-width: 1281px) {
  .top-mv::after {
    left: calc(50% - 850px);
  }
}

.top-mv__inner {
  position: relative;
}
.top-mv__inner::before {
  content: "";
  position: absolute;
  background: url(../images/top/mv-fish-right.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: min(16.015625vw, 205px);
  height: min(11.640625vw, 149px);
  top: 60%;
  right: 5%;
}
@media screen and (max-width: 767px) {
  .top-mv__inner::before {
    top: 35%;
    right: 0;
  }
}
@media screen and (max-width: 500px) {
  .top-mv__inner::before {
    top: 35%;
  }
}
.top-mv__inner::after {
  content: "";
  position: absolute;
  background: url(../images/top/mv-fish-left.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: min(14.140625vw, 181px);
  height: min(10.3125vw, 132px);
  top: 60%;
  left: 3%;
}
@media screen and (max-width: 767px) {
  .top-mv__inner::after {
    top: 40%;
    left: 0;
  }
}
@media screen and (max-width: 600px) {
  .top-mv__inner::after {
    top: 30%;
    left: 3%;
  }
}

.top-mv__card {
  margin-top: 2.375rem;
}

@media screen and (max-width: 767px) {
  .is-pc {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .is-sp {
    display: none;
  }
}
/*# sourceMappingURL=style.css.map */
