@charset "UTF-8";

.pre_pagettl {
  background-image: url(../img/ttl_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  padding: 21% 0;
  position: relative;
}

.pre_pagettl h2 {
  width: 80%;
  max-width: 700px;
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.lead {
  background: #000;
  padding: 100px 0;
}

.lead p {
  font-size: 24px;
  line-height: 1.8;
  color: #edc986;
  text-align: center;
}

.presokyu {
  width: 90%;
  max-width: 1100px;
  margin: 40px auto 0;
}

.pre_madori_box {
  background-image: url(../img/pre_planbg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  padding: 150px 0;
}

/* SVG設定 */
#hover_color a:hover {
    opacity: 1;
}
#hover_color a:hover .cls-13{
  fill: #e0cfa7;
}

#hover_color a,
.btn_flex a {
  transition: opacity 0.3s;
}

#hover_color a.is-hover polygon,
#hover_color a.is-hover path {
  fill: #e0cfa7;
}

.madori_flex {
  gap: 4%;
  align-items: center;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

.madori_flex .torikago {
  width: 46%;
}

.madori_flex .btn {
  width: 50%;
}

.btn_flex {
  gap: 4%;
}

.btn_flex li {
  width: 48%;
}

.btn_flex li:nth-of-type(n+3) {
  margin-top: 30px;
}

.image_box {
  padding: 100px 0;
}

.image_box.black {
  background: #000;
}


.enttl {
  font-size: 22px;
  letter-spacing: 4px;
  color: #9f834f;
  text-align: center;
  margin-bottom: 20px;
}

.jattl {
  font-size: 24px;
  color: #fff;
  line-height: 1.8;
  text-align: center;
  margin-bottom: 20px;
}

.image_flex {
  width: 90%;
  max-width: 1200px;
  align-items: center;
  gap: 8%;
  margin: 100px auto 0;
}

.image_flex .image_zone {
  width: 52%;
}

.image_flex .text_zone {
  width: 40%;
  color: #fff;
  letter-spacing: 2px;
  line-height: 2;
}

.text_ttl {
  font-size: 24px;
  border-bottom: 1px solid #9f834f;
  padding-bottom: 10px;
  margin-bottom: 10px;
}

.image_box.white {
  background: #fff;
}

.image_box.white .jattl {
  color: #000;
}

.image_box.white .text_zone {
  color: #000;
}

.subttl {
  font-size: 22px;
  margin-bottom: 20px;
}

.pre_equip_box {
  background: #0f1c26;
  padding: 100px 0;
  position: relative;
}

.pre_equip_box .bg {
  position: absolute;
  top: 0;
  right: 0;
  width: 40%;
  z-index: 1;
}

.equip_flex {
  width: 90%;
  max-width: 1200px;
  gap: 3%;
  margin: 0 auto;
  position: relative;
  z-index: 5;
}

.equip_flex li {
  width: 31%;
}

.equip_flex li:nth-of-type(n+4) {
  margin-top: 80px;
}

.itemttl {
  font-size: 18px;
  color: #cca953;
  margin: 10px 0;
}

.itemtxt {
  font-size: 14px;
  color: #fff;
}

.half_flex {
  gap: 4%;
}

.half_flex .left,
.half_flex .right {
  width: 48%;
}

.half_flex .left figure {
  margin-top: 20px;
}

.half_flex .itemttl {
  margin-top: 0;
}

small {
  display: block;
}

/*---------------------------
tab
---------------------------*/
@media only screen and (max-width: 1024px) {}

/*---------------------------
sp
---------------------------*/
@media only screen and (max-width: 768px) {
  .pre_pagettl {
    padding: 28% 0;
  }

  .lead {
    padding: 50px 0;
  }

  .lead p {
    font-size: 18px;
  }

  .presokyu {
    width: 100%;
    margin-top: 30px;
  }

  .pre_madori_box {
    padding: 50px 0;
  }

  .madori_flex {
    gap: 0;
  }

  .madori_flex .torikago {
    width: 100%;
  }

  .torikago_base {
    width: 100%;
    margin: 0 auto;
  }

  .madori_flex .btn {
    width: 100%;
    margin-top: 40px;
  }

  .btn_flex li {
    width:90%;
    margin: 0 auto;
  }

  .btn_flex li:nth-of-type(n+2) {
    margin-top: 20px;
  }

  .enttl {
    font-size: 20px;
    margin-bottom: 10px;
  }

  .jattl {
    font-size: 18px;
  }

  .image_box {
    padding: 50px 0;
  }



    .image_flex {
      margin: 60px auto 0;
    }

  .image_flex .image_zone {
    width: 100%;
    margin-bottom: 20px;
  }

  .image_flex .text_zone {
    width: 100%;
  }
  

  .image_flex.reverse .image_zone {
    order: 1;
  }

  .image_flex.reverse .text_zone {
   order: 2;
  }

    .image_box .image_flex .text_zone p {
  text-align: center;
}

  .text_ttl {
    font-size: 20px;
  }

  .subttl {
    font-size: 20px;
    text-align: center;
  }

  .pre_equip_box {
    padding: 50px 0;
  }

  .pre_equip_box .bg {
    width: 60%;
  }

    .equip_flex {
      gap: 0;
    }

  .equip_flex li {
    width: 100%;
  }

    .equip_flex li:nth-of-type(n+2) {
      margin-top: 40px;
    }
}