@charset 'UTF-8';
.max900 {
  margin: 0 auto;
  max-width: 940px;
  padding: 0 20px;
}
/* @media screen and (max-width: 767px){
  .max900 {
  padding: 0;
}
} */
#page_product2025 {
  color: #212121;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: normal;
  margin: 0;
  max-width: 100%;
  overflow: hidden;
  padding: 0;
  position: relative;
}
@keyframes fuwafuwaBlink {
  0%, 100% {
    opacity: .8;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.08);
  }
}
@keyframes spin-circle01 {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes spin-circle02 {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
.youtube {
  aspect-ratio: 16 / 9;
  margin: 0 auto;
  width: 100%;
}
.youtube iframe {
  height: 100%;
  width: 100%;
}
.ib {
  display: inline-block;
}
/* ---------------------------------------------------------------------------
//  fv
--------------------------------------------------------------------------- */
.fv {
  margin-top: -70px;
  position: relative;
}
.fv .bubble {
  animation: fuwafuwaBlink 3s ease-in-out infinite;
  bottom: -90px;
  left: -310px;
  position: absolute;
  width: 575px;
  z-index: -1;
}
.fv .img {
  mix-blend-mode: multiply;
  position: relative;
  z-index: 2;
}
.fv .btns {
  display: flex;
  gap: 20px;
  justify-content: center;
  margin-top: 26px;
}
.fv .btns .btn {
  align-items: center;
  border-radius: 100px;
  box-shadow: 0 10px 30px 0 rgba(25, 127, 178, .30);
  display: flex;
  font-weight: 700;
  height: 82px;
  justify-content: center;
  max-width: calc((100% - 60px) / 2);
  overflow: hidden;
  position: relative;
  transition: .3s;
  width: 350px;
}
.fv .btns .btn:hover {
  box-shadow: 0 5px 15px 0 rgba(25, 127, 178, .60);
}
.fv .btns .btn .txt {
  position: relative;
}
.fv .btns .btn .arrow {
  align-items: center;
  border-radius: 100%;
  bottom: 0;
  display: flex;
  height: 22px;
  justify-content: center;
  margin: auto;
  position: absolute;
  right: 32px;
  top: 0;
  width: 22px;
}
.fv .btns .btn01 {
  background: #02b1ec;
  color: #fff;
}
.fv .btns .btn01::before {
  animation: spin-circle02 2s linear infinite; /* 無限回転 */
  background: linear-gradient(113deg, #8bc458 18.21%, #05acea 83.5%);
  border-radius: 100%;
  color: #fff;
  content: '';
  height: 350px;
  left: 0;
  left: 50%;
  position: absolute;
  top: 0;
  top: 50%;
  transform: translate(-50%, -50%) rotate(0deg);
  transition: .3s;
  width: 350px;
}
.fv .btns .btn01:hover:before {
  opacity: 0;
}
.fv .btns .btn02 {
  background: #fff;
  color: #fff;
  color: #02b1ec;
}
.fv .btns .btn02:hover {
  background: #02b1ec;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .fv {
    margin-top: 0;
    position: relative;
  }
  .fv .img {
    aspect-ratio: 375/530;
    background-image: url(../images/product/product2025/fv_sp.jpg);
    background-position: bottom center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  .fv .img img {
    display: none;
  }
  .fv .bubble {
    bottom: calc(-1 * (90px * .7));
    left: calc(-1 *(310px * .7));
    width: calc(575px * .7);;
  }
  .fv .btns {
    align-items: center;
    /* flex-direction: column; */
    gap: 8px;
    margin-top: 20px;
  }
  .fv .btns .btn {
    height: 42px;
    max-width: 300px;
    padding: 0 30px;
    width: calc((100% - 8px) / 2);
  }
  .fv .btns .btn .txt {
    font-size: 14px;
    line-height: 1.07;
    position: relative;
  }
  .fv .btns .btn .arrow {
    height: 18px;
    right: 10px;
    width: 18px;
  }
  .fv .btns .btn01 {
    background: #02b1ec;
    color: #fff;
  }
  .fv .btns .btn01::before {
    height: 300px;
    transform: translate(-50%, -50%) rotate(0deg);
    width: 300px;
  }
}
/* ---------------------------------------------------------------------------
//  sec01
--------------------------------------------------------------------------- */
.sec01 {
  padding: 90px 0 110px;
  position: relative;
}
.sec01::after {
  background: linear-gradient(180deg, rgba(2, 177, 236, .00) 0%, rgba(2, 177, 236, .30) 100%);
  bottom: 0;
  content: '';
  height: 400px;
  position: absolute;
  width: 100%;
  z-index: -1;
}
.sec01 .bubble {
  animation: fuwafuwaBlink 3s ease-in-out infinite;
  position: absolute;
  right: 24px;
  top: -100px;
  width: 575px;
  z-index: -1;
}
.sec01 .ttl01 {
  font-size: 28px;
  font-weight: 600;
  margin: 0 0 30px;
  text-align: center;
}
.sec01 .ttl01 span {
  background: rgba(236, 232, 232, .4);
  display: inline-block;
  padding: 5px 10px;
}
.sec01 .ttl01 span strong {
  color: #02b1ec;
}
.sec01 .desc {
  font-size: 20px;
  font-weight: 600;
  line-height: 2.5;
  margin: 0;
  text-align: center;
}
.sec01 .ttl02 {
  font-size: 18px;
  font-weight: 600;
  margin: 66px 0 40px;
  text-align: center;
}
.sec01 .ttl03 {
  font-size: 18px;
  font-weight: 600;
  margin: 76px 0 30px;
  text-align: center;
}
.sec01 .youtube {
  max-width: 712px;
}
.sec01 .youtubes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.sec01 .youtubes .youtube {
  width: calc((100% - 24px) / 4);
}
.sec01 .footer_bnrs {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}
.sec01 .footer_bnrs .footer_bnr {
  box-shadow: 0 10px 30px 0 rgba(25, 127, 178, .30);
  transition: .3s;
}
.sec01 .footer_bnrs .footer_bnr:hover {
  box-shadow: 0 5px 15px 0 rgba(25, 127, 178, .60);
}
@media screen and (max-width: 767px) {
  .sec01 {
    padding: 80px 0;
  }
  .sec01::after {
    height: 400px;
    left: 0;
    width: 100vw;
  }
  .sec01 .bubble {
    left: inherit;
    right: calc(-1 * (190px * .7));
    top: calc(-1 * (100px * .7));
    width: calc(575px * .7);;
  }
  .sec01 .ttl01 {
    font-size: 24px;
  }
  .sec01 .desc {
    font-size: 18px;
    line-height: 2;
  }
  .sec01 .ttl02 {
    font-size: 16px;
  }
  .sec01 .ttl03 {
    font-size: 16px;
  }
  .sec01 .youtubes {
    gap: 8px;
  }
  .sec01 .youtubes .youtube {
    width: calc((100% - 8px) / 2);
  }
}
/* ---------------------------------------------------------------------------
//  sec02
--------------------------------------------------------------------------- */
.sec02 {
  background: linear-gradient(180deg, rgba(2, 177, 236, .00) 0%, rgba(2, 177, 236, .30) 100%);
  padding: 180px 0 140px;
  position: relative;
}
.sec02 .bubble {
  animation: fuwafuwaBlink 3s ease-in-out infinite;
  position: absolute;
  right: -378px;
  top: -370px;
  width: 810px;
  z-index: -1;
}
.sec02 .ttl01 {
  font-size: 28px;
  font-weight: 600;
  margin: 0 0 40px;
  text-align: center;
}
.sec02 .ttl01 + .desc {
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 100px;
  text-align: center;
}
.sec02 .fields {
  display: flex;
  flex-wrap: wrap;
  gap: 60px 30px;
  justify-content: center;
}
.sec02 .fields .field {
  align-items: center;
  background: #fff;
  border-radius: 6px;
  display: flex;
  filter: drop-shadow(0 8px 12px #bfe3ef);
  flex-direction: column;
  padding: 17px 15px 30px;
  width: calc((100% - 60px) / 3);
}
.sec02 .fields .field .field_ttl {
  align-items: center;
  display: flex;
  gap: 9px;
  margin: 0 0 12px;
  max-width: 204px;
  width: 100%;
}
.sec02 .fields .field .field_ttl .icon {
  width: 40%;
}
.sec02 .fields .field .field_ttl .txt {
  color: #02b1ec;
  font-size: 20px;
  font-weight: 600;
  white-space: nowrap;
}
.sec02 .fields .field .field_desc {
  font-size: 17px;
  font-weight: 600;
  line-height: 1.66;
  margin: 0 0 20px;
  max-width: 204px;
  text-align: justify;
  width: 100%;
}
.sec02 .fields .field .field_btn {
  align-items: center;
  background: #fff;
  border-radius: 100px;
  box-shadow: 0 6.713px 20.14px 0 rgba(25, 127, 178, .30);
  color: #02b1ec;
  display: flex;
  font-size: 12.5px;
  font-weight: 700;
  gap: 4px;
  height: 56px;
  justify-content: center;
  margin: auto auto 0;
  max-width: 200px;
  position: relative;
  transition: .3s;
  width: 100%;
}
.sec02 .fields .field .field_btn .arrow svg {
  height: 14.5px;
  position: relative;
  top: -1px;
  width: 14.5px;
}
.sec02 .fields .field .field_btn:hover {
  background: #02b1ec;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .sec02 {
    padding: 120px 0 80px;
  }
  .sec02 .bubble {
    right: -120px;
    top: -240px;
    width: calc(810px * .7);
  }
  .sec02 .ttl01 {
    font-size: 24px;
  }
  .sec02 .ttl01 + .desc {
    margin: 0 0 60px;
  }
  .sec02 .fields {
    gap: 30px 10px;
  }
  .sec02 .fields .field {
    max-width: 100%;
    padding: 17px 20px 30px;
    width: 280px ;
  }
  .sec02 .fields .field .field_desc {
    font-size: 16px;
  }
}
/* ---------------------------------------------------------------------------
//  sec03
--------------------------------------------------------------------------- */
.sec03 {
  padding: 120px 0 140px;
  position: relative;
}
.sec03 .bubble {
  animation: fuwafuwaBlink 3s ease-in-out infinite;
  left: -360px;
  position: absolute;
  top: -245px;
  width: 810px;
  z-index: -1;
}
.sec03 .flex {
  display: flex;
  justify-content: space-between;
}
.sec03 .flex .left {
  width: 56%;
}
.sec03 .flex .left .ttl01 {
  color: #02b1ec;
  font-size: 28px;
  font-weight: 600;
  margin: 0 0 30px;
}
.sec03 .flex .left .desc01 {
  color: #02b1ec;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.66;
  margin: 0 0 10px;
  text-align: justify;
}
.sec03 .flex .left .desc02 {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.66;
  margin: 0 0 30px;
  text-align: justify;
}
.sec03 .flex .left .sup {
  display: flex;
  font-size: 16px;
  line-height: 1.66;
  margin: 0;
}
.sec03 .flex .right {
  width: 34%;
}
.sec03 .flex .right .img {
  box-shadow: 0 10px 12px 0 rgba(96, 178, 218, .25);
}
@media screen and (max-width: 767px) {
  .sec03 {
    padding: 120px 0 80px;
  }
  .sec03 .bubble {
    left: -160px;
    top: -300px;
    width: calc(810px * .7);
  }
  .sec03 .flex {
    align-items: center;
    flex-direction: column;
    gap: 40px;
  }
  .sec03 .flex .left {
    width: 100%;
  }
  .sec03 .flex .left .ttl01 {
    font-size: 24px;
  }
  .sec03 .flex .left .desc01 {
    font-size: 16px;
  }
  .sec03 .flex .left .desc02 {
    font-size: 16px;
  }
  .sec03 .flex .left .sup {
    font-size: 14px;
  }
  .sec03 .flex .right {
    max-width: 307px;
    width: 100%;
  }
}
/* ---------------------------------------------------------------------------
//  sec04
--------------------------------------------------------------------------- */
.sec04 {
  background: linear-gradient(180deg, rgba(2, 177, 236, .24) 0%, rgba(2, 177, 236, .12) 100%);
  padding: 120px 0 140px;
  position: relative;
}
.sec04 .bubble {
  animation: fuwafuwaBlink 3s ease-in-out infinite;
  bottom: -313px;
  position: absolute;
  right: -378px;
  width: 810px;
  z-index: -1;
}
.sec04 .ttl01 {
  color: #02b1ec;
  font-size: 28px;
  font-weight: 600;
  margin: 0 0 30px;
}
.sec04 .desc {
  font-size: 18px;
  line-height: 1.66;
  margin: 0 0 30px;
  text-align: justify;
}
.sec04 .desc strong {
  color: #02b1ec;
  font-weight: 600;
}
.sec04 .desc strong small {
  font-size: 12px;
}
.sec04 .box {
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 14px 40px 0 rgba(193, 229, 241, .70);
  overflow: hidden;
  padding: 30px 20px;
}
.sec04 .box > * {
  margin: 0 auto;
  max-width: 710px;
}
.sec04 .box .box_ttl {
  color: #02b1ec;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.66;
  margin-bottom: 10px;
}
.sec04 .box .box_desc {
  font-size: 18px;
  line-height: 1.66;
  margin-bottom: 10px;
  text-align: justify;
}
.sec04 .box .sup {
  display: flex;
  font-size: 16px;
  line-height: 1.66;
}
.sec04 .box .img img.SP {
  display: none;
}
@media screen and (max-width: 500px) {
  .sec04 .box .img img.PC {
    display: none;
  }
  .sec04 .box .img img.SP {
    display: block;
  }
  .sec04 .box .img img {
    margin: 0 auto;
    max-width: 219px;
  }
}
@media screen and (max-width: 767px) {
  .sec04 {
    padding: 120px 0 80px;
  }
  .sec04 .bubble {
    bottom: -213px;
    right: -278px;
    width: calc(810px * .7);
  }
  .sec04 .ttl01 {
    font-size: 24px;
  }
  .sec04 .desc {
    font-size: 16px;
  }
  .sec04 .desc strong small {
    font-size: 10px;
  }
  .sec04 .desc .ib {
    display: inline;
  }
  .sec04 .box .box_desc {
    font-size: 16px;
  }
  .sec04 .box .sup {
    font-size: 14px;
  }
}
/* ---------------------------------------------------------------------------
//  sec05
--------------------------------------------------------------------------- */
.sec05 {
  padding: 120px 0 140px;
  position: relative;
}
.sec05::after {
  background: linear-gradient(180deg, rgba(2, 177, 236, .00) 0%, rgba(2, 177, 236, .30) 100%);
  bottom: 0;
  content: '';
  height: 330px;
  position: absolute;
  width: 100%;
  z-index: -1;
}
.sec05 .ttl01 {
  color: #02b1ec;
  font-size: 28px;
  font-weight: 600;
  margin: 0 0 30px;
  text-align: center;
}
.sec05 .flex {
  align-items: center;
  color: #02b1ec;
  display: flex;
  justify-content: space-between;
}
.sec05 .flex .left {
  width: 57%;
}
.sec05 .flex .right {
  min-width: 300px;
  width: 33%;
}
.sec05 .flex .right .desc {
  line-height: 1.66;
  margin: 0;
}
.sec05 .flex .right .sup {
  display: flex;
  font-size: 18px;
  line-height: 1.66;
}
@media screen and (max-width: 767px) {
  .sec05 {
    padding: 120px 0 80px;
  }
  .sec05::after {
    height: 500px;
  }
  .sec05 .ttl01 {
    font-size: 24px;
  }
  .sec05 .flex {
    flex-direction: column;
  }
  .sec05 .flex .left {
    width: 100%;
  }
  .sec05 .flex .right {
    background: rgba(255,255,255,.8);
    border-radius: 6px;
    min-width: 200px;
    padding: 10px 20px;
    width: auto;
  }
  .sec05 .flex .right .sup {
    font-size: 16px;
  }
}
/* ---------------------------------------------------------------------------
//  sec06
--------------------------------------------------------------------------- */
.sec06 {
  background: linear-gradient(180deg, #02b1ec 0%, rgba(2, 177, 236, .40) 100%);
  padding: 120px 0 140px;
  position: relative;
}
.sec06 .bubble {
  animation: fuwafuwaBlink 3s ease-in-out infinite;
  left: -435px;
  mix-blend-mode: plus-lighter;
  position: absolute;
  top: -256px;
  width: 810px;
}
.sec06 .ttl01 {
  color: #fff;
  font-size: 28px;
  font-weight: 600;
  margin: 0 0 30px;
}
.sec06 .box {
  background: #fff;
  padding: 50px 20px 80px;
}
.sec06 .box img {
  display: block;
  margin: 0 auto;
  max-width: 780px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .sec06 {
    padding: 120px 0 80px;
  }
  .sec06 .bubble {
    left: -235px;
    top: -156px;
    width: calc(810px * .7);
  }
  .sec06 .ttl01 {
    font-size: 24px;
  }
  .sec06 .box {
    padding: 30px 20px;
  }
  .sec06 .box img {
    max-width: 780px;
    min-width: 600px;
  }
}
/* ---------------------------------------------------------------------------
//  sec07
--------------------------------------------------------------------------- */
.sec07 {
  margin: 0 auto;
  max-width: 940px;
  padding: 120px 0 140px;
  position: relative;
}
.sec07 .bubble {
  animation: fuwafuwaBlink 3s ease-in-out infinite;
  bottom: -150px;
  left: -165px;
  position: absolute;
  width: 810px;
  z-index: -1;
}
.sec07 .box {
  background: linear-gradient(180deg, #02b1ec 0%, rgba(2, 177, 236, .40) 100%);
  border-radius: 6px;
  padding: 60px 20px;
}
.sec07 .box > * {
  margin: 0 auto;
  max-width: 710px;
}
.sec07 .box .ttl01 {
  color: #fff;
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 50px;
  text-align: center;
}
.sec07 .box .desc01 {
  background: #fff;
  border-radius: 6px;
  font-size: 18px;
  line-height: 1.66;
  margin-bottom: 25px;
  padding: 20px;
  text-align: justify;
}
.sec07 .box .desc01 span {
  display: block;
  margin: 0 auto;
  max-width: 618px;
}
.sec07 .box dl {
  font-size: 16px;
  line-height: 1.66;
  text-align: justify;
}
.sec07 .box dl dt {
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .sec07 {
    padding: 80px 0 120px;
  }
  .sec07 .bubble {
    bottom: -150px;
    left: -65px;
    width: calc(810px * .7);
  }
  .sec07 .box {
    padding: 30px 20px;
  }
  .sec07 .box .ttl01 {
    font-size: 24px;
    margin-bottom: 30px;
  }
  .sec07 .box .desc01 {
    font-size: 16px;
  }
  .sec07 .box dl dd {
    font-size: 14px;
  }
}
/* ---------------------------------------------------------------------------
//  sec04
--------------------------------------------------------------------------- */
.sec08 {
  background: linear-gradient(180deg, rgba(2, 177, 236, .24) 0%, rgba(2, 177, 236, .12) 100%);
  padding: 120px 0 140px;
  position: relative;
}
.sec08 .ttl01 {
  color: #02b1ec;
  font-size: 28px;
  font-weight: 600;
  margin: 0 0 30px;
}
.sec08 .desc {
  font-size: 18px;
  line-height: 1.66;
  margin: 0 0 30px;
  margin: 0 0 10px;
  text-align: justify;
}
.sec08 .sup {
  display: flex;
  font-size: 16px;
  line-height: 1.66;
  margin: 0 0 20px;
}
.sec08 .box {
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 14px 40px 0 rgba(193, 229, 241, .70);
  overflow: hidden;
  padding: 77px 20px 50px;
}
.sec08 .box > * {
  margin: 0 auto;
  max-width: 780px;
}

.sec08 .box .btn {
  align-items: center;
  border-radius: 100px;
  box-shadow: 0 10px 30px 0 rgba(25, 127, 178, .30);
  display: flex;
  font-weight: 700;
  height: 69px;
  justify-content: center;
  margin: 40px auto 0;
  overflow: hidden;
  position: relative;
  transition: .3s;
  width: 250px;
}
.sec08 .box .btn:hover {
  box-shadow: 0 5px 15px 0 rgba(25, 127, 178, .60);
}
.sec08 .box .btn .txt {
  font-size: 18px;
  position: relative;
  top: -2px;
}
.sec08 .box .btn .arrow {
  align-items: center;
  border-radius: 100%;
  bottom: 0;
  display: flex;
  height: 22px;
  justify-content: center;
  margin: auto;
  position: absolute;
  right: 32px;
  top: 0;
  width: 22px;
}
.sec08 .box .btn01 {
  background: #02b1ec;
  color: #fff;
}
.sec08 .box  .btn01::before {
  animation: spin-circle02 2s linear infinite; /* 無限回転 */
  background: linear-gradient(113deg, #8bc458 18.21%, #05acea 83.5%);
  border-radius: 100%;
  color: #fff;
  content: '';
  height: 250px;
  left: 0;
  left: 50%;
  position: absolute;
  top: 0;
  top: 50%;
  transform: translate(-50%, -50%) rotate(0deg);
  transition: .3s;
  width: 250px;
}
.sec08 .box  .btn01:hover:before {
  opacity: 0;
}
.sec08 .box .img img.SP {
  display: none;
}
@media screen and (max-width: 600px) {
  .sec08 .box .img img.PC {
    display: none;
  }
  .sec08 .box .img img.SP {
    display: block;
  }
  .sec08 .box .img img {
    margin: 0 auto;
    max-width: 326px;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .sec08 {
    padding: 80px 0 80px;
  }
  .sec08 .ttl01 {
    font-size: 24px;
  }
  .sec08 .desc {
    font-size: 16px;
  }
  .sec08 .sup {
    font-size: 14px;
  }
  .sec08 .box {
    padding: 40px 20px;
  }
  .sec08 .box .btn {
    max-width: 100%;
    width: 295px;
  }
  .sec08 .box .btn .arrow {
    height: 16px;
    right: 16px;
    width: 16px;
  }
  .sec08 .box  .btn01::before {
    height: 295px;
    width: 295px;
  }
}
/* ---------------------------------------------------------------------------
//  sec09
--------------------------------------------------------------------------- */
.sec09 {
  padding: 120px 0 0;
  position: relative;
  z-index: 2;
}
.sec09 .ac {
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 10px 40px 0 rgba(193, 229, 241, .70);
  overflow: hidden;
}
.sec09 .ac .ac_ttl {
  background: linear-gradient(90deg, #a3daed 0%, #02b1ec 100%);
  border-radius: 6px;
  box-shadow: 0 10px 40px 0 rgba(193, 229, 241, .70);
  cursor: pointer;
  margin: 0;
  padding: 27px 20px;
  position: relative;
}
.sec09 .ac .ac_ttl .txt {
  color: #fff;
  display: block;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.15;
  margin: auto;
  max-width: 690px;
}
.sec09 .ac .ac_ttl .icon {
  bottom: 0;
  height: 17px;
  margin: auto;
  position: absolute;
  right: 34px;
  top: 0;
  width: 17px;
}
.sec09 .ac .ac_ttl .icon::before, .sec09 .ac .ac_ttl .icon::after {
  background: #fff;
  bottom: 0;
  content: '';
  height: 2px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  transition: .3s;
  width: 17px;
}
.sec09 .ac .ac_ttl .icon::before {
  transform: rotate(90deg);
}
.sec09 .ac.open .ac_ttl .icon::before {
  transform: rotate(0);
}
.sec09 .ac .ac_box {
  height: 0;
  overflow: hidden;
  padding: 0 20px;
  transition: height .3s ease;
}
.sec09 .ac .ac_box .flex {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 740px;
  padding: 80px 0;
}
.sec09 .ac .ac_box .flex .left {
  display: flex;
  flex-direction: column;
  gap: 46px;
  width: 33.7%;
}
.sec09 .ac .ac_box .flex .left .img:nth-of-type(1) {
  left: -20px;
  position: relative;
}
.sec09 .ac .ac_box .flex .right {
  width: 57.5%;
}
.sec09 .ac .ac_box .flex .right dl {
  border-bottom: 1px solid #e9e9e9;
  display: flex;
  font-size: 16px;
  gap: 10px;
  line-height: 1.66;
  padding: 10px 0;
}
.sec09 .ac .ac_box .flex .right dl dt {
  font-weight: 700;
  white-space: nowrap;
  width: 127px;
}
.sec09 .ac .ac_box .flex .right dl dd {
  width: calc(100% - 137px);
}
@media screen and (max-width: 767px) {
  .sec09 {
    padding: 80px 0 0;
  }
  .sec09 .ac .ac_ttl {
    padding: 20px;
  }
  .sec09 .ac .ac_ttl .txt {
    font-size: 18px;
    line-height: 1.66;
    padding-right: 30px;
  }
  .sec09 .ac .ac_ttl .icon {
    right: 20px;
  }
  .sec09 .ac .ac_box {
    padding: 0 20px;
  }
  .sec09 .ac .ac_box .flex {
    align-items: center;
    flex-direction: column;
    gap: 20px;
    padding: 30px 0 20px;
  }
  .sec09 .ac .ac_box .flex .left {
    align-items: center;
    display: flex;
    flex-direction: row;
    gap: 0;
    width: 100%;
  }
  .sec09 .ac .ac_box .flex .left .img:nth-of-type(1) {
    left: 0;
  }
  .sec09 .ac .ac_box .flex .right {
    width: 100%;
  }
  .sec09 .ac .ac_box .flex .right dl {
    display: block;
  }
  .sec09 .ac .ac_box .flex .right dl dt {
    width: 100%;
  }
  .sec09 .ac .ac_box .flex .right dl dd {
    width: 100%;
  }
}
/* ---------------------------------------------------------------------------
//  sec10
--------------------------------------------------------------------------- */
.sec10 {
  background: linear-gradient(180deg, rgba(2, 177, 236, .00) 0%, rgba(2, 177, 236, .30) 100%);
  margin-top: -150px;
  padding: 330px 0 120px;
  position: relative;
}
.sec10 .bubble {
  animation: fuwafuwaBlink 3s ease-in-out infinite;
  position: absolute;
  right: -187px;
  top: -300px;
  width: 810px;
  z-index: -1;
}
.sec10 .ttl01 {
  color: #02b1ec;
  font-size: 28px;
  font-weight: 600;
  margin: 0 0 60px;
  text-align: center;
}
.sec10 .flows {
  display: flex;
  flex-wrap: wrap;
  gap: 36px 0;
  justify-content: center;
}
.sec10 .flows .flow {
  list-style: none;
  position: relative;
  width: 25%;
}
.sec10 .flows .flow .img img {
  filter: drop-shadow(0 7px 10.836px #a6d9ea);
}
.sec10 .flows .flow .desc {
  color: #02b1ec;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.66;
  margin: 16px 0 0;
  text-align: justify;
}
.sec10 .flows .arrow {
  background-image: url(../images/product/product2025/arrow01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 97px;
  content: '';
  position: relative;
  top: -45px;
  width: 8%;
}
.sec10 .flows .arrow:first-of-type, .sec10 .flows .flow05 + .arrow {
  opacity: 0;
  width: calc((100% - 75% - 16%) / 2);
}
.sec10 .flows .flow03 + .arrow, .sec10 .flows .flow03 + .arrow + .arrow {
  background-position: center left;
  width: calc((100% - 75% - 16%) / 2);
}
@media screen and (max-width: 940px) {
  .sec10 .flows .flow .desc {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .sec10 {
    margin-top: -50px;
    padding: 180px 0 80px;
  }
  .sec10 .bubble {
    right: -287px;
    top: -200px;
    width: calc(810px * .7);
  }
  .sec10 .ttl01 {
    font-size: 24px;
    margin-bottom: 60px;
  }
  .sec10 .flows {
    gap: 10px;
    margin: 0 auto;
    max-width: 250px;
  }
  .sec10 .flows .flow {
    align-items: center;
    display: flex;
    flex-direction: column;
    width: 100%;
  }
  .sec10 .flows .flow .desc {
    font-size: 16px;
  }
  .sec10 .flows .arrow {
    background-image: url(../images/product/product2025/arrow01.svg)!important;
    background-position: center!important;
    background-repeat: no-repeat;
    background-size: 97px;
    content: '';
    height: 80px;
    position: relative;
    top: 0;
    transform: rotate(90deg);
    width: 80px!important;
  }
  .sec10 .flows .arrow:first-of-type {
    display: none;
  }
  .sec10 .flows .flow03 + .arrow {
  }
  .sec10 .flows .flow03 + .arrow + .arrow {
    display: none;
  }
  .sec10 .flows .flow05 + .arrow {
    display: none;
  }
}
/* ---------------------------------------------------------------------------
//  sec11
--------------------------------------------------------------------------- */
.sec11 {
  padding: 120px 0 140px;
  position: relative;
  z-index: 2;
}
.sec11 .bubble {
  animation: fuwafuwaBlink 3s ease-in-out infinite;
  bottom: 23px;
  left: -228px;
  position: absolute;
  width: 810px;
  z-index: -1;
}
.sec11 .ttl01 {
  color: #02b1ec;
  font-size: 28px;
  font-weight: 600;
  margin: 0 0 60px;
  text-align: center;
}
.sec11 .ac {
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 10px 40px 0 rgba(193, 229, 241, .70);
  overflow: hidden;
}
.sec11 .ac + .ac {
  margin-top: 25px;
}
.sec11 .ac .ac_ttl {
  cursor: pointer;
  margin: 0;
  padding: 27px 20px;
  position: relative;
}
.sec11 .ac .ac_ttl .txt {
  display: flex;
  font-size: 20px;
  font-weight: 700;
  gap: 10px;
  line-height: 1.66;
  margin: auto;
  max-width: 690px;
}
.sec11 .ac .ac_ttl .txt::before {
  background-image: url(../images/product/product2025/Q..png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  flex-shrink: 0;
  height: 44px;
  position: relative;
  top: -5px;
  width: 44px;
}
.sec11 .ac .ac_ttl .icon {
  bottom: 0;
  height: 17px;
  margin: auto;
  position: absolute;
  right: 34px;
  top: 0;
  width: 17px;
}
.sec11 .ac .ac_ttl .icon::before, .sec11 .ac .ac_ttl .icon::after {
  background: #02b1ec;
  bottom: 0;
  content: '';
  height: 2px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  transition: .3s;
  width: 17px;
}
.sec11 .ac .ac_ttl .icon::before {
  transform: rotate(90deg);
}
.sec11 .ac.open .ac_ttl .icon::before {
  transform: rotate(0);
}
.sec11 .ac .ac_box {
  height: 0;
  overflow: hidden;
  padding: 0 20px;
  transition: height .3s ease;
}
.sec11 .ac .ac_box .desc {
  display: flex;
  font-size: 16px;
  gap: 10px;
  margin: 0 auto;
  max-width: 690px;
  padding: 0 0 40px;
}
.sec11 .ac .ac_box .desc::before {
  background-image: url(../images/product/product2025/A..png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  flex-shrink: 0;
  height: 44px;
  position: relative;
  top: -5px;
  width: 44px;
}
.sec11 .btn_wrap {
  background: #fff;
  box-shadow: 0 14px 40px 0 rgba(193, 229, 241, .70);
  display: flex;
  justify-content: center;
  margin-top: 150px;
  padding: 47px 20px 57px;
}
.sec11 .btn_wrap .btn {
  align-items: center;
  border-radius: 100px;
  box-shadow: 0 10px 30px 0 rgba(25, 127, 178, .30);
  display: flex;
  font-weight: 700;
  height: 70px;
  justify-content: center;
  overflow: hidden;
  position: relative;
  transition: .3s;
  width: 390px;
}
.sec11 .btn_wrap .btn:hover {
  box-shadow: 0 5px 15px 0 rgba(25, 127, 178, .60);
}
.sec11 .btn_wrap .btn .txt {
  position: relative;
}
.sec11 .btn_wrap .btn .arrow {
  align-items: center;
  border-radius: 100%;
  bottom: 0;
  display: flex;
  height: 22px;
  justify-content: center;
  margin: auto;
  position: absolute;
  right: 32px;
  top: 0;
  width: 22px;
}
.sec11 .btn_wrap .btn01 {
  background: #02b1ec;
  color: #fff;
}
.sec11 .btn_wrap .btn01::before {
  animation: spin-circle02 2s linear infinite; /* 無限回転 */
  background: linear-gradient(113deg, #8bc458 18.21%, #05acea 83.5%);
  border-radius: 100%;
  color: #fff;
  content: '';
  height: 390px;
  left: 0;
  left: 50%;
  position: absolute;
  top: 0;
  top: 50%;
  transform: translate(-50%, -50%) rotate(0deg);
  transition: .3s;
  width: 390px;
}
.sec11 .btn_wrap .btn01:hover:before {
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .sec11 {
    padding: 80px 0 120px;
  }
  .sec11 .bubble {
    left: -128px;
    width: calc(810px * .7);
  }
  .sec11 .ttl01 {
    font-size: 24px;
  }
  .sec11 .ac .ac_ttl {
    padding: 20px;
  }
  .sec11 .ac .ac_ttl .txt {
    font-size: 18px;
    line-height: 1.66;
    padding-right: 30px;
  }
  .sec11 .ac .ac_ttl .txt::before {
    height: 30px;
    top: 0;
    width: 30px;
  }
  .sec11 .ac .ac_ttl .icon {
    right: 20px;
  }
  .sec11 .ac .ac_box {
    padding: 0 20px;
  }
  .sec11 .ac .ac_box .desc::before {
    height: 30px;
    top: 0;
    width: 30px;
  }
  .sec11 .btn_wrap {
    margin-top: 80px;
    padding: 30px 20px;
  }
  .sec11 .btn_wrap .btn {
    max-width: 100%;
    width: 295px;
  }
  .sec11 .btn_wrap .btn:hover {
    box-shadow: 0 5px 15px 0 rgba(25, 127, 178, .60);
  }
  .sec11 .btn_wrap .btn .txt {
    top: -2px;
  }
  .sec11 .btn_wrap .btn .arrow {
    height: 16px;
    right: 16px;
    width: 16px;
  }
  .sec11 .btn_wrap .btn01::before {
    height: 300px;
    width: 300px;
  }
}
/* ---------------------------------------------------------------------------
//  PC_SP
--------------------------------------------------------------------------- */
.forSP {
  display: none;
}
@media screen and (max-width: 767px) {
  .forSP {
    display: block;
  }
  .forPC {
    display: none;
  }
}
/* ---------------------------------------------------------------------------
//  footer_bnrs
--------------------------------------------------------------------------- */
.footer_bnrs .youtube_bnr {
  align-items: center;
  background: #02b1ec;
  border-radius: 6px;
  color: #fff;
  display: flex;
  font-size: 20px;
  font-weight: 700;
  gap: 14px;
  height: 84px;
  justify-content: center;
  line-height: 1.25;
  overflow: hidden;
  position: relative;
  width: 335px;
}
.footer_bnrs .youtube_bnr::before {
  animation: spin-circle02 2s linear infinite; /* 無限回転 */
  background: linear-gradient(113deg, #8bc458 18.21%, #05acea 83.5%);
  border-radius: 100%;
  color: #fff;
  content: '';
  height: 350px;
  left: 0;
  left: 50%;
  position: absolute;
  top: 0;
  top: 50%;
  transform: translate(-50%, -50%) rotate(0deg);
  transition: .3s;
  width: 350px;
}
.footer_bnrs .youtube_bnr:hover:before {
  opacity: 0;
}
.footer_bnrs .youtube_bnr .icon {
  position: relative;
  width: 53px;
}
.footer_bnrs .youtube_bnr .txt {
  position: relative;
}
@media screen and (max-width: 767px) {
  .footer_bnrs .youtube_bnr {
    width: 300px;
  }
  .footer_bnrs .youtube_bnr::before {
    height: 330px;
    width: 330px;
  }
}
