/*! ========================================================================
===========================================================================

	location.css
	---------------------------
	// Last modified: 20251209

===========================================================================
======================================================================== */
.page-header h2 {
  position: absolute;
  top: 10%;
  left: 25%;
  margin-right: -50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 400%;
}
@media(max-width: 767px) {
  .page-header h2 {
    top: 80%;
    left: 25%;
    font-size: 200%;
  }
}
.contentsBody h3 {
  margin: 0 auto 3%;
  text-align: center;
  color: #00426f;
  font-size: 300%;
}
.contentsBody h4 {
  margin: 0 auto 3%;
  text-align: center;
  font-size: 200%;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media(max-width: 767px) {
  .contentsBody h3 {
    font-size: 200%;
  }
  .contentsBody h4 {
    font-size: 120%;
  }
}
.contentsBody ul {
  display: flex;
  flex-wrap: wrap;
}
.contentsBody ul li figure {}
.contentsBody ul li figure img {}
.contentsBody ul li figure figcaption {
  margin: 1% auto 0;
}
.contentsBody ul.main, .contentsBody ul.sub {
  margin: 0 auto 5%;
  text-align: center;
}
.contentsBody ul.main li {
  width: calc(50% - 2%);
  margin: 0 4% 0 0;
}
.contentsBody ul.main li:nth-child(even) {
  margin: 0;
}
.contentsBody ul.sub li {
  width: calc(25% - 2%);
  margin: 0 2.6% 3% 0;
}
.contentsBody ul.sub li:nth-child(4n) {
  margin: 0 0 3%;
}
.contentsBody ul.middle {
  margin: 0 auto;
  text-align: center;
}
.contentsBody ul.middle li {
  width: calc(33.333333% - 2%);
  margin: 0 3% 3% 0;
}
.contentsBody ul.middle li:nth-child(3n) {
  margin: 0 0 3%;
}
@media(max-width: 767px) {
  .contentsBody ul.main li {
    width: 100%;
    margin: 0 auto 5%;
  }
  .contentsBody ul.middle li, .contentsBody ul.middle li:nth-child(3n) {
    width: calc(50% - 2%);
    margin: 0 4% 3% 0;
  }
  .contentsBody ul.middle li:nth-child(even) {
    margin: 0 0 3%;
  }
  .contentsBody ul.sub li {
    width: calc(50% - 2%);
    margin: 0 4% 3% 0;
  }
  .contentsBody ul.sub li:nth-child(even), .contentsBody ul.sub li:nth-child(4n) {
    margin: 0 0 3%;
  }
  .contentsBody ul li figure figcaption {
    font-size: 90%;
  }
  .contentsBody ul li figure figcaption small {
    display: block;
  }
}
hr.imgline1 {
  width: 100%;
  height: 350px;
  margin: 0 auto 5%;
  display: block;
  border: 0 none;
  background: url("../img/line1.png") no-repeat center / cover;
}
hr.imgline2 {
  width: 100%;
  height: 350px;
  margin: 5% auto;
  display: block;
  border: 0 none;
  background: url("../img/line2.png") no-repeat center / cover;
}
@media(max-width: 767px) {
  hr.imgline1 {
    height: 80px;
    margin: 0 auto 10%;
    background: url("../img/line1.png") no-repeat center / 100% auto;
  }
  hr.imgline2 {
    height: 80px;
    margin: 10% auto;
    background: url("../img/line2.png") no-repeat center / 100% auto;
  }
}
.contentsBody ul.info-outline {
  width: 100%;
  margin: 5% auto 2%;
  padding: 5% 0 0;
  border-top: 1px solid #9fa0a0;
}
.contentsBody ul.info-outline li {
  width: calc(50% - 2%);
  margin: 0 4% 0 0;
}
.contentsBody ul.info-outline li:nth-child(even) {
  margin: 0;
}
.contentsBody ul.info-outline li h5 {
  text-align: center;
  border: 1px solid #9fa0a0;
  color: #9fa0a0;
  font-size: 130%;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.contentsBody ul.info-outline li dl {
  margin: 3% auto;
  display: flex;
  flex-wrap: wrap;
  font-size: 90%;
  line-height: 2;
}
.contentsBody ul.info-outline li dl dt {
  width: 60%;
  position: relative;
  background: #fff;
  font-weight: 400;
}
.contentsBody ul.info-outline li dl dt::after {
  content: "";
  width: 100%;
  height: 10px;
  position: absolute;
  top: 40%;
  left: 0;
  display: block;
  background-color: #fff;
  background-image: radial-gradient(circle, #9fa0a0 1px, transparent 1px);
  background-position: 0 0;
  background-size: 8px 8px;
}
.contentsBody ul.info-outline li dl dt span {
  padding: 0 2% 0 0;
  position: relative;
  z-index: 1;
  display: inline-block;
  background: #fff;
}
.contentsBody ul.info-outline li dl dd {
  width: 40%;
  margin: 0 0 0 auto;
  text-align: right;
}
.contentsBody ul.info-outline + p {
  line-height: 1.5;
}
@media(max-width: 767px) {
  .contentsBody ul.info-outline {
    margin: 8% auto 5%;
    padding: 10% 0 0;
  }
  .contentsBody ul.info-outline li {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  .contentsBody ul.info-outline li dl {
    line-height: 1.2;
  }
  .contentsBody ul.info-outline li dl dt {
    width: 65%;
  }
  .contentsBody ul.info-outline li dl dt::after {
    top: 10%;
  }
  .contentsBody ul.info-outline li dl dd {
    width: 35%;
    margin: 0 0 5%;
  }
  .contentsBody ul.info-outline li dl dd small {
    display: block;
  }
  .contentsBody ul.info-outline + p {
    font-size: 90%;
  }
}