*,
*::before,
*::after {
  box-sizing: border-box !important;
}

@media (min-width: 769px) {
  .sp {
    display: none !important;
  }

  body {
    min-width: unset !important;
  }
}

@media (max-width: 768px) {
  .pc {
    display: none !important;
  }
}

@media (min-width: 1021px) {
  #header:before {
    content: "";
    width: 100vw;
    height: 100%;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: calc((100% - 100vw) / 2);
  }
  #header .header-top {
    position: relative;
  }
}

@media (max-width: 1020px) and (min-width: 769px) {
  #header {
    max-width: 100vw;
  }
  #header .header-gNav .gNav-box {
    width: 100%;
  }
  #header .header-gNav .gNav-box .gNav-item > a {
    white-space: nowrap;
  }
  #header .header-gNav .gNav-box .gNav-item .gNav-childBox {
    width: 100%;
  }
  #header .header-gNav .gNav-box .gNav-item .gNav-childBox .gNav-childBox-item02 > a {
    white-space: nowrap;
    padding: 0 1em;
  }
  #header .header-gNav .gNav-box .gNav-item .gNav-childBox .gNav-childBox-w12 {
    width: unset;
    flex: 1;
    overflow: unset;
  }
  .breadcrumb {
    width: unset;
  }
  footer {
    overflow: scroll;
  }
}

.footer-fixed {
  display: none !important;
}

.breadcrumb {
  padding-top: 190px;
}

@media screen and (max-width: 768px) {
  .breadcrumb {
    padding-top: 18.6vw;
    padding-bottom: 5.1vw;
  }
}

.fv {
  position: relative;
}

.fv__bg {
  width: 1316px;
  margin: 0 auto;
  display: flex;
}

.fv__bg img {
  max-width: 100%;
  object-fit: contain;
}

.fv__img {
  width: 734px;
  display: flex;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.fv__img img {
  max-width: 100%;
  object-fit: contain;
  transform: translateX(-1.5%);
}

@media screen and (max-width: 1316px) and (min-width: 769px) {
  .fv__bg {
    width: 100%;
  }
  .fv__img {
    width: 55.77vw;
  }
}

@media screen and (max-width: 768px) {
  .fv__bg {
    width: 100vw;
  }
  .fv__img {
    width: 93.2vw;
  }
  .fv__img img {
    transform: translate(-1.5%, 4.6vw);
  }
}

.content_wrapper {
  background-color: #cfe9dd;
  margin-top: -138px;
  padding-top: 138px;
  padding-bottom: 142px;
}

.kaizen {
  background-color: #fcd261;
  max-width: 1106px;
  margin: 0 auto;
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
  padding: 51px 0 46px;
  position: relative;
  z-index: 1;
}

.kaizen__img {
  width: 862px;
  margin: 0 auto;
  display: flex;
}

.kaizen__img img {
  max-width: 100%;
  object-fit: contain;
  transform: translateX(1.2%);
}

@media screen and (max-width: 1106px) and (min-width: 769px) {
  .kaizen {
    width: 100%;
    padding: 4.6vw 0 4.1vw;
  }
  .kaizen__img {
    width: 77.9vw;
  }
}

@media screen and (max-width: 768px) {
  .content_wrapper {
    background-color: #c3e0d1;
    margin-top: -20.9vw;
    padding-top: 20.9vw;
    padding-bottom: 16vw;
  }
  .kaizen {
    position: relative;
    width: 88.3vw;
    border-top-left-radius: 6.9vw;
    border-top-right-radius: 6.9vw;
    padding: 4.6vw 0 6.2vw;
  }
  .kaizen__img {
    width: 64.4vw;
  }
  .kaizen__img img {
    transform: translateX(5.5%);
  }
}

.nayami {
  background-color: #fff;
  max-width: 1106px;
  margin: 0 auto;
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px;
  padding: 54px 0 85px;
}

.nayami__container {
  position: relative;
  width: 896px;
  margin: 0 auto;
}

.nayami__title {
  width: 820px;
  margin: 0 auto;
  display: flex;
}

.nayami__bg {
  width: 580px;
  display: flex;
  margin: 0 auto;
  margin-top: 74px;
  z-index: 1;
}

.nayami__img {
  width: 580px;
  display: flex;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
}

.nayami__wave {
  position: absolute;
}

.nayami__wave img {
  max-width: 100%;
  object-fit: contain;
}

.nayami__wave--1 {
  width: 301px;
  top: 145px;
  left: 113px;
  z-index: 1;
}

.nayami__wave--2 {
  width: 311px;
  top: 158px;
  right: 131px;
  z-index: 1;
}

.nayami__wave--3 {
  width: 338px;
  top: 296px;
  left: 0;
  z-index: 2;
}

.nayami__wave--4 {
  width: 317px;
  top: 313px;
  right: 17px;
  z-index: 2;
}

@media screen and (max-width: 1106px) and (min-width: 769px) {
  .nayami {
    width: 100%;
    padding: 4.8vw 0 7.6vw;
  }
  .nayami__container {
    width: 81vw;
  }
  .nayami__title {
    width: 74.1vw;
  }
  .nayami__bg {
    width: 52.4vw;
    margin-top: 6.7vw;
  }
  .nayami__img {
    width: 52.4vw;
  }
  .nayami__wave--1 {
    width: 27.2vw;
    top: 12.7vw;
    left: 10.2vw;
  }
  .nayami__wave--2 {
    width: 28.3vw;
    top: 15vw;
    right: 11.9vw;
  }
  .nayami__wave--3 {
    width: 30.8vw;
    top: 26.5vw;
    left: 0;
  }
  .nayami__wave--4 {
    width: 28.9vw;
    top: 28.9vw;
  }
}

@media screen and (max-width: 768px) {
  .nayami {
    width: 88.3vw;
    border-bottom-left-radius: 6.9vw;
    border-bottom-right-radius: 6.9vw;
    padding: 5.5vw 0 4.1vw;
  }
  .nayami__container {
    width: 71.1vw;
  }
  .nayami__title {
    width: 81.8vw;
    transform: translateX(-5.35vw);
  }
  .nayami__bg {
    width: 55.1vw;
    margin-top: 46.5vw;
  }
  .nayami__img {
    width: 78.5vw;
  }
  .nayami__wave--1 {
    width: 40.7vw;
    top: 28.3vw;
    left: 0;
  }
  .nayami__wave--2 {
    width: 40.7vw;
    top: 19.4vw;
    right: 0;
  }
  .nayami__wave--3 {
    width: 37vw;
    top: 52.9vw;
    left: 2vw;
  }
  .nayami__wave--4 {
    width: 37vw;
    top: 43.4vw;
    right: 1vw;
  }
}

.akujyunkan {
  background-color: #fff;
  max-width: 1106px;
  margin: 0 auto;
  border-radius: 30px;
  padding: 55px 0 45px;
  position: relative;
  margin-top: 60px;
}

.akujyunkan__title {
  width: 866px;
  margin: 0 auto;
  display: flex;
  position: absolute;
  top: -140px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
}

.akujyunkan__title img {
  max-width: 100%;
  object-fit: contain;
}

.akujyunkan__container {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1020px;
  margin: 0 auto;
}

.akujyunkan__img {
  width: 347px;
  object-fit: contain;
  margin-right: 75px;
}

.akujyunkan__text_container {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.akujyunkan_title_text {
  width: 300px;
  object-fit: contain;
}

.akujyunkan__text {
  font-size: 18px;
  line-height: 2;
  font-weight: 700;
  color: #632c17;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

@media screen and (max-width: 1106px) and (min-width: 769px) {
  .akujyunkan {
    width: 100%;
    padding: 4.9vw 0 4vw;
    margin-top: 5.4vw;
  }
  .akujyunkan__title {
    width: 78.3vw;
    top: -12.6vw;
  }
  .akujyunkan__container {
    width: 92.2vw;
  }
  .akujyunkan__img {
    width: 31.3vw;
    margin-right: 6.8vw;
  }
  .akujyunkan__text_container {
    gap: 2.7vw;
  }
  .akujyunkan_title_text {
    width: 27.1vw;
  }
  .akujyunkan__text {
    font-size: 1.62vw;
  }
}

@media screen and (max-width: 768px) {
  .akujyunkan {
    width: 88.3vw;
    border-radius: 6.9vw;
    padding: 7vw 6vw;
    margin-top: 6vw;
  }
  .akujyunkan__title {
    width: 81.8vw;
    top: -16vw;
  }
  .akujyunkan__container {
    width: unset;
    flex-direction: column-reverse;
    gap: 3.5vw;
  }
  .akujyunkan__img {
    width: 68.3vw;
    margin-right: 0;
  }
  .akujyunkan__text_container {
    gap: 4.5vw;
  }
  .akujyunkan_title_text {
    height: 7.5vw;
    width: unset;
    transform: translateX(3%);
  }
  .akujyunkan__text {
    font-size: max(3.3vw, 14px);
    font-weight: 500;
  }
}
.kaisyou {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 100%);
  width: 516px;
}

.kaisyou img {
  max-width: 100%;
  object-fit: contain;
}

.feature_wrapper {
  padding: 50px 0 180px;
  position: relative;
  max-width: 100vw;
  overflow: hidden;
}

.feature_wrapper::before {
  content: "";
  position: absolute;
  top: 525px;
  left: 50%;
  transform: translateX(-50%);
  width: 3584px;
  height: 3584px;
  background-image: url(../images/feature-bg.png);
  background-size: 29px 29px;
  background-repeat: repeat;
  mask-image: radial-gradient(circle at 50% 50%, black 1792px, transparent 1792px);
  -webkit-mask-image: radial-gradient(circle at 50% 50%, black 1792px, transparent 1792px);
}

.mikata__img {
  width: 1106px;
  margin: 0 auto;
  display: flex;
  position: relative;
}

.mikata__img img {
  max-width: 100%;
  object-fit: contain;
}

.feature__title {
  width: 882px;
  margin: 100px auto 0;
  object-fit: contain;
  display: block;
  position: relative;
}

.feature__item {
  width: 896px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 55px;
  position: relative;
  border-radius: 30px;
  margin-top: 105px;
  background-color: #fff;
}

.feature__item:nth-of-type(1) {
  padding: 70px 55px;
}

.feature__item_number {
  width: 115px;
  object-fit: contain;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -60%);
}

.feature__item_title {
  height: 30px;
  margin-bottom: 20px;
  object-fit: contain;
}

.feature__item--1 .feature__item_img {
  width: 420px;
  object-fit: contain;
}

.feature__item--2 .feature__item_img {
  width: 260px;
  object-fit: contain;
  margin-right: 32px;
}

.feature__item--3 .feature__item_img {
  width: 355px;
  object-fit: contain;
  transform: translate(25px, 0);
}

.feature__item_text {
  font-size: 18px;
  line-height: 2;
  font-weight: 700;
  color: #632c17;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.feature__item_text--small {
  font-size: 15px;
  line-height: 1.4;
  font-weight: 700;
  color: #939393;
  margin-top: 20px;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

@media screen and (max-width: 1106px) and (min-width: 769px) {
  .kaisyou {
    width: 46.5vw;
  }
  .feature_wrapper {
    padding: 4.5vw 0 16.3vw;
  }
  .feature_wrapper::before {
    top: 47.4vw;
  }
  .mikata__img {
    width: 100vw;
  }
  .feature__title {
    width: 79.7vw;
    margin-top: 9vw;
  }
  .feature__item {
    width: 82vw;
    padding: 5vw;
    margin-top: 8.1vw;
  }
  .feature__item:nth-of-type(1) {
    padding: 6.3vw 5vw;
  }
  .feature__item_number {
    width: 10.4vw;
  }
  .feature__item_title {
    height: 2.7vw;
    margin-bottom: 1.8vw;
  }
  .feature__item--1 .feature__item_img {
    width: 37.9vw;
  }
  .feature__item--2 .feature__item_img {
    width: 23.5vw;
    margin-right: 2.9vw;
  }
  .feature__item--3 .feature__item_img {
    width: 32.1vw;
    transform: translate(2.26vw, 0);
  }
  .feature__item_text {
    font-size: 1.62vw;
  }
  .feature__item_text--small {
    font-size: 1.35vw;
    margin-top: 1.8vw;
  }
}

@media screen and (max-width: 768px) {
  .kaisyou {
    width: 64.8vw;
    z-index: 1;
    transform: translate(-50%, 95%);
  }
  .feature_wrapper {
    padding: 16vw 0 20.4vw;
    background-image: url(../images/feature-bg-sp.png);
    background-size: cover;
    background-repeat: no-repeat;
  }
  .feature_wrapper::before {
    display: none;
  }
  .mikata__img {
    width: 75.5vw;
  }
  .feature__title {
    width: 88.3vw;
    margin-top: 15.5vw;
  }
  .feature__item {
    width: 88.3vw;
    height: auto;
    padding: 11vw 5vw 9vw 5.5vw;
    margin-top: 12vw;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    border-radius: 6.9vw;
    min-height: 88.6vw;
  }
  .feature__item:nth-of-type(1) {
    margin-top: 8.5vw;
    padding: 11vw 5vw 9vw 5.5vw;
  }
  .feature__item_number {
    width: 16vw;
    transform: translate(-50%, -50%);
  }
  .feature__item_title {
    height: 6.9vw;
    margin-bottom: 3.4vw;
  }
  .feature__item--1 .feature__item_img {
    width: 78.1vw;
    margin-top: 7.7vw;
  }
  .feature__item--2 .feature__item_img {
    width: 42.5vw;
    margin: 4vw auto 0;
    transform: unset;
  }
  .feature__item--3 .feature__item_img {
    width: 60vw;
    margin: 0 auto;
    transform: unset;
  }
  .feature__item_text {
    font-size: max(3.6vw, 14px);
    font-weight: 500;
    line-height: 1.4;
  }
  .feature__item_text--small {
    font-size: max(3.4vw, 14px);
    margin-top: 2vw;
    text-indent: -1em;
    padding-left: 1em;
    font-weight: 500;
  }
  .feature__item_container {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .feature__item_text {
    text-align: center;
  }
}

.kaiketsu_wrapper {
  position: relative;
  z-index: 1;
}

.kaiketsu__img {
  width: 985px;
  margin: 0 auto;
  display: flex;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -45%);
}

.kaiketsu__img img {
  max-width: 100%;
  object-fit: contain;
}

@media screen and (max-width: 1106px) and (min-width: 769px) {
  .kaiketsu__img {
    width: 89vw;
  }
}

@media screen and (max-width: 768px) {
  .kaiketsu__img {
    width: 90.4vw;
  }
}

.lineup_wrapper {
  background-image: url(../images/kaiketsu-bg.png);
  background-size: 29px 29px;
  background-repeat: repeat;
  position: relative;
  padding-top: 200px;
  max-width: 100vw;
  overflow: hidden;
}

.lineup_wrapper::before {
  content: "";
  position: absolute;
  top: 660px;
  left: 50%;
  transform: translateX(-50%);
  width: 3584px;
  height: 3584px;
  background-color: #fff;
  mask-image: radial-gradient(circle at 50% 50%, #fff 1792px, transparent 1792px);
  -webkit-mask-image: radial-gradient(circle at 50% 50%, #fff 1792px, transparent 1792px);
}

@media screen and (max-width: 1106px) and (min-width: 769px) {
  .lineup_wrapper {
    padding-top: 18vw;
  }
  .lineup_wrapper::before {
    top: 59.6vw;
  }
}

@media screen and (max-width: 768px) {
  .lineup_wrapper {
    background-image: url(../images/lineup-bg-sp.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    padding-top: 12vw;
  }
  .lineup_wrapper::before {
    display: none;
  }
  .kaiketsu__item:not(:nth-of-type(1)) {
    margin-top: -3vw;
  }
}

.kaiketsu__container {
  width: 1106px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 2;
}

.kaiketsu__item {
  width: 336px;
  display: flex;
}

.kaiketsu__item img {
  max-width: 100%;
  object-fit: contain;
}

.longsaler__img {
  width: 878px;
  margin: 220px auto 0;
  display: flex;
  position: relative;
  z-index: 2;
}

.longsaler__img img {
  max-width: 100%;
  object-fit: contain;
}

@media screen and (max-width: 1106px) and (min-width: 769px) {
  .kaiketsu__container {
    width: 100vw;
  }

  .kaiketsu__item {
    width: 30.3vw;
  }

  .longsaler__img {
    width: 79.3vw;
    margin-top: 19.9vw;
  }
}

@media screen and (max-width: 768px) {
  .kaiketsu__container {
    width: 88.3vw;
    flex-direction: column;
    align-items: center;
  }
  .kaiketsu__item {
    width: 100%;
  }
  .longsaler__img {
    width: 67.4vw;
    margin-top: 19.9vw;
  }
}

.lineup__title {
  width: 887px;
  margin: 70px auto 20px;
  display: flex;
  position: relative;
  z-index: 2;
}

.lineup__note {
  width: 580px;
  margin: 0 auto;
  display: flex;
  position: relative;
  z-index: 2;
}

.lineup__items {
  display: grid;
  grid-template-columns: repeat(2, 240px);
  justify-content: center;
  width: 1106px;
  margin: 0 auto;
  background-color: #ffffdd;
  border-radius: 36px;
  padding: 90px 0;
  margin-top: 80px;
  gap: 45px 60px;
  position: relative;
  z-index: 2;
}

.lineup__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none !important;
  margin: 0 0.4%;
}

.lineup__item_img {
  width: 186px;
  object-fit: contain;
  transition: all 0.3s ease;
}

@media screen and (max-width: 1106px) and (min-width: 769px) {
  .lineup__title {
    width: 80.2vw;
    margin-top: 6.3vw;
    margin-bottom: 1.8vw;
  }
  .lineup__note {
    width: 52.4vw;
  }
  .lineup__items {
    width: 100vw;
    padding: 8.1vw 0;
    gap: 4vw 6.3vw;
    margin-top: 7.2vw;
  }
  .lineup__item_img {
    width: 16.8vw;
  }
}

@media (min-width: 769px) {
  .lineup__item:hover .lineup__item_img {
    opacity: 0.7;
  }
}

@media screen and (max-width: 768px) {
  .lineup__title {
    width: 88.3vw;
    margin-top: 6.9vw;
    margin-bottom: 4vw;
  }
  .lineup__note {
    width: max(70vw, 260px);
  }
  .lineup__items {
    width: 100vw;
    padding: 8.3vw 0 15vw;
    margin-top: 6.9vw;
    border-radius: unset;
    grid-template-columns: repeat(2, 42.4vw);
    gap: 13vw 0;
  }
  .lineup__item_img {
    width: 26vw;
  }
  .lineup__item_title {
    font-size: max(3.7vw, 15px);
    margin-top: 2.7vw;
  }
  .lineup__item {
    margin: 0 auto;
  }
  .lineup__item:last-of-type {
    margin-right: auto;
  }
}

.lineup__item_title {
  font-size: 27px;
  line-height: 1.2;
  font-weight: 900;
  color: #ed781f;
  text-align: center;
  margin-top: 20px;
  font-family: "Zen Maru Gothic", sans-serif;
}

.lineup__item_text_container {
  display: flex;
  flex-direction: column;
  margin-top: 5px;
  align-items: flex-start;
}

.lineup__item_text {
  font-size: 16px;
  line-height: 1.65;
  font-weight: 700;
  color: #632c17;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.lineup__item_text--small {
  font-size: 14px;
  line-height: 1.4;
  font-weight: 700;
  color: #632c17;
  margin-top: 5px;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

@media screen and (max-width: 1106px) and (min-width: 769px) {
  .lineup__item_title {
    font-size: 2.4vw;
    margin-top: 1.8vw;
  }
  .lineup__item_text_container {
    margin-top: 0.4vw;
  }
  .lineup__item_text {
    font-size: 1.4vw;
  }
  .lineup__item_text--small {
    font-size: 1.3vw;
    margin-top: 0.4vw;
  }
}

@media screen and (max-width: 768px) {
  .lineup__item_title {
    font-size: max(3.7vw, 15px);
    margin-top: 2.7vw;
  }
  .lineup__item_text {
    font-size: max(2.8vw, 13px);
  }
  .lineup__item_text--small {
    font-size: max(2.4vw, 13px);
    margin-top: 0.7vw;
  }
}

.otoku_wrapper {
  background-color: #cfe9dd;
  padding: 32px 0;
  margin-top: 140px;
}

.otoku__bg {
  width: 269px;
  object-fit: contain;
  display: block;
  position: absolute;
  top: -190px;
  left: 45px;
}

.otoku__container {
  background-color: #fff;
  max-width: 1106px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 140px;
  border-radius: 30px;
  padding: 35px 105px 55px;
  position: relative;
}

.otoku__title_container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.otoku__title_img {
  width: 390px;
  object-fit: contain;
  display: block;
}

.otoku__title_img img {
  max-width: 100%;
  object-fit: contain;
}

.otoku__title_text {
  font-size: 19px;
  line-height: 1.56;
  font-weight: 700;
  color: #632c17;
  margin-top: 20px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  white-space: nowrap;
}

.otoku__title_link {
  display: block;
  width: 397px;
  height: 72px;
  background-image: url(../images/otoku-link.png);
  background-size: auto 25px;
  background-repeat: no-repeat;
  background-position: center;
  margin-top: 30px;
  background-color: #ed781f;
  border-radius: 5px;
  border: 2px solid #ed781f;
  transition: all 0.3s ease;
}

@media screen and (max-width: 1106px) and (min-width: 769px) {
  .otoku_wrapper {
    width: 100vw;
    margin-top: 12.65vw;
    padding: 2.89vw 0;
  }
  .otoku__bg {
    width: 24.3vw;
    top: -17.1vw;
    left: 3vw;
  }
  .otoku__container {
    max-width: 98vw;
    gap: 12.6vw;
    padding: 3.1vw 9.4vw 4.9vw;
  }
  .otoku__title_img {
    width: 35.2vw;
  }
  .otoku__title_text {
    font-size: 1.7vw;
    margin-top: 1.8vw;
  }
  .otoku__title_link {
    width: 35.89vw;
    height: 6.5vw;
    background-size: auto 2.26vw;
    margin-top: 2.7vw;
  }
}

@media (min-width: 769px) {
  .otoku__title_link:hover {
    background-image: url(../images/otoku-link-hover.png);
    background-color: #fff;
  }
}

@media screen and (max-width: 768px) {
  .otoku__title_container {
    align-items: flex-start;
  }
  .otoku_wrapper {
    width: 88.3vw;
    margin: 12.7vw auto 0;
    padding: 3.2vw;
  }
  .otoku__bg {
    width: 36vw;
    top: -24.2vw;
    left: 0vw;
  }
  .otoku__container {
    flex-direction: column;
    align-items: flex-start;
    gap: 3.5vw;
    position: relative;
    padding: 5vw 4vw;
    border-radius: 3vw;
  }
  .otoku__title_img {
    width: 68vw;
  }
  .otoku__title_text {
    font-size: max(3.4vw, 14px);
    margin-top: 20vw;
    line-height: 1.2;
    white-space: unset;
  }
  .otoku__title_link {
    width: 59.5vw;
    height: 9.3vw;
    margin: 3.5vw auto 0;
    background-size: auto 3.5vw;
  }
}

.otoku__product_img {
  width: 311px;
  display: flex;
}

.otoku__product_img img {
  max-width: 100%;
  object-fit: contain;
}

@media screen and (max-width: 1106px) and (min-width: 769px) {
  .otoku__product_img {
    width: 28.1vw;
  }
}

@media screen and (max-width: 768px) {
  .otoku__product_img {
    position: absolute;
    top: 22vw;
    left: 50%;
    transform: translateX(-50%);
    width: 65vw;
    display: flex;
    margin-left: 0;
  }
}

.sns_wrapper {
  position: relative;
  width: 1106px;
  margin: 107px auto 0;
}

.sns__img {
  width: 100%;
  display: flex;
}

.sns__img img {
  max-width: 100%;
  object-fit: contain;
}

.sns__links {
  display: flex;
  gap: 30px;
  position: absolute;
  top: 130px;
  left: 50%;
  transform: translateX(-50%);
}

.sns__links a {
  display: block;
  width: 92px;
  height: 92px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.3s ease;
}

.sns__twitter {
  background-image: url(../images/sns-x.png);
}

.sns__instagram {
  background-image: url(../images/sns-insta.png);
}

.sns__tiktok {
  background-image: url(../images/sns-tiktok.png);
}

@media screen and (max-width: 1106px) and (min-width: 769px) {
  .sns_wrapper {
    width: 100vw;
    margin-top: 9.6vw;
  }
  .sns__links {
    gap: 2.7vw;
    top: 11.8vw;
  }
  .sns__links a {
    width: 8.3vw;
    height: 8.3vw;
  }
}

@media screen and (min-width: 769px) {
  .sns__twitter:hover {
    background-image: url(../images/sns-x-hover.png);
  }

  .sns__instagram:hover {
    background-image: url(../images/sns-insta-hover.png);
  }

  .sns__tiktok:hover {
    background-image: url(../images/sns-tiktok-hover.png);
  }
}

@media screen and (max-width: 768px) {
  .sns_wrapper {
    width: 88.3vw;
    margin-top: 4vw;
  }
  .sns__links {
    gap: 4vw;
    top: 32.5vw;
  }
  .sns__links a {
    width: 12vw;
    height: 12vw;
  }
}

.kidspark_wrapper {
  position: relative;
  width: 1106px;
  margin: 60px auto 0;
  padding-bottom: 60px;
}

.kidspark__img {
  width: 100%;
  display: flex;
}

.kidspark__img img {
  max-width: 100%;
  object-fit: contain;
}

.kidspark__link {
  display: block;
  width: 217px;
  height: 38px;
  position: absolute;
  top: 286px;
  left: 165px;
  background-image: url(../images/kidspark-button.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.3s ease;
}

@media screen and (max-width: 1366px) and (min-width: 1107px) {
  .kidspark_wrapper {
    padding-bottom: 0;
  }
}

@media screen and (max-width: 1106px) and (min-width: 769px) {
  .kidspark_wrapper {
    width: 100vw;
    padding-bottom: 0;
    margin-top: 5.4vw;
  }
  .kidspark__link {
    width: 19.6vw;
    height: 3.4vw;
    top: 25.8vw;
    left: 14.9vw;
  }
}

@media screen and (min-width: 769px) {
  .kidspark__link:hover {
    background-image: url(../images/kidspark-button-hover.png);
  }
}

@media screen and (max-width: 768px) {
  .kidspark_wrapper {
    width: 88.3vw;
    padding-bottom: 0;
    margin-top: 4vw;
    padding-bottom: 12vw;
  }
  .kidspark__link {
    width: 40.7vw;
    height: 7.2vw;
    top: 44.5vw;
    left: 51.5%;
    transform: translateX(-50%);
    background-size: cover;
  }
  .kidspark__img {
    width: 88.3vw;
  }
}

.pagetop {
  position: relative;
}

.pagetop__link {
  display: block;
  width: 98px;
  height: 98px;
  background-image: url(../images/totop.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.3s ease;
  position: absolute;
  bottom: 15px;
  right: 25px;
}

@media screen and (max-width: 1366px) and (min-width: 769px) {
  .pagetop {
    display: flex;
    justify-content: flex-end;
    padding-top: 15px;
    padding-right: 25px;
    padding-bottom: 15px;
  }
  .pagetop__link {
    position: relative;
    bottom: unset !important;
    right: unset !important;
  }
}

@media screen and (max-width: 1106px) and (min-width: 769px) {
  .pagetop__link {
    width: 8.9vw;
    height: 8.9vw;
    bottom: 1.3vw;
    right: 2.2vw;
  }
}

@media screen and (min-width: 769px) {
  .pagetop__link:hover {
    background-image: url(../images/totop-hover.png);
  }
}

.floating {
  position: fixed;
  bottom: 40px;
  right: 40px;
  width: 244px;
  display: flex;
  z-index: 1000;
}

.floating__link {
  display: flex;
  width: 100%;
  height: 100%;
  cursor: pointer;
  position: relative;
}

.floating__link img {
  width: 100%;
  object-fit: contain;
  transition: all 0.3s ease;
}

.floating__close {
  display: flex;
  width: 28px;
  height: 28px;
  position: absolute;
  top: 5%;
  right: 15%;
  background-color: unset;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
}

.floating__close img {
  width: 100%;
  object-fit: contain;
}

@media screen and (max-width: 1106px) and (min-width: 769px) {
  .floating {
    width: 22.1vw;
    bottom: 3.6vw;
    right: 3.6vw;
  }

  .floating__close {
    width: 2.5vw;
    height: 2.5vw;
  }
}
@media screen and (min-width: 769px) {
  .floating__link:hover img {
    opacity: 0.8;
  }

  .floating__close:hover img {
    opacity: 0.8;
  }
}

.fadein,
.bouncein,
.bouncein2 {
  opacity: 0;
  will-change: opacity, transform;
}

.fadein {
  transform: translateY(20px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  transition-timing-function: ease-out;
}

.fadein.active {
  opacity: 1;
  transform: translateY(0);
}

.bouncein {
  transform: translateY(40px) scale(0.8);
  opacity: 0;
}

.bouncein.active {
  animation: bouncein 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes bouncein {
  0% {
    transform: translateY(40px) scale(0.8);
    opacity: 0;
  }
  100% {
    transform: translateY(0) scale(1);
  }
  80%,
  100% {
    opacity: 1;
  }
}

.bouncein2 {
  transform: scale(0);
  opacity: 0;
}

.bouncein2.active {
  opacity: 1;
  animation: bounce2 1.2s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
  animation-delay: 0.4s;
}

@keyframes bounce2 {
  0% {
    transform: scale(0);
  }
  40% {
    transform: scale(1.1);
  }
  60% {
    transform: scale(0.95);
  }
  80% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}

.float-animation {
  animation: fluffy 5s ease-out infinite;
}

.nayami__wave--1 .float-animation {
  animation-delay: 0s;
}

.nayami__wave--2 .float-animation {
  animation-delay: 1.1s;
}

.nayami__wave--3 .float-animation {
  animation-delay: 2.2s;
}

.nayami__wave--4 .float-animation {
  animation-delay: 3.3s;
}

@keyframes fluffy {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-15px);
  }
  100% {
    transform: translateY(0);
  }
}

.kosotatebu {
  width: 1106px;
  margin: 60px auto 0;
  display: flex;
  cursor: pointer !important;
}

.kosotatebu img {
  width: 100%;
  object-fit: contain;
  cursor: pointer !important;
}

@media screen and (max-width: 1106px) and (min-width: 769px) {
  .kosotatebu {
    width: 100vw;
    margin-top: 5.4vw;
  }
}

@media screen and (max-width: 768px) {
  .kosotatebu {
    width: 88.3vw;
    margin-top: 4vw;
  }
}
