@charset "utf-8";

@media screen and (max-width:768px){
  body{
    overflow: hidden;
  }
}
/* ==============================================================
/*     MAIN
/* ============================================================== */
.blockMain{
  padding: 8vw 0 5vw;
  background: url("../img/top/bg_blockMain.jpg") no-repeat 50% 50%;
  background-size: cover;
}
.blockMain_ttl{
  position: absolute;
  top: 5vw;
  left: 0;
  font-size: 3.8vw;
}
.blockMain_ttl span{
  display: inline-block;
  margin-bottom: 15px;
  padding: 10px 30px 18px 50px;
  background: #fff;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 600;
  font-style: normal;
}
@media screen and (max-width:768px){
  .blockMain{
    height: 100dvh;
    padding: 140px 0 0;
    background-image: url("../img/top/bg_blockMain-sp.jpg");
    background-position: 50% 0;
  }
  .blockMain_img{
    height: calc(100dvh - 202px);
    background: url("../img/top/img_blockMain.jpg") no-repeat 50% 50%;
    background-size: auto 100%;
  }
  .blockMain_img img{
    display: none;
  }
  .blockMain_ttl{
    top: 74px;
    font-size: 2.5rem;
  }
  .blockMain_ttl span{
    height: 34px;
    margin-bottom: 15px;
    padding: 3px 18px 0 35px;
  }
}
/* ==============================================================
/*     COMMON
/* ============================================================== */
.container h2{
  margin-bottom: 60px;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 600;
  font-style: normal;
  font-size: 4rem;
}
.container .lead{
  margin-bottom: 0.8em;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 600;
  font-style: normal;
  font-size: 2.5rem;
}
@media screen and (max-width:768px){
  .container h2{
    margin-bottom: 30px;
    font-size: 2.7rem;
  }
  .container .lead{
    font-size: 1.9rem;
    line-height: 2;
  }
}

/* ==============================================================
/*     CONCEPT
/* ============================================================== */
.blockConcept{
  background: #fff url("../img/top/bg_blockConcept.png") no-repeat 100% 0;
}
.blockConcept_img{
  margin: 60px 0;
}
.blockConcept_img:last-child{
  margin-bottom: 0;
}
@media screen and (max-width:768px){
  .blockConcept{
    background-size: 226px auto;
  }
  .blockConcept .inner{
    padding: 135px 43px 65px;
    letter-spacing: 0.05em;
  }
  .blockConcept_img{
    margin: 45px 0;
    text-align: center;
  }
  .blockConcept_img1 img{
    width: 276px;
    height: auto;
  }
  .blockConcept_img2 img{
    width: 287px;
    height: auto;
  }
}

/* ==============================================================
/*     INFO
/* ============================================================== */
.blockInfo{
  position: relative;
  background: #6dcddb;
}
.blockInfo .dlInfo{
  padding-right: 20px;
  max-height: 250px;
  overflow: auto;
}
.blockInfo .dlInfo::-webkit-scrollbar{
  background: #dfe2e2;
  width: 5px;
  border-radius: 5px;
  scrollbar-width: thin;
}
.blockInfo .dlInfo::-webkit-scrollbar-thumb{
  background-color: #646764;
  border-radius: 5px;
}
.blockInfo .dlInfo dt{
  color: #fff;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
}
.blockInfo .dlInfo dd{
  margin-bottom: 15px;
  padding-bottom: 15px;
  font-weight: 600;
  border-bottom: 1px solid rgba(0,0,0,0.2);
}
.labelCat{
	display: inline-block;
  margin-left: 5px;
	padding: 2px 10px 3px;
  font-size: 1.1rem;
  color: #fff;
  border: 1px solid #fff;
  border-radius: 10px;
  line-height: 1;
  vertical-align: 2px;
}
@media screen and (max-width:768px){
  .blockInfo .inner{
    padding-right: 25px;
    padding-bottom: 60px;
  }
  .blockInfo h2{
    margin-bottom: 33px;
  }
  .blockInfo .dlInfo{
    max-height: 200px;
  }
  .blockInfo .dlInfo::-webkit-scrollbar{
    width: 3px;
  }
  .blockInfo .dlInfo dt{
    color: #fff;
    font-size: 1.1rem;
  }
  .blockInfo .dlInfo dd{
    margin-bottom: 15px;
    padding-bottom: 12px;
  }
  .labelCat{
    margin-left: 5px;
    padding: 2px 10px 3px;
    font-size: 0.8rem;
    vertical-align: 2px;
  }
}