@charset "UTF-8";
/* --------------------------------------------------
-------------------------------------------------- 関数 */
#introduction {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: url("../img/top/bg_introduction.jpg") repeat top center #212121;
  z-index: 999;
  display: none;
}
@media only screen and (max-width: 768px) {
  #introduction {
    height: 100dvh;
  }
}
#introduction .wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
#introduction .text {
  position: relative;
  display: flex;
  justify-content: center;
  gap: 0 32px;
  padding-top: 8px;
  width: 318px;
  height: 559px;
  background: url("../img/top/introduction_bg.png") no-repeat top center;
}
@media only screen and (max-width: 768px) {
  #introduction .text {
    gap: 0 5vw;
    padding-top: 1.25vw;
    width: 49.6875vw;
    height: 87.34375vw;
  }
}
#introduction .text .fire {
  position: absolute;
  bottom: -30px;
  left: -250px;
  width: 360px;
  height: 420px;
}
@media only screen and (max-width: 768px) {
  #introduction .text .fire {
    bottom: -13.28125vw;
    left: -19.53125vw;
    width: 56.25vw;
    height: 65.625vw;
  }
}
#introduction .text .fire span {
  position: absolute;
  bottom: 0;
  display: block;
  width: 100%;
  height: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
#introduction .text .fire img {
  position: absolute;
  bottom: 0;
  transform-origin: 65% bottom;
}
#introduction .text .txt {
  width: 69px;
}
@media only screen and (max-width: 768px) {
  #introduction .text .txt {
    width: 10.78125vw;
  }
}
#introduction .text .txt span {
  display: block;
  width: 100%;
  height: 80px;
  background: #fff;
  opacity: 0;
}
@media only screen and (max-width: 768px) {
  #introduction .text .txt span {
    height: 12.5vw;
  }
}
#introduction .text .txt1 span {
  background: url("../img/top/introduction_txt01.png") no-repeat;
  background-size: 100%;
}
#introduction .text .txt1 span:nth-child(2) {
  background-position: center -80px;
}
@media only screen and (max-width: 768px) {
  #introduction .text .txt1 span:nth-child(2) {
    background-position: center -12.5vw;
  }
}
#introduction .text .txt1 span:nth-child(3) {
  background-position: center -160px;
}
@media only screen and (max-width: 768px) {
  #introduction .text .txt1 span:nth-child(3) {
    background-position: center -25vw;
  }
}
#introduction .text .txt1 span:nth-child(4) {
  background-position: center -240px;
}
@media only screen and (max-width: 768px) {
  #introduction .text .txt1 span:nth-child(4) {
    background-position: center -37.5vw;
  }
}
#introduction .text .txt1 span.arrow {
  background: url("../img/top/introduction_arrow.png") no-repeat top center;
  background-size: 100%;
}
#introduction .text .txt2 span {
  background: url("../img/top/introduction_txt02.png") no-repeat;
  background-size: 100%;
}
#introduction .text .txt2 span:nth-child(2) {
  background-position: center -80px;
}
@media only screen and (max-width: 768px) {
  #introduction .text .txt2 span:nth-child(2) {
    background-position: center -12.5vw;
  }
}
#introduction .text .txt2 span:nth-child(3) {
  background-position: center -160px;
}
@media only screen and (max-width: 768px) {
  #introduction .text .txt2 span:nth-child(3) {
    background-position: center -25vw;
  }
}
#introduction .text .txt2 span:nth-child(4) {
  background-position: center -240px;
}
@media only screen and (max-width: 768px) {
  #introduction .text .txt2 span:nth-child(4) {
    background-position: center -37.5vw;
  }
}
#introduction .text .txt2 span:nth-child(5) {
  background-position: center -320px;
}
@media only screen and (max-width: 768px) {
  #introduction .text .txt2 span:nth-child(5) {
    background-position: center -50vw;
  }
}
#introduction .text .txt2 span:nth-child(6) {
  background-position: center -400px;
}
@media only screen and (max-width: 768px) {
  #introduction .text .txt2 span:nth-child(6) {
    background-position: center -62.5vw;
  }
}
#introduction .text .txt2 span:nth-child(7) {
  background-position: center -480px;
}
@media only screen and (max-width: 768px) {
  #introduction .text .txt2 span:nth-child(7) {
    background-position: center -75vw;
  }
}
#introduction .text .txt2 span.arrow {
  background: url("../img/top/introduction_arrow.png") no-repeat top center;
  background-size: 100%;
}
#introduction .text .txt3 span {
  background: url("../img/top/introduction_txt03.png") no-repeat;
  background-size: 100%;
}
#introduction .text .txt3 span:nth-child(2) {
  background-position: center -80px;
}
@media only screen and (max-width: 768px) {
  #introduction .text .txt3 span:nth-child(2) {
    background-position: center -12.5vw;
  }
}
#introduction .text .txt3 span:nth-child(3) {
  background-position: center -160px;
}
@media only screen and (max-width: 768px) {
  #introduction .text .txt3 span:nth-child(3) {
    background-position: center -25vw;
  }
}
#introduction .text .txt3 span:nth-child(4) {
  background-position: center -240px;
}
@media only screen and (max-width: 768px) {
  #introduction .text .txt3 span:nth-child(4) {
    background-position: center -37.5vw;
  }
}

#bnr-oubo {
  position: fixed;
  bottom: 20px;
  right: -100px;
  width: 659px;
  z-index: 30;
  opacity: 0;
  transition: all 0.4s ease;
}
@media only screen and (max-width: 1300px) {
  #bnr-oubo {
    width: 50.6923076923vw;
    right: -7.6923076923vw;
    bottom: 1.5384615385vw;
  }
}
@media only screen and (max-width: 768px) {
  #bnr-oubo {
    width: 100%;
    right: 0;
    bottom: -15.625vw;
  }
}
#bnr-oubo.on {
  opacity: 1;
  right: 0;
}
@media only screen and (max-width: 768px) {
  #bnr-oubo.on {
    bottom: -1.09375vw;
  }
}
#bnr-oubo .base {
  border-radius: 54px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.7);
}
@media only screen and (max-width: 1300px) {
  #bnr-oubo .base {
    border-radius: 4.1538461538vw;
  }
}
@media only screen and (max-width: 768px) {
  #bnr-oubo .base {
    border-radius: 0;
    box-shadow: none;
  }
}
#bnr-oubo .base .on {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: all 0.3s ease;
}
@media only screen and (max-width: 768px) {
  #bnr-oubo .base .on {
    display: none;
  }
}
#bnr-oubo:hover .base .on {
  opacity: 1;
}
#bnr-oubo a {
  position: relative;
  display: block;
  color: #212121;
}
#bnr-oubo .limit {
  position: absolute;
  top: 50%;
  left: 25px;
  transform: translateY(-50%);
  text-align: center;
}
@media only screen and (max-width: 1300px) {
  #bnr-oubo .limit {
    left: 1.9230769231vw;
  }
}
@media only screen and (max-width: 768px) {
  #bnr-oubo .limit {
    left: 3.90625vw;
    text-align: left;
  }
}
#bnr-oubo .limit p {
  line-height: 1.1;
}
#bnr-oubo .limit .txt {
  font-size: 13px;
  font-weight: 700;
}
@media only screen and (max-width: 1300px) {
  #bnr-oubo .limit .txt {
    font-size: 1vw;
  }
}
@media only screen and (max-width: 768px) {
  #bnr-oubo .limit .txt {
    font-size: 3.90625vw;
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 768px) {
  #bnr-oubo .limit .txt span {
    font-size: 3.90625vw;
  }
}
#bnr-oubo .limit .txt span.num {
  font-size: 18px;
}
@media only screen and (max-width: 1300px) {
  #bnr-oubo .limit .txt span.num {
    font-size: 1.3846153846vw;
  }
}
@media only screen and (max-width: 768px) {
  #bnr-oubo .limit .txt span.num {
    font-size: 4.6875vw;
  }
}
@media only screen and (max-width: 768px) {
  #bnr-oubo .limit .txt span.pc {
    display: none;
  }
}
#bnr-oubo .limit .count {
  font-size: 25px;
  font-weight: 800;
  color: #fff;
  margin-left: -10px;
}
@media only screen and (max-width: 1300px) {
  #bnr-oubo .limit .count {
    font-size: 1.9230769231vw;
    margin-left: -0.7692307692vw;
  }
}
@media only screen and (max-width: 768px) {
  #bnr-oubo .limit .count {
    font-size: 5.625vw;
    margin-left: 0;
  }
}
#bnr-oubo .limit .count .count-number {
  position: relative;
  bottom: -4px;
  font-size: 38px;
  color: #212121;
}
@media only screen and (max-width: 1300px) {
  #bnr-oubo .limit .count .count-number {
    bottom: -0.3076923077vw;
    font-size: 2.9230769231vw;
  }
}
@media only screen and (max-width: 768px) {
  #bnr-oubo .limit .count .count-number {
    font-size: 9.0625vw;
    bottom: -0.625vw;
  }
}
#bnr-oubo .limit .count.day-off {
  font-size: 22px;
  margin-top: 5px;
}
@media only screen and (max-width: 1300px) {
  #bnr-oubo .limit .count.day-off {
    font-size: 1.6923076923vw;
    margin-top: 0.3846153846vw;
  }
}
@media only screen and (max-width: 768px) {
  #bnr-oubo .limit .count.day-off {
    font-size: 4.375vw;
  }
}
#bnr-oubo .limit .count.day-off .count-number {
  font-size: 28px;
  bottom: 0;
}
@media only screen and (max-width: 1300px) {
  #bnr-oubo .limit .count.day-off .count-number {
    font-size: 2.1538461538vw;
  }
}
@media only screen and (max-width: 768px) {
  #bnr-oubo .limit .count.day-off .count-number {
    font-size: 5.625vw;
  }
}
#bnr-oubo .limit .count.day-off .count-number .second {
  font-size: 18px;
}
@media only screen and (max-width: 1300px) {
  #bnr-oubo .limit .count.day-off .count-number .second {
    font-size: 1.3846153846vw;
  }
}
@media only screen and (max-width: 768px) {
  #bnr-oubo .limit .count.day-off .count-number .second {
    font-size: 3.90625vw;
  }
}
#bnr-oubo .limit .count.close {
  display: none;
}
#bnr-oubo .limit .close-txt {
  /*font-size: 25px;
  font-weight: 800;
  margin-top: 8px;
  @media only screen and (max-width: 1300px) { 
    font-size: base_vw(25);
    margin-top: base_vw(8);
  }
  @media only screen and (max-width: 768px) { 
    font-size: vw(38);
    margin-top: base_vw(12);
  }
    */
  display: none;
}

.keyvisual {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  height: 682px;
  background-color: #fff;
}
@media only screen and (max-width: 768px) {
  .keyvisual {
    height: 213.28125vw;
    min-width: 100%;
  }
}
.keyvisual .flex-box {
  display: grid;
  align-items: center;
  justify-content: center;
  height: 100%;
  max-width: 1600px;
  margin: 0 auto;
  grid-template-columns: 42.5% 57.5%;
}
@media only screen and (max-width: 768px) {
  .keyvisual .flex-box {
    display: block;
  }
}
.keyvisual .illust {
  position: relative;
  height: 682px;
}
@media only screen and (max-width: 768px) {
  .keyvisual .illust {
    width: 100%;
    height: auto;
  }
}
.keyvisual .illust img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top right;
     object-position: top right;
}
@media only screen and (max-width: 1400px) {
  .keyvisual .illust img {
    -o-object-position: top center;
       object-position: top center;
  }
}
@media only screen and (max-width: 768px) {
  .keyvisual .illust img {
    height: auto;
  }
}
.keyvisual .illust p {
  position: absolute;
  bottom: 25px;
  left: 10px;
  width: 82px;
}
@media only screen and (max-width: 768px) {
  .keyvisual .illust p {
    width: 11.40625vw;
    top: 1.5625vw;
    left: 1.5625vw;
    bottom: inherit;
  }
}
.keyvisual__box {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .keyvisual__box {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background-color: transparent;
    width: 100%;
    height: 100%;
  }
}
.keyvisual__box .catch {
  position: relative;
  width: 430px;
  height: 48px;
  margin-bottom: 25px;
}
@media only screen and (max-width: 1400px) {
  .keyvisual__box .catch {
    width: 30.7142857143vw;
    height: 3.4285714286vw;
    margin-bottom: 1.7857142857vw;
  }
}
@media only screen and (max-width: 768px) {
  .keyvisual__box .catch {
    position: absolute;
    width: 82.8125vw;
    height: 9.21875vw;
    top: 94.6875vw;
    left: 50%;
    transform: translateX(-50%);
  }
}
.keyvisual__box .catch span {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 0;
  height: 100%;
  background: #212121;
}
.keyvisual__box .catch img {
  position: relative;
  opacity: 0;
}
.keyvisual__box .title {
  position: relative;
  width: 682px;
  margin: 0 auto 20px;
  opacity: 0;
}
@media only screen and (max-width: 1400px) {
  .keyvisual__box .title {
    width: 48.7142857143vw;
  }
}
@media only screen and (max-width: 768px) {
  .keyvisual__box .title {
    position: absolute;
    top: 104.84375vw;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    margin: 0;
  }
}
.keyvisual__box .title h1 .on {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
.keyvisual__box .title .fire {
  position: absolute;
  right: -34px;
  bottom: 90px;
  width: 188px;
  height: 221px;
}
@media only screen and (max-width: 1000px) {
  .keyvisual__box .title .fire {
    width: 14.4615384615vw;
    height: 17vw;
    right: -2.6153846154vw;
    bottom: 6.9230769231vw;
  }
}
@media only screen and (max-width: 768px) {
  .keyvisual__box .title .fire {
    width: 21.875vw;
    height: 25vw;
    right: 0;
    bottom: 14.375vw;
  }
}
.keyvisual__box .title .fire span {
  position: absolute;
  bottom: 0;
  display: block;
  width: 100%;
  height: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
.keyvisual__box .title .fire img {
  position: absolute;
  bottom: 0;
  transform-origin: 65% bottom;
}
.keyvisual__box .prize__con {
  position: relative;
  width: 330px;
  margin-bottom: 175px;
}
@media only screen and (max-width: 1400px) {
  .keyvisual__box .prize__con {
    margin-bottom: 12.5vw;
  }
}
@media only screen and (max-width: 768px) {
  .keyvisual__box .prize__con {
    position: relative;
    top: 184.0625vw;
    left: 50%;
    transform: translateX(-50%);
  }
}
.keyvisual__box .prize__con .txt {
  position: absolute;
  top: -4px;
  left: -86px;
  width: 126px;
  opacity: 0;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  .keyvisual__box .prize__con .txt {
    top: -0.625vw;
    left: -13.4375vw;
    width: 19.6875vw;
  }
}
.keyvisual__box .prize__con .box {
  display: flex;
  gap: 0 20px;
}
@media only screen and (max-width: 768px) {
  .keyvisual__box .prize__con .box {
    gap: 0 3.125vw;
  }
}
.keyvisual__box .prize__con .box .prize {
  width: 155px;
  opacity: 0;
}
@media only screen and (max-width: 768px) {
  .keyvisual__box .prize__con .box .prize {
    width: 24.21875vw;
  }
}
.keyvisual__box .prize__con .plus {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 38px;
  opacity: 0;
}
@media only screen and (max-width: 768px) {
  .keyvisual__box .prize__con .plus {
    width: 5.9375vw;
  }
}
.keyvisual .oubo {
  position: absolute;
  right: 0;
  bottom: 20px;
  width: 860px;
  z-index: 30;
  opacity: 0;
}
@media only screen and (min-width: 1600px) {
  .keyvisual .oubo {
    right: calc((1600px - 100vw) / 2);
  }
}
@media only screen and (max-width: 1400px) {
  .keyvisual .oubo {
    width: 61.4285714286vw;
    bottom: 1.4285714286vw;
  }
}
@media only screen and (max-width: 768px) {
  .keyvisual .oubo {
    position: absolute;
    top: 140vw;
    right: 0;
    bottom: inherit;
    width: 100%;
  }
}
.keyvisual .oubo .base {
  border-radius: 68px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.7);
}
@media only screen and (max-width: 1300px) {
  .keyvisual .oubo .base {
    border-radius: 5.2307692308vw;
  }
}
@media only screen and (max-width: 768px) {
  .keyvisual .oubo .base {
    border-radius: 0;
    box-shadow: none;
  }
}
.keyvisual .oubo .base .on {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: all 0.3s ease;
}
@media only screen and (max-width: 768px) {
  .keyvisual .oubo .base .on {
    display: none;
  }
}
.keyvisual .oubo:hover .base .on {
  opacity: 1;
}
.keyvisual .oubo a {
  position: relative;
  display: block;
  color: #212121;
}
.keyvisual .oubo .limit {
  position: absolute;
  top: 50%;
  left: 30px;
  transform: translateY(-50%);
  text-align: center;
}
@media only screen and (max-width: 1400px) {
  .keyvisual .oubo .limit {
    left: 2.1428571429vw;
  }
}
@media only screen and (max-width: 768px) {
  .keyvisual .oubo .limit {
    left: 4.6875vw;
    text-align: left;
  }
}
.keyvisual .oubo .limit p {
  line-height: 1.1;
}
.keyvisual .oubo .limit .txt {
  font-size: 17px;
  font-weight: 700;
}
@media only screen and (max-width: 1400px) {
  .keyvisual .oubo .limit .txt {
    font-size: 1.2142857143vw;
  }
}
@media only screen and (max-width: 768px) {
  .keyvisual .oubo .limit .txt {
    font-size: 3.4375vw;
    margin-bottom: 3.125vw;
  }
}
@media only screen and (max-width: 768px) {
  .keyvisual .oubo .limit .txt span {
    font-size: 3.90625vw;
  }
}
.keyvisual .oubo .limit .txt span.num {
  font-size: 24px;
}
@media only screen and (max-width: 768px) {
  .keyvisual .oubo .limit .txt span.num {
    font-size: 4.6875vw;
  }
}
.keyvisual .oubo .limit .count {
  font-size: 33px;
  font-weight: 800;
  color: #fff;
  margin-left: -10px;
}
@media only screen and (max-width: 1400px) {
  .keyvisual .oubo .limit .count {
    font-size: 2.3571428571vw;
    margin-left: -0.7142857143vw;
  }
}
@media only screen and (max-width: 768px) {
  .keyvisual .oubo .limit .count {
    font-size: 5.625vw;
    margin-left: 0;
  }
}
.keyvisual .oubo .limit .count .count-number {
  position: relative;
  bottom: -4px;
  font-size: 50px;
  color: #212121;
}
@media only screen and (max-width: 1400px) {
  .keyvisual .oubo .limit .count .count-number {
    bottom: -0.2857142857vw;
    font-size: 3.5714285714vw;
  }
}
@media only screen and (max-width: 768px) {
  .keyvisual .oubo .limit .count .count-number {
    font-size: 9.0625vw;
    bottom: -0.625vw;
  }
}
.keyvisual .oubo .limit .count.day-off {
  font-size: 30px;
  margin-top: 5px;
}
@media only screen and (max-width: 1400px) {
  .keyvisual .oubo .limit .count.day-off {
    font-size: 2.1428571429vw;
    margin-top: 0.3571428571vw;
  }
}
@media only screen and (max-width: 768px) {
  .keyvisual .oubo .limit .count.day-off {
    font-size: 4.375vw;
  }
}
.keyvisual .oubo .limit .count.day-off .count-number {
  font-size: 38px;
  bottom: 0;
}
@media only screen and (max-width: 1400px) {
  .keyvisual .oubo .limit .count.day-off .count-number {
    font-size: 2.7142857143vw;
  }
}
@media only screen and (max-width: 768px) {
  .keyvisual .oubo .limit .count.day-off .count-number {
    font-size: 5.9375vw;
  }
}
.keyvisual .oubo .limit .count.day-off .count-number .second {
  font-size: 25px;
}
@media only screen and (max-width: 1400px) {
  .keyvisual .oubo .limit .count.day-off .count-number .second {
    font-size: 1.7857142857vw;
  }
}
@media only screen and (max-width: 768px) {
  .keyvisual .oubo .limit .count.day-off .count-number .second {
    font-size: 3.4375vw;
  }
}
.keyvisual .oubo .limit .count.close {
  display: none;
}
.keyvisual .oubo .limit .close-txt {
  /*font-size: 34px;
  font-weight: 800;
  margin-top: 8px;
  @media only screen and (max-width: 1300px) { 
    font-size: base_vw(34);
    margin-top: base_vw(8);
  }
  @media only screen and (max-width: 768px) { 
    font-size: vw(38);
    margin-top: base_vw(12);
  }
  */
  display: none;
}

@media only screen and (max-width: 768px) {
  #content img {
    width: 100%;
  }
}
#content .inner {
  width: 1100px;
  margin: 0 auto;
}
@media only screen and (max-width: 1300px) {
  #content .inner {
    width: 84.6153846154vw;
  }
}
@media only screen and (max-width: 768px) {
  #content .inner {
    width: auto;
  }
}
#content .result {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  padding: 40px 0;
  background: url("../img/top/result_bg.png?2604") repeat top center #212121;
  /* background-size: auto 100%; */
}
@media only screen and (max-width: 1300px) {
  #content .result {
    padding: 3.0769230769vw 0;
  }
}
@media only screen and (max-width: 768px) {
  #content .result {
    padding: 6.25vw 0;
  }
}
#content .result .bnr {
  width: 700px;
  margin: 20px auto;
  opacity: 0;
}
@media only screen and (max-width: 1300px) {
  #content .result .bnr {
    width: 53.8461538462vw;
  }
}
@media only screen and (max-width: 768px) {
  #content .result .bnr {
    width: 90.625vw;
  }
}
#content .result .bnr .on {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: all 0.3s ease;
}
@media only screen and (max-width: 768px) {
  #content .result .bnr .on {
    display: none;
  }
}
#content .result .bnr:hover .on {
  opacity: 1;
}
#content section .logo {
  margin-bottom: 15px;
}
#content section p.txt {
  font-family: "Shippori Mincho", serif;
  font-size: 22px;
}

.intro {
  position: relative;
  padding: 72px 0 144px;
  background: url("../img/top/intro_bg.png") repeat-x bottom center;
  background-size: auto;
  margin-bottom: 145px;
}
@media only screen and (max-width: 1300px) {
  .intro {
    padding: 5.5384615385vw 0 11.0769230769vw;
    margin-bottom: 11.1538461538vw;
  }
}
@media only screen and (max-width: 768px) {
  .intro {
    padding: 9.375vw 0 18.4375vw;
    margin-bottom: 19.0625vw;
    background: url("../img/top/intro_bg-sp.png") no-repeat center bottom;
    background-size: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .intro__list {
    position: relative;
  }
}
.intro__list ul {
  display: flex;
  justify-content: center;
  gap: 0 30px;
}
@media only screen and (max-width: 1300px) {
  .intro__list ul {
    gap: 0 2.3076923077vw;
  }
}
@media only screen and (max-width: 768px) {
  .intro__list ul {
    gap: 0 4.984375vw;
    position: relative;
    right: calc(50% + 10.15625vw);
    z-index: 2;
  }
}
.intro__list ul li {
  box-shadow: 0 10px 15px rgba(32, 35, 32, 0.7);
  background: url("../img/top/intro_cover_bg.png") no-repeat top center;
  background-size: cover;
  opacity: 0;
}
@media only screen and (max-width: 1300px) {
  .intro__list ul li {
    box-shadow: 0 0.7692307692vw 1.1538461538vw rgba(32, 35, 32, 0.7);
  }
}
.intro__list ul li.sp {
  display: none;
}
@media only screen and (max-width: 768px) {
  .intro__list ul li.sp {
    display: flex;
  }
}
.intro__list ul li .cover {
  width: 216px;
  height: 302px;
  margin: 5px;
}
@media only screen and (max-width: 1300px) {
  .intro__list ul li .cover {
    width: 16.6153846154vw;
    height: 23.2307692308vw;
    margin: 0.3846153846vw;
  }
}
@media only screen and (max-width: 768px) {
  .intro__list ul li .cover {
    width: 33.28125vw;
    height: 47.1875vw;
    margin: 0.78125vw;
  }
}
.intro__list ul li .cover img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}
@media only screen and (max-width: 768px) {
  .intro__list .slider {
    position: absolute;
    top: -0.625vw;
    left: calc(50% - 65.625vw);
    width: 130%;
    height: 52.96875vw;
    background: url("../img/top/intro_slider.png?2604") repeat-x 174.2vw center;
    background-size: auto 100%;
    opacity: 0;
  }
  .intro__list .slider.on {
    animation: moveBg2 120s linear infinite;
  }
}
@keyframes moveBg2 {
  0% {
    background-position: 174.2vw center; /* 開始位置（右端） */
  }
  100% {
    background-position: -174.2vw center; /* 終了位置（左端） */
  }
}
.intro__text {
  position: absolute;
  bottom: -62px;
  left: 50%;
  transform: translateX(-50%);
  width: 831px;
  z-index: 2;
  opacity: 0;
}
@media only screen and (max-width: 1300px) {
  .intro__text {
    bottom: -4.7692307692vw;
    width: 63.9230769231vw;
  }
}
@media only screen and (max-width: 768px) {
  .intro__text {
    width: 97.5vw;
    bottom: -8.4375vw;
  }
}
.intro__fire {
  position: absolute;
  bottom: -100px;
  left: calc(50% - 114px);
  width: 188px;
  height: 221px;
  mix-blend-mode: color-dodge;
}
@media only screen and (max-width: 1300px) {
  .intro__fire {
    bottom: -7.6923076923vw;
    left: calc(50% - 8.7692307692vw);
    width: 14.4615384615vw;
    height: 17vw;
  }
}
@media only screen and (max-width: 768px) {
  .intro__fire {
    width: 22.1875vw;
    height: 26.09375vw;
    bottom: -10.9375vw;
    left: calc(50% - 13.4375vw);
  }
}
.intro__fire p {
  position: absolute;
  bottom: 0;
  display: block;
  width: 100%;
  height: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
.intro__fire img {
  position: absolute;
  bottom: 0;
  transform-origin: 65% bottom;
}

.feature {
  padding: 50px 0 0;
  background: url("../img/top/feature_bg-pc.png") no-repeat top center, linear-gradient(90deg, rgb(175, 154, 80), rgb(226, 211, 157));
  background-size: auto 100%, auto;
  border-radius: 80px 80px 0 0;
  margin-bottom: 50px;
}
@media only screen and (max-width: 1300px) {
  .feature {
    padding: 3.8461538462vw 0 0;
    margin-bottom: 3.8461538462vw;
  }
}
@media only screen and (max-width: 768px) {
  .feature {
    border-radius: 12.5vw 12.5vw 0 0;
    padding: 6.25vw 0 0;
    margin-bottom: 13.4375vw;
    background: url("../img/top/feature_bg-sp.png") no-repeat center center, linear-gradient(90deg, rgb(175, 154, 80), rgb(226, 211, 157));
    background-size: 100% auto, auto;
  }
}
.feature__ttl {
  position: relative;
  width: 354px;
  margin: 0 auto 38px;
}
@media only screen and (max-width: 1300px) {
  .feature__ttl {
    width: 27.2307692308vw;
    margin-bottom: 2.9230769231vw;
  }
}
@media only screen and (max-width: 768px) {
  .feature__ttl {
    width: 66.25vw;
    margin-bottom: 5vw;
  }
}
.feature__ttl .fire {
  position: absolute;
  top: 30px;
  right: -42px;
  display: block;
  width: 98px;
  height: 114px;
}
@media only screen and (max-width: 1300px) {
  .feature__ttl .fire {
    top: 2.3076923077vw;
    right: -3.2307692308vw;
    width: 7.5384615385vw;
    height: 8.7692307692vw;
  }
}
@media only screen and (max-width: 768px) {
  .feature__ttl .fire {
    top: 4.6875vw;
    right: -9.0625vw;
    width: 19.84375vw;
    height: 22.96875vw;
  }
}
.feature__ttl .fire span {
  position: absolute;
  bottom: 0;
  display: block;
  width: 100%;
  height: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
.feature__ttl .fire img {
  position: absolute;
  bottom: 0;
  transform-origin: 65% bottom;
}
.feature__ttl p {
  opacity: 0;
}
.feature__point ul {
  display: flex;
  justify-content: center;
  gap: 0 68px;
  margin-bottom: 46px;
}
@media only screen and (max-width: 1300px) {
  .feature__point ul {
    gap: 0 4.6153846154vw;
    margin-bottom: 3.5384615385vw;
  }
}
@media only screen and (max-width: 768px) {
  .feature__point ul {
    display: grid;
    gap: 1.5625vw 10.3125vw;
    margin-bottom: 2.34375vw;
    grid-template-columns: repeat(2, 35vw);
  }
}
.feature__point ul li {
  width: 224px;
  opacity: 0;
}
@media only screen and (max-width: 1300px) {
  .feature__point ul li {
    width: 17.2307692308vw;
  }
}
@media only screen and (max-width: 768px) {
  .feature__point ul li {
    width: 35vw;
  }
}
.feature__point ul li a {
  display: block;
  transition: all 0.3s ease;
}
.feature__point ul li a:hover {
  transform: scale(1.08);
}
.feature__point ul li p {
  font-size: 10px;
  line-height: 1.2;
  font-weight: 600;
  margin-top: 1em;
}
@media only screen and (max-width: 768px) {
  .feature__point ul li p {
    font-size: 1.875vw;
  }
}
.feature .btn {
  position: relative;
  bottom: -25px;
}
@media only screen and (max-width: 1300px) {
  .feature .btn {
    bottom: -1.9230769231vw;
  }
}
@media only screen and (max-width: 768px) {
  .feature .btn {
    bottom: -5.46875vw;
  }
}

.detail {
  padding: 50px 0;
  background: url("../img/top/detail_bg.png") no-repeat top center;
  background-size: cover;
}
@media only screen and (max-width: 1300px) {
  .detail {
    padding: 3.8461538462vw 0;
  }
}
@media only screen and (max-width: 768px) {
  .detail {
    padding: 9.375vw 0;
    background: url("../img/top/detail_bg-sp.png") repeat-y top center;
    background-size: 100%;
  }
}
.detail__list ul {
  display: flex;
  justify-content: center;
  gap: 0 22px;
  width: 1282px;
  position: relative; /* 親要素に対して相対的な位置 */
  left: 50%;
  transform: translateX(-50%); /* 左右中央揃え */
}
@media only screen and (max-width: 1300px) {
  .detail__list ul {
    gap: 0 1.6923076923vw;
    width: 98.6153846154vw;
  }
}
@media only screen and (max-width: 768px) {
  .detail__list ul {
    width: 90.46875vw;
    display: block;
  }
}
.detail__list ul li {
  display: flex;
  flex-direction: column;
  width: 412px;
  height: 412px;
  padding: 40px 0 50px;
  border-radius: 80px;
  background: url("../img/bg.jpg") repeat top center #212121;
  box-sizing: border-box;
  opacity: 0;
}
@media only screen and (max-width: 1300px) {
  .detail__list ul li {
    width: 31.6923076923vw;
    height: 31.6923076923vw;
    padding: 3.0769230769vw 0 3.8461538462vw;
  }
}
@media only screen and (max-width: 768px) {
  .detail__list ul li {
    width: auto;
    height: 90.46875vw;
    padding: 8.75vw 0 11.25vw;
    box-sizing: border-box;
  }
}
.detail__list ul li:not(:last-child) {
  margin-bottom: 3.4375vw;
}
.detail__list ul li .ttl {
  margin: 0 auto 45px;
}
@media only screen and (max-width: 1300px) {
  .detail__list ul li .ttl {
    margin-bottom: 3.4615384615vw;
  }
}
@media only screen and (max-width: 768px) {
  .detail__list ul li .ttl {
    margin-bottom: 9.375vw;
  }
}
.detail__list ul li p {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-family: "Shippori Mincho", serif;
  line-height: 1.8;
  color: #fff;
  text-align: center;
  margin-bottom: 45px;
  flex-grow: 1;
}
@media only screen and (max-width: 1300px) {
  .detail__list ul li p {
    font-size: 1.3846153846vw;
    margin-bottom: 3.4615384615vw;
  }
}
@media only screen and (max-width: 768px) {
  .detail__list ul li p {
    font-size: 3.90625vw;
    margin-bottom: 10.15625vw;
  }
}
.detail__list ul li:nth-child(1) .ttl {
  width: 170px;
}
@media only screen and (max-width: 1300px) {
  .detail__list ul li:nth-child(1) .ttl {
    width: 13.0769230769vw;
  }
}
@media only screen and (max-width: 768px) {
  .detail__list ul li:nth-child(1) .ttl {
    width: 37.5vw;
  }
}
.detail__list ul li:nth-child(2) .ttl {
  width: 169px;
}
@media only screen and (max-width: 1300px) {
  .detail__list ul li:nth-child(2) .ttl {
    width: 13vw;
  }
}
@media only screen and (max-width: 768px) {
  .detail__list ul li:nth-child(2) .ttl {
    width: 37.03125vw;
  }
}
.detail__list ul li:nth-child(3) .ttl {
  width: 107px;
}
@media only screen and (max-width: 1300px) {
  .detail__list ul li:nth-child(3) .ttl {
    width: 8.2307692308vw;
  }
}
@media only screen and (max-width: 768px) {
  .detail__list ul li:nth-child(3) .ttl {
    width: 23.4375vw;
  }
}

.interview {
  padding-top: 95px;
  opacity: 0;
}
@media only screen and (max-width: 1300px) {
  .interview {
    padding-top: 7.3076923077vw;
  }
}
@media only screen and (max-width: 768px) {
  .interview {
    padding-top: 9.6875vw;
  }
}
.interview__box {
  position: relative;
  left: calc(50% - 550px);
  width: 100%;
  padding: 50px 0 55px 393px;
  border-radius: 80px 0 0 80px;
  margin-bottom: 70px;
  background-image: linear-gradient(90deg, rgb(0, 127, 113), rgb(0, 205, 183));
}
@media only screen and (max-width: 1300px) {
  .interview__box {
    left: calc(50% - 42.3076923077vw);
    padding: 3.8461538462vw 0 4.2307692308vw 30.2307692308vw;
    margin-bottom: 5.3846153846vw;
  }
}
@media only screen and (max-width: 768px) {
  .interview__box {
    left: calc(50% - 45.3125vw);
    padding: 7.8125vw 0 7.8125vw 6.25vw;
    margin-bottom: 9.0625vw;
    border-radius: 12.5vw 0 0 12.5vw;
  }
}
.interview__box .cover {
  position: absolute;
  top: -22px;
  left: 122px;
  width: 230px;
  opacity: 0;
}
@media only screen and (max-width: 1300px) {
  .interview__box .cover {
    top: -1.6923076923vw;
    left: 9.3846153846vw;
    width: 17.6923076923vw;
  }
}
@media only screen and (max-width: 768px) {
  .interview__box .cover {
    width: 28.125vw;
    top: -3.90625vw;
    left: 6.25vw;
  }
}
.interview__box .ttl {
  position: relative;
  width: 583px;
  margin-bottom: 15px;
}
@media only screen and (max-width: 1300px) {
  .interview__box .ttl {
    width: 44.8461538462vw;
    margin-bottom: 1.1538461538vw;
  }
}
@media only screen and (max-width: 768px) {
  .interview__box .ttl {
    width: 50.15625vw;
    margin-left: 30.9375vw;
    margin-bottom: 6.25vw;
  }
}
.interview__box .ttl .fire {
  position: absolute;
  top: -24px;
  right: 0;
  display: block;
  width: 89px;
  height: 105px;
}
@media only screen and (max-width: 1300px) {
  .interview__box .ttl .fire {
    top: -1.8461538462vw;
    right: 0;
    width: 6.8461538462vw;
    height: 8.0769230769vw;
  }
}
@media only screen and (max-width: 768px) {
  .interview__box .ttl .fire {
    top: 4.6875vw;
    right: -4.0625vw;
    width: 16.875vw;
    height: 19.6875vw;
  }
}
.interview__box .ttl .fire span {
  position: absolute;
  bottom: 0;
  display: block;
  width: 100%;
  height: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
.interview__box .ttl .fire img {
  position: absolute;
  bottom: 0;
  transform-origin: 65% bottom;
}
.interview__box .ttl p {
  opacity: 0;
}
.interview__box .txt {
  color: #fff;
  margin-bottom: 20px;
  opacity: 0;
}
@media only screen and (max-width: 1300px) {
  .interview__box .txt {
    margin-bottom: 1.5384615385vw;
  }
}
@media only screen and (max-width: 768px) {
  .interview__box .txt {
    margin-bottom: 4.6875vw;
  }
}
.interview__box .flex-box {
  display: flex;
  gap: 0 10px;
  justify-content: left;
}
@media only screen and (max-width: 1300px) {
  .interview__box .flex-box {
    gap: 0 0.7692307692vw;
  }
}
@media only screen and (max-width: 768px) {
  .interview__box .flex-box {
    display: block;
  }
}
.interview__box .interviewee {
  display: inline-block;
  padding: 0 18px;
  background-color: #baa762;
  opacity: 0;
}
@media only screen and (max-width: 1300px) {
  .interview__box .interviewee {
    padding: 0 1.3846153846vw;
  }
}
.interview__box .interviewee p {
  display: flex;
  align-items: flex-end;
  font-size: 40px;
  line-height: 1.3;
  font-weight: bold;
}
@media only screen and (max-width: 1300px) {
  .interview__box .interviewee p {
    font-size: 3.0769230769vw;
  }
}
@media only screen and (max-width: 768px) {
  .interview__box .interviewee p {
    font-size: 7.5vw;
  }
}
.interview__box .interviewee p span {
  font-size: 30px;
  line-height: 1.6;
}
@media only screen and (max-width: 1300px) {
  .interview__box .interviewee p span {
    font-size: 2.3076923077vw;
  }
}
@media only screen and (max-width: 768px) {
  .interview__box .interviewee p span {
    font-size: 5.625vw;
  }
}
.interview__box .interviewee p span.num {
  margin-right: 6px;
}
@media only screen and (max-width: 1300px) {
  .interview__box .interviewee p span.num {
    margin-right: 0.4615384615vw;
  }
}
@media only screen and (max-width: 768px) {
  .interview__box .interviewee p span.num {
    margin-right: 0.9375vw;
  }
}
.interview__box .btn {
  margin: 0;
  opacity: 0;
}

@keyframes progressBg {
  0% {
    background-position: 100vw center, center center; /* 開始位置（右端） */
  }
  100% {
    background-position: -100vw center, center center; /* 終了位置（左端） */
  }
}
.progress {
  position: relative;
  padding: 80px 0 140px;
  margin-bottom: 70px;
  background: url("../img/top/progress_bg.png") repeat-x top center, linear-gradient(90deg, rgb(33, 33, 33), rgb(95, 95, 95) 49%, rgb(255, 255, 255));
  background-size: auto 100%;
  animation: progressBg 140s linear infinite;
}
@media only screen and (max-width: 1300px) {
  .progress {
    padding: 6.1538461538vw 0 10.7692307692vw;
    margin-bottom: 5.3846153846vw;
  }
}
@media only screen and (max-width: 768px) {
  .progress {
    padding: 12.5vw 4.6875vw 13.28125vw;
    margin-bottom: 12.8125vw;
  }
}
.progress::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../img/top/progress_bg_dot.png") repeat;
}
.progress__ttl {
  position: relative;
  width: 418px;
  margin-bottom: 18px;
}
@media only screen and (max-width: 1300px) {
  .progress__ttl {
    width: 32.1538461538vw;
    margin-bottom: 1.3846153846vw;
  }
}
@media only screen and (max-width: 768px) {
  .progress__ttl {
    width: 78.59375vw;
    margin-bottom: 3.4375vw;
  }
}
.progress__ttl .fire {
  position: absolute;
  top: -40px;
  right: -5px;
  display: block;
  width: 89px;
  height: 105px;
}
@media only screen and (max-width: 1300px) {
  .progress__ttl .fire {
    top: -3.0769230769vw;
    right: -0.3846153846vw;
    width: 6.8461538462vw;
    height: 8.0769230769vw;
  }
}
@media only screen and (max-width: 768px) {
  .progress__ttl .fire {
    width: 16.71875vw;
    height: 19.375vw;
    top: -8.4375vw;
    right: -0.78125vw;
  }
}
.progress__ttl .fire span {
  position: absolute;
  bottom: 0;
  display: block;
  width: 100%;
  height: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
.progress__ttl .fire img {
  position: absolute;
  bottom: 0;
  transform-origin: 65% bottom;
}
.progress__ttl p {
  opacity: 0;
}
.progress .txt {
  position: relative;
  color: #fff;
  margin-bottom: 18px;
  opacity: 0;
}
@media only screen and (max-width: 1300px) {
  .progress .txt {
    margin-bottom: 1.3846153846vw;
  }
}
@media only screen and (max-width: 768px) {
  .progress .txt {
    margin-bottom: 3.90625vw;
  }
}
.progress .btn {
  position: relative;
  margin: 0;
  opacity: 0;
}

.history {
  position: relative;
  padding: 30px 0 0;
  margin-bottom: 115px;
}
@media only screen and (max-width: 1300px) {
  .history {
    padding: 2.3076923077vw 0 0;
    margin-bottom: 8.8461538462vw;
  }
}
@media only screen and (max-width: 768px) {
  .history {
    padding: 6.25vw 0 0;
    margin-bottom: 18.4375vw;
  }
}
.history .bg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0%;
  border-radius: 80px 80px 0 0;
  background-image: linear-gradient(90deg, rgb(0, 127, 113), rgb(0, 205, 183));
}
@media only screen and (max-width: 768px) {
  .history .bg {
    border-radius: 12.5vw 12.5vw 0 0;
  }
}
.history__ttl {
  width: 434px;
  margin: 0 auto 15px;
  opacity: 0;
}
@media only screen and (max-width: 1300px) {
  .history__ttl {
    width: 33.3846153846vw;
    margin-bottom: 1.1538461538vw;
  }
}
@media only screen and (max-width: 768px) {
  .history__ttl {
    width: 82.03125vw;
    margin-bottom: 8.59375vw;
  }
}
.history .btn {
  position: relative;
  bottom: -25px;
  opacity: 0;
}
@media only screen and (max-width: 1300px) {
  .history .btn {
    bottom: -1.9230769231vw;
  }
}
@media only screen and (max-width: 768px) {
  .history .btn {
    bottom: -5.46875vw;
  }
}

#pagetop {
  bottom: 150px;
}
@media only screen and (max-width: 1300px) {
  #pagetop {
    bottom: 11.5384615385vw;
  }
}
@media only screen and (max-width: 768px) {
  #pagetop {
    bottom: 23.4375vw;
  }
}

/* モーダル */
#modal-block p {
  font-size: 14px;
}
@media only screen and (max-width: 768px) {
  #modal-block p {
    font-size: 3.4375vw;
  }
}
#modal-block p.note {
  font-size: 12px;
}
@media only screen and (max-width: 768px) {
  #modal-block p.note {
    font-size: 3.125vw;
  }
}
#modal-block p.bold {
  font-weight: bold;
}
#modal-block p.center {
  text-align: center;
}
#modal-block p.right {
  text-align: right;
}
@media only screen and (max-width: 768px) {
  #modal-block p.sp-left {
    text-align: left;
  }
}
#modal-block p span.color1 {
  color: #ff2663;
}
#modal-block p span.color2 {
  color: #00a593;
}
#modal-block p span.color3 {
  color: #beac68;
}
#modal-block p span.bold {
  font-weight: 700;
}
#modal-block p span.note {
  font-size: 12px;
}
@media only screen and (max-width: 768px) {
  #modal-block p span.note {
    font-size: 3.125vw;
  }
}
#modal-block p span.bg-yellow {
  background-color: #ffff00;
}
#modal-block p a {
  color: #00a593;
  font-weight: bold;
  text-decoration: underline;
}
#modal-block p a:hover {
  text-decoration: none;
}
#modal-block .ttl-box {
  padding-bottom: 12px;
  background: url("../img/page/h2_line-pc.png") repeat-x bottom center;
  margin-bottom: 36px;
}
@media only screen and (max-width: 1000px) {
  #modal-block .ttl-box {
    margin-bottom: 2.7692307692vw;
  }
}
@media only screen and (max-width: 768px) {
  #modal-block .ttl-box {
    padding-bottom: 1.875vw;
    margin-bottom: 5.9375vw;
    background: url("../img/page/h2_line-sp.png") repeat-x bottom center;
  }
}
#modal-block .ttl-box h2 {
  font-size: 30px;
  line-height: 1.2;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  #modal-block .ttl-box h2 {
    font-size: 5.625vw;
  }
}
#modal-block p {
  line-height: 1.6;
}
#modal-block .lh2 {
  line-height: 2;
}
#modal-block .mb10 {
  margin-bottom: 10px;
}
@media only screen and (max-width: 768px) {
  #modal-block .mb10 {
    margin-bottom: 1.5625vw;
  }
}
#modal-block .mb20 {
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #modal-block .mb20 {
    margin-bottom: 3.125vw;
  }
}
#modal-block .mb30 {
  margin-bottom: 30px;
}
@media only screen and (max-width: 768px) {
  #modal-block .mb30 {
    margin-bottom: 4.6875vw;
  }
}
#modal-block .mb40 {
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #modal-block .mb40 {
    margin-bottom: 6.25vw;
  }
}
#modal-block .flex-box {
  display: flex;
}

.modal-inner {
  width: 960px;
  margin: 0 auto 50px;
  padding: 50px 100px 60px;
  border-radius: 80px;
  background-color: #fff;
}
@media only screen and (max-width: 1000px) {
  .modal-inner {
    width: 73.8461538462vw;
    padding: 3.8461538462vw 7.6923076923vw 4.6153846154vw;
  }
}
@media only screen and (max-width: 768px) {
  .modal-inner {
    width: 93.75vw;
    padding: 9.375vw 4.6875vw 12.5vw;
    border-radius: 12.5vw;
  }
}/*# sourceMappingURL=top.css.map */