@charset "UTF-8";

/******************************
pagesec-message
******************************/
.pagesec-message::before {
  content: "";
  aspect-ratio: 3 / 2;
  background: url(../../images/ob/bg2.webp) no-repeat top / cover;
  opacity: .3;
  position: absolute;
  bottom: -30%;
  left: -10%;
  height: auto;
  width: 100%;
}
.pagesec-message .ttlbox1{
  text-align: left;
}
.pagesec-message .fimgbox{
  width: 40%;
}
.pagesec-message .ftxtbox{
  background: rgba(255,255,255,.8);
  padding: 2rem;
  width: 58%;
}
.pagesec-message .name{
  text-align: right;
}
@media only screen and (max-width: 1180px) {
  .pagesec-message::before {
    bottom: -10%;
  }
}
@media only screen and (max-width: 1024px) {
}
@media only screen and (max-width: 820px) {
  .pagesec-message::before {
    top: 50%;
    bottom: auto;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 160%;
  }
  .pagesec-message .fimgbox{
    margin: 0 auto 2rem;
    width: 60%;
  }
  .pagesec-message .ftxtbox{
    margin: 0 auto;
    width: 80%;
  }
}
@media only screen and (max-width: 768px) {
}
@media only screen and (max-width: 767px) {
  .pagesec-message::before{
    height: 100%;
  }
  .pagesec-message .fimgbox,
  .pagesec-message .ftxtbox{
    width: 100%;
  }
}

/******************************
pagesec-service
******************************/
.pagesec-service{
  background: #ebf4ff;
}
.pagesec-service .ttlbox1{
  text-align: left;
}
.pagesec-service dl{
  gap: 2rem;
}
.pagesec-service dl > div{
  background: #fff;
  border-bottom: 3px solid #003D8A;
  width: calc(100% / 3 - 2rem);
}
.pagesec-service dl dt{
  background: #003D8A;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  padding: .5rem 2rem;
}
.pagesec-service dl dd p{
  padding: 1rem ;
}
@media only screen and (max-width: 1180px) {
}
@media only screen and (max-width: 1024px) {
}
@media only screen and (max-width: 820px) {
  .pagesec-service dl > div{
    width: calc(100% / 2 - 2rem);
  }
}
@media only screen and (max-width: 768px) {
}
@media only screen and (max-width: 767px) {
  .pagesec-service dl > div{
    width: 100%;
  }
}

/******************************
pagesec-price
******************************/
.pagesec-price .point{
  margin-bottom: 8rem;
}
.pagesec-price .point .fimgbox{
  width: 40%;
}
.pagesec-price .point .ftxtbox{
  width: 55%;
}
.pagesec-price .point .ftxtbox span{
  color: #003D8A;
  font-weight: bold;
  text-decoration: underline;
}

.pagesec-price .promise .ttl{
  background: #003D8A;
  border-radius: 50px;
  color: #fff;
  display: inline-block;
  font-size: 2.4rem;
  padding: 0 3rem;
}
.pagesec-price .promise .content{
  background: #f4ffff;
  border: 2px solid #003D8A;
  border-radius: 10px;
  margin: -2.5rem 0 1rem;
  padding: 4rem 3rem 3rem;
}
.pagesec-price .promise .content .catch{
  background: linear-gradient(transparent 60%, #c9def9 60%);
  display: inline;
  font-size: 2.4rem;
  font-weight: bold;
}
.pagesec-price .promise .content ul{
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1rem;
}
.pagesec-price .promise .content li{
  font-size: 2rem;
  padding-left: 2rem;
  position: relative;
  z-index: 1;
}
.pagesec-price .promise .content li span{
  color: #2b77d8;
  display: block;
  font-size: 2.4rem;
  font-style: italic;
  font-weight: bold;
  line-height: 1;
  margin-left: -2rem;
}
.pagesec-price .promise ol li{
  padding-left: 3rem;
  position: relative;
}
.pagesec-price .promise ol li span{
  position: absolute;
  top: 0;
  left: 0;
}

@media only screen and (max-width: 1180px) {
}
@media only screen and (max-width: 1024px) {
}
@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 768px) {
}
@media only screen and (max-width: 767px) {
  .pagesec-price .point{
    gap: 2rem;
  }
  .pagesec-price .point .fimgbox,
  .pagesec-price .point .ftxtbox{
    width: 100%;
  }
  .pagesec-price .promise .ttl {
    font-size: 2rem;
  }
  .pagesec-price .promise .content .catch {
    font-size: 1.9rem;
  }
  .pagesec-price .promise .content {
    margin: -2rem 0 1rem;
    padding: 3.5rem 1.7rem 2rem;
  }
  .pagesec-price .promise .content li {
    font-size: 1.7rem;
    padding-left: 1.5rem;
  }
  .pagesec-price .promise .content li span {
    font-size: 2rem;
  }
}

/******************************
pagesec-pricelist
******************************/
.pagesec-pricelist{
  background: url(../../images/page/business/price.webp) no-repeat center / cover;
}
.pagesec-pricelist .ttlbox1 {
  margin: 0;
}
.pagesec-pricelist .txt{
  margin: 1rem 0 2rem;
}
.pagesec-pricelist .price{
  background: rgba(255,255,255,.9);
  padding: 2rem;
  margin-left: auto;
  max-width: 660px;
}
.pagesec-pricelist table{
  background: #003D8A;
  border-collapse: separate;
  border-spacing: 1px;
  box-sizing: border-box;
  max-width: 800px;
  min-width: 400px;
  width: 100%;
}
.pagesec-pricelist th,
.pagesec-pricelist td{
  padding: .5rem 1rem ;
  vertical-align: middle;
}
.pagesec-pricelist th{
  background: #003D8A;
  color: #fff;
}
.pagesec-pricelist td{
  background: #fff;
}
.pagesec-pricelist td:last-of-type{
  text-align: center;
}
.pagesec-pricelist tbody tr:nth-of-type(even) td{
  background: #ebf4ff;
}
.pagesec-pricelist .hosoku{
  margin: 1rem 0 2rem;
}
.pagesec-pricelist .contact > p span{
  color: #2b77d8;
  font-weight: 500;
}
.pagesec-pricelist .contact dl{
  margin-top: 1rem;
}
.pagesec-pricelist .contact dt{
  font-weight: bold;
  margin-bottom: 1rem;
}
.pagesec-pricelist .contact dt i{
  color: #003D8A;
}
.pagesec-pricelist .contact dd ul{
  gap: 1rem;
}

@media only screen and (max-width: 1180px) {
}
@media only screen and (max-width: 1024px) {
}
@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 768px) {
}
@media only screen and (max-width: 767px) {
  .pagesec-pricelist{
    padding-top: 0;
  }
  .pagesec-pricelist .price {
    padding: 1rem 1rem 2rem;
  }
}