@charset "utf-8";

#pg_index {
    margin: 0 auto 60px;
}
.base_wrap {
    width: 90%;
    margin: 0 auto;
    position: relative;
}
.base_wrap.wide {
	max-width: 1140px;
}
/* cont_header */
.cont_header.visual :is(h1){
    color: #393A3E;
}
.cont_header.visual :is(p){
    color: #fff;
}
#pg_index .cont_header.visual {
    justify-content: left;
}
#pg_index .cont_header.visual  h1{
    line-height: 5rem;
    margin-bottom: 18px;
}
#pg_index .cont_header .wrap .txt_catch {
    width:230px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius:5px;
	font-size: 2rem;
	font-weight: bold;
    background-color: rgba(57 58 62/65%);
    padding:0 5px;
    text-align: center;
    text-shadow: unset;
}
#pg_index .cont_header .wrap .txt_catch span{
    font-size:3rem;
    padding:0 5px;
}
/* cont_header 768px */
@media only screen and (max-width: 768px) {
  #pg_index .cont_header.visual {
    margin: 0 0 30px 0;
    padding: 0 0 0 20px;
  }
  #pg_index .cont_header.visual .wrap{
    width:auto;
  }
  #pg_index .cont_header.visual h1 {
    font-size: 4rem;
    line-height: 1.3em;
    margin-bottom: 15px;
  }
  #pg_index .cont_header.visual h1 span{
    text-align: center;
    display: flex;
  }
  #pg_index .cont_header .wrap .txt_catch {
    width: 188px;
    height: 36px;
    margin: 0 auto;
  	font-size: 1.6rem;
  }
  #pg_index .cont_index .circle-with-arrow {
    margin: 15px 0 20px 0;
    width: 100%;
  }
  #pg_index .cont_index .circle-with-arrow:last-child {
    margin: 15px 0 0 0;
  }
}

/* cont_index */
.cont_index {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.cont_index li {
    width: 30%;
    margin:0 0 20px 0;
    transition: opacity 0.2s ease-out;
}
.cont_index li:hover::after {
  opacity: .5;
}
.cont_index li a {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    z-index: 1;
    font-size: 2rem;
    line-height: 1.6;
}
.circle-with-arrow {
    margin-top: 25px;
}
.circle-with-arrow p {
    position: relative;
    font-size: 20px;
    font-weight: bold;
    text-decoration: none;
    text-align: left;
}
.circle-with-arrow p:before{
    content: '';
    position: absolute;
    top:5px;
    right: 0;
    width: 20px;
    height: 20px;
    margin: auto;
    border-radius: 20px;
    background-color: #BA0042;
    transition: all 0.3s;
}
.circle-with-arrow p:after {
  content: '';
  position: absolute;
  top:0;
  bottom:2px;
  right: 8px;
  width: 6px;
  height: 6px;
  margin: auto;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  box-sizing: border-box;
  transition: all 0.3s;
}
.cont_index li a:hover .circle-with-arrow p::before,.cont_index li a:hover .circle-with-arrow p::after{
    transform: translateX(10px) rotate(45deg);
}
@media only screen and (max-width: 1080px) and (min-width: 769px){
  .cont_index li a::after{
    font-size: clamp(.7em,calc(100vw * 20 / 1080),.9em);
  }
}

/* cont_index 768px */
@media only screen and (max-width: 768px) {
  .cont_index{
      display: block;
      margin-bottom: 40px;
  }
  .cont_index li{
      width: 100%;
  }
  .cont_index li::before {
      padding-top: 60%;
  }
  .cont_index li a{
      align-items: center;
  }
  .cont_index li a::after {
      line-height: 1.2;
  }
}

/* btn_area */
.btn_area a[href*=".pdf"]::after {
  content: "";
  position: absolute;
  top: 35%;
  width: 30px;
  height: 17px;
  background: transparent url("../img/ico_pdf.png") center center no-repeat;
  background-size: 100%;
  margin-bottom: -2px;
  margin-left: 1em;
  transition: all 0.3s;
}
.btn_area a[href*=".pdf"]:hover::after {
  transform: translateX(5px);
}
.btn_area {
  display: flex;
  justify-content: center;
  margin: 80px auto 0;
  font-weight: bold;
}
.btn_area a {
  position: relative;
  width: 350px;
  letter-spacing: 0;
  padding: 0.7em 6em;
  border: 1px solid #393A3E;
  margin: 0 10px;
}
.btn_area a:link,
.btn_area a:visited,
.btn_area a:active,
.btn_area a:hover {
  color: #393A3E;
}
/* 768px */
@media only screen and (max-width: 768px) {
  .btn_area {
    margin: 0 auto 30px;
    display: block;
  }
  .btn_area a {
    width: 100%;
    display: block;
    max-width: 100%;
    margin: 0;
    text-align: center;
    padding: 0.7em 2em 0.7em 0em;
}
  .btn_area a:first-child {
    margin-bottom: 20px;
  }

}
/* btn_area end */