@charset 'utf-8';

/* common
-------------------------------------------------------*/
body {
  background-color: #fff;
}
section {
  background: none;
}
.contents__main {
  background-image: url('https://cdn.pass.auone.jp/koto/special/images/article/20260121_01/bg_01.png');
  background-size: 6.5%;
}
.mg-64 {
  margin: min(64px, 5.93vw) auto;
}

.p-home__section {
  position: relative;
}
.p-home__section00 {
  z-index: 1;
}
.p-home__section01 {
  top: max(-8.89vw, -96px);
  margin-bottom: max(-8.89vw, -96px);
}
.p-home__section09 .container {
  background: #F3EAE1;
}
.p-home__section09 .p-home__section-inner {
  width: 90.68%;
  margin: auto;
}
.p-home__section09 .p-home__section-inner > section {
  width: 96.28%;
  margin: auto;
}

.p-home__section09 .btn_09 {
  display: block;
  margin: 6% auto;
}
.p-home__section09 .btn_09-2 {
  display: block;
  width: 96.28%;
  margin: 9% auto;
}
.p-home__section09-box {
  padding: 6% 2% 8%;
  background: #FFF;
}
.p-home__section09-box > p {
  font-weight: 500;
  color: #000;
  font-size: min(3.7vw, 40px);
  text-align: center;
  line-height: 1.75;
}
.p-home__section09-box img + p {
  margin-top: 1.5em;
}
.p-home__section09-box > p + p {
  margin-top: 2em;
}




.p-home__section-btn {
  position: absolute;
  left: 0;
  right: 0;
  width: 72.21%;
  margin: 0 auto;
}

.p-home__section01 .btn_01-1 {
  top:min(148.52vw, 1604px);
}
.p-home__section01 .btn_01-2 {
  bottom: min(12.96vw, 140px);
}
.p-home__section02 .btn_02-1 {
  top:min(150.93vw, 1630px);
}
.p-home__section02 .btn_02-2 {
  bottom: min(12.96vw, 140px);
}
.p-home__section03 .btn_03-1 {
  bottom: min(14.26vw, 154px);
}
.p-home__section04 .btn_04-1 {
  bottom: min(15.74vw, 170px);
}
.p-home__section05 .btn_05-1 {
  bottom: min(14.54vw, 157px);
}
.p-home__section06 .btn_06-1 {
  width: 83.04%;
  bottom: min(13.24vw, 143px);
}
.p-home__section07 .btn_07-1 {
  width: 77.8%;
  bottom: min(13.24vw, 143px);
}


.obj {
  position: absolute;
}
.obj_01 {
  top: min(180px, 16.67vw);
  right: min(65px, 6.02vw);
  width: min(133px, 11.81vw);
}
.obj_02 {
  top: min(570px, 52.78vw);
  left: min(100px, 9.26vw);
  width: min(123px, 10.92vw);
}
.obj_03 {
  bottom: min(500px, 46.3vw);
  left: min(300px, 27.78vw);
  width: min(111px, 9.86vw);
}
.obj_04 {
  bottom: min(130px, 12.04vw);
  left: min(65px, 6.02vw);
  width: min(64px, 5.68vw);
}
.obj_05 {
  bottom: min(35px, 3.24vw);
  left: min(155px, 14.35vw);
  width: min(105px, 9.33vw);
}
.obj_06 {
  bottom: min(410px, 37.96vw);
  right: min(60px, 5.56vw);
  width: min(474px, 42.1vw);
}

.obj_07 {
  bottom: min(315px, 29.17vw);
  left: min(10px, 0.93vw);
  width: min(617px, 54.8vw);
}

.obj_08 {
  bottom: min(510px, 45.29vw);
  right: min(40px, 3.7vw);
  width: min(409px, 36.32vw);
}

.obj_09 {
  bottom: min(330px, 30.56vw);
  right: min(10px, 0.93vw);
  width: min(1060px, 97.6vw);
}

.obj_10 {
  bottom: min(515px, 47.69vw);
  right: min(45px, 4.17vw);
  width: min(401px, 35.61vw);
}

.obj_11 {
  bottom: min(335px, 31.02vw);
  left: min(100px, 9.26vw);
  width: min(586px, 52.04vw);
}
.aniSwing {
  animation: aniSwing 2s steps(2, end) infinite;
}
.aniSwingRe {
  animation: aniSwing 2s steps(2, end) reverse infinite;
}

@keyframes aniSwing {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(25deg);
  }
}


.aniSlideIn {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.aniSlideIn.visible {
  opacity: 1;
  transform: translateY(0);
}




/* floating
-------------------------------------------------------*/

.bottom-fixed-button2 {
  position: fixed;
   bottom: 0%;
   width: 90%;
   right: 50%;
   left: 50%;
   padding: 0 10px;
   max-width: 1000px;
   margin: 0 auto;
   transform: translate(-50%, -30%);
       z-index: 2;
}



.bottom-fixed-button {
  position: fixed;
  bottom: 8%;
  width: 30%;
  right: 0%;
  padding: 0 10px;
  max-width: 150px;
  z-index: 10;
}

