#b_compass{
  background: url(../images/common/compass_bg.png);
  background-size: cover;
  background-position: bottom left;
  overflow: hidden;
}
#b_compass .img{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  pointer-events: none;
  -webkit-animation: rotate360 30s linear infinite; /* Safari用プレフィックス追加 */
  animation: rotate360 30s linear infinite;
  z-index: 10;
  -webkit-transform: translate(-50%, -50%); /* Safari用の変換 */
  transform: translate(-50%, -50%); /* 位置を中央に調整 */
}
@-webkit-keyframes rotate360 { /* Safari用キーフレーム */
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0deg); /* Safari用変換 */
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg); /* Safari用変換 */
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes rotate360 {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
#b_compass .ttl{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%); /* Safari用の変換 */
  width: 18.9vw;
}
#b_compass .txt{
  position: absolute;
  top: 62%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%); /* Safari用の変換 */
  width: 11.45vw;
}
#b_compass .top_txt{
  position: absolute;
  bottom: 5em;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%); /* Safari用の変換 */
  font-size: 0.93vw;
  text-align: center;
}

#b_sec1{
  background: url(../images/b/sec1_bg.png) ;
  background-size: cover;
  background-position: center center;
}
#b_sec1 .conte{
  width: 75.8vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: space-between;
}
#b_sec1 .conte .wrap{
  position: relative;
}
#b_sec1 .conte .wrap .kakko{
  position: absolute;
  top: 0;
  left: 0;
  width: 25.52vw;
}
#b_sec1 .conte .wrap .ttl{
  width: 25.52vw;
}
#b_sec1 .conte .txt{
  padding-top: 11.91vw;
  width: 25.47vw;
}

#b_sec2{
  background: url(../images/b/sec2_bg.png) ;
  background-size: cover;
  background-position: center bottom;
}
#b_sec2 .conte{
  width: 71.61vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: space-between;
}
#b_sec2 .conte .ttl{
  width: 32.81vw;
}
#b_sec2 .conte .txt{
  width: 26.56vw;
  padding-top: 3.9vw;
}

#b_sec3{
  background: url(../images/b/sec3_bg.png) ;
  background-size: cover;
  background-position: center bottom;
}
#b_sec3 .conte{
  width: 72.91vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#b_sec3 .conte .ttl{
  width: 48.75vw;
  margin-left: auto;
  margin-right: auto;
}
#b_sec3 .conte .txt{
  width: 100%;
  padding-top: 4.06vw;
}

#b_sec4{
  background: url(../images/b/sec4_bg.png) ;
  background-size: cover;
  background-position: center bottom;
}
#b_sec4 .conte{
  width: 72.91vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#b_sec4 .conte .wrap{
  position: relative;
}
#b_sec4 .conte .ttl{
  width: 66.61vw;
  position: absolute;
  left: -3vw;
  bottom: -6vw;
  z-index: 1;
}
#b_sec4 .conte .txt{
  position: relative;
  width: 23.64vw;
  margin-left: auto;
  margin-right: 0;
  z-index: 2;
}

#b_sec5{
  background: #FBFAF6;
  background-size: cover;
  background-position: center bottom;
}
#b_sec5 .conte{
  width: 75.52vw;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#b_sec5 .conte .wrap{
  position: relative;
}
#b_sec5 .conte .wrap .img{
  position: relative;
  width: 43.22vw;
  z-index: -1;
}
#b_sec5 .conte .wrap .ttl{
  position: relative;
  margin-top: -1vw;
  margin-left: 1vw;
}
#b_sec5 .conte .wrap .ttl .ttl_img{
  width: 26.30vw;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 3;
}
#b_sec5 .conte .wrap .ttl .ttl_bg{
  width: 26.66vw;
  position: absolute;
  top: 50%;
  left: 48%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
#b_sec5 .conte .txt{
  width: 29.21vw;
}

#b_sec6{
  background: url(../images/b/sec6_bg.png) ;
  background-size: cover;
  background-position: center bottom;
}
#b_sec6 .conte{
  width: 69.63vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#b_sec6 .conte .ttl{
  width: 37.08vw;
  margin-left: -3.33vw;
  margin-bottom: 3vw;
}
#b_sec6 .conte .txt{
  width: 100%;
}

#b_sec7{
  background: url(../images/b/sec7_bg.png) ;
  background-size: cover;
  background-position: center bottom;
}
#b_sec7 .conte{
  width: 75.8vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: space-between;
}
#b_sec7 .conte .wrap{
  position: relative;
}
#b_sec7 .conte .wrap .kakko{
  position: absolute;
  top: 0;
  left: 0;
  width: 25.52vw;
}
#b_sec7 .conte .wrap .ttl{
  width: 25.52vw;
}
#b_sec7 .conte .txt{
  padding-top: 19.91vw;
  width: 24.47vw;
}

#b_sec8{
  background: #faeef0;
}
#b_sec8 .ttl_conte{
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 78.12vw;
  margin-left: auto;
  margin-right: auto;
  padding-top: 73px;
}
#b_sec8 .ttl_conte .ttl_en{
  width: 10.57vw;
}
#b_sec8 .ttl_conte .ttl_jp{
  font-size: 1.09vw;
  font-weight: 500;
}

#b_sec8 .center_conte{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 4;
}
#b_sec8 .center_conte.fadeOut {
  animation: fadeOutAnimation 0.5s forwards;
}
@keyframes fadeOutAnimation {
  from { opacity: 1; }
  to { opacity: 0; }
}

#b_sec8 .center_conte .center_wrap{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 37.5vw;
}
#b_sec8 .center_conte .center_wrap li{
  width: 15.62vw;
  cursor: pointer;
  background: #FFF;
  font-size: 0.93vw;
  color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 1em;
  padding-bottom: 1em;
  text-align: center;
  transition: .6s;
}
#b_sec8 .center_conte .center_wrap li:hover{
  transition: .6s;
  background: #CF0040;
  color: #FFF;
}

#b_sec8 .copy_conte{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 66.09vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 2;
}
/* #b_sec8 .copy_conte::before{
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #faeef0;
} */
#b_sec8 .copy_conte.sideChange1::before{
  animation-name: fadeOpacity1;
  animation-duration: 2s;
  animation-delay: 0.5s;
  animation-fill-mode: both;
}
@keyframes fadeOpacity1 {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
#b_sec8 .copy_conte .copy{
  width: 28.54vw;
}
#b_sec8 .copy_conte .txt{
  width: 27.81vw;
}

#b_sec9{
  background: #CF0040;
}
#b_sec9 .btn_conte{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* opacity: 0; */
  background: #CF0040;
  pointer-events: none;
  z-index: 3;
}
#b_sec9 .btn_conte.sideChange2{
  animation-name: fadeOpacity2;
  animation-duration: 3s;
  animation-delay: 8s;
  animation-fill-mode: both;
}
@keyframes fadeOpacity2{
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
#b_sec9 .btn_conte .wrap{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
#b_sec9 .btn_conte .wrap .btn1{
  width: 18.02vw;
}
#b_sec9 .btn_conte .wrap .btn2{
  width: 15.62vw;
}
#b_sec9 .btn_conte .wrap .arrow{
  width: 4.01vw;
  margin-left: 8.07vw;
  margin-right: 8.07vw;
  transform: rotate(-90deg);
}

@media(max-width:750px){
  #b_compass .img{
    position: relative;
    width: 280%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* 要素の中心を親要素の中心に配置 */
    -webkit-transform: translate(-50%, -50%); /* Safari対応のためWebKitプレフィックスを使用 */
    -webkit-animation: rotate360 30s linear infinite; /* Safari用プレフィックス追加 */
    animation: rotate360 30s linear infinite;
  }
  @-webkit-keyframes rotate360 { /* Safari用キーフレーム */
    0% {
      -webkit-transform: translate(-50%, -50%) rotate(0deg); /* Safari用変換 */
      transform: translate(-50%, -50%) rotate(0deg);
    }
    100% {
      -webkit-transform: translate(-50%, -50%) rotate(360deg); /* Safari用変換 */
      transform: translate(-50%, -50%) rotate(360deg);
    }
  }
  @keyframes rotate360 {
    0% {
      transform: translate(-50%, -50%) rotate(0deg);
    }
    100% {
      transform: translate(-50%, -50%) rotate(360deg);
    }
  }
  #b_compass {
    background: url(../images/common/compass_bg_sp.png);
    background-size: cover;
    background-position: center left;
  }
  #b_compass .ttl{
    width: 49.6vw;
  }
  #b_compass .txt{
    top: 62%;
    width: 33.6vw;
  }
  #b_compass .top_txt{
    bottom: 2.5em;
    left: 50%;
    font-size: 3.5vw;
  }
  
  #b_sec1{
    background: url(../images/b/sec1_bg_sp.png) ;
    background-size: cover;
    background-position: center top;
  }
  #b_sec1 .conte{
    width: 78.53vw;
    display: block;
    top: 52.5%;
  }
  #b_sec1 .conte .wrap{
    width: 46.13vw;
    margin-bottom: 39.73vw;
  }
  #b_sec1 .conte .wrap .kakko{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
  #b_sec1 .conte .wrap .ttl{
    width: 100%;
  }
  #b_sec1 .conte .txt{
    padding-top: 0;
    width: 100%;
  }

  #b_sec2{
    background: none;
  }
  #b_sec2 .img{
    width: 100%;
    height: 52vw;
    position: relative;
  }
  #b_sec2 .img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #b_sec2 .img .ttl{
    position: absolute;
    top: 70%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 70.66vw;
  }
  #b_sec2 .conte{
    width: 100%;
    position: static;
    transform: translate(0);
    display: block;
  }
  #b_sec2 .conte .txt{
    width: 85.86vw;
    margin-left: auto;
    margin-right: auto;
    padding-top: 5vw;
  }

  #b_sec3{
    background: none;
  }
  #b_sec3 .img{
    position: relative;
  }
  #b_sec3 .img .ttl{
    width: 80.8vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  #b_sec3 .conte{
    width: 100%;
    position: static;
    transform: translate(0);
  }
  #b_sec3 .conte .txt{
    width: 89.86vw;
    margin-left: auto;
    margin-right: auto;
    padding-top: 7.46vw;
    padding-bottom: 30vw;
  }

  #b_sec4{
    background: none;
  }
  #b_sec4 .img{
    width: 100%;
    height: 91vw;
    position: relative;
  }
  #b_sec4 .img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
  }
  #b_sec4 .img .ttl{
    width: 90.66vw;
    position: absolute;
    bottom: 2.93vw;
    left: 50%;
    transform: translateX(-50%);
  }
  #b_sec4 .conte{
    width: 100%;
    position: static;
    transform: translate(0);
  }
  #b_sec4 .conte .txt{
    width: 89.86vw;
    margin-left: auto;
    margin-right: auto;
    padding-top: 8vw;
    padding-bottom: 6.93vw;
  }

  #b_sec5 .conte{
    width: 100%;
    display:  block;
    justify-content: space-between;
    align-items: flex-start;
    position: static;
    transform: translate(0);
  }
  #b_sec5 .conte .wrap{
    position: relative;
  }
  #b_sec5 .conte .wrap .img{
    position: relative;
    width: 94.93vw;
    z-index: 2;
  }
  #b_sec5 .conte .wrap .ttl{
    width: 69.06vw;
    position: relative;
    margin-top: -12vw;
    margin-left: auto;
    margin-right: 0;
    z-index: 3;
  }
  #b_sec5 .conte .wrap .ttl .ttl_img{
    width: 100%;
  }
  #b_sec5 .conte .wrap .ttl .ttl_bg{
    width: 100%;
    left: 50%;
  }
  #b_sec5 .conte .txt{
    width: 90.13vw;
    margin-left: auto;
    margin-right: auto;
    margin-top: 8.26vw;
    padding-bottom: 30vw;
  }

  #b_sec6{
    background: none;
  }
  #b_sec6 .img{
    position: relative;
  }
  #b_sec6 .img .ttl{
    width: 51.46vw;
    position: absolute;
    bottom: 72vw;
    left: 9.06vw;
    transform: translateX(0);
  }
  #b_sec6 .conte{
    width: 100%;
    position: static;
    transform: translate(0);
  }
  #b_sec6 .conte .txt{
    position: relative;
    width: 89.86vw;
    margin-left: auto;
    margin-right: auto;
    margin-top: -10vw;
    z-index: 1;
    padding-bottom: 30vw;
  }
  #b_sec6 .conte .txt .bg{
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
  }

  #b_sec7{
    background: url(../images/b/sec7_bg_sp.png) ;
    background-size: cover;
    background-position: center top;
  }
  #b_sec7 .conte{
    width: 88.53vw;
    display: block;
    top: 48%;
  }
  #b_sec7 .conte .wrap{
    width: 39.2vw;
    /* margin-bottom: 42.93vw; */
    margin-bottom: 41.73vw;
  }
  #b_sec7 .conte .wrap .kakko{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
  #b_sec7 .conte .wrap .ttl{
    width: 100%;
  }
  #b_sec7 .conte .txt{
    padding-top: 0;
    width: 73.46vw;
    margin-left: auto;
    margin-right: auto;
  }

  #b_sec8 .ttl_conte{
    width: 86.66vw;
    padding-top: 4vw;
  }
  #b_sec8 .ttl_conte .ttl_en{
    width: 20.26vw;
  }
  #b_sec8 .ttl_conte .ttl_jp{
    font-size: 2.8vw;
  }

  #b_sec8 .center_conte .center_wrap{
    display: block;
    width: 69.33vw;
  }
  #b_sec8 .center_conte .center_wrap li{
    width: 100%;
    font-size: 4.26vw;
    padding-top: 1.5em;
    padding-bottom: 1.5em;
  }
  #b_sec8 .center_conte .center_wrap li:nth-child(2){
    margin-top: 15vw;
  }

  #b_sec8 .copy_conte{
    display: block;
    width: 66.82vw;
    position: absolute;
    top: 53%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  #b_sec8 .copy_conte::before {
    width: 140%;
}
  #b_sec8 .copy_conte .copy{
    width: 48.53vw;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 11.2vw;
  }
  #b_sec8 .copy_conte .txt{
    width: 77.33vw;
    margin-left: auto;
    margin-right: auto;
  }

  #b_sec9 .btn_conte .wrap{
    display: block;
  }
  #b_sec9 .btn_conte .wrap .btn1{
    width: 48.26vw;
    margin-left: auto;
    margin-right: auto;
  }
  #b_sec9 .btn_conte .wrap .btn2{
    width: 41.86vw;
    margin-left: auto;
    margin-right: auto;
  }
  #b_sec9 .btn_conte .wrap .arrow{
    width: 10.666vw;
    margin-left: auto;
    margin-right: auto;
    margin-top: 18.66vw;
    margin-bottom: 18.66vw;
    transform: rotate(0);
  }
}
/* @media(max-height:850px){
  #b_sec5 .conte .txt {
    width: 27.21vw;
  }
  #b_sec5 .conte .wrap .img {
    width: 41.22vw;
  }
  #b_sec6 .conte {
    width: 62.63vw;
  }
  #b_sec6 .conte .ttl {
    width: 35.08vw;
    margin-bottom: 3vw;
  }
} */
@media(max-height:640px){
  #b_sec8 .copy_conte .copy {
    width: 43.53vw;
    margin-bottom: 10.6vw;
  }
  #a_sec8 .conte .ttl {
    width: 48vw;
  }
  #b_sec8 .copy_conte .txt {
    width: 72.33vw;
  }

  #b_sec7 .conte {
    width: 80vw;
    top: 53%;
  }
  #b_sec7 .conte .txt {
    width: 72.46vw;
  }
  #b_sec7 .conte .wrap {
    width: 39.2vw;
    margin-bottom: 33.73vw;
  }
  /* #b_sec1 {
    background-size: 136%;
    background-position: center bottom;
  } */
  #b_sec1 .conte {
    width: 80vw;
    top: 52%;
  }
  #b_sec1 .conte .wrap {
    width: 46.13vw;
    margin-bottom: 33.73vw;
  }
  #b_sec1 .conte .txt {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}