body {
  background-color: black;
}

/*******main-visual*******/

.main-visual {
  width: 95%;
  height: 0;
  margin: 0 auto;
  padding-top: 54.6%;
  background-image: url(../img/index_bg01.jpg);
  background-size: cover;
  background-position: center;
  position: relative;
  z-index: 10;
}

/*******topic*******/

.topic {
  padding-bottom: 20%;
}

.topic-title {
  display: flex;
  align-items: center;
  color: white;
  font-size: 55px;
  font-family: "Baskerville", "Baskerville Old Face", "Garamond",
    "Times New Roman", serif;
  font-weight: normal;
  padding-top: 115px;
}

.topic-title::before,
.topic-title::after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background-color: gray;
}

.topic-title::before {
  margin-right: 2%;
}

.topic-title::after {
  margin-left: 2%;
}

.topic-content {
  margin: 30px auto 150px auto;
  height: 480px;
  width: 90%;
  max-width: 1200px;
  background-image: url(../img/index_bg03.jpg);
  background-size: 100% 100%;
  display: flex;
}

.topic-img {
  width: 340px;
  height: 340px;
  margin: 6% 0 0 13%;
}

.topic-text {
  font-size: 29px;
  color: white;
  margin: 6% 0 0 10%;
}

.topic-text span {
  font-size: 60px;
}

.topic-url {
  display: inline-block;
  font-size: 30px;
  padding-top: 35px;
  color: #009dff;
  text-decoration: underline;
}

.topic-url:hover {
  color: #009dff;
}

.youtube {
  text-align: center;
}

.youtube iframe {
  width: 90%;
  max-width: 1200px;
  height: 480px;
  margin-top: 3%;
}

/*sp版topic*/
.sp-topic {
  display: none;
  padding-bottom: 60%;
}

.sp-topic-title {
  display: flex;
  align-items: center;
  color: white;
  font-size: 7vw;
  font-family: "Baskerville", "Baskerville Old Face", "Garamond",
    "Times New Roman", serif;
  font-weight: normal;
  padding-top: 20px;
}

.sp-topic-title::before,
.sp-topic-title::after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background-color: gray;
}

.sp-topic-title::before {
  margin-right: 2%;
}

.sp-topic-title::after {
  margin-left: 2%;
}

.sp-topic-content {
  padding-top: 43.09%;
  height: 0;
  width: 90%;
  margin: 3% auto 15% auto;
  background-image: url(../img/index_bg03.jpg);
  background-position: center;
  background-size: cover;
  position: relative;
}

.sp-topic-content img {
  position: absolute;
  top: 13%;
  left: 1%;
  width: 31%;
}

.sp-topic-text {
  color: white;
  text-align: center;
  position: absolute;
  top: 15%;
  left: 36%;
}

.sp-topic-text p {
  margin-bottom: 0;
}

.sp-topic-text span {
  font-size: 6vw;
}

.sp-topic-text:last-child {
  font-size: 3vw;
}

.sp-topic-url:hover {
  color: white;
}

.sp-topic-url {
  display: inline-block;
  font-size: 4vw;
  padding-top: 6%;
  color: #009dff;
  text-decoration: underline;
}

.sp-youtube {
  text-align: center;
  height: 40vh;
}

.sp-youtube iframe {
  width: 90%;
  height: 90%;
  max-height: 230px;
  margin-top: 3%;
}

/*sp版でのみ表示*/
.phone-area {
  display: none;
  padding: 10% 0 10% 0;
}

.phone-content {
  width: 80%;
  margin: 8% auto;
}

.phone-content img {
  width: 45%;
}

.btn-2, .btn-4 {
  margin-left: 8%;
}

.btn-3, .btn-4 {
  margin-top: 6%;
}

/*topicずれ修正用*/
@media screen and (max-width: 1250px) {
  .topic-img {
    width: 300px;
    height: 300px;
    margin: 7% 0 0 10%;
  }
}

/*タブレット*/
@media screen and (max-width: 1024px) {
  .topic-img {
    width: 250px;
    height: 250px;
    margin: 12% 0 0 10%;
  }

  .topic-text {
    font-size: 3vw;
    margin: 10% 0 0 5%;
  }

  .topic-text span {
    font-size: 5vw;
  }
}

/*sp版に切り替え*/
@media screen and (max-width: 767px) {
  .phone-area {
    display: block;
  }

  .topic {
    display: none;
  }

  .sp-topic {
    display: block;
  }
}

/*スマホ*/
@media screen and (max-width: 599px) {
  .btn-2, .btn-4 {
    margin-left: 7%;
  }
}