@charset "utf-8";

/* ---------------------------------

  Column-ttl

--------------------------------- */

.Column-ttl{
  margin: 0 auto;
  position: relative;
}
.Column-ttl h2{
  width: 22%;
  position: absolute;
  top: 10%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}
.Column-ttl .photo img{
  width: 100%;
}

.topic-path{
  max-width: 1280px;
}


/* ---------------------------------

  Content

--------------------------------- */

.Content .intro .inner{
  max-width: 1400px;
}
.Content .intro h3{
  font-size: 3.2rem;
  text-align: center;
}
.Content .intro .lead{
  margin-top: 30px;
  text-align: center;
  line-height: 2.4;
}

/* 汎用 */
.Content .sec{
  margin-top: 120px;
}
.Content .sec .flexbox{
  display: flex;
  flex-wrap: wrap;
}
.Content .sec .flexbox.reserve{
  flex-flow: row-reverse;
}
.Content .sec .photo{
  width: 45.68%;
  max-width: 860px;
}
.Content .sec .txtwrap{
  width: 36.45%;
  margin: 3% auto 0 5%;
}
.Content .sec .flexbox.reserve .txtwrap{
  margin: 3% 5% 0 auto;
}
.Content .sec .txtwrap .en{
  font-size: 6.4rem;
  font-weight: 600;
  line-height: 1;
}
.Content .sec .txtwrap .en span{
  display: block;
  opacity: .6;
}
.Content .sec .txtwrap h3{
  margin-top: 25px;
  font-size: 2.8rem;
  font-weight: 600;
}
.Content .sec .txtwrap .txt{
  margin-top: 15px;
  line-height: 2.2;
}


/* sec01 */
.Content .sec01 .pickup{
  margin-top: 120px;
}
.Content .sec01 .pickup .blk{
  margin-top: 60px;
}
.Content .sec01 .pickup h4{
  color: #ea9c4a;
  font-size: 4.8rem;
  text-align: center;
}
.Content .sec01 .line-up{
  margin-top: 120px;
}
.Content .sec01 .line-up .sub{
  font-size: 2.0rem;
  font-weight: 600;
  text-align: center;
}
.Content .sec01 .line-up h4{
  font-size: 4.2rem;
  text-align: center;
}
.Content .sec01 .line-up h4 span{
  font-size: 4.2rem;
  text-align: center;
}
.Content .sec01 .line-up h4 + .txt{
  margin-top: 20px;
  line-height: 2.2;
  text-align: center;
}
.Content .sec01 .line-up ul{
  display: flex;
  max-width: 1200px;
  margin: 40px auto 0;
  justify-content: center;
}
.Content .sec01 .line-up ul li{
  width: 30%;
  margin: 0 1.5%;
}


/* sec02 */
.Content .sec02{
  margin-top: 120px;
  padding: 120px 0;
  background: #e7eaea;
}
.Content .sec02 .logo{
  max-width: 240px;
  margin: 0 auto;
}
.Content .sec02 h3{
  margin-top: 30px;
  font-size: 3.2rem;
  line-height: 1.6;
  text-align: center;
}
.Content .sec02 .blk{
  margin-top: 4%;
}
.Content .sec02 .blk .txtwrap{
  width: 45.45%;
  margin: 0 5% 0 auto;
}
.Content .sec02 .blk + h4{
  margin-top: 80px;
  font-size: 2.2rem;
  text-align: center;
}

/* item */
.Content .sec02 .item-list{
  display: grid;
  width: 90%;  
  max-width: 1280px;
  margin: 80px auto 0;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
.Content .sec02 .item-list .item{
  padding: 6% 8%;
  background: #fff;
}
.Content .sec02 .item-list .item .en{
  color: #ea9c4a;
  font-size: 2.4rem;
  line-height: 1;
}
.Content .sec02 .item-list .item .en span{
  display: inline-block;
  font-size: 140%;
  margin-left: 7px;
}
.Content .sec02 .item-list .item h4{
  margin-top: 12px;
  font-size: 2.4rem;
  line-height: 1.5;
}
.Content .sec02 .item-list .item .txt{
  margin-top: 12px;
  line-height: 1.8;
}
.Content .sec02 .item-list .item .txt +.cap{
  margin-top: 5px;
  color: #959595;
  font-size: 1.2rem;
  letter-spacing: 0;
}
.Content .sec02 .item-list .item .photo{
  width: 100%;
  margin-top: 30px;
}
.Content .sec02 .item-list .item .link{
  margin-top: 16px;
}
.Content .sec02 .item-list .item .link a{
  color: #ea9c4a;
  font-size: 1.3rem;
}
.Content .sec02 .item-list .item .link a + a{
  margin-left: 20px;
}

/* box-tire */
.Content .sec02 .box-tire{
  display: flex;
  width: 90%;
  max-width: 1400px;
  margin: 60px auto 0;
  border: 1px solid #6d6d6d;
  justify-content: space-between;
  align-items: center;
}
.Content .sec02 .box-tire .wrap{
  padding: 2% 3%;
}
.Content .sec02 .box-tire .wrap .ttl{
  font-size: 4.2rem;
  font-weight: 700;
  line-height: 1.2;
}
.Content .sec02 .box-tire .wrap .txt{
  margin-top: 15px;
  line-height: 1.7;
}
.Content .sec02 .box-tire .photo{
  max-width: 420px;
}



@media screen and (max-width:768px) {
  
  /* ---------------------------------

    Column-ttl

  --------------------------------- */

  .Column-ttl h2{
    width: 55%;
    top: 20%;
  }


  /* ---------------------------------

    Content

  --------------------------------- */

  .Content .intro h3{
    font-size: 2.4rem;
    line-height: 1.5;
  }
  .Content .intro .lead{
    margin-top: 20px;
    line-height: 2.2;
  }

  /* 汎用 */
  .Content .sec{
    margin-top: 60px;
  }
  .Content .sec .flexbox{
    display: block;
    width: 90%;
    margin: 0 auto;
  }
  .Content .sec .photo{
    width: 100%;
  }
  .Content .sec .txtwrap{
    width: 100%;
    margin: 5% auto 0;
  }
  .Content .sec .txtwrap .en{
    font-size: 3.6rem;
  }
  .Content .sec .txtwrap h3{
    margin-top: 30px;
    font-size: 2.0rem;
    line-height: 1.5;
  }
  .Content .sec .txtwrap .txt{
    margin-top: 12px;
    line-height: 2.0;
  }


  /* sec01 */
  .Content .sec01 .pickup{
    margin: 40px auto 0;
  }
  .Content .sec01 .pickup .blk{
    margin-top: 50px;
  }
  .Content .sec01 .pickup .blk:nth-of-type(1){
    margin-top:   20px;
  }
  .Content .sec01 .pickup h4{
    font-size: 3.2rem;
  }
  .Content .sec01 .line-up{
    width: 90%;
    margin: 50px auto 0;
  }
  .Content .sec01 .line-up .sub{
    font-size: 1.6rem;
  }
  .Content .sec01 .line-up h4{
    font-size: 3.2rem;
    line-height: 1.4;
  }
  .Content .sec01 .line-up h4 span{
    font-size: 2.6rem;
  }
  .Content .sec01 .line-up h4 + .txt{
    margin-top: 20px;
    line-height: 2.2;
    text-align: left;
  }
  .Content .sec01 .line-up ul{
    margin: 30px auto 0;
  }


  /* sec02 */
  .Content .sec02{
    margin-top: 60px;
    padding: 60px 0;
  }
  .Content .sec02 .logo{
    max-width: 140px;
  }
  .Content .sec02 h3{
    margin-top: 20px;
    font-size: 2.0rem;
  }
  .Content .sec02 .blk{
    margin-top: 6%;
  }
  .Content .sec02 .blk .txtwrap{
    width: 100%;
    margin: 0 auto;
  }
  .Content .sec02 .blk + h4{
    margin-top: 30px;
    font-size: 1.6rem;
  }
  .Content .sec02 .blk .photo{
    margin: 30px auto 0;
  }

  /* item */
  .Content .sec02 .item-list{
    display: block;
    margin: 30px auto 0;
  }
  .Content .sec02 .item-list .item{
    padding: 8% 5% 8%;
  }
  .Content .sec02 .item-list .item:nth-of-type(n+2){
    margin-top: 8%;
  }
  .Content .sec02 .item-list .item .en{
    font-size: 2.0rem;
    text-align: center;
  }
  .Content .sec02 .item-list .item .en span{
    font-size: 140%;
  }
  .Content .sec02 .item-list .item h4{
    margin-top: 15px;
    font-size: 2.0rem;
    line-height: 1.5;
    text-align: center;
  }
  .Content .sec02 .item-list .item .txt{
    margin-top: 7px;
    line-height: 2.0;
  }
  .Content .sec02 .item-list .item .photo{
    margin-top: 30px;
  }
  .Content .sec02 .item-list .item .link{
    margin-top: 20px;
  }
  .Content .sec02 .item-list .item .link a + a{
    margin: 4px 0 0;
  }

  /* box-tire */
  .Content .sec02 .box-tire{
    display: block;
    margin: 40px auto 0;
  }
  .Content .sec02 .box-tire .wrap{
    padding: 7% 5%;
  }
  .Content .sec02 .box-tire .wrap .ttl{
    font-size: 3.6rem;
    text-align: center;
  }
  .Content .sec02 .box-tire .wrap .txt{
    margin-top: 15px;
    line-height: 1.8;
  }
  .Content .sec02 .box-tire .photo{
    width: 90%;
    margin: 0 auto 5%;
  }
}
