@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;600&family=Shippori+Mincho+B1:wght@600&display=swap');

/* ==============================================================
/*     Reset  
/* ============================================================== */
html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, em, img, strong, dl, dt, dd, ol, ul, li, footer, header, nav, section, code{
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  vertical-align: baseline;
  background: transparent;
  word-break: break-word;
}
html{
  font-size: 62.5%;
  overflow-x: hidden;
}
body{
  background: #fff;
  color: #000;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.1em;
}
ul{
  list-style: none;  
}
input, select, textarea{
  border: none;
  color: #000;
  font-size: 1.6rem;
  font-family: 'Noto Sans JP', sans-serif;
  outline: none;
  letter-spacing: 0.1em;
  -webkit-appearance: none;
  border-radius: 0px;
}
*, *::before, *::after {
  box-sizing: border-box;
}
h2, h3, h4, h5, h6, strong{
  font-weight: 700;
  letter-spacing: 0.1em;
}
p, li, th, td, dt, dd{
  font-size: 1.6rem;
  line-height: 2.2;
}
p{
  margin-bottom: 1.5em;
}
.txtCenter{ text-align: center}
.txtRight{ text-align: right}
.fPC{ display: none}

a, a:visited{
  color: #000;
  text-decoration: none;
  transition: 0.1s;
}
img{
  vertical-align: middle;
}
::selection {
  background-color: #fffaac;
}

.inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 120px 5vw;
}
.inner-ttl{
  padding-bottom: 25px;
}
.inner-btn{
  padding-top: 1px !important;
}

@media screen and (min-width:769px), print{
  .fSP{ display: none}
  .fPC{ display: inline-block}

  a:hover{
    transition: 0.2s;
    opacity: 0.7;
    text-decoration: underline;
  }
}
@media screen and (max-width:768px){
  body{
    letter-spacing: 0.05em;
  }
  p, li, th, td, dt, dd{
    font-size: 1.3rem;
  }
  .inner{
    max-width: 100%;
    padding: 40px 48px;
  }
}

/* ==============================================================
/*     Content & Common
/* ============================================================== */
.btnBlock{
  display: flex;
  justify-content: center;
  margin: 30px 0;
}
.inner .btnBlock:last-child{
  margin-bottom: 0;
}
.btn{
  position: relative;
  display: inline-block;
  min-width: 250px;
  height: 50px;
  line-height: 1;
  padding: 15px 40px 0 35px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-align: center;
  color: #000 !important;
  background: #fff;
  text-decoration: none !important;
  border-radius: 30px;
  cursor: pointer;
}
.btn img{
  display: inline-block;
  margin-right: 7px;
}
@media screen and (min-width:769px), print{
  .btn{
    transition: 0.1s;
  }
}
@media screen and (max-width:768px){
  .btn{
    width: 100%;
    height: 25px;
    padding-top: 7px;
    font-size: 1.1rem;
  }
  .btn img{
    width: 15px;
    height: auto;
  }
}

/* ==============================================================
/*     FOOTER
/* ============================================================== */
.blockDetail{
  background: url("../img/top/bg_blockDetail.jpg") no-repeat 50% 50%;
  background-size: cover;
  color: #fff;
}
.blockDetail h2{
  margin-bottom: 20px !important;
  font-size: 2.4rem !important;
  font-weight: 400 !important;
  font-family: 'Noto Sans JP', sans-serif !important;
  line-height: 1.6;
}
.blockDetail dl{
  display: flex;
  flex-wrap: wrap;
}
.blockDetail dt{
  width: 20%;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,0.2);
}
.blockDetail dd{
  width: 80%;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,0.2);
}
@media screen and (max-width:768px){
  .blockDetail .inner{
    padding-bottom: 284px;
  }
  .blockDetail h2{
    margin-bottom: 8px !important;
    font-size: 1.5rem !important;
    line-height: 1.8;
  }
  .blockDetail dt{
    width: 90px;
    padding: 3px 0 2px;
    font-size: 1.1rem;
  }
  .blockDetail dd{
    width: calc(100% - 90px);
    padding: 3px 0 2px;
    font-size: 1.1rem;
  }
}

.footerCopy p{
  margin-bottom: 0;
  padding: 20px 0;
  font-size: 1.2rem;
  text-align: center;
}
@media screen and (max-width:768px){
  .footerCopy p{
    padding: 18px 0;
    font-size: 0.9rem;
  }
}